A Nézőüvegen keresztül 1s. "Alice Csodaországban és a Nézőüvegen keresztül": egy érdekes interaktív könyv az "1C"-től

Ma a nem újdonságnak számító, de figyelmet érdemlő kiadványról ajánljuk az olvasót az olvasónak, már csak azért is, mert a mai napig az igazi interaktív oktatási programok példája. Olyan programok, amelyekben a nyomtatott szöveg szellemesen és professzionálisan ötvöződik a hang, a 3-D animáció, az animáció és a grafika lehetőségeivel. A kiadó egy ismert orosz cég volt "1C" .

A kiadvány az „1C: Educational Collection” sorozathoz tartozik. A készlet két lemezt tartalmaz.

  1. Alice világa Lewis Carroll "Alice kalandjai csodaországban" című könyve alapján.
  2. Through the Looking Glass Lewis Carroll "Through the Looking Glass" című könyve alapján.


A recenzió szerzői a következők voltak: Jelena Beljajeva, műkritikus, a T/O "M-studio" szerkesztője, Kirov, és Vera Buldakova, filológus, legmagasabb kategóriájú tanár. Meghívták a szakértőt Ljubov Georgievna Zubareva, a legmagasabb kategóriájú angoltanár (Kirov Regionális Kulturális Főiskola)

"A varázslatos számítógépes könyv"

A lemez borítóján (mellesleg a termékkel kapcsolatos egyéb megjegyzések mellett) az áll: „Ez egy varázslatos számítógépes könyv.” És ez tiszta igazság! Az utazás, amelyre nem Alice-szel együtt indulsz el, hanem teljesen egyedül, minden újabb lépéssel érdekesebbé válik. A tér kitárul, minden új ember, akivel találkozol, valóban új, és egyáltalán nem hasonlít az országban élőkhöz. Minden lépésnél vannak felfedezések, rejtett örömmel várod őket. Gondoljunk csak bele, mindezt a múlt előtti évszázadban találták ki, és a posztmodern művészetével szemben támasztott újdonság követelménye teljesen teljesül! Egy könyv, amelynek olvasási feltétele az elme képessége volt intellektuális játék, a második század kreatívságra inspirálja az embereket. De a kreativitás varázslat.

Az "Alice világa" első részének bevezetőjét az "Alice Csodaországban" legnépszerűbb orosz nyelvű fordítója, Boris Zakhoder készítette, aki elismeri, hogy az "Alice kalandjai csodaországban" szövege az alapvetően lefordíthatatlanok kategóriájába tartozik. Ez arra késztette, hogy elkészítse saját változatát a könyv újramondásáról. A lemezen Boris Zakhoder beszél hozzád, és választhatsz, hogy elolvasod-e az előszavát, vagy látod és hallod az írót. Andrej Tarkovszkij szerette ismételni, hogy a mozi tartósított idő. Kattints az egérgombbal – és kinyílik az idő varázsüvege!

Ennek az oktatási programnak a fejlesztői számára a többváltozós fordítás ötlete lesz a fő gondolat. A szerző-fordítók teljes spektruma itt látható: V. Nabokov, V. Orel, B. Balter, B. Zakhoder - az első részben; V. Orel, L. Yakhnin, V. Azov - a másodikban. A képet N. Demurova, O. Sedakova, D. Orlovskaya, A. Shcherbakov, S. Marshak klasszikus fordításaiból vett idézetrendszer egészíti ki. A fordítási lehetőségek felébresztik az olvasó-utazó fantáziáját, nem a szövegről, hanem a helyzetekről, a szereplőkről és az eseményekről, önkéntelenül is megjelennek.

A működési elv egyszerű. Előttünk két ablak, szinkronban mozgó angol és orosz szöveggel (a „Through the Looking Glass”-ban minden fordítás könnyen helyettesíthető másikkal). Mindegyik alatt angol szó orosz megfelelője nyílik meg.

Bekapcsolhatja a hangot: a szöveg hibátlanul olvasható angol nyelv. Kívánt esetben minden bekezdés megismételhető a mesteri tudás erejéig vagy a végtelenségig.

Beállításkor a szöveget egy oldalon hagyhatja angolul vagy oroszul.

A rétegről rétegre való átmenetek rendszere egyszerre többváltozós és funkcionális. Tehát lecserélheti a kép alatti fordítási szöveget, vagy kiválaszthatja az illusztrációk másik szerzőjét ehhez a fordításhoz. Az illusztrátorok és klasszikusok között egyébként J. Tennieltől magáig Carrollig...

A könyv elolvasható angolul vagy oroszul (vagy angolul hallgatható) fejezetről fejezetre, vagy elragadtatva a jegyzetektől (tudható, hogy a róla mondott kifinomult szavak számát tekintve Carroll a második Shakespeare-nek).

Itt a szöveg sértetlensége nem sérül, és számos megjegyzés és értelmezés bújik meg szellemes hivatkozási rendszer, nyelvi megjegyzések, érvelések és elmélkedések, tények és magyarázatok, sőt egy sakkozó kommentárja mögé.

Tanulmányozhatja az „Oxfordi Egyetem professzorának, Charles Lutwidge Dodgson matematikatanárnak életrajzát” vagy „Lewis Carroll író, az „Alice” alkotójának életrajzát.

Vagy azonnal lapozhat az oldalra Carroll publikációinak és róla szóló könyveinek lakonikus, de válogatott bibliográfiájával.

Ezenkívül az „Alice Through the Looking Glass” lemez lehetővé teszi a szöveg bármely részének a vágólapra másolását.

Játék bármely korosztály számára

Sokáig lehet bolyongani ennek a játéknak a zugaiban, de lehetetlen eltévedni benne.

A navigáció tanulmányozása a szerzők által javasolt Wonderland és Through the Looking Glass utazás része.

Rengeteg érdekes apró részletet és precíz, vicces részletet találsz itt: az oldalon röpködő edényektől, tányéroktól (egérkattintással széttörhetők), repülő rovaroktól, macskáktól, amelyekkel mozgatható a lap, a röfögő csecsemők és a hernyók pillangós krizálissá válására stb. d. A beillesztett rajzfilmrészletek nem csupán illusztrációk, hanem egy többdimenziós tér részei Carroll szellemében.

Itt minden részlet egy többrétegű szerkezet része, amiben a főszerep Lewis Carroll könyvei. Látható és hallható kontextusba merülve terjedelmessé válnak. A SZÓVAL való játék, magával a SZÓVAL való játék felébreszti az olvasó fantáziáját, és további lépésekre késztet. önálló munkavégzés SZÖVEGTEL. Ez egy igazi oktatási program, amely szórakoztató és lehetővé teszi, hogy részt vegyen önálló döntések; tele érdekes és pontos részletekkel, történelmi és filozófiai kommentárokkal. Dolgozhatsz vele egyedül, vagy együtt, vagy akár egy teljes céggel is. A program, akárcsak a könyv, „a növekedésre” készült, minél többet tanulsz, annál érdekesebb lesz.

"Nagyon hasznos ajándék!"

Ha van számítógépe, ez a lemez a CD-gyűjteményének koronaékszere lesz. Nem számít, hány éves vagy, tudsz-e angolul vagy sem, nem számít, milyen területen dolgozol. Nagyon jó, ha még iskolába jársz. Ez a jó öreg könyv, új módon olvasva, ellazulás és élvezet, a szinte végtelen tudás pillanatait ad, hiszen a szöveg olyan sűrű, hogy végtelenül olvasható. És játszani vele. Végül is köztudott, hogy minden szöveg interaktív, a szöveg mélységébe való behatolás megfelel az Ön fejlettségi szintjének, és a tökéletesség iránti vágy végtelen. Manapság sok tanár, iskolás és szülő éppen csak hozzájut a számítógéphez. Az oktatási laboratórium oldala nemcsak a legújabb elektronikai termékek bemutatásában látja feladatának, hanem abban is, hogy a legjobb, az idő múlásával és a távközlési technológiák fejlődésével nem elavult kiadványokat a felhasználó elé tárja. Nem sok ilyen kiadvány van. Egy Alice-ről szóló számítógépes könyv az egyik első hely. Elképesztő példa nem a rivalizálásra, hanem a „Gutenberg-galaxis” új emberi találmányokkal való kapcsolatára!

Már nem egyszer bemutattuk olvasóinkat a cég termékeivel. "1C". Ez alkalom arra, hogy ismét lássuk, milyen magas színvonalú a cég által kiadott oktatási elektronikai termékek. Az "Alice Csodaországban és a Nézőüvegen keresztül" számos jól megérdemelt díjat és díjat kapott.

A szerkesztők köszönik a céget "1C" a biztosított programhoz.

Kedves és szeretett ügyfeleink, arra törekszünk, hogy jobbak legyünk az Ön számára!

Ezzel kapcsolatban megkezdjük az átalakítást Központ szépség Tulán július 15-től. A javítás 2 hétig tart. A megújult és korszerűsített központ július 29-én nyitja meg kapuit előttetek.

Ebben az időszakban örömmel látjuk Önt a Kantemirovskaya Központban, valamintTájékoztatjuk Önöket, hogy néhány Tula szakembere a Kantemirovskaya-nál fog dolgozni a javítások alatt.

Elnézést kérünk az okozott kellemetlenségért.

Több információTisztázhatodegyetlen CALL központban+7 495 134 22 22.

Iratkozzon fel a mi Instagramés kövesse a folyamatot, érdekes lesz!

Kriolipolízis - ÚJ!!!

HASZNÁLAT ELŐTT 54 400*!

Abszolút ütés EURÓPA KLINIKÁI -KRIOLIPOLÍZIS COCCON :

✔️ FÁJDALOMMENTES;

✔️ GYORS EREDMÉNY;

✔️ EGYENES ZSÍRSZÖVET CSÖKKENTÉSE;
✔️ NINCS MELLÉKHATÁS;
✔️ SZÉLES ALKALMAZÁSI TERÜLET - A hastól és a csípőtől az állig.

*Az akcióval kapcsolatos további információkért érdeklődjön az adminisztrátoroknál vagy telefonon.

A forradalmi PRX-T33 emulzió MOST VELÜNK!

A PRX-T33 egy egyedülálló szabadalmaztatott termék, amely forradalmasította a kozmetológiát Olaszországban, és 10 éves klinikai kísérletek után megjelent. orosz piac. PRX-T33 - kémiai peeling a bőr revitalizálására (fiatalítására). Eljárás a bőr ellenőrzött károsodására, annak stimulálására és helyreállítására, anélkül, hogy károsítaná a hámréteget és hámlást nem okozna. A legtöbb peelinget az őszi-téli időszakban javasolt elvégezni, de PRX-T33 - egész szezonban.

ÚJ FODRÁSZ!

Most a hálózati központokban szépség "Through the Looking Glass" (m. Kantemirovskaya, m. Tulskaya) Megjelentek a borbélyok - ezek a mesterek, akik modern ember nyugodtan rábízhatja arculatát: fodrászatot, bajuszt, szakállformázást, vagy kényeztetheti magát egy királyi borotválkozással. A fodrász segít kiválasztani a hajápolást és a hajformázást, olyan frizurát ajánl, amely megfelel a megjelenés típusának és a tökéletes szakállnak. A férfi frizurák széles választékban kaphatók. Egy fiatal férfi frizurával kifejezheti jellemét, hangulatát, imázsát Válasszon életmódot!

Babor - "A tisztítás művészete"

A Zazerkalye szépségközpontokban megjelent egy új otthoni kozmetikai termékcsalád - a „The Art of Cleansing”, a német Babor cégtől.
A sor a következőket tartalmazza:
Enzim tisztító púder, bőrtisztító trió szett, lágy peeling, esszencia-tonik termálvízzel, esszencia-tonik rózsavízzel, tisztító tej.

A tökéletes manikűr Luxio-val most a Through the Looking Glass on Kantemirovskaya

Szépségszalon Zazerkalye bemutatja a manikűr és pedikűr modern vonalát - LUXIO.

A közelmúltban az 1C as-nak szentelt cikkek jelentek meg alkalmazásfejlesztő környezet. A cikkek jelentése inkább fogalmi, mint alkalmazott; A szerzők áttekintik az 1C:Enterprise 8 platform egészét, és megpróbálják megérteni, hogy az 1C által kínált üzleti alkalmazások létrehozására szolgáló technológia jó vagy rossz.

Nem tárgyalom, hogy mindegyik szerzőnek igaza van-e vagy nincs igaza; Az 1C platformnak, mint minden technológiának, megvannak a maga előnyei és hátrányai. És ennek is megvannak a maga érdekességei, saját fejlesztései és mechanizmusai. Ezekről szeretnék beszélni. És szeretnék egy cikket is írni az 1C-ről azoknak, akik nem ismerik az 1C-t, egy cikket, amely bemutatja, milyen helyet foglal el az 1C a hasonló szoftvertermékek között. Nekem személy szerint nagyon hiányzott egy ilyen bevezető ismertető cikk, amikor még nem ismertem az 1C-t, de számos más ERP-terméket ismertem.

Szóval, kezdjük!

Mit produkál az 1C?

Azt hiszem, a nagyközönség válaszolni fog erre a kérdésre: „1C: Számvitel”. Valaki emlékezni fog az edzésprogramokra vagy a híres „IL-2 Sturmovik” játéksorozatra.

A Habr résztvevői természetesen tisztában vannak azzal, hogy az 1C nem csak „1C: Számvitel”, hanem az egész rendszert 1C: Vállalati programok, beleértve az üzleti alkalmazásfejlesztő eszközöket és az ezekkel az eszközökkel létrehozott üzleti alkalmazásokat. Az 1C fejlesztőeszközök segítségével pedig a könyvelés, a CRM és az ERP (több ezer és több tízezer felhasználó számára való implementációval) és még sok más íródott.

Az ERP rendszerek a legérdekesebb és funkcionálisan leggazdagabb üzleti alkalmazások; Példájuk alapján nézzük meg, milyen helyet foglalnak el az 1C:Enterprise technológiák analógjaik között.

Milyen típusú ERP-k léteznek?

Mi az ERP rendszerek (és bármilyen üzleti alkalmazás) legértékesebb tulajdonsága? Véleményem szerint ez a rugalmasság, a végfelhasználó üzleti folyamataihoz való alkalmazkodás képessége a lehető legalacsonyabb költséggel.

Nyilvánvaló, hogy egy ERP-rendszer programozásakor lehetetlen az üzleti folyamatok minden változatát biztosítani. A paraméterezés segít; A rendszerbeállításokban a felhasználó (tanácsadó, adminisztrátor) által a rendszerbeállításokban megváltoztatható paraméterek bevezetésével viszonylag alacsony költséggel növeljük a rendszer rugalmasságát. Az első ERP-rendszerek paramétervezérelt, i.e. paraméterekkel testreszabható.

Nem minden üzleti eset biztosítható paraméterezhető rendszerekben. Ha a paraméterek beállítása önmagában nem elegendő, meg kell változtatnia a forráskódot. Itt az ERP-gyártó azzal a kérdéssel szembesül: magát a kódot módosítsa a fogyasztók igényeinek megfelelően, és tegyen ki frissítéseket, vagy adja meg a rendszert forráskódban, hogy a felhasználók maguk írhassák át a rendszert az igényeiknek megfelelően (ami egyébként nem mentesíti a gyártót a frissítések kiadása alól – a rendszernek fejlesztenie kell, támogatnia kell az új funkciókat, hogy versenyképes legyen).

Külön kérdés az ERP rendszer írásához használt programozási nyelv kiválasztása. Az ERP-rendszerek nagy része az üzleti logika, amelyre a hagyományos programozási nyelvek, például a C++ nem mindig a legalkalmasabbak. Ideális esetben jó lenne az üzleti logikát olyan magas szintű nyelven programozni, amely maximális kényelmet biztosíthat az üzleti programozónak az üzleti logika írása során, elvonatkoztatva azt az alacsony szintű részletektől (az adatbázisokkal való munka jellemzői, a fájl I/O ill. nyomtatási alrendszer, a felhasználói felület ablak alrendszere stb.). Természetesen ebben az esetben ehhez a nyelvhez is kell készíteni egy fordítót/tolmácsot és egy fejlesztői környezetet.

Van egy mátrixunk a lehetséges kombinációkból:

  • nyílt vagy zárt alkalmazáskód (itt nem a szokásos értelemben vett nyílt forráskódra gondolok, hanem az alkalmazás forráskódjának térítés ellenében történő megadásának lehetőségére).
  • üzleti logikai programozási nyelv - „normál” (C/Java/Perl/...) vagy speciálisan kifejlesztett, szabadalmaztatott.

Az 1C használatával létrehozott üzleti alkalmazások: A vállalati technológiák olyan nyílt forráskódú alkalmazáskóddal rendelkező rendszerek, amelyek szabadalmaztatott nyelven íródnak, és nincs rövid név; hivatalosan „1C: Enterprise beépített programozási nyelvnek”, informálisan és röviden „1C nyelvnek” nevezik.

A modern ERP-piac vezetőinek többsége nyílt forráskódú rendszer. A forráskód terepen történő módosításának lehetősége óriási rugalmasságot és versenyelőnyt biztosít. A zárt forráskódú termékek különböző technikák alkalmazására kényszerülnek; a leggyakoribb lépés a CallBack analógja, amely lehetővé teszi egyéni kód csatolását előre definiált eseményekhez, mind vizuális (űrlap megnyitása és bezárása, értéklistából való kiválasztás stb.), mind üzleti eseményekhez (rendelés feldolgozása, értékesítés bevitele) számla, ...). Egyes rendszerek képesek saját kezelőket írni C#-ban (vagy más gyakori nyelveken), másoknak erre a célra a Microsofttól licencelt Visual Basic for Applicationsja stb.

Hogyan működnek az ERP-k

A nyílt forráskódú alkalmazásokat tartalmazó ERP rendszerek az üzleti logikát megvalósító tényleges forráskódból és ennek az üzleti kódnak a végrehajtási környezetéből (az úgynevezett platformból) állnak.

A platform általában alacsony szintű nyelven íródott (C, C++) gyakran a platform forráskódja zárva van a végfelhasználók előtt. A platform célja, hogy lehetővé tegye a programozó számára, hogy elvonatkoztasson az alacsony szintű részletektől (az operációs rendszer és a DBMS jellemzőitől stb.), és a tényleges üzleti logika megírására összpontosítson. A platform gyakran tartalmaz üzleti alkalmazásfejlesztő eszközöket és rendszeradminisztrációs eszközöket is (és egyetértek ezzel a megközelítéssel). Nem nélkülözhetik egyébként azt a platformot és rendszert, ahol az üzleti logika „hétköznapi” programozási nyelveken van megírva. Ott nem kell értelmezni az alkalmazás kódját, de a platform funkcionalitásának igénye megmarad (például „burkolók” az adatbázis körül vagy egységes hozzáférés a felhasználók listájához és jogaikhoz).

A platform mint üzleti alkalmazások végrehajtási környezete virtuális gépként írható le. A platformnak általában három fő dolgot kell emulálnia az ERP-hez:

  • Üzleti logikai végrehajtási környezet.
  • Adatbázis.
  • Grafikus alrendszer a kliens alkalmazás megjelenítéséhez. A kliens alkalmazás lehet grafikus, szabványos operációs rendszer eszközeivel (beleértve a mobil operációs rendszert is), vagy lehet webes alkalmazás. Webes alkalmazás esetén a platform vagy saját webszervert valósít meg, vagy támogatja a szabványos webszervereket (IIS, Apache stb.)
Elvileg a platform módosításával bármilyen operációs rendszer alatt futtathatóvá tehető a védett nyelven írt ERP, és szinte bármilyen DBMS-ben tárolható adatokat. Az ERP-gyártók általában egy vagy két operációs rendszerre és egy vagy két DBMS-re korlátozódnak. A további operációs rendszer és DBMS támogatása megnövekedett fejlesztési és tesztelési költségeket jelent; Az ERP-gyártók gyakran bejelentik termékeik új verzióiban, hogy a továbbiakban nem támogatják a DBMS-t.

Az 1C platform a következőket kínálja az operációs rendszer és a DBMS támogatás tekintetében:

  • Üzleti logikai végrehajtási környezet: alkalmazáskiszolgálók hibatűrő fürtje terheléselosztással; OS - Windows vagy Linux
  • Adatbázis: saját fájl DBMS (fejlesztéshez és kis telepítésekhez ajánlott), MS SQL, Oracle, IBM DB2, PostgreSQL
  • Ügyfél:
    • vékony kliens (csak az ügyfél adatainak megjelenítése és bevitele) – Windows és Linux. Működhet egy alkalmazáskiszolgálóval helyi hálózaton vagy webszolgáltatásokon keresztül (ebben az esetben a Microsoft IIS-t vagy az Apache-t kell telepíteni a szerver oldalon)
    • Webes kliens - a szerver oldalon Microsoft IIS vagy Apache, a kliens oldalon - a négy böngésző bármelyike ​​- Internet Explorer, Chrome, Firefox, Safari
    • vastag kliens (az üzleti logika egy részének az ügyfélen való végrehajtásának lehetőségével) – Windows és Linux. Számos korlátozása van (például csak ugyanazon a helyi hálózaton belül működhet az alkalmazáskiszolgálóval). Elavultnak tekinthető, az 1C nem tervezi továbbfejleszteni.
    • Mobil offline kliens (időszakos szinkronizálás lehetőségével) – iOS és Android.
Ha egy 1C program írásakor menedzselt alkalmazástechnológiát használunk (2008 óta elérhető), akkor egy alkalmazáskódból Windows/Linuxhoz vékony klienst és webklienst is kapunk.

ERP alkalmazásnyelv

Külön téma az üzleti logika megírásának nyelve. Ahhoz, hogy egy üzleti programozó hatékonyan működjön, ennek a nyelvnek a lehető legközelebb kell lennie az üzleti tartományhoz (ideális esetben a DSL-hez, a tartományspecifikus nyelvhez), és távol kell lennie az operációs rendszer és a DBMS technikai részleteitől.

Vegyünk egy tipikus üzleti feladatot: a rendszert fel kell adnunk egy új típusú bizonylat (például egy megrendelés) bevitelére és feldolgozására. Egy „normál” programozási nyelven írt rendszerben ehhez:

  1. Hozzon létre táblázatokat az adatbázisban, ahol a dokumentumra vonatkozó információk tárolódnak.
  2. Írjon egy osztályt (vagy osztályokat), amelyek megvalósítják a dokumentummal való munkavégzés üzleti logikáját. Az üzleti logika mellett az osztályoknak interakciót is meg kell valósítaniuk az adatbázissal - dokumentumadatok olvasása és írása.
  3. Hozzon létre egy felhasználói felületet egy új dokumentumtípus szerkesztéséhez. Gyakran létre kell hoznia egy űrlapot is, amely megjeleníti a dokumentumok listáját, amely lehetővé teszi a különböző mezők szerinti keresést stb.
Ha C#-ban dolgozunk a Visual Studióban, akkor minden lépés egy fejlesztői környezetben (az adatbázis-tervezést is beleértve) elvégezhető.
Számos szabadalmaztatott nyelvet használó ERP-rendszerben végig kell mennie a fent leírt három lépésen, általában ugyanabban a fejlesztői környezetben.

Ez a 3 lépés biztosítja a szükséges minimumot; De továbbra is létre kell hozni egy felhasználói felületet a dokumentumokkal való munkavégzéshez, elérhetővé kell tenni a jelentésekben, regisztrálni kell a felhasználók által az új típusú dokumentumokban, a rendszernaplóban stb.

Az 1C-ben le kell írni egy új dokumentumtípus mezőit egy grafikus tervezőben, és olyan kódot kell írni, amely a dokumentum-specifikus üzleti logikát valósítja meg (például melyik számlára kell írni a dokumentumban szereplő pénzösszegeket). Minden mást, ami a rendszerben lévő dokumentummal való teljes körű munkához szükséges, a platform elvégzi:

  • Struktúrákat hoz létre a DBMS-ben az adatok tárolására.
  • Űrlapokat hoz létre egy dokumentum szerkesztéséhez, az ilyen típusú dokumentumok listájának megjelenítéséhez stb. Ha az automatikusan létrehozott űrlapok valamilyen módon nem felelnek meg nekünk, akkor a szabványos formák bővítésével és/vagy megváltoztatásával elkészíthetjük sajátunkat.
  • A dokumentum jelentésekben lesz elérhető.
  • A dokumentum és mezői elérhetővé válnak az olvasási/írási jogok elosztására az alkalmazás biztonsági rendszerében.
  • A dokumentummezők elérhetővé válnak a teljes szöveges kereséshez a rendszerben (beleértve a szinonimákat, az átírás támogatását, a fuzzy keresést stb.).
  • Az új típusú dokumentumok minden módosítása rögzítésre kerül az alkalmazásnaplóban.
  • A rendszer automatikusan metódusokat hoz létre a dokumentum XML-be és JSON-ba való mentésére és olvasására.
  • A dokumentum a REST felületen (az OData protokollon keresztül) válik elérhetővé.
  • És még sok más

Az 1C fejlesztés egyik jellemzője, hogy a rendszer körülbelül 20 beépített objektumtípussal rendelkezik, és minden új objektumnak, amelyet a fejlesztő hoz létre, e típusok valamelyikéhez kell tartoznia. A legtöbb ilyen típus a vállalat számviteli tevékenységei körébe tartozó objektumokat ír le - címtárakat, dokumentumokat, számlatükreket stb. Az objektumtípusok másik része technológiai, például web és HTTP szolgáltatások; lehetővé teszik az 1C programok számára, hogy kommunikáljanak a külvilággal.


1C Configurator – alkalmazási megoldások születnek benne. A bal oldalon egy beépített 1C típusú fa látható; minden ág alatt - ilyen típusú alkalmazásobjektumok.

Az alkalmazási megoldások fejlesztése a Configuratorban (angol változatban Designer) történik. Nemrég megjelent az 1C:Enterprise Development Tools eszköz próbaverziója, amely lehetővé teszi az 1C megoldások fejlesztését a népszerű Eclipse környezetben. Az 1C:Enterprise Development Tools-ban még nem lehet ipari fejlesztést végrehajtani, de ennek a verziónak a használatával teljesen megérthető, hogy a vállalat technológiailag merre halad. Különösen a népszerű verzióvezérlő rendszereket (Git, SVN és minden más, amelyhez az Eclipse-hez vannak bővítmények) használó kollektív fejlesztés támogatott; Lehetőség van saját beépülő modulok írására is az Eclipse IDE-hez, amelyek kiterjesztik a fejlesztői környezet képességeit az 1C-vel való együttműködéshez.


Vállalati fejlesztési eszközök – 1C alkalmazás fejlesztése az IDE Eclipse-ben

Maga az 1C programozási nyelv szintaxisában leginkább a JavaScriptre emlékeztet. A nyelv szigorúan véve nem objektum-orientált. Nincs benne örökség; de mivel az 1C programok minden objektuma a beépített objektumtípusok valamelyikébe tartozik, ezt nevezhetjük egyszerűsített öröklődésnek: a beépített objektumtípusok előre meghatározott funkcionalitást valósítanak meg, amelyet az alkalmazásprogramozó újradefiniálhat utódobjektumaikban. Az ilyen öröklődés egyszintű, alkalmazásobjektumokból már nem örökölhető; az öröklődés hasonló megközelítését alkalmazzák a prototípus-alapú programozás koncepciójában; Ennek a koncepciónak az egyik népszerű képviselője a JavaScript.

Ez a megközelítés szándékosan korlátozza az alkalmazási megoldások fejlesztőjének szabadságát, és arra kényszeríti, hogy feladatai megvalósításához a kívánt objektumtípust a beépített típusok ésszerűen korlátozott palettájáról válassza ki. Cserébe a fejlesztő a platform által megvalósított gazdag funkcionalitást és igazán gyors fejlesztést kap. Ennek a megközelítésnek az előnyei nyilvánvalóak - az 1C számviteli rendszerei könnyen és gyorsan létrehozhatók. Vannak hátrányai is - ha olyan dolgot kell megvalósítania, amelyhez a platform nem rendelkezik beépített típusokkal (például SFTP-vel dolgozik), akkor vagy meg kell várnia a platform új verzióját, amelyben ez a funkció elérhető lesz. implementálva, vagy írd meg saját implementációdat „normál” nyelven, és hívd meg az 1C-ből külső komponenstechnológián keresztül.

Néhány tény a beépített 1C programozási nyelvről:

  • Az angol (ha... akkor) és az orosz (ha... akkor) szintaxis támogatott.
  • A nyelv Turing kész.
  • Ez egy dinamikusan tipizált nyelv. A változó az érték hozzárendelésekor van társítva egy típushoz, nem pedig a változó deklarálásakor. Változó deklarálásakor nem lehet megadni a típusát.
    Ezt megteheti: var a; a = 1;
    Ezt nem teheti meg: var a as Int; a = 1;
  • Az adatok DBMS-ből való olvasásához az 1C saját lekérdezési nyelvvel rendelkezik, hasonlóan az SQL-hez. Valójában SQL-re fordítják az 1C programok végrehajtásakor.

Hogyan működik mindez

Hogyan jutnak el az 1C megoldások a végfelhasználókhoz? És hogyan működnek ezek ugyanazon végfelhasználók számára?

A kérdés teljesebb megválaszolásához emlékeznünk kell egyre jellemző tulajdonság 1C.
Az 1C projektet konfigurációnak nevezzük. A konfiguráció egy teljes önellátó program, például könyvelés vagy ERP; tartalmazza az üzleti alkalmazás teljes körű működéséhez szükséges összes objektumot és kódot. Az 1C sajátossága, hogy a konfigurációt egy adatbázisban tárolják, ugyanabban, amelyben az alkalmazás adatait tárolják (bejegyzések, könyvtárak és dokumentumok adatai stb.), azaz. a program az adatokkal együtt tárolódik. A konfigurációt (és az alkalmazásadatokat) tartalmazó adatbázist az 1C terminológiában információs bázisnak nevezik (rövidítve infobázis).

A konfiguráció fájlba tölthető; Általában fájl formájában kapja meg a fejlesztő a végfelhasználókhoz a kliens rendszeren, ez a fájl importálódik az infobázisba. Ezt követően a megoldás használatra kész.


1C megoldások architektúrája

Hol melyik szoftver van telepítve:

  • DBMS-kiszolgáló – egy vagy több 1C által támogatott DBMS (MS SQL, Oracle, IBM DB2, PostgreSQL). Ha több 1C alkalmazás van telepítve egy 1C kiszolgálóra, az alkalmazások különböző DBMS-eket használhatnak; például a könyvelés MS SQL, az ERP pedig az Oracle.
  • Szerver – egy vagy több kiszolgáló egy feladatátvételi méretezhető fürtben. Ide kell telepíteni az 1C Server szoftverterméket (könyvtárak és végrehajtható fájlok készlete). A fürt hibatűrését és méretezhetőségét, valamint a fürtkiszolgálók közötti terheléselosztást az 1C szoftver biztosítja. Egy fürt tartalmazhat Windows és Linux szervereket, és a rendszernek lehet egy tartalék fürtje.
  • Kliens: Windows vagy Linux operációs rendszert, vékony klienst (1cv8c.exe/1cv8) vagy 1C vastag klienst (1Cv8.exe Windowshoz, 1cv8 Linuxhoz) kell telepíteni.
    • A vékony kliens a beépített 1C nyelv funkcióinak korlátozott készletét tudja végrehajtani. Korlátozott számú beépített nyelvtípussal működik, csak a memóriában lévő adatok megjelenítésére és módosítására szolgál. Az adatbázissal, az objektumadatokkal és a lekérdezések végrehajtásával kapcsolatos minden munka a szerver oldalon történik. A vékony kliens csak kész, megjelenítésre előkészített adatokat kap.
    • A vastag kliens szinte minden olyan funkciót képes végrehajtani, amelyet maga a beépített 1C nyelv biztosít, és csak akkor veszi igénybe a szerver segítségét, ha az adatbázisból adatokat kell írni vagy olvasni. Korlátozások: jelentős mennyiségű hardver erőforrást igényel, és csak helyi hálózaton keresztül tud „kommunikálni” az 1C szerverek klaszterével. Elavultnak tekinthető, a visszamenőleges kompatibilitás érdekében karbantartott.
  • Webszerver – IIS vagy Apache. Az 1C-től – a webszerverek bővítménykészlete telepítve van.
  • Webes kliens – a négy támogatott böngésző bármelyike: Internet Explorer, Chrome, Firefox, Safari.
  • Mobil kliens: iOS vagy Android és bármilyen mobil alkalmazás 1C. Az 1C mobilalkalmazás és a szerver közötti kommunikáció módja az adott alkalmazástól függ; Leggyakrabban web- vagy HTTP-szolgáltatásokat használnak.

Az 1C komponensek - a szerver, a vékony és vastag kliensek és a webbővítmények - akár saját (TCP-n felül megvalósított) protokolljukkal, akár http-n keresztül kommunikálnak egymással.

Mi a különleges az 1C-ben?

Mitől tűnik ki az 1C: Enterprise technológia közül? A fejlesztésszervezés innovatív megközelítésének köszönhetően (erről bővebben alább) két dolgot könnyű megtenni az 1C-ben: Enterprise: a semmiből hozzon létre üzleti megoldásokat, és szabja testre a meglévő megoldásokat a végfelhasználók igényeinek megfelelően.

Fejlesztés

A számviteli rendszerek alapvető funkcióit megvalósító beépített objektumoknak köszönhetően könnyű a semmiből megoldásokat létrehozni. Ez egy jól átgondolt beépített objektumrendszer (és nem egy nyelv, amely általában egy közönséges szkript), amely az 1C:Enterprise-t hatékony eszközzé teszi az üzleti alkalmazások létrehozásához. A fejlesztőnek nem kell adatelérési réteget, alap felhasználói felületet stb. írnia. – azonnal egy üzleti probléma megoldására koncentrálhat. Az üzleti problémák megoldása érdekében már sok mindent implementáltak beépített objektumokban (olvasható – alapkönyvtárak) - például hierarchikus címtárak támogatása, számviteli gépek a könyvelés és áruelszámolás megvalósításához, mechanizmusok összetett időszakos számításokhoz (például bérszámfejtés) és még sok más.

„Out of the box” a fejlesztő megkapja a platform által megvalósított beépített objektumokat (könyvtárakat, dokumentumokat, regisztereket stb.); ezek minták a számviteli rendszerek világából. Egy alkalmazási megoldásban (konfigurációban) a fejlesztő ezeket a mintákat implementálja, sajátos üzleti logikával megtöltve.

Az 1C:Enterprise alkalmazásmegoldása nem szó szerint van programozási nyelven írva. A fejlesztési ideológia két sarokköve a metaadat-vezérelt fejlesztés és a modellvezérelt fejlesztés.

Az üzleti alkalmazás magját a metaadatok képezik, amelyek magának az alkalmazásnak a deklaratív leírása. Az alkalmazásmegoldás nincs leírva relációs táblákkal, objektumprogramozási nyelvosztályokkal stb., mint a legtöbb rendszerben. Az 1C: Enterprise megoldását metaadatok írják le alkalmazásobjektum-készlet formájában, amelyet prototípusminták meghatározott készletéből (könyvtárak, dokumentumok, számlatáblázatok stb.) választanak ki.

A metaadatok objektumok hierarchiáját alkotják, amelyekből az alkalmazásrendszer összes összetevője jön létre, és amelyek meghatározzák a viselkedésének minden aspektusát. Egy üzleti alkalmazás futtatásakor a platform értelmezi a metaadatokat, biztosítva az összes szükséges funkcionalitást.

A metaadatok leírják az adatstruktúrákat, a típusok összetételét, az objektumok közötti kapcsolatokat, viselkedésük és vizuális megjelenítésük jellemzőit, a hozzáférési jogok elhatároló rendszerét, a felhasználói felületet stb. A metaadatok nemcsak arról tartalmaznak információt, hogy mit tárolnak az adatbázisban, hanem arról is, hogy mit , miért tárolódik ez vagy az az információ, mi a szerepe a rendszerben és hogyan kapcsolódnak egymáshoz az információtömbök. A programozási nyelv használata elsősorban azon feladatok megoldására korlátozódik, amelyek ténylegesen algoritmikus leírást igényelnek (adószámítás, a megadott adatok helyességének ellenőrzése stb.). Az 1C: Enterprise fejlesztési alapelve röviden így fogalmazható meg: „Csak ott programozzuk, ahol valóban szükséges, és hagyjuk, hogy a platform elvégezze az összes rutinmunkát.”

1C: Az Enterprise kezdetben egy adott modellen alapuló alkalmazásmegoldás létrehozására irányult. A modell az alkalmazási megoldás felépítésének teljes ideológiájára vonatkozik. Ezek az adatstruktúrák felépítésének módszerei, az adatok közötti kapcsolatok típusai, azok manipulálásának elvei, az üzleti logika leírásának formái, az adatok interfészobjektumokkal való összekapcsolásának módjai, a funkcionalitás rendszerszintek közötti felosztása és még sok más.

Minden üzleti alkalmazás egy közös modellt követ, amely biztosítja a következetes és kiszámítható viselkedést. Az a fejlesztő, aki egy adott témakör sajátosságait szeretné tükrözni egy alkalmazásmegoldásban, nagyon konkrét módszerekkel rendelkezik a probléma megoldására a platformba épített eszközök segítségével. Ez a megközelítés egyrészt korlátozza (értelemszerűen!) a fejlesztő szabadságát, másrészt megóvja a sok hibától, és lehetővé teszi számára, hogy gyorsan olyan működőképes megoldáshoz jusson, amely mind saját maga, mind pedig támogatható. , ha szükséges, mások által.

Az egységes modell jelenléte pozitív hatással van a rendszer könnyű elsajátítására. Minden fejlesztés egyetlen végponttól végpontig terjedő fogalomrendszer keretein belül, egyetlen adattípus-térben történik. Egyes objektumok (entitások) leírása a metaadatokban azonnal meghatározza a beépített programozási nyelv megfelelő típusait és a tárolásukhoz szükséges adatbázis-struktúrákat. Ezen objektumok minden további manipulációja mind a memóriában, mind az adatbázisban egységesen történik, anélkül, hogy szükség lenne a DBMS-sel és univerzális nyelvek programozás.

A kliens oldali programozó számára nyílt forráskódban szállított kész alkalmazás (konfiguráció) (pl. könyvelés vagy ERP) gyakorlatilag egy DSL (Domain Specific Language, domain-specifikus nyelv). A programozó kész konfigurációs objektumokkal (partnerek névjegyzéke, számlatükör, bérszámfejtés) tudja a rendszer viselkedését a vevő igényeinek megfelelően módosítani.

Testreszabás és támogatás

Egy alkalmazásmegoldás üzleti logikájáról röviden a következőket mondhatjuk: megváltozik. Ezt az ügyfél informatikai részlegének munkatársai változtatják meg, a megoldást a vállalat üzleti folyamataihoz igazítva. A megoldásszolgáltató pedig megváltoztatja, új funkciókkal egészíti ki, támogatja a jogszabályi változásokat, és rendszeres frissítéseket tesz közzé.

Az olyan frissítés telepítési eljárása, ahol az üzleti logikát „helyben” változtatták meg, hogy megfeleljen az ügyfél igényeinek, gyakran nem triviális művelet, amely néha tele van hibákkal. Nagyjából ez a szállítótól származó új alkalmazás forráskódjainak egyesítése egy módosított (a szállító korábbi verziójához képest) ügyfélalkalmazással. Egyrészt be kell szereznie a frissítéssel együtt járó új funkciókat; másrészt ne veszítse el eredményeit.

Ezt a feladatot mindenki ismeri, akinek csapatban kellett dolgoznia egy alkalmazáson, és egyesítenie kellett (összevonja) a forráskód módosításait a többi csapattag változásaival. Még ha minden fejlesztő ugyanahhoz a csapathoz tartozik, és ugyanazokat a kódfejlesztési és formázási szabályokat követi, a forráskód egyesítése néha nehézkes lehet. Nos, az ERP rendszerek esetében bonyolítja a helyzetet, hogy a beszállító és a megrendelő fejlesztői különböző szervezetekben dolgoznak, és nem mindig van lehetőségük kommunikálni a kód megértési nehézségei esetén.

Ne feledje, hogy ha az ügyfél által végrehajtott változtatások túl nagyok, az alkalmazásszolgáltató dönthet úgy, hogy nem nyújt további támogatást az ügyfél megoldásához.

A fentiek az egyik legnehezebb feladat szinte minden nyílt forráskódú alkalmazással működő üzleti rendszer életciklusában. Az alkalmazás piaci sikere nagyban függ attól, hogy a szoftvergyártó milyen sikeresen oldja meg ezt a problémát. Az 1C esetében két konfiguráció (szállító és felhasználó) összevonása egy frissítés során nem csupán két alkalmazás forráskódjának egyesítését jelenti, hanem mindenekelőtt alkalmazásmodellek egyesítését, aminek bizonyos szabályok szerint kell történnie.

Ennek a problémának a megoldására az 1C kifejlesztett egy támogatási mechanizmust (az 1C: Enterprise platform része), amely lehetővé teszi a megoldásszolgáltató számára, hogy meghatározza, mely konfigurációs objektumokat (könyvtárakat, dokumentumokat stb.) tudja megváltoztatni az ügyfél, és melyeket nem, azaz. ezek megváltoztatása megzavarja a rendszer működését, vagy lehetetlenné teszi a szállító általi további központosított támogatását.

Az ügyfél viszont ezzel a mechanizmussal meghatározhatja a konfigurációja objektumai támogatásának szabályait - például megtagadhatja a szállító támogatását egy adott objektumhoz, ha felelősséget vállal az objektum további módosításáért, vagy ha nem szüksége van erre az objektumra a munkájában. Vagy éppen ellenkezőleg, megtilthatja egy „saját” konfigurációjú objektum szerkesztését (még akkor is, ha a szállító ezt engedélyezi), hogy biztosítsa a véletlen változtatásokat.

Ideális esetben azt szeretném, ha az egyedi változtatások úgy léteznének, mintha „eltekintenének” a szabvány gyártói konfigurációtól, és csak a közvetlen kódvégrehajtás pillanatában kerülnének bele a munkába. Ebben az esetben a gyártótól származó frissítések telepítése automatikus folyamattá válik, amely nem igényel emberi beavatkozást. Az 1C két olyan megközelítést kínál, amelyek a testreszabási forgatókönyvek jelentős százalékát fedik le.

Az első megközelítés a külső feldolgozás és a külső jelentéstétel alkalmazása. Ezek a mechanizmusok lehetővé teszik további funkciók hozzáadását a rendszer tetejére a forráskonfigurációs kód megváltoztatása nélkül. Lényegében ezek olyan grafikus felülettel rendelkező szkriptek, amelyek egy adott alkalmazásmegoldáson futnak. Ezek a mechanizmusok eredményezték analógjukat, az „App Store”-t, egy online áruházat, ahol független programozók posztolnak, a végfelhasználók pedig megvásárolják a különféle programokhoz szükséges kiegészítőket.

A második megközelítés, amely viszonylag nemrég jelent meg, a kiterjesztések. A bővítmények által kínált stratégia az, hogy nincs szükség az alapértelmezett konfiguráció megváltoztatására. Minden változtatás az úgynevezett kiterjesztésben történik, amely valójában szintén egy konfiguráció (de egyéni, a gyártó konfigurációjától különálló). Ebben az esetben a frissítés telepítése a szállítótól automatikusan történik - a támogatási mechanizmus szempontjából a szabványos konfiguráció nem változott. És amikor a végső konfiguráció (amely egy szabványos konfiguráció és egy bővítmény kombinációja) működik, a bővítményben hozzáadott (vagy módosított) objektumok kerülnek felhasználásra.

Mi más?

Mi még érdekes/fontos az 1C technológiai vonalon? A lista tartalmazza a legjelentősebb mechanizmusokat, amelyek mindegyikéről írhat külön cikket (vagy több):

  • Felhőmegoldás Az 1cFresh egy „felhő a dobozból”, egy vízszintesen méretezhető környezet az 1C (és a partnercégek) alkalmazásmegoldásaival való munkához a szolgáltatási modellben (SaaS). A termék tartalmazza az SaaS működéséhez szükséges összes funkciót - felhasználók regisztrációja és kezelése, új alkalmazásmegoldások gyors közzététele, felhasználói adatok biztonsági másolatainak létrehozása stb. Az 1C cég maga is az 1cFresh terméket használja termékei bérlésére (http://1cfresh.com), és az 1cFresh megoldást dobozos termékként is értékesíti, így a partnerek és ügyfelek saját felhőket telepíthetnek az 1C alapú alkalmazásmegoldásokhoz. : Vállalati technológiák.
  • A fent említett 1C mobilplatform, amely lehetővé teszi, hogy egyetlen forráskódból alkalmazásokat készítsen mobil operációs rendszerekhez (iOS, Android), ugyanazt a módszertant és fejlesztői környezetet (Configurator), mint a „szokásos” 1C alkalmazásoknál.
  • Erőteljes és rugalmas jelentési rendszer. A jelentések rendkívül fontos mechanizmusok minden üzleti rendszerben; Sok ERP más gyártók külső jelentéskészítőit használja, mert... egy jó jelentéskészítő létrehozása nem egyszerű feladat sok részlettel. Az 1C-ben a jelentések ugyanabban a környezetben (Configurator) készülnek, mint maga az alkalmazás; A jelentéstételi mechanizmus az adatösszetétel rendszeren (DCS), a jelentések deklaratív leírásának mechanizmusán alapul. Az egyik fontos jellemzőit jelentések az 1C-ben - ez azt jelenti, hogy a végfelhasználó megváltoztathatja a fejlesztő által készített jelentést „önmaga számára”, ugyanazokkal a jelentéstervezési lehetőségekkel, mint a fejlesztő.
  • Egy adatcsere-mechanizmus, amely lehetővé teszi, hogy földrajzilag elosztott Információs rendszerek adatcsere offline, állandó kapcsolat nélkül. Az adatcsere az 1C: Vállalati alkalmazások és az 1C: Vállalati alkalmazások és harmadik féltől származó rendszerek között egyaránt lehetséges.
  • És még sok érdekesség


"1C:Enterprise" - technológiák és eszközök

Konklúzió helyett

Remélem, hogy azoknak az olvasóknak, akik nem ismerik az 1C-t, többé-kevésbé tiszta képük lesz arról, hogy mi az 1C, hogyan működik és milyen lehetőségeket kínál a fejlesztőknek. Számos érdekes téma maradt ezen áttekintés keretein túl; róluk legközelebb.

Az 1C az 1990-es évek közepén az alkalmazásarchitektúra platform-orientált megközelítését választotta. A nagy teljesítményű platform és az ésszerűen korlátozott alkalmazásnyelv egyedülálló kombinációja jól bevált – több mint 1000 hivatalosan tanúsított 1C-megoldást hoztak létre 1C-technológiák felhasználásával különféle üzleti területeken, a kisvállalkozások automatizálásától a vállalatirányítási rendszerekig több ezer párhuzamosan. felhasználókat. Címkék hozzáadása

A cikk a „Az 1C fejlesztés első lépései” sorozat része. Folytatja az előző cikkben felvetett témát, és részletesen kitér az 1C:Enterprise 8 platformkonfigurátorban megjelent újításokra.

A cikk elolvasása után megtudhatja:

  • Mi az a kontextus-tipp, és hogyan segít a programkód írásakor?
  • Mire valók a szövegsablonok, és hogyan használhatók a gyakorlatban?
  • Miért használja a kódsorok csoportosítását?
  • Hogyan javíthatja a kiemelés a kódszerkesztő használhatóságát?
  • Milyen előnyökkel jár az új keresés a konfigurációs fában?
  • Hogyan lehet gyorsan megjeleníteni a kívánt alrendszer objektumait?
  • Milyen refaktorálási és demodalitási eszközök léteznek, és hogyan kell használni őket?

Alkalmazhatóság

A cikk a konfigurátor képességeit tárgyalja az 1C:Enterprise platform példáján, 1C 8.3.5 - 8.3.11 kiadások, így minden információ releváns.

Fejlesztések az 1C:Enterprise 8.3 platformkonfigurátorban

Az 1C:Enterprise 8.3 platform új verziójának kiadásakor a fejlesztők számos érdekes és hasznos újítással egészítették ki az ország több száz fejlesztőjének napi munkáját.

Most, amikor modulkódot írunk a konfigurátorszerkesztőben, a kontextus eszköztipp nem csak az adott kontextusban érvényes változók és eljárások neveit jeleníti meg, hanem az éppen szerkesztett eljárás vagy függvény paramétereit is.

Az új funkcionalitás a beépített eljárásokhoz és a fejlesztő saját eljárásaihoz egyaránt elérhető.

A paraméterlistát tartalmazó elemleírás így néz ki:

Az eljárási paraméter, amelyet most meg kell adni, félkövéren van szedve. Alul, a vízszintes vonal alatt az aktuális paraméter leírása található. Ha kötelező, akkor ezt zárójelben lévő szöveggel hangsúlyozzuk.

Ha egy beépített eljáráshoz több szintaktikai beállítás is tartozik, a fejlécben nyilak válnak elérhetővé a beállítások közötti váltáshoz.

Az eljárás- és funkcióparaméterek környezeti súgója a Ctrl + Shift + szóköz billentyűkombinációval érhető el. Automatikusan is előhívható a "(" és ", " karakterek begépelésekor. Ezt a viselkedést a konfigurátor paraméterei párbeszédpanelen lehet engedélyezni (Eszközök - Beállítások, Modulok fül - Kontextus súgó menüpont):

Az új környezeti eszköztipp másik hasznos funkciója az egyéni eljárások és funkciók paramétereinek megjelenítése.

Nagyításhoz kattintson a képre.

Emlékezzünk vissza, hogy van egy dokumentum „Szabványok és módszerek rendszere az 1C: Enterprise 8 platform konfigurációinak fejlesztéséhez”, amely leírja az 1C cég ajánlásait a kifejlesztett programkódhoz.

Így a „Paraméterek” rész az eljárás (függvény) paramétereit írja le. Ha nincsenek jelen, a szakasz kimarad.

Megelőzi a „Paraméterek:” sor, majd az összes paraméter leírása egy új sorba kerül. A paraméter leírása egy új sorban kezdődik, ezt követi a paraméter neve, majd egy kötőjel és egy típuslista, majd egy kötőjel és a paraméter szöveges leírása.

Például:

// Válaszlap készítése meglévő levélre.
// Lehetőségek:
// IncomingLetter - DirectoryLink - levél, amelyre válaszolnia kell.
// OutgoingLetter – DirectoryLink.OutgoingLetter – űrlapadatok a DirectoryLink.OutgoingLetter típushoz,
// a kimenő levélszerkesztő űrlapon található.
// Szöveg – FormattedDocument – ​​az űrlapon található levélszövegszerkesztő mezője
// kimenő levelek szerkesztője.
Eljárás Válasz levél kitöltése (bejövő levél, kimenő levél, szöveg) Exportálás

A konfigurátor pedig elemzi az e szabályok szerint írt megjegyzéseket, és a kontextuális súgó megjelenítésére használja őket!

Nagyításhoz kattintson a képre.

Az adott formátumnak megfelelő megjegyzés kézi írásának elkerülése érdekében a platform szövegsablonokat biztosít, amelyek a Ctrl + Shift + T billentyűkombináció megnyomásával tekinthetők meg.

Az „Eljárás (címmel)” elnevezésű sablon képezi a helyes megjegyzést.

Ahhoz, hogy ez a sablon működjön, csak írja be a „Proc” karaktereket a szerkesztőbe, nyomja meg a Ctrl+Q billentyűkombinációt, és válassza ki a kívánt sablont a rendszer által kínált listából.

Kódsorok csoportosítása

A szabványos megoldások moduljai az 1C: Enterprise 8 platformon meglehetősen terjedelmesek, és meglehetősen sok kódsort tartalmaznak.

A programkód olvasásának és elemzésének megkönnyítése érdekében a feltételes és ciklikus utasítások csoportosítására szolgáló funkciókat, valamint eljárásokat valósítottak meg.

A 8.3-as platform egy másik lehetőséget kínál - logikai elv szerint tetszőleges modulsorokat egy csoportba csoportosítani, majd összecsukni, hogy kevesebb helyet foglaljon el a képernyőn a szöveg olvashatóságának javítása érdekében.

A szövegterület kiválasztásához két új előfeldolgozói utasítást vezettek be: #Area és #EndArea.

A kód végrehajtása során ezeket az utasításokat figyelmen kívül hagyja. Csak a hajtandó kódsorok jelzésére van szükség.

Nagyításhoz kattintson a képre.

Ügyelni kell arra, hogy a csoportosított területek ne metsszék egymást, mert ebben az esetben nem esnek össze a képernyőn.

A #Régió rövidítéshez szövegsablon került a konfigurátorba, amely automatikusan hozzáadja az új régió létrehozására vonatkozó utasításokat a modul szövegéhez.

A konfigurátor beállításai párbeszédpanelen (Eszközök – Beállítások menüpont, Modulok – Csoportosítás menüpont) konfigurálhatjuk a szövegterületek csoportosítását és összecsukását.

Szerkezetek kiemelése színnel

Most a szerkesztőben a beépített nyelvű szöveg színesen kiemelve szintaktikai konstrukciók, amelyen a kurzor jelenleg áll. Például egy eljárás (függvény), feltételes utasítás és ciklusutasítás eleje és vége:

Nagyításhoz kattintson a képre.

A platform másik újítása a nyitó- és zárókonzolok színkiemelése. Ez nagyon hasznos hosszú kifejezések írásakor, amikor a szintaktikai vezérlő hibát jelez, és a fejlesztőnek meg kell találnia egy extra vagy hiányzó zárójelet.

Nagyításhoz kattintson a képre.

A konfigurátor paraméterei párbeszédablakban (Eszközök – Opciók menüpont, Modulok – Szerkesztés menüpont) számos további hasznos struktúra színkiemelése konfigurálható.

Ha kiválasztja a „Jelenlegi azonosító” paramétert, és a szerkesztési háttérszíntől eltérő színt rendel hozzá (alapértelmezetten fehér), akkor amikor a kurzort bármely programkód azonosítóra helyezi, az maga is kiemelésre kerül a kiválasztott színnel, és emellett a modulban előforduló összes azonos azonosító kiemelve, az azonos azonosítójú karakterlánc-konstansok pedig idézőjelek között vannak:

Nagyításhoz kattintson a képre.

Szintén érdekes a „Kiválasztott azonosító” paraméter. Ha olyan színre van beállítva, amely nem egyezik a szerkesztési háttérszínnel, akkor az azonosítóra duplán kattintva mind az azonosító, mind a modulszövegben található összes egyező azonosító kiemelésre kerül.

Nagyításhoz kattintson a képre.

Ha a keresősáv segítségével vagy a Ctrl + F billentyűkombináció lenyomása után keres a modul szövegében, a talált szó kiemelésre kerül, és az összes megtalált szó kiemelésre kerül.

Nagyításhoz kattintson a képre.

Cellák egyesítése egy táblázatkezelő dokumentumban

Korábban a táblázatos dokumentumok celláit csak egy menüelem vagy a megfelelő parancssor gomb használatával lehetett egyesíteni.

Most megjelent a Ctrl + M billentyűparancs, megnyomására a táblázatkezelő dokumentum cellái egyesülnek. Az „Összevonás” művelet egy táblázatkezelő dokumentum helyi menüjében is elérhető.

Reméljük, hogy az 1C:Enterprise 8 platform következő kiadásaiban a fejlesztők figyelmet fordítanak a konfigurátorral való munka használhatóságának javítására.

Új lehetőségek a fejlesztők számára az 1C:Enterprise 8.3.5-ben

Keressen a konfigurátorban

A konfigurálásnál folyamatosan a keresést kell használni. Mindaddig, amíg a konfiguráció viszonylag kevés metaadat objektumot tartalmaz, vizuálisan kereshet - a szemével, görgetve a konfigurációs fát.

A tipikus konfigurációk azonban meglehetősen terjedelmesek, és ezzel a megközelítéssel a keresés sokáig tart.

A 8.3.5-ös platform kiadása előtt a metaadat-fában a következőképpen lehet keresni:

  • írja be az objektum nevét a billentyűzetről, és a rendszer a név első betűjével kezdődő név egyezését keresi, de csak a konfigurációs fa kibontott soraiban;
  • A keresőablak megnyitásához használja a Ctrl+F billentyűkódot:

A talált objektumok a Keresési eredmények ablakban jelennek meg, ahonnan duplán kattintva a kívánt metaadat objektumra léphet a konfigurációs fában.

A 8.3.5-ös platform új keresőmezőt vezetett be a konfigurációs fa felett:

A keresés egy karakterlánc előfordulása alapján történik, és a Név, Szinonim és Megjegyzés konfigurációs objektumok tulajdonságait elemzi.

Ráadásul a konfigurációs fa „menet közben” szűrésre kerül: csak azok az objektumok maradnak benne, amelyek megfelelnek a beírt szűrőnek.

Nézzük meg, mit jelentenek a színek a szűrő alkalmazása után a fában maradó objektumoknál.

Ha a keresési karakterlánc megtalálható, egy ilyen objektum neve feketével van kiemelve a konfigurációs fában.

Ha ezen kívül a keresett karakterlánc szerepel az objektum nevében (nem szinonimában, nem megjegyzésben), akkor az ilyen előfordulások pirossal vannak kiemelve.

Azok az objektumok, amelyek önmagukban nem illeszkednek a beírt szűrőhöz, de vannak alárendelt (gyermek) objektumai, amelyek kielégítik a megadott szűrőt, szürkével vannak kiemelve.

A fenti képen a kellékek IB felhasználói azonosító Könyvtár Felhasználók jelenik meg a fában, mert szinonimája a „post” részstringet tartalmazza:

A kereséshez több, szóközzel elválasztott karakterlánc beírása megengedett:

Hasonló keresési karakterlánc jelent meg a kiválasztott objektum tulajdonságait tartalmazó ablakban (tulajdonságok paletta):

A talált tulajdonságok egy általános listában jelennek meg, kategóriákra bontás nélkül.

A keresés vagy ingatlannevek, vagy ingatlannézetek alapján történik (a különbség a fenti két képernyőképen látható).

A helyi menü „Tulajdonságnevek megjelenítése” parancsával válthat a név/ábrázolási módok között:

Ugyanez a keresési karakterlánc hozzáadásra került az adattípus kiválasztási ablakhoz:

És a metaadat objektum kiválasztására szolgáló ablakban (például egy információs regiszter kiválasztása, amelyet a számítási regiszter grafikonjaként használnak):

Az egy adott alrendszerben található objektumok gyors megjelenítéséhez a helyi menüben megjelent egy új „Alrendszer-objektumok” elem:

Emlékezzünk vissza, hogyan lehetett ezt elérni a platform korábbi verzióiban.

Meg kellett nyitni az alrendszerek kiválasztó ablakát, be kell jelölni a kívánt alrendszer jelölőnégyzetét, és törölni kellett az összes többi alrendszer jelölését:

Most gyorsabban elérheti ugyanazt az eredményt. Ezenkívül az egyik alrendszer szerinti kiválasztás a leggyakrabban használt és a legkeresettebb.

Ezért ez a kis kényelmes újítás a fejlesztő idejét takaríthatja meg.

Gyorsan megjelenítheti a tárolóban rögzített objektumokat

Ha a konfiguráció a tárolóhoz csatlakozik, akkor a „Rögzített objektumok” gomb elérhető a konfigurációs fa feletti parancspanelen:

A szűrés most közvetlenül a konfigurációs fában történik, nem kell megnyitni külön ablak az adattárral való együttműködéshez állítsa be a benne lévő rögzített objektumok kijelöléseit.

Refaktorálási eszközök

Ha több fejlesztőből álló csoport dolgozik egy konfiguráción, gondoskodni kell arról, hogy a kód érthető legyen, és kövesse a közös szabványokat.

Ezt nem mindig lehet folyamatosan ellenőrizni, ezért időszakonként dolgoznak a kód olvashatóságának javításán és a már megvalósított töredékek átdolgozásán.

Az ilyen műveleteket kódrefaktorálásnak nevezik. Ez egy program belső szerkezetének megváltoztatása anélkül, hogy befolyásolná a külső viselkedését, és célja, hogy könnyebben megérthető legyen a program működése.

Ezen túlmenően a fejlesztőknek munkát kell végezniük a konfigurációkban, hogy elhagyják a modalitást – kiküszöböljék a modális hívásokat.

Ezért a 8.3.5-ös platform konfigurátora mostantól kódrefaktoráló mechanizmusokat és eszközöket tartalmaz a modális hívásokkal való munkához.

Ezek a konfigurátor szövegszerkesztőjének helyi menüjében érhetők el, külön Refaktoring menüben.

Nagyításhoz kattintson a képre.

Nézzük meg közelebbről a megvalósított refaktoráló eszközöket.

1. Válasszon ki egy töredéket

Ez a parancs a kiválasztott kódrészletet külön eljárássá vagy funkcióvá alakítja.

Ha az eljárás, amelyen belül a kiválasztott szakasz található, fordítási direktívát tartalmaz (&On the Client, &On the Server stb.), akkor a létrehozott eljárás vagy függvény ugyanazzal a fordítási direktívával fog rendelkezni.

Ha a kiemelt kódrészlet a hozzárendelési operátor jobb oldalán található, akkor létrejön egy függvény. Nézzünk egy példát. Legyen egy kódrészlet:

&OnClient
Eljárás TermékekTermékMódosítva(Elem)
Str = ;
Oldalár = Szerezze meg a termék árát(Object.Date, Page.Product);

Vége eljárás

Ha a „Select fragment” parancsot alkalmazza a kiválasztott kódrészletre, a rendszer a következő programkódot generálja (új funkciót hoz létre):

&OnClient
Eljárás TermékekTermékMódosítva(Elem)
Oldal = Items.Products.CurrentData;
Oldalár = Szerezze meg a termék árát(Object.Date, Page.Product);
Oldal mennyisége = CalculateAmount(Oldal);
Vége eljárás
&OnClient
Funkció CalculateAmount(Érték oldal)
Vissza oldal Mennyiség * Oldal ár ;
EndFunction

Akkor is létrejön egy függvény, ha a kiválasztott kódszakaszban egy változóhoz van hozzárendelés, amelyet az alábbiakban használunk a kódban. Például:

&OnClient
Eljárás TermékekÁrMódosításkor(Elem)
Oldal = Items.Products.CurrentData;
Oldal mennyisége = Oldal mennyisége * Oldal ára ;
Vége eljárás

A kiválasztott terület a következőképpen alakul:

&OnClient
Eljárás TermékekÁrMódosításkor(Elem)
Oldal = CurrentLineProducts();
Oldal mennyisége = Oldal mennyisége * Oldal ára ;
Vége eljárás
&OnClient
Funkció CurrentLineProducts()
Változó oldal ;
Oldal = Items.Products.CurrentData
Vissza oldal ;
EndFunction

2. Átnevezés

Ez a parancs lehetővé teszi egy változó vagy eljárás (függvény) nevének megváltoztatását minden olyan helyen, ahol ténylegesen használják.

Ha egy változó vagy metódus minden előfordulása egyedileg azonosításra kerül, a rendszer kérni fogja, hogy adjon meg egy új nevet, és hajtsa végre a cserét, ahol ez az azonosító megjelenik.

Ha egy változó vagy metódus összes használata nem azonosítható egyértelműen, akkor a rendszer megjelenít egy kérdést, és megjeleníti az előfordulásokat:

Vegyünk egy olyan helyzetet, amikor a rendszer nem tudja automatikusan lecserélni az eljárás nevét.

Legyen egy eljárás a dokumentum modulban:

Eljárás Recalculate() Export
Az egyes TechStringProducts A Termékciklusból
TechStringProducts.Amount= TechStringProducts.Quantity* TechStringProducts.Price;
EndCycle ;
Vége eljárás

Ennek a dokumentumnak az űrlap moduljában pedig a következő kezelő található:

&A szerveren
Eljárás RecalculateOnServer()
Dokumentum = PropsFormValue("Egy tárgy" );
Dokumentum.Újraszámítás();
ValueInFormProps(Dokumentum, „Objektum”);
//további feldolgozás...

Vége eljárás

Piktogram pirossal felkiáltójel a keresési eredmények ablakában azt jelenti, hogy egyedileg és pontosan azonosíthatja egy eljárás használatát egy kódsorban Újraszámítás() a rendszer meghibásodott.

Ennek az az oka, hogy a rendszer nem tudja automatikusan meghatározni a változó típusát Dokumentum a funkció végrehajtása után FormAttributesValue().

A kontextuális célzási mechanizmus ebben az esetben sem kínál lehetséges opciók amikor egy változó után egy pontot lenyomunk Dokumentum vagy a Ctrl+Szóköz billentyűkombináció megnyomásával.

Nagyításhoz kattintson a képre.

Ha egy eljárást átnevez egy űrlapmodulban a refaktoring paranccsal, az is megváltoztatja a kezelőre való hivatkozást az űrlapelem tulajdonságaiban és parancsaiban.

3. Hozzon létre egy függvényleírást

A parancs megjegyzést hoz létre az eljárás vagy függvény előtt, amelyet a környezeti eszköz megfelelően értelmez.

// Eljárás – Töltse ki a levelet a sablon segítségével
// Lehetőségek:
// Kimenő levél - -
// Szöveg - -
Eljárás Töltsön ki egy levelet sablon segítségével(Kimenő levél, Szöveg ) Exportálás
//…
Vége eljárás

A rendszer létrehoz egy megjegyzéssablont, amelybe paramétertípusokat és magyarázatokat kell beilleszteni.

Ezután használhatja a kiterjesztett tippet a kód írásakor.

4. Hozzon létre egy riasztásfeldolgozást

Ez a parancs akkor válik elérhetővé a helyi menüben, amikor a kurzort egy metódusnévre helyezik, amelyet egy nyitó zárójel követ.

Ráadásul ezek olyan módszerek, mint pl ShowQuestion(),ShowWarning(), ShowNumberEnter()és a modális módszerek egyéb blokkoló analógjai.

Nézzünk egy példát. Kezdjük el írni a kliens parancskezelőt, állítsa a kurzort a talált metódusra ShowQuestion(), hívja a „riasztáskezelő létrehozása” parancsot:

&OnClient
Eljárás Töltse ki az anyagokat(csapat)
ShowQuestion (
Vége eljárás
Ennek eredményeként a rendszer a következő programkódot generálja:
&OnClient
Eljárás Töltse ki az anyagokat(csapat)
ShowQuestion (Új LeírásFigyelmeztetések(„Töltse ki az anyagok kitöltését”, ThisObject ));
Vége eljárás
&OnClient
Eljárás Töltse ki a MaterialsCompletion elemet(Kérdés Eredmény, Extra lehetőségek) Exportálás
Vége eljárás

5. Modális hívás konvertálása

Ez a parancs átalakítja a modális metódust tartalmazó kódrészletet aszinkron megfelelőjére. Nézzünk néhány példát.

Alakítsuk át a hívást a Warning() metódusra:

&OnClient
Eljárás NewHandler()
A = 1;
Figyelmeztetés ("Szöveg");
A=2;
Vége eljárás // NewHandler()

A megadott parancs alkalmazása után a programkód a következő formában jelenik meg:

&OnClient
Eljárás NewHandler()
A = 1;
ShowWarning(Új LeírásFigyelmeztetések(„New HandlerCompletion”, ThisObject ),
"Szöveg");
Vége eljárás
&OnClient
Eljárás NewHandlerCompletion(Extra lehetőségek) Exportálás
A=2;
Vége eljárás

Bonyolítsuk le a példát. Fontolja meg egy modális függvény és egy feltételes operátor használatát:

&OnClient
Eljárás NewHandler()
Válasz = Kérdés (,
Dialógus módKérdés.IgenNem);
Ha Válasz = Dialógus visszatérési kódja.Igen Akkor
//kitöltési algoritmus
EndIf ;
Vége eljárás

A modális hívás konvertálása után a következőket kapjuk:

&OnClient
Eljárás NewHandler()
Válasz = Undefined ;
ShowQuestion (Új LeírásFigyelmeztetések(„New HandlerCompletion”, ThisObject ),
„A táblázatos rész törlésre kerül. Folytatni?", Dialógus módKérdés.IgenNem);
Vége eljárás
&OnClient
Eljárás NewHandlerCompletion(Kérdés Eredmény, Extra lehetőségek) Exportálás
Válasz = Kérdés Eredmény;
Ha Válasz = Dialógus visszatérési kódja.Igen Akkor
//kitöltési algoritmus
EndIf ;
Vége eljárás

A kapott töredékben hangsúlyozni kell a Válasz változó inicializálását.

6. Átalakítás aszinkron eljárásra

A fent tárgyalt példákban olyan módszereket alakítottak át, amelyeknek aszinkron megfelelőik voltak. Például, Kérdés()És ShowQuestion(), Figyelem()És ShowWarning().

Ha azonban egy modális hívás egy eljáráson belül található, ami viszont egy másik eljáráson belül található, akkor az egész eljáráshívás modális metódussal modális lesz.

Ez azt jelenti, hogy le kell cserélni egy „aszinkron analógra”, de nem a beépített nyelvben létezővel, hanem a saját fejlesztésű módszerünkkel.

A „Refaktoring” almenü másik parancsa erre szolgál – „Konvertálás aszinkron eljárásra”. Magyarázzuk meg egy olyan eljárás példájával, amely egy másik eljárást hív meg egy modális funkcióval:

&OnClient
Eljárás NewHandler()
A = 1;
NestedProcedure();
A=2;
Az eljárás vége &On kliens
Eljárás NestedProcedure()
Figyelmeztetés ("Szöveg");
Vége eljárás

Vigye a kurzort az eljárás deklarációjára Beágyazott eljárás(), aszinkron eljárássá alakítjuk. A rendszer a következő kódot készíti nekünk:&OnClient
Eljárás NewHandlerCompletion(Eredmény, Extra lehetőségek) Exportálás
Figyelmeztetés = ;
A=2;
Végezze el a riasztásfeldolgozást(Éber);
Az eljárás vége &On kliens
Eljárás NestedProcedure(figyelmeztetési érték)
Figyelmeztetés ("Szöveg");
Végezze el a riasztásfeldolgozást(Éber);
Vége eljárás

Kérjük, vegye figyelembe a rendszer által hozzáadott módszert Riasztási feldolgozás végrehajtása (), amelyet olyan eljárások megvalósításában használnak, amelyek belsőleg nyithatnak blokkoló ablakokat, de eredményüket vissza kell adniuk a hívó eljárásoknak.

Emlékeztetni kell arra, hogy az aszinkron eljárássá konvertálás azonnali feladata a kiválasztott eljárás hívássorozatának aszinkron formára átalakítása, de magában az eljárásban található hívások nem változnak.

Ezért a módszer Figyelem() nem cserélték ki. Ezt az aszinkron eljárásra való átalakítás után kell megtenni a „Modális hívás konvertálása” parancs külön meghívásával.

Ha az eredeti kódrészletben a tartalmazó sorban Figyelem(), hajtsa végre a „Modális hívás konvertálása” parancsot, a rendszer megkérdezi:

Az eredmény a következő lesz:

&OnClient
Eljárás NewHandler(figyelmeztetési érték)
A = 1;
NestedProcedure(Új LeírásFigyelmeztetések(„New HandlerCompletion”,
ThisObject , New Structure (“Alert” , Alert )));
Az eljárás vége &On kliens
Eljárás NewHandlerCompletion(Eredmény, Extra lehetőségek) Exportálás
Figyelmeztetés = További opciók. Értesítés;
A=2;
Végezze el a riasztásfeldolgozást(Éber);
Az eljárás vége &On kliens
Eljárás NestedProcedure(figyelmeztetési érték)
ShowWarning(Új LeírásFigyelmeztetések(„NestedProcedureCompletion”,
ThisObject, New Structure ("Értesítés", Értesítés )), "Szöveg");
Vége eljárás
&OnClient
Eljárás NestedProcedure Befejezés ( Extra lehetőségek) Exportálás
Figyelmeztetés = További opciók. Értesítés;
Végezze el a riasztásfeldolgozást(Éber);
Vége eljárás

7. Hozzárendelés egy aszinkron eljáráshoz

Ez a parancs a kiemelt kódrészletet eljárássá vagy funkcióvá alakítja, míg a kiemelt metódust aszinkron metódussá alakítja.

Az előző bekezdéstől eltérően ez a parancs „összetett”: először a kiválasztott kódrészlet átkerül egy új eljárásba, amelynek nevét a felhasználó beírja a párbeszédablakban.

Ezután ugyanazokat a lépéseket hajtja végre, mintha a felhasználó jobb gombbal kattintana az újonnan létrehozott eljárás címére, majd kattintson a Konvertálás aszinkron eljárásra lehetőségre.

8. Keresse meg a Modális modulhívásokat

A fent leírt parancsok egyetlen metódussal vagy egy kiválasztott kódrészlettel működnek.

Olyan eljárások kerültek bevezetésre, amelyek a teljes modult feldolgozzák, például modális hívások keresése a teljes modulon belül.

A talált kódsorok megjelennek a keresési eredmények ablakában:

Nagyításhoz kattintson a képre.

9. Konvertálja a modális modulhívásokat

Ez a parancs átalakításokat hajt végre egy nyitott modulban, de csak azokat a hívásokat, amelyek nem igényelnek fejlesztői beavatkozást.

A főmenüben is található egy parancs (Konfiguráció – Refaktorálás – Modális konfigurációs hívások elemzése).

Megkeresi a modális hívásokat is, csak a teljes konfiguráción belül, ellenőrzi, hogy a modális hívások automatikusan konvertálhatók-e.

Nagyításhoz kattintson a képre.

Következtetés

Befejezésül in időrendben Röviden jegyezzük meg, milyen további hasznos funkciókat szerzett a konfigurátor:

  • A modulszövegekben találhatók a könyvjelzők listái, amelyeket a munkamenetek között el lehet menteni (8.3.6+)
  • Dinamikus frissítés esetén nem kellett újraindítani a konfigurátort, amikor az infobázis kliens-szerver verziójában (8.3.7+) dolgozott.
  • Bevezették az OS X 10.8 és újabb (8.3.7+) operációs rendszerhez való konfigurációk fejlesztésének lehetőségét. Most már mind a konfigurátor, mind a kliens alkalmazás (vastag és vékony kliensek) elérhető ebben az operációs rendszerben.
  • Jelentősen bővültek a kötegelt módban végrehajtható műveletek (8.3.8+). Ennek köszönhetően az automatikus konfigurációfrissítés folyamata jelentősen leegyszerűsödik
  • Megvalósult egy adminisztrációs konzol segédprogram, melynek segítségével a konfigurátor (8.3.8+) indítása nélkül is kijavíthatóvá vált néhány infobázissal kapcsolatos probléma.
  • Hozzáadott funkcionalitás a bővítmény konfigurációhoz való csatlakoztatásával kapcsolatos problémák ellenőrzéséhez. Korábban nem volt ilyen funkció, és a diagnosztika az üzenetablakban jelent meg a bővítmény csatlakoztatásakor (8.3.9+)
  • A 64 bites konfigurátor támogatása megtörtént. Ez a funkció lehetővé tette a nem elegendő memória problémájának kiküszöbölését az összehasonlításhoz és az összevonási műveletekhez a konfiguráció frissítése és más erőforrás-igényes műveletek (8.3.9+) során.
  • A kezelt űrlap első megnyitása a konfigurátorban jelentősen felgyorsult (8.3.9+)
  • Mostantól lehetőség van a szerkesztett konfiguráció részleges feltöltésére XML-fájlokba. Most már csak azokat az objektumokat tudja kirakni, amelyek az utolsó kirakodás óta megváltoztak. Ez jelentősen felgyorsította az XML-fájlokba való feltöltés folyamatát, ha nagy konfigurációkat (8.3.10+) hajtanak végre.
  • Továbbfejlesztett modulok kombinálhatósága, figyelembe véve a metódusok elhelyezkedését az előfeldolgozó utasításai által meghatározott területeken (8.3.10+)
  • Növelték a gyakran használt fejlesztési műveletek sebességét (8.3.11).

Ezenkívül a platform fejlesztői kiadásról kiadásra javítják a konfigurátor teljesítményét és ergonómiáját, ezért javasoljuk, hogy lehetőség szerint az aktuális kiadások platformján fejlesszen.

Tehát menjünk tovább – a következő cikkben visszatérünk a programozáshoz, és megvizsgáljuk a programkód-kontextus fogalmát.


Ez a cikk egy új funkció bejelentése.
Nem ajánlott a cikk tartalmát új funkciók megismerésére használni.
Az új funkciók teljes leírását a megfelelő verzió dokumentációja tartalmazza.
Teljes lista Az új verzió módosításai a v8Update.htm fájlban vannak felsorolva.

Verzióban megvalósítva8.3.12.64 mobil platform.

Megvalósítottuk új technológia– mobil kliens. Lehetővé teszi olyan alkalmazások létrehozását mobil eszközökhöz, amelyek a vékony klienshez hasonlóan ötvözik a mobil platform kényelmes felületét és az online munkát az információs bázissal.

Mobil munka forgatókönyvek

Egészen a közelmúltig az 1C:Enterprise platform kínálta az egyetlen olyan technológiát, amellyel mobileszközökön keresztül lehetett dolgozni alkalmazásaival. Ez egy mobil platform.

Ez a technológia lehetővé teszi speciális off-line mobil alkalmazások létrehozását, amelyek kényelmes és funkcionális mobil felülettel rendelkeznek. A mobilalkalmazásokat konkrét mobilproblémák megoldására fejlesztették ki, és architektúráját és felületét tekintve maximálisan ezekre optimalizálták őket. Az ilyen alkalmazások mobil munkavégzési forgatókönyveket valósítanak meg, és kényelmesek táblagépen és okostelefonon egyaránt.

Az ilyen alkalmazások architektúrájukban nagyon hasonlítanak az 1C:Enterprise rendszer fájlverziójához. A mobileszköznek saját adatbázisa van a mobilalkalmazáson belül, van egy kliens, amely interakciót biztosít a felhasználóval, és egy szerver, amely interakciót biztosít az adatbázissal.

Az ilyen mobilalkalmazások kölcsönhatásba léphetnek az irodában telepített „fő” alkalmazással. De ez nem online interakció, hanem időszakos adatcsere a háttérirodával. A mobilalkalmazásban a fő munka offline módban történik. És amikor megjelenik az internetkapcsolat, az adatok szinkronizálódnak.

Így a mobilplatform kiválóan alkalmas autonóm munkahelyek kialakítására a cégen kívüli, az irodához megbízható internetkapcsolattal nem rendelkező munkavállalók számára. Az ilyen munkaállomások azonban jellemzően korlátozott funkcionalitással rendelkeznek, kevesebb, mint a „fő” alkalmazásé. Ezenkívül nem biztosítanak online interakciót az információs bázissal.

Kiderült, hogy a problémák jelentős körét nem fedi le, amelyek a következő jellemzőkkel rendelkeznek:

  • Az információs bázissal való interakciót online kell végrehajtani;
  • A „fő” alkalmazásmegoldás minden funkciójának elérhetőnek kell lennie egy mobileszközön, még akkora is, mint például az „1C:ERP Enterprise Management”;
  • Az interfésznek kényelmes működést kell biztosítania bármely mobileszközön, bármilyen képernyőmérettel és helyen.

Mobil kliens

A problémák ezen osztályának megoldására kifejlesztettünk egy mobil klienst. A mobilkliens egy vékony kliens mobileszközökhöz, amely a mobilplatformhoz hasonló felülettel rendelkezik. A mobil kliens disztribúció tartalmazza az összes szükséges futtatható fájlt, amelyből a fejlesztő ugyanúgy tud alkalmazást készíteni egy mobileszközre, ahogyan a mobilalkalmazások mobilplatformról épülnek fel.

Egy ilyen alkalmazás egyrészt közvetlenül kommunikálhat az 1C:Enterprise szerverek fürtjével, ugyanúgy, mint egy vékony kliens. Másrészt a mobil kliens biztosítja a konfigurációban deklaratívan leírt űrlapok automatikus átalakítását a mobil platform interfészéhez hasonló felületté.


Az 1C:Enterprise asztali verziójához kifejlesztett űrlapokat automatikusan úgy rendezi el, hogy a mobiltelefonok kis képernyőjén elfogadható szinten biztosítsa a könnyű használatot.


Természetesen ahhoz, hogy ez az átalakítás még jobban megvalósuljon, szükséges néhány új űrlapelem-tulajdonság megadása kifejezetten a mobilkliens számára, illetve néhány speciális és nem szabványos interfész-megoldástól való megszabadulás. Ez azt jelenti, hogy az alkalmazási megoldást kifejezetten a mobil kliensre kell átdolgozni. De ez az átdolgozás sokkal egyszerűbb, mint egy egyedi, teljes funkcionalitású mobilalkalmazás létrehozása.

Potenciális felhasználók

Véleményünk szerint erre a technológiára azokban a megvalósításokban lesz kereslet, ahol mobil eszközökről online hozzáférés szükséges a rendszerhez. Így a mobileszközön bevitt adatok közvetlenül a „közös” adatbázisba kerülnek, megkerülve a közbenső szinkronizálási lépéseket.

Ezenkívül a mobil kliensre olyan kis cégeknél lesz kereslet, amelyeknek sem költségvetésük, sem idejük nincs speciális mobilalkalmazások fejlesztésére. Becsléseink szerint ugyanis a mobilalkalmazások fejlesztésének legnehezebb szakasza éppen egy adatcsere-rendszer létrehozása.


Ezenkívül a mobil kliens hasznos lesz az 1Cfresh technológián alapuló szolgáltatások felhasználói számára. Ezek az 1Cfresh.com és a Számviteli szolgáltatások, valamint az 1C által támogatott szolgáltatások, valamint az ezzel a technológiával telepített egyéb szolgáltatások.

Funkcionalitás

Ha összehasonlítjuk a mobil kliens funkcionalitását azzal, amit egy vékony kliens tud, akkor nem csak korlátai vannak, hanem előnyei is.

A mobil kliens fontos előnye, hogy tartalmazza a mobilplatform összes funkcióját, amelyet maguk a használt eszközök határoznak meg. Vagyis lehetővé teszi például a fotózást, az előfizetői szám tárcsázását, a PUSH üzenetek fogadását és még sok mást.

A mobil kliens másik előnye, hogy nem csak a szerver verziójával működik, amelyre készült. A szerver szinte bármely verziójával működik, amíg nem történik jelentős változás a kommunikációs protokollban vagy a platform architektúrában. Azért tettük ezt, mert a mobilalkalmazások közzététele meglehetősen munka- és időigényes folyamat, amelyet szinte lehetetlen befejezni egy szerverfürt platform új verziójára való áthelyezésével egy időben.

Ha már korlátokról beszélünk, ezek közül a legnyilvánvalóbb, hogy a mobil kliens csak a HTTP (HTTPS) protokollon keresztül lép kapcsolatba a szerverfürttel.

Egy másik korlát azonban, ami a mobilplatformot illeti, néhány beépített nyelvi objektum és egyes interfészelemek elérhetetlensége. De megpróbáljuk minimalizálni ezeket a különbségeket, ahogy a mobil kliens fejlődik.

Űrlap interfész felépítésének automatizálása

A mobil kliens létrehozásakor nagy figyelmet fordítottunk arra, hogy a konfiguráció mobil klienshez igazítása minimális erőfeszítést igényeljen. Számos technológiát és megközelítést fejlesztettünk ki nagy formák, az asztali verzióhoz készült, automatikusan adaptálva a mobil eszközök kis képernyőjéhez.

Például azt találtuk, hogy a nagy formák általában kevés fontos elemet tartalmaznak. Vagyis olyan elemeket, amelyekkel folyamatosan dolgozunk. És ugyanakkor sok kevésbé fontos elemet tartalmaznak, amelyeken időről időre dolgoznak.

Például fontos elemek egy dinamikus listatábla lista formájában, egy táblázatos dokumentum jelentés formájában. Fontos oszlopok például a „Név” és a „Dátum” oszlopok.

Ennek megfelelően az űrlappal való munka megfelelő szintű kényelmének biztosítása érdekében a mobil kliens több helyet ad az űrlapon a fontos elemeknek, és kevesebb helyet ad a kevésbé fontos elemeknek, így például egy összecsukható csoportba helyezi őket. .

Másodszor, a mobil kliens függőlegesen kibontja a vízszintes csoportokat, ha nem illeszkednek a képernyő szélességéhez. Mobileszközökön nem szokás és kényelmetlen az űrlap vízszintes görgetése, így ez a megoldás meglehetősen kényelmes és indokolt.

A konfigurációk hozzáigazítása a mobil klienshez

Az automatizálás ellenére a konfiguráció fejlesztőjének némi erőfeszítésre lesz szüksége ahhoz, hogy az alkalmazásmegoldást a mobil klienshez igazítsa.

Anélkül, hogy belemennénk a részletekbe, azt mondhatjuk, hogy minden ilyen fejlesztés két fő irányba illeszkedik.

Az első, hogy megszabaduljunk a speciális és specifikus interfész-megoldásoktól, inkább a platform által adattípus-információk alapján végzett automatikus űrlapelrendezésre támaszkodva. Ilyen konkrét megoldások lehetnek fix mezőméretek, mereven kialakított vízszintes elemek csoportosítása és hasonlók.

Egy másik irány az, hogy a mobil klienst további információkkal látják el az űrlapelemekről. Megtanítottuk a mobil klienst arra, hogy könnyen felismerje a szabványos vagy kisméretű elemeket és meghatározza azok fontosságát. De ha az űrlap nem szabványos vagy nagy, akkor hasznos lesz manuálisan jelezni, hogy mely elemei fontosabbak és kevésbé fontosak. Ehhez használhatja az elemek új tulajdonságát - Fontosság megjelenítéskor: magas, normál, alacsony stb.

Valószínűleg az alkalmazásmegoldás azon helyeit is elemezni kell majd, ahol a vékonykliens és a webkliens működési algoritmusai eltérnek. Ezt meg kell tenni annak jelzésére, hogy melyik algoritmust fogja használni a mobil kliensben végzett munka során. Ennek érdekében egy új MobileClient fordítási direktívát adtunk hozzá.

Terjesztés, összeszerelés és kiadás

A mobilkliens lényegében egyfajta „héj”, amely képes elindítani egyik vagy másik alkalmazásmegoldást. Ugyanakkor az elindított alkalmazásmegoldások funkcionalitása jelentősen eltérhet egymástól. Ugyanakkor az AppStore alkalmazásbolt megköveteli, hogy az áruházban közzétett alkalmazás a közzétételt követően ne változtassa meg jelentősen a funkcionalitását.

Ezért a mobilklienst nem tesszük közzé külön univerzális alkalmazásként. A mobil klienst a mobilplatformhoz futtatható fájlok készleteként látjuk el. Ezen fájlok alapján a fejlesztőnek létre kell hoznia egy mobileszközön futó alkalmazást. Az alkalmazások létrehozásának és közzétételének eljárásai mind a mobilplatform, mind a mobilkliens esetében hasonlóak. Ugyanezt az eszközt használják - egy mobilalkalmazás-készítőt.

Ahhoz, hogy egy alkalmazásboltban közzétett mobil kliens fix funkcionalitással rendelkezzen, annak felépítésekor meg kell adni azokat a konkrét konfigurációkat, amelyekkel az alkalmazás működni fog. Működés közben a mobil kliens ellenőrzi, hogy a megadott konfigurációk közül csak az egyiket használja-e, és nincs-e jelentős változtatás. Ez egy speciális védelem annak biztosítására, hogy egy bizonyos konfigurációkhoz közzétett mobil kliens ne működhessen más konfigurációkkal. A gyakorlat azt mutatja, hogy a felhasználók számára kényelmes, ha egyetlen mobilalkalmazás egyetlen konfigurációnak vagy hasonló konfigurációknak felel meg.



Ossza meg