Разработано на Инфостарте. "Фундамент"
Внешняя печатная форма – это внешняя обработка, у которой должны быть:
1. Реквизит "СсылкаНаОбъект" типа ДокументСсылка неопределенного или определенного (если форма предназначена для одного документа) вида;
2. В модуле обработки должна быть функция Печать() с ключевым словом "Экспорт" (результатом выполнения функции должен быть табличный документ или значение "Неопределено").
3. Если в функцию Печать() мы копируем алгоритм заполнения печатной формы из документа, то все параметры типа ЭтотОбъект.Ссылка мы должны заменить на СсылкаНаОбъект
4. Если нужна авторегистрация формы, то создаётся макет с идентификатором "Параметры_Авторегистрации" в первом столбце которого в каждой строчке можно указать объекты, для которых предназначена печатная форма (Документы.ЗаказПокупателя).
Т.к. отладку обычным способом произвести нельзя предложен такой вариант:
Внешняя печатная форма – это внешняя обработка, у которой должны быть:
1. Реквизит "СсылкаНаОбъект" типа ДокументСсылка неопределенного или определенного (если форма предназначена для одного документа) вида;
2. В модуле обработки должна быть функция Печать() с ключевым словом "Экспорт" (результатом выполнения функции должен быть табличный документ или значение "Неопределено").
3. Если в функцию Печать() мы копируем алгоритм заполнения печатной формы из документа, то все параметры типа ЭтотОбъект.Ссылка мы должны заменить на СсылкаНаОбъект
4. Если нужна авторегистрация формы, то создаётся макет с идентификатором "Параметры_Авторегистрации" в первом столбце которого в каждой строчке можно указать объекты, для которых предназначена печатная форма (Документы.ЗаказПокупателя).
Т.к. отладку обычным способом произвести нельзя предложен такой вариант:
- Добавляем форму.
- При создании формы НЕ НАЖИМАТЬ сразу ГОТОВО, нажимать ДАЛЕЕ! Иначе не будет возможности автоматически создать ПолеВвода для выбора значения реквизита СсылкаНаОбъект.
- В обработчик нажатия кнопки "Выполнить" добавим вызов функции Печать() с выводом на экран результата.
Печать().Показать();
КонецПроцедуры
Теперь просто открыв файл внешней печатной формы и выбрав в поле "Ссылка на объект" нужный документ мы нажимаем кнопку Выполнить и печатаем/отлаживаем!!!
И, что самое важное/приятное- именно эту форму (без малейших изменений) можно сразу добавлять в доп. формы, а при необходимости- извлекать и опять отлаживать!
КонецПроцедуры
Теперь просто открыв файл внешней печатной формы и выбрав в поле "Ссылка на объект" нужный документ мы нажимаем кнопку Выполнить и печатаем/отлаживаем!!!
И, что самое важное/приятное- именно эту форму (без малейших изменений) можно сразу добавлять в доп. формы, а при необходимости- извлекать и опять отлаживать!
А вы это сами пробовали?
ОтветитьУдалитьДа! Не исключаю не принципиальную ошибку в тексте, но принцип верный!
ОтветитьУдалитьЕсть ошибка! И важная. Реквизиту "СсылкаНаОбъект" нужно присвоить тип "ДокументСсылка.ххх"
ОтветитьУдалить