Преминаващи параметри

В някои случаи, преди да отпечатате документ, трябва ръчно да посочите всички стойности или параметри и да ги предадете на процедурата за обработка Print (). За конфигурациите на линията UT 10.3, BP 2.0 има възможност за прехвърляне на параметри, както и възможност за извикване на обработващата форма преди отпечатване с последващо извеждане на резултата от печат в стандартния прозорец без никакви специални трикове. Конфигурациите, базирани на Библиотеката на стандартните процедури (Управление на търговията 11, Търговия на дребно 2, UNF, Счетоводство на предприятия 3 и други), осигуряват начини за извикване на командата за печат под формата на „Отваряне на формуляр“ или „Извикване на клиентски метод“, но в този случай, изходът на генерирания документ за електронна таблица трябва да бъде реализиран независимо.

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

Като пример избрах да отпечатам обикновена товарителница за UT 11.0.9.15 - UT 11.3 с възможност за печат със или без отстъпки.

Нека създадем външна обработка с основната форма „Форма“ и атрибут, например „PrintDiscounts“, чиято стойност трябва да бъде предадена на процедурата Print () на модула за обработка.

преминаващи

В раздела „Параметри“ посочете ключовите параметри „AdditionalProcessingRef“, въведете „ReferenceReference.OptionalReportAndProcessing“, „CommandID“ тип „String“, „FormName“ тип „String“, „ObjectsDesigns“ тип „произволно“ (вижте екранната снимка). Тези параметри се предават на обработка от конфигурацията, а именно от диалоговия прозорец за избор на външни печатни плочи, като ключовите в нашия случай са направени за опростяване на обработката.

параметри

преминаващи

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

Опции отваряне

Присвояваме манипулатор на действие на командата (кодът трябва да бъде поставен в модула на формуляра)

& На клиента
Процедура ExecuteOpenPrintable (команда)

StandardProcessing = True;
// Проверете за издание на BSP за универсалност.
// Общ модул AdditionalReport and Processing ClientRemovable съществува във версия на BSP по-висока от 2.0.1.19
Ако има CommonModule ("AdditionalReportsAndProcessingClientRedefinable") Тогава
Изпълнение ("AdditionalReportsAndProcessingClientRedefinable.Before ExecutingPrintCommandExternalPrintable (ExecutableCommand.AppointmentObjects, StandardProcessing);");
EndIf;

Отказ = Невярно;
// Проверете за издание на BSP за универсалност.
// Ако трябва да отпечатате от непубликувани документи, изтрийте този фрагмент
BSP версия = Вземете BSP версия ();
Ако сравните версии (версия на BSP, "2.2.3")> = 0 Тогава
Изпълнение ("DocumentList = ExecutableCommand.AppointingObjects;
| Not postedDocuments = GeneralPurposeCallServer.CheckDocs публикуван (Списък на документите);
| Ако StandardProcessing And UnprocessedDocuments.Number ()> 0 Тогава отказ = True; EndIf;
| ");
В противен случай
Изпълнение ("Ако StandardProcessing и не печата ControlClient.CheckDocumentsProvided (ExecutableCommand.AssignmentObjects) Тогава неуспех = Вярно; EndIf;");
EndIf;

Ако не отказ тогава

// Определяне и попълване на стандартни параметри за общата форма PrintDocuments
Параметри на отваряне = Нова структура ("Източник на данни, параметри на източника");
Опции за отваряне. DataSource = Изпълнима команда. AdditionalProcessingLink;
Опции за отваряне. SourceParameters = Нова структура ("CommandIdentifier, AssignmentObjects");