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


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

Скопировать документ и проводку в регистре бухгалтерии
Я
   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 или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует