Internet ablakok Android

1c programozás a semmiből oroszul. Fájl- és szerver adatbázisok

Egy kérdés merült fel előtted Hogyan lehet 1C programozó, de nem találtál rá határozott választ?

Találjuk ki együtt.

Először is szükségesnek tartom leírni a szakma előnyeit és hátrányait, hogy tudd, mi vár rád.

profik:

  • nagy számú üres állás a munkaerőpiacon,
  • viszonylag magas jövedelem (fejlett kompetenciák függvényében),
  • kreatív munka, nagyon változatos feladatok,
  • a programozók körében egyre nagyobb népszerűségnek örvend a távmunka lehetősége (ha "önmagáért" dolgozik),
  • a szakképzett szakemberek hiánya megkönnyíti a szakmában elért sikereket,
  • Az üzleti automatizálási piac 1C általi monopolizálása lehetővé teszi az 1C: Enterprise szakemberek szolgáltatásai iránti állandó kereslet előrejelzését.

Most beszéljünk róla hátrányok(ezek is kaphatók):

  • ülő munka,
  • annak szükségessége, hogy elsajátítsák a kapcsolódó tudásterületeket a siker érdekében (számviteli és adószámviteli, bérszámfejtési stb.),
  • A fejlesztési eszközök (1C: Vállalati platform) és a szabványos konfigurációk állandó változása (a jogszabályok változása miatt) néha a korábban sikeresen használt módosításokat teszi működésképtelenné / lényegtelenné.

Van még egy árnyalat - dolgozni emberekkel... Nem írtam fel semmilyen listára, mivel minden ember más, és valaki plusznak fogja tekinteni, valaki pedig fordítva. Döntse el maga.

Alapú személyes tapasztalat, ezek a fő pozitív és negatív oldalai szakma, talán más szakemberek találnak majd kiegészítéseket.

Ha az elemzés után nem veszítette el a vágyát, hogy programozó legyen, akkor lépjünk tovább.

Az alapképzésről

Kezdetben alapképzésre lesz szüksége, amely lendületet ad az 1C tanulmányozásához, és megtanítja az alapokat, és képes lesz hozzáférhető formában, "emberi nyelven" közvetíteni az információkat.

Ilyen képzésként a személyes programozási tanfolyamok alkalmasak városodban az 1C franchise-vállalkozások egyikében-olyan cégeknél, amelyek szolgáltatásokat nyújtanak az 1C programok kiszolgálására. Csak győződjön meg arról, hogy ennek a cégnek 1C: CSO státusza van, azaz Tanúsított képzési központ. Ez az állapot azt jelenti, hogy a vállalatnak kellően hozzáértő szakemberei vannak a képzés lebonyolításához, valamint azt a tényt, hogy a képzés befejezése után megkapja a megfelelő bizonyítványt (a tanúsítványok előnyeiről később beszámolok). Az ilyen kezdés előnye az élő tanár, akinek azonnal feltehet kérdéseket, ha valami nem világos számodra. A képzés általában csoportos, 10-20 fős csoportban. A képzés időtartama 2-4 hét.

Ha a városod nem olyan nagy, és nincs benne ilyen társaság (vagy spórolni szeretnél a képzésen), akkor ajánlom neked a képzéseket Evgeniya Gileva... Ez egy magasan képzett szakember, nála jobbat nem láttam. Az oldalon Tanfolyamok-1s.rf vagy megvásárolhatja fizetett tanfolyamait, vagy ingyenesen letölthet. Ebben az esetben az ingyenes programozásáról beszélek "Programozás 1c -ben - 21 nap alatt". Ezen az oldalon szerezheti be. Ezen a tanfolyamon Eugene megadja a szükséges "bázist" egy egyszerű és hozzáférhető nyelven.

Továbbá, annak érdekében, hogy minőségi 1C -szakemberré válhassak, ajánlok egy másik videoképzést Evgeny Gilevnek asztali útmutatóként 1C kurzus: Szakember(az interneten minden probléma nélkül megtalálható). A tanfolyam körülbelül 22 GB súlyú, és egy alap- és egy fejlett blokkból áll. Az első az alapokat, a második a platform alapos ismereteit adja. Miután elsajátította ezt a videó tanfolyamot, igazán jó 1C szakember lesz.

A tanúsítványokról

Az 1C vállalat szabványt dolgozott ki az 1C: Enterprise programokat karbantartó szakemberek minősítésére. Ez a szabvány többféle tanúsítványt tartalmaz, ebben a cikkben két főre fogok összpontosítani.

  • 1C: Professzionális - megerősítés arról, hogy tulajdonosa hatékonyan tudja használni a platform képességeit (ha a tanúsítvány a platformra vonatkozik) vagy a tipikus 1C konfigurációkat (ha a tanúsítványt a tipikus konfigurációk egyikére állították ki. Franchise -vevő (legfeljebb 14 kérdés 2 hiba) Valójában ez a tanúsítvány azt jelzi, hogy rendelkezik kezdeti ismeretekkel.
  • 1C: Specialist - lehet akár az 1C platform szerint, akár az egyik tipikus konfiguráció szerint. Ez a tanúsítvány már azt jelzi, hogy ismeri a platformépítés elveit, valamint az egyedi feladatok végrehajtásához szükséges készségeket. Más szóval, a tanúsítvány jelenléte azt jelzi, hogy "Ön a tárgyban van". Egy ilyen tanúsítvány megszerzéséhez sikeresen kell letennie egy vizsgát (4 feladat, 5 óra), amely átfogóan értékeli az 1C platformmal való munkavégzéshez szükséges készségeit.

1C: A szakmai bizonyítvány így néz ki:

А 1C: A szakember így néz ki:

Azt kell mondani, hogy nincs "kötelezettség" az igazolások beszerzésére - tudatos döntés, hogy megkapja -e vagy sem. Általában anyagi haszonnal nem járnak. Azonban számos nyilvánvaló előnyük van:

  • a potenciális munkáltatóval készített interjúk során nyilvánvaló előnyként használhatja őket, érvként a fizetések növelése mellett,
  • Amikor új alkalmazottat vesz fel, a franchise -vállalkozások gyakran a tanúsítványok száma (és minősége) alapján értékelik kompetenciáját. És ha egyáltalán nincs, akkor a jelöltsége nem érdekli az ilyen munkáltatót.

Ha az ügyfélcégekről beszélünk, amelyekben az 1C -t szolgálják ki, érdemes elmondani, hogy vezetőik az esetek túlnyomó többségében fogalmuk sincs a tanúsítványokról, és közömbösek ezekre a papírlapokra.

Tehát döntse el maga, hogy szüksége van -e bizonyítványokra vagy sem.

A szükséges kompetenciákról

Megadom azoknak a készségeknek és képességeknek a listáját, amelyeknek véleményem szerint egy jó 1C programozó arzenáljában kell lenniük:

  • az 1C lekérdezési nyelv ismerete,
  • a rendszeres és ellenőrzött formákkal való munkavégzés képessége,
  • képes jelentéseket készíteni az ACS adatösszetétel rendszeréről,
  • a belső konfigurációs objektumok jellemzőinek ismerete (dokumentumok, referenciakönyvek, nyilvántartások, jellemző típusok tervei stb.),
  • közötti adatcsere testreszabásának képessége különböző konfigurációk 1C,
  • az adatok hatékony fogadásának és fájlokba való feltöltésének képessége XML formátum, MS Excel, MS Word,
  • Könyvtári ismeretek szabványos alrendszerek BSP, alkotás külső jelentések, kezelések és nyomtatott nyomtatványok.

Az alábbiakat is szeretném kiemelni: Szerintem egy jó 1C programozónak ismernie kell a tipikus 1C konfigurációk működését:

  • Fizetés és humánerőforrás menedzsment 3.1,

Ezen konfigurációk képességeinek nem ismerete gyakran ahhoz a tényhez vezet, hogy sok szakember elkezdi "feltalálni a kereket", és fejlesztéseket hajt végre azoknak a feladatoknak a megoldására, amelyek végrehajtásáról már a konfigurációs funkciók gondoskodnak. Javaslom, hogy az 1C platform programozásával kapcsolatos ismeretek elmélyítésével párhuzamosan sajátítsa el ezeket a konfigurációkat.

Az is jó lenne, ha megtanulná, hogyan lehet a programot kiterjesztésekkel módosítani (anélkül, hogy módosítaná magát a konfigurációt) - ez nagyban megkönnyíti a további karbantartást, és bemutatja az Ön képesítését az ügyfélnek.

Végezetül a legtöbbre válaszolok Gyakran Ismételt Kérdések ebben a témában.

Mennyi ideig tart a tanulás?

Lehetetlen egyértelműen válaszolni, minden a tanulási képességétől és attól függ, hogy milyen célokat tűz ki maga elé. Ha mégis levezeti az "átlagos kórházi hőmérsékletet", akkor azt mondhatjuk, hogy miután hat hónaptól egy évig képzésre fordult, készen áll arra, hogy megoldja a valódi ügyfelektől származó problémákat. Természetesen, feltéve, hogy a képzés kellően intenzív, és a terület szakembereitől tanul.

Mik a kilátások a szakma számára?

Véleményem szerint a kilátások meglehetősen jók, tekintettel arra, hogy az 1C monopólium, és a túlnyomó többség jogalanyok Oroszország területén (és a FÁK -országokban) szoftver az 1C: Enterprise platformon. Előnye, hogy a nyugati társaival ellentétben az 1C -t sokkal kevesebb pénzért lehet megvásárolni, és csak ez a program veszi figyelembe hazánk menedzsmentjének és szabályozott számvitelének sajátosságait.

Mennyit keresnek az 1C programozók?

Itt sincsenek egységes szabványok - minden a programozó és a lakóhely városának képzettségétől függ. Például Moszkvában a programozó jövedelmi szintje 150-170 ezer rubel tartományban tekinthető tisztességesnek, míg például Szibéria és a Távol-Kelet városaiban aligha talál ilyen munkaadót és 70 ezer rubel fizetés. elég jónak tartják itt. A programozó képzettségi szintjétől függően a minimális tudással rendelkező programozó és a szakterületen dolgozó szakember jövedelemplafonja ugyanabban a városban 2-4-szer eltérhet. A fentiek alapján bátran állíthatjuk a következőket:

Ha magasabb jövedelmet szeretne - folyamatosan fejlessze készségeit és / vagy költözzön Moszkvába.

1. Mi a nyelv 1c.
2. Módszerek, változók, egyéb nyelvi konstrukciók.

Mi a nyelv 1c.

Bármely programozási nyelv úgy van kialakítva, hogy utasítsa a programot a számunkra szükséges műveletek végrehajtására. A kódírás olyan, mint egy kézikönyv írása, amelyben megmondjuk, mit és milyen sorrendben kell tennie. Minden futtatható konfigurációs kód csak modulokban lehet, vegye figyelembe a fő 4 típust:

1. alkalmazás modul

2. közös modulok

3. objektum modul

4. az űrlap modulja.

V különböző típusok modulok, a kódot a program végrehajtásának különböző szakaszaiban hajtják végre. Egy alkalmazásmodulban a kód végrehajtható a program indításakor vagy bezárásakor, a közös modulokban, amikor más modulokból hívják, egy objektummodulban - amikor egy objektumot manipulál (létrehoz, módosít, törli), egy űrlapmodulban - az űrlapon végzett műveletek során. Mit lehet használni a kód írásakor:
Változók, objektumok és azok részletei, az általunk (1C programozók) és a rendszer (a platformba épített) által létrehozott módszerek, valamint a beágyazott nyelvi konstrukciók.

Módszerek, változók, nyelvi konstrukciók

Változók adatok tárolására szolgálnak a felhasználó munkamenete során. A változó egy szó, amely betűvel (orosz vagy angol) vagy aláhúzással "_" kezdődik, és betűkből, számokból és aláhúzásokból áll.
Például :

  • Ez egy változó
  • _Ez változó
  • _Ez1_változó

Az a tény, hogy a betűk lehetnek oroszok és angolok, kegyetlen tréfát játszhat, ha stílusosan hasonló betűket használnak különböző nyelvekről.

A kódban szereplő betűk esetét nem veszik figyelembe, azaz A "Változó1" és a "Változó1" változók azonosak a program kódjának végrehajtásakor. Kívánatos, hogy a változók nevei értelmesek legyenek. Ez javítja a kód olvashatóságát.

Tárgyak és kellékek olvasni és megváltoztatni az adatok feldolgozása során.
Az objektum egy meghatározott kritérium szerint csoportosított adathalmaz. Általános szabály, hogy az információs bázisban lévő objektumok a dokumentumok, az adatlisták és az anyagi világ felsorolásai. Az objektumok kellékei valójában adatokat tárolnak.

Például: Objektum "00011. számú, 2005. január 1 -i értékesítési nyugta".
Ezt az értékesítési bizonylatot megkülönböztethetjük a többi értékesítési bizonylattól a benne foglalt részletek alapján. Ez a "Szám" változó "00018" értékkel ( típusú karakterlánc ) és a "Dátum" attribútum ( típusú dátum ) "2005. 01. 01." értékkel. Az egyetlen dolog, amit az objektum alapján meg tudtunk határozni anélkül, hogy tudnánk a részleteinek értékeit - ez a típusa „Értékesítési nyugta”.
Mód kicsi és általában teljes utasítások.

Például a "CurrentDate ()" rendszermódszer egyértelmű a névből, hogy visszaadja a számítógép aktuális dátumát. Vagy tegyük fel, hogy létrehozhat egy módszert " StringContainsDigit(Ellenőrzött karakterlánc) "Ami visszaadja a választ Igaz vagy Hazugság, itt zárójelben adjuk át a paramétereket, azaz olyan adatokat, amelyek tekintetében a módszernek valamilyen intézkedést kell végrehajtania. Mindkét vizsgált módszer függvény, és vannak módszerek-eljárások is a nyelvben. A különbség köztük egy: A függvénynek vissza kell adnia egy értéket.

Más nyelvi konstrukciók (operátorok, értékgyűjtemények stb.) az 1c rendszer által lefoglalt szavak, amelyek segítenek az adatok kezelésében.

Például :

Minden ItemCollection számára CollectionName Cycle EndCycle;

A példa egy gyűjtemény elemei közötti iteráció felépítését mutatja. Ezt a konstrukciót ún ciklus ... A legtöbb objektumtípus és azok attribútumai olyan gyűjtemények, amelyek a fenti módon iterálhatók, és egy gyűjteményelemre hivatkoznak az index megadásával (CollectionName [0]). Minden gyűjtemény egy olyan elemmel kezdődik, amelynek indexe = 0.

Stephanie Cuthberson, az Android fejlesztési igazgatója bejelentette Kotlint az operációs rendszerek egyik hivatalos nyelvének, 2017 Forrás Google készítette Kotlin ...

  • Orosz és szovjet programozók által kifejlesztett programozási nyelvek

    A Kotlin Kotlin egy statikusan beírt programozási nyelv, amely a JVM tetején fut, és a JetBrains fejlesztette ki. ...


  • Youtube csatornák programozási leckékkel

    ITVDN Technostream Mail.Ru Group Gosha Dudar loftblog Howdy Ho ™ - Csak az IT világról! Kirill Antonov bájt ++ Ivan Booravoi splincode wd Web ...


  • RedMonk rangsor: A TypeScript és a Kotlin a leggyorsabban növekvő programozási nyelvek

    A RedMonk új jelentése szerint a TypeScript és a Kotlin növekedési üteme a legjobb a felhasználás és a külső érdeklődés tekintetében ...

  • A Google Kotlint nevezi meg az Android -alkalmazások fejlesztésének fő programozási nyelvének

    A Google a 2019 -es I / O fejlesztői konferencián bejelentette, hogy a Kotlin programozási nyelv most a fejlesztés prioritása lesz ...

  • A Stack Overflow a legnépszerűbb és legjobban fizetett programozási nyelveket választotta 2019 -ben

    A Stack Overflow 2019 legnépszerűbb és legjobban fizető programozási nyelveit nevezte meg. A kutatást a honlapon teszik közzé ...


  • Hogyan tegyünk milliókat nyílt forráskódúvá: a Red Hat -tól az Nginx -ig

    Egy forrás Nyílt forráskód a nonkonformista romantikusok hobbijából a pénzszerzés közös eszközévé vált. Új megközelítések ...

    Ez a videólecke a programozás és a számítógépek eredetéről és fejlődéséről szól, megemlíti a történelem legfontosabb fejlesztési pillanatait ...

  • Jelentkezzen be diákként

    Jelentkezzen be diákként az iskolai anyagok eléréséhez

    Belső programozási nyelv 1C 8.3 kezdő programozóknak: az 1C és az első program telepítése 1C nyelven

    Ha nem olvasta el a leckék bevezetőjét, olvassa el :.

    Az 1C oktató verziójának telepítése

    A programozás megtanulásához szükségünk van 1C 8.3 (legalább 8.3.4.482).

    Ha az 1C 8.3 -as verziója telepítve van, használja azt. Ha nem, töltse le és telepítse az 1C kifejezetten oktatási célokra kiadott oktatási verzióját.

    1. feladat: töltse le és telepítse az 1C oktatási verziót 8.3.

    Utasítások a végrehajtáshoz:

    • Csomagolja ki a linkről letöltött archívumot egy külön mappába az asztalon:
      • a Dropboxról letölthető link (1. lehetőség)
      • a Mail.ru -ról letölthető link (2. opció)
    • Futtassa a "setup.exe" fájlt.
    • Kattintson a Tovább, Tovább, Telepítés gombra.
    • Várja meg, amíg a telepítés befejeződik.

    Az 1. feladat elvégzése után a következő parancsikonnak kell megjelennie az asztalon:

    Gratulálunk! Az 1C platform telepítve van, és hamarosan megírhatja az első programot.

    Első program

    Ez már hagyománnyá vált a programozók számára - amikor új nyelvet tanulnak, először beleírnak egy programot, amely a "Hello, World!" Kifejezést nyomtatja a képernyőre.

    Nem leszünk kivételek. De lévén orosz programozók, tegyük a számítógéphez a "Hello, World!" Kifejezést.

    2. feladat:írjon egy programot az 1C 8.3 -ban, amely indításkor a "Hello, World!" kifejezést jeleníti meg

    Utasítások a végrehajtáshoz:

    1. Indítsa el az "1C: Enterprise" parancsikont az asztalon.

    2. Az 1C bázisok listája megnyílt előtted. Mint látható, üres. Teremtsünk képzési bázis, amelybe programozni fogunk. Kattints a " Hozzáadás".

    3. Válassza a " Egy új létrehozása információs bázis "és nyomja meg a gombot" További".

    4. Válassza a " Infobázis létrehozása konfiguráció nélkül ..."és nyomja meg a gombot" További".

    5. Adja meg a " Kiképzés"és nyomja meg a gombot" További".

    6. Adjon meg bármilyen üres mappát alapkönyvtárnak (ebben az esetben ez a "Training" mappa a dokumentumaimban). Nyomja meg a "Tovább" gombot.

    7. Adja meg a hitelesítési lehetőséget " Válasszon automatikusan", indítási mód" Kövér kliens". Ne adjon meg semmit az 1C: Enterprise verzióhoz, kattintson a" Befejezés "gombra.

    8. Mint látható, végre megjelent a listán az első adatbázis, amelyet most magunk készítettünk! Kezdjünk el írni néhány kódot. Kattints a " Konfigurátor".

    9. A megnyíló ablakban válassza ki a menüt " Konfiguráció"->"Nyissa meg a konfigurációt".

    10. A bal oldalon megnyíló panelen kattintson a jobb gombbal a "" Konfiguráció"és válassza ki a listából" Nyisson meg egy felügyelt alkalmazás modulját".

    11. Megnyílt egy ablak szerkesztővel. Ide írhat szöveget! Vele együtt fogunk dolgozni a jövőben.

    12. Most habozás nélkül írja át újra a következő szöveget ebben az ablakban:

    Jelentés ("Hello World!");

    13. Kiváló! Az első programunk kódja kész. Indítsuk el végrehajtásra. A menüben " Hibakeresés"->"Kezdje el a hibakeresést"(vagy kulcs F5).

    14. A kérdésre a válasz igenlő.

    15. Egy -két másodperc múlva elindul az 1C, és az alábbi ablakban megjelenik a "Hello, World!" Felirat. Azt kaptuk a számítógéptől, amit akartunk. Gratulálok az első programhoz!

    Ha SI -ben írsz
    Legyen legalább háromszor béna
    Erről azt mondják:
    - Jó programozó!
    (Fidoshnye dalok - "Mi a Suxxx és mi a Rulezzz")

    Előszó

    A cikk megírásának oka a szakmai közösség negatív hozzáállása volt ehhez a platformhoz és a programozókhoz.

    Mint programozó, aki az 1C -t választotta, ez a vélemény szerintem alaptalan. Az 1C platform messze nem ideális, de véleményem szerint ez a legjobb, és ami a legfontosabb, hazai termék!

    És még inkább - nem megfelelő megítélni a programozó képességeit azon a nyelven, amelyen ír.

    Ebben a cikkben ismertetem azokat az előnyöket, amelyeket a programban találtam magamnak. A cikk majdnem reklámnak bizonyul, ezért azonnal le kell mondani:

    • Nincs közvetlen kapcsolatom az 1C -vel;
    • Ez a cikk nem személyre szabott, és kizárólag önkéntes alapon íródott;
    • Bizonyos esetekben személyes véleményt fogalmaznak meg, amely nem egyezhet meg ...;
    • Az egész cikk a prológ kivételével a szerzőé, minden véletlen egybeesés;
    • Beszélni fogunk az 1C Enterprise 8.2 platformról (jelenleg a 8.3 verzió releváns, de még nem tanulmányoztam - sok munka az 1C 8.2 -on). Az elmondottak többsége azonban mind a 8.3 platformra, mind a korábbi verziókra vonatkozik, és részben a 7.7 -es verzióra is.
    Tehát kezdjük.

    Miről beszélünk?

    Az 1C Enterprise 8 platform:
    • Két változatban működik - fájl és szerver (három hivatkozás) - mindegyiknek megvannak a maga előnyei és hátrányai;
    • Független számviteli rendszer, amely könnyen telepíthető és konfigurálható;
    • Hatékony ökoszisztéma a programozók számára minden szükséges objektummal és eszközzel;
    • Szép ergonómikus felület;
    • Viszonylag olcsó üzleti megoldás;
    • Franchise hálózat, alapképzés;
    • A fejlesztések és az évek során felhalmozott tudás erőteljes bázisa;
    • Időnként problémás platform a rendszergazdák számára;
    • Nem az algoritmusok leggyorsabb végrehajtása (bár nem a leglassabb) - ez tisztelgés az információtartalom előtt (hibák esetén a sor számát és tartalmát jelzik);
    • A programozási nyelvnek nincs osztálya (öröklődés, kapszulázás, polimorfizmus), nincsenek anonim funkciói és egyéb modern jellemzői. De a legtöbb probléma megoldásához ez nem szükséges!
    A számvitel megszervezéséhez - egy platform nem elég. A platform egyfajta "motor", köztes kapcsolat a program és az adatbázis között. Ennek a "motornak" a programjait konfigurációknak nevezik. A konfiguráció leírja az adatbázis szerkezetét objektumok formájában, az eljárási szövegeket külön modulokban tárolja (sok modul létezik, mindegyik objektum és a rendszer egésze rendelkezik ezekkel, és vannak közös modulok is). A platform olyan szintű absztrakciót nyújt, amelyben nincs szükség közvetlen hozzáférésre az adatbázishoz, és lehetővé teszi az absztrakciót is operációs rendszerés az adatbázis típusát.

    Fájl- és szerver adatbázisok

    A platform több részből áll, és fájl- vagy szerververzióban is működhet.

    A fájlverzióban a teljes adatbázis egy fájlban található ("1cd" kiterjesztéssel) - a platform minden számítógépre telepítve van, és közvetlenül olvas / ír az adatbázisba.

    A fájl opció előnyei - alacsony árés a könnyű telepítés.

    Hátrányok - az "1cd" fájl szerkezete zárva van, nem egységes rendszer kölcsönhatásba lép az adatbázissal. Ennek eredményeként nehéz használni, amikor egy nagy szám felhasználók (20+ felhasználó számára kipróbálva - dolgozhat). Ezenkívül a dinamikus frissítések meghiúsulnak, ha az adatbázis mérete körülbelül 15 GB (vagy több). Az ilyen hibák megoldása nehéz feladat, és az adatbázis -javító segédprogram nem mindig javítja hatékonyan, sőt néha megbénítja az adatbázist.

    Van megoldás - ez mindenekelőtt a napi beállítás Tartalék példány Adatbázis. Ezenkívül a kézművesek nemcsak az 1cd fájlformátumot teszik közzé, hanem segédprogramokat is kifejlesztettek az ilyen fájlokkal való munkához, valamint számos módszert a hasonló problémák megoldására.

    A szerververzióban az adatbázis tárolására szolgáló platform SQL szervert használ (általában ez az MS SQL, de 8.2.14 -től kezdődően - használhat másokat is, például Firebird PostgreSQL, IBM DB2, Oracle Database), és maga a platform háromlépcsős architektúrát használ:

    A kód egy részét a kliens hajtja végre, egy részét a szerveren. Ebben az esetben csak a szerver lép kapcsolatba az adatbázissal. Ugyanakkor a 8.2 -es verziótól kezdve a szokásos üzemmód mellett, amelyet „ kövér kliens", Két új üzemmód van -" vékony kliens "és" webes kliens "; is megjelent " kezelt formák», megjelenés amely absztrakt elemfa formájában épül fel. A felügyelt űrlapokra és a háromszintű architektúrára való programozás nehezebb, de lehetővé teszi, hogy szinte az összes terhelést átvigye a szerverre (azaz megvásárolhat egy erős kiszolgálót és száz legolcsóbb irodai számítógépet).

    A platform előnyei: "három hivatkozás" - terheléselosztás, az adatbázis nyitottsága (hivatalosan az 1C vállalat nem vállal felelősséget az esetleges adatvesztésért, ha SQL adatbázis módosítások történtek, kivéve a platformjukon vagy szerverükön keresztül, de ez kevés embert állít meg), nincs korlátozás.

    Hátrányok - ár: külön kell vásárolni ügyfél licencek minden ügyfélszámítógépre külön - egy licenc az 1C szerverhez, külön licenc az SQL szerverhez, ha nem használja az ingyeneset. Ezenkívül néha nehézségek merülnek fel az adatbázis működésében. Az adatok rendelkezésre állása és az adatbázis kezeléséhez szükséges külső eszközök rendelkezésre állása miatt sokkal gyorsabban megoldódnak. Ezenkívül ebben az esetben készítsen biztonsági másolatot az adatbázisról.

    Gyakori plusz a konfigurációs kód sokoldalúsága: néhány kivételtől eltekintve a konfiguráció fájl bázis az adatok a szerverteremben futnak és fordítva. Példa egy kivételre, ha megváltoztatható értéket ad át a szervernek vagy a szerverről az ügyfélnek (a fájlverzióban ez nem okoz kivételeket, de az ügyfél-szerver verzióban ez tilos).

    Egy másik plusz: a platform telepítése nagyon egyszerű, valami ilyesmi: "Next-Next-Next-Ok", nincs szükség finomhangolásra és az alkatrészek telepítésére.

    A szerververzióhoz van még néhány beállítás, de minden a telepítési párbeszédpanelen történik, és nem igényel semmit külön fájlokat... Az SQL szerver telepítése némileg nehéz lehet, mivel ebben az esetben sokkal több beállítás van (és a finomhangoláshoz tanulmányoznia kell további utasításokat). De ez nem vonatkozik az 1C platform problémáira. Sőt, ha például egy MS SQL szervert telepít az összes alapértelmezett beállítással, akkor az 1C képes lesz vele dolgozni.

    Ez több, mint könyvelés

    Ami az 1C platformot illeti, azt elsősorban könyvelési programként mutatjuk be. Valójában ez az 1C platform legnépszerűbb területe. De az 1C nem csak a számvitelből él!
    Akik ismerik a platformot, azt mondják, hogy ez egy számviteli rendszer (számviteli automatizálás). Ez közelebb áll az igazsághoz - sok konfiguráció létezik, mind az 1C, mind a harmadik féltől származó fejlesztők részéről. Néhányuk csak közvetve kapcsolódik a számvitelhez, néhány pedig egyáltalán nem.

    Általában helyesebb az 1C platformot héjként ábrázolni az adatbázis, az interfész és a programozás 1C nyelvű objektummodellezéséhez. Az egyetlen korlátozás az, hogy minden konfigurációhoz saját adatbázis jön létre, és csak egy (azonban lehetőség van további csatlakoztatásra is) külső források adatok, azaz egyéb bázisok).

    Ökoszisztéma programozók számára

    Tekintsük most az 1C nyelvet és a platformot a fejlesztő szemszögéből:
    Adatbázis -objektum modell. Először is, nem dolgozunk közvetlenül adatbázisokkal. Nincs rá szükség. Kényelmünk érdekében minden adat összekapcsolt objektumok (könyvtárak, dokumentumok, információnyilvántartások, felhalmozási nyilvántartások, ...) formájában kerül bemutatásra, és a platform ezeket az adatokat automatikusan kihúzza az adatbázisból.
    Például, feltéve, hogy a "Nómenklatúra -elem" változó linket tartalmaz a nómenklatúra -katalógus eleméhez, a nómenklatúra -katalógus tartalmazza a Catalog.Contractors típusú PrimarySupplier változót, a Contractors katalógus pedig a FullName attribútumot, majd a kódot:

    TételNómenklatúra.PrimarySupplier.Full
    ... ahhoz a tényhez vezet, hogy az 1C platform belső mechanizmusokat használva, a cikk "Fő szállító" mezőjében található azonosító alapján a "Vállalkozók" könyvtárnak megfelelő bejegyzést talál a táblázatban, és visszaadja az értéket mezőben a "FullName" mezőnek megfelelő mezőben objektummodell referenciakönyv "Vállalkozók".

    Sok ilyen eltérés lehet - a rendszer megbirkózik. Az egyetlen figyelmeztetés az, hogy a rendszer nem tudja, hogyan kell optimalizálni a dereferenciát, ezért meg kell próbálnia eltávolítani őket az összes lehetséges ciklusból.

    Az adatokat leíró objektumok mellett hatalmas számú rendszerobjektum található - a funkciók széles skálájához. Ezek közül kiemelek néhányat:

    Értékboltok
    Sor- objektum, amely adathalmazt tárol, ellentétben a tömbök klasszikus ábrázolásával. Ez lehet adat különböző típusok(szám, karakterlánc, hivatkozás, egyéb objektum). Minimális funkcionalitással rendelkezik, és főleg ideiglenes tárolóként használják értékek más tárolók közötti átvitelére.

    Értékek listája- objektum, főleg a felhasználói felülettel való munkavégzéshez. Az adatokon kívül minden elemhez tartalmazhat nézetet, zászlójelet és képet (piktogramot). A "SelectElement ()" és a "MarkElements ()" metódusokkal is rendelkezik - híváskor az interfész párbeszédablak megjelenik a felhasználónak (ami kényelmes - ezt a párbeszédpanelt nem kell létrehozni a konfigurációban).

    Szerkezetés Levelezés- "Kulcs és érték" párosított értékek tárolása. A "Kulcs" szerkezetben ez egy karakterlánc, amely betartja a változók 1C -ben történő elnevezésére vonatkozó szabályokat (szóközök nélkül, ne számjeggyel kezdődjön, csak betűkből, számokból és aláhúzásból áll). Szerint - "Kulcs" bármilyen érték. Az objektumok leggyorsabb keresése az egyezés (gyorsabb, mint egy tömbben és egy indexelt értéktáblában).

    Értéktábla- nagyon kényelmes és meglehetősen gyors objektum az adatok tárolására és feldolgozására. Az értékek táblázat oszlopai hozzáadhatók és eltávolíthatók, függetlenül a bejegyzések számától. Ebben az esetben a sorok adatai nem vesznek el (vagy csak a törölt oszlopoknak megfelelő cellákból származó adatok törlődnek). Ezenkívül van egy "SelectRow ()" metódusa, amely meghívja a sorválasztó párbeszédpanelt. Vannak indexek.

    Értékfa- hierarchikus adatokat reprezentáló objektum. Oszlopokat tartalmaz, az oszlopok halmaza azonos minden rekord minden szintjén. Az oszlopok eltávolítása / hozzáadása az értékfában ugyanolyan egyszerű, mint az értéktáblában. Ezenkívül van egy "SelectRow ()" metódusa.

    Interfész objektumok és objektumok különféle adatokkal való munkavégzéshez TextDocument, SpreadsheetDocument, Web Browser, FileReader, FileWrite, ZIPFile Reading, ZIPFileWrite, XMLReader, XMLWriter, HTTPRequest és még sok más objektum, és a konfigurátorban mindenre van beépített súgó. A felsorolt ​​objektumok célja látható a nevükből, és mindez azonnal elérhető a platformon.

    Külön meg kell jegyezni, hogy van egy "Metadata" objektum - amellyel tanulmányozhatja az adatszerkezetet a programozási nyelven, valamint minden hivatkozást vagy objektumot egy referenciakönyvhez, dokumentumhoz, számlához, stb. létezik egy metaadat () metódus - ennek a referenciakönyvnek / dokumentumnak / számlatervnek / stb. leírása. az adatbázisban (milyen részletek, táblázatos szakaszok állnak rendelkezésre, a kód / szám hossza stb.). Gyakran nagyon kényelmes.

    És külön meg kell említenünk az objektumokat is: "Query", "QueryConstructor", "QueryBuilder", "ReportBuilder", "DataCompositionSchema". Ez a család egy objektumkészletet valósít meg a hatékony 1C lekérdezési nyelv kezelésére.

    Nyelv lekérdezése. Az 1C lekérdezéseket csak arra használjuk, hogy adatmintát nyerjünk kényelmes kiválasztással, rendezéssel és csoportosítással. Első közelítésként ez a „SELECT” utasítás az SQL -ből oroszra fordítva, azonban az 1C lekérdezési nyelvben van olyan funkció is, amely hiányzik az SQL -ből, nevezetesen:

    • 1C konfigurációs objektumokkal való munka SQL táblák helyett;
    • Hivatkozások használata az SQL azonosító mezők helyett;
    • Dereferencia támogatás, hasonlóan ahhoz, ahogy kódban történik;
    • Kiválasztás a csoportba való belépés alapján (referenciakönyvekhez);
    • Hierarchikus összesítések;
    • Ideiglenes táblák és beágyazott lekérdezések (SELECT * FROM (SELECT…)));
    • Lekérdező konstruktor - kényelmes, objektumorientált, automatikusan optimalizálja a lekérdezés szövegét a gyors olvasáshoz, amely elemezheti a lekérdezés szövegét (elemezheti a lekérdezés szövegét, és objektummodellt építhet belőle);
    • Jelentéskészítő - a lekérdező motor fölötti bővítmény, amely hozzáadta az eredmények automatikus formázásának funkcióit, valamint rugalmas testreszabás maga a lekérdezés "Enterprise" módban (azaz a felhasználó által). Ennek eredményeként egy univerzális jelentés jelent meg a szabványos 1C platformokon, amelyben a felhasználó konfigurálhatja, hogy milyen adatokat és milyen sorrendben akar látni, mi van a sorokban, mi van az oszlopokban, és maga a jelentés generálja a kimeneti táblázatot;
    • Az ACS (Data Composition System) a következő modell, amely beépítette az univerzális jelentés funkcióit, és kiegészítette azt néhány, az eredmények feldolgozására szolgáló funkcióval.

    Programozási nyelv
    A szintaxis szempontjából az 1C nyelv hasonló az "orosz Pascal" -hoz, de kevésbé szigorúan és bizonyos konstrukciók hiányában különbözik a "Pascal" -tól:

    • Nincs szükség változók deklarálására - közvetlenül inicializálhatja a modul szövegében;
    • Nincs merev változóírási módszer. A rendszernek vannak értéktípusai, de nincsenek szigorú gépelési szabályok a változókra. A linket tároló változó már tárolhat egy számot vagy karakterláncot néhány sornyi kódban;
    • Hozzáadhat változókat különböző típusú értékekkel, és az eredmény típusa megegyezik az első változó típusával, például:
      k = „25” +1; // k = „251”, nem 26
    • A különböző típusú értékekkel rendelkező változók összehasonlíthatók az egyenlőség vagy az egyenlőtlenség szempontjából (de nem több vagy kevesebb, ez kivételt okoz) - természetesen az ilyen változók nem egyenlőek;
    • Vannak funkciók és eljárások, megengedett a rekurzió használata (korlátozott rekurziós mélységgel);
    • Ha paraméterek nélküli függvényt vagy eljárást ad meg - mindegy, ügyeljen arra, hogy üres zárójeleket írjon a végén: here_so ();
    • Modulok vannak: minden referenciakönyvben és dokumentumban több van, ezen kívül a nyilvántartások, jelentések és feldolgozó modulok és minden űrlap rendelkezik modulokkal, valamint a konfigurációban lehetőség van közös modulok létrehozására;
    • Nincs osztály, öröklődés, kapszulázás, polimorfizmus;
    • A függvény nem adható át referenciaként, nincsenek névtelen függvények;
    • Nincs fordított ciklus (i: = 5 -től 1 -ig), de valóban szükség van a rekordok törlésére. Kicsit hosszabb felvétellel boldogulunk a "Bye" cikluson keresztül.

    Eszközök

    • Az 1C platform képes ki- és betölteni egy konfigurációt, összehasonlítani a konfigurációt egy másik konfigurációval és részben betölteni a módosításokat;
    • Lehetőség van a modulok szövegeinek kirakására kötegelt feldolgozásés töltse vissza a konfigurációba;
    • Ha a konfiguráció támogatott (az 1C összes konfigurációja kezdetben támogatott), akkor mindig összehasonlítást végezhet, és megnézheti, mit változtattak meg harmadik féltől származó fejlesztők vagy helyi szakemberek;
    • Lehetőség van a teljes adatbázis kiürítésére / betöltésére is (adatokkal együtt);
    • Egy konfiguráció közös munkájához a konfigurációs tárolót használják;
    • A szabványos konfigurációk módosítására számos szabály is vonatkozik, sőt van egy dokumentum az 1C -ből, amely leírja a tipikus konfigurációk (és bármely más) megváltoztatásának módszereit és szabványait.

    Általános benyomás
    Az 1C nyelv egyesíti a Pascal nyelv szövegeinek tisztaságát és a BASIC nyelv változóival való munka könnyelműségét. Hiányzik belőle a modern programozási nyelvekben rejlő számos funkció, de ezek nélkül is teljes mértékben lehetséges. Ezenkívül az 1C platform erős szemétszedővel rendelkezik, azaz nincs szükség például a táblázatok használat utáni törlésére vagy törlésére.

    1C Enterprise 8.2 interfész

    Az 1C Company különös figyelmet fordított programja interfészére. Először is ez a színpaletta. Ő gyönyörű! A programablakok messziről is felismerhetők, míg hosszú évek munkája során - nem okoznak ellenséges érzéseket, éppen ellenkezőleg - azt akarom, hogy minden program ilyen menő legyen.
    Ugyanakkor a platform stílusa nagyon szigorú, sallangok és egyéb sallangok nélkül. Ugyanakkor van egy nagyon hasznos funkciókat például emlékezzen az ablakméretekre (a méretek csak akkor maradnak meg, ha a felhasználó megváltoztatta őket, és ugyanakkor mindig visszaállíthatja a felhasználói beállításokat - az Alt + Shift + R billentyűkombinációval) .
    A 8.2 webes ügyfélfelület számos panaszt vet fel, de úgy tűnik, hogy a 8.3 platform új áttervezett felületet hoz magával - a Taxit.

    Árak, kereslet és kínálat, franchise

    Az 1C platform "legízletesebb" előnye az ára. Ez különösen igaz most, a válság idején. Végül is az 1C teljesen a mi hazai termékünk. És eladják a mi fa termékeinkhez. Egy külföldi gyártó ilyen megoldásai sok pénzbe kerülnek. Az 1C licencei pedig teljesen elfogadhatók.

    Ezenkívül az 1C érdekes engedélyezési politikával rendelkezik. Magukat a licenceket és konfigurációkat egyszer vásárolják meg. Ugyanakkor megvásárolják a licenceket munkahelyés a szerverhez, de nem az adatbázisokhoz, és még a kapcsolatokhoz sem, azaz egy licenc alatt ugyanaz a felhasználó korlátlan számú 1C munkamenetet futtathat, tetszőleges számú adatbázissal. Ugyanez vonatkozik a konfigurációkra is: egy konfigurációs licenc megvásárlásával a szervezet tetszőleges számú adatbázist hozhat létre, ráadásul hivatalosan is engedélyezett a konfiguráció kódjainak és objektumainak felhasználása saját konfigurációinak kidolgozásakor (míg saját konfigurációi eladható / átruházható - azzal a kikötéssel, hogy ezek használatához konfigurációt kell vásárolnia az 1C -től).

    Ezt az egyszeri vásárlást követően csak előfizetnie kell a frissítésekre, és évente egyszer fizetnie kell az előfizetés megújításáért, az ún. ITS. Egyébként az előfizetés nagyon olcsó, mint két ügyféllicenc.

    Általában minden nagyon jövedelmezőnek tűnik.

    A második "ízletes", de már legyezővel, ráadásul meglehetősen univerzális konfigurációk jelenléte magától az 1C -től és a partnerektől.

    A sokoldalúságról

    Az "egyetemesség" fogalmát egy iskolai tanár határozta meg a CWP -n gázmaszkok példáján keresztül: vannak univerzálisak, amelyek sok ellen védenek károsító tényezők, de a védelem foka átlagos vagy az átlag alatt van, és vannak speciális gázálarcok is, amelyek egy ütés ellen védenek, de magas fokú védelemmel. Pontosabb meghatározással eddig nem találkoztam.
    Az 1C konfigurációi pedig univerzálisak. A gyakorlatban nincsenek olyan feladatok, ahol módosítás nélkül maradéktalanul ki lehetne használni. Ennek ellenére az 1C -nek sikerült létrehoznia egy univerzális eszközkészletet, amely fedezi a modern üzletág legtöbb ágazatának igényeit.


    A harmadik plusz (ráadásul legyszel) a franchise -tulajdonosok és képzési központok hálózata, mind a felhasználók, mind a kezdő programozók és adminisztrátorok számára. Jó ötlet, de megvalósításának nagyon középszerű minősége. Ennek ellenére az elterjedtség és az agresszív marketing az egyik oka az 1C széles körű népszerűségének hazánkban (és ez a negatív, az irigység és a gyűlölet oka is).

    Egy kanál kátrány

    Ha az 1C -t minden színre festette, igazságtalan lenne nem beszélni a hiányosságairól, és valóban azok:

    Instabil kiadások- mind a platformon, mind a konfigurációkban hatalmas számú hiba és hiba fordul elő. És ez szerepel a hivatalos kiadványokban. Elengedés előtt hivatalos verzió, megjelenik egy "Ismerős verzió". Vannak még Visszacsatolás hogy elküldje a hibaleírásokat, amelyeket elfogadnak javításra. Azonban vagy az ismerkedésre szánt verziók nem túl népszerűek, vagy az 1C cégnek nincs ideje feldolgozni az összes levelet a megjelenési dátumig, de ez tény. Minden alkalommal, amikor frissíti a platformot vagy a konfigurációt, a legváratlanabb "meglepetésekbe" ütközhet. Az 1C vállalatot már többször felkérték, hogy alaposabban tesztelje fejlesztéseit.

    Franchise (a továbbiakban: franchise)... Ideális esetben az elképzelés szerint ezeknek a cégeknek kellett volna képzett szakemberekkel rendelkezniük, akik ismerik a konfigurációk és a platform alapelveit. Ugyanazoknak a cégeknek kellene eladniuk a platformot, konfigurációt és támogatást, kissé "befejezni" az univerzális konfigurációkat, hogy megfeleljenek az ügyfél igényeinek (és néha módosítsák ezeket a követelményeket), és megpróbálják a minimálisra módosítani a szabványos konfigurációt. Hogy ne bonyolítsuk túlságosan a jövőbeli frissítéseket. A valóságban ennek az ellenkezője igaz.

    Amikor új licenceket értékesítenek egy ügyfélnek, a frankok megkapják értékük 50% -át (mínusz a jövedelemadó ennek az 50% -ának 13% -át). Ugyanakkor nem kell semmit gyártania, csak át kell adnia a kulcsokat az 1C -ről a vevőre.

    Szolgáltatások nyújtása során a franchise nem fizet semmit az 1C -nek (a tagdíjak kivételével), de meg kell fizetnie a munkavállaló fizetését. Az államnak fizetendő adókra is költenie kell - a FIU -ra és a jövedelemadóra.

    Kiderül, hogy mind az 1C, mind a frank nyereséges az licencek értékesítésében, és veszteséges további támogatást nyújtani. Ugyanakkor ahhoz, hogy az ügyfél programot vásároljon, azt kezdetben az igényeihez kell igazítani. És fizetnie kell a munkáért. És itt, hogy pénzt takarítsanak meg, diákokat, diákokat és nem szakembereket vonzanak, akiknek fizethet egy kicsit, és néha egyáltalán nem fizethet, még az államnál sem lehet regisztrálni (nem hivatalosan fognak dolgozni, mivel van mit fizetni). Az eredmény hatalmas mennyiségű értékesítés, nagyon alacsony minőséggel. A fejlesztések általában befolyásolják a fontos mechanizmusokat, és bonyolítják a jövőbeni frissítéseket. De az értékesítés szakaszában ez sem az 1C -t, sem a franchise -vevőt nem érdekli.

    Vegye figyelembe, hogy ez nem annyira a franchise üzletemberek hibája, mint az 1C. Az értékesítésre összpontosítva egyáltalán nem gondoskodott a támogatásról (most nem az iskolákról beszélek, hanem arról, hogy a franchise -vevőnek és az 1C -nek is nyereségesnek kell lennie a támogatás nyújtásában).

    Technikai támogatás. Az 1C megértése szerint a technikai támogatás hozzáférést biztosít a platform és a konfigurációk "frissítési" szakaszához, valamint az 1C működésének egyes mechanizmusainak és jellemzőinek leírását tartalmazó információs részekhez. Ezenkívül előfizetéskor a megadott anyagokkal ellátott lemezt biztosítják. Van egy fórum is (nagyon ritka a népihez képest). Küldésre is van lehetőség email az 1C -hez - de nem is remélve, hogy válaszolnak rá (vagy a robot azt válaszolja: „A levelet elküldtük a fejlesztési osztálynak.” A fejlesztés szempontjából a Yandex.Poisk és a konfigurátorba épített segítség sokkal több támogatást nyújt.

    Epilógus

    2008 -ban áttértem az 1C -re, és ezt megelőzően egy saját számviteli programot fejlesztő cégnél dolgoztam (Delphi 5, majd Delphi 7). Először is megismerkedtem az 1C Enterprise 7.7 platformmal, és lenyűgözött a jelentések elkészítésének egyszerűsége. Ugyanakkor világos volt, hogy a jelentések sokkal hosszabb ideig készülnek, mint a Delphi hasonló mechanizmusai, de a könyvelőket ez különösebben nem érdekelte. A néhány másodperc helyett néhány perc várakozás nem jelent problémát. Éppen ellenkezőleg, ott festheti a körmét, ihat egy teát vagy megbeszélheti legfrissebb hírek anélkül, hogy megállna a munkától. Hiszen ma a könyvelők túlnyomó többsége nő.
    A 7.7 -es felület azonban nagyon korlátozott volt, és az objektumok halmaza meglehetősen ritka. Alternatívákat kerestem. Ismerkedett külső alkatrészekkel, de korábban praktikus alkalmazás nem értek hozzájuk, tk. a főnök úgy döntött, hogy itt az ideje, hogy átálljunk a 8.1 -re (igen, a 8.2 még nem volt ott), és ezen a platformon, mint programozó, mindent megtaláltam, ami korábban hiányzott.
    Jelenleg tekintélyem van a kollégák között, valamint az ügyfelek közül, akik franchise -ból jöttek hozzám. Valószínűleg soha többé nem lépnek kapcsolatba frankokkal.


    Általában nagyon elégedett vagyok az 1C Enterprise 8 platformon végzett munkával. Alkalmas a könyvelési feladatok és feladatok nagy részének megoldására adatbázis segítségével.

    Címkék:

    • programozási nyelvek oroszul
    • 1C
    • 1C programozás
    Címkék hozzáadása