1c външна обработка отворете втория формуляр.

За работа с външна обработка (а външната печатна форма също е външна обработка), има обект Външна обработка.

Нека разгледаме два възможни случая:

Външната обработка се съхранява на диск отделно от информационната база

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

Отваряне на външен формуляр за обработка

За да отворите програмно формуляр за външна обработка в 1C, използвайте функцията GetForm()обект Външна обработка.Функцията има няколко параметъра. Помислете за просто отваряне на основния формуляр за обработка:


Форма = Външни процеси. GetForm(FileAddress) ;
форма. Отваряне();

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

//Променливата FileAddress съдържа пълния път до файла за външна обработка
Форма = Външни процеси. GetForm(FileAddress, "MinorForm") ;
форма. Отваряне();

Отваряне на външна обработка като обект

За да се получи външна обработка като обект, се използва функция Създай()обект Външна обработка.

//Променливата FileAddress съдържа пълния път до файла за външна обработка
ProcessingObject = Външна обработка. Създаване (адрес на файл);

По подразбиране цялата обработка се отваря в безопасен режим. За да го деактивирате, използвайте следните опции:

//Променливата FileAddress съдържа пълния път до файла за външна обработка

Форма за външна обработка или печат, записана в информационна база

В много конфигурации е възможно да се записват външни печатни форми и обработка директно в информационната база. За това се използва справочникът. Външна обработка.Самата външна обработка се съхранява като двоични данни или в атрибути StorageExternalProcessing, или в табличния раздел Принадлежноств реквизита StorageExternalProcessing.

За да отворите външна обработка, трябва:

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

//Променливата RefLink съдържа връзка към елемента на директория ExternalProcessings
DvData = RefLink. Външно хранилище за обработка. Get() ;
FileAddress = GetTemporaryFileName() ;
DvData. Write(FileAddress) ;
ProcessingObject = Външна обработка. Create(FileAddress, False) ;

В тази статия ще разгледаме инструкции стъпка по стъпка за създаване на външна обработка в 1C 8.3 в режим на управлявано приложение; съответно ще използваме управлявани формуляри. И най-важното, ще научим как да го свържем с механизма за „външна обработка“ на 1C конфигурации, изградени върху библиотека от стандартни подсистеми версия 2.0 и по-нова.

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

За да направим това, незабавно ще направим необходимите настройки в програмата (разглеждаме конфигурацията 1C 8.3: „Enterprise Accounting 3.0“ на управлявани формуляри).

Поставянето на отметка в това поле ни дава възможност да използваме външна обработка.

Създаване на нова външна обработка в 1C 8.3 с помощта на пример

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

Ще се отвори нов прозорец за външна обработка. Нека веднага да й дадем име. Ще бъде предложено при запазване на обработката на диск:

Нека добавим нова форма за контролирана обработка. Посочваме, че това е форма на обработка и тя е основната:

Във формуляра ще имаме две подробности:

  • Група Номенклатура – ​​връзка към справочник „Номенклатура”;
  • SelectVATRate – връзка към прехвърляне на ДДС ставката.

Създаваме подробностите в колоната „Свойства“ в горния десен прозорец. Плъзнете ги с мишката в горния ляв прозорец. Новите подробности трябва незабавно да се появят във формуляра по-долу.

Редът на детайлите може да се промени с помощта на стрелките "Нагоре" - "Надолу":

Вземете безплатно 267 видео урока за 1C:

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

В модула формуляр ще бъде създадена процедура със същото име. В него ще извикаме процедурата на сървъра:

&На клиент

Процедура Задаване на ДДС ставка (команда)

SetVATRateOnServer();

Край на процедурата

В процедурата на сървъра ще напишем малка заявка и действия, свързани с настройка на ставката на ДДС:

&На сървъра

Процедура SetVATRateOnServer()

Заявка = Нова заявка;
Заявка.Текст =
"ИЗБИРАМ
| Номенклатура.Връзка
| ОТ
| Справочник.Номенклатура AS Номенклатура
|КЪДЕ
| Номенклатура.Връзка В ЙЕРАРХИЯ (&Група номенклатура)
| А НЕ Номенклатура. Изтриване на маркировка
| А НЕ номенклатура Това е група”;

Request.SetParameter("Група артикули", Група артикули);
ResRequest = Request.Execute();
SelectRecordDet = ResRequest.Select();

Докато SelectRecordDet.Next() цикъл

опит
SprNomObject.Write();
Изключение
Доклад("Грешка при писане на обект """ + SprNomObject + """!
|» + DescriptionError());
EndAttempt;

EndCycle;

Край на процедурата

Връщаме се в раздела „Формуляр“, добавяме бутон към формуляра и го свързваме с командата:

Като такава, нашата обработка е готова за употреба. За да го извикате, в режим „1C Enterprise“, трябва да отидете в менюто „Файл“ - „Отвори“ и да изберете създадения файл.

Работата в този режим обаче е удобна за обработка на отстраняване на грешки, но не е напълно подходяща за потребителя. Потребителите са свикнали да имат всичко „на една ръка разстояние“, тоест в самата база данни.

За това е предназначен разделът „Допълнителни справки и обработка“.

Но за да добавим нашата обработка там, първо трябва да й дадем описание и да кажем на програмата нейните свойства.

Описание на функцията „Информация за външна обработка“

Ще дам пример за съдържанието на тази функция. Той трябва да може да се експортира и съответно да се намира в модула за обработка:

Функция InformationOnExternalProcessing() Експортиране

DataForReg = Нова структура();
DataForReg.Insert("Име", "Настройка на ставката на ДДС");
DataForReg.Insert("SafeMode", True);
DataForReg.Insert("Версия", "версия: 1.001");
DataForReg.Insert("Информация", "Обработка за задаване на ДДС ставка в справочник Номенклатура");
DataForReg.Insert("Изглед", "Допълнителна обработка");

CommandTable = NewValueTable;
TabZnCommands.Columns.Add("Идентификатор");
TabZnCommands.Columns.Add("Използване");
TabZnCommands.Columns.Add("Изглед");

NewRow = TabZnCommands.Add();
NewString.Identifier = "OpenProcessing";
NewRow.Use = "OpenForm";
NewRow.View = "Отворена обработка";
DataForReg.Insert("Команди", TabZnCommands);

Връщане на DataForReg;

EndFunction

За да разберете по-добре кои полета от структурата на регистрационните данни трябва да се използват, нека разгледаме подробностите на директорията „Допълнителни отчети и обработка“:

Както можете да видите, всичко е съвсем просто. Само един атрибут не съвпада: „Опция за стартиране“ – „Използване“. Ако погледнем кода на един от общите модули, ще видим как възникват куп от тези полета:

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

Свързване на външна обработка в 1C 8.3

Свързани публикации