Contacte

Umplerea prelucrării externe a tabelelor 8.3 1. Crearea procesării externe

Blogul de bunăvoință 1c.

Aici vom învăța cum să creăm procesarea externă de completare a părții tabulare a documentului în 1C 8,3 (pentru formularele controlate) de la zero. Exemplul de procesare considerat poate fi descărcat prin referință.

Luați cel mai simplu exemplu: în partea de masă "Materiale" din documentul "Cerință-factură", atribuim egal cu 100 în toate liniile.

Pregătirea procesării externe în 1C 8.3

Deci, creați o prelucrare externă. Păstrați-l pe disc.

Trebuie înregistrată prelucrarea externă sau raportul în baza de date 1c. Acest lucru se face folosind o structură care este conținută în funcția de export la informație.

Prin butonul "Acțiuni", mergeți la modelul obiectului, unde creăm o funcție:

Informații despre caracteristicile funcției () Export destinație \u003d o nouă matrice; Misiuni. Addly ("Document. Creațianinenano"); ParametriRegistration \u003d noua structură; Parametrii deregistrare. Introduceți ("aspect", "completarea"); ParametriRegistrare. HOLD ("Scop", numire); ParametriRegistrarea. Introduceți ("Nume", "Completați un document"); ParametriRegistrare. HOLD (versiunea "," 1.0 "); Setări de paramersie. Introduceți ("Informații", "Prelucrarea suplimentară a părții de masă a cerinței"); Deregistrarea parametrilor. HOLD ("Siguranța", adevărul); Echipe \u003d geabitomand (); Adăugați la comandă (comenzi, "umpleți documentul", "Document de umplere", "Adidass aglomerat", minciuni); Parametrii deregistrare. HOLD ("Echipe", comenzi); Rambursarea dezagretării parametrilor; Endfunction

Să vorbim puțin despre semnificația câmpurilor.

View - în funcție de scopul procesării poate lua valori:

Raportați ieșire Formular tipărit Prelucrarea suplimentară a obiectelor creative Raport opțional

În cazul nostru, pentru procesarea umplerii părții de masă, avem nevoie de un tip de procesare "Opțiuni"

Scopul - În acest domeniu, documentele sunt enumerate pentru care se intenționează această prelucrare (în care va apărea după înregistrare în baza de informare). Pentru a lista aceste documente, vom crea o serie de "destinație" și vom adăuga documentul "Cerințe".

Numele este numele va fi afișat în lista de tratamente suplimentare.

Versiunea este versiunea noului nostru produs software.

Informații - Această cheie a structurii noastre conține informații suplimentare Despre procesarea noastră.

Modul sigur - ia valoarea adevărului / minciunilor. Vom folosi un mod sigur.

Comenzi - Această cheie de structură conține o listă de comenzi furnizate de prelucrarea noastră. Pentru echipe, vom crea o funcție a cunoștințelor () și o procedură de adăugare ().

Aflați mai multe detalii despre câmpurile valorilor de comandă.

Prezentarea este prezentarea comenzii utilizatorului, ce fel de nume va fi prezentat în interfață.

Identificatorul este un identificator de comandă internă în cadrul procesării noastre

Utilizare - În funcție de utilizarea comenzii, poate lua valori:

Apelarea producătorului - din modulul de procesare, procedura de server de deschidere este numită - utilizată pentru a deschide forma de manipulare a metodei provocare - pentru a apela procedura client din modulul de procesare al cadrului de economisire a scenariului - Procedura serverului în modul sigur

În cazul nostru, lucrăm cu forma unui obiect 1C 8.3, deci trebuie să folosim un provocare pentru a apela comanda de procesare externă.

Afișarea - are una din cele două valori: adevăr / minciuni

Modificator - Modificator de comandă suplimentar. Listarea finală a procesării noastre în modulul Obiect dobândește următoarea formă:

Informații despre caracteristicile funcției () Export destinație \u003d o nouă matrice; Misiuni. Addly ("Document. Creațianinenano"); ParametriRegistration \u003d noua structură; Parametrii deregistrare. Introduceți ("aspect", "completarea"); ParametriRegistrare. HOLD ("Scop", numire); ParametriRegistrarea. Introduceți ("Nume", "Completați un document"); ParametriRegistrare. HOLD (versiunea "," 1.0 "); Setări de paramersie. Introduceți ("Informații", "Prelucrarea suplimentară a părții de masă a cerinței"); Deregistrarea parametrilor. HOLD ("Siguranța", adevărul); Echipe \u003d geabitomand (); Adăugați la comandă (comenzi, "umpleți documentul", "Document de umplere", "Adidass aglomerat", minciuni); Parametrii deregistrare. HOLD ("Echipe", comenzi); Rambursarea dezagretării parametrilor; Funcția funcției de funcționare a funcției de funcționare () comenzi \u003d mese noi; Echipe. Coolclocks. Addly ("Vizualizare", descrieri noi ("șir")); Comenzi. COOCLOCURI. ADDUCE ("Identificator", descrieri noi ("șir")); Echipe. Solonks. Adăugați ("Utilizare", descrieri noi ("șir")); Echipe. Coolclocks. Addly ("Afișarea", descrieri noi ("boolevo")); Echipe. Solonks. Addly ("Modificator", descrieri noi ("șir")); Restituire; Procedură detașare Adăugați la adăugarea la comenzi (tablekomand, vizualizare, identificare, utilizare, definiție Tip \u003d False, Modificator \u003d "") Newcommand \u003d Tablekomand. Adăugați (); Newcommand. Reprezentare \u003d performanță; NewCommand.Identifier \u003d Identificator; Newcommand. Utilizare \u003d utilizare; Newcommand. Legare legată \u003d afișare; Newcommand.Modifier \u003d Modificator; Extra-proceduri care creează o echipă care să completeze partea tabară

În câmpul Formular de procesare, faceți clic pe lentile pentru a crea un formular:

În formular, adaugă comanda Comitetului de Executie

În corpul de procesare, rotiți comanda la forma formularului prin proprietarul proprietarului și modificați valoarea cantității din tabelul Parte a materialelor:

Procedura de reclamație pentru a îndeplini Comisia (identificator, obiecte, obiecte) Export pentru fiecare curent din proprietar. Greutate. Ciclul circuitului materialelor. Numărul \u003d 100; Raport (asociația actuală); Endcycle; Înregistrarea externe a prelucrării externe în 1C 8.3 și verificarea acestuia

Acum în modul Enterprise 1C înregistrați procesarea noastră externă pentru a completa partea de masă:

În lista de procesare externă, faceți clic pe butonul Creare:

În noua formă de procesare externă care se deschide, procesarea externă din fișier și, ulterior, instalați o nouă prelucrare:

Acum, în documentul "Cerință-factură" putem observa înregistrarea înregistrării procesării noastre în baza de informații. Și prin apăsarea butonului "Document de umplere", putem observa procesarea noastră de lucru pentru a umple partea tabară.

Înregistrarea tabelului de rotire Partea 1C 8.3 formulare controlate Pentru prima dată, a apărut blogul de bunăvoință 1c.

În acest articol, luați în considerare procesul de scriere a celei mai simple prelucrări externe a părții tabulare de umplere 1c 8. Pentru configurații utilizând aplicația obișnuită. De exemplu, luați o astfel de sarcină: "În configurație 1c: Contabilitate 2.0 Creați plierea externă a părții de masă Produsedocument Realizarea bunurilor și serviciilor, Date pentru completarea de la partea tabulară Produse document Admiterea bunurilor și serviciilor". În acest fel, trebuie să completăm produsele de vânzări pe baza primirii de bunuri, o astfel de sarcină este destul de des găsită în practica reală a programatorului 1c.

2. Crearea procesării externe

Du-te la B. 1c 8. În modul Configurator.. Utilizarea meniului. Fișier -\u003e Nou sau pictogramă Un nou document creaza nou prelucrarea externă.

În câmpul Nume Indicăm: "cea mai simplă reclecționare" și păstrați procesarea externă hDD. Utilizarea meniului. Fișier -\u003e Salvare sau pictogramă Salvați sau combinație de taste Ctrl + S..

Evidențiind o ramură Rechizite În arborele metadatelor de procesare și apăsând butonul Adăuga(Buton cu Green Plus) Creați un element nou de prelucrare externă - Document Pay, alegeți un tip pentru el Documente Dovernik. De dutenietetovaryavshodshug, aceste recuzită trebuie să selecteze documentul Admiterea bunurilor și serviciilor, pe baza cărora se va ocupa implementarea.

Pentru a selecta un document de admitere, vom avea nevoie de un formular separat. Evidențiind o ramură Formează și folosind același buton - Adăuga Creați un formular de procesare externă. Se deschide fereastra Form Constructor, nu este nevoie să faceți modificări pe prima pagină a designerului, deci faceți clic pe butonul Mai departe.

Pe cea de-a doua pagină a designerului, trebuie să alegem recuzită Document Pay(așa că a apărut forma creată) și faceți clic pe buton Gata.

După aceea, forma creată se va deschide, avem nevoie de faptul că utilizatorul ar alege documentul pe acesta și îl închide. Deci, când apăsați butonul A executa Formularul trebuie să se închidă pur și simplu. Pentru a implementa acest lucru, selectați butonul A executaVă dau clic pe butonul din dreapta al mouse-ului și alegeți elementul Proprietăți. În proprietățile butonului, în șir act Alege actiunea - Închide. Pe această lucrare cu forma este finalizată, închiderea acesteia.

3. Programare

Vom proceda la programarea procesului tabular. Să mergem la Modul de obiect.prelucrarea externă (în partea de jos a butonului panoului de procesare Acțiuni -\u003e Modul de obiect deschis).

În aceasta, trebuie să creăm o procedură de export. Inițializați..

Procedură Inițializați. Export Extradreses.

Rețineți că procedură Inițializați., precum și toți parametrii săi, sunt obligatorii pentru prelucrarea externă a părții tabulare de umplereDacă nu o creați sau nu specificați toți parametrii, procesarea dvs. pur și simplu nu va funcționa.

Acum să începem să scriem cod software.. În primul rând, creați o variabilă pentru partea tabară a documentului. Realizarea bunurilor și serviciilorpe care vom completa.

Tabla de ceas \u003d obiect [nametagged];

Când efectuați procedura din parametru Un obiect va conține un obiect al documentului pe care îl umplem și în parametru NAMETABLIZAT Un șir cu numele părții tabulare pe care le umplem. Astfel, această linie de cod primește partea tabară a documentului umplut prin numele său.

Trebuie să alegem utilizatorul pentru a selecta documentul Admiterea bunurilor și serviciilorPrin urmare, scrieți codul pentru deschiderea formularului de selecție a documentelor. Pentru a începe, obținem această formă într-o variabilă utilizând metoda de procesare externă. Opțional (<Форма>, <Владелец>, <КлючУникальности>) . Tocmai am completat doar primul parametru al acestei metode, trecând acolo un șir numit forma noastră.

FORMAVAILABILITATE / Acces \u003d Opțiuni ("Formular");

Acum deschideți formularul rezultat folosind deschiderea modală (până când forma este deschisă Toate celelalte ferestre 1c nu sunt disponibile), deoarece cu această metodă de deschidere a viitorului codul nostru în procedură Inițializați. Nu va fi executat până când utilizatorul nu închide formularul.

Formalustrizarea plângerii. OpenModally ();

După ce utilizatorul închide formularul, trebuie să verificăm dacă solicitarea este umplută Document Pay(În cazul în care documentul de primire nu a fost selectat). Dacă după verificare Document Pay Se pare că este gol, apoi prelucrarea ulterioară nu are sens și ar trebui întreruptă.

Dacă nu sunteți denominat (documenteAmpion), apoi să raportați (); Restituire; Încheiat;

Pentru a verifica finalizarea recuzită, funcția de context globală este utilizată aici. Documentul este completat (<Значение>) , verifică dacă valoarea este transmisă în valoarea implicită de același tip. Procedură A raporta Afișează textul specificat în fereastra de mesaje 1C 8. Cuvânt cheie. Întoarcere Întrerupe executarea procedurii.

Vom începe să scriem o interogare care va selecta datele tabulare Produse document Admiterea bunurilor și serviciilor. Creați o nouă solicitare:

Solicitare \u003d cerere nouă;

Solicitare. Parametru de instalare ( "DocumentaMpsion", DocumentAmpion);

Scrieți textul cererii, o vom face Designer de interogare. Nu este recomandat să scrieți manual textul textului textului interogării, nu este eficient și ia o grămadă de timp. Pentru a începe, scrieți un șir:

Solicitare.Text \u003d "";

Vom livra cursorul între caracterele citatelor, faceți clic pe butonul din dreapta al mouse-ului și selectați elementul Solicitați designer .... După aceasta, va apărea o propunere pentru a crea o nouă solicitare, faceți clic pe butonul "OK". Se deschide fereastra Designer, toate tabelele bazei de date disponibile sunt situate în partea stângă, avem nevoie de un document Adaletovarov Supervug.. O vom găsi și vom dezvălui folosind simbolul "+", selectați partea tabară Produse și tragându-l în a doua parte a ecranului de designer, numit Mese(De asemenea, mutați tabelul dorit utilizând butonul "\u003e").

Acum dezvăluie tabelul "+" am ales ( Adaitovyovarovyovservyvaryovas.) și trageți câmpurile necesare pentru umplerea noastră în cea de-a treia parte a ecranului de designer, numit - Camp. Nu veți alege toate câmpurile disponibile, ne vom limita la un astfel de set: Nomenclatură, număr, preț, sumă, stavani, rezumate.

Deoarece avem nevoie de date pentru un singur document de admitere (pe care l-am ales înainte de umplere), atunci în fila "Condiții", vom pune condiția pentru legătura de document utilizând parametrul transferat de noi.

Crearea unui text de interogare în Designer Pe aceasta este completă, faceți clic pe butonul "OK". Ca rezultat, am prezentat următorul text de interogare:

Solicitare.Text \u003d "Selectați | de la | unde;

Cererea creată rămâne doar pentru a efectua și descărca la variabila:

Rezultat \u003d interogare. Umpleți (). Descărcați ();

Într-o variabilă Rezultat Tabelul stocat de valori cu rânduri de parte tabară Produse Am ales documentele Admiterea bunurilor și serviciilor. Acum puteți începe completarea părții tabulare Produse Implementarea noastră. Dar înainte de a completa datele, ar trebui să fie curățate, în cazul în care există deja câteva linii.

Watchchast.inter ();

Cu ciclu Pentru fiecare Mergeți la masa de valori cu rezultatele interogării.

Pentru fiecare element care rezultă din ciclul rezultat al capcilor;

În acest ciclu, creați și completați șirul de masă a documentului Realizarea bunurilor și serviciilor. Crea Șir nou Putem folosi o variabilă Piese de circuitPrin care puteți face orice acțiune cu ea.

Newstrocch \u003d lanț de ceas. Adăugați ();

Completați fila creată a filei. Piese de date din șirul rezultat de interogare utilizând procedura Contextul global - Completarea (<Приемник>, <Источник>) .

Completarea (rezultatele elementale noi, elementale);

Dar datele completate de noi nu sunt suficiente, astfel încât documentul să se facă, trebuie să completați mai mult conturile contabile Nomenclatură. Pentru a face acest lucru, folosim export

procedură Completarea gestionării Din modulul Obiect de document Realizarea bunurilor și serviciilor. Apelați-l folosind parametrul Un obiect(Ar trebui notat,

ce putem numi doar export Procedurile din modulul Obiect de documente).

Obiect. CerințăEmentaresettting (Newstrokatch, Date nume, Adevăr);

La această programare a părții de masă pentru 1c 8. Efectuat. Prelucrarea poate fi utilizată. Textul complet al procedurii Inițializați., arată așa:

Procedură Inițializați. (Obiect, numele numele \u003d nedefinit, tabletă \u003d incert) Export Tabla de ceas \u003d obiect [nametagged]; FORMAVAILABILITATE / Acces \u003d Opțiuni ("Formular"); Formalustrizarea plângerii. OpenModally (); Dacă nu este denominat (DocumentPpleife), atunci să raportați ( "Nu este selectată chitanța documentelor"); Restituire; Încheiat; Solicitare \u003d cerere nouă; Solicitare. Parametru de instalare ( "DocumentaMpsion", DocumentAmpion); Solicitare.Text \u003d "Selectați | Adamitiovarovarovyovyovariovari.nanklatura, | Adamitiovarovarovyovyovyovari. Număr, | Adamitetovarovyovyovyovarsa.stavankands, | Adamiteovarovyovyovyovarsi.summa, | Adamiteovarovyovyovyovaryovas.summands, | Adamitiovarovarovyovyovyovari.zena. | Este. | Document. Nu Dumstive Tovarovyvug.thovasarsa ca admirare admirovarovasculator. | Unde. | Promplementovarovarovyovyovyovars.Link \u003d & Documentampions "; Rezultat \u003d interogare. Umpleți (). Descărcați (); Watchchast.inter (); Pentru fiecare element rezultă din rezultat, ciclul unui nou-cadru \u003d listă de clique. Add (); Completarea (rezultatele elementale noi, elementale); Obiect. CerințăEmentaresettting (Newstrokatch, Date nume, Adevăr); Endcycle; Extradreses.

În următoarea parte, va fi descris modul de depanare a procesării de umplere a componentei tabulare și a modului de conectare la document.

4. Debugging.

Destul de des pentru a depana codul pe care îl scrieți. Pentru a depana procesarea completării părții tabulare în 1c 8. Creați elemente de recuzită Obiect de legătură Tip Document ROLL.RalizăriSerovyovserg.

Este necesar pentru noi pentru a alege un document de implementare la depanare, pe care îl vom completa. Apoi, trebuie să creați un formular de depanare și să găzduiască necesitatea creată acolo. Obiect de legăturăProcesul de creare a formei de depanare nu diferă de crearea formei de selecție a documentului de primire, deci nu vom opri în detaliu acest lucru.

După crearea formularului, ne întoarcem în modulul său. Vom găsi o procedură creată automat Buton avansat.. Această procedură gestionează când este apăsat butonul A executa. Apelați din această procedură Inițializați.care este în modulul de procesare, în parametrii vor da obiectul documentului Realizarea bunurilor și serviciilor(pe care le primim de la necesitate Obiect de legătură) și șirul cu partea de tabel de titlu (în cazul nostru Produse).

Procedură Buton de umplere (buton) Inițializați (obiect reflectând obiectul (), "bunuri"); Extradreses.

Acum este necesar să se facă forma creată a formei principale de prelucrare. Pentru a face acest lucru, alegeți-l în câmpul "Formular de procesare".

Acum puteți pune un punct de întrerupere în locul potrivit al procedurii. Inițializați. sau proceduri Buton avansat. Formele de depanare și rulați prelucrarea unei părți tabulare în modul Debug 1c: Întreprinderi.

5. Conectați-vă la document

După ce procesarea de umplere este scrisă și depanată ar trebui să fie conectată la documentul din care va fi efectuat. Pentru a face acest lucru 1c 8. În modul CompanieMutarea în meniu Service -\u003e Rapoarte și prelucrare suplimentară -\u003e Prelucrare externă suplimentară porțiuni de masă Și adăugați un nou element al cărții de referință. Folosind butonul Înlocuiți fișierul extern Adăugați un fișier creat de noi pentru a completa partea tabară.

Umpleți apartenența de procesare, pentru a face acest lucru, folosind butonul Selecţie Alegeți un document Realizarea bunurilor și serviciilor

Și precizați că umplerea este destinată părții de masă Produse.

apasa butonul O.K Și, în acest sens, procesarea de umplere va fi disponibilă în meniu Completati tabular Produse document Realizarea bunurilor și serviciilor. Descărcați procesarea utilizată pentru acest exemplu puteți în partea de jos a articolului.

Piesele de masă există în multe obiecte din 1C:

  • Directoare
  • Documentație
  • Rapoarte și prelucrare
  • Planuri de cont
  • Caracteristicile caracteristicilor
  • Planuri de calcul pentru specii
  • Procese de afaceri și sarcini

Piesele de masă vă permit să stocați un număr nelimitat de informații structurate aparținând unui obiect.

Luați în considerare unele tehnici de lucru cu piese tabulare.

Cum să ajungeți în jurul părții de masă

Puteți utiliza un ciclu pentru a urca o parte tabară. Pentru fiecare

Pentru fiecare rând din ciclul valorii circuitului

Raport (rând. Cerința);

Endcycle;

La fiecare iterație în variabila Liniaurmătoarea linie de parte tabară este trecută. Valorile valorilor rândului pot fi obținute prin expresie Șir. Ocuparea forței de muncă.

Cum să obțineți și să ocoliți liniile selectate ale părții tabulare

Pentru a afișa informații din partea de masă a obiectului este elementul formular Câmp de masă. Pentru a activa mai multe rânduri, trebuie să setați valoarea câmpului tabelului. Multiplu Caracteristica lui Modul de selecție.

Pentru a obține o listă de rânduri selectate, se utilizează următorul cod:

Pentru a eluda ciclul de utilizare al corzilor alocate Pentru fiecare:

Teste alocate \u003d Elemente Formhete. Nametablichnogopol. Alocat;

Pentru fiecare rând din ciclul evidențiat

// Ciclul de conținut

Endcycle;

Cum să evidențieți programatic rândurile părții tabulare (câmpul tabular) și eliminați selecția

Pentru a elimina programatic linia de evidențiere a câmpului tabelului:

Elemente forme. Nametablichnogopol. Separa. Clar ();

Pentru a aloca programatic toate rândurile câmpului tabelului:

Pentru fiecare curentă din ciclul valorii circuitului
Elemente forme. Nametablichnogopol. Distribuit. Adăugați (curent);
Endcycle;

Cum să curățați partea de masă

Cretă. Clar ();

Cum să obțineți linia curentă a părții tabulare

Linia curentă este o perioadă în care utilizatorul din acest moment Există un cursor. Pentru ao obține, trebuie să vă referiți la elementul de control al formularului, care este asociat cu partea tabară.

Pentru forme obișnuite Codul va arăta astfel:

Elemente forme. Nametablichnogopol. Fluid;

Pentru formele gestionate:

Elemente. Nametablichnogopol. Fluid;

Cum se adaugă un șir nou la partea de masă

Adăugarea unui șir nou până la capătul tabelului:

Newstock \u003d provocare. Adăuga ();

Adăugarea unei linii noi în orice loc de parte tabară (liniile ulterioare vor fi schimbate):

Newstock \u003d provocare. Inserare (index)
// Index - Numărul rândului adăugat. Numărul de numere a rândului începe de la zero.

Linie nouă. Necesare1 \u003d "valoare";

Cum să completați programatic detaliile piesei de masă

Dacă aveți nevoie să completați programatic detaliile părții tabulare a tabelului, pe care utilizatorul le adaugă, trebuie să utilizați manipulatorul evenimentului din partea tabară Instituţie.

Procedura creată de manipulator are trei parametri:

  • Element - Conține controale Tabelul de sus.
  • Linie nouă- Boolevo. Conține valoare AdevăratDacă se adaugă o nouă linie de piesă tabară și Fals,dacă utilizatorul a început să editeze un șir existent.
  • Copie - Boolevo. Conține valoare AdevăratDacă utilizatorul copiază șirul și Fals in alte cazuri.

Luați în considerare un exemplu. Să presupunem că trebuie să umplem partea tabară de recuzită ControlÎn cazul în care se adaugă o nouă linie. Când editați un șir existent, nu este necesar să modificați contul de cont.

Procedură pentru procesarea Timbanității (element, newstream, copiere)

// Dacă utilizatorul editează un șir existent, nu faceți nimic
Dacă nu este nou
Întoarcere;
Încheiat;

// Dacă șirul este nou, setați contul contului
Text \u003d element. Fluid; // a primit linia actuală a părții tabulare
Trektke. Contabilitate \u003d planuri. Hoshorty. Necesar;
Extradreses.

1. Declarația sarcinii

În acest articol, luați în considerare procesul de scriere a celei mai simple prelucrări externe a părții tabulare de umplere 1c 8. Pentru configurații utilizând aplicația obișnuită. De exemplu, luați o astfel de sarcină: "În configurație 1c: Contabilitate 2.0 Creați plierea externă a părții de masă Produse Document, Datele pentru umplerea Luați din partea tabară Produse document Admiterea bunurilor și serviciilor". În acest fel, trebuie să completăm produsele de vânzări pe baza primirii de bunuri, o astfel de sarcină este destul de des găsită în practica reală a programatorului 1c.

2. Crearea procesării externe

Du-te la B. 1c 8. În modul Configurator.. Utilizarea meniului. Fișier -\u003e Nou sau pictogramă Un nou document Creaza nou prelucrarea externă.

În câmpul Nume Specificăm: "cea mai simplă reclecționare" și salvați procesarea externă pe hard disk utilizând meniul Fișier -\u003e Salvare sau pictogramă Salvați sau combinație de taste Ctrl + S..

Evidențiind o ramură Rechizite În arborele metadatelor de procesare și apăsând butonul Adăuga(Buton cu Green Plus) Creați un element nou de prelucrare externă - Document Pay, alegeți un tip pentru el Documente Dovernik. De dutenietetovaryavshodshug, aceste recuzită trebuie să selecteze documentul Admiterea bunurilor și serviciilor, pe baza cărora se va ocupa implementarea.

Pentru a selecta un document de admitere, vom avea nevoie de un formular separat. Evidențiind o ramură Formează și folosind același buton - Adăuga Creați un formular de procesare externă. Se deschide fereastra Form Constructor, nu este nevoie să faceți modificări pe prima pagină a designerului, deci faceți clic pe butonul Mai departe.

Pe cea de-a doua pagină a designerului, trebuie să alegem recuzită Document Pay(Pentru ca acesta să apară pe formularul creat) și faceți clic pe buton Gata.

După aceea, forma creată se va deschide, avem nevoie de faptul că utilizatorul ar alege documentul pe acesta și îl închide. Deci, când apăsați butonul A executa Formularul trebuie să se închidă pur și simplu. Pentru a implementa acest lucru, selectați butonul A executaVă dau clic pe butonul din dreapta al mouse-ului și alegeți elementul Proprietăți. În proprietățile butonului, în șir act Alege actiunea - Închide. Pe această lucrare cu forma este finalizată, închiderea acesteia.

3. Programare

Vom proceda la programarea procesului tabular. Să mergem la Modul de obiect. Prelucrarea externă (în partea de jos a butonului panoului de procesare Acțiuni -\u003e Modul de obiect deschis).

În aceasta, trebuie să creăm o procedură de export. Inițializați..

Procedură Inițializați. Export Extradreses.

Rețineți că procedură Inițializați., precum și toți parametrii săi, sunt obligatorii pentru prelucrarea externă a părții tabulare de umplereDacă nu o creați sau nu specificați toți parametrii, procesarea dvs. pur și simplu nu va funcționa.

Acum, să începem să scriem un cod de program. În primul rând, creați o variabilă pentru partea tabară a documentului. Realizarea bunurilor și serviciilorpe care vom completa.

Tabla de ceas \u003d obiect [nametagged];

Când efectuați procedura din parametru Un obiect va conține un obiect al documentului pe care îl umplem și în parametru NAMETABLIZAT Un șir cu numele părții tabulare pe care le umplem. Astfel, această linie de cod primește partea tabară a documentului umplut prin numele său.

Trebuie să alegem utilizatorul pentru a selecta documentul Admiterea bunurilor și serviciilorPrin urmare, scrieți codul pentru deschiderea formularului de selecție a documentelor. Pentru a începe, obținem această formă într-o variabilă utilizând metoda de procesare externă. Opțional (<Форма>, <Владелец>, <КлючУникальности>) . Tocmai am completat doar primul parametru al acestei metode, trecând acolo un șir numit forma noastră.

FORMAVAILABILITATE / Acces \u003d Opțiuni ("Formular");

Acum deschideți formularul rezultat folosind deschiderea modală (până când forma este deschisă Toate celelalte ferestre 1c nu sunt disponibile), deoarece cu această metodă de deschidere a viitorului codul nostru în procedură Inițializați. Nu va fi executat până când utilizatorul nu închide formularul.

Formalustrizarea plângerii. OpenModally ();

După ce utilizatorul închide formularul, trebuie să verificăm dacă solicitarea este umplută Document Pay(În cazul în care documentul de primire nu a fost selectat). Dacă după verificare Document Pay Se pare că este gol, apoi prelucrarea ulterioară nu are sens și ar trebui întreruptă.

Dacă nu sunteți denominat (documenteAmpion), apoi să raportați (); Restituire; Încheiat;

Pentru a verifica finalizarea recuzită, funcția de context globală este utilizată aici. Documentul este completat (<Значение>) , verifică dacă valoarea este transmisă în valoarea implicită de același tip. Procedură A raporta Afișează textul specificat în fereastra de mesaje 1C 8. Cuvânt cheie Întoarcere Întrerupe executarea procedurii.

Vom începe să scriem o interogare care va selecta datele tabulare Produse document Admiterea bunurilor și serviciilor. Creați o nouă solicitare:

Solicitare \u003d cerere nouă;

Solicitare. Parametru de instalare ( "DocumentaMpsion", DocumentAmpion);

Scrieți textul cererii, o vom face Designer de interogare. Nu este recomandat să scrieți manual textul textului textului interogării, nu este eficient și ia o grămadă de timp. Pentru a începe, scrieți un șir:

Solicitare.Text \u003d "";

Vom livra cursorul între caracterele citatelor, faceți clic pe butonul din dreapta al mouse-ului și selectați elementul Solicitați designer .... După aceasta, va apărea o propunere pentru a crea o nouă solicitare, faceți clic pe butonul "OK". Se deschide fereastra Designer, toate tabelele bazei de date disponibile sunt situate în partea stângă, avem nevoie de un document Adaletovarov Supervug.. O vom găsi și vom dezvălui folosind simbolul "+", selectați partea tabară Produse și tragându-l în a doua parte a ecranului de designer, numit Mese(De asemenea, mutați tabelul dorit utilizând butonul "\u003e").

Acum dezvăluie tabelul "+" am ales ( Adaitovyovarovyovservyvaryovas.) și trageți câmpurile necesare pentru umplerea noastră în cea de-a treia parte a ecranului de designer, numit - Camp. Nu veți alege toate câmpurile disponibile, ne vom limita la un astfel de set: Nomenclatură, număr, preț, sumă, stavani, rezumate.

Deoarece avem nevoie de date pentru un singur document de admitere (pe care l-am ales înainte de umplere), atunci în fila "Condiții", vom pune condiția pentru legătura de document utilizând parametrul transferat de noi.

Crearea unui text de interogare în Designer Pe aceasta este completă, faceți clic pe butonul "OK". Ca rezultat, am prezentat următorul text de interogare:

Solicitare.Text \u003d "Selectați | de la | unde;

Cererea creată rămâne doar pentru a efectua și descărca la variabila:

Rezultat \u003d interogare. Umpleți (). Descărcați ();

Într-o variabilă Rezultat Tabelul stocat de valori cu rânduri de parte tabară Produse Am ales documentele Admiterea bunurilor și serviciilor. Acum puteți începe completarea părții tabulare Produse Implementarea noastră. Dar înainte de a completa datele, ar trebui să fie curățate, în cazul în care există deja câteva linii.

Watchchast.inter ();

Cu ciclu Pentru fiecare Mergeți la masa de valori cu rezultatele interogării.

Pentru fiecare element care rezultă din ciclul rezultat al capcilor;

În acest ciclu, creați și completați șirul de masă a documentului Realizarea bunurilor și serviciilor. Creați un șir nou Putem cu o variabilă Piese de circuitPrin care puteți face orice acțiune cu ea.

Newstrocch \u003d lanț de ceas. Adăugați ();

Completați fila creată a filei. Piese de date din șirul rezultat de interogare utilizând procedura Contextul globalCompletarea (<Приемник>, <Источник>) .

Completarea (rezultatele elementale noi, elementale);

Dar datele completate de noi nu sunt suficiente, astfel încât documentul să se facă, trebuie să completați mai mult conturile contabile Nomenclatură. Pentru a face acest lucru, folosim export

procedură Completarea gestionării Din modulul Obiect de document Realizarea bunurilor și serviciilor. Apelați-l folosind parametrul Un obiect(Ar trebui notat,

ce putem numi doar export Procedurile din modulul Obiect de documente).

Obiect. CerințăEmentaresettting (Newstrokatch, Date nume, Adevăr);

La această programare a părții de masă pentru 1c 8. Efectuat. Prelucrarea poate fi utilizată. Textul complet al procedurii Inițializați., arată așa:

Procedură Inițializați. (Obiect, numele numele \u003d nedefinit, tabletă \u003d incert) Export Tabla de ceas \u003d obiect [nametagged]; FORMAVAILABILITATE / Acces \u003d Opțiuni ("Formular"); Formalustrizarea plângerii. OpenModally (); Dacă nu este denominat (DocumentPpleife), atunci să raportați ( "Nu este selectată chitanța documentelor"); Restituire; Încheiat; Solicitare \u003d cerere nouă; Solicitare. Parametru de instalare ( "DocumentaMpsion", DocumentAmpion); Solicitare.Text \u003d "Selectați | Adamitiovarovarovyovyovariovari.nanklatura, | Adamitiovarovarovyovyovyovari. Număr, | Adamitetovarovyovyovyovarsa.stavankands, | Adamiteovarovyovyovyovarsi.summa, | Adamiteovarovyovyovyovaryovas.summands, | Adamitiovarovarovyovyovyovari.zena. | Este. | Document. Nu Dumstive Tovarovyvug.thovasarsa ca admirare admirovarovasculator. | Unde. | Promplementovarovarovyovyovyovars.Link \u003d & Documentampions "; Rezultat \u003d interogare. Umpleți (). Descărcați (); Watchchast.inter (); Pentru fiecare element rezultă din rezultat, ciclul unui nou-cadru \u003d listă de clique. Add (); Completarea (rezultatele elementale noi, elementale); Obiect. CerințăEmentaresettting (Newstrokatch, Date nume, Adevăr); Endcycle; Extradreses.

În următoarea parte, va fi descris modul de depanare a procesării de umplere a componentei tabulare și a modului de conectare la document.

4. Debugging.

Destul de des pentru a depana codul pe care îl scrieți. Pentru a depana procesarea completării părții tabulare în 1c 8. Creați elemente de recuzită Obiect de legătură Tip Document ROLL.RalizăriSerovyovserg.

Este necesar pentru noi pentru a alege un document de implementare la depanare, pe care îl vom completa. Apoi, trebuie să creați un formular de depanare și să găzduiască necesitatea creată acolo. Obiect de legăturăProcesul de creare a formei de depanare nu diferă de crearea formei de selecție a documentului de primire, deci nu vom opri în detaliu acest lucru.

După crearea formularului, ne întoarcem în modulul său. Vom găsi o procedură creată automat Buton avansat.. Această procedură gestionează când este apăsat butonul A executa. Apelați din această procedură Inițializați.care este în modulul de procesare, în parametrii vor da obiectul documentului Realizarea bunurilor și serviciilor(pe care le primim de la necesitate Obiect de legătură) și șirul cu partea de tabel de titlu (în cazul nostru Produse).

Procedură Buton de umplere (buton) Inițializați (obiect reflectând obiectul (), "bunuri"); Extradreses.

Acum este necesar să se facă forma creată a formei principale de prelucrare. Pentru a face acest lucru, alegeți-l în câmpul "Formular de procesare".

Acum puteți pune un punct de întrerupere în locul potrivit al procedurii. Inițializați. sau proceduri Buton avansat. Formele de depanare și rulați prelucrarea unei părți tabulare în modul Debug 1c: Întreprinderi.

5. Conectați-vă la document

După ce procesarea de umplere este scrisă și depanată ar trebui să fie conectată la documentul din care va fi efectuat. Pentru a face acest lucru 1c 8. În modul CompanieMutarea în meniu Service -\u003e Rapoarte și prelucrare suplimentară -\u003e Prelucrarea externă suplimentară a pieselor de masă Și adăugați un nou element al cărții de referință. Folosind butonul Înlocuiți fișierul extern Adăugați un fișier creat de noi pentru a completa partea tabară.

Umpleți apartenența de procesare, pentru a face acest lucru, folosind butonul Selecţie Alegeți un document Realizarea bunurilor și serviciilor

Și precizați că umplerea este destinată părții de masă Produse.

apasa butonul O.K Și, în acest sens, procesarea de umplere va fi disponibilă în meniu Completati tabular Produse document Realizarea bunurilor și serviciilor. Descărcați procesarea utilizată pentru acest exemplu puteți prin.



Ți-a plăcut articolul? Împărtășește-l