Несколько документов на основании одного



На основании одного документа создаем несколько документов с табличными частями, заполненными по некоторому алгоритму. Весь код в статье.

Потребовалось реализовать создание нескольких документов на основании одного. К моему удивлению, подходящего кода в интернете найти не удалось (может плохо искал). Пришлось делать самому.
 

Задача

На основании одного документа создать несколько с отбором строк в табличные части по некоторому алгоритму. При этом создаваемые документы должны сохраняться в базу интерактивно, то есть не должны сохраняться до открытия форм.
 

 

 Демонстрация результата

Решение

Пример выполнен в демонстрационной конфигурации "Управляемое приложение" (1.0.24.0), где на основании документа Заказ создаются документы РасходТовара (представление — Продажа).  Конфигурация в демонстрационных целях немного изменена: в указанных документах реквизит Склад перенесен из шапки в табличную часть.

Доработки потребуется внести в модуль объекта и модуль формы создаваемого документа РасходТовара. Кроме того, придется добавить реквизит документа для хранения адреса во временном хранилище (тип Строка, длина 100). Назовем его АдресЕщеОдногоДокумента.

 

 Алгоритм

Код представлен ниже.

 

 Модуль объекта создаваемого документа

 

 Модуль формы создаваемого документа

Рассмотренный пример может быть полезен для изучения особенностей работы управляемых форм.

6 Comments

  1. oleg-x

    (0)Вроде в разделе вопросы, а вопроса то и нет)

    Reply
  2. mvxyz

    (1) Это не вопрос, это ответ. В разделе «Вопросы» ссылку на статью не нашел.

    Reply
  3. alexruzh67

    Для нас актуально создание документов перемещения из документа чек ККМ.

    Reply
  4. mvxyz

    (3) Принцип общий. Попробуйте.

    Reply
  5. dadel

    Пробую по аналогии делать заполнение нескольких.

    У меня пример должен создать 4 документа сгруппированных по году на основании документа планирования на 4 года вперед.

    Все вроде работает, но только до открытия форм.

    При открытии форм в отладчике вижу заполнение каждой сохраненным объектом, данные есть в формах, но в результате открывается только одна форма заполненная и три пустых…

    Что не так пока не вкурю.

    Костылем пока сделал сразу запись созданных документов и открывается только первый при этом сделал (при открытии не иду в проверку ОткрытьФормуЕщеОдногоДокументаПриНеобходимости()).

    Что не так, пока не смог разобраться…

    Reply
  6. dadel

    И у меня заполнение документа не из самой копии происходит, как в предложенном варианте, а из регистров по ссылке на основание. Сделал в создаваемых копиях запись ссылки на основание в дополнительные свойства объекта и уже при заполнении её передаю в параметры запроса. То же самое с период — год у меня условие — так же не занимаюсь перезаполнением табчасти по нужному году, а в допсвойства объекта передаю массив с оставшимися годам в копиюоставшиеся и в копиютек только нужный период один. Далее так же по этому одному накладываю условие при заполнении.

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *