1c izdelava načrta menjave po korakih. Načrtovana menjava s standardnimi sredstvi. Kaj je format EnterpriseData


Če vaša organizacija zaposluje več kot 5 ljudi, potem najverjetneje uporabljate izdelke 1C. Organizacije skoraj vedno namestijo več baz podatkov 1C, saj vsaka od njih rešuje določeno vrsto težav. Na primer, podjetje se ukvarja s prodajo na drobno in vodi računovodstvo; v takšni situaciji stranka običajno namesti UT (Trade Management) in BP (Enterprise Accounting). Tudi preprost samostojni podjetnik z več zaposlenimi lahko deluje kot takšno podjetje!

Zakaj naj nastavim izmenjavo podatkov?

Nadaljujmo z obravnavanjem situacije z UT in BP. Predstavljajmo si, da trenutno naša menjalnica ni konfigurirana, katera dejanja moramo izvesti, da odražamo računovodske transakcije v obeh zbirkah podatkov? Tako je, najprej bomo izpolnili podatke v UT, potem pa bomo morali iste podatke vnesti v BP, ker v UT ne moremo npr. vnesti prejema blaga, tega pa ne moremo narediti v BP.

Tudi če se odločite za uporabo standardne izmenjave podatkov (nastavitev standardne izmenjave podatkov (1C sinhronizacija)), to ne pomeni, da jo je mogoče konfigurirati v vaši bazi podatkov. Težave nastanejo, če na primer dolgo časa niste posodobili podatkovne baze (za vzdrževanje standardne izmenjave morajo biti vaše baze posodobljene) ali objektov, ki jih boste prenesli iz ene baze v drugo so spremenjene (v tem primeru standardna izmenjava ne bo delovala pravilno), razen vse to, tudi če se različice platforme baz podatkov razlikujejo (7.7 – 8.3), potem bo najverjetneje treba tudi izmenjavo podatkov spremeniti ali razviti iz nič.

Kdo mora uporabljati izmenjavo podatkov med bazami podatkov 1C?

Če so spodnje izjave pomembne za vas, morate konfigurirati izmenjavo med vašimi konfiguracijami:

  • Imate več kot eno bazo podatkov 1C
  • Zahteva hiter prenos informacij iz ene podatkovne baze v drugo in obratno
  • Potrebujete samodejno menjavo ali izmenjavo v realnem času

Razvoj in konfiguracija izmenjave podatkov med konfiguracijami 1C

Pravilno zasnovana izmenjava podatkov vam bo omogočila:

  • Odlaganje in nalaganje predmetov iz ene baze podatkov v drugo
  • Izmenjava med različnimi različicami 1C
  • Izmenjava podatkov v realnem času
  • Bistveno znižati stroške plač zaposlenim, saj bodo sedaj imeli več prostega časa
  • Prihranite čas in proračun

Razvoj pravil izmenjave podatkov na primeru modificiranih podatkovnih baz UT in BP

Imamo dve bazi podatkov, v katerih je spremenjen dokument »Prejem blaga in storitev«, predvsem so dodani novi podatki v dokumentih in tabelarnih delih, nekateri standardni podatki so bili izbrisani, zaradi česar standardna izmenjava podatkov ne deluje. Razvili smo novo pravilo izmenjave in ga zapisali v datoteko.


Ključne besede: porazdeljeno, URDB, XML, registracija, vozlišče, vozlišče, samodejna registracija, začetnica, slika, POP3, SMTP, MailMessage, periferija, centrala, replikacija, izmenjava

Zavrnitev odgovornosti in pogoji uporabe

Vse blagovne znamke, pomotoma omenjene v tem članku, so last njihovih lastnikov.
Ta članek je objavljen pod licenco Creative Commons Attribution-Share Alike 3.0 Unported.
http://creativecommons.org/licenses/by-sa/3.0/

Naj takoj opozorim, da vse naslednje velja za izdajo platforme 8.0.7.36 in višje.

1. korak: Ustvarite načrt izmenjave

V konfiguraciji izdelamo načrt izmenjave. Imenujmo ga na primer "DistributedBase". Obvezno v
V lastnostih načrta izmenjave označite potrditveno polje "Distributed infobase".

Na zavihku »Drugo« kliknite gumb »Sestava«, da določite, kateri predmeti bodo vključeni v izmenjavo. Avtor:
Privzeto lahko omogočite vse predmete ("Dejanja" - "Omogoči vse"). Pomembna točka je parameter
"Samodejna registracija". Na splošno bi moral biti omogočen za vse predmete.

Opomba: ko v konfiguracijo dodajate nove objekte, ti niso vključeni v načrt izmenjave. Tisti. po
Če želite dodati predmet, ga morate dodati v načrt zamenjave.

Če želite, da nekateri predmeti ne sodelujejo v izmenjavi, jih preprosto izključite s seznama
načrt izmenjave. Toda nadzor nad referenčno integriteto ostane v celoti na vaši vesti. Če, do
na primer določen dokument ni vključen v menjalni načrt, vključen pa je register, na katerem opravlja premike,
potem je v prejemni bazi povsem možno prejeti prometne knjige brez zapisanega dokumenta, kar
Strinjam se, ni dobro.

Načeloma so ta dejanja dovolj, da RDB deluje v "ročnem" načinu. Da bi to naredili, zaženemo
Podjetje, odprite naš načrt izmenjave v meniju »Operacije«. V smislu menjave je vedno prisoten
vnaprej določeno vozlišče "s piko". To je opis trenutnega vozlišča. Treba ga je odpreti in napolniti. V našem
V tem primeru bosta na voljo polji »Koda« in »Ime«. Našemu vozlišču dodelimo kodo "AA" in ga pokličimo
"Osrednji". V načrt izmenjave dodamo eno vozlišče. Dodelimo mu kodo "BB" in ga poimenujmo "Peripheral".

Zdaj lahko ustvarimo sliko periferne baze. To storite s klikom na gumb "Ustvari začetnico".
slika". Na seznamu vozlišč je treba izbrati periferno bazo. Slika baze podatkov je ustvarjena v obliki že pripravljene informacijske varnosti
v katalogu ali na strežniku 1C:Enterprise. (za razliko od 7.7, kjer je bila slika informacijske varnosti ustvarjena kot datoteka
razkladanje). Nato lahko ustvarjeno zbirko podatkov premaknete na želeno mesto s preprostim kopiranjem datoteke 1CV8.1CD
(za datotečno različico) ali prek konfiguratorja z nalaganjem in prenašanjem podatkov.

Če odprete načrt izmenjave v sistemu periferne informacijske varnosti, boste videli, da je vozlišče “s piko”, tj. trenutno
"Periferno" vozlišče je postalo vozlišče, ikona "Centralnega" vozlišča pa je postala rdeča, tj. vozlišče
"Central" je glavno vozlišče glede na trenutno.

Zamenjavo v »ročnem« načinu lahko izvedete z gumboma »Zapiši spremembe« in »Preberi«.
spremembe". V prvem primeru boste pozvani, da izberete datoteko, v katero bodo zapisane spremembe, v drugem
- datoteka, iz katere bodo prebrane spremembe. Izmenjava poteka v formatu xml. Spremembe se beležijo za
izbrano vozlišče.

2. korak: naložite spremembe v datoteko XML in jih pošljite po e-pošti

Tako smo izdelali načrt izmenjave, ustvarili periferni informacijski varnostni sistem in se celo naučili prenašati podatke med njimi
baze. Sedaj je naša naloga naučiti podatkovne baze izmenjavati preko elektronske pošte.

Načrtu izmenjave dodamo dve podrobnosti: E-poštni naslov tipa "niz" in "Izvedi izmenjavo"
"boolean". V e-poštnem naslovu bomo shranili e-poštni naslov vozlišča, tj. naslov na katerem bomo
pošljite izmenjavo sporočil. Props ExecuteExchange je potreben za hitro onemogočanje samodejnega
pošiljanje-pošiljanje sporočil.

Naredimo postopek za delo z e-pošto univerzalen, tj. omogočimo to
uporaba obeh MAPI (pošlji-prejmi prek e-poštnega odjemalca, na primer MS Outlook) in
neposreden dostop do strežnikov SMTP/POP3.

V konfiguracijo dodamo več konstant:

Nekje v splošni obliki nudimo urejanje vrednosti teh konstant.

Dodajmo skupni modul, poimenujmo ga "rbDistributedBase". V njej pišemo:

Postopek rbSendExchangeMessages() Izvoz UseSMTP = Constants.UseSMTPExchange.Receive(); //Najprej ustvarimo objekt Mail, ki bo glede na nastavitve vrste InternetMail, //če je uporabljen neposreden dostop do strežnikov ali Mail, če je uporabljen MAPI.Če uporabite SMTP, potem //Za objekt tipa InternetMail ustvarite in izpolnite poštni profil. MailProfile = Nov InternetMailProfile; MailProfile.SMTPServerAddress = Constants.SMTPExchangeServerAddress.Get(); MailProfile.SMTPPort = Constants.SMTPExchangeServerPort.Receive(); MailProfile.SMTPUser = Constants.SMTPExchangeServerUser.Receive(); MailProfile.SMTP Password = Constants.SMTPExchangeUserPassword.Receive(); MailProfile.WaitTime = Constants.ServerWaitTime.Get(); Pošta = Nova internetna pošta(); Poskus Mail.Connect(MailProfile); Poročilo o izjemi (" EXCHANGE: Napaka pri povezovanju s poštnim profilom! Menjava ni uspela!" + ErrorDescription(), MessageStatus.VeryImportant); Return; EndAttempt; Sicer Mail = New Mail(); Attempt Mail.Connect(); Exception Report("" + ErrorDescription(), MessageStatus.VeryImportant); Return; EndAttempt; EndIf ; //Nato izberite vsa vozlišča iz načrta izmenjave, razen trenutnega, //ki imajo nastavljen atribut Izvedi izmenjavo. SelectionNodes = ExchangePlans.DistributedBase.Select(); Medtem ko SelectNodes.Next() Loop If Not SelectNodes.PerformExchange Then Continue; endIf; Če je SelectionNodes.Link = ExchangePlans.DistributedBase.ThisNode() Potem Nadaljuj; endIf; Elektronski naslov = AbbrLP(Izbirna vozlišča.Elektronski naslov); Če je EmailAddress = "" Potem Nadaljuj; endIf; //Z objektoma XML Record in Message Record beležimo spremembe //za izbrano vozlišče v datoteki xml. Vozlišče = SelectionNodes.Link; XMLRecord = NewXMLRecord(); MessageFileName = TemporaryFileDirectory() + "Message_" + AbbreviatedLP(ExchangePlans.DistributedBase.ThisNode().Code) + "_ " + AbbreviatedLP(Node.Code) + ".xml "; EntryXML.OpenFile(MessageFileName); MessageRecord = ExchangePlans.CreateMessageRecord(); MessageRecord.StartRecord(XMLRecord, Node); ExchangePlans.WriteChanges(WriteMessage); WriteMessage.FinishRecord(); WriteXML.Close(); //Nato ustvarimo novo pismo, mu priložimo nastalo datoteko xml in //pošlji na naslov, naveden v e-poštnem naslovu vozlišča. Datoteka = Nova datoteka (imedatoteke sporočila); Zadeva sporočila = "1C:Exchange" + Abbr.LP(ExchangePlans.DistributedBase.ThisNode().Code) + "_" + Abbr.LP(Node.Code); If UseSMTP Then MailMessage = New InternetMailMessage; MailMessage.Subject = MessageSubject; MailMessage.Attachments.Add(MessageFileName, File.Name); MailMessage.Recipients.Add(EmailAddress); Mail.Send(MailMessage); Else MailMessage = novo poštno sporočilo; MailMessage.Subject = MessageSubject; MailMessage.Attachments.Add(MessageFileName); MailMessage.Recipients.Add(EmailAddress); Mail.Send(MailMessage, False); endIf; If Constants.OutputExchangeMessages.Get() Then Report(" IZMENJAVA: Izmenjava sporočila za vozlišče" + Node.Name + " poslano! ", MessageStatus.Information); EndIf; DeleteFiles(MessageFileName); EndCycle; Mail.Disconnect(); EndProcedure

Priporočam, da v vmesnik dodate dodatno ploščo, na enega od gumbov katere lahko pokličete to
postopkov. Zdaj ostane le še zagon Enterprisea, konfiguracija elektronskega naslova periferne informacijske varnosti,
potrdite polje »Izmenjava«, kliknite gumb za postopek na plošči in zaženite za prejemanje pošte za
določen email naslovi. Prejeti morate pismo z zadevo "1C: Exchange AA_BB" in priloženo datoteko
"Sporočilo_AA_BB.xml".

Torej, polovica dela je opravljena: G8 smo naučili pošiljati sporočila izmenjave RDB po e-pošti
pošta.

3. korak. Prejemajte posodobitve po e-pošti in jih beležite v informacijsko varnost

Zdaj pa naredimo obratni postopek: prejemanje posodobitev po e-pošti in njihovo beleženje v informacijski varnosti.

Parametrom seje dodajte parameter »Izmenjava distribuirane baze podatkov v teku« logičnega tipa. To bom pojasnil spodaj
imenovanje.

Dodajmo naslednji postopek skupnemu modulu rbDistributedBase:

Postopek rbGetExchangeMessages() Izvoz UseSMTP = Constants.UseSMTPExchange.Receive(); //tako kot v postopku rbSendExchangeMessages(), najprej ustvarite objekt Pošta Če uporabi SMTP Potem MailProfile = Nov InternetMailProfile; MailProfile.POP3ServerAddress = Constants.POP3ExchangeServerAddress.Get(); MailProfile.POP3Port = Constants.POP3ExchangeServerPort.Get(); MailProfile.User = Constants.POP3ExchangeServerUser.Get(); MailProfile.Password = Constants.UserPasswordPOP3Exchange.Receive(); MailProfile.WaitTime = Constants.ServerWaitTime.Get(); Pošta = Nova internetna pošta(); Poskus Mail.Connect(MailProfile); Poročilo o izjemi (" EXCHANGE: Napaka pri povezovanju s poštnim profilom! |Izmenjava ni uspela!", MessageStatus.VeryImportant); Return; EndAttempt; Sicer Mail = New Mail(); Attempt Mail.Connect(); Exception Report(" BORZA: Napaka pri povezovanju z uporabnikovim e-poštnim profilom! |Izmenjava ni uspela!", MessageStatus.VeryImportant); Return; EndAttempt; EndIf; MessageArray = New Array; If UseSMTP Then AllMessages = Mail.Select(False); Else AllMessages = Mail.Select(False, False); EndIf; //Izberite med vsemi črkami tiste, ki imajo zadevo "1C:Izmenjava". // Majhna, a pomembna opomba: //verjamemo, da so vsa prejeta pisma z zadevo "1C:Exchange" namenjena //točno za trenutno vozlišče, // tiste. da imajo različna vozlišča v smislu izmenjave RAZLIČNE elektronske naslove. Za vsako sporočilo iz vseh sporočil Ciklus Če Leo (Sporočilo. Zadeva, 8 )<>"1C:Exchange" Nato nadaljujte; endIf; TryMessageArray.Add(Sporočilo); //Shrani e-poštno prilogo na disk. //Skrbno preverjanje priponke bomo za zdaj pustili v ozadju. Priloga = Sporočilo.Priloge; MessageFileName = TemporaryFileDirectory() + Attachment.Name; ExchangeData = Attachment.Data; ExchangeData.Write(MessageFileName); //Z uporabo objektov XMLReader in MessageReader preberemo podatke //posodobitve iz shranjene datoteke. Pred snemanjem posodobitev informacijske varnosti //nastavite parameter seje Distributed Database Exchange in Progress na True. //Nato preberemo spremembe v informacijski varnosti: Exchange Plans.ReadChanges(ReadMessage). //Hkrati sporočila shranimo v matriko, tako da jih lahko kasneje izbrišemo vsa naenkrat. ReadXML = novo ReadXML(); ReadXML.OpenFile(MessageFileName); MessageReader = ExchangePlans.CreateMessageReader(); ReadMessage.StartReading(ReadingXML); SessionParameters.DistributedBaseExchange v teku = True; ExchangePlans.ReadChanges(ReadMessage); ReadMessage.FinishReading(); ReadXML.Close(); If Constants.OutputExchangeMessages.Get() Then Report(" IZMENJAVA: Izmenjava podatkov je sprejeta",MessageStatus.Information); EndIf; Poročilo o izjemi(" IZMENJAVA: Napaka pri prejemanju podatkov o izmenjavi:" + ErrorDescription(), MessageStatus.VeryImportant); EndAttempt; //Po končanem branju podatkov o izmenjavi se vrnite //parameter seje DistributedBase Exchange is in progress je nastavljen na False. SessionParameters.DistributedBaseExchange v teku = False; Poskus brisanja datotek (imedatoteke sporočila); Izjema //če ne gre, oh dobro EndAttempt; EndCycle; Če uporabljate SMTP potem Mail.DeleteMessages(MessageArray); endIf; Mail.Disconnect(); Konec postopka

Zdaj o tem, za kaj je potreben parameter seje Distributed Database Exchange In Progress.
Dejstvo je, da se pri branju podatkov z metodo ExchangePlans.ReadChanges() izvede klic
postopki obdelovalca za dogodek BeforeWrite() spremenjenih/dodanih objektov. In če pri snemanju
katerega koli predmeta v postopku obdelovalca, bo parameter Zavrnitev nato nastavljen na True
pri izvajanju ExchangePlans.ReadChanges() bo prišlo do izjeme in v skladu s tem do izmenjave
ne bo izvršena. Vrednost parametra seje DistributedBase Exchange In Progress je lahko
analizirati v postopkih upravljavca, da bi se izognili takšni situaciji.
Z izdajo izdaje 12 (čeprav se morda motim glede različic) je ta metoda nekoliko manjša
deprecatedA, ker imajo objekti zdaj lastnost Možnosti menjave, od katerega, v svojem. Ta lastnost je nastavljena na True, ko
shranjevanje podatkov prek načrta skupne rabe.

Zdaj v vmesnik na naši plošči dodamo še en gumb, na katerega obesimo klic na to
postopkov. Zaženimo Enterprise in uživajmo.
Skoraj vse je narejeno, ostalo je le še nekaj: da naši postopki tečejo samodejno.
Korak 4. Nastavitev avtomatske menjave

Tako smo že skoraj blizu cilja naše zgodbe. Ostaja le še en korak: zagon
samodejno izvajanje menjalnih postopkov. Začnimo.

Dodajmo konstanto DistributedBase Autoexchange Interval tipa Number(5,0).

Uporabniškim nastavitvam dodamo parameter Perform Distributed Database Exchange. Za konfiguracijo
"Upravljanje trgovine" poteka takole:

* V načrt tipov karakteristik "Uporabniške nastavitve" bomo dodali preddefinirano
karakteristika Izvedite izmenjavo porazdeljenih baz podatkov tipa Boolean.
* V obliki postavke imenika "Uporabniki" nastavimo spremembo tega parametra (tako
se lahko izvede v modulu obrazca, po analogiji z drugimi parametri).

Dodajte postopek v modul rbDistributedBase:

Postopek rbPerformExchange(user) Export If npGetDefaultValue(user, "") Then rbGetExchangeMessages(); rbSendExchangeMessages(); endIf; Konec postopka

v aplikacijski modul:

Postopek CheckConnectionAutoExchange() Export If npGetDefaultValue(chCurrentUser, " Izvedite izmenjavo porazdeljenih baz podatkov") In Constants.DistributedBaseAutoExchangeInterval.Get() > 0 Nato ConnectWaitHandler(" Izvedite samodejno menjavo", Constants.DistributedBaseAutoExchangeInterval.Get()); V nasprotnem primeru DisableWaitHandler(" Izvedite samodejno menjavo"); EndIf; EndProcedure Postopek ExecuteAutoExchange() Export rbExchange(glCurrentUser); DisableWaitHandler(" Izvedite samodejno menjavo"); Če je npGetDefaultValue(chCurrentUser, " Izvedite izmenjavo porazdeljenih baz podatkov") In Constants.DistributedBaseAutoExchangeInterval.Get() > 0 Nato ConnectWaitHandler(" Izvedite samodejno menjavo", Constants.DistributedBaseAutoExchangeInterval.Get()); EndIf; EndProcedure Postopek DisableAutoExchange() Izvoz DisableWaitHandler(" Izvedite samodejno menjavo"); Končaj postopek

V proceduro WhenSystemStart() aplikacijskega modula dodajte naslednje vrstice:

(po priključitvi komercialne opreme)
...
SessionParameters.DistributedBaseExchange v teku = False; CheckAutoExchangeConnection();

Dodajmo še nekaj gumbov na našo ploščo za nadzor postopka: enemu dodajte postopek
CheckConnectAutoExchange(), na drugi strani - DisableAutoExchange()

Zaženemo podjetje, konfiguriramo uporabniške lastnosti in interval samodejne izmenjave in to je to!

Zdaj, ko vnesete bazo podatkov pod tem najbolj konfiguriranim uporabnikom, se bo zagnal upravljalnik
čaka ExecuteAutoExchange(). Seveda morate konfigurirati tudi uporabnika v periferni bazi podatkov
za menjavo.

Še ena majhna, a pomembna opomba:

V vsej lepoti, ki smo jo ustvarili, obstaja en problem: sprememba konfiguracije. pri
Ko periferna baza prejme sporočilo, ki vsebuje spremembe konfiguracije, se
bo sprejet, vendar bo prišlo do izjeme. V tem primeru bo spremenjena konfiguracija
naloženo. Če želite posodobiti konfiguracijo baze podatkov, morate izključiti vse uporabnike, pojdite na
konfigurator in posodobite konfiguracijo baze podatkov (pred tem je dobro naložiti podatke). TO
Na žalost je to nujno zlo. Življenje si lahko malce olajšate tako, da napišete kratko datoteko bat
nekaj podobnega:

1cv8.exe CONFIG /F<путь к ИБ>/N<Пользователь>/P<Пароль>/UpdateIBCfg

In še ena opomba:

Datoteke xml žal niso kompaktne, so pa na srečo odlično stisnjene. Možno v
postopki za pošiljanje in prejemanje sporočil, dodajanje pakiranja in razpakiranja datotek. COLOR="#666666">To lahko storite bodisi z zunanjim arhivarjem bodisi z uporabo VK, na primer Wheel.AddIn
(http://1c.proclub.ru/modules/mydownloads/personal.php?cid=81&lid=2714) .
Z izidom 10. (zdi se) izdaje je prejšnji predlog nekoliko zastarel, saj platforma
Vgrajena so bila orodja za stiskanje datotek z algoritmom ZIP. Tisti. zdaj je mogoče stisniti datoteke
brez uporabe VK.

Upoštevam organizacijo popolnoma avtomatske izmenjave podatkov na primeru izmenjave 1C: Industrial Enterprise Management (PEM) ==> 1C: Accounting (BP) 2.0 z uporabo poljubnih pravil izmenjave.

Obstajata 2 podatkovni bazi: 1C:UPP in Enterprise Accounting 2.0. V UPP se oblikuje vrsta dokumentov: Prodaja blaga in storitev, Prejem blaga in storitev, Računi. Računovodstvo oblikuje dokumente o denarnem toku: obračuni denarnih tokov, denarni obračuni in plačilni nalogi.

Struktura dokumentov v teh konfiguracijah je nekoliko drugačna, zato so bila poljubna pravila izmenjave zapisana s produktom "Data Conversion 2.1".

KORAK 1. Nastavitev vozlišč izmenjave.

Za izmenjavo podatkov bo uporabljen načrt izmenjave "Full". Če želite to narediti, pojdite na operacije BP ==> Exchange Plans ==> Full.

Načrt izmenjave VEDNO vsebuje eno vnaprej določeno vozlišče izmenjave. Tukaj so tri točke:

1) V nastavitvah izmenjave ne morete uporabiti vnaprej določenega vozlišča

2) Koda tega vozlišča ni privzeto določena in jo je treba določiti

3) V zbirkah podatkov, med katerimi je organizirana izmenjava podatkov, Kode vnaprej določenih vozlišč se ne smejo ujemati, to bo povzročilo napako.

V "Popolnem" načrtu izmenjave v BP bomo izvedli naslednja dejanja:

1) Navedemo kodo in ime preddefiniranega vozlišča. Recimo ime = "Preddefined", koda = 001.

2) Ustvarimo novo vozlišče izmenjave, poimenujmo ga "UPP" in mu dajmo kodo 003.

Podobno odprite načrt izmenjave »Full« 1C: UPP in izvedite naslednje korake:

1) Navedemo kodo in ime preddefiniranega vozlišča. Na primer, Ime = "Preddefined", koda = "002".

2) Ustvarimo novo vozlišče izmenjave, poimenujmo ga "BP" in mu dajmo kodo 003.

KODE nepredefiniranih izmenjalnih vozlišč v bazi podatkov UPP in BP se morajo ujemati.

KORAK 2. Ustvarite nastavitve za samodejno izmenjavo podatkov.

V bazi UPP v vmesniku »Full«. Meni “Storitev” ==> “Druge izmenjave podatkov” ==> “Vse nastavitve izmenjave podatkov”.

V obrazcu, ki se odpre, izberite »Distribuirane informacijske baze« in kliknite gumb »Dodaj«.

V oknu, ki se prikaže, morate določiti ime nastavitve. V polju »Vozlišče« morate izbrati načrt izmenjave »Polen« in označiti predhodno ustvarjeno vozlišče izmenjave.

V pogovornem oknu, ki se odpre, morate izbrati poljubna pravila za izmenjavo podatkov.

V polju »Vrsta izmenjave« izberite »Izmenjava prek povezave z informacijsko bazo« in določite parametre povezave: vrsto informacijske baze, različico platforme, pot ali naslov na strežniku, uporabnika in geslo.

Nato morate iti na zavihek »Izmenjava po pravilih« in klikniti gumb »Naloži nastavitve«. Pravila izmenjave ne smejo vsebovati pravila z metodo vzorčenja "naključne zahteve".. To bo povzročilo napako

Po prenosu nastavitev jih lahko shranite in poskusite prenesti podatke. Če želite to narediti, morate spremeniti katerega koli od objektov informacijskega sistema, ki so navedeni v nastavitvah nalaganja in na plošči obrazca klikniti gumb »Izmenjaj«.

KORAK 3. Nastavitev izmenjave podatkov.

Če želite nastaviti samodejno izmenjavo podatkov, morate iti na zavihek »Samodejna izmenjava« in klikniti gumb »Dodaj«. V oknu, ki se prikaže, lahko nastavite urnik izmenjave (čas, frekvenca) ali izmenjavo podatkov ob pojavu dogodka (npr. prijava uporabnika v sistem)

Zdaj lahko preverite ustvarjene nastavitve

Avtomatizirani nadzorni sistemi so v večini primerov sestavljeni iz ločenih baz podatkov in imajo pogosto geografsko porazdeljeno strukturo. Hkrati je pravilno izvedena izmenjava podatkov nujen pogoj za učinkovito delovanje tovrstnih sistemov.

Začetna postavitev borze lahko zahteva vrsto dejanj, ne samo v smislu programiranja, ampak tudi svetovanja, tudi če imamo opravka s homogenimi viri, kot je to v primeru izdelkov na platformi 1C:Enterprise. Zakaj nastavitev izmenjave 1C (ali, kot se imenuje tudi sinhronizacija podatkov v 1C 8.3) lahko postane najbolj zamudna in draga naloga integracijskega projekta, bomo pogledali v tem članku.

Izmenjava podatkov v okolju 1C vam omogoča:

  • Odpraviti dvojni vnos dokumentov;
  • Avtomatizirajte povezane poslovne procese;
  • Optimizirajte interakcijo med porazdeljenimi oddelki;
  • Hitro posodabljanje podatkov za delo strokovnjakov iz različnih oddelkov;
  • "Razlikujte" med različnimi vrstami računovodstva.*

*V primerih, ko se podatki ene vrste računovodstva bistveno razlikujejo od druge, je treba zagotoviti zaupnost informacij in »razmejiti« informacijske tokove. Na primer, izmenjava podatkov med 1C UT in 1C računovodstvom ne zahteva nalaganja podatkov o upravljanju v regulativno računovodsko bazo podatkov, tj. sinhronizacija v 1C bo tukaj nepopolna.

Če si predstavljamo standardni postopek za izvajanje primarne izmenjave podatkov, ko je vsaj eden od njegovih predmetov izdelek 1C, potem lahko ločimo naslednje faze:

  • Usklajevanje sestave menjalnice;
  • Opredelitev transporta (protokoli izmenjave);
  • Postavitev pravil;
  • Razporejanje.

Identifikacija sestave izmenjave 1C

Predmete izmenjave lahko razdelimo na "vir" in "sprejemnik". Hkrati lahko opravljata dve vlogi hkrati, kar bomo imenovali dvosmerna izmenjava. Izvor in cilj sta določena logično glede na potrebe ali funkcionalnost sistema.*

*Na primer, pri integraciji »WA: Finančnik« - rešitve za vodenje finančnega računovodstva in vodenje zakladniških procesov, razvite na podlagi »1C:Enterprise«, jo strokovnjaki WiseAdvice priporočajo kot glavni sistem. To je posledica razpoložljivosti nadzornih orodij za skladnost s pravili politike uporabe in s tem za zagotovitev učinkovitosti rešitve.

Nato se na podlagi prejetih in evidentiranih zahtev uporabnikov izdela seznam podatkov za izmenjavo, določi se njihov obseg, zahteve po pogostosti izmenjave ter predpiše postopek dela z napakami in obravnave izjemnih situacij (kolizij).

Na isti stopnji se glede na floto obstoječih sistemov in strukturo podjetja določi oblika izmenjave:

Distribuirana informacijska baza

  • RIB pomeni izmenjavo med identičnimi konfiguracijami baze podatkov 1C, z jasno nadzorno strukturo "master-slave" za vsak izmenjalni par. Kot element tehnološke platforme lahko RIB poleg podatkov posreduje konfiguracijske spremembe in administrativne informacije baze podatkov (vendar samo od glavnega do podrejenega).

Univerzalna izmenjava podatkov v 1C

  • Mehanizem, ki vam omogoča konfiguracijo izmenjave baz podatkov 1C, tako s konfiguracijami na platformi 1C:Enterprise kot s sistemi tretjih oseb. Izmenjava poteka s prenosom podatkov v univerzalni format xml v skladu z »Načrti izmenjave«.

EnterpriseData

  • Najnovejši razvoj 1C, zasnovan za izvajanje izmenjave podatkov v formatu xml med izdelki, ustvarjenimi na platformi 1C:Enterprise, s katerim koli sistemom avtomatizacije. Uporaba EnterpriseData poenostavlja spremembe, povezane z izmenjavo. Prej, ko je bila v sistem vključena nova konfiguracija, je bilo treba implementirati mehanizem za uvoz in izvoz podatkov, tako zanj kot za obstoječe sisteme. Zdaj sistemi, ki podpirajo EnterpriseData, ne potrebujejo nobenih sprememb, imajo samo eno vstopno-izstopno točko.

Opredelitev transporta (protokoli za izmenjavo)

Za sistem na platformi 1C:Enterprise 8 je na voljo širok nabor možnosti za organizacijo izmenjave s katerim koli informacijskim virom z uporabo splošno sprejetih univerzalnih standardov (xml, besedilne datoteke, Excel, povezava ADO itd.). Zato se morate pri določanju prenosa podatkov za izmenjavo zanesti na zmožnosti baze podatkov sistema tretje osebe.

Sinhronizacija imenikov

Osnovno načelo učinkovite sinhronizacije imenikov je prisotnost ene same vstopne točke. Če pa govorimo o delu z imeniki, ki so se zgodovinsko polnili po različnih pravilih, je treba jasno definirati sinhronizacijska polja, da bi izmenjavo spravili na »skupni imenovalec«.*

*Na tej stopnji bo morda treba opraviti delo za normalizacijo referenčnih podatkov na strani vira podatkov. Odvisno od stanja imenikov in njihovega obsega lahko postopek primerjave elementov, prepoznavanja, identifikacije napak in dvojnikov ter izpolnjevanja manjkajočih polj in dodeljevanja sinhronizacijskih polj zahteva delo cele skupine strokovnjakov, tako na del integratorja (lastnik tehnike normalizacije matičnih podatkov) in s strani naročnika.

Postavljanje pravil

Možnost prikaza podatkov iz izvornih sistemov v sprejemnikih je odvisna od pravilno definiranih pravil izmenjave. Pravila, predstavljena v formatu xml, urejajo ujemanje ključnih podrobnosti objektov izvor-prejemnik. Rešitev 1C:Data Conversion je zasnovana tako, da avtomatizira ustvarjanje pravil za izvajanje enkratnih in stalnih izmenjav.

Zagotavlja brez izgube podatkov med izmenjavo Exchange Plan. To je sestavni del vsake konfiguracije na platformi 1C:Enterprise, ki v celoti opisuje postopek izmenjave 1C: sestava podatkov (dokumenti z "identifikacijskimi" podrobnostmi) in vozlišča (informacijske baze sprejemnik-oddajnik), kot tudi aktiviranje RIB za izbrane smeri menjave.

Vsaka sprememba podatkov, vnesenih v Načrt zamenjave, se evidentira in dobi oznako »spremenjeno«. Dokler se spremenjeni podatki ne ujemajo med seboj v vozliščih sprejemnik-oddajnik, se znak ne bo ponastavil in sistem bo obema vozliščema pošiljal kontrolna sporočila. Po nalaganju podatkov in potrditvi njihove popolne skladnosti v obeh sistemih se znak ponastavi.

Urnik menjave v 1C

Za avtomatizacijo redne izmenjave je nastavljena pogostost nalaganja podatkov. Pogostost menjave je odvisna od potreb in tehničnih zmožnosti. Prav tako vam konfiguracije na platformi 1C:Enterprise omogočajo konfiguracijo izmenjave podatkov, ko pride do dogodka.

Ob upoštevanju standardnega postopka izvajanja izmenjave bodimo pozorni na dejavnike, ki bodo zahtevali izboljšave na različnih stopnjah:

  • Nestandardne, močno spremenjene konfiguracije baze podatkov;
  • Različne različice platforme 1C:Enterprise;
  • Različice konfiguracije, ki že dolgo niso bile posodobljene;
  • Predmeti menjave, ki so bili predhodno spremenjeni;
  • Potreba po nestandardnih pravilih menjave;
  • Zelo drugačen nabor in sestava podrobnosti v obstoječih referenčnih knjigah.

Ker tudi standardni ukrepi za izvajanje primarne izmenjave podatkov zahtevajo strokovno znanje, jih je priporočljivo izvajati s sodelovanjem strokovnjakov 1C. Šele po zaključku vseh zgoraj opisanih korakov lahko nadaljujete z nastavitvijo izmenjave v konfiguraciji. Oglejmo si integracijo baz podatkov na primeru 1C: UPP in 1C: Maloprodaja (izmenjava z 1C: UT je nastavljena po isti shemi). V standardno sinhronizacijo je vključena tudi izmenjava SCP - SCP, ki je značilna za obsežne sisteme avtomatizacije v največjih industrijskih podjetjih.

V podmeniju “Storitev” izberite “Izmenjava podatkov z izdelki na platformi ...” (izbira neposredne izmenjave z “Maloprodajo” pogosto povzroči napake na nivoju COM objekta). Upoštevajte servisno sporočilo »Ta funkcija ni na voljo«.


Če želite odpraviti to težavo, morate izbrati "Konfiguriraj komunikacije"


... in potrdite polje. Nato prezrite sporočilo o napaki.


V nastavitvah sinhronizacije podatkov izberite »Ustvari izmenjavo z »Maloprodajo«...



Preden konfigurirate nastavitve povezave prek lokalnega ali omrežnega imenika, se prepričajte, da je na disku dovolj prostora za imenik. Čeprav praviloma ne zavzame več kot 30-50 MB, lahko v izjemnih primerih zahteva do 600 MB. Zahtevani imenik lahko ustvarite neposredno iz konfiguratorja.



Pri povezovanju prek omrežnega imenika ignoriramo ponudbo za konfiguracijo povezave prek FTP naslova in elektronske pošte s klikom na “Naprej”.


V nastavitvah ročno vnesemo predpone - simbole baz (običajno BP, UPP, RO), nastavimo pravila in datum začetka nalaganja podatkov. V imenu dokumentov bo navedena predpona, ki označuje bazo podatkov, v kateri so bili ustvarjeni. Če pravila nalaganja niso urejena, bodo podatki privzeto naloženi glede na vse razpoložljive parametre.



Datoteko z nastavitvami izmenjave ustvarimo za »Maloprodajo«, da ne ponavljamo naših dejanj. Če morate podatke poslati takoj po nastavitvi sinhronizacije, potrdite polje.


Če želite avtomatizirati postopek izmenjave, morate nastaviti urnik.


Meni "Maloprodaja".


Potrdite polje in izberite »Sinhronizacija«.


Izvedemo "obratno" nastavitev z izbiro Production Enterprise Management.




Naložite datoteko z nastavitvami, ustvarjeno v UPP.


Postavimo kljukico, sistem samodejno pobere naslov.





Ravnamo enako kot v UPP.









Primerjava podatkov o preverjanju (priporočljivo je, da se v pripravljalni fazi izvede ročna primerjava podatkov, saj lahko to delo postane najbolj delovno intenzivno v procesu izvajanja izmenjave). Primerjalno okno se odpre z dvojnim klikom miške.



V primeru napake pri sinhronizaciji bo »Podrobnosti ...« zamenjano z »Nikoli ...«.


“Podrobnosti...” odpre dnevnik s posodobljenimi podatki o menjalnici.


pripravljena