1c външна обработка отворете втория формуляр.
За работа с външна обработка (а външната печатна форма също е външна обработка), има обект Външна обработка.
Нека разгледаме два възможни случая:
Външната обработка се съхранява на диск отделно от информационната база
За да отворите програмно външна обработка в 1C, трябва да знаете адреса на неговия файл. Като го знаете, можете или да отворите формуляр за обработка, или да получите обект за обработка, за да извършите по-нататъшни действия с него (например да извикате функции за експортиране от обектен модул).
Отваряне на външен формуляр за обработка
За да отворите програмно формуляр за външна обработка в 1C, използвайте функцията GetForm()обект Външна обработка.Функцията има няколко параметъра. Помислете за просто отваряне на основния формуляр за обработка:
Форма = Външни процеси. GetForm(FileAddress) ;
форма. Отваряне();
За да отворите формуляр за малка външна обработка, трябва да посочите името му.
//Променливата FileAddress съдържа пълния път до файла за външна обработка
Форма = Външни процеси. GetForm(FileAddress, "MinorForm")
;
форма. Отваряне();
Отваряне на външна обработка като обект
За да се получи външна обработка като обект, се използва функция Създай()обект Външна обработка.
//Променливата FileAddress съдържа пълния път до файла за външна обработка
ProcessingObject = Външна обработка. Създаване (адрес на файл);
По подразбиране цялата обработка се отваря в безопасен режим. За да го деактивирате, използвайте следните опции:
//Променливата FileAddress съдържа пълния път до файла за външна обработка
Форма за външна обработка или печат, записана в информационна база
В много конфигурации е възможно да се записват външни печатни форми и обработка директно в информационната база. За това се използва справочникът. Външна обработка.Самата външна обработка се съхранява като двоични данни или в атрибути StorageExternalProcessing, или в табличния раздел Принадлежноств реквизита StorageExternalProcessing.
За да отворите външна обработка, трябва:
- Вземете го от хранилището.
- Запазете обработения файл на диск.
- Отворете формуляр или вземете обект за обработка.
- Ако имаме работа с външен печатен формуляр, тогава можем да попълним стандартните данни Обектна справкаи извикайте функцията за експортиране Тюлен.
//Променливата 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
За да разберете по-добре кои полета от структурата на регистрационните данни трябва да се използват, нека разгледаме подробностите на директорията „Допълнителни отчети и обработка“:
Както можете да видите, всичко е съвсем просто. Само един атрибут не съвпада: „Опция за стартиране“ – „Използване“. Ако погледнем кода на един от общите модули, ще видим как възникват куп от тези полета:
За да определите кои полета от дадена структура са задължителни, можете първо да не я описвате, просто да създадете празна и след това да използвате програмата за отстраняване на грешки. Ако проследявате модули при регистрация на обработка, веднага става ясно кои полета са задължителни и кои не.