Вход | Регистрация


Скопировать документ и проводку в регистре бухгалтерии

Скопировать документ и проводку в регистре бухгалтерии
Я
   LeoKeyn
 
10.05.18 - 10:28
Здравствуйте!
Выполняю следующий код:
Если НовыеПроводки.Количество() > 0 Тогда
            НовДок = ДокументОперация.ПолучитьОбъект().Скопировать();
            НовДок.Комментарий = НовДок.Комментарий+" #Создан обработкой";

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

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

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

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

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

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

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

Эту строчку

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

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

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

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

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

А вот это обязательно? Регистратор автоматом не поменяется?

Список тем форума
Рекламное место пустует  Рекламное место пустует
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух.
Фредерик Брукс-младший
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Рекламное место пустует