internetul Windows. Android

1c Cum se adaugă o coloană în tabelul de valori. Ce metode există și cum să căutați simultan în mai multe valori

Salutări pe toți cititorii InfoStart'a. Acest articol va fi dedicat creării unui tabel arbitrar de valori pe forma unei metode programate de aplicații gestionate.

Caracteristicile sarcinii.

Toți cei care au programat în apendicele obișnuite se confruntă adesea cu sarcina de a obține un tabel arbitrar de valori pe formular. Sub un tabel arbitrar de valori este înțeleasă ca tabelul, numărul și tipul de coloane nu sunt cunoscute. Adică coloanele pot fi 3, și poate 6, sau poate 8. În aplicația obișnuită, totul este simplu: a fost posibilă plasarea elementului "Apozitare de masă" pe forma de formare și apoi transferați tabelul de valoare la valorile acestui articol la acest element. Apoi o echipă simplă:

Elemente de elemente. Bilete. Calcons ();

obțineți o masă de valori gata făcută pe formular. Se pare că poate fi mai ușor.

A fost totul în aplicația obișnuită. În aplicația gestionată totul sa schimbat. Deci, pur și simplu un tabel arbitrar care să nu creeze. Acum aveți nevoie ca fie să parametrați rigid tabelul de valori pe formular, fie să-l creați programatic (descrieți, bine, în acest sens, esența aplicației autorizate în sine). Vom încerca să facem: Creați un tabel arbitrar de valori pe o formă gestionată.

Soluția problemei.

Primul lucru pe care trebuie să-l facem este să determinăm modul în care tabelul apare pe formular. Principalul lucru este că nu este necesar un element al formularului în procesare. O vom crea programatice, ca și întreaga masă. Adică tabelul va fi descris și pentru a crea în momentul deschiderii formularului sau a utilizării butonului - acesta este modul în care este necesar.

Crearea unui tabel pe formular apare prin descrierea tabelului de valori ca rechiziție:
MassiferBoaboR \u003d o nouă matrice; Client masiv. Addly (tip ("Apozitare de masă")); DescriereCarebar \u003d descrieri noi (masivitate); Masive \u003d matrice noi; Masives. Adaugat (nou necesar ("Tablescript", descrieri, "," tzn ")); Acum trebuie să creăm un tabel software de valori care conțin date. Dacă tabelul de valoare este obținut din cerere, atunci totul este mai mic decât comanda. Dacă tabelul este creat manual, valoarea difuzoarelor care va conține numere sau date poate fi creată prin "descrierea". Linia de jos este că coloanele din tabelul valorilor trebuie să aibă un tip de tip. Dacă, de exemplu, se presupune că utilizatorul va completa datele din aceste coloane interactiv, atunci nu puteți adăuga valorile coloanei valorilor pur și simplu cu numele, ar trebui să fie tip. Țineți minte - acest lucru este foarte important pentru că Vom da aceste tipuri la masă pe formular.
Creați un tabel care conține mai multe coloane:
Kd \u003d date noi de calificare (particule. Veria); Massages \u003d Noua matrice; Arme. Addly (tip ("data")); Grafică de căutare \u003d descrieri noi (brațe, CD); Tk \u003d tabele noi;
Tk.colonki. Addly ("C", descrieri.
Tk.colonks. Addly ("la", descrieri.
Tk.colonki. Addly ("Numele complet");
TK. Solonks. Addly ("Notă"); // Notă completă - Rânduri în continuare, vom completa tabelul nostru software TK cu datele necesare. Obținem tabelul TK care conține valorile necesare și este pregătit pentru transmiterea la punctele create de formă. Pentru fiecare coloană de Tk. Ciclul coloanei

Masivrevizites. Adaugat (Noua solicitare (coloana. Adică, Coloană. Tip, "Taxcripts"));
Endcycle;
Schimbă (masivizite);
Accesați captivitatea \u003d elemente. Addly ("tzn", tip ("tableform"));
Accesul de captare. Powded \u003d "Taxcripts";
TapepoleseBoat. Exemplu \u003d Afișat. Opții oportuniste;

Aici este o combinație simplă și masa noastră este gata.

Pentru fiecare coloană de Tk. Ciclul coloanei

NEWELENT \u003d elemente. Addly (coloană. Vreau să spun, tastați ("FORMORFUL"), Taspole);
Element nou. Vid \u003d formă vidpolar. Putere;
Noua element. Powdly \u003d "Taxcripts." + Coloană.
Element nou.Shirina \u003d 10;
Endcycle;

Design condiționat, dacă avem nevoie de noi, de asemenea, scriem manual, meniul de comandă - manual. Stivuitoarele de masă sunt, de asemenea, scrise cu mâinile. De exemplu, pentru a adăuga un eveniment de selectare a evenimentului "selecție":

Acoperirea captează. Setarea ("alegerea", "tznvybor");

Pentru a procesa acest eveniment, o procedură separată este prevăzută sub forma procedurii:

& Svlette.
Procedură TZNVSB (TK, selectat, câmp, prelucrare standard)
// Comenzile procesorului Controalele finale

Vă rugăm să rețineți că manipulatoarele de masă sunt declanșate pe client și, prin urmare, trebuie să aibă o comandă de pointer compilator

& Svlette.

Ei bine, și ultimul lucru pe care am vrut să-l adăugați după toate aceste acțiuni, cu siguranță nu uităm să transferăm tabelul finit în solicitarea formularului:

RecentRevisitforms (TK, "Taxcripts");

Iată ceea ce avem ca rezultat:


Dar prelucrarea evenimentului "alegerea":



Postfaţă.

Sper că articolul va ajuta acei programatori 1C, care încep să creeze tabele cu privire la forma metodei programatice.

Puteți descărca procesarea pe care software-ul creează o masă de valoare și afișează o formă gestionată cu comentarii care vă vor ajuta să vă creați tabelele proprii.

Aici este o fabrică mică pentru un început - exemple simple de lucru cu un tabel de valori:

1. Creați un tabel de valori

Tabele \u003d mese noi;


2. Creați valorile tabelului coloanelor:

Tabele. Colonges. Adauga (denumirea ");
Semne de masă. COOCLOCURI. ADDUCE


3. Adăugați linii noi utilizând numele de coloane:


Noustock. Adică \u003d "Vasily";
Newstock.familia \u003d "Pupkin";


4. Cum să căutați o valoare în tabelul de valori:
Este necesar să găsiți un șir de masă care conține valoarea dorită.

Fundația \u003d tabletă. Nights. Interese (sofisticare);


5. Găsiți prima intrare în anumite coloane ale tabelului de valori

Fundație \u003d Tables. Intersturi (Sophons, "Furnizor, Cumpărător");


6. Dacă trebuie să găsiți toată înregistrarea în tabelul de valori:
Utilizați structura de căutare.

Structuralitate \u003d structura ("angajatul", intrarea);
MasswordsNews \u003d semne de masă. Intrări (structuri);


Creați o structură de căutare, fiecare element din care va conține numele coloanei ca o cheie și valoarea dorită în această coloană - ca valoare. Transmitem structura structurală folosind metoda de îndepărtare a cursei () ca parametru. Ca rezultat, primim rândurile mesei.
Dacă adăugați căutarea valorii dorite în structura de căutare, de exemplu, în coloana de partiție, atunci ca urmare a utilizării metodei de zbor (), obținem toate rândurile, unde angajatul și responsabilul sunt egale la valoarea dorită.

7. Cum să sortați tabelul de valori în ordine aleatorie

Pentru fiecare curentă din tabelul ciclului
Raport (curent);
Endcycle;

Aceleași indexuri utilizări:

Olderdex \u003d Appements tabel. Număr () - 1;
Pentru SCH \u003d 0 pe Ciclul Olderdex
Raport (tablete [sc].
Endcycle;


8. Ștergerea rândului existent al tabelului de valori

Tabele. Ștergeți (eliminat);

prin index

Tabele. Ștergeți (0);


9. Înlăturarea coloanei existente a tabelului de valori

Tabele. Solonks. Ștergeți (eliminați-o coloană);


prin index

Tabele. Solonks. Ștergere (0);

Trebuie să se țină cont de faptul că îndepărtarea unui șir (sau a unei coloane) "din mijlocul mesei de valori va duce la o scădere a indiciilor unității din liniile care au stat" după "la distanță

10. Cum să umpleți tabelul de valori dacă numele coloanelor sunt conținute în variabile?

Stroke nou \u003d mese de masă. Add ();
Newstroke [NameColonName] \u003d valoare;


11. Cum să completați întreaga coloană a valorilor tabelului în valoarea dorită?
Coloana de flagflage din tabelul valorilor tabelului trebuie să fie umplută cu o valoare falsă

Semne de masă. Completați (minciuni, "Flag Defocat");


Aplicați pentru valorile metodei de completare (). Primul parametru transmitem o valoare de umplere. Al doilea parametru este numele coloanei umplute.

12. Cum se completează tabelul valorilor "TabelPRIGner" completează tabelul de date al valorilor "codului sursă"?

Dacă făptașul de tabel în momentul operațiunii nu există încă sau vor fi păstrate vorbitorii anteriori, îl puteți crea ca o copie completă a sursei

Tablethe colector \u003d masă valoroasă .Copy ();


Opțiunea a doua: tabelul de tabel Colectorul există și îmi pare rău că își pierd coloanele și restricțiile asupra tipurilor de coloane. Dar trebuie să completați datele de pe coloanele ale căror nume coincid cu numele tabelului sursă.

Transfer parțial de date pentru coloane cu nume de potrivire:

Pentru fiecare șir valorizat din codul sursă al ciclului
Completarea (Newstroke, ValueTlass String);
Endcycle.


Pentru fiecare linie a tabelului sursă, se adaugă o nouă linie la tabelul destinatar și valorile se completează în acele coloane ale noului tabel, numele care coincid cu numele coloanelor din tabelul sursă

Dacă tabelele nu au coloane cu aceleași nume, tabelul destinatar va rezulta din conținând cât mai multe rânduri cu valori goale, câte rânduri erau în sursa de masă.
Dacă unele difuzoare de nume au tipul de valoare de date din tabelul sursă, acesta nu va cădea în matricea tipului permis al coloanei de masă al destinatarului, în astfel de câmpuri obținem valori goale.
Luați în considerare cel de-al treilea caz. În cazul acelorași coloane de nume, coloana de tabel destinatar trebuie efectuată în deplină corespondență a coloanei de masă sursă.

Date complete de copiere pentru coloane cu nume de potrivire

Un singur inel \u003d o nouă matrice ();

Pentru fiecare coloană din codul sursă. Ciclul de tăiere
Sobatovaivonka \u003d tablesprigner. Coolclocks. Init (coloana.

Dacă coincident'ovykolonka.<> Nedefinit atunci

// obțineți proprietățile coloanei.
Nume \u003d Coloana.
Tip Type \u003d Coloană. Tipuri;
Titlu \u003d Coloana. Mâinile;
Lățime \u003d coloană. Willina;

// Înlocuiți coloanele din tabelul receptorului.
Index \u003d tabelul colectorului. Solonki.Index (coincidență);

Tabletul colectorului. COOCLOCUS. RELEASE (index);
Tabelul colectorului. Solonks. HOLD (index, nume, titlu, titlu, lățime);

// Adăugați următorul nume al coloanelor coincide într-o matrice.
Un singur inel. Addly (coloană.

Încheiat;

Endcycle;

// Ciclul de cu vedere la rândurile tabelului sursă.
Pentru fiecare șir valorizat din codul sursă al ciclului

// Adăugați un șir nou la tabelul destinatar.
Nou accident vascular cerebral \u003d tableprigner. ADDLY ();

// Umpleți valorile în celulele coincide.
Pentru fiecare colector de nume din același ciclu de nume
Stroke nou [NameColonka] \u003d Tabele stricte [NameColonName];

Endcycle;

Endcycle;


Va trebui să înlocuim coloana din tabelul destinatar pentru una nouă a cărei proprietăți se vor potrivi complet cu coloana de masă sursă.
Prin urmare, în cazul detectării în tabelul-destinatarul aceluiași nume, colectăm toate proprietățile în variabile pentru o nouă coloană. Apoi, ștergem vechii și creați o coloană nouă. Apoi efectuați un ciclu de busting a rândului tabelului sursă.
În ciclu, adăugați o nouă linie la tabelul destinatar și deschideți ciclul cercetătorilor în matricea coloanelor coincide.
În interiorul acestui ciclu investit, realizăm umplerea celulelor datelor tabelului destinatar ale celulelor tabelului sursă.

13. Cum se adaugă coloane la masa de "tabel de masă" cu limitările de tip?

Când adăugați un difuzor, puteți specifica pur și simplu numele său, iar al doilea parametru al metodei Adăugare () nu poate fi atins. În acest caz, tipul de coloană de date este arbitrară.

Adăugarea unei coloane fără a specifica tipul de date

// Adăugați o coloană fără limitări după tip.
Mese de apoziționale. Addly ("obiect");


Puteți completa valoarea celui de-al doilea parametru. Trebuie transferate în descrierea tipului permis pentru coloana de tip. Descrierea în sine poate fi obținută utilizând un designer prin trecerea tipului de tip ca parametru (dacă sunt multe tipuri, apoi prin virgulă) sau o serie de tipuri valide.

Adăugarea unei coloane cu indicarea tipului de date

// restricții privind tipul de date:
// numai elemente ale cărții de referință "contrapartide".
Semne de masă. COOCLOCURI. ADDUCE ("contrapartită", descrieri noi ("directoryads. Mâncăruri"));


Dacă printre tipurile au permis completarea datelor coloanei, există un șir, puteți limita bitul (lungime), specificați utilizarea unei lungimi variabile sau fixe. Toate acestea sunt asigurate prin crearea unui obiect cu ajutorul unui calificat de designer. Apoi, acest obiect va fi folosit ca unul dintre parametrii descrierii designerului.

Folosind calificări pentru a clarifica tipul de coloane de date

// Pregătirea și instalarea limitărilor pentru datele de tip de date.
Calificări Texte \u003d Calificări noi (20, permise, permeabile);
Admisibili \u003d descrieri noi ("șir", calificări);
Mese. Solonki. Addly ("Notmerity-dovada", admisibilă);


Acțiuni similare pot fi efectuate cu privire la calificările numărului și datei.
Vă rugăm să rețineți: Descrierea tipurilor poate fi construită de către designer ca fiind "de la zero" și utilizarea ca bază deja existentă a tipurilor

Utilizarea tipurilor existente de tipuri pentru a indica valorile coloanei de date de tip de date

// Extinderea descrierilor de tipuri utilizate anterior.
Calificări \u003d noi calificări (10, 2, token admisibile. Nu este negativ);
Datele calificative \u003d nou calificativ) (părți. Date);
Flocuri extinse \u003d descrieri noi (permisiuni, "număr, data", calificările, calificările);

Semne de masă. COOCLOCKS. ADDUCE ("Notă", aditivi extinși);

Tabelul de valori este un obiect universal specific conceput pentru a stoca date într-o vizualizare tabară. Diferența cheie a mesei din obiectele aplicate este lipsa de legare la tabelele bazei de date fizice. Tabelul de valori există numai în memoria RAM, care, pe de o parte, oferă oportunități unice, iar pe de altă parte, impune anumite limitări. Cu toate acestea, posibilitatea interacțiunii cu tabelul este comparabilă cu interacțiunea cu obiectele existente efectiv în baza de date.

Din punct de vedere istoric, tabelul de valoare din 1c are un scop dublu, fiind un analog virtual al tabelelor existente, dar în același timp - și element de control. Odată cu trecerea la aplicația controlată, cea mai mare parte a acestei funcționalități este depășită, dar și în prezent poate fi, de asemenea, un element al interfeței cu utilizatorul, dar cu o serie de restricții semnificative.

Structura tabelului de valori ca obiect

Proprietățile tabelului de valori sunt determinate prin combinații de două colecții predefinite: coloanele și rândurile sale.

Tabelul valorilor difuzoarelor

Coloana Tabel de valori - Proprietatea sa de definire. Este un set de coloane de masă determină structura sa. Coloanele se potrivesc cu câmpurile de mese fizice sau familiare cu interfața cu utilizatorul coloanelor tabulare a pieselor sau a documentelor. Coloana poate avea un nume intern, valoarea valorii și titlul afișat în timpul lucrului interactiv cu tabelul.

Deoarece coloanele sunt o colecție de obiecte, puteți adăuga, șterge și edita coloane.

Rândul de valori

Din punctul de vedere al interfeței software, șirul este o colecție separată încorporată în tabelul de valori. Acestea sunt analoage cu înregistrările meselor fizice, adică liniile obișnuite ale părții de masă sau ale jurnalului de jurnal. Fiecare linie luată separat este un obiect cu un set de proprietăți numite ale căror nume corespund numelor coloanelor de masă.

Astfel, interacțiunea cu șirul este foarte asemănătoare cu interacțiunea cu alte obiecte. Puteți citi și scrie proprietățile, inclusiv utilizarea funcției predefinite a "completării următoarei ()". Deoarece liniile sunt colecția principală a tabelului de valori, apoi să ștergeți toate rândurile tabelului, se aplică metoda "Clear ()".

Creați un tabel de valori

Există multe modalități de a obține tabelul de valori gata de utilizare. Luați în considerare unele dintre ele. Fiecare exemplu va fi dat ca listarea codului cu comentarii.

Crearea unui designer de masă

Principalul mod de a crea doar un astfel de tabelă necesară dezvoltatorului, din păcate, cel mai mult consumator de timp, deoarece este nevoie manual prin toate proprietățile necesare ale tabelului.

Demotabili \u003d mese noi; // în primul rând inițializarea tk // următor, definim parametrii necesari pentru coloane noi și le adăugăm la colecția // Crearea unui nume de coloană "Nomenclatură" \u003d "Nomenclatura"; Tip Tip \u003d Descriere nouă ("directoryads.nanklatura"); Titlu \u003d "Nomenclatură (produs)"; Demotablik. Cutouts. Adauga (la ei, titlu, titlu); // crearea unei coloane "Număr" nume \u003d "număr"; Tipul titlului \u003d descrieri noi ("număr"); Demotabili. Cutouts. ADDLY (nume, titlu); // Ca urmare a datelor de manipulare, am creat o masă goală cu coloane tipărite // Dacă trebuie să utilizați mai multă scriere mai precisă a tipurilor primitive, ar trebui să utilizați sintaxa avansată a designerului Designer "Desigrattics"

Crearea unui tabel de copiere

Dacă mâna are un standard cu o structură și / sau o compoziție adecvată, puteți copia sau descărca tabelul de referință al valorilor. Dacă referința este o altă tabelă, trebuie să aplicați metoda "Tabelul de copiere". Dacă aveți de-a face cu o parte de masă sau un set de intrări de înregistrare, trebuie să utilizați metoda "Tabelul de masă de încărcare". Dacă aveți nevoie doar de o structură, puteți utiliza metoda "Colectare de copiere".

// opțiunea cu copierea din standardul TK a tuturor rândurilor, dar cu conservarea numai a celor două coloane specificate ale Columnalone \u003d "Nomenclatură, număr"; Demotabil \u003d tablethetalon .copy (, columnal); // Opțiune cu copierea din standardul TK a rândurilor pre-selectate, menținând cele două coloane specificate ale stringonului \u003d selectate de către mașină-la-unu Columnalone \u003d "nomenclatură, număr"; Demotabil \u003d tablethetalon .Copy (Rowetal, Columnal); // Opțiune cu copierea de la rândurile TK-Strelna de către filtrul specificat, salvând o coloană "Nomenclature" // toate liniile vor fi selectate în cazul în care valoarea din coloană este egală cu 0, numai coloana nomenclatura de remedii va intrați în tabelul rezultat ("Cantitatea" 0); Columnaltalon \u003d "nomenclatură"; Demotabil \u003d tablethetalon .Copy (Rowetal, Columnal); // opțiunea cu copierea completă a tabelului și îndepărtarea ulterioară a unui rând cu valoarea câmpului de zero este zero și îndepărtarea întregii coloane a coloanei contrapartidei \u003d noua structură ("număr", 0) ; Columnaltalon \u003d "nomenclatură"; Demotabil \u003d tablethetalon .Copy (Rowetal, Columnal); Striges \u003d demotabilă. (0, cantitate "); Demotabil. Ștergeți (Striges); Demotablik. Solonki.deel ("cantitate"); // Opțiuni similare și modificările acestora pot fi aplicate la piese tabulare și seturi de registre

Crearea unei anchete de masă

Dacă în baza de date există o masă de referință, puteți utiliza interogarea pentru a crea rapid o masă cu structura dorită.

/ / Exemplu cu crearea unei mese goale în funcție de structura eșantionului registrului de acumulare // nu este dificil să ghiciți că, în acest fel, puteți obține cererea de masă completă \u003d o interogare nouă ("Selectați primul 0 * de la Registrul. Rezultat Supply \u003d interogare. Umpleți (); Demotable \u003d Recrutarea rezultatelor. Descărcați (); // exemplu cu crearea unei tabele goale prin tipuri specifice specificate și nume ale interogării câmpurilor \u003d o nouă solicitare; Solicitare.Text \u003d "Selectați primul 0 | adică (carte de referință. Substituția. Roll) ca nomenclatură, Express (0 ca număr (15, 3)) ca o cantitate"; Rezultat Supply \u003d interogare. Umpleți (); Demotable \u003d Recrutarea rezultatelor. Descărcați (); // IMPORTANT! Nu trebuie să uitați că în tipurile de valori ale difuzoarelor obținute din interogare sunt întotdeauna prezente tip nul // Astfel, TK creat de interogare are întotdeauna tipuri compozite de coloane

Concluzie

În acest articol mic, am revizuit proprietățile de bază și tehnicile practice pentru crearea unui tabel de valori suficiente pentru a înțelege și a începe aplicarea. Obiectul tabelului de valori este atât de multilateral încât o descriere detaliată a capacităților sale necesită scrierea unui articol separat privind recepțiile și metodele de lucru.

Pentru a ține cont de bani și bunuri, diverse tabele folosesc pe scară largă în afaceri. Aproape fiecare document este o masă.

Tabelul enumeră mărfurile de expediere din depozit. Într-un alt tabel - obligațiile de a plăti pentru aceste bunuri.

Prin urmare, 1c proeminent ocupă munca cu tabele.

Tabelele din 1c sunt numite și "părți tabulare". Ei au cărți de referință, documente și altele.

Cererea ca rezultat al executării sale returnează un tabel, acces la care este posibil să ajungeți în două moduri diferite.

Primul este mai rapid - eșantionare, obținând rânduri de la el numai în ordine. Al doilea se descărcă rezultatul interogării în tabelul valorilor și accesul arbitrar suplimentar la acesta.

// Opțiunea 1 - Accesul secvențial la rezultatele interogării

// primiți tabelul.
Eșantionare \u003d interogare. Umpleți (). Selectați ();
// Pentru a merge în jurul tuturor rândurilor rezultatului interogării
În timp ce eșantion. Următorul () Ciclu
Raport (eșantion. Nume);
Endcycle;

// Opțiunea 2 - descărcarea în tabelul de valori
Solicitare \u003d Noua interogare ("Selectați numele din director. NameNclature");
// primiți tabelul.
Tabel \u003d Interogare. Umplere (). Descărcați ().
// atunci putem ajunge, de asemenea, în jurul valorii de toate liniile
Pentru fiecare rând din ciclul tabelului
Raport (șir. Nume);
Endcycle;
// accesul arbitrar la linii
Linia \u003d tabel. Init ("lopată", "nume");

O caracteristică importantă este în tabelul obținut din rezultatul interogării, toate coloanele vor fi strict tipărite. Aceasta înseamnă că, solicitând câmpul Nume din nomenclatura directorului, veți primi o coloană de tip de șir cu o lungime admisibilă de nu mai mult de caractere N.

Tabel pe formă (client gros)

Utilizatorul funcționează cu un tabel când este plasat pe formular.

Principiile de bază ale lucrărilor cu formularele, am discutat în lecția din lecție din

Deci, puneți un tabel pe formular. Pentru a face acest lucru, puteți trage tabelul din panoul de control. În mod similar, puteți selecta controlul formularului / inserției din meniu.

Datele pot fi stocate în configurație - atunci trebuie să selectați o parte existentă (adăugată anterior) a obiectului de configurare a cărui formă pe care o editați.

Apăsați butonul "..." din proprietatea datelor. Pentru a vedea o listă de piese tabulare, trebuie să dezvăluiți obiectul ramificației.

Când alegeți o parte tabară 1C în sine, adaugă coloane la masă de pe formular. Rândurile introduse de utilizator într-un astfel de tabel vor fi salvate automat împreună cu referința / documentul.

În aceeași proprietate, puteți introduce un nume arbitrar și puteți selecta tipul de tabel.

Aceasta înseamnă că este selectată un tabel arbitrar de valori. Nu va adăuga coloane automate, nu va fi salvat automat, dar este posibil să faceți nimic.

Faceți clic dreapta pe masă puteți adăuga o coloană. În proprietățile coloanei, puteți specifica numele său (pentru a referi la codul 1c), antetul coloanei de pe formular, conexiunea cu detaliile părții tabulare (ultima - dacă nu este o masă arbitrară, iar partea de masă este selectată) .

În Proprietățile tabelului de pe formular, puteți specifica dacă doriți să adăugați / ștergeți linii utilizatorului. Un formular mai avansat - doar o bifată. Aceste proprietăți sunt convenabile de utilizat pentru a organiza tabele destinate afișării informațiilor, dar nu și editarea.

Pentru a gestiona tabelul, trebuie să afișați panoul de comandă. Selectați formularul de element de meniu / Introduceți panoul de comandă / comandă.

În Proprietățile panoului de comandă, selectați un automobil Tick Autofill că butoanele de pe panou apar automat.

Tabel pe forma (client subțire / gestionat)

Pe forma gestionată, acțiunile specificate arată puțin diferit. Dacă trebuie să plasați pe forma părții tabulare - deschideți ramura obiectului și trageți una dintre părțile de masă rămase. Si tot!

Dacă trebuie să plasați tabelul de valori, adăugați un element de formular nou și în proprietățile sale. Specificați tipul - tabelul valorilor.

Pentru a adăuga difuzoare, utilizați meniul de pe butonul din dreapta al mouse-ului din acest detaliu al formularului, opțiunea Adăugați o coloană de propuneri.

După aceea, trageți și masa la stânga.

Pentru ca tabelul să apară panoul de comandă, în proprietățile tabelului, selectați valorile din secțiunea Utilizare - poziția panoului de comandă.

Tabelul de descărcare în Excel

Orice tabel 1c, situat pe formular, poate fi tipărit sau descărcat în Excel.

Pentru a face acest lucru, faceți clic dreapta pe masă și selectați Afișare listă.

În client controlat (fină), pot fi efectuate acțiuni similare utilizând elementul Toate acțiunile / lista de meniu.

Căutați în tabelul de valori 1c

Ce metode există și cum să căutați simultan în mai multe valori.

Pentru a căuta în tabelul de valori există două metode speciale:

1. Găsiți

TVGorizont \u003d cărți de referință. NomeLaclatură. Intepponare ("orizont TV");
Rezultate \u003d tznenenclatură. Init (TV, TV);
// putem specifica în ce vorbitori să caute pentru a accelera căutarea
Fundația \u003d tznomenclatura. Init (TV, "Nomenclatură");

Această metodă returnează prima linie găsită cu valoarea dorită sau nedefinită dacă nu se găsește. Prin urmare, este convenabil să îl utilizați pentru a căuta valori unice, deoarece În caz contrar, va trebui să o ștergeți de la masă atunci când găsiți următoarele.

Pentru a nu suferi, există următoarea metodă care vă permite să găsiți o serie de linii potrivite:

2. Zbor.


Structuraborații. HOLD ("Nomenclatură", TVGorizont); // În primul rând, specificați coloana unde să căutați și apoi ce să căutați.

Această metodă returnează întotdeauna o matrice, dar poate fi goală dacă nu se găsește nimic. Și această metodă, precum și cele anterioare returnează rândurile valorilor valorilor, și nu valorile în sine într-o matrice separată. Prin urmare, schimbarea valorilor în rândul matricei sau în metoda anterioară de la linia găsită, veți schimba valoarea din tabelul de valori procesate.

Cu cât această metodă este mai bună este că poate căuta o dată în mai multe coloane ale mesei valori în același timp:


Structuri \u003d structură nouă;
Structuraborații. HOLD ("Nomenclatură", TVGorizont);
Structură. HOLD (Cantitate ", 10);
FundațiaMassivests \u003d tznenenclatură. Intrări (structuri);

Singurul minus, după cum se poate vedea, nu pot fi folosite alte comparații, cu excepția "egală"