1c 8.3 öppna bearbetningsformuläret för den hanterade applikationen. Beskrivning av extern bearbetningsdetaljer

1c 8.3 öppna bearbetningsformuläret för den hanterade applikationen.  Beskrivning av extern bearbetningsdetaljer
1c 8.3 öppna bearbetningsformuläret för den hanterade applikationen. Beskrivning av extern bearbetningsdetaljer

Tänk i den här artikeln steg för steg instruktioner för att skapa extern bearbetning i 1C 8.3 i respektive hanterat applikationsläge kommer vi att använda hanterade formulär. Och viktigast av allt, vi kommer att lära oss hur man kopplar den till mekanismen för "extern bearbetning" av 1C-konfigurationer byggda på biblioteket för standardundersystem version 2.0 och nyare.

Uppgiften kommer att vara följande: att skapa den enklaste externa behandlingen som kommer att utföra en gruppåtgärd på referensboken "Nomenklatur", nämligen att ställa in den valda procentsatsen av momssatsen för den angivna gruppen av artiklar.

För att göra detta kommer vi omedelbart att göra de nödvändiga inställningarna i programmet (konfigurationen 1C 8.3 anses vara: "Enterprise Accounting 3.0" på hanterade formulär).

Att markera den här rutan ger oss möjlighet att använda extern bearbetning.

Skapa en ny extern bearbetning i 1C 8.3 genom exempel

Låt oss nu gå till konfiguratorn. Välj "Ny..." från "Arkiv"-menyn. Fönstret för val av vy öppnas. skapad fil. Välj "Extern bearbetning":

Ett nytt externt bearbetningsfönster öppnas. Låt oss ge henne ett namn nu. Det kommer att erbjudas när bearbetningen sparas på disk:

Låt oss lägga till ett nytt hanterat bearbetningsformulär. Vi anger att detta är bearbetningsformuläret och det är det huvudsakliga:

På formuläret kommer vi att ha två rekvisita:

  • Nomenklaturgrupp - länk till referensboken "Nomenklatur";
  • Välj momssats – en länk till listan över momssatsen.

Vi skapar detaljer i kolumnen "Props" i det övre högra fönstret. Dra dem med musen till det övre vänstra fönstret. De nya uppgifterna bör omedelbart visas i formuläret nedan.

Sekvensen av detaljer kan ändras med pilarna "Upp" - "Ner":

Få 267 1C-videolektioner gratis:

Det återstår att lägga till knappen "Installera". I hanterade formulär kan du inte bara lägga till en knapp i ett formulär. Även om du lägger till det i strukturen för formulärelementen kommer det inte att synas på själva formuläret. Knappen måste vara associerad med kommandot som den kommer att utföra. Gå till fliken "Kommandon" och lägg till kommandot "Ställ in momssats". Skapa en åtgärd i kommandoegenskaperna. Välj kommandohanteraren "På klienten". Ett kommando kan också läggas till i formuläret genom att helt enkelt dra och släppa det i avsnittet med formulärelement.

En procedur med samma namn kommer att skapas i formulärmodulen. I den kallar vi proceduren på servern:

&AtClient

Procedur Ställ in momssats (kommando)

SetVATRateOnServer();

Slutprocedur

I proceduren på servern kommer vi att skriva en liten fråga och åtgärder relaterade till att ställa in momssatsen:

&På server

Procedur SetVATRateOnServer()

Request = Ny begäran;
Request.Text =
"VÄLJA
| Nomenklatur.Länk
| FRÅN
| Katalog Nomenklatur AS Nomenklatur
| VAR
| Nomenclature.Reference IN HIERARKIY (&Nomenclature Group)
| OCH INTE nomenklatur. Raderingsmärke
| Och INTE nomenklaturen. Det här är gruppen ”;

Query.SetParameter("Nomenklaturgrupp", Nomenklaturgrupp);
RequestRes = Request.Execute();
SelectDetRecords = ResRequest.Select();

Medan SelectDetRecord.Next() Loop

Försök
SprNo.Object.Write();
Undantag
Report("Fel vid skrivning av objekt """ + SprNoobObject + """!
|» + DescriptionError());
Slut på försök;

EndCycle;

Slutprocedur

Vi återgår till fliken "Formulär", lägger till en knapp i formuläret och associerar den med kommandot:

Som sådan är vår bearbetning redo att användas. För att kalla det, i läget "1C Enterprise" måste du gå till menyn "File" - "Öppna" och välja den skapade filen.

Att arbeta i det här läget är dock bekvämt för felsökningsbearbetning, och det är inte riktigt lämpligt för användaren att arbeta med. Användare är vana vid att ha allt "till hands", det vill säga i själva databasen.

För detta används avsnittet "Ytterligare rapporter och bearbetning".

Men för att lägga till vår bearbetning där måste vi först ge den en beskrivning och berätta för programmet dess egenskaper.

Beskrivning av extern bearbetningsdetaljer

Jag ska ge ett exempel på innehållet i denna funktion. Den måste vara exporterbar och följaktligen placerad i bearbetningsmodulen:

Funktion DetailOnExternalProcessing() Export

DataForReg = New Structure();
DataForReg.Insert("Namn", "Ställa in momssatsen");
DataForReg.Insert("SafeMode", True);
DataForReg.Insert("Version", "ver.: 1.001");
DataForReg.Insert("Information", "Bearbetning för inställning av momssatsen i nomenklaturkatalogen");
DataForReg.Insert("Visa", "Ytterligare bearbetning");

TabZnCommands = Nya tabellvärden;
TabZnCommands.Columns.Add("Identifier");
TabZnCommands.Columns.Add("Användning");
TabZnCommands.Columns.Add("Visa");

NewLine = TabZnCommands.Add();
NewString.Identifier = "OpenProcessing";
NewLine.Usage = "FormOpen";
NewLine.View = "Öppen bearbetning";
DataForReg.Insert("Kommandon", TabZnCommands);

Returnera DataForReg;

EndFunctions

För att bättre förstå vilka fält i registreringsdatastrukturen du behöver använda, låt oss titta på detaljerna i katalogen "Ytterligare rapporter och bearbetning":

Som du kan se är allt ganska enkelt. Endast ett attribut matchar inte: "Startalternativ" - "Använd". Om du tittar på koden för en av gemensamma moduler, då får vi se hur ett gäng av dessa fält uppstår:

För att avgöra vilka fält i strukturen som krävs kan du först inte beskriva det, bara skapa ett tomt och sedan använda felsökaren. Om du spårar modulerna vid registrering av bearbetning blir det direkt tydligt vilka fält som är obligatoriska och vilka som inte är det.

Ansluta extern bearbetning i 1C 8.3

För att arbeta med extern bearbetning (och den externa tryckformen är också en extern bearbetning) finns ett objekt Extern bearbetning.

Låt oss överväga två möjliga fall:

Extern bearbetning lagras på disken separat från infobasen

För programvara upptäckt extern bearbetning i 1C, måste du veta adressen till dess fil. När du känner till det kan du antingen öppna bearbetningsformuläret eller hämta bearbetningsobjektet för ytterligare åtgärder med det (till exempel för att anropa exportfunktioner från objektmodulen).

Öppna ett externt bearbetningsformulär

För att programmatiskt öppna ett externt bearbetningsformulär i 1C, använd funktionen GetForm() objekt Extern bearbetning. Funktionen har flera parametrar. Tänk på en enkel öppning av huvudbearbetningsformuläret:


Shape= ExternalProcesser. GetForm(FileAddress) ;
Form. Öppen() ;

För att öppna ett icke-huvudformulär för extern bearbetning måste du ange dess namn.

//Variabeln AddressFile innehåller fullständig sökväg till extern bearbetningsfil
Shape= ExternalProcesser. GetForm(FileAddress, "MinorForm") ;
Form. Öppen() ;

Öppna extern bearbetning som ett objekt

För att få extern bearbetning som objekt används funktionen Skapa() objekt Extern bearbetning.

//FileAddress-variabeln innehåller den fullständiga sökvägen till den externa bearbetningsfilen
ProcessingObject= ExternalProcessings. Skapa(Filadress) ;

Som standard öppnas all bearbetning in säkert läge. För att inaktivera det, använd följande alternativ:

//FileAddress-variabeln innehåller den fullständiga sökvägen till den externa bearbetningsfilen

Extern bearbetnings- eller utskriftsformulär sparas i infobasen

I många konfigurationer är det möjligt att spara externa tryckformulär och behandlingar direkt till informationsbas. För detta används en guide. Extern bearbetning. Själva den externa behandlingen lagras som binär data eller i ett attribut StorageExternal Processing, eller i tabelldelen Anslutning i rekvisita StorageExternal Processing.

För att öppna extern bearbetning behöver du:

  1. Få det från lagring.
  2. Spara den bearbetade filen på disk.
  3. Öppna ett formulär eller hämta ett bearbetningsobjekt.
  4. Om vi ​​har att göra med externa tryckt formulär, då kan du fylla i standardrekvisitan ReferenceToObject och anropa exportfunktionen Täta.

//ReferenceReference-variabeln innehåller en referens till katalogelementet ExternalProcessing
dvData = RefReference. StorageExternal Processing. Skaffa sig() ;
FileAddress= GetTemporaryFileName() ;
DvData. Write(Filadress) ;
ProcessingObject= ExternalProcessings. Create(FileAddress, False) ;