Имя: Пароль:
1C
 
Почему документ не делает движения по регистру бухгалтерии?
0 VID1234
 
14.01.22
12:56
Здравствуйте в БГУ 2.0.82.16, есть такой код:
Движения.ЖурналПроводокЕПСБУ.Записывать = Истина;
    Движения.ЖурналПроводокЕПСБУ.Очистить();
    
    Для Каждого ТекСтрокаВидыЗатрат Из ВидыЗатрат Цикл
        
        Движение = Движения.ЖурналПроводокЕПСБУ.Добавить();
        Движение.Регистратор = ЭтотОбъект.Ссылка;
        Движение.ИФО = ЭтотОбъект.Баланс;
        Движение.Период     = ЭтотОбъект.Дата;              
        Движение.Организация = Организация;
        Движение.КФО        = Перечисления.КВД.Внебюджет;
        
        //Дт 106 Кт 109
        Если ВидыОперацийПоВнутренним = Перечисления.ВидыОперацийПоВнутренним.ВводОстатковПоСтарым Тогда
            Движение.Содержание = "Ввод остатков по старым ";
        //Дт 109 Кт 106    
        ИначеЕсли ВидыОперацийПоВнутренним = Перечисления.ВидыОперацийПоВнутренним.ЗакрытиеСПлюсом Тогда
            Движение.Содержание = "Закрытие внутреннего  с положительным результатом";
        //Дт 401 Кт 106    
        Иначе
            Движение.Содержание = "Закрытие внутреннего  с отрицательным результатом";
        КонецЕсли;
        
        Движение.СчетДт = ТекСтрокаВидыЗатрат.СчетДебета;
        Движение.КПСДт = ТекСтрокаВидыЗатрат.КБКСчетДебета;
        Движение.КЭКДт         = ТекСтрокаВидыЗатрат.КОСГУСчетДебета;
        
        Если ТекСтрокаВидыЗатрат.СчетДебета = ПланыСчетов.ЕПСБУ.НайтиПоКоду("109.61") или ТекСтрокаВидыЗатрат.СчетДебета = ПланыСчетов.ЕПСБУ.НайтиПоКоду("106.3И") Тогда
            Движение.СубконтоДт[планыВидовХарактеристик.ВидыСубконто.Номенклатура] = ТекСтрокаВидыЗатрат.СубконтоСчетДебета2;
            Движение.СубконтоДт[планыВидовХарактеристик.ВидыСубконто.ВидыЗатрат]    = ТекСтрокаВидыЗатрат.СубконтоСчетДебета3;
        КонецЕсли;
        
        //Движение.СубконтоДт.ВидыЗатрат    = ТекСтрокаВидыЗатрат.СубконтоСчетДебета3; нет у 401.10
        
        Движение.СчетКт = ТекСтрокаВидыЗатрат.СчетКредита;
        Движение.КПСКт  = ТекСтрокаВидыЗатрат.КБКСчетКредита;
        Движение.КЭКДт = ТекСтрокаВидыЗатрат.КОСГУСчетКредита;
        
        Если ТекСтрокаВидыЗатрат.СчетКредита = ПланыСчетов.ЕПСБУ.НайтиПоКоду("109.61") или ТекСтрокаВидыЗатрат.СчетКредита = ПланыСчетов.ЕПСБУ.НайтиПоКоду("106.3И") Тогда
            Движение.СубконтоКт.Номенклатура  = ТекСтрокаВидыЗатрат.СубконтоСчетКредита2;
            Движение.СубконтоКт.ВидыЗатрат    = ТекСтрокаВидыЗатрат.СубконтоСчетКредита3;
        КонецЕсли;
    
        Движение.Сумма = ТекСтрокаВидыЗатрат.Сумма;
        
        //НУ
        Если ФормироватьПроводкиПоНУ Тогда
            
            Если ЗначениеЗаполнено(ТекСтрокаВидыЗатрат.СчетДебетаНУ) или ЗначениеЗаполнено(ТекСтрокаВидыЗатрат.СчетКредитаНУ) Тогда
                
                Движение = Движения.ЖурналПроводокЕПСБУ.Добавить();
                Движение.Период     = Дата;              
                Движение.Организация = Организация;
                Движение.Сумма      = ТекСтрокаВидыЗатрат.Сумма;
                
                Если ЗначениеЗаполнено(ТекСтрокаВидыЗатрат.СчетДебетаНУ) Тогда
                    Движение.СчетДт = ТекСтрокаВидыЗатрат.СчетДебетаНУ;
                    
                    Если Лев(Движение.СчетДт.Код,2) = "Н2" Тогда
                        Если ВидыОперацийПоВнутренним = Перечисления.ВидыОперацийПоВнутренним.ВводОстатковПоСтарым Тогда
                            Движение.Содержание = "Ввод остатков по старым";
                            Движение.СубконтоДт[(Движение.СчетДт.ВидыСубконто[0].ВидСубконто)] = ТекСтрокаВидыЗатрат.СубконтоСчетДебетаНУ1;
                            Движение.СубконтоДт[(Движение.СчетДт.ВидыСубконто[1].ВидСубконто)] = ТекСтрокаВидыЗатрат.СубконтоСчетДебетаНУ2;
                            
                        ИначеЕсли ВидыОперацийПоВнутренним = Перечисления.ВидыОперацийПоВнутренним.ЗакрытиеСПлюсом Тогда
                            Движение.Содержание = "Закрытие внутреннего с положительным результатом";
                            Движение.СубконтоДт[(Движение.СчетДт.ВидыСубконто[0].ВидСубконто)] = ТекСтрокаВидыЗатрат.СубконтоСчетДебетаНУ1;
                            Движение.СубконтоДт[(Движение.СчетДт.ВидыСубконто[1].ВидСубконто)] = ТекСтрокаВидыЗатрат.СубконтоСчетДебетаНУ2;
                            
                        Иначе
                            Движение.Содержание = "Закрытие внутреннего с отрицательным результатом";
                            Движение.СубконтоДт[(Движение.СчетДт.ВидыСубконто[0].ВидСубконто)] = ТекСтрокаВидыЗатрат.СубконтоСчетДебетаНУ1;
                            Движение.СубконтоДт[(Движение.СчетДт.ВидыСубконто[1].ВидСубконто)] = ТекСтрокаВидыЗатрат.СубконтоСчетДебетаНУ2;
                        КонецЕсли;
                        
                    ИначеЕсли Лев(Движение.СчетДт.Код,2) = "НЕ" Тогда
                    Иначе
                        Движение.СубконтоДт[(Движение.СчетДт.ВидыСубконто[0].ВидСубконто)] = ТекСтрокаВидыЗатрат.СубконтоСчетДебетаНУ1;
                        Движение.СубконтоДт[(Движение.СчетДт.ВидыСубконто[1].ВидСубконто)] = ТекСтрокаВидыЗатрат.СубконтоСчетДебетаНУ2;
                        
                        //Движение.СубконтоКт[(Движение.СчетКт.ВидыСубконто[0].ВидСубконто)] = ТекСтрокаВидыЗатрат.СубконтоСчетКредитаНУ1;
                        //Движение.СубконтоКт[(Движение.СчетКт.ВидыСубконто[1].ВидСубконто)] = ТекСтрокаВидыЗатрат.СубконтоСчетКредитаНУ2;
                    КонецЕсли;
                    
                КонецЕсли;
                
                Если ЗначениеЗаполнено(ТекСтрокаВидыЗатрат.СчетКредитаНУ) Тогда
                    Движение.СчетКт = ТекСтрокаВидыЗатрат.СчетКредитаНУ;
                    Если Лев(Движение.СчетКт.Код,2) = "Н2" Тогда
                        Движение.СубконтоКт[(Движение.СчетКт.ВидыСубконто[0].ВидСубконто)] = ТекСтрокаВидыЗатрат.СубконтоСчетКредитаНУ1;
                        Движение.СубконтоКт[(Движение.СчетКт.ВидыСубконто[1].ВидСубконто)] = ТекСтрокаВидыЗатрат.СубконтоСчетКредитаНУ2;
                    КонецЕсли;
                КонецЕсли;
            КонецЕсли;    
            
        КонецЕсли; //Если ФормироватьПроводкиПоНУ Тогда
        
    КонецЦикла;


По коду посмотрел, все заполняет, значение в движение подставляются, но в регистре бухгалтерии данные не появляются! Я смотрю через кнопку ДТКт, ну и вывел регистр в шапку, туда прохожу, там тоже пусто.
Через конструктор пробовал, аналогично!
1 timurhv
 
14.01.22
12:58
код где находится?
2 ДенисЧ
 
14.01.22
12:58
Записать() где?
3 VID1234
 
14.01.22
13:01
(1) В модуле документа!
4 VID1234
 
14.01.22
13:01
(2) Это в конце после цикла нужно "Движение.Записать();" сделать?
5 VID1234
 
14.01.22
13:07
*Движения!
6 timurhv
 
14.01.22
13:10
В модуле набора записей ЖурналПроводокЕПСБУ ЭтотОбъект.Количество() что выдает?
7 VID1234
 
14.01.22
13:48
(2) реально, помогло, спасибо!
8 timurhv
 
14.01.22
13:55
(7) так в типовых нигде нет "Записать()"
9 VID1234
 
14.01.22
14:21
(8) А это не типовой документ, я его сам сделал, и теперь мне нужно, чтобы проводки записались в регистр бухгалтерии. Сейчас с места сдвинулось, но теперь ругается, то КФО не заполнено, то еще что не будь, хотя вроде все заполнено в ТЧ!
10 ДенисЧ
 
14.01.22
14:25
(8) Так в типовых автозапись в свойствах стоит...
11 Dmitrii
 
гуру
14.01.22
14:29
(8) >> так в типовых нигде нет Записать().

В типовых документах установлено Запись движений при проведении "Записывать выбранные". И соответственно все движения, для которых в коде указали Записывать = Истина (первая строчка из кода в (0)), записыаются.
12 timurhv
 
14.01.22
14:59
(9) (10) (11) Понял, подумал типовой документ шаманят
13 VID1234
 
14.01.22
16:21
(12) Блин не получилось, я думал ошибки вылезли по КФО и ИФо, значит процесс пошел, но все также. Хотя в Движения.ЖурналПроводокЕПСБУ записи есть, сколько нужно! Но почему они не записываются!
14 VID1234
 
14.01.22
16:26
(12) А все нужно было перед движением добавить еще одну строку:  ЭтотОбъект.ДополнительныеСвойства.ДанныеАвтопроведения.ЭтоБухоперация = Истина;
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. Эдвард Йодан