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

Но после того, как выполняется этот код документ больше не осуществляет проводок с 25 на 20 счет (до модификации это выполнялось).
Подскажите в чем проблема? Есть ощущение, что я просто перезатираю движения, связанные с 25 счетом. Но указанный код выше код вызывается после всех основных действий документа. Не понимаю где может быть проблема(
1 LittlePumpkin
 
13.04.20
14:46
ТЗ_9002счета это таблица с номенклатурными группами по которым были проводки по 90.02 счету
2 dka80
 
13.04.20
16:03
Возможно, ты делаешь проводку Дт90 Кт20 раньше, чем происходит распределение 25 счета. Т.е. к моменту закрытия 25 счета у тебя уже нет базы распределения
3 LittlePumpkin
 
13.04.20
16:06
Хммм, вызов проводки Дт90 Кт20 осуществляется в самом конце, после всех основных действий документа.
Но может я не права. Не подскажете как можно проверить ваш вариант?
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший