Adăugați o parte tabelară 1s 8.2 a documentului. Cum funcționează programul

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
Ctrl+E

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
Ctrl+E

Î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
Ctrl + Ins

Copiază elementul necesar sau grupul selectat de elemente în clipboard-ul Windows

Tăiați în clipboard

Ctrl+X
Shift + Del

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
Shift + Ins

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
Alt+BackSpace

Reveniți la acțiunea anulată

Ctrl+Y
Shift + Alt + Spațiu înapoi

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
Alt+BackSpace

Anulează ultima acțiune întreprinsă

Reveniți la acțiunea anulată

Ctrl+Y
Shift + Alt + Spațiu înapoi

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
Ctrl + Alt + F

Derulați rapid prin documentul activ

Pagina anterioară

Ctrl + Pagina în sus
Ctrl + Alt + B

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
Ctrl+F6

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
Ctrl + Shift + F6

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ă + (-)
Alt + Num + (-)

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
Jos
Stânga
Dreapta

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
F5

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
Ctrl+F5

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
Jos
Stânga
Dreapta

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
Jos
Stânga
Dreapta

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.


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ării

Row 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).

Acțiune