Internet Windows Android

1c programare de la zero în rusă. Baze de date de fișiere și server

Ți-a apărut o întrebare Cum să devii programator 1C, dar nu ați găsit un răspuns clar la acesta?

Să ne dăm seama împreună.

În primul rând, consider că este necesar să descriu avantajele și dezavantajele profesiei, astfel încât să știi ce te așteaptă.

pro:

  • un număr mare de locuri vacante pe piața muncii,
  • nivel relativ ridicat de venit (sub rezerva competențelor dezvoltate),
  • munca creativă, sarcini foarte diverse,
  • popularitatea din ce în ce mai mare în rândul programatorilor câștigă abilitatea de a lucra de la distanță (dacă lucrați „pentru dvs.”),
  • lipsa specialiștilor calificați facilitează obținerea succesului în profesie,
  • monopolizarea pieței de automatizare a afacerilor de către 1C permite prezicerea unei cereri constante pentru serviciile specialiștilor din 1C: Enterprise.

Acum să vorbim despre contra(sunt disponibile și):

  • muncă sedentară,
  • necesitatea de a stăpâni domeniile conexe de cunoaștere pentru a avea succes (contabilitate și contabilitate fiscală, salarizare etc.),
  • Schimbările constante în instrumentele de dezvoltare (1C: platforma Enterprise) și configurațiile standard (datorită modificărilor legislației) fac uneori modificările care au fost utilizate cu succes anterior inoperabile / irelevante.

Mai există o nuanță - lucrează cu oamenii... Nu l-am notat pe nicio listă, deoarece toți oamenii sunt diferiți, iar cineva îl va considera un plus, iar cineva invers. Decide pentru tine.

Bazat experienta personala, acestea sunt principalele pozitive și laturile negative profesie, poate alți specialiști vor găsi completări.

Dacă după această analiză nu v-ați pierdut dorința de a deveni programator, să mergem mai departe.

Despre formarea de bază

Pentru început, veți avea nevoie de formare inițială, care vă va oferi un impuls de a studia 1C și vă va învăța chiar elementele de bază și vă va putea transmite informații într-o formă accesibilă, în „limbaj uman”.

Ca o astfel de instruire, sunt potrivite cursurile de programare față în față din orașul dvs. într-una dintre firmele francizate 1C, care oferă servicii pentru deservirea programelor 1C. Doar asigurați-vă că această companie are un statut 1C: CSO, adică Centru de instruire certificată. Acest statut implică faptul că compania are specialiști suficient de competenți pentru a efectua instruire, precum și faptul că la finalizarea instruirii veți primi un certificat adecvat (vă voi spune despre beneficiile certificatelor mai târziu). Avantajul unui astfel de început este un profesor live căruia îi puteți adresa întrebări imediat dacă ceva nu vă este clar. Instruirea este de obicei de grup, într-un grup de 10-20 de persoane. Durata antrenamentului este de 2-4 săptămâni.

Dacă orașul dvs. nu este atât de mare și nu există o astfel de companie în el (sau doriți să economisiți bani la formare), atunci vă recomand cursuri de formare de la Evgeniya Gileva... Acesta este un specialist cu înaltă calificare, nu am văzut mai bine decât el. Pe site Cursuri-1s.rf puteți achiziționa cursurile sale plătite sau puteți descărca cursuri gratuite. În acest caz, vorbesc despre cursul său video gratuit „Programare în 1c - în 21 de zile”. O puteți obține pe acest site. În acest curs, Eugene vă va oferi „baza” necesară într-un limbaj simplu și accesibil.

Mai mult, pentru a deveni un specialist 1C de calitate, recomand un alt curs video de Evgeny Gilev ca ghid pentru desktop Cursul 1C: specialist(poate fi găsit pe internet fără probleme). Cursul cântărește aproximativ 22 GB și constă dintr-un bloc de bază și un bloc avansat. Primul oferă elementele de bază, al doilea oferă o cunoaștere aprofundată a platformei. După ce ați însușit acest curs video, veți deveni un foarte bun specialist 1C.

Despre certificate

Compania 1C a dezvoltat un standard pentru certificarea specialiștilor implicați în deservirea programelor 1C: Enterprise. Acest standard include mai multe tipuri de certificate, în acest articol mă voi concentra pe două principale.

  • 1C: Professional - confirmare că proprietarul său poate utiliza în mod eficient capacitățile platformei (dacă certificatul este pentru platformă) sau configurațiile tipice 1C (dacă certificatul este emis pentru una dintre configurațiile tipice. Francizat (14 întrebări, maximul poate fi 2 erori) De fapt, acest certificat indică faptul că aveți cunoștințe inițiale.
  • 1C: Specialist - poate fi, de asemenea, fie în conformitate cu platforma 1C, fie în conformitate cu una dintre configurațiile tipice. Acest certificat indică deja că aveți o înțelegere a principiilor construirii unei platforme, precum și a abilităților de a implementa sarcini personalizate. Cu alte cuvinte, prezența acestui certificat indică faptul că „vă aflați în subiect”. Pentru a obține un astfel de certificat, trebuie să treceți cu succes un examen (4 sarcini, 5 ore până la finalizare), care vă evaluează în mod cuprinzător abilitățile în lucrul cu platforma 1C.

1C: Certificatul profesional arată astfel:

А 1C: Specialistul arată astfel:

Trebuie spus că nu există „obligația” de a obține certificate - este alegerea dvs. conștientă dacă le primiți sau nu. De regulă, acestea nu aduc beneficii materiale. Cu toate acestea, ele au mai multe avantaje evidente:

  • în interviurile cu un potențial angajator, le puteți folosi ca avantaj evident, ca argument în favoarea creșterii salariilor,
  • Atunci când angajează un nou angajat, firmele francizate își evaluează adesea competența după numărul (și calitatea) certificatelor. Și dacă nu există deloc, candidatura dvs. ar putea să nu intereseze un astfel de angajator.

Vorbind despre companiile clienți în care veți servi 1C, merită să spunem că managerii lor, în majoritatea covârșitoare a cazurilor, nu au nicio idee despre certificate și sunt indiferenți față de aceste bucăți de hârtie.

Deci, decideți dacă aveți nevoie de certificate sau nu.

Despre competențele necesare

Voi da o listă de abilități și abilități care, după părerea mea, trebuie să fie în arsenalul unui bun programator 1C:

  • cunoașterea limbajului de interogare 1C,
  • abilitatea de a lucra cu forme regulate și controlate,
  • capacitatea de a crea rapoarte pe sistemul de compunere a datelor ACS,
  • cunoașterea particularităților obiectelor de configurare internă (documente, cărți de referință, registre, planuri de tipuri de caracteristici etc.),
  • capacitatea de a personaliza schimbul de date între configurații diferite 1C,
  • capacitatea de a primi și încărca în mod eficient date în fișiere Format XML, MS Excel, MS Word,
  • Abilități de bibliotecă subsisteme standard BSP, creație rapoarte externe, tratamente și formulare tipărite.

Aș dori, de asemenea, să subliniez următoarele: Cred că un bun programator 1C trebuie să cunoască funcționalitatea configurațiilor tipice 1C:

  • Managementul salariului și al resurselor umane 3.1,

Ignorarea capacităților acestor configurații duce adesea la faptul că mulți specialiști încep să „reinventeze roata” și fac dezvoltări pentru a rezolva acele sarcini, a căror implementare este deja prevăzută de funcționalitatea de configurare. Vă recomand să stăpâniți aceste configurații în paralel cu aprofundarea cunoștințelor în programarea platformei 1C.

Ar fi, de asemenea, frumos să învățați cum să modificați programul utilizând extensii (fără a face modificări în configurația însăși) - acest lucru va facilita într-o măsură suplimentară întreținerea acestuia și va demonstra calificărilor dvs. către client.

În concluzie, voi răspunde la câteva dintre cele mai multe întrebări frecvente pe această temă.

Cât durează să studiezi?

Este imposibil să răspunzi fără echivoc, totul depinde de capacitatea ta de învățare și de ce obiective ți-ai propus. Dacă, cu toate acestea, pentru a deduce „temperatura medie în spital”, atunci putem spune că, după ce ați petrecut de la șase luni la un an de formare, veți fi gata să rezolvați majoritatea problemelor care apar din clienții reali. Desigur, cu condiția ca instruirea să fie suficient de intensă și să învățați de la profesioniștii din domeniul lor.

Care sunt perspectivele profesiei?

În opinia mea, perspectivele sunt destul de bune, dat fiind faptul că 1C este o companie cu monopol, iar majoritatea covârșitoare entitati legale pe teritoriul Rusiei (și în țările CSI) utilizați software pe 1C: platforma Enterprise. Avantajul este că, spre deosebire de omologii occidentali, 1C poate fi achiziționat cu mult mai puțini bani și doar acest program ia în considerare particularitățile managementului și contabilității reglementate din țara noastră.

Cât câștigă programatorii 1C

Nici aici nu există standarde uniforme - totul depinde de calificările programatorului și ale orașului de reședință. De exemplu, la Moscova, nivelul de venit al unui programator cuprins între 150 și 170 de mii de ruble poate fi considerat decent, în timp ce, de exemplu, în orașele Siberia și Orientul Îndepărtat, cu greu veți putea găsi un astfel de angajator și un salariu de 70 de mii de ruble. considerat destul de bun aici. În funcție de nivelul de pregătire al programatorului, plafonul veniturilor din același oraș pentru un programator cu cunoștințe minime și un profesionist în domeniul său poate diferi de 2-4 ori. Pe baza celor de mai sus, putem afirma cu încredere următoarele:

Dacă doriți un venit mai mare - îmbunătățiți-vă în mod constant abilitățile și / sau mutați-vă la Moscova.

1. Ce este limba 1c.
2. Metode, variabile, alte construcții de limbaj.

Ce este limba 1c.

Orice limbaj de programare este conceput pentru a instrui programul să efectueze acțiunile necesare pentru noi. Scrierea codului este ca și scrierea unui manual, în care vă spunem ce să faceți și în ce ordine. Toate codurile de configurare executabile pot fi doar în module, luați în considerare principalele 4 tipuri:

1. modul de aplicare

2. module comune

3. modulul obiect

4. modulul formularului.

V tipuri diferite module, codul este executat în diferite etape ale executării programului. Într-un modul de aplicație, codul poate fi executat când programul pornește sau când este închis, în module obișnuite atunci când este apelat din alte module, într-un modul obiect - atunci când se manipulează un obiect (creați, modificați, ștergeți), într-un modul formular - în timpul acțiunilor pe un formular. Ce se poate folosi la scrierea codului:
Variabile, obiecte și detaliile acestora, metode create de noi (programatori 1C) și sistem (încorporat în platformă), precum și construcții de limbaj încorporate.

Metode, variabile, constructe de limbaj

Variabile sunt folosite pentru a stoca date în timpul sesiunii unui utilizator. O variabilă este un cuvânt care începe cu o literă (rusă sau engleză) sau cu o subliniere „_” și constă din litere, cifre și puncte de subliniere.
De exemplu :

  • Aceasta este o variabilă
  • _Această variabilă
  • _Aceasta1_Variabilă

Faptul că literele pot fi rusă și engleză poate juca o glumă crudă atunci când se utilizează litere similare în stil din diferite limbi.

Cazul literelor din cod nu este luat în considerare, adică Variabilele "Variable1" și "Variable1" sunt aceleași la executarea codului pentru program. Este de dorit ca numele variabilelor să fie semnificative. Acest lucru îmbunătățește lizibilitatea codului.

Obiecte și cerințe sunt citite și modificate în procesul de lucru asupra datelor.
Un obiect este un set de date grupate conform unui criteriu specific. De regulă, obiectele dintr-o bază de date sunt o reflectare a documentelor, a listelor de date și a enumerărilor lumii materiale. De fapt, cerințele obiectelor stochează date.

De exemplu: Obiectul "Chitanță de vânzare nr. 00018 din 01.01.2005".
Putem distinge această chitanță de vânzare de alte chitanțe de vânzare prin detaliile pe care le conține. Aceasta este variabila "Număr" cu valoarea "00018" ( introduceți șir ) și atributul „Data” ( tip data ) cu valoarea „01.01.2005”. Singurul lucru pe care l-am putea determina după obiect, fără a cunoaște valorile detaliilor sale - acesta este tipul său "Chitanță de vânzare".
Metode sunt instrucțiuni mici și de obicei complete.

De exemplu, metoda de sistem „CurrentDate ()” este clară din nume că va returna data curentă a computerului. Sau să spunem că puteți crea o metodă " StringContainsDigit(CheckedString) „Care va întoarce răspunsul Adevărat sau Minciună, aici trecem parametrii între paranteze, adică date în funcție de care metoda ar trebui să acționeze. Ambele metode considerate sunt funcții, limbajul are și metode-proceduri. Diferența dintre ele este un lucru. Funcția trebuie să returneze o valoare.

Alte constructe lingvistice (operatori, colecții de valori etc.) sunt cuvinte rezervate de sistemul 1c care ajută la manipularea datelor.

De exemplu :

Pentru fiecare ItemCollection din Ciclul CollectionName EndCycle;

Exemplul arată construirea iterației asupra elementelor unei colecții. Această construcție se numește ciclu ... Cele mai multe tipuri de obiecte, precum și atributele lor, sunt colecții care pot fi repetate în felul de mai sus și se referă la un element de colecție specificând indexul acestuia (NumeleNume [0]). Toate colecțiile încep cu un element cu index = 0.

Directorul de dezvoltare Android, Stephanie Cuthberson, anunță Kotlin ca una dintre limbile oficiale pentru sistemul de operare, 2017 Sursa Google a făcut Kotlin ...

  • Limbaje de programare dezvoltate de programatorii ruși și sovietici

    Kotlin Kotlin este un limbaj de programare tipizat static care rulează pe partea superioară a JVM și este dezvoltat de JetBrains ....


  • Canalele YouTube cu lecții de programare

    ITVDN Technostream Mail.Ru Group Gosha Dudar loftblog Howdy Ho ™ - Doar despre lumea IT! Kirill Antonov Byte ++ Ivan Booravoi splincode wd Web ...


  • Clasament RedMonk: TypeScript și Kotlin sunt limbajele de programare cu cea mai rapidă creștere

    Potrivit unui nou raport al RedMonk, TypeScript și Kotlin au cele mai bune rate de creștere în ceea ce privește utilizarea și interesul extern ...

  • Google numește Kotlin drept principalul limbaj de programare pentru dezvoltarea aplicațiilor Android

    Google a anunțat la conferința pentru dezvoltatori I / O din 2019 că limbajul de programare Kotlin va fi acum o prioritate pentru dezvoltare ...

  • Stack Overflow a numit cele mai populare și mai bine plătite limbaje de programare în 2019

    Stack Overflow a numit cele mai populare și mai bine plătite limbaje de programare în 2019. Cercetarea este publicată pe site-ul ...


  • Cum să faci milioane de surse deschise: de la Red Hat la Nginx

    O sursă Sursa deschisa a trecut de la un hobby de romantici nonconformiști la un instrument obișnuit de a face bani. Noi abordări ...

    Această lecție video povestește despre originea și dezvoltarea programării și computerelor, menționează momentele cheie din istorie legate de dezvoltare ...

  • Conectați-vă ca student

    Conectați-vă ca elev pentru a accesa materialele școlare

    Limbaj de programare intern 1C 8.3 pentru programatorii începători: instalarea 1C și primul dvs. program în limbaj 1C

    Dacă nu ați citit introducerea lecțiilor, vă rugăm să o citiți :.

    Instalarea versiunii educaționale a 1C

    Pentru a învăța programarea, avem nevoie 1C 8.3 (nu mai mic de 8.3.4.482).

    Dacă aveți 1C versiunea 8.3 instalată, utilizați-o. Dacă nu, descărcați și instalați versiunea educațională, pe care 1C o lansează special în scopuri educaționale.

    Sarcina numărul 1: descărcați și instalați versiunea educațională 1C 8.3.

    Instrucțiuni de execuție:

    • Despachetați arhiva descărcată de pe link într-un folder separat de pe desktop:
      • link pentru descărcare din Dropbox (opțiunea # 1)
      • link pentru descărcare de pe Mail.ru (opțiunea numărul 2)
    • Rulați fișierul „setup.exe”.
    • Faceți clic pe Următorul, Următorul, Instalați.
    • Așteptați finalizarea instalării.

    După finalizarea activității # 1, următoarea comandă rapidă ar trebui să apară pe desktop:

    Felicitări! Platforma 1C este instalată și foarte curând veți putea scrie primul program.

    Primul program

    Acest lucru a devenit deja o tradiție pentru programatori - atunci când învață un nou limbaj, primul lucru pe care îl scriu în el este un program care tipărește pe ecran fraza „Bună ziua, lume!”.

    Nu vom fi o excepție. Dar, fiind programatori ruși, să facem computerul să afișeze expresia „Bună ziua, lume!”

    Sarcina numărul 2: scrieți un program în 1C 8.3, care, atunci când este lansat, afișează sintagma „Bună ziua, lume!”

    Instrucțiuni de execuție:

    1. Lansați comanda rapidă „1C: Enterprise” de pe desktop.

    2. O listă de baze 1C s-a deschis în fața ta. După cum puteți vedea, este gol. Să creăm baza de antrenament, în care vom programa. Apasă pe " Adăuga".

    3. Selectați „ Crearea unui nou baza de informații "și apăsați butonul" Mai departe".

    4. Selectați „ Crearea unei baze de date fără configurare ..."și apăsați butonul" Mai departe".

    5. Specificați „ Instruire"și apăsați butonul" Mai departe".

    6. Specificați orice folder gol ca director de bază (în acest caz este folderul „Training” din documentele mele). Apăsați „Următorul”.

    7. Specificați opțiunea de autentificare " Selectați automat", modul de pornire" Client gras". Nu specificați nimic ca versiunea 1C: Enterprise, faceți clic pe butonul" Finalizare ".

    8. După cum puteți vedea, prima bază de date pe care tocmai am creat-o singură a apărut în sfârșit în listă! Să începem să scriem un cod. Apasă pe " Configurator".

    9. În fereastra care se deschide, selectați prin meniu „ Configurare"->"Deschideți configurația".

    10. În panoul care se deschide în stânga, faceți clic dreapta pe cuvântul „ Configurare„și selectați din listă” Deschideți un modul al unei aplicații gestionate".

    11. S-a deschis o fereastră cu un editor. Puteți scrie text aici! Vom lucra cu el în viitor.

    12. Acum, fără ezitare, rescrieți următorul text în această fereastră:

    Raport („Hello World!”);

    13. Excelent! Codul pentru primul nostru program este acum complet. Să-l lansăm pentru executare. Prin meniu " Depanare"->"Începeți depanarea"(sau cheie F5).

    14. Răspunsul la întrebare este afirmativ.

    15. După o secundă sau două, va începe 1C și inscripția „Bună ziua, lume!” Va apărea în fereastra de mai jos. Am primit ceea ce ne-am dorit de la computer. Felicitări pentru primul program!

    Dacă scrieți în SI
    Fii de cel puțin trei ori mai plăcut
    Ei spun despre acest lucru:
    "Este un programator mișto!"
    (Cântece Fidoshnye - „Ce este Suxxx și Ce este Rulezzz”)

    cuvânt înainte

    Motivul pentru care a scris acest articol a fost atitudinea negativă a comunității profesionale față de această platformă și programatori.

    În calitate de programator care a ales 1C, cred că această opinie este nefondată. Platforma 1C este departe de a fi ideală, dar, în opinia mea, este cel mai bun și cel mai important, un produs intern!

    Și cu atât mai mult - este inadecvat să judeci abilitățile unui programator după limbajul în care scrie.

    În acest articol voi descrie beneficiile pe care le-am găsit pentru mine în program. Articolul se va dovedi a fi aproape o reclamă, așa că ne exonerăm imediat de responsabilitate:

    • Nu am nicio relație directă cu 1C;
    • Acest articol nu este personalizat și este scris numai în mod voluntar;
    • În unele cazuri, este exprimată o opinie personală, care poate să nu coincidă ...;
    • Întregul articol, cu excepția prologului, este al autorului, orice coincidență este un accident;
    • Vom vorbi despre platforma 1C Enterprise 8.2 (în prezent versiunea 8.3 este relevantă, dar nu am studiat-o încă - multă muncă pe 1C 8.2). Cu toate acestea, majoritatea celor spuse se aplică atât platformei 8.3, cât și versiunilor anterioare, iar unele dintre ele se aplică și versiunii 7.7.
    Deci sa începem.

    Despre ce vorbim?

    Platforma 1C Enterprise 8 este:
    • Funcționează în două versiuni - fișier și server (cu trei linkuri) - fiecare are propriile sale avantaje și dezavantaje;
    • Un sistem independent de contabilitate ușor de instalat și configurat;
    • Ecosistem puternic pentru programatori cu toate obiectele și instrumentele necesare;
    • Interfață ergonomică frumoasă;
    • O soluție de afaceri relativ ieftină;
    • Rețea de francizați, formare inițială;
    • O bază puternică de dezvoltări și cunoștințe acumulate de-a lungul anilor;
    • Uneori platformă problematică pentru administratorii de sistem;
    • Nu cea mai rapidă execuție a algoritmilor (deși nu cea mai lentă) - acesta este un tribut adus conținutului informațional (în caz de erori, numărul liniei și conținutul acestuia sunt indicate);
    • Limbajul de programare nu are clase (moștenire, încapsulare, polimorfism), nu are funcții anonime și alte caracteristici moderne. Dar pentru rezolvarea majorității sarcinilor - acest lucru nu este necesar!
    Pentru organizarea contabilității - o singură platformă nu este suficientă. Platforma este un fel de „motor”, o legătură intermediară între program și baza de date. Programele pentru acest „motor” se numesc configurații. Configurația descrie structura bazei de date sub formă de obiecte, textele procedurilor stocate în module separate (există multe module, sunt atât în ​​fiecare obiect, cât și în sistem în ansamblu și există și module comune). Platforma oferă un nivel de abstractizare în care nu este necesar accesul direct la baza de date și vă permite, de asemenea, să vă abstrați sistem de operareși tipul bazei de date.

    Baze de date de fișiere și server

    Platforma este formată din mai multe părți și poate funcționa într-o versiune de fișier sau server.

    În versiunea de fișier, întreaga bază de date este conținută într-un singur fișier (cu extensia "1cd") - platforma este instalată pe fiecare computer și citește direct / scrie în baza de date.

    Avantajele opțiunii fișier - preț scăzutși ușurința desfășurării.

    Contra - structura fișierului „1cd” este închisă, nr sistem unificat interacționând cu baza de date. Ca urmare, este dificil de utilizat când un numar mare utilizatori (încercat pentru peste 20 de utilizatori - puteți lucra). În plus, actualizările dinamice eșuează cu o dimensiune a bazei de date de aproximativ 15 GB (sau mai mult). Rezolvarea unor astfel de eșecuri este o sarcină dificilă, iar utilitarul de reparare a bazei de date nu repară întotdeauna în mod eficient și, uneori, chiar strică baza de date.

    Există o soluție - aceasta este, în primul rând, configurarea cotidianului Rezervați copia Bază de date. În plus, meșteșugarii nu numai că publică formatul de fișier 1cd, dar au dezvoltat și utilitare pentru lucrul cu astfel de fișiere și o serie de metode pentru a rezolva probleme similare.

    În versiunea de server, platforma pentru stocarea bazei de date utilizează un server SQL (de obicei acesta este MS SQL, dar începând cu 8.2.14 - puteți utiliza unele altele, de exemplu, Firebird PostgreSQL, IBM DB2, Oracle Database) și platforma în sine folosește o arhitectură pe trei niveluri:

    O parte din cod este executată pe client, altele pe server. În acest caz, numai serverul interacționează cu baza de date. În același timp, începând cu versiunea 8.2, pe lângă modul de operare standard, care a fost numit „ client gras", Există două noi moduri de operare -" client subțire "și" client web "; a aparut si " formulare gestionate», aspect care este construit sub forma unui arbore abstract de elemente. Programarea pentru formulare gestionate și o arhitectură pe trei niveluri este mai dificilă, dar vă permite să transferați aproape toată încărcarea pe server (adică puteți cumpăra un server puternic și o sută dintre cele mai ieftine computere de birou).

    Plusuri ale platformei: „trei linkuri” - distribuția încărcării, deschiderea bazei de date (în mod oficial compania 1C își asumă responsabilitatea pentru orice corupție de date dacă Baza de date SQL modificările au fost făcute cu excepția platformei sau a serverului lor, dar aceasta oprește puțini oameni), fără restricții.

    Contra - preț: va trebui să cumpărați separat licențe client pentru fiecare computer client, separat - o licență pentru serverul 1C, o licență separată pentru serverul SQL, dacă nu o utilizați pe cea gratuită. De asemenea, uneori există dificultăți în funcționarea bazei de date. Acestea sunt rezolvate mult mai repede datorită disponibilității datelor și a disponibilității instrumentelor externe pentru lucrul cu baza de date. În plus, în acest caz, ar trebui să faceți o copie de rezervă a bazei de date.

    Un plus comun este versatilitatea codului de configurare: cu câteva excepții, o configurație concepută pentru baza de fișiere datele vor rula pe camera serverului și invers. Un exemplu de excepție este transferul unei valori modificabile către server sau de la server către client (în versiunea fișierului acest lucru nu va cauza excepții, dar în versiunea client-server este interzis).

    Un alt plus: platforma este instalată foarte simplu, așa ceva: „Next-Next-Next-Ok”, nu este necesară reglarea fină și instalarea componentelor.

    Pentru versiunea de server, mai sunt câteva setări, dar totul se face în dialogul de instalare și nu necesită prescrierea nimic în fișiere separate... Instalarea unui server SQL poate fi oarecum dificilă, deoarece în acest caz, există mult mai multe setări (și pentru a-l regla, trebuie să studiați instructiuni aditionale). Dar acest lucru nu se aplică problemelor platformei 1C. Mai mult, dacă instalați, de exemplu, un server MS SQL cu toate setările implicite, atunci 1C va putea lucra cu acesta.

    Este mai mult decât contabilitate

    Când vine vorba de platforma 1C, este prezentată, în primul rând, ca un program de contabilitate. Într-adevăr, aceasta este cea mai populară zonă de utilizare a platformei 1C. Dar 1C nu trăiește doar din contabilitate!
    Cei care sunt familiarizați cu platforma spun că este un sistem de contabilitate (automatizarea contabilității). Acest lucru este mai aproape de adevăr - există multe configurații, atât de la 1C, cât și de la dezvoltatori terți. Unele sunt legate indirect doar de contabilitate, altele nu sunt legate deloc.

    În general, este mai corect să reprezentați platforma 1C ca un shell pentru modelarea obiectelor bazei de date, a interfeței și a programării în limbajul 1C. Singura limitare este că pentru fiecare configurație se creează propria bază de date și o singură (totuși, este posibil să vă conectați suplimentar surse externe date, adică alte baze).

    Ecosistem pentru programatori

    Să luăm acum în considerare limbajul 1C și platforma din punctul de vedere al dezvoltatorului:
    Model de obiecte de baze de date.În primul rând, nu lucrăm direct cu baze de date. Nu este nevoie. Pentru comoditatea noastră, toate datele sunt prezentate sub formă de obiecte interconectate (directoare, documente, registre de informații, registre de acumulare, ...), iar platforma scoate automat aceste date din baza de date.
    De exemplu, cu condiția ca variabila „Element de nomenclatură” să conțină un link către articolul din catalogul de nomenclatură, catalogul de nomenclatură are variabila PrimarySupplier, de tip Catalog.Contractors, iar catalogul Contractorilor are atributul FullName, apoi codul:

    ItemNomenclature.PrimarySupplier.Full
    ... va duce la faptul că platforma 1C, utilizând mecanisme interne, găsește o intrare în tabelul corespunzător directorului „Contractori” de către identificatorul din câmpul „Furnizor principal” al articolului articolului și returnează valoarea câmp corespunzător câmpului "FullName" din model de obiect carte de referință „Contractori”.

    Pot exista multe astfel de dereferențe - sistemul va face față. Singura avertisment este că sistemul nu știe cum să optimizeze dereferențierea, așa că ar trebui să te străduiești să le scoți din toate buclele posibile.

    În plus față de obiectele care descriu date, există un număr mare de obiecte de sistem - pentru o mare varietate de funcții. Voi evidenția unele dintre ele:

    Magazine de valoare
    Matrice- un obiect care stochează un set de date, spre deosebire de reprezentarea clasică a matricelor. Ar putea fi date tipuri diferite(număr, șir, referință, alt obiect). Are o funcționalitate minimă și este utilizat în principal ca un container temporar pentru transferul de valori între alte depozite.

    Lista valorilor- un obiect, în special pentru lucrul cu interfața cu utilizatorul. În plus față de date, pentru fiecare element poate conține și o vizualizare, un semn de pavilion și o imagine (pictogramă). De asemenea, are metodele „SelectElement ()” și „MarkElements ()” - când este apelat, dialogul interfeței este afișat utilizatorului (ceea ce este convenabil - nu este nevoie să creați acest dialog în configurație).

    Structurași Corespondenţă- stocări de valori asociate „Cheie și valoare”. În structura „Cheie”, acesta este un șir care respectă regulile de numire a variabilelor în 1C (fără spații, nu începeți cu o cifră, constă doar din litere, numere și un punct de subliniere). Conform - "Cheia" este orice valoare. Cea mai rapidă căutare a obiectelor se potrivește (mai rapid decât într-o matrice și un tabel de valori indexat).

    Tabelul valorilor- un obiect foarte convenabil și destul de rapid pentru stocarea și prelucrarea datelor. Coloanele din tabelul de valori pot fi adăugate și eliminate, indiferent de numărul de intrări. În acest caz, datele din rânduri nu se pierd (sau doar datele din celulele corespunzătoare coloanelor șterse sunt șterse). De asemenea, are o metodă „SelectRow ()” care invocă dialogul de selectare a rândurilor. Există indicii.

    Arborele valorilor- un obiect reprezentând date ierarhice. Conține coloane, setul de coloane este același pentru toate înregistrările de la toate nivelurile. Eliminarea / adăugarea de coloane într-un arbore de valori este la fel de ușoară ca și într-un tabel de valori. De asemenea, are o metodă „SelectRow ()”.

    Obiecte de interfață și obiecte pentru lucrul cu diverse date TextDocument, SpreadsheetDocument, Web Browser, FileReader, FileWrite, ZIPFile Reading, ZIPFileWrite, XMLReader, XMLWriter, HTTPRequest și multe alte obiecte și există un ajutor încorporat pentru tot ce se află în configurator. Scopul obiectelor enumerate poate fi văzut din numele lor și toate acestea sunt disponibile imediat pe platformă.

    Separat, trebuie remarcat faptul că există un obiect „Metadate” - cu ajutorul căruia puteți studia structura datelor în limbajul de programare, precum și pentru fiecare legătură sau obiect pentru o carte de referință, un document, un plan de conturi, etc. există o metodă „Metadate ()” - care oferă o descriere a acestei cărți de referință / document / plan de conturi / etc. în baza de date (ce detalii, secțiuni tabulare sunt disponibile, lungimea codului / numărului etc.). Este adesea foarte convenabil.

    Și ar trebui, de asemenea, să menționăm separat despre obiecte: "Interogare", "QueryConstructor", "QueryBuilder", "ReportBuilder", "DataCompositionSchema". Această familie implementează un set de obiecte pentru lucrul cu puternicul limbaj de interogare 1C.

    Limbajul interogării. Interogările din 1C sunt utilizate numai pentru a obține un eșantion de date cu selecție, sortare, grupare convenabile. Ca primă aproximare, aceasta este declarația „SELECT” din SQL tradusă în rusă, totuși, în limbajul de interogare 1C există și funcționalități absente în SQL, și anume:

    • Lucrul cu obiecte de configurare 1C, în loc de tabele SQL;
    • Lucrul cu linkuri în locul câmpurilor de identificare SQL;
    • Suport pentru diferențierea, similar cu modul în care se face în cod;
    • Selectare prin intrare în grup (pentru cărți de referință);
    • Totaluri ierarhice;
    • Tabelele și subinterogările temporare (SELECT * FROM (SELECT ...)));
    • Constructor de interogare - convenabil, orientat spre obiect, optimizând automat textul interogării pentru o citire rapidă, care poate analiza textul interogării (analizați textul interogării și construiți un model de obiect din acesta);
    • Generatorul de rapoarte este un supliment pentru motorul de interogare, în care a fost adăugată funcționalitatea formatării automate a rezultatelor, precum și personalizare flexibilă interogarea în sine în modul „Enterprise” (adică de către utilizator). Ca rezultat, a apărut un raport universal pe platformele standard 1C, în care utilizatorul poate configura ce date și în ce ordine dorește să vadă ce este în rânduri, ce este în coloane, iar raportul în sine generează tabelul de ieșire;
    • ACS (Data Composition System) este următorul model care a încorporat funcționalitatea unui raport universal și l-a completat cu unele funcții pentru procesarea rezultatelor.

    Limbaj de programare
    În ceea ce privește sintaxa, limbajul 1C este similar cu „Pascal rus”, dar diferă de „Pascal” prin mai puțină rigoare și absența unor construcții:

    • Nu este nevoie să declarați variabile - puteți inițializa direct în textul modulului;
    • Nu există o tipare rigidă a variabilelor. Sistemul are tipuri de valori, dar nu există reguli stricte de tastare pentru variabile. Variabila care a stocat linkul poate stoca deja un număr sau un șir în câteva linii de cod;
    • Puteți adăuga variabile cu valori de diferite tipuri, iar tipul rezultatului va fi același cu tipul primei variabile, de exemplu:
      k = „25” +1; // k = „251”, nu 26
    • Variabilele cu valori de diferite tipuri pot fi comparate pentru egalitate sau inegalitate (dar nu mai mult sau mai puțin, aceasta va cauza o excepție) - în mod firesc, astfel de variabile nu sunt egale;
    • Există funcții și proceduri, este permisă utilizarea recursivității (cu adâncime recursivă limitată);
    • Când specificați o funcție sau o procedură fără parametri - totuși, asigurați-vă că includeți paranteze goale la sfârșit: here_so ();
    • Există module: fiecare carte de referință și document are mai multe dintre ele, în plus, registrele, rapoartele și procesarea au module și fiecare formular, precum și în configurație, este posibil să se creeze module comune;
    • Fără clase, moștenire, încapsulare, polimorfism;
    • Funcția nu poate fi transmisă ca referință, nu există funcții anonime;
    • Nu există o buclă inversă (pentru i: = 5 până la 1 do), dar este cu adevărat necesar atunci când ștergeți înregistrările. Trecem cu o înregistrare puțin mai lungă prin ciclul „Pa”.

    Instrumente

    • Platforma 1C are capacitatea de a încărca și descărca o configurație, de a compara o configurație cu o altă configurație și de a descărca parțial modificările;
    • Este posibil să descărcați textele modulelor pentru prelucrarea în serieși încărcați înapoi în configurație;
    • Dacă configurația este compatibilă (toate configurațiile de la 1C sunt inițial compatibile), puteți oricând să comparați și să vedeți ce a fost schimbat de dezvoltatori terți sau specialiști locali;
    • De asemenea, este posibil să descărcați / încărcați întreaga bază de date (împreună cu datele);
    • Pentru lucrul colectiv pe o singură configurație, se utilizează depozitul de configurații;
    • Există, de asemenea, o serie de reguli pentru modificarea configurațiilor standard, există chiar și un document din 1C care descrie metode și standarde pentru schimbarea configurațiilor tipice (și orice altele).

    Impresie generala
    Limbajul 1C combină claritatea textelor limbajului Pascal cu frivolitatea de a lucra cu variabilele limbajului BASIC. Îi lipsesc o serie de caracteristici inerente limbajelor de programare moderne, dar este foarte posibil să se facă fără ele. În plus, platforma 1C are un puternic colector de gunoi, adică nu este nevoie, de exemplu, să ștergeți tabelele după utilizare sau să le ștergeți.

    Interfața 1C Enterprise 8.2

    Compania 1C a acordat o atenție specială interfeței programului său. În primul rând, este paleta de culori. Este superba! Ferestrele programului sunt recunoscute chiar și de departe, în timp ce mulți ani de muncă - nu provoacă sentimente ostile, dimpotrivă - vreau ca toate programele să fie la fel de cool.
    În același timp, stilul platformei este foarte strict, fără bibelouri și alte bibelouri. În același timp, există un foarte funcții utile, de exemplu, amintind dimensiunile ferestrelor (dimensiunile sunt memorate numai atunci când sunt modificate de utilizator și, în același timp, puteți reseta oricând setările utilizatorului - la dimensiunile și pozițiile implicite apăsând Alt + Shift + R).
    Interfața clientului 8.2 Web ridică o serie de reclamații, dar se pare că platforma 8.3 aduce cu sine o nouă interfață reproiectată - Taxi.

    Prețuri, cerere și ofertă, franciză

    Cel mai „gustos” plus al platformei 1C este prețul său. Acest lucru este valabil mai ales acum, în timpul crizei. La urma urmei, 1C este complet produsul nostru intern. Și este vândut pentru cele din lemn. Astfel de soluții de la un producător străin vor costa mulți bani. Și licențele pentru 1C sunt destul de acceptabile.

    În plus, 1C are o politică de licențiere interesantă. Licențele și configurațiile în sine sunt achiziționate o singură dată. În același timp, licențele sunt cumpărate pentru la locul de muncăși la server, dar nu la baze de date și nici măcar la conexiuni, adică sub o singură licență, același utilizator poate rula un număr nelimitat de sesiuni 1C, lucrând cu orice număr de baze de date. Același lucru este valabil și pentru configurații: achiziționând o licență de configurație, o organizație o poate folosi pentru a crea orice număr de baze de date, în plus, este permisă în mod oficial să utilizeze părți din cod și obiecte ale acestei configurații atunci când își dezvoltă propriile configurații (în timp ce configurațiile proprii) poate fi vândut / transferat - stipulând că pentru a le utiliza, trebuie să cumpărați o configurație de la 1C).

    După această achiziție unică, trebuie doar să vă abonați la actualizări și să plătiți o dată pe an pentru a reînnoi abonamentul, așa-numitul. ESTE. Apropo, abonamentul este foarte ieftin, la fel ca două licențe pentru clienți.

    În general, totul arată foarte profitabil.

    Al doilea „gustos”, dar deja cu o muscă în unguent, plus, este prezența configurațiilor destul de universale de la 1C în sine și de la parteneri.

    Despre versatilitate

    Conceptul de „universalitate” a fost definit de un profesor de școală de pe CWP folosind exemplul măștilor cu gaz: există unele universale care protejează împotriva multor factori dăunători, dar gradul de protecție este mediu sau sub medie și există și măști de gaz specializate care protejează împotriva unui singur impact, dar cu un grad ridicat de protecție. Până acum, nu am dat peste o definiție mai precisă.
    Iar configurațiile de la 1C sunt universale. Practic, nu există sarcini în care să poată fi utilizate pe deplin fără modificări. Cu toate acestea, 1C a reușit să creeze un set universal de instrumente care acoperă nevoile majorității ramurilor afacerilor moderne.


    Al treilea plus (și, de asemenea, cu un zbor în unguent) este rețeaua de francizați și centre de instruire, atât pentru utilizatori, cât și pentru programatori și administratori începători. Bună idee, dar o calitate foarte mediocră a implementării sale. Cu toate acestea, prevalența și marketingul agresiv este unul dintre motivele popularității pe scară largă a 1C în țara noastră (și acesta este și motivul pentru negativitate, invidie și ură).

    O lingură de gudron

    După ce a pictat 1C în toate culorile, ar fi nedrept să nu spunem despre neajunsurile sale și acestea sunt cu adevărat:

    Versiuni instabile- atât în ​​platformă, cât și în configurații, există un număr mare de erori și erori. Și asta se află în versiunile oficiale. Înainte de eliberare versiunea oficială, este lansată o „Versiune de familiarizare”. Există, de asemenea Părere pentru a trimite descrieri de erori, astfel încât să poată fi acceptate pentru corectare. Cu toate acestea, fie versiunile pentru cunoaștere nu sunt deosebit de populare, fie compania 1C în sine nu are timp să proceseze toate scrisorile până la data lansării, dar este un fapt. De fiecare dată când actualizați platforma sau configurația, este posibil să vă dați peste cele mai neașteptate „surprize”. Companiei 1C i s-a solicitat deja în mod repetat să-și testeze evoluțiile mai amănunțit.

    Francizat (în continuare - franciză)... În mod ideal, conform ideii, acestea ar fi trebuit să fie firme cu specialiști calificați care cunosc principiile de bază ale configurațiilor și ale platformei. Aceleași firme ar trebui să vândă platforma, configurația și suportul, ușor „termina” configurațiile universale pentru a satisface cerințele clientului (și uneori pentru a regla aceste cerințe), încercând să modifice configurația standard la minimum. Pentru a nu complica prea mult viitoarele actualizări. În realitate, opusul este adevărat.

    Când noile licențe sunt vândute unui client, francii primesc 50% din valoarea lor (minus impozitul pe venit 13% din acest 50%). În același timp, nu trebuie să produceți nimic dvs., trebuie doar să transferați cheile de la 1C către cumpărător.

    Când furnizează servicii, francezii nu plătesc nimic companiei 1C (cu excepția taxelor de membru), dar trebuie să plătească salariul unui angajat. De asemenea, trebuie să cheltuiți impozite către stat - UIF și impozitul pe venit.

    Se pare că atât 1C cât și francii sunt profitabili pentru a vinde licențe și neprofitabili pentru a oferi sprijin suplimentar. În același timp, pentru ca un client să cumpere un program, acesta trebuie ajustat inițial la cerințele sale. Și trebuie să plătești pentru muncă. Și aici, pentru a economisi bani, studenții, elevii și nespecialiștii sunt atrași de care poți plăti puțin și, uneori, nu plăti deloc, nici măcar nu pot fi înregistrați la stat (vor lucra neoficial, deoarece este ceva de plătit). Rezultatul este un număr mare de vânzări cu o calitate foarte scăzută. Îmbunătățirile tind să afecteze mecanisme importante și să complice actualizările viitoare. Dar în etapa de vânzare, nici 1C și nici francizatul nu sunt interesați de acest lucru.

    Rețineți că aceasta nu este atât vina oamenilor de afaceri din Franța, cât din 1C. Concentrându-se pe vânzări, ea nu s-a ocupat deloc de sprijin (nu vorbesc acum despre școli, ci despre faptul că ar trebui să fie profitabil atât pentru francizat, cât și pentru 1C să ofere sprijin).

    Suport tehnic.Înțelegerea 1C, asistența tehnică oferă acces la secțiunea „actualizare” pentru platformă și configurații, precum și la secțiuni de informații care conțin o descriere a unora dintre mecanismele și caracteristicile operației 1C. În plus, la abonare, este furnizat un disc cu materialele specificate. Există, de asemenea, un forum (foarte rar în comparație cu popularul). De asemenea, este posibil să trimiteți e-mail la 1C - dar nici măcar în speranța că va primi răspuns (sau robotul va răspunde „Scrisoarea a fost trimisă departamentului de dezvoltare.”) În ceea ce privește dezvoltarea, Yandex.Poisk și ajutorul încorporat în configurator oferă mult mai mult sprijin.

    Epilog

    Am trecut la 1C în 2008 și înainte am lucrat într-o companie care își dezvoltă propriul program de contabilitate (Delphi 5, apoi Delphi 7). În primul rând, m-am familiarizat cu platforma 1C Enterprise 7.7 și am fost impresionat de simplitatea dezvoltării rapoartelor în ea. În același timp, a fost clar că rapoartele sunt generate mult mai mult decât în ​​mecanisme similare pe Delphi, dar contabililor nu le-a păsat în mod deosebit. Așteptați câteva minute în loc de câteva secunde nu este o problemă. Dimpotrivă, vă puteți picta unghiile acolo, puteți bea un ceai sau puteți discuta cele mai recente știri fără să se oprească de la muncă. La urma urmei, majoritatea covârșitoare a contabililor de astăzi sunt femei.
    Cu toate acestea, interfața din 7.7 era foarte limitată, iar setul de obiecte era destul de rar. Căutam alternative. Familiarizat cu componente externe, dar înainte aplicație practică nu au ajuns la ei, tk. șeful a decis că este timpul să trecem la 8.1 (da, 8.2 nu era încă acolo), iar în această platformă, ca programator, am găsit tot ce îmi lipsea mai devreme.
    În prezent, am autoritate în rândul colegilor, precum și al clienților care au venit la mine din Franța. Probabil că nu vor mai lua legătura cu francii.


    În general, sunt destul de mulțumit de munca pe platforma 1C Enterprise 8. Este potrivit pentru rezolvarea majorității sarcinilor contabile și a sarcinilor folosind o bază de date.

    Etichete:

    • limbaje de programare în rusă
    • 1C
    • Programare 1C
    Adaugă etichete