Еще раз о создании Внешней Печатной Формы на 8.2 из существующей

08.10.13

Разработка - Механизмы платформы 1С

Часто необходимо "немного" подправить существующую печатную форму. Изменить конфу просто, но потеряешь поддержку. Хорошо бы сделать внешнюю форму, но многочисленное освещение этого вопроса в интернете приводит только к новым вопросам. Продравшись через советы "гуру", предлагаю Вам коротенькую инструкцию.

Скачать файлы

Наименование Файл Версия Размер
Пример ВнешнейПечатнойФормы
.epf 10,59Kb
80
.epf 10,59Kb 80 Скачать

Часто необходимо "немного" подправить существующую печатную форму. Изменить конфу просто, но потеряешь поддержку. Хорошо бы сделать внешнюю форму, но многочисленное освещение этого вопроса в интернете приводит только к новым вопросам. Продравшись через советы "гуру", предлагаю Вам коротенькую инструкцию:

1.Создать новую внешнюю обработку
2.В реквизиты добавить СсылкуНаОбъект можно неопределенный, но лучше на ДокументСсылка.Родитель
3.Скопировать Макет из родителя в новую обработку
4.Скопировать Процедуру Печать из модуля Родителя и превратить ее в Функцию Печать() Экспорт, именно так без параметров, если параметры необходимы описать их в теле функции
5.Скопировать все запрашиваемые функции и процедуры
6.Заменить прямые обращения к Реквизитам Родителя на 
         Реквизит=СсылкаНаОбъект.Реквизит;
7.Заменить ЭтотОбъект и ЭтотОбъект.Ссылка на СсылкаНаОбъект
8.Обратить Внимание! на вызов процедуры печати
было 
УниверсальныеМеханизмы.НапечататьДокумент(ТабДокумент, КоличествоЭкземпляров, НаПринтер, ОбщегоНазначения.СформироватьЗаголовокДокумента(ЭтотОбъект, ""), НепосредственнаяПечать);

выдавало ошибку не найден "Номер"!!!
    
стало
УниверсальныеМеханизмы.НапечататьДокумент(ТабДокумент, КоличествоЭкземпляров, НаПринтер,   ОбщегоНазначения.СформироватьЗаголовокДокумента(СсылкаНаОбъект, ""), НепосредственнаяПечать);

PS Теперь можно править Макет (осторожней с изменением его названия)

Прилагаю рабочий вариант НовогоСчета для БП 2.0.25.5

См. также

Поинтегрируем: сервисы интеграции – новый стандарт или просто коннектор?

Обмен между базами 1C Администрирование СУБД Механизмы платформы 1С Платформа 1С v8.3 Бесплатно (free)

В платформе 8.3.17 появился замечательный механизм «Сервисы интеграции». Многие считают, что это просто коннектор 1С:Шины. Так ли это?

11.03.2024    4603    dsdred    53    

73

Как готовить и есть массивы

Механизмы платформы 1С Платформа 1С v8.3 Бесплатно (free)

Все мы используем массивы в своем коде. Это один из первых объектов, который дают ученикам при прохождении обучения программированию. Но умеем ли мы ими пользоваться? В этой статье я хочу показать все методы массива, а также некоторые фишки в работе с массивами.

24.01.2024    5306    YA_418728146    25    

63

Планы обмена VS История данных

Обмен между базами 1C Механизмы платформы 1С Платформа 1С v8.3 Бесплатно (free)

Вы все еще регистрируете изменения только на Планах обмена и Регистрах сведений?

11.12.2023    6432    dsdred    36    

112

1С-ная магия

Механизмы платформы 1С Бесплатно (free)

Язык программирования 1С содержит много нюансов и особенностей, которые могут приводить к неожиданным для разработчика результатам. Сталкиваясь с ними, программист начинает лучше понимать логику платформы, а значит, быстрее выявлять ошибки и видеть потенциальные узкие места своего кода там, где позже можно было бы ещё долго медитировать с отладчиком в поисках источника проблемы. Мы рассмотрим разные примеры поведения кода 1С. Разберём результаты выполнения и ответим на вопросы «Почему?», «Как же так?» и «Зачем нам это знать?». 

06.10.2023    18498    SeiOkami    46    

118

Дефрагментация и реиндексация после перехода на платформу 8.3.22

Механизмы платформы 1С Платформа 1С v8.3 Бесплатно (free)

Начиная с версии платформы 8.3.22 1С снимает стандартные блокировки БД на уровне страниц. Делаем рабочий скрипт, как раньше.

14.09.2023    12108    human_new    27    

74

Валидация JSON через XDTO (включая массивы)

WEB-интеграция Универсальные функции Механизмы платформы 1С Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

При работе с интеграциями рано или поздно придется столкнуться с получением JSON файлов. И, конечно же, жизнь заставит проверять файлы перед тем, как записывать данные в БД.

28.08.2023    8847    YA_418728146    6    

141

Внешние компоненты Native API на языке Rust - Просто!

Механизмы платформы 1С Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

Внешние компоненты для 1С можно разработывать очень просто, пользуясь всеми преимуществами языка Rust - от безопасности и кроссплатформенности до удобного менеджера библиотек.

20.08.2023    6287    sebekerga    54    

94

Все скопируем и вставим! (Буфер обмена в 1С 8.3.24)

Механизмы платформы 1С Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

Рассмотрим новую возможность 8.3.24 и как её можно эффективно использовать

27.06.2023    16008    SeiOkami    31    

103
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. Поручик 4670 12.09.11 01:00 Сейчас в теме
(0) В типовых на 8.1. по другому делается?
2. Mamakan 20 12.09.11 06:50 Сейчас в теме
Да одинаково все и в 8.1, и в 8.2
3. gutentag 253 12.09.11 11:47 Сейчас в теме
Спасибо, пошел тренироваться :)
4. serega_sun 14.09.11 11:45 Сейчас в теме
По другому делается в УТ-11
MaeXtro; pumbaE; +2 Ответить
5. pumbaE 14.09.11 13:39 Сейчас в теме
(4) Более общий случай по другому делается в БСП.
6. miaso 4 14.09.11 18:10 Сейчас в теме
В управляемых все по другому. А в типовых "старых" есть прекрасный шаблон http://infostart.ru/public/67060/ в котором не нужно ничего переименовывать и как написано в описании выдирается любая печать за 5 минут.
7. Lyolik 8 15.09.11 12:59 Сейчас в теме
Спасибо за инструкцию. Все ясно и коротко.
8. Sean1s 8 16.09.11 05:43 Сейчас в теме
Да, спасибо! Очень чётко, кратко и понятно.
9. vikylena 16.09.11 09:43 Сейчас в теме
Спасибо! Очень нужная информация.
10. Alexey55 16.09.11 11:46 Сейчас в теме
11. demanu 18.09.11 20:45 Сейчас в теме
Да всё так, ничего сложного нет. Для облегчения отладки можно приладить форму, добавить в неё реквизит СсылкаНаОбъект и написать обработчик для кнопки выполнить, что-то типа того:

ТабДокумент = Печать();
УниверсальныеМеханизмы.НапечататьДокумент(ТабДокумент);

Это позволит избежать необходимости постоянного обновления во внешних обработках.
12. Cab-dv 40 20.09.11 01:39 Сейчас в теме
Спасибо. В самый раз! была задача сделать внешний счет на оплату :)
13. zhuravlev_as 393 20.09.11 22:06 Сейчас в теме
Технология стара, для 8.1 и для 8.2 не управляемого приложения. Для 8.2, управляемых приложений (УТ ред. 11, УНФ, Документооборот) технология изменилась, и вышеописанный метод не подойдет. Найдите тут на инфостарте как делать внешние печатные формы, обработки таб.частей, ввод на основании, ссылку не помню.
14. viktorija-d 29.09.11 18:20 Сейчас в теме
Не знаю как сама внешняя печатная форма, но комментарий к ней отличный. Коротко ясно и последовательно. Сделала то,что необходимо мне буквально за 30 минут. Получила отличный результат за короткое время, руководствуясь алгоритмом действий. Огромное спасибо!!!!!!
15. finik 06.10.11 21:10 Сейчас в теме
Спасибо! Потратил три вечера, но сделал первую в жизни внешнюю форму....
16. natylit 52 26.10.11 19:07 Сейчас в теме
Уже не раз пришлось менять типовую форму. Спасибо за такую простую и полезную инструкцию
17. dmpas 418 16.01.12 14:22 Сейчас в теме
немножко вклинюсь:

4.Скопировать Процедуру Печать из модуля Родителя и превратить ее в Функцию Печать() Экспорт

процедуру переделываем в функцию не просто так! Эта функция должна вернуть табличный документ в качестве результата! Потому п. 8 теряет смысл: процедура Печать() в модуле документа получает табличный документ из функции Печать() внешней печ.формы и сама передаёт её в процедуру НапечататьДокумент().

В Вашем случае процедура НапечататьДокумент() вызывается дважды: во внешней обработке и в модуле документа.
Но потому как функция ничего не возвращает, то её результат есть Неопределено и второй вызов ничего не делает.

Нужно делать именно через результат функции, потому как в модуле документа ещё есть такие параметры, как КоличествоЭкземпляров, НаПринтер и НепосредственнаяПечать, которых нет во внешней печ. форме.
Оставьте свое сообщение