Sarcina de reglementare universală. Sarcina de rutină universală 1c lansarea procesării externe conform programului

Adesea, atunci când lucrați cu 1C, este necesar să efectuați unele operații similare care se repetă sistematic în timp și pur și simplu distrag atenția de la munca principală. Acestea pot fi diverse descărcări și descărcari, generarea unor date pentru analiză externă etc. Există o modalitate destul de simplă de a automatiza aceste operațiuni și de a uita efectiv de ele, primind periodic fișiere jurnal prin e-mail pentru control.

Este grozav dacă aveți deja aceste operațiuni scrise de procesoare externe, nicio problemă; dacă nu este cazul, creați și mutați totul acolo. În continuare, pentru a-i verifica funcționalitatea, recomand să testați toate acestea în modul manual și apoi, dacă totul funcționează așa cum trebuie, să rescrieți codul principal de procesare, astfel încât la încărcare prelucrare externă a pornit automat, fără a apăsa butonul de executare și altele asemenea. Cel mai simplu lucru este să mutați codul într-o procedură OnOpen().

Următorul pas este să închidem automat programul după executarea procesării externe pe care am creat-o și deja funcționează pentru noi. Pentru a face acest lucru, în procedură OnOpen() La final introducem următoarea comandă: ShutdownSystem (Fals);în acest caz parametrul Întrebați oportunitatea trecem valoarea „False” pentru a tăia diverse opțiuni întrebări suplimentare sistemul la închidere, inițiind astfel o oprire necondiționată a 1C după efectuarea acestei procesări externe. Pentru a fi siguri, rulăm din nou programul și efectuăm procesarea și ne asigurăm că a funcționat și programul s-a închis singur.

„C:\Program Files (x86)\1cv8\8.3.5.xxxx\bin\1cv8.exe” ENTERPRISE /DisableStartupMessages /FC:\cale la baza de date /N”UserName” /P”User Password” /Execută de la:\ cale spre procesare\autoprocesare.epf

Să descifrăm:

1. „C:\Program Files (x86)\1cv8\8.3.5.xxxx\bin\1cv8.exe” ENTERPRISE - motorul 1C în sine este în acest caz 8.3, verificați singur calea, diferă în funcție de versiune și inclusiv motorul, nu uitați să îl editați după actualizarea ultimului.

2. /DisableStartupMessages - dezactivați toate mesajele când sistemul pornește.

4. /N"UserName" /P"UserPassword" - respectiv /N username, tot imediat fără spațiu și /P parola.

5. /Execute from:\path to processing\self-processing.epf - /Execute începe procesarea noastră, calea și numele ar trebui să urmeze această cheie.

Acum asta e tot, tot ce rămâne este să adăugăm al nostru fișier cmd: avtozapusk1c.cmd, indicând programul lansării acestuia.

Pentru a monitoriza activitatea prelucrării externe, vă recomand să creați un utilizator separat pentru acesta; de asemenea, este optim ca procesarea în sine să creeze un fișier jurnal, care este, de asemenea, trimis periodic la e-mailul dvs.

Aceste instrumente simple ajută la automatizarea operațiunilor de rutină de zi cu zi, mult noroc!

Procesarea externă este un instrument foarte convenabil pentru companiile care utilizează configurații standard pe 1C:Enterprise 8.3. Acestea vă permit să nu pierdeți efort și bani pe actualizări 1C, făcând posibilă actualizarea bazelor de date cu un singur buton în modul utilizator simplu. Folosind mecanismul bibliotecii subsisteme standard, puteți adăuga diverse butoane la documente și cărți de referință fără a modifica configurația standard. Să luăm în considerare un exemplu de creare și conectare a procesării externe într-una dintre configurațiile 1C.

Creăm procesare externă în 1C 8.3

Pentru a crea o nouă prelucrare externă, folosim configuratorul. Prin meniul „Fișier”, selectați comanda de creare „Nou...” și stabiliți că vom crea procesare externă. În fereastra care se deschide, setați numele și când apăsați „Enter”, acesta este completat automat. Sistemul vă va oferi și acest nume ca nume de fișier atunci când salvați.

Să adăugăm un formular de procesare făcând clic pe butonul cu lupă din fereastra corespunzătoare. De exemplu, să creăm o procesare care să arate ce comenzi clienților folosesc un anumit articol. Pentru a face acest lucru, trebuie să plasăm pe formular:

  • Atribute – câmp pentru stabilirea nomenclaturii;
  • Un buton care va apela codul.

Adăugați atributul „Nomenclatură” cu tipul de date „DirectoryLink.Nomenclature” în secțiunea corespunzătoare și butonul „Afișare” în meniul „Comenzi” -> „Comenzi formular”.

Pentru ca datele adăugate să se reflecte pe formular, trebuie să le trageți în elementele formularului situate în partea din stânga sus. Este posibil să schimbați elemente folosind săgețile albastre. Pentru ca butonul creat de noi să facă ceea ce a intenționat, trebuie să i se atribuie o procedură. Prin meniul contextual, selectați „Acțiune de comandă”, iar la întrebarea unde este nevoie de handler, vom răspunde: „Creați pe client și o procedură pe server”.


Fragmentul 1

&OnClient Procedure Show(Command) ShowOnServer(); Sfârșitul procedurii &OnServer Procedura ShowOnServer() //Inserați conținutul handler-ului. Sfârșitul procedurii

Am ales să creăm o procedură pe server pentru că dorim să primim un eșantion din baza de date ca rezultat. Nu avem această opțiune pe client, așa că va trebui să ne conectăm la server, care face schimb de date cu baza de date. Acum trebuie să scriem cod care să implementeze ceea ce am planificat. Se va utiliza cererea și ieșirea tuturor documentelor prin intermediul funcției „Raport()”.


Fragmentul 2

&OnClient Procedure Show(Command) ShowOnServer(Nomenclatura); EndProcedure &OnServer Procedure ShowOnServer(Nomenclatura) Solicitare = Solicitare nouă; Query.Text = "SELECTARE VARIOUS | Client OrderComposition.Link AS Link | FROM | Document.Customer Order.Composition AS Customer OrderComposition | WHERE | Customer OrderComposition.Nomenclature = &Nomenclatură"; Request.SetParameter("Nomenclatură", Nomenclatură); RequestResult = Request.Execute(); SelectionDetailRecords = QueryResult.Select(); While SelectionDetailedRecords.Next() Loop Report(SelectionDetailedRecords.Link); EndCycle; Sfârșitul procedurii

În stadiul actual, putem deschide procesarea externă într-o bază de date 1C care rulează ca fișier obișnuit și va fi deja operațional. Dar dacă avem mulți utilizatori, va trebui să trimitem acest fișier tuturor, oferindu-le instrucțiuni despre cum să-l deschidem efectiv în 1C, ceea ce este extrem de incomod. Pentru a evita acest lucru, procesarea noastră ar trebui să fie localizată în interiorul uneia dintre secțiunile 1C. Pentru a face acest lucru, trebuie să-l mai modificăm puțin prin configurator, specificând anumite setări.

Pentru a plasa procesarea externă în secțiunea 1C, este necesară înregistrarea procedurii „Informații DESPRE Prelucrarea externă” în modulul obiect. Din meniul principal de procesare, faceți clic pe Acțiuni și selectați Modul obiect. Aici trebuie să înregistrați toate setările necesare pentru 1C, astfel încât sistemul să înțeleagă ce i se cere și ce fel de fișier se află în fața lui. Captura de ecran arată codul pentru funcția „Informații despre procesarea externă”.

Funcția InformationForExternalProcessing() ExportDataForReg = Noua Structura(); DataForReg.Insert("Nume","Procesare externă nouă"); DataForReg.Insert(„SafeMode”, True); DataForReg.Insert(„Versiune”, „ver.: 1.001”); DataForReg.Insert(„Vizualizare”, „Procesare suplimentară”); CommandTable = NewValueTable; TabZnCommands.Columns.Add("Identificator"); TabZnCommands.Columns.Add(„Utilizare”); TabZnCommands.Columns.Add(„Vizualizare”); NewRow = TabZnCommands.Add(); NewString.Identifier = "NewExternalProcessing"; NewRow.Use = "OpenForm"; NewRow.View = "Procesare externă nouă"; DataForReg.Insert("Comenzi", TabZnCommands); Returnează DataForReg; EndFunction

Fragmentul 3

Conectarea procesării externe în 1C

Înainte de a conecta procesarea externă la o configurație standard, trebuie să activați utilizarea acestui instrument. În „Administrare”, în sub-articolul „Formulare tipărite, rapoarte și procesare”, setați steagul vizavi de mecanismul de care avem nevoie. Un buton pentru accesarea directorului de procesări suplimentare și rapoarte devine disponibil pentru noi.


Când mergem la listă, vom crea o nouă linie în ea, iar sistemul vă va solicita să selectați un fișier. Selectăm procesarea făcută și salvată, iar configurația 1C completează în mod independent majoritatea câmpurilor. Folosind butonul „Run”, putem deja să verificăm funcționalitatea procesării noastre, dar acest lucru nu este foarte convenabil pentru alți utilizatori. Pentru ca utilizatorii să aibă comanda noastră și să poată efectua un apel, trebuie să:

  • Specificați locația obiectului. Făcând clic pe „Nedefinit” deschidem fereastra secțiunilor și indicăm în ce secțiuni va fi disponibilă operația;
  • Selectați utilizatorii care au această comandă va apărea în meniul „Procesare suplimentară” al secțiunilor selectate fără setări inutile. Pentru a face acest lucru, în secțiunea tabelară trebuie să selectați elementul „Acces rapid” și să adăugați utilizatori responsabili în jumătatea dreaptă;
  • Pe " Informații suplimentare» puteți specifica folderul în care va fi localizată procesarea descărcată;
  • După apăsarea butonului „Scrie” din secțiunea selectată din meniul „Procesare suplimentară”, utilizatorii vor găsi comanda noastră și o vor putea folosi.

Dacă vrem să facem modificări procesării noastre, trebuie mai întâi să o descarcăm din baza de date. Pentru a face acest lucru, găsiți linia necesară în directorul „Procesare suplimentară și rapoarte” și utilizați comanda „Încărcați în fișier...”. Faceți modificări, salvați procesarea și utilizați butonul „Încărcare din fișier...” pentru a găsi fișierul epf modificat fără a modifica parametrii. După înregistrare, toți utilizatorii vor vedea modificările făcute.

Dacă utilizați o bază de date 1C non-standard sau întreruptă, atunci profitați de oportunitatea de a descărca procesarea prin configurator. În arborele de obiecte, în secțiunea „Procesări”, creați o nouă prelucrare și, prin meniul contextual, selectați „Înlocuire cu procesare externă, raportați...”. Tot ce rămâne este să configurați lansarea procesării externe de la secțiunea dorită, permițând procesarea adăugată în subsistemul dorit.


Lucrul cu procesarea externă este foarte convenabil și vă permite să evitați multe conflicte. Singurul lor dezavantaj semnificativ este că nu sunt actualizate automat odată cu configurația. Adică, dacă dezvoltatorii au schimbat numele documentului sau cărții de referință în configurația principală, va trebui să configuram manual procesarea.

Întrebare: Problemă cu accesul la procesarea suplimentară în Zup3


a creat procesări suplimentare și a plasat-o în secțiunea de salarii. Un utilizator cu drepturi de ofițer superior de personal nu poate lansa contabilul, acesta spune „drepturi de acces insuficiente”. Cum se stabilesc permisiunile pentru a rula procesări suplimentare?

Salariul și managementul personalului, ediția 3.0 (3.0.24.115) ()
Copyright © LLC "1C", 2007-2014. Toate drepturile rezervate
()

Răspuns:

Întrebare: Se execută procesare suplimentară într-un program


Bună ziua tuturor. Doar învăț să programez, așa că nu mă certa prea mult pentru că pun întrebări greșite. 1C Retail 2.2.5.27 A creat o procesare externă care, atunci când faceți clic pe un buton, încarcă datele dintr-un fișier în registrul de informații. Totul funcționează bine manual, dar acum sarcina este să vă asigurați că această procesare începe într-un program și fără a deschide formularul. Adică în fundal a munci.
Prelucrarea este conectată în formularul „Rapoarte și procesări suplimentare”.

Cod în modulul formular

Funcție InformationOnExternalProcessing() ExportRegistrationParameters = Structură nouă; Parametri de înregistrare.Insert("Vizualizare", "Procesare suplimentară"); Parametri de înregistrare.Insert("Nume", "Solduri de încărcare (PCService(C))"); Parametri de înregistrare.Insert("Versiune", "1.0"); Parametri de înregistrare.Insert("SafeMode", False); Parametri de înregistrare.Insert("Informații", "Încărcare rămasă"); Parametri de înregistrare.Insert("BSPVersion", "2.3.2.33"); CommandTable = GetCommandTable(); AddCommand(CommandTable, „Solduri de încărcare (PCService(C))”, „1”, „OpenForm”, True,””); AddCommand(CommandTable, „Balante de încărcare (PCService(C))”, „2”, „CallServerMethod”, True,””); TeamId = "2"; Parametri de înregistrare.Insert("Comenzi", CommandTable); ReturnRegistrationParameters; Funcția EndFunction GetTableCommands() Comenzi = NewValueTable; Commands.Columns.Add(„Vizualizare”, NewTypeDescription(„Rând”); Commands.Columns.Add(„Identifier”, New TypeDescription(„String”)); Commands.Columns.Add(„Utilizare”, New TypeDescription(„Rând”); Commands.Columns.Add("ShowAlert", NewTypeDescription("Boolean")); Commands.Columns.Add(„Modificator”, New TypeDescription(„Rând”); Echipa de întoarcere; Procedura EndFunction AddCommand(CommandTable, View, Identifier, Usage, ShowAlert = False, Modifier = "") NewCommand = CommandTable.Add(); NewCommand.View = Vizualizare; NewCommand.Identifier = Identificator; NewCommand.Use = Utilizare; NewCommand.ShowAlert = ShowAlert; NewCommand.Modifier = Modificator; Sfârșitul procedurii &Pe server Procedura Executați comanda (ID comandă, obiecte de atribuire) Exportați Sfârșitul procedurii

Când faceți clic pe butonul de execuție cu opțiunea de lansare „Deschidere formular”, formularul se deschide și programul este imediat executat (se execută imediat deoarece pe formularul din evenimentele „When CreatedOnServer” este indicat că codul principal al programul va fi executat)
Când faceți clic pe butonul Execute cu opțiunea de lansare „Call ServerMethod” nu produce nicio eroare, dar nici un rezultat.
Ce fac greșit??

Răspuns:

Am fumat totul. Aici a trebuit să copiez codul pe care am vrut să-l execut fără a deschide formularul

Întrebare: Retail 2.2 lansarea procesării suplimentare conform programului


Salutari. Retail 2.2, procesarea suplimentară este activată și execuția programată este setată. Urmăresc execuția prin - Suport și Întreținere - sarcini de rutină, sarcina mea fie rulează, fie se oprește conform programului, de ceva timp funcționează exact conform programului și se oprește de la sine. Nu este o chestiune de procesare în sine, deoarece nu dă o eroare, dar sarcina pur și simplu nu începe. Apoi începe să funcționeze normal de la sine. Ce poate influența începutul unei sarcini de rutină?
Am încercat să stabilesc programe diferite, dar nu a funcționat.

Răspuns:

Problema a fost rezolvată prin reinstalarea platformei pe toate computerele

Întrebare: procesare suplimentară


Ziua bună tuturor.
Gestionarea companiei noastre, versiunea 1.6 (1.6.12.4)

Spuneți-mi, este posibil să adăugați procesare suplimentară la subsistem fără să atingeți configuratorul?
Acestea. Am nevoie ca procesarea să fie apelată nu prin Procesare suplimentară, ci ca un raport extern, imediat în lista de subsistem.

Răspuns:

Creați un raport în extensie, adăugați subsistemul dorit (existent) la extensie, faceți o legătură către raportul creat în subsistemul „extins”.

Întrebare: Utilizarea Serviciilor Web în procesarea suplimentară folosind BSP


Bună ziua
În stare proaspătă, este necesar să construiți o procesare suplimentară care va accesa Serviciul Web al altei baze de date. Prelucrare desigur în modul sigur, cu toate acestea, „este permisă utilizarea extensiei în mod sigur a bibliotecii de subsisteme standard (capacitatea de a lucra cu fișiere, resurse de Internet etc.) printr-o interfață software specializată cu înregistrarea permisiunilor necesare pentru raportarea/procesarea suplimentară”. Totuși, nu îl găsesc în Versiune curentă BSP cum să configurați acest lucru. ajutor, vă rog Versiune nouă a bazei de date: Enterprise Accounting, ediția 3 .0 (3 .0 .59 .45) BSP 2 .4 .5 .31

Răspuns: oO

Întrebare: ZUP se blochează la începerea unei anumite procesări, ce ar trebui să fac?


Există o completare care actualizează actele de decontare introduse pe bază de concediere. Când această procesare este pornită, programul se închide prostește fără niciun mesaj. Nu pot vedea nimic în depanator. La data testului pentru care a fost realizat 1 document, acesta trece. Ce altceva ar trebui să fac? Am testat și se pare că nu există erori.

Răspuns: grozav, dar de ce a fost nevoie de ciclu? Dacă aveți intrări, atunci scrieți, nu știu, într-un jurnal sau altceva, nu, atunci modificați sau nu faceți nimic

Întrebare: Sarcină programată de procesare suplimentară


Configurare Alfa-Auto: Showroom auto + Service auto + Piese auto CORP. Ediția 6.
Creat Procesare externă. L-am conectat ca procesare suplimentară.
Configurați execuția programată. Dar nu începe cu eroarea:
Sarcina de rutină „Lansarea procesării suplimentare” nu poate fi executată din cauza lipsei setărilor din procedura RoutineTasksOverridden.WhenDefiningRegularTaskSettings(). Contactați administratorul de sistem!
Cine poate să-mi spună ce este în neregulă cu procesarea sau Configurarea bazei.

Răspuns:() Deci vă uitați la ce există în RoutineTasksOverridden.WhenDefiningSettingsofRoutineTasks()
În BSP această procedură este de obicei goală. În Alpha, ceva poate să fi fost îmbunătățit.

Întrebare: Pornire automată prelucrare externă


Ziua bună tuturor. Vă rugăm să ajutați, dragi dezvoltatori 1C, să rezolvați această problemă.
Există procesare externă, are două butoane, „Run” și „Submit”. Când faceți clic pe butonul „Run”, partea tabulară este completată.
Când faceți clic pe butonul „Trimite”, acesta este trimis e-mail cu date din secțiunea tabelară și un fișier atașat.

Întrebare: este posibil să se facă așa această prelucrare a fost executat automat în fiecare zi. ACESTEA. de exemplu: la 08:00 dimineața fiecărei zile, a fost declanșată procedura butonului „Run” și „Submit”? Baza serverului. Voi fi bucuros de orice ajutor și orice opțiune.

Răspuns:() Și cu această opțiune de lansare, se va închide procesul 1C după procesare? sau trebuie să fie oprit de la procesare prin ShutdownSystem(False)?

Bună dimineața, spuneți-mi un script care să ruleze conform programului de procesare, sau mai degrabă problema este că aveți nevoie de un script (fișier batch) care ar începe 1s 77, dar după verificare, dacă lansarea normală eșuează, atunci va fi exclusiv cu reindexare. Și de preferință cu deschiderea prelucrării externe. Este necesar pentru încărcările automate, dar orele de trimitere sunt setate diferit peste tot. și mai ales noaptea.

Răspuns: orice programator nncron xstarter

Astăzi dorim să vă spunem despre utilizarea rapoartelor și procesării suplimentare, și în special a extensiilor de configurare în modelul de serviciu. Tehnologiile nu stau pe loc; deservirea bazelor de date 1C în cloud devine un serviciu din ce în ce mai atractiv. Ce trebuie să știți pentru ca funcționalitatea necesară companiei dvs. să fie implementată într-o bază de date închiriată și cum arată acest proces din partea furnizorului de servicii - puteți afla despre acest lucru sub tăietură.

Ce sunt rapoartele externe și procesarea

Tratamentele 1C sunt diferite, dar în orice caz extind funcționalitatea configurației și vă permit să primiți acces rapid la informațiile stocate în baza de date, fără a modifica configurația și fără a elimina suportul. Ele pot fi încorporate direct în configurație, adăugate ca extensie de configurare sau pot fi fișiere externe.

Pe baza funcționalității, procesarea este împărțită în cele care pot modifica datele și cele care pur și simplu analizează informații și afișează rezultatul într-o formă ușor de utilizat (rapoarte). Pentru a nu modifica aspectul standard de tipărire a documentelor, sunt dezvoltate formulare de tipărire externe. De asemenea, procesarea externă poate fi efectuată conform unui program dat pe serverul de aplicații 1C - acestea sunt sarcini de rutină.

Câteva zeci de soluții de procesare au fost dezvoltate în Button, care le permit contabililor noștri să folosească „magie practică”. De exemplu, pentru a analiza corectitudinea contabilității în Buton, se folosește raportul extern „Audit automat al bazei de date”. Tabelele ușor de citit oferă o analiză a 120 de criterii pentru soldurile conturilor și cifra de afaceri, conformitatea datelor din declarațiile fiscale și informațiile contabile, analiza mijloacelor fixe etc.

Un exemplu de formular tipărit extern „contract de împrumut” conform formularului elaborat de avocații noștri. Sunt cazuri când un antreprenor contractează un împrumut fără dobândă de la compania sa ca individual, sau invers, își transferă fondurile proprii către companie, apoi este posibil să imprimați imediat acordul.

Se deschide un formular pentru a completa detaliile necesare:

Și se afișează forma tipărită a contractului:

Folosim procesarea programată (sarcini de rutină), de exemplu, pentru a corecta declarațiile. Butoanele au configurat integrări cu băncile majore și roboții speciali încarcă extrasele direct în 1C. Datorită tehnologiei de învățare automată, procentul de erori în timpul descărcării a fost redus la 3%. Dar, ca întotdeauna, există excepții, de exemplu, clienții care folosesc o schemă de agenție pentru vânzarea mărfurilor; în acest caz, regulile pentru efectuarea unui extras bancar sunt individuale. Pentru a nu reprograma robotul pentru un anumit caz, înainte de apariția extensiilor de configurare, am folosit sarcină de rutină pentru a corecta afirmația robotului la fiecare 10 minute.

Ce sunt extensiile de configurare

O extensie este o mini-configurație care moștenește obiecte din configurația principală a bazei de date și conține cod cu adăugiri sau corecții la obiecte și module. În acest caz, configurația principală rămâne acceptată; nu este nevoie să activați editarea, ceea ce simplifică foarte mult procesul de actualizare.

Mecanismul presupune trei tipuri de utilizare, care, de fapt, sunt indicate în câmpul „Scop” atunci când se creează o extensie:

Componenta centrală a tehnologiei este Manager de servicii, stochează toate informațiile despre abonați, utilizatori, aplicații, baze de informații și conexiunile dintre aceștia, iar cu ajutorul său sunt gestionate procesările externe și extensiile de configurare.

Toate fișierele cu procesare sunt încărcate într-un director special al managerului de servicii. Dar înainte de a încărca un fișier în director, cu alte cuvinte, „publicați-l în serviciu”, acesta trebuie pregătit într-un mod special.

Intocmirea rapoartelor externe si prelucrarea pentru publicare in modelul de serviciu

Un raport sau o procesare suplimentară este creat în configuratorul 1C: Enterprise 8 ca rapoarte și procesare externe standard și salvat într-un fișier cu extensia - .epf (pentru procesare suplimentară) sau .erf (pentru rapoarte suplimentare).

Modulul obiect trebuie să aibă proceduri și funcții pentru definirea parametrilor de înregistrare.

Rețineți că parametru important este „Versiune”. Dacă ați făcut modificări la o procesare care a fost încărcată anterior în directorul managerului de servicii, asigurați-vă că ați schimbat numărul versiunii, altfel managerul de servicii va refuza încărcarea fișierului. Atunci când elaborați un raport sau o procesare, trebuie să țineți cont de faptul că utilizatorii lucrează într-un model de serviciu prin intermediul unui client web (articol bun de pe blogul 1C). Dacă procesarea conține formulare, atunci acestea trebuie să funcționeze în clientul web sub toate browserele web care sunt acceptate de platforma tehnologică 1C: Enterprise 8.

Conform standardelor serviciului 1cfresh.com, un raport sau o procesare suplimentară trebuie să fie pe deplin funcțional atunci când este executat în modul sigur, adică să funcționeze fără accesarea obiectelor externe configurației.

Trebuie pregătit un raport sau o procesare suplimentară pentru a fi încărcat în serviciu ca kit de livrare. Setul de livrare este o arhivă (fișier zip) care conține:

  • raport suplimentar sau dosar de procesare;
  • fișier manifest xml, care conține metainformații suplimentare necesare managerului de servicii pentru a publica un raport suplimentar sau a-l procesa în serviciu.
Pregătirea se realizează într-o bază de informații instalată local a configurației pentru care este destinat raportul sau procesarea suplimentară. Folosim un asistent special pentru crearea unui set de livrare, prelucrare externă Pregătirea Rapoartelor Adiționale și Prelucrarea Publicațiilor în Serviciu Model.epf. Puteți citi mai multe în documentația despre Tehnologia de publicare a soluțiilor 1C Fresh.

Instalarea rapoartelor suplimentare și procesarea în modelul de serviciu

O caracteristică distinctivă a tehnologiei 1C Fresh este că un raport sau o procesare externă nu poate fi încărcat direct în zona de date. Adăugarea poate fi făcută numai de administratorul serviciului prin intermediul managerului de servicii. După ce arhiva zip cu fișierul de procesare este pregătită, aceasta trebuie să fie încărcată în directorul managerului de servicii și instalată pentru un anumit abonat al serviciului.

Un abonat la serviciu este un grup de utilizatori uniți după un anumit principiu. Respectiv, baze de informare, disponibile unui anumit grup de utilizatori, sunt numite aplicații de abonat.

Aplicatiile pot avea diferite configuratii 1C (Contabilitatea intreprinderii, Managementul Salariilor si Personalului, Managementul companiei noastre etc.), pentru care este posibila folosirea in modelul de servicii. Raportarea sau procesarea suplimentară poate fi instalată numai în aplicațiile abonatului care sunt specificate la descărcarea fișierului.

Așa arată formularul de proprietăți pentru un raport suplimentar cu versiuni. Folosind hyperlinkul „Instalare/Eliminare”, ajungem la lista de aplicații și selectăm bazele de date necesare.

După ce procesarea este încărcată și aplicația este selectată, managerul de servicii contactează adresa aplicației și dă comanda de instalare în baza de informații.

Lansăm procesarea conform programului

Când lucrezi cu o cantitate mare baze de date contabile, unele procesări trebuie efectuate periodic. De exemplu, o dată pe lună sau o dată la câteva minute. De asemenea, este important să se automatizeze operațiunile manuale și de rutină ale utilizatorului. Pentru a face acest lucru, folosim în mod activ sarcinile de rutină.

Prelucrarea care se va efectua conform programului nu are formular. Toată logica este scrisă în modulul obiect și arată astfel.



La pregătirea setului de livrare, stabilim un program. Acum procesarea noastră va fi efectuată la fiecare oră.

Mai multe despre extensiile de configurare

In paralel cu rapoarte externeși procesarea care trebuie pregătită și administrată „în mod veche”, am început să folosim în mod activ mecanismul de extindere a configurației. Începând cu platforma 1C Enterprise 8.3.10, acest mecanism ne-a făcut viața destul de ușoară și a făcut posibilă simplificarea adaptării configurațiilor la caracteristicile Buttonului.

De exemplu, am scris mai sus despre operațiunile de rutină pentru corectarea documentelor de către roboți care erau lansate o dată la 10 minute. Acum puteți folosi extensia pentru a redefini funcționarea modulelor. Astfel, putem efectua imediat acțiunile necesare atunci când înregistrăm sau postăm un document. Acest lucru este mult mai optim, deoarece coada de sarcini din baza de date nu este înfundată cu acțiuni efectuate la fiecare 10 minute și este mai eficient, deoarece modificările se fac imediat.

Este destul de ușor să pregătiți o nouă extensie. Să ne uităm la procesul de creare a extensiilor folosind exemple specifice.
Pe baza experienței de muncă, liderul în cererile de ajustări este formularul tipărit TORG-12. De exemplu, trebuie să facem o extensie pentru a putea tipări un bon de livrare în valută (în mod implicit poate fi generat doar în ruble).
Deschideți Meniu → Configurare → Extensii de configurare
Creăm o nouă extensie cu scopul „Adaptare”.

Extensia arată ca un arbore de configurare familiar, dar încă fără obiecte. Mai întâi de toate, să adăugăm un nou layout TORG-12, în care am inserat coloane cu sume în valută.

Deoarece factura este tipărită din documentul „Vânzări de bunuri și servicii”, vom adăuga acest document la extensia noastră din configurația principală și vom face modificările de care avem nevoie în modulul manager. În acest scop în meniul contextual implementare, selectați „adăugați la extensie”.

Acum puteți modifica modulul manager de implementare. Trebuie să adăugăm un nou formular la lista de formulare imprimabile și să completăm sumele valutare.

Pentru a schimba procedurile standard, folosim adnotarea &After; avem nevoie și de câteva funcții proprii și de o procedură.

Să aruncăm o privire mai atentă asupra adnotărilor. În extensii puteți folosi: &Înainte, &După, &În loc (foarte atent). Principiul de funcționare este simplu: vrem ca algoritmii noștri din extensie să fie executați mai întâi, punem adnotarea &Before și indicăm în paranteze numele procedurii din configurația standard. Dacă un modul standard este procesat mai întâi, și apoi al nostru, folosim &After.

Adnotările &Înainte și &După nu pot fi folosite pentru funcții. Prin urmare, dacă trebuie să schimbăm algoritmul unei funcții din configurația principală, folosim adnotarea &În schimb.

Adnotarea &Instead ar trebui folosită cât mai rar posibil, deoarece înlocuiește complet execuția unei proceduri și funcție din configurația principală cu o procedură/funcție de extensie. Cu această metodă de interceptare, procedura/funcția din configurația principală va înceta deloc să fie executată în timp ce extensia este instalată, chiar și actualizarea versiunilor nu va ajuta.

Concluzie

Există multe opinii diferite despre utilizarea extensiilor și a rapoartelor/prelucrărilor externe. Pe baza experienței noastre, amândoi suntem în favoarea extinderii. Aceasta este o tehnologie modernă și mai adaptabilă, are mult mai multe capabilități, iar publicarea lor este mult mai ușoară. Doar partea necesară a codului este plasată în extensie; de ​​asemenea, nu este nevoie să scrieți proceduri și funcții suplimentare pentru a determina parametrii de înregistrare, a urmări versiunile și a crea un kit de livrare.

Puteți utiliza mai multe extensii pentru o zonă de date.
Pentru specificul lucrului 1C Fresh în modul de separare a datelor (o configurație, multe zone independente), metoda de extindere este o soluție excelentă.

Să luăm în considerare în acest articol instrucțiuni pas cu pas la crearea procesării externe în 1C 8.3 în modul aplicație gestionată, în consecință, vom folosi formulare gestionate. Și cel mai important, vom învăța cum să-l conectăm la mecanismul de „procesare externă” a configurațiilor 1C construite pe o bibliotecă de subsisteme standard versiunea 2.0 și mai nouă.

Sarcina va fi următoarea: să creați cea mai simplă procesare externă care va efectua o acțiune de grup în directorul „Articol”, și anume, să setați procentul cotei TVA selectat pentru grupul specificat de articole.

Pentru a face acest lucru, vom face imediat setările necesare în program (luăm în considerare configurația 1C 8.3: „Enterprise Accounting 3.0” pe forme controlate).

Bifarea acestei casete ne oferă posibilitatea de a folosi procesarea externă.

Crearea unei noi procesări externe în 1C 8.3 folosind un exemplu

Acum să trecem la configurator. În meniul „Fișier”, selectați „Nou...”. Se va deschide o fereastră pentru selectarea tipului de fișier care urmează să fie creat. Selectați „Procesare externă”:

Se va deschide o nouă fereastră de procesare externă. Să-i dăm un nume imediat. Acesta va fi oferit la salvarea procesării pe disc:

Să adăugăm un nou formular de procesare controlată. Indicăm că aceasta este o formă de prelucrare și este cea principală:

Vom avea două detalii pe formular:

  • Grup de nomenclatură – link către directorul „Nomenclatură”;
  • SelectVATRate – link către transferul ratei TVA.

Creăm detaliile în coloana „Proprietăți” din fereastra din dreapta sus. Trageți-le cu mouse-ul în fereastra din stânga sus. Noile detalii ar trebui să apară imediat în formularul de mai jos.

Ordinea detaliilor poate fi modificată folosind săgețile „Sus” – „Jos”:

Obțineți 267 de lecții video pe 1C gratuit:

Tot ce rămâne este să adăugați butonul „Instalare”. În formularele gestionate, nu puteți să adăugați un buton în formular. Chiar dacă îl adăugați la structura elementelor de formular, acesta nu va fi vizibil pe formularul în sine. Butonul trebuie să fie asociat cu comanda pe care o va executa. Accesați fila „Comenzi” și adăugați comanda „Setare cotă TVA”. În proprietățile comenzii, creați o acțiune. Selectați handlerul de comandă „Pe client”. O comandă poate fi adăugată la formular, pur și simplu trăgând-o în secțiunea cu elemente de formular.

În modulul formular va fi creată o procedură cu același nume. În el vom apela procedura pe server:

&OnClient

Procedura Setați rata TVA (comandă)

SetVATRateOnServer();

Sfârșitul procedurii

În procedura de pe server, vom scrie o mică cerere și acțiuni legate de stabilirea cotei de TVA:

&Pe server

Procedura SetVATRateOnServer()

Solicitare = Solicitare nouă;
Cerere.Text =
"ALEGE
| Nomenclatură.Link
|DIN
| Director.Nomenclatura AS Nomenclatura
|UNDE
| Nomenclatură.Link ÎN IERARHIE (&Nomenclatură Grup)
| ȘI NU Nomenclatură.MarkDeletion
| ȘI NU Nomenclatură. Acesta este un Grup”;

Request.SetParameter("Grup de articole", Grup de articole);
ResRequest = Request.Execute();
SelectRecordDet = ResRequest.Select();

În timp ce SelectRecordDet.Next() Loop

Atentat, încercare
SprNomObject.Write();
Excepție
Raport ("Eroare la scrierea obiectului """ + SprNomObject + """!
|» + DescriereEroare());
EndTempt;

EndCycle;

Sfârșitul procedurii

Ne întoarcem la fila „Formular”, adăugăm un buton la formular și îl asociam cu comanda:

Ca atare, prelucrarea noastră este gata de utilizare. Pentru a-l apela, în modul „1C Enterprise”, trebuie să mergeți la meniul „Fișier” - „Deschidere” și să selectați fișierul creat.

Cu toate acestea, lucrul în acest mod este convenabil pentru procesarea de depanare, dar nu este în întregime potrivit pentru utilizator. Utilizatorii sunt obișnuiți să aibă totul „la îndemână”, adică în baza de date în sine.

Pentru aceasta este secțiunea „Rapoarte și procesări suplimentare”.

Dar pentru a adăuga procesarea noastră acolo, trebuie mai întâi să îi dăm o descriere și să spunem programului proprietățile sale.

Descrierea funcției „Informații despre procesarea externă”

Voi da un exemplu de conținut al acestei funcții. Acesta trebuie să fie exportabil și, în consecință, localizat în modulul de procesare:

Funcție InformationOnExternalProcessing() Export

DataForReg = Structură nouă();
DataForReg.Insert(„Nume”, „Setarea cotei TVA”);
DataForReg.Insert(„SafeMode”, True);
DataForReg.Insert(„Versiune”, „ver.: 1.001”);
DataForReg.Insert("Informații", "Prelucrare pentru stabilirea cotei TVA în directorul Nomenclator");
DataForReg.Insert(„Vizualizare”, „Procesare suplimentară”);

CommandTable = NewValueTable;
TabZnCommands.Columns.Add("Identificator");
TabZnCommands.Columns.Add(„Utilizare”);
TabZnCommands.Columns.Add(„Vizualizare”);

NewRow = TabZnCommands.Add();
NewString.Identifier = "OpenProcessing";
NewRow.Use = "OpenForm";
NewRow.View = "Deschide procesarea";
DataForReg.Insert("Comenzi", TabZnCommands);

Returnează DataForReg;

EndFunction

Pentru a înțelege mai bine ce câmpuri din structura datelor de înregistrare trebuie utilizate, să ne uităm la detaliile directorului „Rapoarte și procesare suplimentare”:

După cum puteți vedea, totul este destul de simplu. Un singur atribut nu se potrivește: „Opțiune de lansare” – „Utilizare”. Dacă te uiți la codul unuia dintre module comune, apoi vom vedea cum apar o grămadă din aceste câmpuri:

Pentru a determina ce câmpuri ale unei structuri sunt necesare, mai întâi nu o puteți descrie, pur și simplu creați unul gol și apoi utilizați depanatorul. Dacă urmăriți modulele atunci când înregistrați procesarea, devine imediat clar care câmpuri sunt obligatorii și care nu.

Conectarea procesării externe în 1C 8.3

Acțiune