Pentru exemplul anterior, puteți adăuga următoarele linii de cod:
Elemente de formular.TableField1.AddRow(); pagina = FormElements.TableField1.CurrentRow; p.Primul = 3; p.Second = „Făină”; p.Cantitate = 350;
Cum se determină numărul de rânduri dintr-un tabel de valori în 1s 8?
countRows = table.Quantity(); Raport ("Numărul de rânduri din tabelul cu valorile tabelului = " + numărul de rânduri);
Rezultat:
Numărul de rânduri din tabelul cu valorile tabelului = 3
Cum să ștergeți un rând dintr-un tabel de valori în 1s 8?
rowTable = tabel; table.Delete(rowTable);Cum să restrângi un tabel de valori în 1s 8?
Colaps:
table.Collapse("Al doilea", "Cantitate");
După convoluție obținem:
Cum se sortează un tabel de valori în 1s 8?
Sortați după a doua și a treia coloană:
table.Sort("Al doilea, Cantitate");
Cum se poziționează un câmp de tabel pe o linie în 1c 8?
Pe a doua linie:
Form Elements.TableField1.CurrentRow = tabel;
Formular imprimabil în 1s 8
Mai întâi, facem un aspect (numele zonei: selectați liniile necesare ale aspectului, în proprietăți, în câmpul Nume, introduceți numele zonei), apoi îl afișam într-un document de foaie de calcul:
Procedură CommandPanel1Print(Button) variabilă td, rs, rs1, layout, code, name, nomen; cod = 0; layout = GetLayout ("Produse"); antet = layout.GetArea("Header"); header.Parameters.datta = CurrentDate(); pc = layout.GetArea("pc"); pc1 = layout.GetArea("pc1"); td = New TabularDocument; td.Output(cap); nomen = Directories.Nomenclature; selectie = nom.SelectHierarhic(); while fetch.Next() cod buclă = cod + 1; dacă sample.ThisGroup = True, atunci pc1.Parameters.code = cod; pc1.Parameters.name = selectie.Nume; td.Ieșire(rs1); else rs.Parameters.code = cod; rs.Parameters.name = selectie.Nume; td.Retragere(rs); endIf; endCycle; etc.ViewOnly = Adevărat; td.Show("Directorul ""Nomenclatura"""); Sfârșitul procedurii
Părți tabulare există pentru multe obiecte din 1C:
- Directoare
- Documentație
- Rapoarte și procesare
- Planuri de conturi
- Planuri de tip caracteristic
- Planuri de tip calcul
- Procese și sarcini de afaceri
Părțile tabelare vă permit să stocați o cantitate nelimitată de informații structurate aparținând unui singur obiect.
Să ne uităm la câteva tehnici de lucru cu părți tabulare.
Cum să ocoliți partea tabulară
Pentru a parcurge partea tabelului, puteți folosi o buclă Pentru fiecare
Pentru fiecare rând din partea tabelară a ciclului
Raport (Atribut String. TabularPart) ;
EndCycle ;
La fiecare iterație în variabilă Linia se transmite următorul rând al secțiunii tabelare. Valorile detaliilor rândului pot fi obținute prin expresie Line.AttributeName.
Cum să obțineți și să ocoliți rândurile selectate ale părții tabelare
Pentru a afișa informații din partea tabelară a obiectului, utilizați un element de formular Câmp tabel. Pentru a activa posibilitatea de a selecta mai multe rânduri într-un câmp de tabel, trebuie să setați valoarea Multiplu la proprietatea lui Modul de selecție.
Pentru a obține o listă a liniilor selectate, utilizați următorul cod:
O buclă este folosită pentru a itera prin liniile selectate. Pentru fiecare:
SelectedRows = FormElements. TableFieldName. SelectedRows;
Pentru fiecare rând din bucla rândurilor selectate
//conținutul buclei
EndCycle ;
Cum să selectați în mod programatic rândurile unei părți tabulare (câmpul tabelului) și să le deselectați
Pentru a deselecta în mod programatic rândurile unui câmp de tabel:
Elemente de formă. TableFieldName. SelectedRows. Clar() ;
Pentru a selecta în mod programatic toate rândurile unui câmp de tabel:
Pentru fiecare CurrentRow From TabularPart Loop
Elemente de formă. TableFieldName. SelectedLines. Adăugați(Rândul curent);
EndCycle ;
Cum să ștergeți partea de masă
TabularPart. Clar() ;
Cum să obțineți rândul curent al unei secțiuni de tabel
Linia curentă este perioada în care are utilizatorul acest moment se află cursorul. Pentru a-l obține, trebuie să accesați elementul de control din formularul care este asociat cu partea tabelară.
Pentru formele obișnuite, codul va arăta astfel:
Elemente de formă. TableFieldName. Data curenta;
Pentru formularele gestionate:
Elemente. TableFieldName. Data curenta;
Cum să adăugați un rând nou la o secțiune de tabel
Adăugarea unei noi linii la sfârșitul părții tabelului:
NewRow = TablePart. Adăuga() ;
Adăugarea unei linii noi oriunde în secțiunea tabelului (liniile ulterioare vor fi deplasate):
NewRow = TablePart. Inserare(Index)
//Index - numărul liniei adăugate. Numerotarea liniilor începe de la zero.
Linie nouă. Props1 = „Valoare” ;
Cum să completați în mod programatic detaliile unui rând de tabel
Dacă trebuie să completați în mod programatic detaliile unui rând de secțiune de tabel care este adăugat de utilizator, trebuie să utilizați handlerul de evenimente secțiunea de tabel Când începeți editarea.
Procedura creată de handler are trei parametri:
- Element- contine un element de control TabularField.
- Linie nouă- boolean. Conține valoare Adevărat, dacă este adăugat un nou rând de tabel și Minciună, dacă utilizatorul a început să editeze o linie deja existentă.
- Copie- boolean. Conține valoare Adevărat, dacă utilizatorul copiază linia și Minciună in alte cazuri.
Să ne uităm la un exemplu. Să presupunem că trebuie să completăm detaliile secțiunii tabelare ContCont, în cazul în care se adaugă o nouă linie. Când editați o linie existentă, nu este necesar să schimbați contul de contabilitate.
Procedura TabularPartAtStartEditing(Element, NewRow, Copy)
//Dacă utilizatorul editează o linie existentă, atunci nu facem nimic
Dacă NU NewRow, atunci
Întoarcere;
EndIf ;
//Dacă linia este nouă, setați contul de contabilitate
TechString = Articol. Data curenta; //A primit linia curentă parte tabulară
TechString. Contabilitate = Planuri de conturi. Autoportant. RequiredAccount;
Sfârșitul procedurii
Fiecare soluție 1C de pe platforma 1C:Enterprise 8 are o gamă largă de capabilități. Cu toate acestea, există tehnici universale care pot fi utilizate în orice configurație. Cu acest articol deschidem o serie de publicații în care metodologii 1C vor vorbi despre capacitățile universale ale platformei 1C:Enterprise 8. Să începem cu una dintre cele mai importante metode de creștere a eficienței muncii - cu o descriere a tastelor „hot” (acțiunile de la tastatură, de regulă, sunt efectuate mai rapid decât cele prin meniu folosind mouse-ul). După ce stăpâniți tastele rapide, veți simplifica execuția acțiunilor repetate frecvent.
tabelul 1
Acțiune |
Comenzi rapide de la tastatură |
Cum funcționează programul |
Crea document nou |
||
Deschideți un document existent |
||
Deschideți calculatorul |
Deschide calculatorul |
|
Afișați proprietăți |
Alt+Enter |
|
Deschideți fereastra de mesaje |
||
Închide fereastra mesajului |
Ctrl + Shift + Z |
|
Deschideți tabloul de bord |
Deschide tabela de marcaj |
|
Deschide ajutor |
Deschide ajutorul |
|
Apelați indexul de ajutor |
Shift + Alt + F1 |
Afișează indexul de ajutor |
Taste rapide: acțiuni globale
Acțiunile globale sunt acțiuni pe care le puteți efectua în orice stare de program. Nu contează ce este deschis în prezent în 1C:Enterprise. Principalul lucru este că aplicația nu este ocupată cu nicio sarcină.
Acțiunile globale sunt acțiuni care pot fi apelate oriunde în platforma 1C:Enterprise 8 care rulează. Indiferent de ceea ce se întâmplă exact în configurația care rulează, semnificația acțiunilor globale nu se schimbă (de exemplu, apăsând Ctrl+N va apărea întotdeauna dialogul pentru crearea unui nou document).
tabelul 1
Taste rapide pentru acțiuni globale
Acțiune |
Comenzi rapide de la tastatură |
Cum funcționează programul |
Creați un document nou |
Deschide o fereastră care vă cere să selectați tipul de document nou pe care să îl creați în diferite formate - de exemplu, text, foaie de calcul sau HTML |
|
Deschideți un document existent |
Deschide caseta de dialog standard „Deschidere”, accesibilă prin meniul „Fișier/Deschidere…”. |
|
Activarea câmpului de căutare din bara de comandă |
Plasează cursorul în acest câmp |
|
Deschideți calculatorul |
Deschide calculatorul |
|
Afișați proprietăți |
Alt+Enter |
În funcție de pe ce este plasat cursorul, se deschide paleta de proprietăți corespunzătoare pentru acest obiect sau element. Util atunci când lucrați cu tabele, text, HTML etc. |
Deschideți fereastra de mesaje |
Vă permite să deschideți mai devreme fereastra închisă mesaje. Este adesea util atunci când o fereastră este închisă accidental și aveți nevoie de un mesaj de la ea. Vă rugăm să rețineți: atâta timp cât sistemul nu a introdus nimic din nou în fereastra de mesaje, mesajele vechi sunt păstrate chiar dacă fereastra este închisă |
|
Închide fereastra mesajului |
Ctrl + Shift + Z |
Închide fereastra de mesaj când nu mai este necesar. Vă rugăm să rețineți: combinația este aleasă astfel încât să poată fi apăsată ușor cu o singură mână |
Deschideți tabloul de bord |
Deschide tabela de marcaj |
|
Deschide ajutor |
Deschide ajutorul |
|
Apelați indexul de ajutor |
Shift + Alt + F1 |
Afișează indexul de ajutor |
Taste rapide: acțiuni generale
Acțiuni generale- acțiuni care au aceeași semnificație în diferite obiecte de configurare, dar comportamentul platformei 1C:Enterprise 8 se modifică în funcție de locul în care utilizați exact cutare sau cutare acțiune generală. De exemplu, apăsarea tastei „Del” marchează elementul curent de director pentru ștergere dacă vă aflați în fereastra cu listă de elemente de director. Sau șterge conținutul celulei curente a unui document de foaie de calcul dacă îl editați.
masa 2
Taste rapide pentru acțiuni comune
Acțiune |
Comenzi rapide de la tastatură |
Cum funcționează programul |
Șterge elementul de sub cursor (elementul curent) sau grupul de elemente selectat |
||
Adăuga |
Vă permite să adăugați un element nou |
|
Salvează documentul activ |
||
Tipăriți documentul activ |
Afișează dialogul de imprimare pentru documentul activ |
|
Se imprimă pe imprimanta curentă |
Ctrl + Shift + P |
Inițiază imprimarea directă a documentului activ la imprimanta implicită atribuită în sistem (fără a deschide dialogul de imprimare) |
Copiați în clipboard |
Ctrl+C |
Copiază elementul necesar sau grupul selectat de elemente în clipboard-ul Windows |
Tăiați în clipboard |
Ctrl+X |
Decupează elementul necesar sau grupul selectat de elemente în clipboard-ul Windows. Diferă de copiere prin faptul că elementul sau grupul copiat este șters după intrarea în buffer |
Lipiți din clipboard |
Ctrl+V |
Inserează datele existente din clipboard-ul Windows în locația marcată de cursor. |
Adăugați în clipboard ca număr |
Shift + Num + (*) |
Este folosit pentru valori numerice |
Adăugați în clipboard |
Shift + Num + (+) |
Folosit pentru valori numerice. Operație de adăugare cu date în clipboard |
Scădeți din clipboard |
Shift + Num + (-) |
Folosit pentru valori numerice. Operație de scădere cu date în clipboard |
Selectează tot |
||
Anulare ultima actiune |
Ctrl+Z |
|
Reveniți la acțiunea anulată |
Ctrl+Y |
|
Găsește următorul |
||
Găsiți următorul evidențiat |
||
Găsiți anterior |
||
Găsiți selecția anterioară |
Ctrl + Shift + F3 |
|
A inlocui |
||
Ctrl + Num + (-) |
||
Selectează tot |
Selectează toate elementele disponibile în documentul activ |
|
Anulați ultima acțiune |
Ctrl+Z |
Anulează ultima acțiune întreprinsă |
Reveniți la acțiunea anulată |
Ctrl+Y |
Vă permite să anulați „Ctrl + Z”, cu alte cuvinte - să returnați ceea ce ați făcut înainte de a apăsa Anulați ultima acțiune efectuată |
Deschide un dialog pentru setarea parametrilor de căutare în obiectul de configurare activ și efectuarea acestei căutări |
||
Găsește următorul |
Găsește următorul element care se potrivește cu parametrii specificați în setările de căutare |
|
Găsiți următorul evidențiat |
Găsește următorul element care se potrivește cu cel pe care l-ați selectat (de exemplu, unde este plasat cursorul) |
|
Găsiți anterior |
Găsește elementul anterior care se potrivește cu parametrii specificați în setările de căutare |
|
Găsiți selecția anterioară |
Ctrl + Shift + F3 |
Găsește elementul anterior care se potrivește cu cel pe care l-ați selectat |
A inlocui |
Deschide caseta de dialog Găsiți și înlocuiți valori (unde este permis) |
|
Restrângeți (nodul arborelui, grupul de documente foaie de calcul, gruparea modulelor) |
Ctrl + Num + (-) |
Folosit acolo unde sunt disponibile nodurile de arbore marcate cu „+” sau „-”. |
Restrângeți (nodul arborelui, grupul de documente foaie de calcul, gruparea modulelor) și toate subordonații |
Ctrl + Alt + Num + (-) |
|
Restrângeți (toate nodurile de arbore, grupurile de documente de foi de calcul, grupările de module) |
Ctrl + Shift + Num + (-) |
|
Extindere (nodul arborelui, grupul de documente din foaia de calcul, gruparea modulelor) |
Ctrl + Num + (+) |
|
Extindeți (nodul arborelui, grupul de documente foaie de calcul, gruparea modulelor) și toate subordonații |
Ctrl + Alt + Num + (+) |
|
Extindeți (toate nodurile arborelui, grupurile de documente de foi de calcul, grupările de module) |
Ctrl + Shift + Num + (+) |
|
Pagina următoare |
Ctrl + Pagina în jos |
Derulați rapid prin documentul activ |
Pagina anterioară |
Ctrl + Pagina în sus |
|
Activați/dezactivați conținutul de grăsimi |
Folosit acolo unde formatarea textului este acceptată și posibilă |
|
Activați/dezactivați caracterele cursive |
||
Activați/dezactivați sublinierea |
||
Accesați pagina web/capitolul de ajutor anterior |
Folosit în documente HTML |
|
Accesați următoarea pagină web/capitolul de ajutor |
||
Anularea executării unui raport al sistemului de compoziție a datelor |
Taste rapide: gestionarea ferestrelor
Această secțiune combină tastele rapide comune tuturor ferestrelor și formelor platformei 1C:Enterprise.
Tabelul 3
Taste rapide pentru gestionarea ferestrelor
Acțiune |
Comenzi rapide de la tastatură |
Cum funcționează programul |
Închideți o fereastră liberă activă, un dialog modal sau o aplicație |
Această combinație poate finaliza rapid întreaga configurație pe platforma 1C:Enterprise, așa că folosește-o cu atenție |
|
Închideți fereastra obișnuită activă |
Închide fereastra normală curentă |
|
Închide fereastra activă |
Închide fereastra activă în prezent |
|
Activați următoarea fereastră obișnuită |
Ctrl+Tab |
Vă permite să activați următoarea fereastră dintre cele deschise în configurație. Apăsați într-un ciclu și țineți apăsat Tastele Ctrl vă permite să defilați prin ferestrele deschise „înainte” |
Activați fereastra normală anterioară |
Ctrl + Shift + Tab |
Vă permite să activați fereastra anterioară dintre cele deschise în cadrul configurației. Apăsarea într-un ciclu în timp ce țineți apăsată tasta Ctrl vă permite să defilați prin ferestrele deschise „înapoi” |
Activați următoarea secțiune a ferestrei |
Activează următoarea secțiune a ferestrei curente |
|
Activați secțiunea anterioară a ferestrei |
Activează secțiunea anterioară a ferestrei curente |
|
Apel meniul de sistem aplicație sau dialog modal |
Vă permite să vedeți meniul de sistem al operațiunilor (minimizare, mutare, închidere etc.) deasupra ferestrei programului sau deschiderea dialogului modal |
|
Apelați meniul sistemului de ferestre (cu excepția dialogurilor modale) |
Alt + Cratimă + (-) |
Vă permite să vedeți meniul de sistem al operațiunilor (minimizare, mutare, închidere etc.) deasupra ferestrei active |
Apelați meniul principal |
Se activează panoul principal cu butoanele ferestrei curente. În acest fel puteți selecta acțiuni fără a utiliza mouse-ul |
|
Apelați meniul contextual |
Afișează un meniu contextual deasupra elementului activ în prezent. La fel ca și făcând clic dreapta pe el |
|
Reveniți activitatea la fereastra normală |
Revine activitatea la fereastra normală după ce lucrați cu meniul contextual. Atenţie! În orice alt caz, Esc inițiază închiderea ferestrei active |
Taste rapide: gestionarea formularelor
Aici sunt colectate tastele „hot” care simplifică și accelerează lucrul cu diverse formulare care au fost create în configurații scrise pe platforma 1C:Enterprise.
Tabelul 4
Taste rapide pentru gestionarea formularelor
Acțiune |
Comenzi rapide de la tastatură |
Cum funcționează programul |
Treceți la următorul buton implicit de control/apelare |
Deplasați-vă între comenzile din formularul „înainte” (vezi fila) |
|
Apelarea butonului implicit |
De regulă, diferitele forme au un buton implicit alocat (este diferit de altele - de exemplu, este evidențiat cu caractere aldine). Utilizarea acestei combinații de taste vă permite formă deschisă activați butonul implicit |
|
Treceți la următorul control |
Navigați între comenzile dintr-un formular înainte |
|
Treceți la controlul anterior |
Deplasarea între comenzile din formularul „înapoi” |
|
Activează bara de comandă asociată cu controlul/formularul activ |
Activează panoul principal cu butoane pentru formularul curent. În acest fel puteți selecta acțiuni fără a utiliza mouse-ul |
|
Navigați prin controalele grupate împreună |
Sus |
Folosind tastele cursor vă puteți deplasa rapid între comenzile grupate |
Închideți formularul |
Închide fereastra formularului curent |
|
Restabiliți poziția ferestrei |
Dacă se pierd unii parametri ai ferestrei de formular, această combinație vă permite să returnați totul înapoi |
Taste rapide: lucrul cu liste și arbori
Tastele rapide din această secțiune vă vor ajuta să lucrați eficient fără a utiliza un mouse în numeroase liste și arbori care sunt utilizate în mod activ în diferite obiecte de configurare pe platforma 1C:Enterprise 8.
Tabelul 5
Taste rapide pentru lucrul cu liste și arbori
Acțiune |
Comenzi rapide de la tastatură |
Cum funcționează programul |
Deschide elementul pe care este plasat cursorul pentru editare. Cheia este similară cu acțiunea „Schimbare” activată panou standard butoane de formulare |
||
Actualizați |
Ctrl + Shift + R |
Actualizează datele dintr-o listă sau arbore. Acest lucru este valabil mai ales pentru listele dinamice (de exemplu, o listă de documente) când actualizarea automată nu este activată pentru acestea. |
Copie |
Creează un nou element de listă folosind elementul curent ca șablon. Similar cu butonul „Adăugați prin copiere”. |
|
Un grup nou |
Creează grup nou. Similar cu butonul „Adăugați grup”. |
|
Ștergeți o linie |
Ștergeți direct elementul curent. Atenţie! Utilizați această combinație cu precauție extremă în liste dinamice, deoarece ștergerea nu poate fi anulată |
|
Mutați o linie în sus |
Ctrl + Shift + Sus |
În listele în care ordonarea liniilor este permisă, vă permite să mutați linia curentă în sus. Similar cu butonul „Mutare în sus”. |
Mutați o linie în jos |
Ctrl + Shift + Jos |
În listele în care ordonarea liniilor este permisă, vă permite să mutați linia curentă în jos. Similar cu butonul „Mutare în jos”. |
Mutați elementul într-un alt grup |
Ctrl + Shift + M |
Vă permite să mutați rapid elementul curent (de exemplu, un director) într-un alt grup |
Coborâți un nivel în timp ce extindeți simultan grupul |
Se deplasează în dosarul în care a fost plasat cursorul |
|
Urcați un nivel (la „părinte”) |
Merge în partea de sus a folderului în care te-ai aflat |
|
Terminați editarea |
Finalizează editarea unui articol din listă și salvează modificările. |
|
Nu mai căuta |
Anulează căutarea |
|
Extindeți nodul arborelui |
Folosit acolo unde sunt disponibile nodurile de arbore marcate cu „+” sau „-”. |
|
Închideți nodul arborelui |
||
Extindeți toate nodurile de arbore |
||
Schimbarea unei casete de selectare |
Inversează valoarea casetei de selectare a elementului curent (o activează sau o dezactivează) |
Taste rapide: câmp de introducere
Câmp de intrare- un element de control utilizat activ în multe locuri în formele de configurare. Tastele rapide pentru un câmp de introducere vă permit să efectuați rapid acțiuni utilizate frecvent asupra acestuia. Este deosebit de util să folosiți aceste taste acolo unde dezvoltatorul de configurație nu a furnizat butoanele de control a câmpului de intrare de care aveți nevoie.
Tabelul 6
Taste rapide pentru câmpul de introducere
Acțiune |
Comenzi rapide de la tastatură |
Cum funcționează programul |
Similar cu comportamentul la editarea textului obișnuit, vă permite fie să adăugați caractere noi la cele vechi la introducere, fie să le suprascrieți pe cele vechi cu altele noi. |
||
butonul Selectare |
Selectarea obiectului corespunzător asociat câmpului de introducere (de exemplu, selectarea documentului dorit dintr-o listă). Similar cu butonul „Selectați” câmpul de introducere |
|
Buton de deschidere |
Ctrl + Shift + F4 |
Deschide forma obiectului selectat în câmpul de introducere curent. La fel ca și când faceți clic pe butonul „Deschidere” câmp de introducere |
Şterge câmpul |
Ștergeți un câmp de intrare din valoarea sa actuală |
|
Lucrul cu textul tastat într-un câmp de introducere |
||
Ctrl + Spațiu înapoi |
||
Mergeți la începutul liniei |
||
Mergeți la sfârșitul rândului |
||
Făcând clic pe indicatorul mouse-ului de pe butonul Sus pentru un buton de ajustare |
Utilizați ajustarea dacă este activată în câmpul de introducere. De exemplu, schimbarea datelor, contoarelor etc. Similar cu apăsarea butonului „sus” al regulatorului câmpului de intrare |
|
Făcând clic pe cursorul mouse-ului în jos pe un buton de ajustare |
Utilizați ajustarea dacă este activată în câmpul de introducere. De exemplu, schimbarea datelor, contoarelor etc. Similar cu apăsarea butonului „jos” al regulatorului câmpului de intrare |
Taste rapide: câmp imagine
Câmp imagine- acesta este un element standard al platformei 1C:Enterprise 8 pentru afișarea imaginilor grafice. Tastele rapide vă vor ajuta, de exemplu, să vizualizați confortabil o imagine situată în câmpul de imagine.
Tabelul 7
Taste rapide pentru câmpul de imagine
Acțiune |
Comenzi rapide de la tastatură |
Cum funcționează programul |
A mari |
Scala imaginea |
|
A micsora |
||
Sul |
Sus |
Deplasarea în jurul imaginii |
Derulați în sus dimensiunea ferestrei |
||
Derulați în jos dimensiunea ferestrei |
||
Derulați dimensiunea ferestrei la stânga |
||
Derulați o dimensiune a ferestrei la dreapta |
Taste rapide: Editor de documente pentru foi de calcul
Această secțiune conține taste rapide grupate pentru diverse documente foaie de calcul. Ele pot fi foarte utile dacă editați frecvent datele din astfel de documente.
Tabelul 8
Taste rapide pentru editorul de foi de calcul
Acțiune |
Comenzi rapide de la tastatură |
Cum funcționează programul |
Du-te la celulă |
Deschide o casetă de dialog pentru a trece la o celulă cu coordonate de coloană/rând |
|
Deplasarea prin celule |
Sus |
Mută cursorul prin celulele tabelului |
Treceți prin celule la următoarea umplută sau goală |
Ctrl + (Sus, Jos, Stânga, Dreapta) |
Mută cursorul prin celulele tabelului pline |
Selectarea celulelor |
Shift + (sus, jos, stânga, dreapta) |
Selectează o zonă de celule începând cu cea curentă |
Derulați în sus |
Răsfoiește un document de foaie de calcul |
|
Derulați în jos în pagină |
||
Derulați la stânga o pagină |
||
Derulați la dreapta o pagină |
||
Accesați editarea conținutului celulei |
Activează modul de editare a conținutului celulei |
|
Comutarea modului de editare/introducere într-o celulă |
||
Mergeți la începutul liniei |
Mută cursorul la începutul liniei |
|
Mergeți la sfârșitul rândului |
Mută cursorul la sfârșitul liniei |
|
Mergeți la începutul textului |
||
Mergeți la sfârșitul textului |
||
Setarea numelui zonei curente |
Ctrl + Shift + N |
Setează numele zonei de celule curente |
Taste rapide: editor de documente text
Tastele rapide atunci când editați text în zone de text și documente pot accelera și simplifica semnificativ procesul.
Tabelul 9
Taste rapide pentru editorul de documente text
Acțiune |
Comenzi rapide de la tastatură |
Cum funcționează programul |
Comutați modul de inserare/înlocuire |
Vă permite fie să adăugați caractere noi la cele vechi la introducere, fie să le suprascrieți pe cele vechi cu altele noi |
|
Mergeți la începutul liniei |
Mută cursorul la începutul liniei curente |
|
Mergeți la sfârșitul rândului |
Mută cursorul la sfârșitul liniei curente |
|
Selectați pentru începutul liniei |
Selectează text la începutul liniei |
|
Selectați până la sfârșitul rândului |
Selectează text până la sfârșitul rândului |
|
Mergeți la începutul textului |
Mută cursorul la începutul textului |
|
Mergeți la sfârșitul textului |
Mută cursorul la sfârșitul textului |
|
Selectați pentru a începe textul |
Ctrl + Shift + Acasă |
Selectează de la cursor până la începutul textului |
Selectați până la sfârșitul textului |
Ctrl + Shift + End |
Selectează de la cursor până la sfârșitul textului |
Derulați în sus o linie |
Răsfoirea unui document text |
|
Derulați în jos o linie |
||
Mergeți la începutul cuvântului anterior |
||
Treceți la începutul cuvântului următor |
||
Selectați cuvântul anterior |
Ctrl + Shift + Stânga |
Evidențiați rapid un cuvânt (caracterele separate prin spații) |
Selectați cuvântul următor |
Ctrl + Shift + Dreapta |
|
Derulați în sus |
Răsfoirea unui document text |
|
Derulați în jos în pagină |
||
Selectați pagina anterioară de text |
Evidențiază text pagină cu pagină |
|
Selectați următoarea pagină de text |
Shift + Pagina în jos |
|
Eliminați selecția |
Elimină selecția |
|
Du-te la linie |
Mută cursorul pe numărul rândului |
|
Ștergeți caracterul din stânga cursorului |
Șterge caracterul din stânga cursorului |
|
Ștergeți caracterul din dreapta cursorului |
Șterge caracterul din dreapta cursorului |
|
Ștergeți cuvântul din stânga cursorului |
Ctrl + Spațiu înapoi |
Șterge cuvântul din stânga cursorului |
Ștergeți cuvântul din dreapta cursorului |
Șterge cuvântul din dreapta cursorului |
|
Setați/eliminați marcajul |
Marchează linia de care aveți nevoie |
|
Următorul marcaj |
Mută cursorul între liniile marcate |
|
Marcaj anterior |
||
Ștergeți linia curentă |
Șterge linia curentă |
|
Mutați blocul la dreapta |
Mută blocul de text selectat la dreapta |
|
Mutați blocul la stânga |
Mută blocul de text selectat la stânga |
LA capabilități de bază Limbajele de programare implică de obicei lucrul cu numere și șiruri. De obicei, aceste caracteristici sunt codificate în codul compilatorului (sau sunt implementate clasele „de bază” ale limbajului de programare).
În 1C, capacitatea de a lucra cu șiruri este programată chiar în platformă. Astăzi ne vom uita la caracteristicile lucrului cu șiruri 1C în programele în limbajul 1C încorporat.
Valoarea liniei 1C
1. Să începem cu cel mai simplu. Crearea unei variabile și atribuirea unei valori constante șirului arată astfel în 1C:
Variabilă = „Bună, lume!”;
Dacă trebuie să specificați un caracter de ghilimele într-o valoare constantă de șir 1C, atunci trebuie să-l dublați „”
Variabilă = „Bună, lume”!;
2. Ruptura de linie 1C poate fi specificată în două moduri simultan. Primul folosește simbolul |
Variabilă = „Bună ziua,
| lume! ";
Al doilea folosește enumerarea sistemului Symbols. Vă permite să adăugați atât întreruperi de linie 1C, cât și alte caractere care nu se imprimă, cum ar fi TAB.
Variabilă = „Bună ziua” + Simboluri.PS + „pace!”;
3. Configurațiile în 1C pot fi dezvoltate nu numai pentru o limbă (rusă, engleză sau alta) - ci simultan pentru mai multe limbi. În acest caz, limba utilizată curent este selectată în partea de jos a ferestrei 1C.
Lista limbilor se află în fereastra de configurare din ramura General/Limbi. Fiecare limbă are un identificator scurt, cum ar fi ru sau ing.
Este clar că la programarea unei astfel de configurații, liniile 1C pot fi și multilingve. Pentru a face acest lucru, este posibil să creați o astfel de linie 1C specificând prin; opțiuni după identificatorul de limbă:
Variabilă = "ru=""Bună ziua, lume! ""; ro=""Bună ziua, lume! """;
Dacă utilizați linia 1C formată astfel ca de obicei, atunci va fi ceea ce este scris în ea. Pentru ca sistemul să îl împartă în două opțiuni și să o utilizeze pe cea dorită, trebuie să utilizați funcția НStr():
//corect pentru configurațiile bilingve
Raport(NStr(Variabilă));
Recuzită cu linie tip 1C
Atributul este un câmp din directorul/documentul 1C. Diferă de o variabilă dintr-un program în limbajul 1C prin faptul că pentru atribut este indicat cu precizie tipul acesteia (număr, șir 1C etc.). Dacă aveți nevoie să vă reîmprospătați memoria despre ce este o recuzită, urmăriți lecția.
Dacă specificați tipul de atribut - linia 1C, atunci trebuie să specificați suplimentar parametrii.
Liniile 1C au lungime nelimitată (indicată ca lungime = 0) și lungime limitată, indicând numărul exact de caractere. Liniile 1C de lungime nelimitată sunt stocate separat tabel SQL, astfel încât utilizarea lor este mai puțin productivă decât limitată.
De aceea, utilizarea șirurilor 1C de lungime nelimitată are limitările sale - nu este posibil să le folosiți peste tot. De exemplu, nu este permis ca număr de document, cod de referință sau măsurare.
Lucrul cu șiruri 1C
Există mai multe funcții încorporate ale platformei 1C pentru lucrul cu șiruri.
- AbbrLP („Incredibil, dar adevărat!”)
Îndepărtează de pe linia 1C spatii suplimentare. Poate fi folosit și pentru a converti orice tip într-un șir 1C (de exemplu, numere). - Variabilă = "Vasya" + AbbrLP ("plus") + "Olya"; //va fi „Vasya plus Olya”
Un exemplu de însumare a mai multor valori de șir 1C. Rezultatul va fi o linie 1C. - Variabilă = Lev(„Muzică”, 2); //va fi "Mu"
Variabilă = Mediu(„Muzică”, 2, 2); //va exista „amenințare”
Variabilă = Drepturi ("Muzică", 2); //va fi "ka"
Diverse opțiuni pentru obținerea unui subșir dintr-un șir 1C. - Variabila = Find("Muzică", "zy"); //vor fi 3
Căutați un subșir în șirul 1C, începând cu caracterul 1. - Variabilă = StrLength(„Muzică”); //vor fi 6
Returnează numărul de caractere din linia 1C. - Raport ("Bună ziua") //în fereastra de mesaje din partea de jos a ferestrei 1C
Alertă(„Bună ziua”) //dialog pop-up
Stare(„Bună ziua”) //în linia de afișare a stării din stânga jos
.
Aducerea obiectelor pe linia 1C
După cum știți, cel mai popular format pentru schimbul de informații structurate în prezent este XML. Chiar ultima versiune DOMNIȘOARĂ Office Wordși Excel salvează fișierele în acest format (docx și, respectiv, xlsx, schimbă extensia în zip, deschide într-un arhivator).
Platforma 1C pentru schimbul de date oferă mai multe opțiuni, dintre care principala este și XML.
1. Cea mai simplă metodă este să folosiți funcția Abreviere() sau String(). Puteți utiliza funcția REPRESENTATION() în corpul cererii. Rezultatul acțiunii lor este același - ei generează o reprezentare șir a oricărui obiect 1C pentru utilizator.
Pentru un director implicit, acesta va fi numele acestuia. Pentru un document – numele documentului, numărul și data.
2. Orice obiect 1C (cu restricții) poate fi convertit în XML și invers. Procesul de conversie se numește serializare.
StringViewXml = XMLString(Valoare); //obține XML din valoarea 1C
Value1C = XMLValue(Type("DirectoryLink.Nomenclature"),TypeStringXml); // obțineți valoarea 1C din șirul XML, trebuie să specificați tipul 1C care ar trebui să fie primit
3. Există o modalitate proprie a platformei 1C de a converti orice obiect 1C într-un șir. A migrat de la versiunea 1C 7.7. Acest format nu este înțeles de alte programe, dar alți 1C îl înțelege, ceea ce face ușoară utilizarea lui pentru schimbul între bazele de date 1C.
Rând = ValueInRowInt(Value1C); //obține șirul 1C din valoarea 1C
ValueVFile("C:\MyFile.txt", Value1C); //o altă opțiune, obținem un fișier cu un șir salvat din valoarea 1C
Value1C = ValueFromStringInt(String); //înapoi de la linia 1C
Value1C = ValueFile("C:\MyFile.txt"); //înapoi din fișier
Editarea liniilor 1C pe formular
Pe lângă lucrul cu șiruri 1C într-un program în limbajul 1C, bineînțeles că aș dori ca utilizatorul să le poată edita. Există mai multe posibilități pentru aceasta:
1. Cea mai ușoară modalitate este de a solicita intrarea unei linii 1C la cerere. Această metodă este folosită atunci când predați programarea 1C; în viață este folosită mult mai rar (dar este folosit!).
Variabila = "";
Rând = EnterValue(Variabilă, „Introduceți numele complet”);
2. Pentru a afișa detaliile unui obiect 1C (director/document) sau detalii de formular (vezi), cel mai des este folosit un câmp de introducere. Acesta este cel mai comun instrument din 1C pentru ca utilizatorul să lucreze cu câmpuri de editare.
3. Capacitățile câmpului de intrare pot fi extinse (a se vedea proprietățile câmpului de intrare, faceți clic dreapta pe el, mai multe detalii):
- Casetă de selectare Modul de editare multilinie
- Casetă de selectare Editare avansată (disponibilă dacă caseta de selectare anterioară este bifată)
- Casetă de selectare Mod parolă (vezi).
4. Dacă toate capabilitățile câmpului de intrare nu sunt suficiente pentru dvs., există un editor încorporat. Pentru a-l adăuga în formular, trebuie să adăugați câmp la meniul de control Formular/Inserare document text. În proprietățile sale puteți specifica modul său de funcționare – proprietatea Extensie.
Un câmp de document text nu poate fi asociat direct cu date. Este necesar să scrieți o funcție în handlerul de evenimente OnOpen() al formularului (vezi):
Form Elements.ElementNameTextDocumentField.SetText(StringValue); //aici ValueString este textul primit, de exemplu, de la atribut
Și în gestionarea de salvare - de exemplu, în butonul Salvare - adăugați o salvare:
ValueString = FormElements.ElementNameTextDocumentField.GetText(); //ValoareLinia aici este atributul în care salvăm valoarea
5. În versiunea 1C 8.2.11, în forme controlate, a apărut noua oportunitate Reprezentare linie 1C – Câmp document formatat.
![](https://i0.wp.com/howknow1c.ru/pline/stroka-1s/5.formatirovannyj-dokument-1s.png)
Asemănător câmpului unui document text, trebuie să îl setați când îl deschideți și să îl notați când îl salvați singur folosind programul.
- În obiectul 1C a cărui formă o creăm (director, document, procesare etc.) - adăugați un atribut cu tipul Value Storage
- În funcția OnReadOnServer() setăm textul din atribut
//aici Atributul este atributul adăugat al obiectului 1C
//aici FormattedDocument este numele câmpului din formular pentru editare
&Pe server
FormattedDocument = CurrentObject.Attributes.Get();
Sfârșitul procedurii - În funcția BeforeWritingOnServer() sau folosind butonul, vom scrie textul din câmp
&Pe server
Procedură la ReadingOnServer (CurrentObject)
CurrentObject.Props = NewValueStorage(FormattedDocument);
Sfârșitul procedurii
Numărul de rând al secțiunii tabelare (document) este atribuit pe baza numărului maxim selectat linii.
În același timp, programul 1C însuși „schimbă” numerele de linii (al căror număr ERA mai mare sau egal cu numărul liniei tocmai introduse), astfel încât să nu existe coincidențe de numere pe linii diferite.
Se pare că puteți insera un nou rând în mijlocul tabelului de documente dacă utilizați selecția rândurilor din secțiunea tabelară. Sau puteți chiar introduce un nou rând în prima poziție a părții tabelare :) dacă selecția părții tabulare nu conține niciun rând.
Cum se atribuie linie nouă număr bazat pe numărul maxim dintre toate rândurile din secțiunea tabelară? S-a dovedit că atributul RowNumber este doar pentru citire chiar și pentru rândurile nou adăugate, așa că nu este posibil să îi atribuiți nicio valoare pentru un rând nou.
Cea mai simplă soluție (și cea mai incomodă pentru utilizatori) este interzicerea adăugării unui rând dacă selecția este aplicată părții tabelare 🙂, dar pentru utilizatori această restricție pare mai degrabă artificială (de neînțeles, „exagerat”).
Putin mai mult decizie dificila— apelarea metodei Reset() din colecția RowSelection a unui câmp de tabel (asociat cu partea de tabel). Utilizatorii pot adăuga o linie, dar selecția va eșua. Acest lucru este ilogic și, prin urmare, nu este justificat.
Am rezolvat această problemă („atribuiți un număr noului rând pe baza numărului maxim dintre toate rândurile din secțiunea tabel”) resetare softși restabilirea selecției de rânduri în secțiunea tabelară. În modulul de formular (la începutul textului modulului) am declarat o variabilă locală locSelection1 Structure, la sfârșitul modulului (în secțiunea de inițializare a variabilelor de formular) am inițializat-o:
locSelectionStructure1 = Structură nouă;
Procedura de lucru Înainte de a începeAdăugarea (Element, Respingere, Copiere)
locSelectionStructure1.Clear();
Pentru fiecare element de selecție 1 din rândurile de selecție 1 ciclu
locSelectionStructure1.Insert(SelectionElement1.Name, SelectionElement1.Use);
EndCycle;SelectRow1.Reset();
Sfârșitul procedurii
Procedura de operareWhenEditingStart(Element, NewLine, Copy)
// când selecția este aplicată părții tabelare, numărul rândului este atribuit în funcție de numărul maxim de rânduri din zona vizibilă!!!
// deci mai întâi vom reseta selecția și apoi o vom restabili
// locSelectionStructure1 funcționează ca legătura de transmisieîntre procedurile Lucru înainte de începerea adăugării și Lucrarea la începerea edităriiRow Selection1 = FormElements.Work.Row Selection;
Pentru fiecare element de selecție 1 din structura de selecție 1 ciclu
RowSelection1[SelectionElement1.Key].Usage = SelectionElement1.Value;
EndCycle;
locSelectionStructure1.Clear();Sfârșitul procedurii
Toată această „bucătărie” este interesantă doar pentru acei programatori care nu doresc ca utilizatorii să schimbe numerele prin acțiunile lor existent rânduri în părți tabelare ale documentelor/cărților de referință în anumite situații. Și acest lucru, la rândul său, apare atunci când numărul rândului este scris într-un registru de informații sau în altă parte (adică numărul rândului este folosit ca referință la o anumită linie a documentului).