Обработка предназначена для быстрого создания внешних печатных форм. В режиме "Управляемое приложение" работает как внешняя обработка. Для работы в обычном приложении нужно встроить обработку в конфигурацию.
В процессе разработки программы большое внимание уделял "юзабилити". На обработке нет большого количества малопонятых элементов и кнопок. Создать собственную печатную форму при помощи обработки не сложнее, чем сделать ее в excel.
Краткое описание возможностей обработки:
1) Возможность создания печатных форм на основании существующих макетов
2) Моментальная отладка. Можно сразу посмотреть результирующий макет, нажав на кнопку "Посмотреть результат" на основной форме или на кнопку "Пример" в поле редактирования параметра
3) Использование технологии СКД позволяет выбирать реквизиты ссылочных типов любого уровня вложенности
4) Все выбранное поля автоматически преобразуются к типу "Строка" для повышения отказоустойчивости (при необходимости это можно отключить)
5) Есть возможность не формировать файл обработки, а сохранить результат работы в "Черновик". Для этого придуман специальный формат "mef" (Master of External printed Forms)
6) Есть возможность создавать и хранить отдельно от черновиков свои наборы функций в формате "efs" (External Functions set).
Предлагаемый порядок работы:
1) Указать пример объекта. Это может быть любой справочник или документ.
2) Выбрать макет из существующих или создать "с нуля". В результате операций 1 и 2 получится примерно следующее:
Макет (справа) разбит на области. Те данные, которые не попадают ни в одну из областей, в печатный документ выведены не будут. Для отображения областей нужно в левом верхнем углу экрана 1С нажать на кнопку
"Главное меню - таблица - имена - отображение именованных строк/колонок". В каждой области могут быть параметры - те значения, которые будут заполняться данными из документа. В интерфейсе "Такси" кнопку включения отображения именнованных областей переместили в заголовок формы. Надо нажать на троеточие слева от кнопки закрытия формы (крестика):
3) Программа автоматически считывает параметры из макета и разбивает их по областям. Значение параметра вычисляется в пределах области. Т.е. параметры могут иметь одинаковое имя, но их значения будут разными если они находятся в разных областях.
4) Определиться со способом привязки областей. Область может быть привязана либо к реквизиту объекта из п.1, либо к какой-то из его табличных частей. В первом случае область выводится только один раз. Во втором область выводится ровно столько раз, сколько строк в указанной табличной части конкретного объекта.
5) Заполнить обработчики заполнения параметров. Пример заполнения параметра:
6) В обработчик заполнения параметра можно вставить произвольный код. Но в таком случае необходимо явно задать значение переменной Результат (С большой буквы!). Например:
Если СсылкаНаОбъект.СуммаВключаетНДС Тогда
Результат = Формат(СсылкаНаОбъект.Товары.Итог("Сумма"), "ЧЦ=15; ЧДЦ=2");
Иначе
Результат = Формат(СсылкаНаОбъект.Товары.Итог("СуммаСНДС"), "ЧЦ=15; ЧДЦ=2");
КонецЕсли;
5) В том случае, если в печатную форму необходимо вывести какие-то данные, не хранящиеся непосредственно в самом документе или его реквизитах (например, адрес Организации), можно использовать функционал "Дополнительные функции". Они доступны при нажатии кнопки "Доп. функции" на основной форме обработки:
6) Набор дополнительных функций привязан к конкретной конфигурации. Пользователь может сам создавать и хранить на своем компьютере наборы доп. функций в специальном формате "efs". Вместе с обработкой поставляются наборы функций для ряда типовых конфигураций: Управление Торговлей 11, Бухгалтерия Предприятия 3.0, Запрлата и управление персоналом 3.0.
7) Для того, чтобы функции можно было использовать в печатной форме, необходимо отметить нужные галочкой и заполнить их параметры (последних может не быть):
Отмеченные галочками функции станут доступны в форме редактирования обработчика параметра:
8) После заполнения можно создать файл внешней обработки. Однако, перед этим рекомендую сохранить результат работы в черновик.
Прочая полезная информация об обработке:
1) Макет должен содержать минимум одну область с типом "строка".
2) Области - колонки и прямоугольники игнорируются. Мне кажется, что для решения 99% задач достаточно областей - строк.
3) Области выводятся строго в том порядке, в котором они указаны в дереве областей. Порядок можно менять стрелочками вверх/вниз.
4) Функции вычисляются строго в том порядке, в котором они указаны в дереве функций. Можно использовать результат вычисления одной функции в коде другой.
5) Имя функции должно быть уникально
6) При вычислении примера заполнения параметра области, связанной с табличной частью, берется первая строка этой табличной части.
7) Переменная ДопФункции имеет тип "Структура" и определяется перед выводом всех областей. Она может быть изменена в процессе заполнения параметров табличного документа.
8) Переменная ДопФункцииТЧ имеет тип "Структура" и определяется перед выводом каждой строки Табличной части.
9) В обработчике заполнения параметра можно задать значение переменной Отказ = Истина. В таком случае область не будет выведена.
Проверено на следующих конфигурациях и релизах:
- 1С:ERP Управление предприятием 2, релизы 2.5.7.226