Untitled
unknown
plain_text
2 years ago
5.5 kB
6
Indexable
Процедура ОбработкаЗаполнения(ДанныеЗаполнения, СтандартнаяОбработка) Если ТипЗнч(ДанныеЗаполнения) = Тип("ДокументСсылка.Отправление") Тогда ДокументОтправления = ДанныеЗаполнения.Ссылка; КонецЕсли; КонецПроцедуры Процедура ОбработкаПроведения(Отказ, РежимПроведения) // ДВИЖЕНИЯ ПО РЕГИСТРУ УПРАВЛЕНЧЕСКИЙ (СТАРАЯ МЕТОДИКА ПРОВЕДЕНИЯ) Движения.Управленческий.Записывать = Истина; Движения.Управленческий.Записать(); // Установка блокировки данных в регистре Управленческий по счету ТоварыВПути и документу отправления Блокировка = Новый БлокировкаДанных; ЭлементБлокировки = Блокировка.Добавить("РегистрБухгалтерии.Управленческий"); ЭлементБлокировки.УстановитьЗначение("Счет", ПланыСчетов.Управленческий.ТоварыВПути); ЭлементБлокировки.УстановитьЗначение(ПланыВидовХарактеристик.ВидыСубконто.ДокументОтправления, ДокументОтправления); ЭлементБлокировки.Режим = РежимБлокировкиДанных.Исключительный; Блокировка.Заблокировать(); // Получение остаточных данных по регистру для формирования движений Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | УправленческийОстатки.Субконто2 КАК Номенклатура, | УправленческийОстатки.КоличествоОстаток КАК КоличествоОстаток, | УправленческийОстатки.СуммаОстаток КАК СуммаОстаток |ИЗ | РегистрБухгалтерии.Управленческий.Остатки(&МоментВремени, Счет = &СчетТоварыВПути, &Субконто, Субконто1 = &ДокументОтправления) КАК УправленческийОстатки"; Субконто = Новый Массив (2); Субконто[0] = ПланыВидовХарактеристик.ВидыСубконто.ДокументОтправления; Субконто[1] = ПланыВидовХарактеристик.ВидыСубконто.Номенклатура; Запрос.УстановитьПараметр("Субконто", Субконто); Запрос.УстановитьПараметр("МоментВремени", МоментВремени()); Запрос.УстановитьПараметр("СчетТоварыВПути", ПланыСчетов.Управленческий.ТоварыВПути); Запрос.УстановитьПараметр("ДокументОтправления", ДокументОтправления); // Обход результатов запроса, формирование движений в регистр бухгалтерии Результат = Запрос.Выполнить(); Если Не Результат.Пустой() Тогда Выборка = Результат.Выбрать(); Пока Выборка.Следующий() Цикл // Проводка отражения прибытия товара Проводка = Движения.Управленческий.Добавить(); Проводка.Период = Дата; Проводка.СчетДт = ПланыСчетов.Управленческий.Товары; Проводка.СчетКт = ПланыСчетов.Управленческий.ТоварыВПути; Проводка.СубконтоДт[ПланыВидовХарактеристик.ВидыСубконто.Номенклатура] = Выборка.Номенклатура; Проводка.СубконтоДт[ПланыВидовХарактеристик.ВидыСубконто.Склады] = Склад; Проводка.СубконтоКт[ПланыВидовХарактеристик.ВидыСубконто.Номенклатура] = Выборка.Номенклатура; Проводка.СубконтоКт[ПланыВидовХарактеристик.ВидыСубконто.ДокументОтправления] = ДокументОтправления; Проводка.СубконтоКт[ПланыВидовХарактеристик.ВидыСубконто.ДатаПрибытия] = Дата; Проводка.КоличествоДт = Выборка.КоличествоОстаток; Проводка.КоличествоКт = Выборка.КоличествоОстаток; Проводка.Сумма = Выборка.СуммаОстаток; КонецЦикла; КонецЕсли; КонецПроцедуры
Editor is loading...