Как передать данные из формы документа в модуль обработки менеджера?

Как получить значение реквизита формы "Итог" из алгоритма, который рассчитывает итоги и вставляет их в документ "Заказы", используя обработку "ПечатьЗаказов"?
  • 25 октября 2023 г. 7:50
Ответы на вопрос 2
Для передачи данных из формы документа в модуль обработки менеджера, вы можете использовать параметры обработки, которые можно задать при вызове обработки.

1. В форме документа создайте необходимые реквизиты, которые будут принимать значения из формы.

2. В модуле обработки менеджера, в процедуре обработки "ПечатьЗаказов" определите переменные типа, соответствующего типу данных реквизита.

   Например, если реквизит имеет тип "Число", то в обработке определите переменную так: `Перем Итог Число;`

3. В процедуре "ПечатьЗаказов" пропишите код, который будет присваивать значения переменным из параметров обработки, например:

   ```
   Процедура ПечатьЗаказов(ИтогЗаказа)
     Итог = ИтогЗаказа;
     // остальной код обработки
   КонецПроцедуры
   ```

4. В форме документа, при вызове обработки "ПечатьЗаказов", передайте значение реквизита формы в параметр обработки. Например:

   ```
   Обработки.ПечатьЗаказов.Выполнить(ИтогЗаказа);
   ```

   Где `ИтогЗаказа` - это значение реквизита формы "Итог".

Теперь значение реквизита "Итог" из формы будет доступно в модуле обработки, и вы можете использовать его для расчетов и вставки в документ "Заказы".
Никак нельзя напечатать форму документа, если она не открыта пользователю. Но вы можете перенести алгоритм расчета итогового значения в модуль документа или его менеджера. Таким образом, вы сможете использовать этот алгоритм при печати. Если вы печатаете из открытой формы документа, то передайте значение реквизита формы в процедуру печати.
Похожие вопросы