LittlePumpkin 13.04.20 - 14:14 | УПП. В документ Расчет себестоимости добавила вот такой код (он помогает закрыть 20 счет на 90 по несовпадающим подразделениям):
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| НезавершенноеПроизводствоБухгалтерскийУчетОстатки.Организация,
| НезавершенноеПроизводствоБухгалтерскийУчетОстатки.Подразделение,
| НезавершенноеПроизводствоБухгалтерскийУчетОстатки.СчетУчета,
| НезавершенноеПроизводствоБухгалтерскийУчетОстатки.СтатьяЗатрат,
| НезавершенноеПроизводствоБухгалтерскийУчетОстатки.НоменклатурнаяГруппа,
| НезавершенноеПроизводствоБухгалтерскийУчетОстатки.Заказ,
| НезавершенноеПроизводствоБухгалтерскийУчетОстатки.Затрата,
| НезавершенноеПроизводствоБухгалтерскийУчетОстатки.ХарактеристикаЗатраты,
| НезавершенноеПроизводствоБухгалтерскийУчетОстатки.СерияЗатраты,
| НезавершенноеПроизводствоБухгалтерскийУчетОстатки.КоличествоОстаток КАК Количество,
| НезавершенноеПроизводствоБухгалтерскийУчетОстатки.СтоимостьОстаток КАК Стоимость
|ИЗ
| РегистрНакопления.НезавершенноеПроизводствоБухгалтерскийУчет.Остатки(
| &НаДату,
| Организация = &Организация
| И НоменклатурнаяГруппа В (&НоменклатурнаяГруппа)) КАК НезавершенноеПроизводствоБухгалтерскийУчетОстатки";
МоментСразуПослеДокумента = Новый Граница(Дата,ВидГраницы.Включая);
Запрос.УстановитьПараметр("НаДату", МоментСразуПослеДокумента);
Запрос.УстановитьПараметр("НоменклатурнаяГруппа", ТЗ_9002счета.ВыгрузитьКолонку("НоменклатурнаяГруппа"));
Запрос.УстановитьПараметр("Организация", Организация);
Рез = Запрос.Выполнить().Выбрать();
//Сч92 = ПланыСчетов.Хозрасчетный.НайтиПоКоду("90.02.3");
туть = Запрос.Выполнить().Выгрузить();
Пока Рез.Следующий() Цикл
Если Рез.Стоимость <= 0 Тогда
Продолжить;
КонецЕсли;
СтрБУ = НаборЗаписейБУ.Добавить();
СтрСчет = ТЗ_9002счета.Найти(Рез.НоменклатурнаяГруппа);
СтрБУ.СчетДт = СтрСчет.Счет;
СтрБУ.СчетКт = Рез.СчетУчета;
СтрБУ.Период = Дата;
СтрБУ.Организация = Рез.Организация;
СтрБУ.СубконтоДт.НоменклатурныеГруппы = Рез.НоменклатурнаяГруппа;
СтрБУ.СубконтоКт.Подразделения = Рез.Подразделение;
СтрБУ.СубконтоКт.НоменклатурныеГруппы = Рез.НоменклатурнаяГруппа;
СтрБУ.СубконтоКт.СтатьиЗатрат = Рез.СтатьяЗатрат;
СтрБУ.Сумма = Рез.Стоимость;
СтрНЗП = НаборЗаписейНЗП.Добавить();
ЗаполнитьЗначенияСвойств(СтрНЗП, Рез);
СтрНЗП.Период = Дата;
СтрНЗП.ВидДвижения = ВидДвиженияНакопления.Расход;
СтрНЗП.Количество = СтрНЗП.Количество;
СтрНЗП.Стоимость = СтрНЗП.Стоимость;
КонецЦикла;
НаборЗаписейБУ.Записать();
НаборЗаписейНЗП.Записать();
Но после того, как выполняется этот код документ больше не осуществляет проводок с 25 на 20 счет (до модификации это выполнялось).
Подскажите в чем проблема? Есть ощущение, что я просто перезатираю движения, связанные с 25 счетом. Но указанный код выше код вызывается после всех основных действий документа. Не понимаю где может быть проблема( |
dka80 2 - 13.04.20 - 16:03 | Возможно, ты делаешь проводку Дт90 Кт20 раньше, чем происходит распределение 25 счета. Т.е. к моменту закрытия 25 счета у тебя уже нет базы распределения
|
LittlePumpkin 3 - 13.04.20 - 16:06 | Хммм, вызов проводки Дт90 Кт20 осуществляется в самом конце, после всех основных действий документа.
Но может я не права. Не подскажете как можно проверить ваш вариант?
|