Страницы: 1
RSS
Как создать внешнюю печатную форму и когда она нужна
 

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

 
Вообще же в конфигурациях 1С большой ассортимент печатных форм. Сначала определитесь, для чего вам создавать новую?
В целом же создание печатной формы документа начинается с открытия режима конфигуратора базы. Желательно открывать ту базу, в которую требуется внести изменения, чтобы платформа позволила нам открывать конструктор запроса. Создайте новую внешнюю обработку с помощью основного меню «Файл» - «Новый…» и заполните имя и синоним. В среде 1С принято указывать «говорящие» имена, чтобы другие программисты могли комфортно работать с чужим кодом.
После этого вам нужно добавить макет - структуру распечатываемой формы с перечнем переменных, куда и будут вставляться данные из конкретного документа 1С. В открывшемся конструкторе не стоит ничего менять и после подтверждения готовности откроется окно, похожее на Excel. В нем необходимо будет нарисовать форму и разделить ее на области с отдельными именами. Разделять стоит в зависимости от момента вывода на экран и того, сколько раз эта область должна появиться на экране.
 
Цитата
Karina написал:
Коллеги, здравствуйте. Столкнлись с тем, что не получается создать внешнюю печатную форму. Как это проще всего сделать? Вообще когда они нужны или можно без них обойтись? Заранее всем спасибо.

Мы когда-то так создавали печатную форму «Счет» для документа «Реализация (акты, накладные»). Тогда мы создавали экспортную функцию СведенияОВнешнейОбработке() в модуле объекта. Вторым шагом у нас было создание экспортной процедуры Печать (), с помощью которой подсистема будет инициировать запуск печати из общих модулей подсистемы. Процедура содержит 4 параметра:

МассивОбъектов — ссылки на объекты, которые планируются для печати (массив);

КоллекцияПечатныхФорм — уже сформированные документы (таблица значений);

ОбъектыПечати — список значений, в котором значение — это ссылка на объект, а представление — имя области, в которой был введен объект;

ПараметрыВывода — произвольные параметры для печати.

В ней формируется нужное количество табличных документов и готовится к печати. В нашем примере мы создадим функцию «СформироватьПечатнуюФорму()», которая будет возвращать табличный документ. Для примера мы предполагаем, что у нас всегда 1 печатная форма, поэтому передаём в функцию первый элемент массива (МассивОбъектов[0]).

Ну вот после этого остается сделать непосредственно саму печатную форму в виде табличного документа, которую будет возвращать нужная функция.

 

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

Верхняя часть («Шапка»). Сюда войдет идентификация документа в системе 1С – номер и дата, основные данные об операции – организация, контрагент, менеджер, заголовок таблицы номенклатуры. Выводиться будет 1 раз;

Информация по номенклатуре («ДанныеСтрок»). Данные о тех товарах, которые продаются – наименование, количество, цена и сумма. Выводиться по 1 разу на каждую строчку табличной части «Товары»;

Итоговые данные («ИтогиСтрок»). В печатной форме фигурирует 1 раз и отражает итоговые суммы количества и суммы;

Подписи («Подвал»). Область для согласования бумажной версии документа. Необходимо вывести на печать единожды.

В окне, похожем на Excel, выделяем 10 строк и выбираем в основном меню «Таблица» - «Имена» - «Назначить имя…». В открывшемся окне вводим название области и подтверждаем. Далее в этой области размещаем необходимые для вывода поля, используя возможности объединения и выбора шрифта и размера надписей.

 
Цитата
Viktor написал:
А мы делали печатную форму для дока продажи товаров. В нем там были перечислены номенклатура, организация, подразделение, менеджер и контрагент, кому продаются товары. Для информативной печатной формы необходимо выделить следующие области:  Верхняя часть («Шапка»). Сюда войдет идентификация документа в системе 1С – номер и дата, основные данные об операции – организация, контрагент, менеджер, заголовок таблицы номенклатуры. Выводиться будет 1 раз;  Информация по номенклатуре («ДанныеСтрок»). Данные о тех товарах, которые продаются – наименование, количество, цена и сумма. Выводиться по 1 разу на каждую строчку табличной части «Товары»;  Итоговые данные («ИтогиСтрок»). В печатной форме фигурирует 1 раз и отражает итоговые суммы количества и суммы;  Подписи («Подвал»). Область для согласования бумажной версии документа. Необходимо вывести на печать единожды.  В окне, похожем на Excel, выделяем 10 строк и выбираем в основном меню «Таблица» - «Имена» - «Назначить имя…». В открывшемся окне вводим название области и подтверждаем. Далее в этой области размещаем необходимые для вывода поля, используя возможности объединения и выбора шрифта и размера надписей.

Да, только вот надо не забыть после этого всего настроить переменные, куда будут вставлены данные. Для этого на ячейке, где уже есть надпись, нажимаем правой кнопкой мыши и открываем свойства. Найдите пункт «Заполнение» и выберите там значение «Параметр», после чего убедитесь, что надпись в ячейке теперь заключена в угловые скобки. Если вы выберите «Шаблон», то это даст вам возможность указать переменные внутри строки в ячейке с помощью квадратных скобок. А после этого остается только добавить другие области и разместить там параметры.

Чтобы вывести данные в печатную форму, в первую очередь нужно добавить функцию «СведенияОВнешнейОбработке()». Именно она подсказывает платформе, что в файле печатная форма и ее нужно крепить к конкретному документу. Текст функции практически не меняется, кроме названия печатных форм и документа, к которому ее крепят. Если забыть поменять в этой функции идентификатор, то 1С не сможет сформировать печатную форму.

 
Цитата
Борис Романов написал:
Цитата
Viktor написал:
А мы делали печатную форму для дока продажи товаров. В нем там были перечислены номенклатура, организация, подразделение, менеджер и контрагент, кому продаются товары. Для информативной печатной формы необходимо выделить следующие области:  Верхняя часть («Шапка»). Сюда войдет идентификация документа в системе 1С – номер и дата, основные данные об операции – организация, контрагент, менеджер, заголовок таблицы номенклатуры. Выводиться будет 1 раз;  Информация по номенклатуре («ДанныеСтрок»). Данные о тех товарах, которые продаются – наименование, количество, цена и сумма. Выводиться по 1 разу на каждую строчку табличной части «Товары»;  Итоговые данные («ИтогиСтрок»). В печатной форме фигурирует 1 раз и отражает итоговые суммы количества и суммы;  Подписи («Подвал»). Область для согласования бумажной версии документа. Необходимо вывести на печать единожды.  В окне, похожем на Excel, выделяем 10 строк и выбираем в основном меню «Таблица» - «Имена» - «Назначить имя…». В открывшемся окне вводим название области и подтверждаем. Далее в этой области размещаем необходимые для вывода поля, используя возможности объединения и выбора шрифта и размера надписей.
 Да, только вот надо не забыть после этого всего настроить переменные, куда будут вставлены данные. Для этого на ячейке, где уже есть надпись, нажимаем правой кнопкой мыши и открываем свойства. Найдите пункт «Заполнение» и выберите там значение «Параметр», после чего убедитесь, что надпись в ячейке теперь заключена в угловые скобки. Если вы выберите «Шаблон», то это даст вам возможность указать переменные внутри строки в ячейке с помощью квадратных скобок. А после этого остается только добавить другие области и разместить там параметры.   Чтобы вывести данные в печатную форму, в первую очередь нужно добавить функцию «СведенияОВнешнейОбработке()». Именно она подсказывает платформе, что в файле печатная форма и ее нужно крепить к конкретному документу. Текст функции практически не меняется, кроме названия печатных форм и документа, к которому ее крепят. Если забыть поменять в этой функции идентификатор, то 1С не сможет сформировать печатную форму.

Для инициализации печати нужно добавить процедуру, внутри которой находится вызов процедуры из общего модуля, добавляющей эту печатную форму в общий список. В качестве команды выступает процедура «СформироватьПечатнуюФорму» с параметром, в котором находится ссылка на документ, который и нужно распечатать.

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

После завершения сохраните внешнюю обработку и запустите 1С в режиме предприятия. Чтобы подключить созданную печатную форму, зайдите в раздел «Администрирование» - «Печатные формы, отчеты и обработки» - «Дополнительные отчеты и обработки». Нажмите кнопку «Создать» и в диалоге выберите сохраненный файл формата *.EPF. Если все было сделано правильно, останется лишь сохранить, и 1С самостоятельно разместит новую печатную форму.

Страницы: 1