1c 8.3 отворете формата за обработка на управляваното приложение. Описание на детайлите за външна обработка

1c 8.3 отворете формата за обработка на управляваното приложение.  Описание на детайлите за външна обработка
1c 8.3 отворете формата за обработка на управляваното приложение. Описание на детайлите за външна обработка

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

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

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

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

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

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

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

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

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

  • Група Номенклатура - връзка към справочника "Номенклатура";
  • Изберете ДДС ставка – връзка към списъка с ДДС ставката.

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

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

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

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

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

&При клиент

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

SetVATRateOnServer();

EndProcedure

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

&На сървъра

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

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

Query.SetParameter("Номенклатурна група", Номенклатурна група);
RequestRes = Request.Execute();
SelectDetRecords = ResRequest.Select();

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

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

EndCycle;

EndProcedure

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

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

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

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

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

Описание на детайлите за външна обработка

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

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

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

TabZnCommands = Нови таблични стойности;
TabZnCommands.Columns.Add("Идентификатор");
TabZnCommands.Columns.Add("Използване");
TabZnCommands.Columns.Add("Изглед");

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

Връщане на DataForReg;

Крайни функции

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

//Променливата ReferenceReference съдържа препратка към елемента на директория ExternalProcessing
dvData = RefReference. StorageExternalProcessing. Get() ;
FileAddress= GetTemporaryFileName() ;
DvData. Write(FileAddress) ;
ProcessingObject= Външни обработки. Create(FileAddress, False) ;