1s 8.3 otevřete aplikaci spravovanou formulářem zpracování. Externí zpracování je uloženo na disku odděleně od infobáze

V tomto článku zvážíme podrobné pokyny pro vytváření externího zpracování v 1C 8.3 v režimu spravované aplikace; podle toho budeme používat spravované formuláře. A co je nejdůležitější, naučíme se, jak jej připojit k mechanismu „externího zpracování“ konfigurací 1C postavených na knihovně standardních subsystémů verze 2.0 a novější.

Úkol bude následující: vytvořit jednoduché externí zpracování, které provede skupinovou akci na adresáři „Položka“, a to nastavení zvolené procentní sazby DPH pro zadanou skupinu položek.

Za tímto účelem okamžitě provedeme potřebná nastavení v programu (zvažujeme konfiguraci 1C 8.3: „Enterprise Accounting 3.0“ na spravovaných formulářích).

Zaškrtnutím tohoto políčka máme možnost využít externí zpracování.

Vytvoření nového externího zpracování v 1C 8.3 pomocí příkladu

Nyní přejdeme ke konfigurátoru. V nabídce "Soubor" vyberte "Nový...". Otevře se okno pro výběr typu souboru, který se má vytvořit. Vyberte „Externí zpracování“:

Otevře se nové okno externího zpracování. Pojďme jí hned dát jméno. Při ukládání zpracování na disk se nabídne:

Přidejme nový formulář řízeného zpracování. Uvádíme, že se jedná o formu zpracování a je to hlavní:

Ve formuláři budeme mít dva podrobnosti:

  • Skupina nomenklatur – odkaz na adresář „Nomenklatura“;
  • SelectVATRAte – vazba na převod sazby DPH.

Podrobnosti vytváříme ve sloupci „Vlastnosti“ v pravém horním okně. Přetáhněte je myší do levého horního okna. Nové podrobnosti by se měly okamžitě objevit ve formuláři níže.

Pořadí detailů lze změnit pomocí šipek „Nahoru“ – „Dolů“:

Získejte 267 videolekcí na 1C zdarma:

Zbývá pouze přidat tlačítko „Instalovat“. Ve spravovaných formulářích nemůžete do formuláře jen přidat tlačítko. I když jej přidáte do struktury prvků formuláře, nebude na samotném formuláři vidět. Tlačítko musí být spojeno s příkazem, který má provést. Přejděte na kartu „Příkazy“ a přidejte příkaz „Nastavit sazbu DPH“. Ve vlastnostech příkazu vytvořte akci. Vyberte obslužnou rutinu příkazů „Na klientovi“. Příkaz lze do formuláře přidat také pouhým přetažením do sekce s prvky formuláře.

V modulu formuláře se vytvoří stejnojmenná procedura. V něm zavoláme proceduru na serveru:

&OnClient

Postup Nastavit sazbu DPH (příkaz)

SetVATRateOnServer();

Konec procedury

V postupu na serveru napíšeme malý požadavek a úkony související s nastavením sazby DPH:

&Na serveru

Postup SetVATRAteOnServer()

Žádost = Nová žádost;
Žádost.Text =
"VYBRAT
| Nomenklatura.Odkaz
|OD
| Directory.Nomenclature AS Nomenklatura
| KDE
| Nomenclature.Link IN HIERARCHY (&Nomenclature Group)
| A NE Nomenklatura.MarkDeletion
| A NE nomenklatura. Toto je skupina“;

Request.SetParameter("Skupina položek", Skupina položek);
ResRequest = Request.Execute();
SelectRecordDet = ResRequest.Select();

Zatímco SelectRecordDet.Next() Loop

Pokus
SprNomObject.Write();
Výjimka
Report("Chyba při zápisu objektu """ + SprNomObject + """!
|» + PopisError());
EndPokus;

EndCycle;

Konec procedury

Vrátíme se na kartu „Formulář“, přidáme do formuláře tlačítko a přiřadíme jej k příkazu:

Naše zpracování je jako takové připraveno k použití. Chcete-li to zavolat, v režimu „1C Enterprise“ musíte přejít do nabídky „Soubor“ - „Otevřít“ a vybrat vytvořený soubor.

Práce v tomto režimu je však vhodná pro ladění zpracování, ale není zcela vhodná pro uživatele. Uživatelé jsou zvyklí mít vše „na dosah ruky“, tedy v databázi samotné.

K tomu slouží sekce „Další přehledy a zpracování“.

Abychom tam ale mohli přidat naše zpracování, musíme jej nejprve popsat a sdělit programu jeho vlastnosti.

Popis funkce „Informace o externím zpracování“

Uvedu příklad obsahu této funkce. Musí být exportovatelný, a proto musí být umístěn v modulu zpracování:

Funkce InformationOnExternalProcessing() Export

DataForReg = Nová struktura();
DataForReg.Insert("Jméno", "Nastavení sazby DPH");
DataForReg.Insert("SafeMode", True);
DataForReg.Insert("Version", "ver.: 1.001");
DataForReg.Insert("Informace", "Zpracování pro nastavení sazby DPH v adresáři Nomenklatura");
DataForReg.Insert("Zobrazit", "Další zpracování");

CommandTable = NewValueTable;
TabZnCommands.Columns.Add("Identifikátor");
TabZnCommands.Columns.Add("Použití");
TabZnCommands.Columns.Add("Zobrazit");

NewRow = TabZnCommands.Add();
NewString.Identifier = "OpenProcessing";
NewRow.Use = "OtevřítFormulář";
NewRow.View = "Otevřít zpracování";
DataForReg.Insert("Příkazy", TabZnPříkazy);

Return DataForReg;

EndFunction

Abychom lépe pochopili, která pole struktury registračních dat je třeba použít, podívejme se na podrobnosti o adresáři „Další sestavy a zpracování“:

Jak vidíte, vše je docela jednoduché. Pouze jeden atribut neodpovídá: „Možnost spuštění“ – „Použít“. Pokud se podíváme na kód jednoho z běžných modulů, uvidíme, jak vzniká spousta těchto polí:

Chcete-li určit, která pole struktury jsou vyžadována, můžete ji nejprve nepopsat, jednoduše vytvořit prázdnou a poté použít ladicí program. Pokud sledujete moduly při registraci zpracování, je okamžitě jasné, která pole jsou povinná a která ne.

Připojení externího zpracování v 1C 8.3

Pro práci s externím zpracováním (a externí tisková forma je také externí zpracování) existuje objekt Externí zpracování.

Uvažujme dva možné případy:

Externí zpracování je uloženo na disku odděleně od infobáze

Chcete-li programově otevřít externí zpracování v 1C, musíte znát adresu jeho souboru. Pokud to znáte, můžete buď otevřít formulář pro zpracování, nebo získat objekt pro zpracování, abyste s ním provedli další akce (například volání funkcí exportu z modulu objektu).

Otevření formuláře pro externí zpracování

Chcete-li programově otevřít formulář pro externí zpracování v 1C, použijte funkci GetForm() objekt Externí zpracování. Funkce má několik parametrů. Zvažte jednoduché otevření hlavního formuláře zpracování:


Formulář = ExterníProcesy. GetForm(Adresa souboru) ;
Formulář. OTEVŘENO();

Chcete-li otevřít vedlejší formulář pro externí zpracování, musíte zadat jeho název.

//Proměnná FileAddress obsahuje úplnou cestu k souboru externího zpracování
Formulář = ExterníProcesy. GetForm(Adresa souboru, "MinorForm") ;
Formulář. OTEVŘENO();

Otevření externího zpracování jako objektu

Aby bylo možné přijímat externí zpracování jako objekt, používá se funkce Vytvořit() objekt Externí zpracování.

//Proměnná FileAddress obsahuje úplnou cestu k souboru externího zpracování
ProcessingObject = ExternalProcessing. Create(FileAddress) ;

Ve výchozím nastavení jsou všechna zpracování otevřena v nouzovém režimu. Chcete-li jej zakázat, použijte následující možnosti:

//Proměnná FileAddress obsahuje úplnou cestu k souboru externího zpracování

Externí zpracování nebo tiskový formulář uložený v infobázi

V mnoha konfiguracích je možné ukládat externí tištěné formuláře a zpracování přímo v infobázi. K tomu slouží referenční kniha. Externí zpracování. Samotné externí zpracování je uloženo jako binární data nebo v atributech StorageExternalProcessing nebo v tabulkové části Afiliace v rekvizitách StorageExternalProcessing.

K otevření externího zpracování potřebujete:

  1. Získejte to z úložiště.
  2. Uložte zpracovaný soubor na disk.
  3. Otevřete formulář nebo získejte objekt zpracování.
  4. Pokud se jedná o externí tištěný formulář, pak můžeme vyplnit standardní údaje Odkaz na objekt a zavolejte funkci exportu Těsnění.

//Proměnná RefLink obsahuje odkaz na prvek adresáře ExternalProcessings
DvData = RefLink. Externí úložiště pro zpracování. Dostat() ;
FileAddress = GetTemporaryFileName() ;
DvData. Write(Adresa souboru) ;
ProcessingObject = ExternalProcessing. Create(FileAddress, False) ;