Sette opp ribber 1c 8.3 regnskap 3.0. Alexey alekseev velkommen til min koselige lille blazer. Grunnleggende prinsipper for RIB

OLEG FILIPPOV, ANT-Inform, nestleder for utviklingsavdelingen, [e-postbeskyttet]

RIB i 1C. Begrensninger for muligheter

Teknologien til distribuerte informasjonsbaser (RIB) i 1C: Enterprise-plattformen forårsaker mye kontrovers. Vi vil prøve å finne ut når det er tilrådelig å bruke det, og når det er bedre å foretrekke alternative løsninger.

Når du leser fora eller artikler av nettforfattere om RIB i 1C, kan du ofte komme over motstridende meninger fra "dette er det beste og eneste som kan brukes" til "det er håpløst utdatert." La oss prøve å finne ut hvordan ting egentlig er.

I novemberutgaven av 2016 skrev jeg allerede om noen av funksjonene til RIB i forhold til en spesifikk praktisk oppgave, så bare et par ord om det grunnleggende, og la oss gå litt dypere inn i de teknologiske detaljene.

RIB - 1C: Enterprise distribuert infobase-teknologi - ikke å forveksle med universell utveksling, med en lignende teknologi, men fundamentalt forskjellig støtte for sentralisert oppdatering av infobase-konfigurasjoner. Den består av følgende funksjonelle deler (som kan brukes separat):

  • Endre registreringstjeneste- når aktivert, starter automatisk registrering av endringer i objekter eller poster for utveksling (eller andre formål). I RIB-modus brukes den også til å registrere endringer i infobasekonfigurasjonen.
  • Serialisering av objekter / poster til XML. Nesten alle 1C: Enterprise-objekter serialiseres til XML på en vanlig måte.
  • En mekanisme for å opprettholde den samme konfigurasjonen for alle noder i en distribuert infobase. I RIB-modus er datautveksling mellom forskjellige noder bare mulig hvis de har samme konfigurasjon. Den overføres automatisk under utvekslingen. På sluttnoden trenger du bare å godta endringene.
  • Infrastruktur av meldinger når de utveksles i et distribuert informasjonssystem - garantert levering. De registrerte endringene pakkes i meldinger og sendes til sluttnoden i batcher. Fjernes fra registreringen først etter bekreftelse av pakkelevering.
  • Infrastruktur for nivået av anvendte løsninger. Selvfølgelig vil ikke alt det ovennevnte fungere uten utviklede mekanismer på nivå med anvendte løsninger, hvorav noen allerede er inkludert i BSP. Løsningene har muligheten til å laste ned data i henhold til visse regler, endre prinsippene for registrering og bestemme metoden for pakkelevering.

Som du ser kan RIB i 1C være ganske mye. I de fleste tilfeller er denne funksjonaliteten mer enn nok. For eksempel, i fig. 1 viser formen til en infobase-node i 1C, hvor du kan se muligheten til å laste ned registreringsregler, spesifisere tilkoblingsparametere og se en liste over objekter registrert for utveksling.

Fra beskrivelsen ovenfor kan vi konkludere om egenskapene til RIB 1C som et distribuert system:

  • Støtte for en enhetlig infobasekonfigurasjon (halvautomatisk).
  • Endre sporingsstøtte.
  • Garantert levering.
  • Mulighet for master-master-skjema.
  • Mulighet for "stjerne"-ordningen.
  • Evnen til å selektivt filtrere endringer.

Ikke ille nok - det vil tilfredsstille behovene til et lite nettverk. Men RIB har visse begrensninger, i stor grad relatert til de arkitektoniske egenskapene til 1C-plattformen, som pålegger visse begrensninger for bruken av denne teknologien:

  • Behovet for å oppdatere infobasekonfigurasjonen i manuell modus med avslutning av brukernes arbeid. Stoppe utveksling før oppdatering av konfigurasjonen.
  • Transaksjonsbegrensning av meldingsinfrastruktur ved datahenting. Når du henter endringer for lossing, er databasetabellen låst for å registrere nye endringer; med store volumer av lossing kan dette ta lang tid og stoppe arbeidet.
  • Overheaden for å opprettholde et stort antall synkroniseringsnoder (antall tjenesteposter er lik antall noder).
  • Store problemer med lasting av data.

La oss nå prøve å sammenligne dette med et hvilket som helst "avansert" system som har en replikeringsmekanisme.

en kort beskrivelse av
Antall installasjoner Ikke begrenset Bruk med regnskapskomponent 7.7 Ja
Antall perifere databaser Ikke begrenset Bruk med driftsregnskapskomponenten 7.7 Ja
Frittstående program Nei Bruk med beregningskomponent 7.7 Ja
Sikkerhetsnøkkeltype USB Levering innen Russland er inkludert i prisen Ja
Distribusjonssett Ja Kjøpsfunksjoner på søknad
Installasjonshåndbok følger med Ja

Hvorfor trenger du 1C: Enterprise 7.7. Forvaltning av distribuerte informasjonsbaser (1C URBD, 1C URIB)

Forkortelser og forkortelser: 1C URBD- Forvaltning av distribuerte databaser; 1C URIB- Forvaltning av distribuerte informasjonsbaser.

En tilleggskomponent "Administrasjon av distribuerte informasjonsbaser" - 1C URBD - 1C URIB - brukes til å organisere et enhetlig automatisert regnskapssystem hos virksomheter som har geografisk fjerntliggende divisjoner (for eksempel hovedkontor, butikk, lager, etc.) ikke koblet til lokalt nettverk... Mulighetene som tilbys av denne komponenten gjør det mulig å organisere driften av et distribuert informasjonssystem med et ubegrenset antall autonome perifere informasjonsbaser.

En distribuert infobase består av én sentral og ubegrenset antall perifere infobaser. I hver av infobasene legges nye data inn og de eksisterende modifiseres uavhengig. Systemkonfigurasjonen kan endres eller oppdateres utelukkende i den sentrale informasjonsbasen. For å synkronisere data mellom den sentrale og perifere infobasen, må de endrede dataene overføres med jevne mellomrom. Overføringsfiler kan transporteres på alle tilgjengelige måter (på en diskett, via e-post osv.). Systemet sporer alle dataendringer automatisk og overfører dem i samsvar med de beskrevne synkroniseringsreglene.

1C URBD-komponenten kan bare brukes med profesjonelle versjoner av 1C: Enterprise 7.7-systemprogrammene.

Hvor mange deler av "1C: Enterprise 7.7. Distribuert infobase management" trenger du å kjøpe, for eksempel til hovedkontoret og to eksterne lagre?

Komponent "1C: Enterprise 7.7. Administrasjon av distribuerte informasjonsbaser" - 1C URBD - er installert for sentral informasjonsgrunnlag. En komponent lar deg synkronisere et ubegrenset antall perifere infobaser. For å for eksempel synkronisere hovedkontoret og to eksterne varehus, kreves det en kopi av "1C: Enterprise 7.7. Distribuert infobase-administrasjon".

Denne artikkelen vil fokusere på å sette opp en distribuert database 1C Enterprise 7.7, som et eksempel vil vi bruke Trade Management 9.2-konfigurasjonen.

For å konfigurere RIB i 1C 7.7, må du gå til konfiguratoren og gå til Administration-Distributed IB-Management.

Deretter må du konvertere databasen din til RIB, hvis den ennå ikke er konvertert til RIB, for dette må du klikke på knappen "Sentral IB".

Still inn koden og beskrivelsen som i skjermbildet ovenfor og klikk "OK". En advarsel skal vises som i skjermbildet nedenfor, ignorer den og klikk "Ja".
Etter det vil basen din være klar til å lage perifere noder.

Klikk på "Ny perifer IB"-knappen og still inn feltverdiene som i følgende skjermbilde, men du kan bruke dine egne betegnelser.

Klikk OK og gå til neste trinn - konfigurere automatisk utveksling.

I denne artikkelen vil jeg fortelle deg hvordan du setter opp automatisk utveksling ved hjelp av et lokalt nettverk, hvis du trenger automatisk utveksling via e-post, legg igjen forespørselen din i kommentarfeltet eller kontakt meg, så vil jeg fortelle deg hvordan du gjør det.

Vi eksponerer alt som på et lysbilde, du kan ha dine egne veier til kataloger, avmerkingsbokser skal være som i skjermbildet ovenfor. Klikk OK.

Nå laster vi opp det første bildet av den perifere basen til disken, for dette trykker vi på knappen "Last opp data". Etter å ha lastet ut det første bildet, vil RIB-administrasjonsvinduet se slik ut:

Anta at datamaskinen som båndet vårt vil fungere på, er plassert ikke langt fra hoveddatamaskinen med en sentral base og at begge datamaskinene er koblet til et lokalt nettverk.

Nå må du konfigurere RIB på klientdatamaskinen, for dette tar vi zip-filen vår som ble lastet ut i de forrige trinnene og oppretter en infobase basert på den. Skjermbildene nedenfor viser hele sekvensen av handlinger.

Klikk på "Legg til"-knappen og pek på en tom mappe og klikk OK.

Vi velger en ny IB og går til konfiguratormodus.

I en tom mappe lager vi en tom IB, derfor ber 1C oss om å indikere i hvilket format databasen vår vil være, velg * .dbf. Klikk OK.

Nå vil vi laste opp zip-filen lastet opp i de forrige trinnene til databasen vår, for dette vil vi gå til administrasjon-opplastingsdata.

Angi banen til filen og klikk OK.
Etter at nedlastingen er fullført, klikker du OK og går til administrasjonsdistribuert ib-auto-exchange.



På dette trinnet er det nødvendig å ta hensyn til regelen: CB-opplastingskatalog = PB-opplastingskataloger og omvendt, dvs. hvis vi i den sentrale databasen lastet ned til ut-mappen og lastet fra inn-mappen, vil vi i den perifere databasen laste ned fra ut-mappen og laste ned til inn-mappen. Klikk OK og gå til neste trinn. Vi utfører automatisk bytte. For å gjøre dette, i den sentrale databasen, gå til administrasjonsdistribuert ib-auto-exchange.


Klikk på "Kjør"-knappen, og gjør det samme på klientbasen. Utfør autobytteoperasjonen én etter én på hver av datamaskinene flere ganger.

Nå skal vi automatisere prosessen. For å gjøre dette må du lage 4 filer på hver datamaskin. 2 * .prm-filer og 2 * .bat-filer for hver av laste-/losseoperasjonene.

* .bat-filen må inneholde følgende linje:

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

Mine opp- og nedlastingsfiler ser slik ut:

"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 ned verdiene dine. La oss nå håndtere prm-filer!

.Prm-filstruktur:

Avsnittet "Generelt" - er ment å beskrive hovedparametrene for batchmodusoperasjonen. Mulige parametere:

Utdata - bane til loggfilen;
- Avslutt — om du vil avslutte konfiguratoren etter å ha fullført alle oppgaver;
- Autoutveksling - om autoutveksling skal utføres;
- SaveData - om databasen skal lagres;
- UnloadData - om det skal utføres lossing;
- CheckAndRepair - om det er nødvendig å teste og korrigere databasen.

Mulige verdier for disse parameterne er 1 (Y) eller 0 (N).

Seksjon "AutoExchange" - designet for å definere parametrene for automatisk utveksling. Alternativer:

SharedMode - indikerer modusen for arbeid med databasen. Hvis parameteren ikke er spesifisert, vil eksklusiv modus bli brukt;
- ReadFrom - indikerer fra hvilke databaser dataene skal mottas. Basisidentifikatorer må skilles med komma. Hvis alt er nødvendig, settes *;
- WriteTo - indikerer for hvilke databaser dataene skal lastes opp. Hvis det er nødvendig for alle, settes *.

Seksjon "SaveData" - designet for å definere parametrene for lagring av databasen. Mulige parametere:

SaveToFile - indikerer banen der lagringen skal utføres;
- FileList - spesifiserer listen over filer som skal lagres. Filnavn er oppført atskilt med mellomrom eller komma;

Seksjon "UnloadData" - er beregnet på å definere parametere for dataavlasting. Alternativer:

UnloadToFile - spesifiserer lagringsbanen, inkludert filnavnet;
- IncludeUserDef - spesifiserer om en liste over brukere skal inkluderes i migreringsfilen;
- Passord — spesifiserer passordet som vil bli satt for overføringsfilen.

Seksjon "CheckAndRepair" - er ment for å definere parametere for databasegjenoppretting. Mulige parametere:

Reparasjon - indikerer om det er nødvendig å gjenopprette databasen;
- PhysicalIntegrity — indikerer om det er nødvendig å kontrollere den fysiske integriteten til infobasetabeller;
- Reindex - indikerer behovet for å re-indeksere databasen;
- LogicalIntegrity — indikerer om det er nødvendig å kontrollere den logiske integriteten til tabeller;
- RecalcTotals - indikerer om det er nødvendig å beregne resultatene av regnskap og operasjonell regnskap på nytt;
- Pakke — indikerer om det er nødvendig å frigjøre plassen som opptas av slettede poster;
- SkipUnresolved - indikerer om du skal hoppe over uløste lenker eller fikse dem;
- CreateForUnresolved - indikerer hvordan uløste lenker løses. Hvis 1, vil et objekt av tilsvarende type bli opprettet for en uløst referanse. Hvis 0, vil koblingen bli slettet.

Basert på dette vil filene mine inneholde følgende:

å laste fra sentralbanken til det perifere:


Utdata = log.txt
Utgang = 1


Les fra = CB

for lossing fra sentralbanken til periferien:


Utdata = log.txt
Utgang = 1


WriteTo = CB

å laste fra perifer til sentralbank:


Utdata = log.txt
Utgang = 1


Les fra = PB1

for lossing fra periferien til sentralbanken:


Utdata = log.txt
Utgang = 1


WriteTo = PB1

Nå er det nok å plassere bat- og prm-filer i én mappe og kjøre dem én etter én for å utføre nedlasting og opplasting.

Hvis du har spørsmål - velkommen i kommentarfeltet!

For å opprette en distribuert infobase, må du gå inn i programmet i "1C: Enterprise"-modus. For å lage noder til en distribuert base i menyen, velg: Operasjoner - Utvekslingsplaner. Vinduet "Velg objekt: Utvekslingsplan" åpnes.


1. Vurder alternativet med "Full" utvekslingsplan.

Utvekslingen vil bli gjennomført på tvers av alle organisasjoner som befinner seg i den distribuerte informasjonsbasen.

La oss velge "Full" utvekslingsplan. Vinduet "Utbytteplan fullført" åpnes.

Vi fyller ut to poster:

Vi vil navngi den første posten "Hovednode", vi vil indikere koden "GU",

Vi vil navngi den andre posten "Underordnet node", vi vil indikere koden "PU".

Som du kan se av figuren har den første posten et ikon med en grønn sirkel, dette er "Hovednoden"-ikonet.


For å lage en kopi av "Hovednode"-infobasen, klikk på "Underordnet node" og klikk på "Opprett innledende bilde"-ikonet. Dette vil være infobasen til "Slavenoden".


Vinduet "Opprett et første IB-bilde" åpnes, velg "På denne datamaskinen eller på en datamaskin i det lokale nettverket", klikk på "Neste".


I feltet "Informasjonsbasekatalog", velg plasseringen der kopien av "Hovednoden" skal installeres, klikk "Fullfør".


Etter å ha opprettet "Slavenoden" infobase, vil følgende melding vises:


Klikk "Ok".

Legg til "Slavenoden"-infobasen til "1C: Enterprise". Vi går til den underordnede basen i "1C: Enterprise"-modus. La oss åpne: Drift - Utvekslingsplaner. Vinduet "Velg objekt: Utvekslingsplan" åpnes. La oss velge "Full" utvekslingsplan. Vinduet "Utbytteplan fullført" åpnes. Vi ser at "Hovednoden"-ikonet er oransje, noe som betyr at denne noden er hovednoden for infobasen vi befinner oss i.


Vi gjør følgende innstillinger i både hoved- og underordnede noder:

1. Legg til et prefiks for den distribuerte infobasen.

Dette gjøres slik at det ikke er konflikter i tallene og kodene til dokumenter og kataloger som er opprettet i to databaser, derfor angir vi i hver database et prefiks som vil bli lagt til dokumentnumre og katalogkoder. Åpne: Tjeneste - Programinnstillinger - Fanen "Datautveksling". I feltet "Nodeprefiks for en distribuert infobase:" i den underordnede basen, skriv inn "PU", i hovedbasen, skriv inn "GU".


2. Legg til innstillingen for datautveksling mellom noder:

Åpne: Tjeneste - Distribuert informasjonsbase (RIB) - Konfigurer RIB-noder. Vinduet "Kommunikasjonsinnstillinger" åpnes.


Klikk "Legg til", vinduet "Innstillinger for datautveksling" åpnes. Skriv inn "Navn" på innstillingen din.


En node vil automatisk vises i "Node" feltet, for "Master node" vil det være "Underordnet node", for "Underordnet node" vil det være "Master node".

I feltet "Katalog" velger du mappen som utvekslingsdataene skal mottas i; det er best å spesifisere en katalog for hoved- og underordnede databaser.

I feltet "Utvekslingstype" konfigurerer du dataoverføring mellom databaser: via en fil eller FTP-ressurs. La oss velge for eksempel "utveksling via en filressurs".

Vi endrer ikke noe i de resterende feltene.

Klikk "Ok". Vi ser at en innstilling har dukket opp.

3. For å utveksle data, gjør følgende:

Først, i databasen der endringene ble gjort, klikker du på ikonet "Utfør utveksling med gjeldende innstilling", som vist i figuren.


Etter opplastingen vil opplastingsresultatvinduet vises.


Klikk deretter på ikonet "Utfør utveksling i henhold til gjeldende innstilling" i databasen du trenger å overføre endringene til, og dataene vil gå til databasen du ønsker.

2. Vurder en variant med en utvekslingsplan "By organisering".

Utvekslingen vil bli utført av utvalgte organisasjoner lokalisert i en distribuert infobase.

For å lage noder til en distribuert base i menyen, velg: Operasjoner - Utvekslingsplaner. Vinduet "Velg objekt: Utvekslingsplan" åpnes.


La oss velge utvekslingsplanen "Etter organisasjon". Vinduet "Utvekslingsplan etter organisasjon" åpnes.

Vi fyller ut to poster:

Vi vil navngi den første posten "Hovednode", vi vil indikere koden "GU", vi ser forskjellen fra "Utvekslingsplanen: Full", en tabell har dukket opp der vi angir organisasjonene som utvekslingen vil finne sted for .

Den andre posten vil bli kalt "Underordnet node", koden vil være "PU", vi vil indikere organisasjonen.


For øvrig er innstillingen helt den samme som med «Bytteplan: Full».

Instruksjoner for å opprette og konfigurere distribuerte databaser ved å bruke URBD-komponenten (URIB)

URBD (Distributed Database Management)-komponenten brukes til å utveksle informasjon mellom to identiske 1C-databaser. Hvis konfigurasjonene er forskjellige, så kan du også bruke den, det er skrevet om dette i en annen. For at komponenten skal fungere, må DistrDB.dll-filen finnes i BIN-mappen til 1C: Enterprise-programmet.

La oss se på trinnene for å lage distribuerte databaser. For eksempel har vi en arbeidsbase i katalogen D: \ base1. Det kreves å gjøre det sentralt og skape en perifer base.

1. Opprett en katalog D: \ base2 for den perifere basen.

2. I katalogene D: \ base1 og D: \ base2 oppretter mappene CP og PC (vi bruker latinske bokstaver).

3. Start den sentrale databasekonfiguratoren (D: \ base1) og velg Meny - Administrasjon - Distribuert IB - Administrasjon.

4. Trykk på knappen "Sentral IB", i vinduet som vises, skriv inn koden og navnet på databasen. Det er bedre å bruke tall eller latinske bokstaver for koden. Vi legger inn for eksempel 001 og "Sentral base", bekrefter ved å trykke på "OK"-knappen.

5. Trykk på knappen "Ny perifer IB" for å lage en perifer base. Skriv inn parameterne for det: 002 og "Periferbase 1".

6. Velg basen "Peripheral base 1" med markøren og trykk på knappen "Settings. automatisk utveksling ". I innstillingene endrer du manuell modus til automatisk. Vær forsiktig, dette er viktig.

7. Velg "Periferbase 1"-basen med markøren og trykk på "Last opp data"-knappen, deretter "OK"-knappen. Som et resultat av lossing vil filen D: \ base1 \ CP \ 020.zip vises.

8. Start 1C i konfiguratormodus, legg til en ny base "Peripheral base 1" i 1C-startvinduet, spesifiser den tidligere opprettede katalogen D: \ base2 for den.

9. Velg Meny - Administrasjon - Distribuert IS - Administrasjon. På spørsmålet "Infobasen ble ikke funnet. Vil du laste ned data?" trykk på "Ja"-knappen og spesifiser filnavnet "D: \ base1 \ CP \ 020.zip", trykk på "OK"-knappen. Etter at nedlastingen er fullført, kan prosessen med å opprette en perifer base anses som fullført.

I og fortsatt i metodene for å lage en perifer database ved å gjenopprette en kopi av den sentrale databasen fra en sikkerhetskopi eller legge ved filene til en kopi av den sentrale databasen for SQL-format og utføre et skript er gitt. Dette vil være nyttig for store mengder data, når opplastinger-nedlastinger strekker seg i timevis eller generelt er urealistiske.

Instruksjoner for utveksling mellom distribuerte databaser ved hjelp av URBD-komponenten (URIB)

La oss vurdere et forenklet eksempel, vi vil utføre utvekslingen manuelt ved å starte konfiguratoren. Du kan bruke batch-modusen til konfiguratoren, for å levere utvekslingspakker kan du bruke mail, ftp, automatisk filkopiering.

For å utføre utvekslingen, velg Meny - Administrasjon - Distribuert informasjonssikkerhet - Autoutveksling. Hvis byttet er automatisk (se punkt 6 i forrige instruksjon), vil vi lykkes.

1. Så vi endrer eller lager noen objekter som migrerer til den perifere basen. Objektmigreringsregler settes på fanen "Migrering" i objektegenskapene (se objekttreet i konfiguratoren).

2. Start konfiguratoren til sentralbasen, velg Meny - Administrasjon - Distribuert IB - Autoutveksling, trykk på "Kjør"-knappen.

3. Den resulterende filen D: \ base1 \ CP \ 020.zip flyttes til mappen D: \ base2 \ CP \

4. Vi endrer noen objekter i den perifere databasen. Helst ikke de som endret seg før i den sentrale databasen, tk. den sentrale basen har forrang over endringer i objekter når de byttes.

5. Start periferbasekonfiguratoren, velg Meny - Administrasjon - Distribuert informasjonssikkerhet - Autoutveksling, trykk på "Kjør"-knappen.

6. Som et resultat av automatisk utveksling bør vi ha mottatt endringer fra den sentrale databasen. Vi bør også ha en fil å overføre til den sentrale databasen D: \ base2 \ PC \ 021.zip

7. Kopier filen D: \ base2 \ PC \ 021.zip til mappen D: \ base1 \ PC

8. Gjenta trinn 2. Som et resultat vil endringene fra den perifere databasen vises i den sentrale databasen.

Så det generelle prinsippet for utveksling: alternativ utførelse av automatisk utveksling med samtidig bevegelse av filer (utvekslingspakker) fra PC-mappen til en database til PC-mappen til en annen database og fra CP-mappen til en database til CP-mappen til en annen database.

Konfigurasjonsendringer gjøres kun i den sentrale databasen. Når du endrer konfigurasjonen, er det nødvendig å utføre utvekslingen i de perifere basene i en eksklusiv modus. For vellykket behandling av pakker fra perifere baser i den sentrale basen, må konfigurasjonen lastes inn i de perifere basene. Hvis du blir forvirret, er det greit, pakken som er avvist av den sentrale databasen vil bli lastet opp på nytt.