1s 8 създаване на външна печатна форма. Публикации

Инструкции

Отворете програмата 1C:Enterprise версия 8. Обърнете внимание на елемента от менюто „Услуга“ - „Външни форми за обработка и печат“. С негова помощ можете да съхранявате външни справки, обработки, печатни форми, както и обработки за попълване на таблични елементи. Можете също така да свържете външен формуляр, вместо да променяте съществуващ, което би довело до намеса в конфигурацията на програмата.

Стартирайте програмата 1C:Enterprise в режим на конфигуратор, след това създайте външна обработка, за да направите това, изпълнете командата „Файл“ - „Нов“. В прозореца, който се показва, изберете „Външна обработка“. На екрана ще се появи нов формуляр за външна обработка. Дайте му име „Външен“. След това добавете нов атрибут, наречен „Препратка към обект“, посочете типа за него – „Документ. Връзка. Продажба на стоки и услуги." За да създадете печат за различен тип документ, използвайте подходящия тип връзка.

Добавете ново оформление, като щракнете върху съответния бутон в прозореца на новия формуляр. Наречете го „Layout“, създайте област, наречена „Header“, дайте й параметъра „Header Text“. След това щракнете върху бутона „Действия“, изберете командата „Отваряне на обектен модул“. След това вмъкнете текста на модула, можете да използвате примера, публикуван на уебсайта http://www.uasoft.com.ua/content/articles/315/.

Стартирайте програмата 1C:Enterprise, отидете в менюто Инструменти, изберете Външни печатни форми. Добавете нов запис към списъка с формуляри. За да направите това, изберете създадения файл за обработка и в табличния раздел посочете, че формулярът принадлежи към документа „Продажби на стоки“. Проверете дали новата печатна форма работи правилно. За да направите това, отворете създадения документ, проследете го, след това в долната част на екрана щракнете върху бутона „Печат“, изберете опцията „Външен формуляр за печат“.

източници:

  • как да промените печатна форма в 1c

За да създавате и редактирате обектни формуляри, програмата 1C:Enterprise предоставя специален редактор на формуляри (или Form Designer). Обектните форми на приложното решение са предназначени да представят визуално данни, докато работите с програмата. Редакторът на формуляри съдържа няколко раздела, които предоставят възможност за редактиране на всички елементи на формуляра.

Ще имаш нужда

  • компютър, програма 1C

Инструкции

С помощта на редактора на формуляри можете да добавите един или повече елементи „Група – Страници“ към формуляра; за да направите това, щракнете върху зеления знак плюс в горния ляв ъгъл на редактора, докато сте в раздела „Елементи“.
В режим 1C:Enterprise всички съществуващи групови елементи ще бъдат показани всеки в отделен раздел. За да го позиционирате над или под работния, в прозореца „Свойства“ на определена група, в елемента „Показване“, изберете подходящата команда.

Можете също да добавяте елементи към формуляра, като плъзнете необходимите детайли в дървото на елементите. За да улесните навигацията в контролите на формуляра, когато редактирате или въвеждате данни, задайте реда, който ви подхожда, като подредите елементи в дървото и ги подчините на други елементи и зададете свойствата на груповите елементи според вашите нужди.
За да редактирате детайлите на формуляра - да ги промените, да създадете нови или да ги изтриете, използвайте панела в областта на дървото на детайлите в съответния раздел.

За да редактирате командния интерфейс, отидете в съответния раздел. Ще видите командно дърво, основните клонове на което са „Навигационен панел“ и „Команден панел“. Някои команди се добавят автоматично към дървото на командния интерфейс, но можете също да ги добавите сами, като плъзнете нужните команди от списъка с глобални (общи) команди или от списъка с команди на формуляр.

Командите на формата се редактират в съответния списък. Можете да ги добавите, премахнете от списъка, да зададете свойства за всяка команда с помощта на палитрата със свойства, която можете да извикате, като щракнете върху иконата на молив в командния ред на списъка.
За да редактирате параметрите на формата, отидете в раздела „Параметри“, където можете също да ги добавите, изтриете и зададете желаните свойства.

Видео по темата

Сметкопланът, използван в счетоводството за показване на икономическите дейности на предприятието, поддържа многостепенна йерархия: сметка - подсметки. За да може потребителят да преглежда данните, съдържащи се в сметкоплана, и да ги коригира, системата 1C ви позволява да промените формата на сметката. В допълнение, отпечатаната форма на фактурата може да бъде променена във всеки друг документ в 1C.

Ще имаш нужда

  • - персонален компютър с 1C.

Инструкции

За всяка сметка или подсметка се осигурява аналитично счетоводство. Следователно, когато създавате и последващо редактирате сметкоплан в 1C, можете да предоставите необходимия брой подсметки, т.е. аналитични счетоводни обекти. Освен това корекциите на сметки и подсметки могат да бъдат направени или от потребител, работещ с автоматизирана счетоводна система, или от разработчик на софтуер.

Как да добавите (регистрирате) външен печатен формуляр (или обработка) в 1C Accounting 8.3 (версия 3.0)

2019-05-15T13:40:54+00:00

Често счетоводителят се нуждае от допълнителен печатен формуляр за един от стандартните документи 1C: Счетоводство 8.3 (версия 3.0). Или е необходима допълнителна обработка, например за автоматично попълване на документ или въвеждане на нов въз основа на него. Обикновено някой вече е разработил такава функция и тя може да бъде намерена или поръчана от програмист. И сега ревизията е получена, остава само да я добавим към счетоводството. Как да го направим? Повече за това по-долу, стъпка по стъпка.

1. Отворете 1C Accounting 3.0 и изберете секцията „Администриране“ -> „Печат на формуляри, отчети и обработка“ в левия панел:

2. Тук намерете и изберете „Допълнителни отчети и обработка“, след като поставите отметка в квадратчето „Допълнителни отчети и обработка“ вляво:

3. Щракнете върху бутона „Добавяне от файл...“.

4. И изберете файла с външна форма за печат или обработка (разширение epf).

5. В новия прозорец щракнете върху бутона „Запиши и затвори“.

6. Отворете желания документ и се уверете, че друга опция за формуляр за печат се появява в бутона за печат или елемент в менюто „Създаване въз основа на“ или нов бутон в лентата с инструменти на формуляра. Готов!

На Ваше разположение, Владимир Милкин(учител и разработчик).

Животът продължава, законодателството се променя, програмистът пуска конфигурационни актуализации и ние отново имаме избор: да инсталираме актуализацията сами или отново да се обадим на програмиста, за да „инсталира нова версия“...

Нека се запознаем с механизма за смяна на печатни форми без промяна на конфигурацията.


В практиката на всеки счетоводител, използващ 1C, някога е имало нужда да промени конфигурацията за себе си: някои коригираха точността на цената или сумата във фактурата, някои вмъкнаха лого и коригираха външния вид на фактурата. Всичко би било наред, но с течение на времето се натрупват много такива промени и когато дойде моментът за актуализиране на версията, възниква дилема: или да загубите всички направени промени, или да се обадите на програмист, който да прехвърли всички промени в новата версия (на курс срещу допълнително заплащане). Как да бъдем? За да опростят по някакъв начин актуализирането на конфигурациите, разработчиците създадоха нов механизъм: „Външна обработка, печатни формуляри, обработка за попълване на таблични части“. Днес ще разгледаме само част от този механизъм – печатни форми.


Всеки предмет се учи най-добре чрез пример. Нека си поставим следната задача: да добавим към конфигурацията възможност за печат на фактура (документ “Продажба на стоки и услуги”) с логото на нашата компания. Освен това е необходимо в заглавната част на документа да има надписи "доставчик"И "купувач"са подчертани с удебелен шрифт и накрая е необходимо в долната част на документа да има място за подпис на охранителната служба, разрешила пратката.


Нека въведем две допълнителни условия:

  • Новият печатен формуляр трябва да замени стария формуляр "Фактура"
  • Конфигурацията не може да бъде променена, тъй като искаме да използваме автоматично актуализиране на конфигурацията в бъдеще

Е, каква е задачата? Изглежда твърде сложно? Е, колкото по-сложно е, толкова по-интересно е и толкова повече искате да го решите. След това се захващайте за работа.


Стартираме нашата база данни в режим на конфигуратор. Отворете конфигурацията, като изберете командата в главното меню „Конфигурация > Отваряне на конфигурация“. Няма да променим самата конфигурация при никакви обстоятелства. Ще го използваме като прототип. Ние ще свършим основната работа тук, но ще редактираме външна обработка. Създаваме външна обработка с команда в главното меню „Файл > Нов“. Избор на вида на документа "Външна обработка". За първата обработка нека зададем име „Маркова фактура“


важно! Името на обработката не трябва да съдържа интервали, точно както имената на променливите.


Сега нека направим малко "плагиатство". Нека копираме оформлението "Фактура"от документ "Продажби на стоки и услуги". За да направим това, ще го намерим в клона "документация"конфигурационно дърво. Разширете тази нишка, като щракнете върху иконата «+» и да намерим оформлението, от което се нуждаем "Фактура"(това е в темата "Оформления"). За да копирате този обект, трябва да изберете това оформление в дървото и да изпълните командата „Редактиране > Копиране“(същото действие се случва с комбинацията CTRL+C). Сега нека преминем към обработката, която създадохме, изберете етикет в дървото "Оформления"и в главното меню изберете елемента - „Редактиране > Поставяне“ (CTRL+V). Резултатът трябва да изглежда като фигура 1.


Сега щракнете двукратно, за да отворите оформлението.

Какво е "оформление"

Нека кажем няколко думи за целта на оформлението.

Оформление- съхранение "изграждащи блокове", области, от които като тухли се изгражда табличен документ, който сме свикнали да наричаме печатна форма. Областите се дефинират с помощта на хоризонтални и вертикални участъци или техните пресечни точки. Нашето оформление има само хоризонтални секции: „Заглавка“, „Доставчик“, „Купувач“, „Заглавка на таблица“, „Ред“ (вижте фиг. 2). Една област е набор от клетки. Както в MS Excel, клетките могат да се обединяват, цветовете на текста и фона, шрифтовете и т.н. Всички настройки на клетката могат да се видят и променят в прозореца със свойства на клетката. Можете да извикате прозореца с настройки, като щракнете с десния бутон върху клетката и изберете елемента от контекстното меню "Имоти"(същият резултат се постига с клавишната комбинация Alt+Enter).


Една клетка може да съдържа един от трите типа стойности:

  1. текст– стойност от този тип ще бъде отпечатана в същата форма;
  2. параметър– клетка от този тип съдържа името на променлива, чиято стойност ще бъде отпечатана.
  3. проба– клетките от този тип са комбинация от първата и втората опция. Клетката може да съдържа текст и променливи. За да може една програма да различи текст от променлива, променливите трябва да бъдат оградени в квадратни скоби: „Днес е [Дата]“.

важно!Редакторът на таблици показва стойностите на клетките от втория и третия тип в триъгълни скоби. На фигура 2 има клетка с текст "Купувач"- изглежда като текст и вдясно от клетката "Представяне на купувача"- параметър.

Защо разказвам всичко това? Сега знаете в кои клетки можете лесно да промените съдържанието и в кои е нежелателно да променяте нищо, тъй като ще трябва да направите промени в алгоритъма за печат.

Нека сега се върнем към нашата задача. Ние създадохме обработката, копирахме оформлението и сме готови да го променим, за да ни подхожда. Първо, нека го разгледаме по-отблизо.

Какво е включено в оформлението за печат

Структурата на оформлението на всички документи е много сходна. След като внимателно разгледахме един документ, можем да разберем други. Първи раздел "Заглавие". Когато се покаже този раздел, ще се генерира заглавка на документа, състояща се от типа, датата и номера на документа. Следват секции "Доставчик" и "Купувач", в които програмата ще изведе информация съответно за доставчика и купувача. Следва по-интересен раздел "Допълнителна информация", които разработчиците използват за показване на друга информация в документа, например информация за договора с неговия номер и дата. Особеността на този раздел е, че може да се показва многократно и всеки път може да съдържа различна информация. Какво точно да се отпечата и кога е описано в алгоритъма за печат.

Това завършва заглавката на документа. Заглавката обикновено е последвана от табличен раздел. Интересното е, че оформлението описва две опции за показване на табличната част: „Заглавка на таблица“, "Низ" и "Места на заглавна таблица"И "StringPlace". В зависимост от това дали колоната ви е попълнена или не "Мест"в документа ще се използва първата или втората опция за показване на табличната част на документа. Любопитният читател вероятно вече се е запитал: защо в секцията за извеждане на заглавката "Цена"И "Сума"са поставени в триъгълни скоби, сякаш са променливи? Точно така – това са променливи, в които в зависимост от настройките на документа ще се показва надписът "Цена", "Цена с ДДС"или "Цена без ДДС"и аналогично за сумата.

Е, по-долу в оформлението има секции, с помощта на които се показват резултатите от документа и подписа.

Редактиране на оформлението

Би било хубаво да поставите логото над информацията за доставчика и купувача. Предлагам да редактирате областта на оформлението "Заглавие". Необходимо е да се намали размерът на клетката, съдържаща съдържанието "TitleText". Тази клетка се състои от няколко обединени клетки. Променяме размера, както следва:

  1. Нека внимателно да копираме съдържанието на обединената клетка "TitleText"(за да направите това, трябва да изберете клетката и да използвате командата „Редактиране > Копиране“ или клавишна комбинация CTRL+C)
  2. След като изберете тази клетка, изберете елемента в главното меню "Таблица - Обединяване", което ще доведе до обратния ефект - обединената клетка ще бъде разделена на много оригинални клетки
  3. Сега нека изберем по-малък брой клетки - вместо клетка 2 от колона, ще започнем обединяването от колона 6, завършвайки с колона 32 - и щракнете върху бутона отново "Сливане"
  4. Екип „Редактиране > Поставяне“ (CTRL+V)вмъкнете съдържанието на предишната обединена клетка в новата обединена клетка
  5. Просто изчистваме освободените клетки в колони 2 – 5 (избираме ги и натискаме клавиша Delete)

Сега можете да вмъкнете снимка с лого в свободното пространство. За да направите това, изберете елемента в менюто „Таблица > Картини > Картина...”. Намерете файла с нашето лого на диска и щракнете върху „ Добре" Сега нека преместим изображението в свободното пространство. Резултатът трябва да изглежда като на фигура 3.


Сега нека подчертаем стойностите в клетките с удебелен шрифт "Доставчик"И "Купувач"(фиг. 4). За да направите това, намерете параметъра в свойствата на клетката "Шрифт"и задайте стила на получер.



И накрая, остава да добавите подписа на службата за сигурност. Ще публикуваме тази информация в раздела "Подписи". За да получите място за подписи, трябва да разширите секцията. Изберете ред 37, щракнете с десния бутон върху него и изберете "Разширяване"и така нататък два пъти. В един от добавените редове ще поставим място за подпис на службата за сигурност. В резултат на това всичко трябва да изглежда като на фигура 5.



важно!В типична конфигурация се използват два езика: руски и украински. Оформлението съхранява представянето на текста и на двата езика (дизайнът на клетката е общ). За да въведете украинската версия на надписа, който добавихме, трябва да отидете в свойствата на клетката и в полето "Текст"Натисни бутона "Търсене". Ще се отвори прозорец за въвеждане на текстови представяния на различни езици (фиг. 6).

Как да осигурим печат

И така, оформлението е готово. Сега е моментът да поработим върху алгоритъма за отпечатването му.

За да можем безболезнено да интегрираме това оформление в конфигурацията и да го използваме, обработката, която създадохме, трябва да отговаря на следните условия:

  1. Трябва да създадете подпори в обработката "Връзка към обект"с тип "AnyLink"
  2. Трябва да създадете процедура в модула за обработка „Печат() Експортиране“без параметри и не забравяйте да посочите ключовата дума " Експортиране"

Първата точка е необходима, за да знае алгоритъмът за печат къде да вземе данни за печат, а втората е самият алгоритъм за печат. Нека изпълним тези условия.

В панела на прозореца изберете прозореца за редактиране на нашата обработка (на фигура 7). Ще се отвори прозорец с дърво от обекти за нашата обработка. Избор на клон "Реквизити"и натиснете бутона "Добави",. Ще се отвори прозорецът със свойства на атрибута. Да въведем името - "Връзка към обект"и посочете типа "AnyLink". Сега можем да преминем към текста на печатния модул. Няма да го пишем от нулата; вместо това ще го копираме от документа "Продажби на стоки и услуги".



За да направите това, намерете в конфигурационното дърво сред документите "Продажби на стоки и услуги", щракнете с десния бутон върху него и изберете „Отворен обектен модул“(вижте Фигура 8).



Това ще отвори модула за документи. Имаме нужда от първата функция „Печат на документ“. Текстът му трябва да бъде избран и копиран. Много е удобно да маркирате текста на функция, когато е свита, но трябва да маркирате и реда под нея, в противен случай рискувате да копирате само заглавието.

Вижте на Фигура 9, подчертахме заглавието и реда под него. След това го копирайте в клипборда. Главно меню „Редактиране > Копиране“ (или CTRL+C).



Запомнихме текста в клипборда, сега нека отново да преминем към нашата обработка „Маркова фактура“. Кликнете върху бутона „Действия > Отваряне на обектен модул“(фиг. 10).



Поставете копирания текст: „Редактиране > Поставяне“ (или CTRL+V).

Сега е необходимо леко да редактирате копирания текст, тъй като той е написан за отпечатване на документ от самия документ и ние го събираме от външна обработка. За да направите това ви трябва:

  1. Преименувайте функцията на „Печат“
  2. Сменете "Този обект"На "Връзка към обект"
  3. Сменете "Този обект"На "Връзка към обект"
  4. Сменете „Банкова сметка на организацията“На „Връзка към банкова сметка на Object.Organization“
  5. Сменете „Продукти. Резюме“На "LinkToObject.Products.Total"

За тези действия можете да използвате елемента от главното меню „Редактиране > Замяна“.

След това трябва да проверите синтаксиса. Има магическа комбинация за това: CTRL+F7. В резултат на това трябва да се появи следното съобщение: „Няма открити синтактични грешки!“

Е, с това свършихме цялата черна работа. Сега можем да запазим резултатите от нашата работа във файл, например „Фактура с марка.epf“. За да направите това, трябва да активирате прозореца за тази обработка и да го запазите, като използвате главното меню на програмата „Файл > Запиши като...“. Името на файл за обработка – „Фактура с марка.epf“(ще се предлага по подразбиране). Можете да го запазите временно на вашия работен плот, за да можете да го намерите по-бързо по-късно.

важно!Както видяхте, не направихме никакви промени в нашата конфигурация. За всички действия, описани по-горе, дори не е необходимо да го премахвате от поддръжката (тоест да разрешите възможността за промяна).

Свързване на външна обработка към конфигурацията

Сега можем да свържем обработката с нашата фактура. За да направите това, стартирайте в режим. Отидете в менюто "Обслужване", където има три точки, свързани с механизма “Външна обработка, печат на формуляри, обработка за попълване на таблични части”. В нашия случай се нуждаем само от артикула "Външни печатни форми"(виж Фиг. 11).



Това ще отвори директорията. "Външна обработка", с избор по вид "печатни форми". Той ще съхранява списък на всички външни печатни формуляри, като посочва за кои документи са и в какви случаи трябва да бъдат показани.



важно!Самата обработка ще се съхранява в базата данни заедно с други данни, тоест след като запазим обработката в базата данни, няма да имаме нужда от външен файл.

Трябва да създадем нов елемент в директорията. Кликнете Поставете. Сега нека да разгледаме съдържанието на елемента. В името включваме смислено кратко описание на същността на тази форма, напр. "Фирмена фактура". Като всяка друга директория, тя също има код. Нека го оставим по подразбиране. Атрибутът тип е попълнен по подразбиране и не може да се редактира – "Формуляр за печат". И последният елемент от заглавката е коментар. Тук, както обикновено, има повече подробности за предназначението на печатната форма. В допълнение към заглавката, елементите на тази директория имат две отметки. Вторият съдържа информация за ограничаване на правата за достъп до тази обработка. Тази тема е извън обхвата на тази статия (ще говорим за тази и други настройки на правата за достъп без промяна на конфигурацията в някой от предстоящите броеве).

Нека разгледаме по-отблизо първия раздел.

Разделът съдържа четири колони. Обектно представяне– вида на документа, за който бихме искали да използваме нашата форма за печат,

Избор– условие, при което този печатен формуляр трябва да бъде наличен. Например преработихме печатната форма на фактурата и я преведохме на английски. И ние искаме за клиенти от папката "европейски"вместо стандартен печатен формуляр "Фактура"Беше отпечатан нов формуляр на английски език. За да направите това, можете да използвате колоната "Избор". Пример за такъв избор е показан на фигура 13.



Но в нашата задача не са необходими селекции.

Файл с формуляр за печат– показва файла, от който да се вземе оформлението и процедурата за печат. В тази клетка трябва да изберете файла, който запазихме на работния плот.

Сменяема печатна форма– ако искаме създадената от нас печатна бланка да замени някоя от стандартните за този документ, то трябва да посочим коя да бъде сменена. Ако няма какво да изберете, ще се появи допълнителен печатен формуляр.

В нашия случай трябва „Маркова фактура“е отпечатана вместо обичайната фактура. За да направите това, изберете в това поле "Фактура".

Сега нека запазим този елемент. И отворете всяка фактура.

Трябва да изглежда както е показано на фигура 14.



Е, това приключва задачата, която си поставихме в началото на статията. Вярваме, че успяхме да илюстрираме възможностите, които използването на външния механизъм за обработка отваря за потребителя.

За да консолидирате уменията си, можете да опитате самостоятелно да добавите към конфигурацията допълнителен печатен формуляр „Към склада“ за документа „Получаване на стоки и услуги“, който би повторил обичайната фактура, но без цени и суми, и също така съдържат полета за въвеждане на приетото количество.

Добър ден.

Днес искам да ви кажа как да създавате външни печатни формуляри за конфигурацията „Управление на заплати и персонал 3.0“. Както знаете, ZUP 3.0 използва библиотека от стандартни подсистеми, което означава, че структурата на обработка изглежда напълно различно. Когато за първи път трябваше да направя печатен формуляр за BSP в управлявани формуляри (тогава беше UT 11), първото нещо, което направих, беше да отида на ITS диска, за да намеря там подробна документация за това какви процедури за експортиране, какви параметри трябва да бъдат обработени и как работи всичко. Тук ITS малко ме разочарова, защото... там е казано всичко за това как трябва да изглеждат процедурите в модула за документи, а във външната печатна форма параметрите на процедурата „печат“ са пренаредени, така че трябваше да търся информация в други източници и да се занимавам с подсистемата отвътре .

Е, да започваме. Това, което получаваме в края, може да се използва като шаблон.

Първа стъпка- очевидно. Нека създадем нова обработка. Нека му присвоим произволно име: „Печатна проба“.

Стъпка втора.Нека създадем оформление. Тъй като имаме тестов пример, ще създам най-простото оформление, без нито един параметър.

Стъпка трета- Най-интересното. Отворете обектния модул и започнете да програмирате. Според БСП при регистриране на външна обработка тя (обработката) трябва да посочи какво може да прави, към какви обекти е прикрепена и как се нарича. На въпрос каква обработка може да направи, трябва да върне списък с команди - това е таблица със стойности. В нашия случай обработката може да изведе една отпечатана форма, така че ще има само една команда. За да генерираме таблица със стойности, ще дефинираме няколко процедури, които винаги ще бъдат еднакви във всички външни печатни форми:

//процедура, която подготвя структурата на командната таблица

Функция GetTableCommand()

// Създаване на празна таблица с команди и колони в нея
Команди = Нова таблица със стойности;

// Как ще изглежда описанието на отпечатаната форма за потребителя
Commands.Columns.Add("View", NewTypeDescription("Row"));

// Името на нашето оформление, така че да можем да различим извиканата команда при обработката на печат
Commands.Columns.Add("Identifier", New TypeDescription("String"));

// Това задава как трябва да се извика командата за обработка
// Възможни опции:
// - OpeningForm - в този случай колоната с идентификатор трябва да показва името на формуляра, който системата ще отвори
// - CallClientMethod - извикване на процедурата за експортиране на клиента от модула за обработваща форма
// - Извикване на ServerMethod - извикване на сървърна процедура за експортиране от модула на обработващия обект
Commands.Columns.Add("Usage", New TypeDescription("Row"));

// Следващият параметър указва дали трябва да се показва известие, когато задача за обработка започне и приключи. Няма смисъл при отваряне на формуляра
Commands.Columns.Add("ShowAlert", NewTypeDescription("Boolean"));

// За отпечатана форма, тя трябва да съдържа низа PrintMXL
Commands.Columns.Add("Modifier", New TypeDescription("Row"));

Екип за връщане;

EndFunction

//Създава нов ред в командната таблица

Функция AddCommand(CommandTable, View, Identifier, Usage, ShowAlert = False, Modifier = "")
NewCommand = CommandTable.Add();
Нов отбор. Изглед = Изглед;
Нов отбор. Identifier= Идентификатор;
Нов отбор. Използване = Използване;
Нов отбор. ShowAlert=Покажи предупреждение;
Нов отбор. Modifier= Модификатор;
EndFunction

Функция InformationOnExternalProcessing() Експортиране
Параметри за регистрация = Нова структура;
ArrayDestinations = Нов масив;
Масив от задачи.Добавяне("Документ.Наемане");
Parameters.Insert("View", "PrintForm"); //може би - Попълване на обект, Допълнителен отчет, Създаване на свързани обекти...
Регистрационни параметри.Insert("Дестинация", масив от дестинация);
Parameters.Insert("Име", "Hello World"); // име, под което обработката ще бъде регистрирана в директорията на външната обработка
Параметри за регистрация.Insert("Версия", "1.0");
Parameters.Insert("SafeMode", TRUE);
Registration Parameters.Insert("Information", "SAMPLE");//ето как ще изглежда описанието на формуляра за печат за потребителя
CommandTable = GetCommandTable();
AddCommand(CommandTable, "Hello World", "Layout", "CallServerMethod", True, "MXL Print");
Параметри за регистрация.Insert("Команди", CommandTable);
ReturnRegistrationParameters;
EndFunction

Всъщност ще трябва да се занимавате с него всеки път, когато създавате нова външна форма за печат. От кода става ясно, че ще го свържем с документа „Наемане“, съответно вие пишете свой собствен. Нашият печатен формуляр ще се нарича „Здравей свят“, отново ще го променим на наш собствен. Тук би било удобно да напишете очевиден билборд в шаблона, така че да хваща окото, за да не забравите да го коригирате по-късно; според мен „Здравей свят“ е полезен. Версията е за вас, напишете каквото искате, ще се покаже под формата на елемент в директорията за външна обработка. Думата "ОБРАЗЕЦ" също се вижда само под формата на указател с печатни формуляри. След това добавяме команда, тук вторият параметър е името на бутона, това е, което потребителят ще види в документа в елемента от менюто „печат“.

Този набор от три процедури е достатъчен, за да се добави обработката към директорията на външната обработка; целият този объркващ код е услуга и няма нищо общо с алгоритъма за печат. Всъщност авторите на БСП ни принудиха да програмираме по толкова труден начин, че ако преди това веднага сте започнали да пишете функцията „Печат“, сега, когато пишете обработка от нулата, а не по образец, ще губите време за услугата. Преди това параметрите за регистрация бяха незадължителни и бяха посочени в оформлението на обработката, сега всичко изглежда много по-сериозно. Първото впечатление, когато видях това, беше страхотно, толкова много възможности, всичко е унифицирано... но на практика винаги създавам само една команда в една обработка и я свързвам с един документ. Тези. всъщност имам нужда от два реда за регистрация: име на обект, име на бутон. И тук всичко е така... добре, добре, не е аз да съдя.

Стъпка четвърта- не по-малко интересно.

функция PRINT?

Но не, сега това не е функция, а процедура.

Как мога да върна оформлението?

Изпратете го до функцията на модула на глобалната подсистема за печат.

добре

Ето текста на тази процедура:

Процедура Печат (Масив от обекти, Колекция от PrintForms, PrintObjects, Изходни параметри) Експорт
Ако PrintManagement.NeedPrintLayout(CollectionPrintForms, "Layout") Тогава
Управление на печат. Изход TabularDocumentIntoCollection(CollectionofPrintForms,
"Оформление", "Оформление",
GenerateTabDocumentSample(Масив от обекти, Отпечатани обекти));
endIf;
Край на процедурата

Сега за уточнение. Първият ред на процедурата съдържа малко неясно условие. Факт е, че когато извикаме процедурата за печат, системата ни предава таблица със стойности, която показва какво трябва да отпечатаме. По същество функцията ManagePrint.NeedPrintLayout(...) проверява за наличието в таблицата със стойности на ред, в който в колоната "Име" има ред с името на оформлението. На практика в повечето случаи нещото е безполезно, защото... нашата обработка ще може да генерира само един печатен формуляр. Тези. Това условие може да бъде пропуснато и няма да повлияе на производителността.

След това Управление на печат Изход TabularDocumentIntoCollection(...) - това е, което добавя табличното оформление, където е необходимо, така че след това да може да се покаже на екрана. Ако трябва да покажете своя документ с електронна таблица във вашия собствен прозорец (не в стандартен), тогава не извиквайте тази процедура, а просто напишете своя код тук.

Бих искал също да добавя, че процедурата за печат се извършва на клиента и, ако е необходимо, можете да отворите безплатна форма тук, за да поискате от потребителя допълнителна информация, необходима за печат.

След това GenerateTabDocumentSample(...) е функция, която трябва да напишем в модула за обработка и която връща табличен документ. В 100 от 100 случая ще бъде базиран на сървър, защото... трябва да получим стойността на детайлите от обектите, изброени в параметъра "Object Array".

Стъпка пета- създаване на оформление.

Ура, най-накрая ще се заемем с алгоритъма за оформление, извличане на данни и т.н.

Но в нашата извадка ще действаме прозаично и дори няма да коментирам тук)))

Функция GenerateTabDocumentSample(масив от обекти, печатни обекти)
tabDoc = Нов табличен документ;
оформление = GetLayout("Оформление");

AreaHeader = Layout.GetArea("Header");
tabDoc.Output(areaHeader);

Върнете TabDoc;
EndFunction

Това е всичко, благодаря за вниманието

Външни печатни формуляри за обикновено приложение (за конфигурация Enterprise Accounting 2.0, Управление на заплати и човешки ресурси 2.5, Управление на търговия 10.3 и т.н.) се създават доста просто в сравнение с външните печатни формуляри за управлявано приложение.

Защо да създаваме външни печатни форми?

Предимството на външната печатна форма в сравнение с конвенционалната е, че ви позволява да избегнете промяна на конфигурацията на информационната база. Това означава, че процесът на последващи актуализации на конфигурацията няма да бъде сложен. В допълнение, външните печатни форми, заедно с външната обработка, са единствената възможност за разширяване на функционалността на основните версии на 1C конфигурации, които изобщо не могат да бъдат променяни.

И едно последно нещо: външните печатни формуляри са по-лесни за възпроизвеждане, защото те са отделен файл, който може бързо да се свърже с информационната база.

Как да създадете външна форма за печат

Нека да разгледаме процеса на създаване на външна 1C печатна форма стъпка по стъпка:

  1. Създаваме външна обработка. За да направите това, изберете елемента от менюто в конфигуратора Файл - Нов...И в диалоговия прозорец, който се отваря - Външна обработка.
  2. Създайте външен атрибут за обработка с името Обектна справка. Тип атрибут е връзка към директория или документ, за който се създава външен печатен формуляр. Една и съща форма може да се използва за няколко типа обекти, в този случай типът данни атрибут Обектна справкатрябва да е съставен.
  3. В обектния модул създаваме експортна функция с името Тюлен, който трябва да върне готов отпечатан документ с електронна таблица.

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

Създаване на външна печатна форма по стандартна с малки промени

Нека разгледаме тази процедура, използвайки примера за създаване на външна печатна форма на универсален документ за прехвърляне на документ Продажба на стоки и услуги 1C: Счетоводство. Той ще се различава от стандартния печатен формуляр по наличието на печат на организацията.

  1. Създаване на външна обработка с подпори Референтен обект,тип данни - DocumentLink Продажби на стоки и услуги.
  2. Намираме оформлението на стандартния UPD печатен формуляр (той се намира в общите оформления) и го копираме (плъзгаме) във външния прозорец за обработка. Оформления на други печатни формуляри може да се намират в самите документи или справочници.
  3. Правим необходимите промени в копираното оформление на отпечатаната форма.
  4. Намираме функцията, отговорна за генерирането на отпечатаната форма. Тази функция трябва да върне генерирания документ с електронна таблица. Копирайте съдържанието му във функцията за експортиране Тюлен()в модула на външния обект за обработка.
    В нашия случай това е функцията PrintUniversalTransferDocument() Експортиранеот модул обект на документ Продажба на стоки и услуги.
    Ако промените в оформлението са били значителни (области и/или параметри са променени), тогава трябва да се направят съответните корекции на функцията за печат.
  5. Опитваме се да спестим външна обработка. Вероятно обаче ще получите съобщения за грешка, които показват, че някои от процедурите и функциите, извикани от функцията за печат, липсват. Тези функции и процедури трябва да бъдат намерени в изходния документ и също така да бъдат копирани в модула на външния обект за обработка. Или коригирайте връзката, ако оригиналната функция или процедура се експортира.
  6. (не е задължително).За тестване на външна печатна форма е удобно да направите форма, върху която да поставите реквизита Обектна справка. Бутон Изпълнитрябва да извика процедура Тюлен()от обектния модул. За да направите това, събитието с щракване върху бутон получава процедура: