Область применения: управляемое приложение.
Некоторые справочники, документы и др. объекты конфигурации могут предоставлять команды по выводу их на печать. В данной статье приведены требования к реализации таких команд.
1. Для формирования печатной формы пользователю должно быть достаточно прав:
2. В функции печати рекомендуется предусмотреть множественную печать нескольких объектов. В этом случае по соображениям производительности (снижение нагрузки на СУБД) необходимо выполнять выборку данных в одном запросе, результаты которого затем обходятся в цикле.
См. также: Многократное выполнение однотипных запросов
3. Следующие рекомендации применимы для нерегламентированных печатных форм.
3.1. Печатная и экранная формы объектов (справочников, документов и др.), в которых выводятся табличные части, должны соответствовать друг другу по составу и порядку строк табличных частей. В частности, при выводе на печать не следует каким-либо образом дополнительно группировать строки табличных частей.
3.2. Однако, если строки в экранной форме уже сгруппированы по каким-либо признакам, то при выводе на печать следует применять такую же группировку.
Например, рассмотрим печатную и экранную формы документа, в которых выводится табличная часть цен номенклатуры по типам цен: для каждой номенклатуры в колонках выводятся розничная, оптовая и другие типы цен, но при этом «физически» одна строка табличной части документа содержит информацию о цене только одного типа.
3.3 В табличных частях печатных форм следует всегда выводить колонку со значением реквизита «Номер строки». В этом случае пользователи всегда смогут легко сопоставить строки табличных частей в печатных и экранных формах.
3.4. В тех случаях, когда на экранной форме не отображается реквизит «Номер строки», строки в печатной форме нумеруются в порядке их вывода.
3.5. Заголовок колонки с номером строки зависит от прикладной специфики печатной формы и может различаться в разных печатных формах. Например, в ТОРГ-12 колонка имеет строго регламентированное название «Номер по порядку», а в нерегламентированных печатных формах – может называться «№».
4. Порядок строк табличных частей в печатной форме должен быть одинаковым на различных СУБД. Для этого их следует выводить отсортированными по номеру строки или другому полю. Рекомендуется индексировать поля, по которым выполняется сортировка.
Например, в задании кладовщику на отбор товаров из складских ячеек, строки задания отсортированы по порядку обхода ячеек склада (при этом значение реквизита «Номер строки» также выводится в соответствующей колонке).
См. также: Упорядочивание результатов запроса
5.1. При выводе данных в печатные формы, необходимо обеспечить, чтобы они были выведены полностью и не обрезались.
6. При подготовке табличного документа на сервере не следует устанавливать размер полей заведомо меньше физических ограничений полей у принтера. В частности, недопустимо устанавливать нулевые поля.
В общем случае, размер полей табличного документа рекомендуется не менять (оставлять по умолчанию), кроме тех случаев, когда они явно регламентированы или стандартизированы. Например, согласно ГОСТ Р 6.30-2003 "Унифицированные системы документации. Унифицированная система организационно-распорядительной документации. Требования к оформлению документов" в документе должны быть заданы поля: 20 мм левое, 10 мм правое, 20 мм верхнее, 20 мм нижнее.
Требование обусловлено тем, что получение физических ограничений полей клиентского принтера не представляется возможным на сервере приложений, в связи с чем, при печати документа с нулевыми полями текст, выступающий за минимально допустимые поля принтера, не будет напечатан.
Пример некорректного кода:
// Зададим параметры печатной формы по умолчанию
ТабДокумент.ПолеСверху = 0;
ТабДокумент.ПолеСлева = 0;
ТабДокумент.ПолеСнизу = 0;
ТабДокумент.ПолеСправа = 0;
См. также