Nyomtatás (Ctrl+P)

Ez a cikk az 1C:Enterprise rendszer néhány adminisztrációs elemének leírását tartalmazza, amelyek kifejezetten a Microsoft SQL Server 2012 rendszer kliens-szerver verziójára vonatkoznak:

Biztonsági másolat készítése a kliens-szerver verzióban

Szerverfürt adminisztráció

Az 1cv8 servers.msc fürt adminisztrációs konzol vagy segédprogram egy MMC (Microsoft Management Console) beépülő modul, és olyan számítógépeken használható, amelyek rendelkeznek a megfelelő szoftver. Alapértelmezés szerint a C:\Program Files (x86)\1cv8\common mappába van telepítve

Cluster adminisztrációs segédprogram a következő feladatok megoldására tervezték:

  • szerverfürtök létrehozása, módosítása és törlése;
  • meglévő klaszterek módosítása: működő szerverek létrehozása, paraméterek módosítása és törlése, működő szerverekhez funkcionalitási követelmények hozzárendelése;
  • a fürt feladatátvételi szintjének beállítása;
  • az egyes működő szerverek terhelésének kézi beállítása;
  • a központi fürtkiszolgálók adminisztrátorainak és a fürtrendszergazdák listáinak kezelése;
  • felhasználói kapcsolatok figyelése infobázisokkal és szolgáltatási kapcsolatokkal;
  • válassza le a felhasználókat információs bázis;
  • 1C:Enterprise 8 objektumzárak és klienskapcsolati zárak figyelése;
  • az adatbázis-kezelő rendszer tranzakciós zárainak működési elemzése;
  • az infobázissal való felhasználói kapcsolatok létrehozásának blokkolásának kezelése;
  • ütemezett feladatok végrehajtásának blokkolásának ellenőrzése.

Ebben a cikkben csak egy új információs bázis regisztrációját fogom fontolóra venni

Új információs bázis regisztrációja

Új információs bázis regisztrálásához a kiszolgálófürt adminisztrációs segédprogrammal, válassza ki a központi szerverek fájában a kívánt központi szervert, a kiszolgálón regisztrált szükséges fürtöt, az Infobases ágat, és hajtsa végre a Create – Infobase helyi menü parancsát vagy egy hasonló parancsot. a segédprogram főmenüjét.

A parancs végrehajtásának eredményeként a képernyőn megjelenik az infobázis tulajdonságai párbeszédablak.

Az információs bázis beállításai egyenértékűek az 1C:Enterprise indítóablak segítségével létrehozott új információs bázis beállításaival.

Egy típus DBMS: Microsoft SQL Server.

Adatbázis szerver: szerver név. Megadható a számítógép nevével (ha a kiszolgáló egy példánya van telepítve a számítógépen), vagy egy adott példány nevével (ha több példány van telepítve). Például Szerver/példány. Ha az 1C:Enterprise szerver és a Microsoft SQL Server ugyanazon a számítógépen található, és a Native Client (natív kliens) telepítve van a Microsoft SQL Serverhez, akkor lehetséges a SHARED MEMORY protokoll használata a szerverek csatlakoztatásához. Ehhez írja be a Microsoft SQL Server nevét az lpc: előtaggal. Ebben az esetben a DBMS-kiszolgáló neve így fog kinézni: lpc:Szerver/példány

Adatbázis név: az adatbázis nevének első karaktere lehet a latin ábécé betűje, valamint a "_" szimbólum. A következő karakterek lehetnek a latin ábécé betűi, számok, valamint a „_”, „$” szimbólumok. A név hossza legfeljebb 63 karakter lehet. A névben szóköz nem megengedett. A név nem lehet fenntartott szó az adatbázis-kiszolgáló lekérdezési nyelvében. A következő karakterek nem használhatók az adatbázis nevében: "<», «>"", "#", "%", """, "(", ")", "[", "]", "|", "\", "^", "`", valamint szimbólumok 0-tól 31-ig és 127-ig terjedő kódokkal

Adatbázis felhasználó: annak az adatbázisszerver-felhasználónak a felhasználóneve, akinek nevében az adatbázishoz hozzáférnek. Lényeges, hogy a megadott felhasználó legyen az adatbázis-kiszolgáló adminisztrátora (sa), vagy az adatbázis tulajdonosa (ha már létezik), hogy a kiválasztott adatbázis szerkezetét tovább szabadon módosíthassa. Az utóbbi esetben ennek a felhasználónak olvasási hozzáféréssel kell rendelkeznie a fő adatbázishoz és teljes hozzáféréssel a tempdb adatbázishoz. A fentieken kívül a megadott felhasználónak a processadmin vagy a sysadmin rögzített kiszolgálói szerepkör tagjának kell lennie.

Felhasználói jelszó: annak a felhasználónak a jelszava, aki hozzáfér az adatbázishoz.

Dátum eltolás– 0 vagy 2000. Ez a paraméter határozza meg, hogy hány év adódik hozzá a dátumokhoz, amikor azokat a Microsoft SQL Server adatbázisban tárolja, és hány évet von le lekérésekor. Ennek a paraméternek a jelenlétét a dátumok Microsoft SQL Serverben való tárolásának sajátosságai határozzák meg. A Microsoft SQL Serverben használt DATETIME típus lehetővé teszi az 1753. január 1. és 9999. december 31. közötti tartományban lévő dátumok tárolását. Ha pedig az infobázissal való munka során szükség lehet ennek a tartománynak az alsó határa előtti dátumok tárolására, akkor paraméterértékként 2000-et kell választani. Ha ilyen dátum nem fordul elő, akkor dátumeltolásként 0 választható. Az infobázis létrehozása után a paraméter értéket adja meg nem megváltoztatható.

FIGYELEM! Ha be alkalmazott megoldás Ha felhalmozási regisztereket vagy könyvelési regisztereket használunk, akkor a Dátum eltolás mezőben 2000 értéket kell beállítani, ha az adatbázis létrehozásakor 0 értéket adtunk meg ebbe a mezőbe, akkor az infobázist fájlba kell feltölteni, az adatbázist újra létrehozva, megadva a 2000 értéket a Dátumeltolás mezőben, és betölteni az információs bázist

FIGYELEM! Az információsbázis nevének egyedinek kell lennie ugyanazon a fürtön belül. Új infobázis regisztrálásakor a rendszer ellenőrzi, hogy létezik-e azonos nevű adatbázis a megadott adatbázis-kiszolgálón. Ha az adatbázis létezik, akkor kapcsolat jön létre vele. Ha a meglévő adatbázis már tartalmaz 1C:Enterprise infobázis adatokat, akkor kapcsolat jön létre a már meglévő információs bázissal. És ha az adatbázis nem tartalmaz infobázis adatokat, akkor egy új 1C:Enterprise infobázis inicializálódik benne.

Hiba az információs bázissal végzett művelet során

Az SQL-adatbázishoz való kapcsolódás során különféle létrehozási vagy csatlakozási hibák repülhetnek ki. Például, ha a következő hiba lép fel:

Ebben az esetben egy információs bázis létrehozására tett kísérletet, és a vállalati szerver nem tudott csatlakozni a Microsoft SQL Serverhez. Ellenőrizni kell:

  • Felhasználó hitelesítési paraméterek (név, jelszó és adatbázis létrehozási jogok);
  • Az adatbázisnév követi-e az elnevezési szabályokat;
  • Helyes-e az adatbázis-kiszolgáló neve;
  • Megfelel a felhasználói hitelesítés típusának. Lehetséges, hogy a felhasználó sql szerver felhasználónévvel jelentkezett be, és az SQL beállításokban rossz típusú felhasználói hitelesítés van beállítva.

Miután megjelent az új 1C platform 8.3.5-ös verziója, és az 1C:Accounting 8.3 konfiguráció (3.0-s verzió) funkcionálisabbá vált, a fejlesztők nem csak a felhasználói, hanem az adminisztratív funkciók fejlesztésén is tovább dolgoztak, így az utolsó A programkiadások változásokat vezettek be a rendszer- és a felhasználói adminisztrációs blokkban.

Ebben a cikkben megvizsgáljuk az adminisztrációs blokk főbb változásait, amelyek célja a szoftveres megoldással való munka hatékonyságának javítása.

Az adminisztrációs menü szakaszainak szervezése

Térjünk át az „Adminisztráció” részre. Ebben az objektumok csoportokba vannak rendezve:

  • Programbeállítások
  • Szolgáltatás
  • Információ

Az egyes csoportok készlete és összetétele a különböző felhasználóknál eltérő lehet, mivel a Taxi felület egyszerű konfigurálható, és csak azok a menüpontok vannak jelen a kezdeti konfigurációban, amelyek alapértelmezés szerint rendelkezésre állnak. Hozzáadni új pozíciót, kattintson a "Navigációs beállítások" gombra az "Adminisztráció" részben, ez a jobb felső sarokban található (az eszköztár alatt).

Az "Alkalmazásbeállítások" csoport tartalmazza a "Támogatás és karbantartás" alcsoportot, amely tartalmazza a program állapotának szabályozására, a biztonsági mentésre és visszaállításra, a verziók frissítésére és a teljesítmény optimalizálására szolgáló összes fő mechanizmust.


A rendszer új jelentéseket is tartalmaz a program adminisztrálásának lehetőségéről. Ezen jelentések listája a "Jelentések és feldolgozás" blokk "Adminisztrátori jelentések" sorára kattintva nyitható meg.

Megjelenik egy ablak a főbb jelentések listájával, amelyek célja a felhasználói tevékenységek elemzése és a napló vezérlése, amelyben a felhasználói műveletek rögzítésre kerülnek.


A regisztrációs napló olyan kritikus bejegyzéseket tartalmaz, amelyek hibákhoz vezethetnek a rendszerben. Megtekintésükhöz jelentést kell készítenie "Regisztrációs napló vezérlése"


A felhasználók tevékenységének figyelemmel kíséréséhez a rendszerobjektumokkal végzett munkájukkal kapcsolatban létre kell hozni a „Felhasználói tevékenység elemzése” jelentést.

Mentés és visszaállítás

Az „1C: Accounting 8.3” adminisztráció „újításai” között meg kell jegyezni a rendszermásolatok visszaállításának és a biztonsági mentések beállításának lehetőségét. A „Támogatás és karbantartás” csoporton keresztül érheti el őket, amelyben ezek a beállítások a „Biztonsági mentés és visszaállítás” blokkban találhatók.

Mostantól amellett, hogy közvetlenül felhasználói módból ellenőrizheti az aktív felhasználókat, adatokat is menthet.

Ebben az esetben konfigurálhatja az adatbázis biztonsági mentési ütemezésének elindítását. Ez a paraméter a "Biztonsági mentés beállításai" menüben található, ahol megadhatjuk a szükséges értékeket

Teljesítményértékelés

A rendszer teljesítményének elemzéséhez és értékeléséhez be kell jelölnünk a „Teljesítményértékelés” melletti négyzetet a támogatási és karbantartási részben, majd meg kell lépnünk a mutatók kiszámításának beállításait.

Tehát megismerkedtünk az 1C: Accounting 8.3 rendszer (3.0-s verzió) adminisztrációs blokkjában a Taxi felületen alapuló főbb változtatásokkal.

Az 1C Enterprise automatizált rendszer lehetővé teszi a menedzsment, a kereskedelem, a könyvelés elvégzését, a szükséges jelentések fogadását. A program működésének két típusa van:

  • A fájl - 1C csak egy számítógépre van telepítve, egyetlen kezelő sem tud adatbázisokkal dolgozni. Ez az opció kis kereskedelmi forgalommal rendelkező kis cégek számára alkalmas.
  • kliens verzió. Az 1C-vel való munka során egy felhasználói rendszer vesz részt, az adatbázisok egy számítógépen találhatók, amelyhez az összes többi kapcsolódik. A munkaopció háromszintű architektúrával rendelkezik, amely egy kliens alkalmazásból, egy 1C Enterprise szerverből és MS SQL Server vagy PostgreSQL formátumú adatbázisokból áll. Ebben az esetben az 1C szerveradminisztrációt használják a megfelelő konfiguráció biztosítására.

Szerveradminisztrációs konzol 1C:fő funkciói

Az 1C szerver nem rendelkezik beépített felülettel az adminisztrációhoz, ezért a konzolt használják. Az 1C Enterprise megfelelő verziójának szabványos szállítási csomagjában található. Ez a szabványos segédprogram mindegyikre telepítve van helyi számítógép, míg az adatbázisok itt vagy távoli szerveren tárolhatók.

Az 1C Enterprise szerver adminisztrálására szolgáló konzol segítségével a következő feladatokat oldhatja meg:

  • Változtassa meg a szerver működését, hozzon létre újakat, törölje a feleslegeseket. Adatbázisokat tárolhatnak, meghatározhatják a különböző felhasználók közötti interakciót.
  • Adminisztrátorok létrehozása. Ezek azok a felhasználók, akiknek hozzáférési joguk van a kiszolgálók módosításához. Minden rendszergazda csak a hozzárendelt szervert kezelheti. Ha nem ad hozzá egyetlen rendszergazdát, bármely regisztrált felhasználó felügyelheti az 1C szervert.
  • Klaszter munkafolyamatok létrehozása 1C. A dolgozói folyamatok hozzáadásával befolyásolhatja egy adott felhasználó teljesítményét a rendszerben. A tulajdonságokban beállíthatja a maximális teljesítményértéket (1000-ig). A megkezdett munkamenetek a folyamathoz vannak csatolva maximális teljesítmény. A rendszer szisztematikusan elemzi magát, és újraelosztja ezeket az értékeket az optimalizálás érdekében.
  • Adatbázisok létrehozása az 1C Enterprise-ban. Beállíthatja, hogy a felhasználók csatlakozhassanak-e hozzá, vagy engedélyezze, hogy csak helyileg működjön.
  • A munkamenetek kényszerített megszüntetése. Néha egy szerverüzenet tájékoztatja Önt, hogy a megadott felhasználónévvel már folyamatban van a munka. A rendszer nem mindig állítja le magától ezt a folyamatot, így az adminisztráció lehetővé teszi, hogy bármely felhasználó számára leállítsa a munkamenetet.

Hogyan kezdjük el az 1C-t?

Az 1C Enterprise ügyfélalkalmazás egy üres platform. A működés megkezdéséhez több egymást követő lépést kell végrehajtania:

  • A konzol telepítve van. Lehetővé teszi az 1C szerverek későbbi adminisztrációját.
  • A központi szerver létrehozása. Ezt követően ennek alapján hozhat létre jelentést készítő struktúrákat. Ehhez a helyi menüben adja meg a nevet, a használt protokollt, a kommunikációhoz használt port számát.
  • Klaszter létrehozása. Ebben az esetben a helyi menü is segít. Ki kell töltenie a kért adatokat (a fürt neve, használt számítógép, csatlakozási port, nem feltétlenül egyezik meg a korábban megadott porttal).
  • Információs adatbázis létrehozása. A megfelelő ágban a helyi menüt is használnia kell. Ebben megadhatók a szükséges paraméterek (név, leírás, kapcsolat típusa, hely, DBMS típus, felhasználói név és jelszó). A megadott adatok helyességének ellenőrzése után létrejön az adatbázis. Most már megadhatja a szükséges adatokat.

Első pillantásra az 1C Enterprise adminisztrációja egyszerű folyamat, de a megfelelő beállítások nélkül a rendszer nem fog megfelelően működni, a felhasználó nem tudja maximálisan kihasználni a képességeit. További technikai problémák is előfordulhatnak.

Adminisztrációszakemberek: fő előnyei

Az 1C kliens verzióját közepes és közepes cégek használják nagy üzlet, amelyeket be kell kötni egységes rendszer minden számítógépen, beleértve a távoliakat is szerkezeti egységek. Ez lehetővé teszi, hogy vegye vezetői döntések, konszolidált beszámolókat fogadni, általános könyvelést vezetni.

Fontos szerepet játszik helyes beállításés a platform teljesítményének folyamatos karbantartása, felhasználók, klaszterek, rendszergazdák létrehozása, adatbázisok módosítása. Ehhez szükség van egy bizonyos szakembergárdára. Ehhez új munkatársakat vehet fel, meglévő embereket folyamatosan képezhet vagy kiszervezheti a szolgáltatást. Minden vállalat maga dönti el, hogy adott működési körülmények között melyik módszer megfelelő.

Az 1C platform adminisztrációja, végrehajtva profi szakemberek, számos előnnyel rendelkezik:

  • Megfelelő rendszerbeállítás, amely lehetővé teszi az 1C megfelelő működését, műszaki hibák nélkül.
  • Folyamatos változtatások, biztonsági ellenőrzés. A cég tevékenysége dinamikus, kihívásokat jelent automatizált rendszerúj feladatok a vezetői és stratégiai döntések meghozatalához.
  • Új modulok telepítése, hozzáférési jogok korrekt elosztása, alrendszerek kialakítása. Különösen fontos a fióktelepekkel és távoli alegységekkel rendelkező nagyvállalatok számára.
  • Rendszerterhelés vezérlés, terheléselosztás különböző szerver számítógépeken.

Az 1C az architektúra összetevőinek különböző helyeivel működik, ezek elhelyezhetők ugyanazon vagy különböző számítógépeken. A maximális védelmi rendszer biztosítása érdekében ajánlatos az egyes elemeket különböző számítógépeken elhelyezni.

  • oktatóanyag

Jogi nyilatkozat


Ez a cikk a szerző személyes véleményét, világlátását, útját fejezi ki, és mindez nem igényli az abszolút hűséget és tárgyilagosságot. A szerző semmilyen felelősséget nem vállal ezen információk felhasználásának következményeiért, csak reméli, hogy ez az információ segít valakinek megkönnyíteni az életét.


Előszó


Először csak egy rövid cikket akartam írni arról, hogyan osztjuk szét az adatbázisokat a szolgáltatások között, de ennek a folyamatnak az elmélyítése során mindenféle dolgot hozzáadtunk (monitoring szolgáltatások, majd az 1C-n belüli felhasználók figyelése, majd a zabbix elcsavarása, és végül eljutott az 1C alapú CI /CD-hez). Ennek eredményeként megértem, hogy túl sok lesz ezt egy cikkbe beletenni – úgy döntöttem, hogy több részre osztom. Nos, az elnevezést a "hálók a kicsiknek" cikksorozat ihlette, amely sok kellemes pillanatot hozott számomra, és amelyre utalok mindenkit, aki "hálózatokat akar tanulni". Tehát kezdjük!


Ha elismered a problémát, az azt jelenti, hogy már félig meggyógyultál (c) egy ismerős pszichiáter


Ebben a cikkben szeretném megosztani tapasztalataimat nagyszámú 1C adminisztrálásával kapcsolatban a vállalati szektorban. Az alapok mind mások, van fejlesztés, vannak tesztek, minden olyan, mint mindenkinél. De túl sok van belőlük. És minden rendben volt, de valamikor rendkívül nehézzé és kockázatossá vált valamilyen adminisztrátori munka elvégzése.


Milyen nehézségeink voltak:

  1. A leakasztott bázis meghúzta a szolgáltatás újraindítását, ami azt jelenti, hogy az ártatlanok szenvedtek (más bázisok használói)
  2. Nehéz volt megérteni, ki ma a "nap hőse" - melyik bázis foglalt el minden erőforrást
  3. Kiadások frissítése – az egyik frissítése a szolgáltatás összes alapjának automatikus frissítését jelentette
  4. A bázisok manuális csatlakoztatása a felhasználókhoz, kézi váltás költözés esetén
  5. Monitoring
    És csak most veszem észre, hogy ez csak a jéghegy csúcsa volt...

Első felvonás, nulla felvonás

Egy kis figyelemelterelés az alapposztulátumokhoz, melyek megvalósítása rengeteg vérrel és fájdalommal adatott meg.

  1. Az 1C régi verziói (8.3.11+-ig) csökkentik a teljesítményt, ha virtualizált környezetben dolgoznak. (Forrás - Gilev és saját tesztek)
  2. Van egy klaszter, de minden rendkívül nehéz vele. Lehet, hogy később véglegesítik, de egyelőre leginkább bemutatóra szolgál. (egy forrás - saját tapasztalat)
  3. Processzor kiválasztásakor csak nézd meg a frekvenciát. A 6 magos, 3,4 GHz-es processzor szétszedi a 20 magos processzort 2 GHz-en. A probléma az, hogy az 1C semmit sem tud a párhuzamos számításokról. Valójában ez így működik: minden szolgáltatáshoz bizonyos számú dolgozónk van, ezek szét vannak szórva a processzorok között, és ha a felhasználó valamilyen súlyos jelentést futtat valamelyik dolgozóban, akkor csak egy processzormag töltődik be a rendszerbe. . Ez az, amelyen a futó feladattal rendelkező dolgozó dolgozik... Az adatbázis esetében egyébként a helyzet pont fordítva van. (forrás - Gilev, saját tapasztalat, kollégák tapasztalata)
  4. Ne használjon "új" formátumú naplókat (SQLLite naplók) - nagyon gyorsan rá fog jönni, hogy ennek a megoldásnak a teljesítménye még a fájlverziónál is rosszabb. (Forrás - saját tapasztalat, kollégák tapasztalata).
    A megjegyzésekből származó tippek szerint lehetőség van a naplók áthelyezésére egy külön példányba.
    8.3.12-ben rendes nyafogásban ígérték a rönköket!!!
  5. Az 1C nagyon nem szereti az IPv6-ot. Minden 1C-vel rendelkező szerveren jobb, ha azonnal minimálisra csökkenti az IPv6 prioritását. (Forrás - Gilev, saját tapasztalat)
  6. Használjon E1000 virtuális hálózati kártyákat a virtuális szerverekhez. A többinél teljesítményprobléma van (Forrás - Gilev, de saját tapasztalataink nem erősítették meg, bár nem teszteltük különösebben)
  7. Az adatbázis-karbantartás jó teljesítménynövekedést ad, különösen az összegek időszakos újraszámítása, valamint az SQL-indexek karbantartása (Forrás – személyes tapasztalat, Gilev)
  8. Az 1C bukásának okainak megtalálása egy hámozatlan kaktusz elfogyasztásához hasonlít. Valamit tisztán megtudni csak fájdalom, megaláztatás és szenvedés által lehetséges. (Forrás - saját tapasztalat)
  9. Egyetlen hipervizorhoz sem létezik egyetlen hivatalos kép sem. Általában hallgatok a dokkolóról. (Forrás – 1C. oldal)
  10. A szerver szoftverlicence - meglepetés, meglepetés - a processzor sorozatszámához (és rengeteg szerverparaméterhez) kötődik. A mindenütt jelenlévő virtualizáció korszakában ez a lépés elképesztő. Elmagyarázom - aktiválták a szervert, másik csomópontra költöztek, újraindították a gépet - az 1C nem indul el. Fedezze fel az új aktiváló kódot. (Forrás - saját tapasztalat, csevegő technikai támogatás 1C =))
  11. Az 1C egy számviteli rendszer, nem pedig jelentéskészítési rendszer. Ha sok normál félkövér jelentést szeretne és gyorsan - vigye túl az 1C-on. (Forrás - saját tapasztalat)
  12. Az 1C-nek két vitathatatlan előnye van, amelyek miatt még sokáig virágzik:
    • magának a terméknek/fejlesztőknek a költsége
    • fejlődési sebesség
      és sajnos az orosz üzlet számára ezek a legfontosabbak. És gyakran az egyetlen dolog, amit egyáltalán megnéznek. (Forrás - szomorú valóság)
  13. Soha ne használjon fájllabdát az 1C konfiguráció tárolására. Csak szolgáltatás. Ellenkező esetben a fejlesztési oldalról szóló szőnyegek a bukott istenről tudják, mikor lesz a tároló állandó társad az életben. (Forrás - saját tapasztalat, kollégák tapasztalata)

Cselekedj egyet, cselekedj egyet

Első rövid szett a vállalati életből


A színpadon - Admin (A), programozó 1C (P1S) és üzleti képviselő (PB)
PB - Lassan fut a programunk!
És - minden rendben van a rendszeremben!
П1С - Mindent helyesen írtam, minden gyorsan működik a számítógépemen!
PB (félénken és tanácstalanul) – de már régóta…
A és P1S kórusban - minden rendben van velünk, a probléma az Ön oldalán van!


A problémák mindig rosszkor történnek (c) (5 éves filozófus)


Aztán egy szép napsütéses reggelen (valójában egy mély téli éjszaka volt) rájöttünk, hogy holnap új bázist kell indítanunk. Holnap eljött az a szép nap, amit már több ezer szerző leírt és légió a neve! Jaj, bocs, megcsúszott. Ennek a napnak a neve határidő volt. Hajnali egy, holnap 200 gépen új adatbázis induljon."Semmi baj, minden gépünk megvan a domainben! Csináljunk gyorsan egy bejelentkezési szkriptet és kész!" gondolod. És igazad lesz – nekünk is. És meg is tették. Csak, ahogy az lenni szokott, apróságokon égtünk el - a bejelentkezési szkriptben % filename% -ot regisztráltam. denevérés egy kolléga közzétette: %filename%. cmd.


Hát persze, reggel rohant a helpdesk, hogy mindent a kezével csináljon, és nagyon szégyelltem egy ilyen hülye kudarcot. Egy tortával kért bocsánatot a srácoktól.


De a folyamat automatizálásának ötlete nagyon szilárdan megragadt a fejemben, és még egy megvalósítási terv is elkezdődött.


Ennek eredményeként a következő ideológiához jutottunk:

  • Mindent AD-n keresztül osztanak el – olyan csoportok jönnek létre, mint az 1cbases-% platform version% -% base name%, és a helpdesk hozzáadja azokat a felhasználókat, akiknek bázisra van szükségük.
    • egy csoport - egy bázis
    • Az 1cbases egy előtag, amellyel kényelmesen lehet csoportokat keresni
    • platform 81-es, 82-es és 83-as verziója (nem jelentős kiadás)
    • az adatbázis neve megegyezik a beállításokkal ellátott fájl nevével
  • egy megosztott fájlmegosztás van kijelölve, ahol az adatbázis-kapcsolati beállításokkal rendelkező összes fájl el van helyezve (egy adatbázis - egy fájl)
  • amikor a számítógép zárolva van, egy szkriptet hívunk, amely beolvassa a felhasználó csoportjait, és ezek alapján hozzáadja a szükséges 1C adatbázisokat a felhasználókhoz.

Hogyan csináltuk:

  1. A csoportházirendeken keresztül egy új feladat kerül az ütemezőbe (az ütemező feladata, hogy beállítsa a felhasználónak az adatbázis-kapcsolati fájl elérési útját):
    • felhasználóként futtatni
    • esemény – a számítógép feloldása
    • akció – a szkriptünk futtatása
  2. Az AD-ben létrehozzuk a szükséges csoportokat és feltöltjük felhasználókkal
  3. Elkészítjük a szükséges fájlokat az 1C elindításához. Itt egy kicsit részletesebben megállok. Kezdetben sokáig gyötörtük az internetet kéréseinkkel, és megtaláltuk a *.v8i fájlok szerkezetének teljes leírását. De aztán volt egy egyszerűbb és zseniálisabb módszer.
    • indítsa el az 1C-t
    • adatbázis kapcsolat beállítása
    • ellenőrizze, hogy minden működik-e
    • kattintson a jobb gombbal az adatbázis nevére, és válassza ki az elemet - "Hivatkozás mentése fájlba"


Szkript kód:

#Első lépés: hozzon létre egy helyet a naplók számára, ha (Test-Path "$env:HOMEDRIVE\!script_report\add_1c_bases_report.txt") ( Remove-Elem "$env:HOMEDRIVE\!script_report\add_1c_bases_report.txt" -Force -SilentlyErrorAction; ) Új elem "$env:HOMEDRIVE\!script_report\add_1c_bases_report.txt" -ItemType fájl -Kényszerítés -ErrorAction SilentlyContinue; Add-Content -Value ("Utolsó futtatás dátuma: " + (Get-Date -Format F)) -Path "$env:HOMEDRIVE\!script_report\add_1c_bases_report.txt"; if ((gwmi Win32_OperatingSystem | Select Caption, CSDVersion) -notlike "*server*") # letiltja a szerver operációs rendszereken való futtatást ( Add-Content -Value "(!LANG: Operációs rendszerügyfélként felismerve" -Path "C:\!script_report\add_1c_bases_report.txt"; if (!(Teszt-útvonal "$env:APPDATA\1C\1CEstart\ibases.v8i")) #ha ez a fájl nem létezik, adatokat gyűjt a 8.1-es alaplistáról, és figyelmen kívül hagyja a 8.2-es alaplistát (Új-elem "$env:APPDATA\1C\1CEstart\ibases.v8i" -ItemType fájl -Force; # Ha nem létezik, hozza létre ezt a fájlt Add-Content - "(!LANG:A fájl $env:APPDATA\1C\1CEstart\ibases.v8i nem található, létrehozta" -Path "C:\!script_report\add_1c_bases_report.txt"; } if (Test-Path "$env:APPDATA\1C\1CEstart\1CEStart.cfg") { Remove-Item "$env:APPDATA\1C\1CEstart\1CEStart.cfg" -Force #-ErrorAction SilentlyContinue #удаление старого конфигурационного файла для 8.1 } New-Item "$env:APPDATA\1C\1CEstart\1CEStart.cfg" -ItemType file -Force #создание нового конфигурационного файла для 8.2 $GroupList = ("samaccountname=$($env:USERNAME)").Findone().Properties.memberof -replace "^CN=([^,]+).+$","$1" # Создание списка групп пользователя foreach ($Group in $GroupList) # генерация списка !} közös alapok a csoportnév alapján ( if ($Group.Length -gt 6) # A csoportnév hosszának ellenőrzése ( If ($Group.Substring(0,7) -eq "1cbases") # az 1C-re mutató csoport kiszámítása alap ( Kapcsoló ($Group .Substring(8,2)) # platform kiválasztása 8.1 vagy 8.2 ("81" (Add-Content "$env:APPDATA\1C\1Cv81\ibases.v8l" -Value ("\\gold585. int\TechFiles\CommonBases\ " + $Group.Substring(11) +.v8i")) # Hozzon létre egy sort egy fájlból a 8.1 "82" általános alapjainak listájával (Add-Content "$env:APPDATA\" 1C\1CEstart\1CEStart.cfg" -Value ("CommonInfoBases=\\gold585.int\TechFiles\CommonBases\" + $Group.Substring(11) +.v8i")) # Sor létrehozása egy listát tartalmazó fájlból a 8.2 "83" (Add-Content "$ env:APPDATA\1C\1CEstart\1CEStart.cfg" -Value) ("CommonInfoBases=\\gold585.int\TechFiles\CommonBases\" + $Group.Substring(11) ) +.v8i")) # Hozzon létre egy sort egy fájlból a közös alapok listájával a 8.3) Add-Content -Value ("A felhasználó a $Grouphoz tartozik") -Path "C:\!script_report\add_1c_bases_report.txt" ; Add-Content -Value ("Hozzáadva érték: CommonInfoBases=\\gold585.int\TechFiles\CommonBases\" + $Group.Substring(11) +.v8i") -Elérési út "C:\!script_report\add_1c_bases_report.txt"; ) ) ) ) else ( Add-Content -Value "(!LANG: Az operációs rendszert szerverként ismeri fel" -Path "C:\!script_report\add_1c_bases_report.txt"; }!}


Mit kaptál:

  1. Az alapok hozzáadása már nem volt probléma - csak létrehoztak egy csoportot, hozzáadtak egy fájlt a beállításokkal - ezután minden automatikusan történt
  2. Könnyen átvihetik az adatbázisokat bárhová, egyszerűen a fájl konfigurációjának megváltoztatásával az adatbázishoz való kapcsolódási beállításokkal (a gyakorlat szerint ez nagyon kényelmes)
  3. Mentett helpdesk cipő

Első felvonás, második felvonás

Második rövid jelenet a vállalati életből


A színpadon - Admin (A), programozó 1C (P1S), beszélgetés egy üzletember távozása után
A – te ez az 1C – $#%de!!! Mennyi építészeti és fejlesztői szintű problémát lehet vassal megoldani!
P1S – igen, ezek az Ön szerverei [e-mail védett] de! Minden a helyi fájlbázison repül! Állítsa be gazdaságát a szokásos módon!
A vitázók kölcsönös vádaskodásban levonulnak a színpadról, leomlik a függöny, kialszanak a fények.


És erről az oldalról nem kicsit jobb… (c) a szomorú szamár Eeyore a saját születésnapján


Képzeld csak el - egy kényelmes székben ülsz, az egyik kezedben egy csésze finom tea, a másikban egy zsemle, amely a legközelebbi bolt főzésétől repes a forróságtól és frissességtől, az ablakon kívül jó a tavasz illata... És Természetesen ez a legalkalmasabb idő a telefonhívásra! Kolléga - Bajkonur, van% @ pa!


Én - Jól értem, hogy már sikeresen túljutottunk a houstoni szakaszon problémákkal?
Kolléga – igen. Az alap% %name bázisa letette a kagylót, egyáltalán nem válaszol, a TOP-ok már szakadnak, hánykolódnak. Már 3x hívtak. Újra kell indítania a szolgáltatást.
Én - szóval még van egy csomag alap ebben a szolgáltatásban !!!
Kolléga - igen, ezért a TOP-ok második fele is hány és röpköd, hogy majd kikapcsolják...


A végén persze mindenki beleegyezett, újraindult, de az üledék megmaradt.


Ideológia:

  1. A termelési környezetben a szabályt kell követnünk - egy bázis - egy szolgáltatás portdiverzitással
  2. A szolgáltatásokat kizárólag az uchetok tartományból szabad elindítani. Egy szolgáltatás – egy fiók. Ez kényelmes a labdák jogainak elosztásához, az iskolához való hozzáféréshez és így tovább. Ezenkívül, ha az RBAC implementált, akkor nagyon gyorsan láthatja, hogy az 1C egy adott példánya hol fér hozzá
  3. A naplókat külön lemezre kell helyezni, és be kell kapcsolni a tömörítést ezekhez a mappákhoz (napra lebontva ez sok helyet takarít meg és (kissé) felgyorsítja a keresést a naplókban)
  4. Minden szolgáltatás kap egy álnevet a DNS-ben, hogy leválaszthassa a fejlesztést a szerver IP-jétől és/vagy dns-jétől (ebben az esetben a fejlesztés egyáltalán nem foglalkozik azzal, hogy a szerver valójában hol található - fizika, virtuális gép egy privátban felhőben vagy akár nyilvános felhőben)
  5. Minden szolgáltatáshoz 500 portot osztunk ki a felhasználói kapcsolatokhoz (belső megoldásunk)

Hogyan csináltuk (új szervernél, meglévőnél néhány lépés nem releváns):

  1. Az egyes szolgáltatásokhoz fiókok jönnek létre
  2. Azon a gépen, ahol dolgozni fognak, megkapják a "szolgáltatásként való futtatás" jogát.
  3. MS office telepítése, kötelező MAK-kulcsos aktiválással
  4. Telepített sqlncli – egy segédprogram az MS SQL Native Client készletéből. A Ebben a pillanatban 2012 felett nem jelent meg
  5. Létrejön a C:\Windows\SysWOW64\config\systemprofile\Desktop mappa – különben problémák adódhatnak a Word/Excelbe való feltöltéssel
  6. Windows 2016 és 1C 8.1 esetén másolni kell régi verzió dll (A C:\Program Files\Common Files\System\Ole DB mappában le kell cserélnie két, a régi szerverekről vett sqloledb.dll és sqloledb.rll fájlt)
  7. További ODBC-illesztőprogramok telepítve vannak, ha csatlakozni kell a MySQL-hez/PostgreSQL-hez

Mappa beállítása a szolgáltatáshoz és a naplókhoz:

  1. Egy mappa jön létre egy külön lemezen, 1C formátumban szerver%basename% (normál esetben ezt maga a szolgáltatás végzi el, mert az indítási beállításokban van elérési útja a naplókhoz)
  2. Ha egy újonnan létrehozott szolgáltatás címtárán belül egy másik címtárból (más szolgáltatás, másik szerver) adatátvitel történik, akkor a tulajdonosok megváltoztatása szükséges (ellenkező esetben a szolgáltatás nem fog hozzáférni) a tulajdonos cseréjével. alkonténerek
  3. A mappa tulajdonosa lesz fiók szolgáltatások

A szolgáltatás beállításának leírása

@echo off chcp 1251 set encoding set base=%base_name% alapnév szóköz nélkül angolul a naplókat tartalmazó könyvtárhoz set dsce=%alapnév% alapnév szóközökkel angolul a szolgáltatásnévhez set dscr=%alapnév% alapnév oroszul - az sver=8.3 szolgáltatáskészlet rövid verziójának megjelenítéséhez - az fver=1cv8\8.3.9.2170 szolgáltatáskészlet nevéhez és reprezentációjához az 1C platform verziójához vezető elérési út egy részéhez set port=8040 vezérlőport set regp= 8041 main port set rnge=8060 :8491 port range for the service set name="1C:Enterprise %sver% Server Agent (x86-64) %dsce%" szolgáltatásnév (a rendszerleíró adatbázishoz) a tipikusakhoz hasonlóan, csak a alapnév kerül hozzáadásra az egyedi nevek készletéhez bpth=\" C:\Program Files\%fver%\bin\ragent.exe\" -srvc -agent elérési útja a futtatható fájlhoz a szolgáltatáskészlet elindításához logs=D:\1C_Server_% base% könyvtár a naplókhoz set user="%login%@% domain_name%" ez a formátum 20 karakternél hosszabb bejelentkezést tesz lehetővé, a jelszót nem adta meg sehol a létrehozás során, mert akkor minden a régi de újra meg kell adnia, csak akkor lesz joga a felhasználónak szolgáltatásokat indítani; set view="Szerver ügynök 1C:Vállalat %sver% (x86-64) %dscr%" szolgáltatás nézet az sc beépülő modulban create %name% binPath= "%bpth% -regport %regp% -port %port% -range %rnge % -d \"%logs%\"" type= "saját" start= "auto" error= "súlyos" depend= "Tcpip/Dnscache/lanmanworkstation/lanmanserver" obj= %user%DisplayName= %view% here : type = "saját" - szolgáltatás típusa, nézze meg saját szemével start= "auto" - automatikus indítási hiba= "súlyos" - nem emlékszik, mit jelent, de beállítja a megfelelő kulcsértéket a rendszerleíró adatbázisban ErrorControl = 2 depend= "Tcpip/Dnscache/lanmanworkstation /lanmanserver" – függőségek (a negyedik lapon van megadva, nem manuálisan konfigurálva) sc leírása %name% %view% beállítja a nézetet a beépülő modulban, nincs megadva közvetlenül a létrehozáskor sc hiba %name% reset = 0 műveletek= "újraindítás/0" helyreállítási lap - újraindítás minden esetben, 0 perc után; számláló visszaállítása 0 nap után Ugyanez megjegyzés nélkül: @echo off chcp 1251 set base=%base_name% set dsce=%base name% set dscr=%base name% set sver=8.3 set fver=1cv8\8.3.9.2170 set port =8040 set regp=8041 set rnge=8060:8491 set name="1C:Enterprise %sver% Server Agent (x86-64) %dsce%" set bpth=\"C:\Program Files\%fver%\bin\ ragent. exe\" -srvc -agent set logs=D:\1C_Server_%base% set user="%login%@domain.company" set view="Szerver ügynök 1C:Enterprise %sver% (x86-64) %dscr %" sc create %name% binPath= "%bpth% -regport %regp% -port %port% -range %rnge% -d \"%logs%\"" type= "saját" start= "auto" error= "súlyos " depend= "Tcpip/Dnscache/lanmanworkstation/lanmanserver" obj= %user% DisplayName= %view% sc leírás %name% %view% sc hiba %name% reset= 0 action= "restart/0"


  1. Annak érdekében, hogy a szolgáltatások ne rendelkezzenek crocozyabr
    • cmd típusú chcp 1251-ben
    • a fájlt ANSI kódolásban kell elmenteni
  2. Ügyeljen arra, hogy ellenőrizze a duplikált kulcsok hiányát a rajtsorban - a szolgáltatás nem indul velük !!!
  3. Egy szolgáltatás törléséhez használhatja az - sc delete "A névváltozóban megadott név" parancsot.
  4. Adja hozzá az 1C által használt portokat a tűzfalengedélyekhez
  5. Szerverenként csak egy fizikai kulcsra van szükség – az összes szolgáltatást ez aktiválja

Az összes tevékenység elvégzése után a következőkre jutottunk:

  1. Az adatbázisok biztonságosan újratölthetők más adatbázisok érintése nélkül
  2. Mindig találhat egy "hőst" - egy bázist, amely felemészti az összes erőforrást
  3. Az alappal végzett bármilyen munka csak egy adott alapot érint

A következő cikkekben szeretném elmondani (ha ez a cikk eljut az emberekhez):

  • hogyan vittük át a jogosultságot az MSSQL-ben a kerberosba és általában optimalizáltuk a hozzáférést
  • hogyan végeztük a szolgáltatások monitorozását – ki mennyi erőforrást vett fel
  • hogyan végeztük a megfigyelést az 1C szolgáltatáson belül, hogy gyorsabban észleljük a felhasználók általi blokkolásokat, mint ahogy hívnának
  • hogyan próbáltuk megvalósítani a CI-t az 1C-hez, és mi lett belőle

UPD. Néhány dolgot hozzáadtam a megjegyzésekhez

Címkék: Címkék hozzáadása