Untitled

mail@pastecode.io avatar
unknown
plain_text
a year ago
3.3 kB
0
Indexable
Never
Процедура ОбработкаПроведения(Отказ, РежимПроведения)
	
	Запрос = Новый Запрос;
	Запрос.Текст = 
		"ВЫБРАТЬ
		|	УчетнаяПолитикаСрезПоследних.Регистратор КАК Регистратор,
		|	УчетнаяПолитикаСрезПоследних.МетодСписания КАК МетодСписания
		|ИЗ
		|	РегистрСведений.УчетнаяПолитика.СрезПоследних(&ДатаСреза, ) КАК УчетнаяПолитикаСрезПоследних";
	
	Запрос.УстановитьПараметр("ДатаСреза", Дата);
	
	РезультатЗапроса = Запрос.Выполнить();
	Если РезультатЗапроса.Пустой() Тогда
		Отказ = Истина;
		Сообщение = Новый СообщениеПользователю;
		Сообщение.Текст = "Не заполнена учетная политика";
		Сообщение.Сообщить();                           
		Возврат;
	КонецЕсли;	
	
	Выборка = РезультатЗапроса.Выбрать();
	Выборка.Следующий();
	Партия = ?(Выборка.МетодСписания = Перечисления.УчетнаяПолитика.ПоСредней, Выборка.Регистратор, Ссылка);
	
	Движения.ОстаткиНоменклатуры.Записывать = Истина;
	
	Запрос = Новый Запрос;
	Запрос.Текст = 
		"ВЫБРАТЬ
		|	ПриходнаяНакладнаяСписокНоменклатуры.Номенклатура КАК Номенклатура,
		|	СУММА(ПриходнаяНакладнаяСписокНоменклатуры.Количество) КАК Количество,
		|	СУММА(ПриходнаяНакладнаяСписокНоменклатуры.Сумма) КАК Сумма
		|ИЗ
		|	Документ.ПриходнаяНакладная.СписокНоменклатуры КАК ПриходнаяНакладнаяСписокНоменклатуры
		|ГДЕ
		|	ПриходнаяНакладнаяСписокНоменклатуры.Ссылка = &Ссылка
		|
		|СГРУППИРОВАТЬ ПО
		|	ПриходнаяНакладнаяСписокНоменклатуры.Номенклатура";
	
	Запрос.УстановитьПараметр("Ссылка", Ссылка);
	
	РезультатЗапроса = Запрос.Выполнить();
	Выборка = РезультатЗапроса.Выбрать();
	
	Пока Выборка.Следующий() Цикл
    	Движение = Движения.ОстаткиНоменклатуры.ДобавитьПриход();
		Движение.Партия = Партия;
		Движение.Период = Дата;
		Движение.Номенклатура = Выборка.Номенклатура;
		Движение.Количество = Выборка.Количество;
		Движение.Сумма = Выборка.Сумма;
	КонецЦикла;
	
КонецПроцедуры