Имя: Пароль:
1C
 
Скопировать документ и проводку в регистре бухгалтерии
0 LeoKeyn
 
10.05.18
10:28
Здравствуйте!
Выполняю следующий код:

Если НовыеПроводки.Количество() > 0 Тогда
            НовДок = ДокументОперация.ПолучитьОбъект().Скопировать();
            НовДок.Комментарий = НовДок.Комментарий+" #Создан обработкой";
            НовДок.Записать(РежимЗаписиДокумента.Запись);
            Для Каждого ЗаписьПроводки ИЗ НовыеПроводки ЦИКЛ
                ЗаписьПроводки.Регистратор = НовДок.Ссылка;
            КонецЦикла;
            
            
            Проводки2 = РегистрыБухгалтерии.Типовой.СоздатьНаборЗаписей();
            Проводки2.Отбор.Регистратор.Установить(НовДок);
            Проводки2.Загрузить(НовыеПроводки);
            Проводки2.Записать();
            
        КонецЕсли;

На что получаю ошибку:

{ВнешняяОбработка.ПереводОперацийBANKFEE.Форма.Форма.Форма(77)}: Ошибка при вызове метода контекста (Записать)
            Проводки2.Записать();
по причине:
Ошибка записи! Не установлен отбор по регистратору (Регистр бухгалтерии: Журнал проводок (бухгалтерский учет))

Подскажите, пожалуйста, в чем я тут ошибся?
1 LeoKeyn
 
10.05.18
10:30
(0) Извините... ))) Вопрос снят в отбор кидал объект, а не ссылку. Извините за глупый вопрос :-)
2 DrShad
 
10.05.18
10:31
да и код глупый
если у тебя есть объект, то и есть его наборы записей регистров
3 LeoKeyn
 
10.05.18
10:51
(2) Так это документ ОперацииБух у него движений нет вроде как. И не проводится он
4 DrShad
 
10.05.18
10:52
(3) ты конечно не поверишь, но они есть
5 LeoKeyn
 
10.05.18
10:53
(4) Ну значит я не нашел) а чем критиковать, помогли бы новичку понять)
6 DrShad
 
10.05.18
10:55
НовДок.Движения.Хозрасчетный
7 unregistered
 
10.05.18
11:05
(5) > Ну значит я не нашел

Как их можно не найти?
Открываешь в конфигураторе документ ОперацияБух и смотришь вкладку Движения.

> у него движений нет вроде как. И не проводится он

"не проводится" != "нет движений"

(0) Цикл по заполнению Регистратора избыточен. Он не нужен.

Эту строчку

  Проводки2 = РегистрыБухгалтерии.Типовой.СоздатьНаборЗаписей();

Заменить на то, что советует оратор в (6)

  Проводки2 = НовДок.Движения.Типовой;

И соответственно можно удалить строку

  Проводки2.Отбор.Регистратор.Установить(НовДок);
8 LeoKeyn
 
10.05.18
11:22
(7) Спасибо огромное за пояснение))) И вправду работает. Буду использовать теперь так)
9 LeoKeyn
 
10.05.18
11:23
(7) Для Каждого ЗаписьПроводки ИЗ НовыеПроводки ЦИКЛ
                ЗаписьПроводки.Регистратор = НовДок.Ссылка;
            КонецЦикла;

А вот это обязательно? Регистратор автоматом не поменяется?
Есть два вида языков, одни постоянно ругают, а вторыми никто не пользуется.