Untitled

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

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

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