Untitled

mail@pastecode.io avatar
unknown
plain_text
a year ago
3.5 kB
2
Indexable
Never
Процедура ПередЗаписью(Отказ, РежимЗаписи, РежимПроведения)
	СуммаПолучено = СписокНоменклатуры.Итог("СуммаПолучено");
КонецПроцедуры

Процедура ОбработкаПроведения(Отказ, Режим)

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

	
	// ДВИЖЕНИЯ ПО РЕГИСТРУ ВЗАИМОРАСЧЕТЫ
	
	Движения.Взаиморасчеты.Записывать = Истина;
	
	Движение = Движения.Взаиморасчеты.Добавить();
	Движение.ВидДвижения = ВидДвиженияНакопления.Приход;
	Движение.Период = Дата;
	Движение.Контрагент = Контрагент;	
	Движение.Накладная = Ссылка;
	Движение.Сумма = СуммаПолучено;
	
КонецПроцедуры