Оприходование излишков отгруженных товаров / Форма выбора распоряжения / Модуль формы

файл

#Область ОбработчикиСобытийФормы

&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
	
	// Возврат при получении формы для анализа.
	Если Параметры.Свойство("АвтоТест") Тогда
		Возврат;
	КонецЕсли;
	
	ЗаполнитьСписокРаспоряжений();
	
	СобытияФорм.ПриСозданииНаСервере(ЭтотОбъект, Отказ, СтандартнаяОбработка);
	
КонецПроцедуры

#КонецОбласти

#Область ОбработчикиСобытийЭлементовТаблицыФормыСписокРаспоряжений

&НаКлиенте
Процедура СписокРаспоряженийВыбор(Элемент, ВыбраннаяСтрока, Поле, СтандартнаяОбработка)

	СтандартнаяОбработка = Ложь;
	
	ОбработатьВыбор(Элемент.ТекущиеДанные);

КонецПроцедуры

#КонецОбласти

#Область ОбработчикиКомандФормы

&НаКлиенте
Процедура Выбрать(Команда)

	Если ОбщегоНазначенияУТКлиент.ПроверитьНаличиеВыделенныхВСпискеСтрок(Элементы.СписокРаспоряжений) Тогда
		ОбработатьВыбор(Элементы.СписокРаспоряжений.ТекущиеДанные);
	КонецЕсли;

КонецПроцедуры

&НаКлиенте
Процедура Подключаемый_ВыполнитьПереопределяемуюКоманду(Команда)
	
	СобытияФормКлиент.ВыполнитьПереопределяемуюКоманду(ЭтотОбъект, Команда);
	
КонецПроцедуры

#КонецОбласти

#Область СлужебныеПроцедурыИФункции

&НаСервере
Процедура ЗаполнитьСписокРаспоряжений()
	
	МенеджерНакладной = Документы.ОприходованиеИзлишковОтгруженныхТоваров;
	
	РеквизитыШапки		= МенеджерНакладной.РеквизитыШапки();
	ЗаполнитьЗначенияСвойств(РеквизитыШапки, Параметры);
	
	Распоряжения = МенеджерНакладной.РаспоряженияНакладной(РеквизитыШапки.Ссылка, РеквизитыШапки);
	Распоряжения = ОбщегоНазначенияКлиентСервер.СвернутьМассив(Распоряжения);
	
	Запрос = Новый Запрос;
	Запрос.Текст =
	"ВЫБРАТЬ РАЗРЕШЕННЫЕ
	|	ТИПЗНАЧЕНИЯ(ДанныеДокумента.Ссылка)   КАК ТипРаспоряжения,
	|	ДанныеДокумента.Ссылка                КАК Ссылка,
	|	ДанныеДокумента.Номер                 КАК Номер,
	|	ДанныеДокумента.Дата                  КАК Дата,
	|	ДанныеДокумента.Партнер               КАК Партнер,
	|	ДанныеДокумента.Контрагент            КАК Контрагент,
	|	ДанныеДокумента.Соглашение            КАК Соглашение,
	|	ДанныеДокумента.ХозяйственнаяОперация КАК ХозяйственнаяОперация,
	|	ДанныеДокумента.Организация           КАК Организация,
	|	ДанныеДокумента.Договор               КАК Договор,
	|	ДанныеДокумента.Валюта                КАК Валюта,
	|	ДанныеДокумента.СуммаДокумента        КАК СуммаДокумента,
	|	ДанныеДокумента.Менеджер              КАК Менеджер,
	|	ВЫРАЗИТЬ(ДанныеДокумента.Комментарий КАК СТРОКА(100)) КАК Комментарий
	|ИЗ
	|	Документ.ЗаказКлиента КАК ДанныеДокумента
	|ГДЕ
	|	ДанныеДокумента.Ссылка В(&Распоряжения)
	|
	|ОБЪЕДИНИТЬ ВСЕ
	|
	|ВЫБРАТЬ
	|	ТИПЗНАЧЕНИЯ(ДанныеДокумента.Ссылка)   КАК ТипРаспоряжения,
	|	ДанныеДокумента.Ссылка                КАК Ссылка,
	|	ДанныеДокумента.Номер                 КАК Номер,
	|	ДанныеДокумента.Дата                  КАК Дата,
	|	ДанныеДокумента.Партнер               КАК Партнер,
	|	ДанныеДокумента.Контрагент            КАК Контрагент,
	|	ДанныеДокумента.Соглашение            КАК Соглашение,
	|	ДанныеДокумента.ХозяйственнаяОперация КАК ХозяйственнаяОперация,
	|	ДанныеДокумента.Организация           КАК Организация,
	|	ДанныеДокумента.Договор               КАК Договор,
	|	ДанныеДокумента.Валюта                КАК Валюта,
	|	ДанныеДокумента.СуммаДокумента        КАК СуммаДокумента,
	|	ДанныеДокумента.Менеджер              КАК Менеджер,
	|	ВЫРАЗИТЬ(ДанныеДокумента.Комментарий КАК СТРОКА(100)) КАК Комментарий
	|ИЗ
	|	Документ.ЗаявкаНаВозвратТоваровОтКлиента КАК ДанныеДокумента
	|ГДЕ
	|	ДанныеДокумента.Ссылка В(&Распоряжения)
	|
	|ОБЪЕДИНИТЬ ВСЕ
	|
	|ВЫБРАТЬ
	|	ТИПЗНАЧЕНИЯ(ДанныеДокумента.Ссылка)   КАК ТипРаспоряжения,
	|	ДанныеДокумента.Ссылка                КАК Ссылка,
	|	ДанныеДокумента.Номер                 КАК Номер,
	|	ДанныеДокумента.Дата                  КАК Дата,
	|	ДанныеДокумента.Партнер               КАК Партнер,
	|	ДанныеДокумента.Контрагент            КАК Контрагент,
	|	ДанныеДокумента.Соглашение            КАК Соглашение,
	|	ДанныеДокумента.ХозяйственнаяОперация КАК ХозяйственнаяОперация,
	|	ДанныеДокумента.Организация           КАК Организация,
	|	ДанныеДокумента.Договор               КАК Договор,
	|	ДанныеДокумента.Валюта                КАК Валюта,
	|	ДанныеДокумента.СуммаДокумента        КАК СуммаДокумента,
	|	ДанныеДокумента.Менеджер              КАК Менеджер,
	|	ВЫРАЗИТЬ(ДанныеДокумента.Комментарий КАК СТРОКА(100)) КАК Комментарий
	|ИЗ
	|	Документ.ОтгрузкаТоваровКлиенту КАК ДанныеДокумента
	|ГДЕ
	|	ДанныеДокумента.Ссылка В(&Распоряжения)
	|
	|ОБЪЕДИНИТЬ ВСЕ
	|
	|ВЫБРАТЬ РАЗЛИЧНЫЕ
	|	ТИПЗНАЧЕНИЯ(ДанныеДокумента.Партия)   КАК ТипРаспоряжения,
	|	ДанныеДокумента.Партия                КАК Ссылка,
	|	ДанныеДокумента.Партия.Номер          КАК Номер,
	|	ДанныеДокумента.Дата                  КАК Дата,
	|	ДанныеДокумента.Партнер               КАК Партнер,
	|	ДанныеДокумента.Контрагент            КАК Контрагент,
	|	ДанныеДокумента.СоглашениеСКлиентом   КАК Соглашение,
	|	ДанныеДокумента.ХозяйственнаяОперация КАК ХозяйственнаяОперация,
	|	ДанныеДокумента.Организация           КАК Организация,
	|	ДанныеДокумента.Договор               КАК Договор,
	|	ДанныеДокумента.Валюта                КАК Валюта,
	|	ДанныеДокумента.Партия.СуммаДокумента КАК СуммаДокумента,
	|	ДанныеДокумента.Менеджер              КАК Менеджер,
	|	ВЫРАЗИТЬ(ДанныеДокумента.Комментарий КАК СТРОКА(100)) КАК Комментарий
	|ИЗ
	|	Документ.ВводОстатковТоваров КАК ДанныеДокумента
	|	ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.РеестрДокументов КАК РеестрДокументов
	|		ПО ДанныеДокумента.Ссылка = РеестрДокументов.СторнируемыйДокумент
	|			И РеестрДокументов.Проведен
	|			И НЕ РеестрДокументов.ДополнительнаяЗапись
	|ГДЕ
	|	ДанныеДокумента.Партия В(&Распоряжения)
	|	И ДанныеДокумента.Проведен
	|	И РеестрДокументов.Ссылка ЕСТЬ NULL
	|";
	
	Запрос.УстановитьПараметр("Распоряжения", Распоряжения);
	
	РезультатЗапроса = Запрос.Выполнить();
	
	Если Не РезультатЗапроса.Пустой() Тогда
		СписокРаспоряжений.Загрузить(РезультатЗапроса.Выгрузить());
	КонецЕсли;
	
КонецПроцедуры

&НаКлиенте
Процедура ОбработатьВыбор(ТекущаяСтрока)
	
	Закрыть(ТекущаяСтрока.Ссылка);
	
КонецПроцедуры

#КонецОбласти

Связанные материалы