1с напечатать внешнюю печатную форму программно

Обновлено: 08.07.2024

(13) так пройдись отладчиком по этой функции, да - там куча условий по которым выполняется УдалитьВсеОбластиФаксимиле(ОбластьМакета);,
в моем случае в СведенияОДокументе не было нужного псевдонима. (это конечно при условии, что в макете корректно область факсимиле оформлена).

(0)У меня всё работает как обычно, поле рисунок, в нём изображение печати на прозрачном фоне.

(14) Второй день блужу по коду . )
(15) выложи код модуля внешней обработки где происходит передача в печать и подпись ?

(16)Вы хотите использовать фотки которые в карточке организации прикрепить можно?
Если так, то сорри.. я так не делаю, некрасиво получается.. я сам добавляю на подвал макета поля рисунок и размещаю его именно там, где мне нужно.

(17)Так и я сделал . хотелось как в типовой печатной форме использовать галочку добавить рисунки. А так приходится использовать 2 внешних отчета , один без факсимиле, второй факсимиле.. Кстати кто знает как программно получить подпись руководителя ?

Я обычно вырезаю когда делаю ВПФ, так как в ВПФ макет уже свой, то в него тупо можно добавить необходимые подписи и печати..

(19) да я понял , я так сделал . но хочется чтобы можно было в одном макете и добавить и убрать печати , видимо не хватает какого-то параметра что ли в СтруктураПараметровПечати , хотя сверял с печатью макета из конфигурации данные те же самые передаются

И вот это делал - Не получается сделать флажок "Подпись и печать" во внешней печатной форме - со слов "Перед этим вызовом нужно определить ПараметрыПечати следующим образом:"?

(20)Сделай в одном макете.. даже в одной ВПФ, перед печатью показывай форму в которой будет вопрос выводить подпись и печать или нет..
И исходя из этого параметра выводи область подвала с рисунками или область подвала без рисунков..

(21) флажок есть в форме общей печати , но никакой реакции при включении,выключении не происходит . нет картинок

(22) хотелось бы разобраться именно как эта функция отрабатывает правильно .
ЗЫ так-то сделал 2 формы с печатью и без, напрямую тяну по фирме и руководителю картинки из двоичных данных.

(23)Поле рисунок полностью помещается в область печати? С этим вроде бывают проблемы я помню.

(27) Да, без проблем, когда я напрямую гружу подпись и печать . Терзают смутные сомнения, что используя метод ДополнитьДокументПодписьюИПечатью(ТабличныйДокумент, СведенияОДокументе, ОбъектыПечати, СтруктураПараметровПечати)
тоже заполняются, только не хватает какой-то переменной, которой в форме печати говорила бы, что есть такие реквизиты и их можно регулировать флажком "подпись и печать". потому что в отладчике не переходит по событию выбора значения флажка при выводе ВПФ и работает , когда из типовой формируешь

(28) Если взять УправлениеПечатьюБП.ДополнитьДокументПодписьюИПечатью(ТабличныйДокумент, СведенияОДокументе, ОбъектыПечати, ПараметрыПечати) из конфы по печати счета и вывести резалт в обычный табличный документ (просто для проверки), то факсимилей не будет. Получается, что она работает в купе с общей формой и тем флажком на форме. Отдельно его заюзать не получится. Хотя в потрохах, есть на это заточки, и туда якобы даже можно передать адрес хранилищ, где лежат картинки этих факсимиле, однако в конце по коду, все равно все факсимиле кодом же и очищаются. Т.е. кастомизации там не получилось, или я не понял как ее подюзать.

(29) ага , просто вызывая УправлениеПечатьюБП.ДополнитьДокументПодписьюИПечатью(ТабличныйДокумент, СведенияОДокументе, ОбъектыПечати, ПараметрыПечати) я так понял активируется флажок "Подпись и печать"

(31) а вот когда флажком уже в форме печати играешь , он в картинки с именами содержащими названия "факсимиле" добавляет или очищает .

(32) дык так и сделал , а не выходит каменный цветок . только названия картинок должны соответствовать названиям двоичных файлов картинок из подчиненного "Организациям" справочника ПрикрепленныефайлыОрганизаций. Иначе программа не знает в какую картинку подпись или печать вставлять

(33) Так ты сам получи двоичные данные в твоей ВПФ, и в макете в соответствующие рисунки картинку выведешь по твоим двоичным данным. Дальше они не должны очищаться.

(34) так и сделал , отключил при выводе в общую форму флажок , но хотелось бы разобраться в чем причина , и в дальнейшем пригодится делать ону форму и выводить печати интерактивно

(35) так причина в том и есть, что видимо разработчики не предполагали задействование ДополнитьДокументПодписьюИПечатью через ВПФ, как полноценный отдельный механизм. Нет туда адекватной прокидки без этой общей формы.

(36) ИМХО , что-то упускаем . "Общей форме печати" все равно откуда ее вызвали из типового документа или ВПФ , какой-то параметр при вызове впф не учитывается или неверно указывается и поэтому флажок не реагирует.

(37) Если бы это было так, тогда простой вызов этой функции рисовал бы тебе подписи :) Однако они очищаются.

(38) не факт , м.б. не передается ссылка на временное хранилище картинок , или какой-то параметр не указывается , который как раз и влияет на вывод и удаление картинок, х.з. тема интересная . но пока текучкой занят нет времени расковырять.

(39) >>не передается ссылка на временное хранилище картинок
Это не важно, они все равно очищаются в самом конце. По хорошему, там должна быть проверка на заполненность картинок и если они заполнены, их очищать не нужно. Тогда можно было бы напрямую дергать эту функцию и не знать себе проблем. Но сейчас там явная заточку и на форму, и на имена. Т.е. нет прокидки этого механизма наружу.

(40) Может и так , но всем не равнодушным по этой теме предлагаю докопаться до истины и дать рецепт что нужно сделать , чтобы в ВПФ флажок заработал как надо .

1. В конфигураторе 1C Предприятия 8 создаем внешнюю обработку (Файл->Новый->Внешняя обработка), задаем имя.

2. В модуле обработки пишем код. Постараюсь его максимально комментировать. Главное должно быть:

  • функция ПечатьВнешнейПечатнойФормы табличного документа - которая выведет данные в макет
  • функция Печать - вызывается из конфигурации! в нее передается массив печатаемых объектов
  • и функция СведенияОВнешнейОбработке(). Она необходима для регистрации печатной формы в справочнике ДополнительныеОтчетыИОбработки, в ней собирается структура с данными для подключения формы. Эта функция, а также ряд сопутствующих ей, практически одинаковы для всех печатных форм, поэтому их можно просто копировать в новую печатную форму ничего не меняя.

3. Добавляем макет вывода печатной формы:


4. Сохраняем и добавляем в конфигурацию:

Подключается через Администрирование - Печатные формы, отчеты и обработки:


Создаете новую обработку, записывайте и при открытии документа Реализация, нажав на Печать - появляются доступные печатные формы с разными подписывающими.

Разместил: all4cf  Версии: | 8.2 УП | 8.3 |  Дата: 15.09.2015   Прочитано: 124754

Распечатать

Похожие FAQ

Как заполнить табличную часть формы программно?  6
Нужно по кнопке Заполнить - сформировать данные для заполнения табличных частей и заполнить их. Форма имеет вид: Рядом с кнопкой Записать и закрыть добавлена кнопка Заполнить документ , код ее команды: // Код заполнения ТЧ НаСервере П 17 правил для составления оптимального ЗАПРОСа к данным базы 1С  42
Для формирования и выполнения запросов к таблицам базы данных в платформе 1С используется специальный объект языка программирования Запрос . Создается этот объект вызовом конструкции Новый Запрос . Запрос удобно использовать, когда требуется получ 1C и Google Maps  20
была поставлена задача отображения на географической карте медицинских учреждений. После обзора предлагаемых решений был выбран сервис google. Но так же подобного рода подход будет работать и с картами сервиса yandex. Во время решения задачи было реш 1C: Enterprise Development Tools  50
И вот случилось долгожданное: Вышел 1C: Enterprise Development Tools - это среда для разработки конфигурации в IDE Eclipse. С сайта 1С: « 1C:Enterprise Development Tools » – это инструмент нового поколения для разработчиков бизнес-приложений систем 1С Предприятие что это?  11
Что такое 1С? 1С — это фирма , у которой одно из направлений деятельности — разработка программного обеспечения для автоматизации бизнес-процессов предприятий. « 1С:Предприятие » - конкретный продукт, который выпускает компания 1С . Что такое Посмотреть все результаты поиска похожих

Еще в этой же категории

Ключевые слова и Изображения

Слова упорядочены по частоте использования в тексте

Изображения

Пример создания внешней печатной формы для управляемого приложения
Пример создания внешней печатной формы для управляемого приложения

Подскажите как начать запуск печатной формы с выбора каталога папки на компе, для сохранения сформированного файла?

Если печатная форма использует шаблон Word то выгружается на клиенте, соответственно в процедуре Печать прописывается запуск нужного приложения, а шаблон, который хранится в макете, можно вытащить на сервере.

Рассмотрим настройку и создание новых печатных форм в системе 1С 8.3.

Создание внешних печатных форм для управляемого приложения рассмотрено в отдельной статье.

Макет печатной формы в конфигураторе

Создание и настройка печатной формы 1С 8.3

Конструктор печати

Если вы только начинаете программировать в 1С или просто хотите систематизировать свои знания - попробуйте Школу программирования 1С нашего друга Владимира Милькина. Пошаговые и понятные уроки даже для новичка с поддержкой учителя.
Попробуйте бесплатно по ссылке >>

Далее необходимо выбрать реквизиты, которые нужно указать в шапке печатной формы в том порядке, который нам необходим:

Реквизиты для печати шапки

После выбора реквизитов шапки печатной формы 1С 8.2 следует сделать выбор данных для табличной части:

Строки табличной части для вывода на печать

Когда и этот шаг сделан, нужно выбрать реквизиты подвала аналогично реквизитам в шапке.

На последней странице можно оставить всё по умолчанию и нажать ОК:

Вариант вызова процедуры

Что получаем в итоге?

Правильно оформленный макет печатной формы:

Результат создания новой формы

Процедура, полностью формирующая печатную форму документа:

Которые можно настроить в 1С 8.2, как нужно нам.

Вывод вызова созданной печатной формы 1С

Добавляем кнопку печати

Прописываем путь к процедуре

Созданная и настроенная печатная форма выглядит так:

Печатная форма готова

Другие статьи по 1С:

1.4. В свойстве ТипДанных реквизита СсылкаНаОбъект выбираем документы или справочники, из которых будет вызываться эта печатная форма (типы данных ДокументСсылка.* и СправочникСсылка.*).

Свойства реквизита СсылкаНаОбъект

1.5. Копируем нужный макет из документа или справочника или создаём новый.

Копирование макета

1.6. Открываем модуль объекта обработки.

Открытие модуля объекта

1.7. В модуле объекта обработки создаём функцию Печать() с ключевым словом Экспорт.

Создание функции Печать()

1.8. В функции Печать() описываем алгоритм заполнения печатной формы. Функция должна возвращать значение типа ТабличныйДокумент.

1.9. Создаём новый макет Параметры_Авторегистрации. В первом столбце макета указываем объекты, для которых будет регистрироваться печатная форма, в виде "Документы.<ИмяДокумента>". 1

1.10. Сохраняем обработку.

2.1. Открываем программу в режиме "1С:Предприятие".

2.2. Открываем меню "Сервис" ⇒

"Внешние печатные формы и обработки" ⇒ "Внешние печатные формы" (Управление торговлей 10.3, Розница 1.0)

"Дополнительные отчеты и обработки" ⇒ "Дополнительные внешние печатные формы" (Бухгалтерия предприятия 1.6, 2.0, Зарплата и управление персоналом 2.5)

Внешние печатные формы. Открытие

2.3. Нажимаем кнопку "Добавить".

Добавление внешней печатной формы в список

2.4. В открывшейся форме нажимаем кнопку "Заменить файл внешней обработки".

Добавление внешней печатной формы

2.5. В табличной части "Принадлежность печатной формы" добавляем строку. 2 Устанавливаем в поле "Представление объекта" нужный документ или справочник. 2 В поле "Заменяемая печатная форма" - заменяемую печатную форму. 3 Сохраняем внешнюю обработку.

Настройка внешней печатной формы

Теперь при нажатии кнопки "Печать" в документе будет вызываться внешняя печатная форма.

1 - Необязательный пункт.

2 - Если не был выполнен п.1.9.

3 - При добавлении новой печатной формы без замены старой поле "Заменяемая печатная форма" не заполняется.

Макет внешней печатной формы

Механизм заключается в разработке программистом внешней обработки, в которой описан программный код, формирующий нужную печатную форму. Данную обработку необходимо просто загрузить в пользовательском режиме (1С предприятие) в базу данных.

Этот функционал не новый, он достаточно давно используется в типовых конфигурациях. В настоящий момент актуальна версия библиотеки стандартных подсистем версии 2.х, в которой инструменты построены на механизме управляемых форм.

Рассмотрим методику разработки и настройки внешних печатных форм для 1С (8.2 или 8.3) именно в управляемом приложении, и ниже Вы можете скачать полученную внешнюю печатную форму.

Если у Вас нет времени читать, можете просмотреть наш видеоурок по созданию внешних печатных форм и подключению их на примере конфигурации 1С Бухгалтерии:

Если вы только начинаете программировать в 1С или просто хотите систематизировать свои знания - попробуйте Школу программирования 1С нашего друга Владимира Милькина. Пошаговые и понятные уроки даже для новичка с поддержкой учителя.
Попробуйте бесплатно по ссылке >>

Пример создания внешней печатной формы в 1С 8.3

Для начала создадим новую обработку и укажем в ней следующее:

1. Создадим экспортную функцию СведенияОВнешнейОбработке() в модуле объекта, укажем следующий код:

Формат возвращаемой структуры регламентирован, подробности можно узнать в разделах ИТС.

Они практически всегда одинаковы.

2. Вторым шагом необходимо создать экспортную процедуру Печать(), с помощью которой подсистема будет инициировать запуск печати из общих модулей подсистемы. Процедура содержит 4 параметра:

Процедура выглядит примерно следующим образом:

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

Создание табличного документа

Подробно останавливаться на этом не будем, на эту тему есть большое количество материалов.

Представим лишь внешний вид макета нашего элементарного примера:

Макет счета на оплату

Подключение и тестирование ВПФ в 1С

Настройка использования дополнительных обработок

Добавление внешней печатной формы в 1С

Новый шаблон в списке выбора

При нажатии на команду система сформирует нужную нам форму:

Полученная печатная форма

Возможно, она не самая красивая, но как учебный пример, демонстрирующий работу в программе, вполне подойдет :).

Если у вас что-то не получается, рекомендую воспользоваться механизмом отладки внешних печатных форм.

Другие статьи по 1С:

Читайте также: