Sätta upp revben 1c 8.3 redovisning 3.0. Alexey alekseev välkommen till min mysiga lilla kavaj. Grundläggande principer för RIB

OLEG FILIPPOV, ANT-Inform, biträdande chef för utvecklingsavdelningen, [e-postskyddad]

RIB i 1C. Möjlighetsgränser

Tekniken för distribuerade informationsbaser (RIB) i 1C: Enterprise-plattformen orsakar mycket kontrovers. Vi kommer att försöka ta reda på när det är lämpligt att använda det och när det är bättre att föredra alternativa lösningar.

När du läser forum eller artiklar av onlineförfattare om RIB i 1C kan du ofta stöta på motstridiga åsikter från "det här är det bästa och enda som kan användas" till "det är hopplöst föråldrat". Låt oss försöka ta reda på hur saker och ting verkligen är.

I novembernumret 2016 skrev jag redan om några av funktionerna hos RIB i relation till en specifik praktisk uppgift, så bara några ord om grunderna, och låt oss gå lite djupare in i de tekniska detaljerna.

RIB - 1C: Enterprise distribuerad infobasteknologi - inte att förväxla med universellt utbyte, med en liknande teknik, men fundamentalt annorlunda stöd för centraliserad uppdatering av infobaskonfigurationer. Den består av följande funktionella delar (som kan användas separat):

  • Ändra registreringstjänst- när det är aktiverat, börjar automatiskt registrera ändringar av objekt eller poster för utbyte (eller andra ändamål). I RIB-läget används den även för att registrera ändringar i infobaskonfigurationen.
  • Serialisering av objekt/poster till XML. Nästan alla 1C: Enterprise-objekt serialiseras i XML på ett vanligt sätt.
  • En mekanism för att bibehålla samma konfiguration för alla noder i en distribuerad infobas. I RIB-läget är datautbyte mellan olika noder endast möjligt om de har samma konfiguration. Den överförs automatiskt under utbytet. I slutnoden behöver du bara acceptera ändringarna.
  • Infrastruktur för meddelanden när de utbyts i ett distribuerat informationssystem - garanterad leverans. De registrerade ändringarna paketeras i meddelanden och skickas till slutnoden i partier. Tas bort från registreringen först efter att paketleverans har bekräftats.
  • Infrastruktur för nivån på tillämpade lösningar. Naturligtvis kommer allt ovanstående inte att fungera utan utvecklade mekanismer på nivån för tillämpade lösningar, av vilka några redan ingår i BSP. Lösningarna har möjlighet att ladda upp data enligt vissa regler, ändra principerna för deras registrering och bestämma metoden för paketleverans.

Som du kan se kan RIB i 1C vara ganska mycket. I de flesta fall är denna funktionalitet mer än tillräckligt. Till exempel, i fig. 1 visar formen av en infobasnod i 1C, där du kan se möjligheten att ladda ner registreringsregler, specificera anslutningsparametrar och se en lista över objekt registrerade för utbyte.

Från beskrivningen ovan kan vi dra slutsatser om funktionerna hos RIB 1C som ett distribuerat system:

  • Stöd för en enhetlig infobaskonfiguration (halvautomatisk).
  • Ändra spårningsstöd.
  • Garanterad leverans.
  • Möjlighet för master-master-schema.
  • Möjlighet till "stjärna" -schemat.
  • Möjligheten att selektivt filtrera förändringar.

Inte illa nog - det kommer att tillfredsställa behoven hos ett litet nätverk. Men RIB har vissa begränsningar, till stor del relaterade till de arkitektoniska egenskaperna hos 1C-plattformen, som ålägger vissa begränsningar för användningen av denna teknik:

  • Behovet av att uppdatera infobaskonfigurationen i manuellt läge efter att ha stängt av användare. Stoppa utbyten innan du uppdaterar konfigurationen.
  • Transaktionsbegränsning av meddelandeinfrastruktur vid datahämtning. Vid hämtning av ändringar för avlastning är databastabellen låst för att registrera nya ändringar, med stora avlastningsvolymer kan detta ta lång tid och stoppa arbetet.
  • Omkostnaderna för att upprätthålla ett stort antal synknoder (antalet tjänsteposter är lika med antalet noder).
  • Stora dataladdningsproblem.

Låt oss nu försöka jämföra detta med alla "avancerade" system som har en replikeringsmekanism.

en kort beskrivning av
Antal installationer inte begränsad Använd med redovisningskomponent 7.7 Ja
Antal perifera databaser inte begränsad Användning med komponenten Operationell redovisning 7.7 Ja
Fristående program Nej Använd med beräkningskomponent 7.7 Ja
Säkerhetsnyckeltyp USB Leverans inom Ryssland ingår i priset Ja
Distributionssats Ja Köp funktioner på ansökan
Installationsmanual medföljer Ja

Varför behöver du 1C: Enterprise 7.7. Hantering av distribuerade informationsbaser (1C URBD, 1C URIB)

Förkortningar och förkortningar: 1C URBD- Hantering av distribuerade databaser; 1C URIB- Förvaltning av distribuerade informationsbaser.

Tilläggskomponenten "Hantering av distribuerade informationsbaser" - 1C URBD - 1C URIB - används för att organisera ett enhetligt automatiserat redovisningssystem hos företag som har geografiskt avlägsna divisioner (till exempel huvudkontor, butik, lager, etc.) inte ansluten till lokalt nätverk... Möjligheterna som tillhandahålls av denna komponent gör det möjligt att organisera driften av ett distribuerat informationssystem med ett obegränsat antal autonomt arbetande perifera informationsbaser.

En distribuerad infobas består av en central och obegränsat antal perifera infobaser. I var och en av infobaserna läggs ny data in och befintlig data modifieras oberoende av varandra. Systemkonfigurationen kan modifieras eller uppdateras uteslutande i den centrala informationsbasen. För att synkronisera data mellan centrala och perifera infobaser måste de ändrade data överföras periodiskt. Överföringsfiler kan transporteras på alla tillgängliga sätt (på en diskett, via e-post, etc.). Systemet spårar alla dataändringar automatiskt och sänder dem i enlighet med de beskrivna synkroniseringsreglerna.

1C URBD-komponenten kan endast användas med professionella versioner av systemprogrammen 1C: Enterprise 7.7.

Hur många bitar av "1C: Enterprise 7.7. Distribuerad infobashantering" behöver du köpa till exempelvis huvudkontoret och två fjärrlager?

Komponent "1C: Enterprise 7.7. Hantering av distribuerade informationsbaser" - 1C URBD - är installerad för central informationsbas. En komponent tillåter synkronisering av ett obegränsat antal perifera infobaser. För att till exempel synkronisera huvudkontoret och två fjärrlager krävs alltså en kopia av "1C: Enterprise 7.7. Distribuerad infobashantering".

Den här artikeln kommer att fokusera på att sätta upp en distribuerad databas 1C Enterprise 7.7, som ett exempel kommer vi att använda Trade Management 9.2-konfigurationen.

För att konfigurera RIB i 1C 7.7 måste du gå till konfiguratorn och gå till Administration-Distribuerad IB-Management.

Sedan måste du konvertera din databas till RIB, om den ännu inte har konverterats till RIB, för detta måste du klicka på knappen "Central IB".

Ställ in koden och beskrivningen som i skärmdumpen ovan och klicka på "OK". En varning bör visas som i skärmdumpen nedan, ignorera den och klicka på "Ja".
Efter det kommer din bas att vara redo att skapa perifera noder.

Klicka på knappen "Ny perifer IB" och ställ in fältvärdena som i följande skärmdump, men du kan använda dina egna beteckningar.

Klicka på OK och gå till nästa steg - ställa in automatiskt utbyte.

I den här artikeln kommer jag att berätta hur du ställer in automatiskt utbyte med hjälp av ett lokalt nätverk, om du behöver automatiskt utbyte via post, lämna din förfrågan i kommentarerna eller kontakta mig på så berättar jag hur du gör det.

Vi exponerar allt som på bilden, du kan ha dina egna vägar till katalogerna, kryssrutorna ska vara som på skärmdumpen ovan. Klicka på OK.

Nu laddar vi upp den första bilden av den perifera basen till disken, för detta trycker vi på knappen "Ladda upp data". Efter att ha laddat ur den första bilden kommer RIB-hanteringsfönstret att se ut så här:

Anta att datorn som vårt Ribbon kommer att fungera på är belägen inte långt från huvuddatorn med en central bas och båda datorerna är anslutna till ett lokalt nätverk.

Nu måste du konfigurera RIB på klientdatorn, för detta tar vi vår zip-fil lossad i de tidigare stegen och skapar en infobas på grundval av den. Skärmbilderna nedan visar hela sekvensen av åtgärder.

Klicka på knappen "Lägg till" och peka på en tom mapp och klicka på OK.

Vi väljer en ny IB och går till konfiguratorläget.

I en tom mapp skapar vi en tom IB, så 1C ber oss ange i vilket format vår databas kommer att vara, välj * .dbf. Klicka på OK.

Nu kommer vi att ladda upp zip-filen som lossats i de föregående stegen till vår databas, för detta går vi till administration - ladda upp data.

Ange sökvägen till filen och klicka på OK.
När nedladdningen är klar klickar du på OK och går till administrationsdistribuerade ib-auto-exchange.



I detta steg måste regeln beaktas: Katalog för avlastning av centralbanken = Kataloger för nedladdning av PB och vice versa, d.v.s. om vi i den centrala databasen laddade upp till ut-mappen och laddade från in-mappen, så laddar vi i den perifera databasen från ut-mappen och laddar upp till in-mappen. Klicka på OK och gå till nästa steg. Vi utför automatiskt byte. För att göra detta, i den centrala databasen, gå till administrationsdistribuerat ib-auto-exchange.


Klicka på knappen "Kör" och gör sedan samma sak på klientbasen. Utför autoväxlingsoperationen en efter en på var och en av datorerna flera gånger.

Nu ska vi automatisera processen. För att göra detta måste du skapa 4 filer på varje dator. 2 * .prm-filer och 2 * .bat-filer för var och en av laddnings-/avlastningsoperationerna.

* .bat-filen måste innehålla följande rad:

"<путь к файлу 1cv77.exe>"config / D"<путь к информационной базе>"/N<логин>/ P<пароль>/@"<путь к prm-файлу>"

Mina upp- och nedladdningsfiler ser ut så här:

"C: \ Program Files \ 1Cv77 \ BIN \ 1cv7s.exe" config / D "C: \ base \ rib \" / Nadmin / P1 /@"c:\download.prm "

"C: \ Program Files \ 1Cv77 \ BIN \ 1cv7s.exe" config / D "C: \ base \ rib \" / Nadmin / P1 /@"c:\upload.prm "

Du skriver ner dina värderingar. Låt oss nu ta itu med prm-filer!

.Prm-filstruktur:

Avsnitt "Allmänt" - utformad för att beskriva huvudparametrarna för batchläget. Möjliga parametrar:

Utdata - sökväg till loggfilen;
- Avsluta — om du vill avsluta konfiguratorn efter att ha slutfört alla uppgifter;
- AutoExchange - om automatiskt utbyte ska utföras;
- SaveData - om det är nödvändigt att spara databasen;
- UnloadData - om avlastning ska utföras;
- CheckAndRepair - om det är nödvändigt att testa och korrigera databasen.

Möjliga värden för dessa parametrar är 1 (Y) eller 0 (N).

Avsnittet "AutoExchange" - utformat för att definiera parametrarna för autoutbyte. Alternativ:

SharedMode - indikerar arbetssättet med databasen. Om parametern inte är specificerad kommer exklusivt läge att användas;
- ReadFrom - indikerar från vilka databaser data ska tas emot. Basidentifierare måste separeras med kommatecken. Om allt behövs, då *;
- WriteTo - indikerar för vilka databaser data ska laddas upp. Om det är nödvändigt för alla, så sätts *.

Avsnitt "SaveData" - utformad för att definiera parametrarna för att spara databasen. Möjliga parametrar:

SaveToFile - indikerar sökvägen där sparandet kommer att utföras;
- FileList - indikerar listan över filer som ska sparas. Filnamn listas avgränsade med mellanslag eller kommatecken;

Avsnittet "UnloadData" - är avsett för att definiera parametrar för dataavlastning. Alternativ:

UnloadToFile - anger sökvägen för att spara, inklusive filnamnet;
- IncludeUserDef - anger om en lista över användare ska inkluderas i migreringsfilen;
- Lösenord — anger lösenordet som kommer att ställas in för överföringsfilen.

Avsnittet "CheckAndRepair" - är avsett för att definiera parametrar för databasåterställning. Möjliga parametrar:

Reparation - indikerar om det är nödvändigt att återställa databasen;
- PhysicalIntegrity — anger om det är nödvändigt att kontrollera den fysiska integriteten för infobastabeller;
- Reindexera - indikerar behovet av att omindexera databasen;
- LogicalIntegrity — anger om det är nödvändigt att kontrollera tabellernas logiska integritet;
- RecalcTotals - indikerar om det är nödvändigt att räkna om resultaten av redovisning och operativ redovisning;
- Pack — indikerar om det är nödvändigt att frigöra utrymmet som tas upp av raderade poster;
- SkipUnresolved - indikerar om man ska hoppa över olösta länkar eller fixa dem;
- CreateForUnresolved - indikerar hur olösta länkar löses. Om 1, kommer ett objekt av motsvarande typ att skapas för en olöst referens. Om 0, kommer länken att rensas.

Baserat på detta kommer mina filer att innehålla följande:

att ladda från centralbanken till den perifera:


Utdata = log.txt
Utgång = 1


LäsFrån = CB

för lossning från centralbanken till perifer:


Utdata = log.txt
Utgång = 1


WriteTo = CB

att ladda från perifer till centralbank:


Utdata = log.txt
Utgång = 1


LäsFrån = PB1

för lossning från kringutrustningen till centralbanken:


Utdata = log.txt
Utgång = 1


WriteTo = PB1

Nu räcker det att lägga bat- och prm-filer i en mapp och köra dem en efter en för att ladda ner och ladda upp dem.

Om du har några frågor - välkommen i kommentarerna!

För att skapa en distribuerad infobas måste du gå in i programmet i läget "1C: Enterprise". För att skapa noder för en distribuerad bas i menyn, välj: Operations - Exchange plans. Fönstret "Välj objekt: Utbytesplan" öppnas.


1. Överväg alternativet med "Fullständig" utbytesplan.

Utbytet kommer att genomföras mellan alla organisationer som finns i den distribuerade informationsbasen.

Låt oss välja den "fullständiga" utbytesplanen. Fönstret "Utbytesplan klar" öppnas.

Vi fyller i två register:

Vi kommer att namnge den första posten "Huvudnod", vi kommer att ange koden "GU",

Vi kommer att namnge den andra posten "Slavnod", vi kommer att ange koden "PU".

Som du kan se från figuren har den första posten en ikon med en grön cirkel, detta är ikonen "Huvudnod".


För att skapa en kopia av informationsbasen "Huvudnod", klicka på "Underordnad nod" och klicka på ikonen "Skapa initial bild". Detta kommer att vara informationsbasen "Slav".


Fönstret "Skapa en initial IB-bild" öppnas, välj "På den här datorn eller på en dator i det lokala nätverket", klicka på "Nästa".


I fältet "Informationsbaskatalog" väljer du platsen där kopian av "Huvudnoden" ska installeras, klicka på "Slutför".


Efter att ha skapat infobasen "Slavnoden" kommer följande meddelande att visas:


Klicka på "Ok".

Lägg till infobasen "Slavnoden" till "1C: Enterprise". Vi går till den underordnade basen i läget "1C: Enterprise". Låt oss öppna: Verksamhet - Utbytesplaner. Fönstret "Välj objekt: Utbytesplan" öppnas. Låt oss välja den "fullständiga" utbytesplanen. Fönstret "Utbytesplan klar" öppnas. Vi ser att ikonen "Huvudnod" är orange, vilket betyder att denna nod är huvudnoden för den infobas vi befinner oss i.


Vi gör följande inställningar i både huvud- och underordnade noder:

1. Lägg till ett prefix för den distribuerade infobasen.

Detta görs så att inga konflikter uppstår i nummer och koder för dokument och kataloger skapade i två databaser, därför anger vi i varje databas ett prefix som kommer att läggas till dokumentnummer och katalogkoder. Öppna: Tjänst - Programinställningar - Fliken "Datautbyte". I fältet "Nodprefix för en distribuerad infobas:" i den underordnade basen anger du "PU", i huvudbasen anger du "GU".


2. Lägg till inställningen för datautbyte mellan noder:

Öppna: Service - Distributed Information Base (RIB) - Konfigurera RIB-noder. Fönstret "Kommunikationsinställningar" öppnas.


Klicka på "Lägg till", fönstret "Inställningar för datautbyte" öppnas. Ange "Namn" för din inställning.


En nod kommer automatiskt att dyka upp i fältet "Node", för "Master node" blir det "Underordnad nod", för "Underställd nod" kommer det att finnas "Master node".

I fältet "Katalog" väljer du mappen där utbytesdata ska tas emot; det är bäst att ange en katalog för huvud- och underordnade databaser.

I fältet "Exchange type" konfigurerar du dataöverföring mellan databaser: via en fil eller FTP-resurs. Låt oss välja till exempel "utbyte via en filresurs".

Vi ändrar ingenting i de återstående fälten.

Klicka på "Ok". Vi ser att en inställning har dykt upp.

3. För att utbyta data, gör följande:

Först, i databasen där ändringarna gjordes, klicka på ikonen "Utför utbyte vid aktuell inställning", som visas i bilden.


Efter uppladdningen visas uppladdningsresultatfönstret.


Sedan, i databasen som du vill överföra ändringarna till, klicka på ikonen "Utför utbytet vid nuvarande inställning" och data kommer att gå till den databas du vill ha.

2. Överväg en variant med en utbytesplan "Efter organisation".

Utbytet kommer att genomföras för de utvalda organisationerna som finns i den distribuerade informationsbasen.

För att skapa noder för en distribuerad bas i menyn, välj: Operations - Exchange plans. Fönstret "Välj objekt: Utbytesplan" öppnas.


Låt oss välja utbytesplanen "Efter organisation". Fönstret "Utbytesplan per organisation" öppnas.

Vi fyller i två register:

Vi kommer att namnge den första posten "Huvudnod", vi kommer att ange koden "GU", vi ser skillnaden från "Utbytesplanen: Full", en tabell har dykt upp där vi anger de organisationer för vilka utbytet kommer att ske .

Den andra posten kommer att kallas "Underordnad nod", koden kommer att vara "PU", vi kommer att indikera organisationen.


I alla andra avseenden är inställningen absolut densamma som med "Bytesplanen: Full".

Instruktioner för att skapa och konfigurera distribuerade databaser med URBD-komponenten (URIB)

Komponenten URBD (Distributed Database Management) används för att utbyta information mellan två identiska 1C-databaser. Om konfigurationerna är olika så kan du också använda den, det skrivs om detta i en annan. För att komponenten ska fungera måste filen DistrDB.dll finnas i mappen BIN i 1C: Enterprise-programmet.

Låt oss ta en titt på stegen för att skapa distribuerade databaser. Till exempel har vi en arbetsbas i katalogen D: \ base1. Det krävs för att göra det centralt och skapa en perifer bas.

1. Skapa en katalog D: \ base2 för den perifera basen.

2. I katalogerna D: \ base1 och D: \ base2 skapa mappar CP och PC (vi använder latinska bokstäver).

3. Starta den centrala databaskonfiguratorn (D: \ base1) och välj Meny - Administration - Distribuerad IB - Hantering.

4. Tryck på knappen "Central IB", i fönstret som visas, ange koden och namnet på databasen. Det är bättre att använda siffror eller latinska bokstäver för koden. Vi anger till exempel 001 och "Central bas", bekräftar genom att trycka på knappen "OK".

5. Tryck på knappen "Ny perifer IB" för att skapa en perifer bas. Ange parametrarna för den: 002 och "Periferbas 1".

6. Välj basen "Peripheral base 1" med markören och tryck på knappen "Settings. automatiskt utbyte". I inställningarna ändrar du manuellt läge till automatiskt. Var försiktig, det här är viktigt.

7. Välj "Peripheral Base 1"-basen med markören och tryck på knappen "Ladda upp data" och sedan på "OK". Som ett resultat av avlastningen kommer filen D: \ base1 \ CP \ 020.zip att visas.

8. Starta 1C i konfiguratorläget, lägg till en ny bas "Peripheral base 1" i 1C-startfönstret, ange den tidigare skapade katalogen D: \ base2 för den.

9. Välj Meny - Administration - Distribuerad IS - Hantering. På frågan som ställdes ”Infobasen hittades inte. Vill du ladda ner data?" tryck på "Ja"-knappen och ange filnamnet "D: \ base1 \ CP \ 020.zip", tryck på "OK"-knappen. När nedladdningen är klar kan processen att skapa en perifer bas anses vara avslutad.

I och fortfarande i metoderna för att skapa en perifer databas genom att återställa en kopia av den centrala databasen från en säkerhetskopia eller bifoga filerna av en kopia av den centrala databasen för SQL-format och exekvera ett skript ges. Detta kommer att vara användbart för stora mängder data, när uppladdningar-nedladdningar sträcker sig i timmar eller är generellt orealistiska.

Instruktioner för utbyte mellan distribuerade databaser med hjälp av URBD-komponenten (URIB)

Låt oss överväga ett förenklat exempel, vi kommer att utföra utbytet manuellt genom att starta konfiguratorn. Du kan använda konfiguratorns batchläge, för att leverera utbytespaket kan du använda mail, ftp, automatisk filkopiering.

För att utföra bytet, välj Meny - Administration - Distribuerad informationssäkerhet - Autoutbyte. Om bytet är automatiskt (se punkt 6 i föregående instruktion), så kommer vi att lyckas.

1. Så vi ändrar eller skapar några objekt som migrerar till den perifera basen. Objektmigreringsregler ställs in på fliken "Migration" i objektegenskaperna (se objektträdet i konfiguratorn).

2. Starta konfiguratorn för den centrala basen, välj Meny - Administration - Distribuerad informationssäkerhet - Autoutbyte, tryck på knappen "Kör".

3. Den resulterande filen D: \ base1 \ CP \ 020.zip flyttas till mappen D: \ base2 \ CP \

4. Vi ändrar några objekt i den perifera databasen. Det är önskvärt att inte de som ändrats tidigare i den centrala databasen, tk. den centrala basen har företräde framför ändringar av objekt vid utbyte.

5. Starta den perifera baskonfiguratorn, välj Meny - Administration - Distribuerad informationssäkerhet - Autoutbyte, tryck på knappen "Kör".

6. Som ett resultat av automatiskt utbyte bör vi få ändringar från den centrala databasen. Vi bör också ha en fil att överföra till den centrala databasen D: \ base2 \ PC \ 021.zip

7. Kopiera filen D: \ base2 \ PC \ 021.zip till mappen D: \ base1 \ PC

8. Upprepa steg 2. Som ett resultat kommer ändringarna från den perifera databasen att visas i den centrala databasen.

Så, den allmänna principen för utbyte: alternativt körning av automatiskt utbyte med samtidig förflyttning av filer (utbytespaket) från PC-mappen för en bas till PC-mappen för en annan bas och från CP-mappen för en bas till CP-mappen av en annan bas.

Konfigurationsändringar görs endast i den centrala databasen. När du ändrar konfigurationen är det nödvändigt att utföra utbytet i de perifera baserna i ett exklusivt läge. För framgångsrik bearbetning av paket från perifera baser i den centrala basen måste konfigurationen laddas in i de perifera baserna. Om du blir förvirrad är det okej, paketet som avvisats av den centrala databasen kommer att laddas upp igen.