Имя: Пароль:
1C
 
Не меняются движение в документе
0 Alex7771
 
14.05.25
10:58
Не подскажите, конфигурация 1С Бухгалтерия 30, документ "Реализация товаров услуг", в модуле в обработке проведения после типовых расчетов пытаюсь изменить регистр НДС продажи
    ПроведениеСервер.УстановитьЗаписьОчищаемыхНаборовЗаписей(ЭтотОбъект);
    
// мой кусок    
ТЗ = Движения.НДСЗаписиКнигиПродаж.Выгрузить();

*** меняю ТЗ ***

Движения.НДСЗаписиКнигиПродаж.Загрузить(ТЗ);
// конец моего  

    
Движения.Записать();
    
ПараметрыДействия = УчетНДСПереопределяемый.НовыеПараметрыСостоянияСчетаФактуры("Проведен", ЭтотОбъект);    
    УчетНДСПереопределяемый.УстановитьСостояниеСчетаФактуры(ПараметрыДействия, Отказ, НЕ УстановленСтатусДокумента);

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

так все работает, после проведения все норм

но если я вставляю мой кусок в конец процедуры, т.е.

УчетНДСПереопределяемый.УстановитьСостояниеСчетаФактуры(ПараметрыДействия, Отказ, НЕ УстановленСтатусДокумента);


ТЗ = Движения.НДСЗаписиКнигиПродаж.Выгрузить();
*** меняю ТЗ ***
Движения.НДСЗаписиКнигиПродаж.Загрузить(ТЗ);
// конец моего  
Движения.Записать();

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

то после проведения движения остаются типовыми ( хотя по отладчику после Движения.Записать(); Движения.НДСЗаписиКнигиПродаж еще измененные

почему ? ( хотел закинуть свой кусок в расширение с видом после, чтобы не зависить от изменений )
1 shuhard
 
14.05.25
11:01
(0) менять нужно в модуле регистра перед записью
2 Alex7771
 
14.05.25
11:36
(1)
Процедура ПередЗаписью(Отказ, Замещение)
    
    Если Отказ Тогда
        Возврат;
    КонецЕсли;
    
    Если ОбменДанными.Загрузка Тогда
        Возврат;
    КонецЕсли;
    
    Если Количество() = 0 Тогда
        Возврат;
    КонецЕсли;
    
    УчетНДС.ПривестиПустоеИзмерениеИсправленныйСчетФактура(ЭтотОбъект);
    
КонецПроцедуры

вот модуль, он срабатывает при записи каждой записи из коллекции движений, типовая мне сделала 2 записи в регистре, я в модуле документа пересчитываю, и условно у меня получается например пять и я их подменяю, при записи в модуле регистра боюсь так не получится.

еще заметил, что при типовой Движения.Записать(); он заходит в модуль перед записью в регистре, а при моем, если второй раз его вызываю он туда даже не идет. :(
3 Alex7771
 
14.05.25
11:55
Всем спс, разобрался , надо было добавить

Движения.НДСЗаписиКнигиПродаж.Записывать = Истина;