Izgled i karakteristike korištenja univerzalne razmjene podataka. Razmjena kroz univerzalni format 1c promijeniti pravila za razmjenu kroz univerzalni format

18.08.2023

U ovom članku ću opisati svoje, do sada malo iskustvo u organizaciji razmjene podataka univerzalni format EnterpriseData.

U mom slučaju, razmjena je konfigurisana između konfiguracija “Upravljanje trgovinom 11.2” (u daljem tekstu UT) i “Enterprise Accounting 3.0.43” (u daljem tekstu BP). Razmjena je jednosmjerna, od UT do BP. Prije nadogradnje Trade Management 11.1 na 11.2, razmjena podataka je konfigurirana korištenjem konfiguracije Data Conversion 2.0. Međutim, nakon prelaska na “11.2”, pojavile su se greške u “Upravljanje trgovinom” za korisnike. Provedena je procedura ažuriranja pravila razmjene, ali nije dala nikakve rezultate. Debager je pokazao da je problem u razmjeni podataka. Odlučeno je ukloniti postavku razmjene podataka u obje konfiguracije i ponovo je konfigurirati.

I „Upravljanje trgovinom“ i „Računovodstvo preduzeća“ rade u verziji klijent-server. Počeo sam da podešavam sinhronizaciju sa UT. Izveo sam to na način da su podaci iz UT-a učitani u datoteku. Odnosno, sinhronizacija preko mrežnog imenika. U BP-u sam konfigurirao razmjenu na takav način da se podaci ne preuzimaju sa BP-a.

Greška pri pozivanju metode konteksta (Provjeri): greška pri provjeravanju podataka XDTO:
Struktura objekta "/Counterparty Bank Account/Bank" ne odgovara tipu: (http://v8.1c.ru/edi/edi_stnd/EnterpriseData/1.1)KeyPropertiesBank
Provjera svojstva "BIK":
oblik: Element
naziv: (http://v8.1c.ru/edi/edi_stnd/EnterpriseData/1.1)BIK
tip:
Nedostaje potrebna imovina
Predmet: Ugovor sa drugom stranom br....

Da analiziram grešku, kliknuo sam na ikonicu „Sastav poslanih podataka“ i na listi ugovorenih ugovora registrovanih za slanje našao sam ugovor za koji se greška pojavila. Otvorio sam ugovor i zapamtio bankovni račun druge strane koji je naveden u ugovoru. Zatim sam prešao na bankovne račune registrovane za otpremu. Ispostavilo se da traženi račun nije na listi registrovanih. Popravio sam problematični bankovni račun i ugovor. Nakon toga sam ručno registrovao traženi bankovni račun.

Pokušao sam ponovo da sinhronizujem podatke sa UT. Ovaj put podaci su uspješno učitani. IN mrežni folder formirana XML fajl, koji sadrži podatke koji se prenose sa UT na BP.

Sljedeći korak je učitavanje podataka iz datoteke u odjel računovodstva poduzeća. U konfiguraciji "Enterprise Accounting", kliknuo sam na dugme "Sinhroniziraj", otvorio se obrazac za obradu s porukom "Analiza podataka je u toku". Nešto kasnije poruka se promijenila u "Učitavanje podataka je u toku." Istovremeno, indikator i brojač su pokazali da se više od 80 hiljada objekata istovaruje iz jedinice za napajanje. To me je zbunilo, jer sam u postavkama naznačio da se ništa ne smije isprazniti iz napajanja. Obrada je trajala dosta vremena i završila se greškom:

Događaj: Razmjena podataka
(GeneralModule.Long-runningOperations.Module(371)): Proces pozadinskog posla radnika prekinut je nenormalno
RaiseException(ErrorText);

Da bih lokalizirao grešku, pokušao sam promijeniti postavke sinhronizacije i opcije rada baze napajanja. Kao rezultat toga, kada sam prenio bazu podataka na verzija datoteke, sistem je radio adekvatno: otvoren obrazac za poređenje dvije baze podataka. Nakon uparivanja objekata, početna sinhronizacija je bila uspješna. Zatim sam ponovo prebacio bazu podataka na verziju klijent-server.

Daljnjim testiranjem sinhronizacije bilo je potrebno napraviti neke izmjene u pravilima za konverziju objekata. Vrijeme je da koristite konfiguraciju Data Conversion 3.0. Ugrađena pomoć za konfiguraciju opisuje radnu proceduru. Članci na web stranici ITS-a su također pomogli.

Kao rezultat toga, učitao sam sljedeće podatke u "Konverzija podataka 3.0":

  • Tekstovi opšteg modula "Menadžer razmene podataka kroz univerzalni format" iz dve baze podataka
  • Raspored obje baze
  • Opis formata EnterpriseData (iz bilo koje baze podataka)
  • Pravila konverzije

Nakon preuzimanja, otvorio sam pravila za pretvaranje podataka, objekata i svojstava u “Konverzija podataka 3.0”. Napravio sam promjene koje su mi bile potrebne. Zatim sam koristio dugme "Unload exchange manager modul". Tekst modula je kopiran u međuspremnik. Ostaje samo da ga umetnete u konfiguraciju.

Eksperimentirajući sa postavljanjem pravila u "Data Conversion 3.0", za sebe sam zaključio da je u slučaju kada su promjene beznačajne lakše postaviti pravila direktno u UT i BP konfiguracijama, u općem modulu "Upravitelj razmjene podataka kroz univerzalni format". Ako su izmjene ozbiljne, kao što je, na primjer, dodavanje novog objekta u razmjenu, tada biste trebali koristiti konfiguraciju " Konverzija podataka 3.0".

Izvršio sam zadatak dodavanja dokumenta "Narudžba dobavljaču" u plan zamjene koristeći " Konverzija podataka 3.0". U standardnoj verziji UT - BP, ovaj dokument nije uključen u plan razmjene.

Podsjetimo da su pravila za registraciju objekata za upload još uvijek konfigurirana u konfiguraciji "Konverzija podataka 2.0".

Ovo su prvi utisci o sinhronizaciji podataka kroz univerzalni EnterpriseData format.

P.S. Ako imate pitanja ili svoja zapažanja o razmjeni podataka putem univerzalnog formata i konfiguracija" Konverzija podataka 3.0", napišite u komentarima. Razmijenićemo iskustva.

  • Sinhronizacija podataka
  • Universal EntepriseData Format
  • Konverzija podataka 3.0
  • Konverzija podataka 2.0
  • Upravljanje trgovinom
  • Računovodstvo preduzeća

Ispis (Ctrl+P)

Razmjena putem univerzalnog formata

Podsistem “Razmjena podataka” biblioteke standardnih podsistema sadrži 4 opcije (tehnologije) za razmjenu informacija između različitih informacionih baza:

  • distribuirano informacione baze(RIB);
  • razmjena podataka kroz univerzalni format;
  • razmjena podataka prema pravilima razmjene (pravila razmjene se kreiraju korištenjem konfiguracije „Konverzija podataka“, izdanje 2.1);
  • razmjena podataka bez pravila razmjene.

Ovaj članak govori o tehnologiji razmjene podataka putem univerzalni format EnterpriseData. Ova tehnologija dostupno u “Standard Subsystems Library” počevši od verzije 2.3.1.62. objavljen početkom 2016. Trenutno, najnovije izdanje BSP 2.3 (za korištenje sa platformom 1C:Enterprise 8.3 ne nižom od verzije 8.3.8.1652 sa onemogućenim načinom kompatibilnosti) ima izdanje 2.3.6.17.

Rice. 1 Najnovija izdanja BSP 2.3

Među datotekama za isporuku 1C aplikativnih rješenja nalazi se tekstualna datoteka „Verzije biblioteke“, u kojoj je napisano na osnovu koje verzije BSP-a je aplikacija razvijena, na primjer, na osnovu aplikativnog rješenja UT 11.3.3.231, Zasnovan je BSP 2.3.5.65.

Imajte na umu da za korištenje s verzijom platforme 1C:Enterprise 8.3 nije niža 8.3.10.2168 izdanje je objavljeno sa onemogućenim načinom kompatibilnosti BSP 2.4.

Opis formata EnterpriseData

Šta je format EnterpriseData?

Ovo je format koji vam omogućava da opišete objekt baze podataka (druga strana, faktura, itd.) ili prijavite činjenicu da je ovaj objekt obrisan. Očekuje se da će konfiguracija koja prima datoteku u EnterpriseData formatu reagirati u skladu s tim – kreirat će nove objekte i izbrisati one koji su u datoteci označeni kao izbrisani. Namijenjen je za razmjenu informacija između UT, RT, UNF, BP konfiguracija. Format se također može koristiti za razmjenu informacija sa bilo kojim drugim informacioni sistemi: ne zavisi od sopstvenih karakteristika softver ili strukture baze podataka koje učestvuju u razmjeni i ne sadrže eksplicitna ograničenja upotrebe.

Verzija formata EnterpriseData

Podaci o formatu se pohranjuju u XDTO paketima u granama opće konfiguracije baze podataka, kao što je prikazano na Sl. 2

Slika 2 XDTO – paketi formata podataka EnterpriseData

Na sl. 2 pokazuje da postoji nekoliko XDTO paketa. Ovo su različite verzije formata. Broj verzije formata sastoji se od X.Y.Z, gdje je X.Y verzija, Z je manja verzija. Minor verzija je povećana u slučaju ispravki grešaka i drugih promjena u kojima je: funkcionalnost logike konverzije podataka zasnovana na prethodna verzija formatu (čuvanje kompatibilnost unatrag trenutni algoritmi za prenos podataka kroz format); Podrška za nove mogućnosti formata za logiku konverzije je dobrovoljna. Primjer takvih promjena može biti ispravljanje greške, promjena svojstava objekata formata, dodavanje svojstava čija upotreba nije obavezna prilikom konvertiranja podataka. U drugim slučajevima, kada se format promijeni, Major verzija se povećava: X – u slučaju globalnog restrukturiranja, Y – u drugim slučajevima.
Format opisuje reprezentaciju objekata (dokumenata ili elemenata direktorija) u obliku XML datoteka. Verzija 1.0.1 sadrži opis 94 objekta iz različitih oblasti (finansije, proizvodnja, nabavka i prodaja, skladištenje). Nazivi tipova su, po pravilu, dobro razumljivi i nisu potrebna dodatna objašnjenja: na primjer, „Dokument.Akt o završenom poslu” ili „Imenik.Counterparties”. Kao što vidite, opis tipova dokumenata počinje prefiksom „Dokumentarni.“, a element direktorijuma počinje prefiksom „Direktorijum.“. Detaljniji opis formata možete pronaći
Najnovija verzija je 1.3, međutim, najčešće korištena verzija je 1.0. Nema velike razlike između verzija. Format EnterpriseDataExchange_1_0_1_1 koristi se prilikom razmjene putem web servisa.
Zapiši to da se paket formata podataka EnterpriseData koristi zajedno sa ExchangeMessage prilikom kreiranja pravila konverzije. Ovaj paket sadrži objekt tipa Dodatne informacijekoji može imati bilo koji tip vrijednosti i koristi se prilikom kreiranja pravila konverzije između konfiguracijskih objekata. koji nisu u formatu podataka. Tačno, hvala Dodatne informacijeMožete prilagoditi i prilagoditi pravila razmjene bez promjene formata podataka u XDTO paketima.


Rice. 3 Struktura paketa XDTOExchangeMessage

Kako razmjenjivati ​​podatke u EnterpriseData formatu?

Razmjena podataka u EnterpriseData formatu sa konfiguracijom je razmjena datoteka. Kao odgovor na primljeno od eksterna aplikacija konfiguraciona datoteka će je obraditi i kreirati datoteku odgovora. Fajlovi se mogu razmjenjivati:

  • preko namjenskog direktorija datoteka,
  • preko FTP direktorija,
  • putem web servisa koji je raspoređen na strani infobaze. Datoteka podataka se prosljeđuje kao parametar web metodama.

Bilješka. Za dvosmjernu razmjenu podataka između aplikacije treće strane i konfiguracije na strani infobaze potrebno je izvršiti niz postavki - aplikacija treće strane mora biti registrirana u infobazi, za nju mora biti definiran kanal razmjene (preko fajl ili FTP direktorijum) itd. Ali za slučajeve jednostavne integracije, kada je dovoljno samo prenijeti informacije iz aplikacije treće strane u infobazu i obrnuti prijenos podataka iz infobaze u aplikaciju treće strane nije potreban (na primjer, integracija online trgovine koji prenosi informacije o prodaji u 1C: Računovodstvo), postoji pojednostavljena verzija rada putem web usluge koja ne zahtijeva podešavanja sa strane.

Prilikom razmjene koristeći planove za razmjenu konfiguracija tokom sinhronizacije, prenose se samo informacije o promjenama koje su se dogodile od posljednje sinhronizacije (da bi se smanjila količina prenesenih informacija). Prilikom prve sinhronizacije, konfiguracija će izvući sve objekte formatirane EnterpriseData u XML datoteku (pošto su svi „novi” za aplikaciju treće strane).

Sljedeći korak je za aplikaciju treće strane - ona mora obraditi informacije iz XML datoteke i smjestiti ih u odjeljak tokom sljedeće sesije sinhronizacije informacija da je poruka iz konfiguracije sa određenim brojem uspješno primljena (broj poruke primljene iz konfiguracije stavite u polje ReceivedNo). Poruka o prijemu signal je konfiguraciji da su svi objekti uspješno obrađeni od strane vanjske aplikacije i da više nema potrebe za prijenosom informacija o njima. Osim računa, XML datoteka iz aplikacije treće strane može sadržavati i podatke za sinhronizaciju (u odjeljku ).

Nakon prijema poruke o prijemu, konfiguracija označava sve promjene poslane u prethodnoj poruci kao uspješno sinhronizirane. Samo nesinhronizovane promene objekata (kreiranje novih, promena i brisanje postojećih) biće poslate spoljnoj aplikaciji tokom sledeće sesije sinhronizacije.

Prilikom prijenosa podataka iz vanjske aplikacije u konfiguraciju, slika je obrnuta. Prijava mora popuniti odjeljak shodno tome iu odjeljku postavite objekte koji će se sinkronizirati u EnterpriseData formatu.

Nakon obrade datoteke, konfiguracija će generirati XML datoteku koja će sadržavati poruku o prijemu i nove podatke za sinhronizaciju sa strane konfiguracije (ako ih ima od posljednje sesije sinhronizacije).

Više detalja o razmjeni podataka sa aplikativnim rješenjima možete vidjeti na platformi 1C:Enterprise u formatu EnterpriseData

Opšti modul „menadžer razmene kroz univerzalni format“.

Procedure i funkcije koje u potpunosti opisuju pravila preuzimanja podataka iz informacione baze u format za razmjenu i pravila za učitavanje podataka iz formata za razmjenu u informacijsku bazu razvijene su u zajedničkom modulu - modulu menadžera razmjene kroz univerzalni format.


Rice. 4 Struktura modula menadžera razmene kroz univerzalni format

Modul se kreira automatski koristeći konfiguraciju „Konverzija podataka“, izdanje 3.0, na osnovu konfigurisanih pravila razmene, ili ručno u konfiguratoru.

Modul se sastoji od nekoliko velikih sekcija, od kojih svaka sadrži svoju grupu procedura i funkcija.

  1. Komentar. Prvi red modula sadrži komentar sa nazivom konverzije. Ova linija je neophodna za identifikaciju modula kada se koristi naredba u programu za konverziju podataka, izdanje 3.0, na primjer. // Pretvorba UP2.2.3 od 06.01.2017. 19:51:50
  2. Procedure konverzije. Sadrži unaprijed definirane procedure koje se izvode u različitim fazama sinhronizacije podataka: prije konverzije, nakon konverzije, prije odgođenog popunjavanja.
  3. Pravila obrade podataka (DPR). Sadrži procedure i funkcije koje opisuju pravila za obradu podataka.
  4. Pravila konverzije objekata (OCR). Sadrži procedure i funkcije koje opisuju pravila za pretvaranje objekata, kao i pravila za pretvaranje svojstava ovih objekata.
  5. Predefinirana pravila konverzije podataka (PDC). Sadrži proceduru koja ispunjava pravila za pretvaranje unaprijed definiranih podataka.
  6. Algoritmi. Sadrži proizvoljne algoritme koji se pozivaju iz drugih pravila (POD ili PKO).
  7. Opcije. Sadrži logiku za popunjavanje parametara konverzije.
  8. Opće namjene. Sadrži procedure i funkcije koje se široko koriste u pravilima i algoritmima.

U nastavku su opisani parametri procedura i funkcija koje se koriste u nekoliko vrsta procedura u modulu menadžera.

Exchange Components. Tip - Struktura. Sadrži parametre i pravila razmjene inicijalizirana kao dio sesije razmjene.

Smjer razmjene. Vrsta – String. Ili "Pošalji" ili "Primi".

IB podaci. Tip – DirectoryObject ili DocumentObject.

Procedure vezane za događaje konverzije

Postoje tri unapred definisane procedure koje se pozivaju tokom procesa konverzije:

  • Prije konverzije. Poziva se prije sinhronizacije podataka. Ova rutina obično sadrži logiku za inicijalizaciju različitih parametara konverzije, popunjavanje zadanih vrijednosti, itd. Parametri: ComponentsExchange.
  • AfterConversion. Poziva se nakon što je sinhronizacija podataka završena, ali prije nego što je došlo do lijenog dodavanja. Opcije: ComponentsExchange.
  • BeforeDelayedFilling. Poziva se prije nego što dođe do lijenog punjenja. Logika za sortiranje ili prilagođavanje tablice objekata podložnih lijenom popunjavanju može se naći ovdje. Opcije: ComponentsExchange.

AML procedure

Popunite Pravila obrade podataka. Procedura izvoza koja sadrži logiku za popunjavanje pravila obrade podataka. Sadrži pozive drugim procedurama koje dodaju pravilo za obradu određenog objekta u tabelu pravila (pogledajte procedure ispod Dodajte AML). Opcije: DirectionExchange, Pravila obrade podataka

Dodaj UNDER_<ИмяПОД>. Skup procedura koje popunjavaju tabelu POD pravilima za određene objekte. Broj takvih procedura odgovara broju AML-a koji je predviđen za ovu konverziju u programu za konverziju podataka, izdanje 3.0. Opcije: Pravila obrade podataka(tabela vrijednosti inicijalizirana kao dio sesije razmjene).

POD_<ИмяПОД>_WhenProcessing. Procedura sadrži tekst rukovaoca Tokom obrade za određeni AML. Rukovalac je dizajniran da implementira logiku konverzije na nivou objekta. Na primjer, dodijelite određeni PQO određenom objektu ovisno o sadržaju objekta. Opcije:

  • Podaci B ili DataXDTO(u zavisnosti od smjera razmjene):
  • prilikom slanja – objekt ( DirectoryObject,DocumentObject);
  • po prijemu - struktura sa opisom XDTO objekta.
  • Upotreba PKO. Vrsta - Struktura. Ključ sadrži niz s imenom PCO-a i vrijednošću tipa Boolean (Istinito– koristi se PKO, Lazi– PKO se ne koristi).
  • ComponentsExchange.

POD_<ИмяПОД>_Uzorkovanje podataka. Funkcija sadrži tekst rukovaoca Prilikom istovara. Rukovalac je dizajniran da implementira proizvoljni algoritam za odabir objekata koji će biti istovareni. Povratna vrijednost: niz objekata koji se istovaruju. Niz može sadržavati i veze do objekata infobaze i strukturu sa podacima za upload. Opcije: ComponentsExchange.

PKO procedure

Popunite Pravila konverzije objekata. Procedura izvoza koja sadrži logiku za popunjavanje pravila za pretvaranje objekata. Sadrži pozive drugim procedurama koje dodaju određeno pravilo konverzije objekata u tablicu pravila (pogledajte procedure ispod Dodajte PKO). Opcije: DirectionExchange, Pravila konverzije(tabela vrijednosti inicijalizirana kao dio sesije razmjene).

AddPKO_<ИмяПКО>. Skup procedura koje popunjavaju PKO tabelu pravilima za određene objekte. Broj takvih procedura odgovara broju softverskih paketa koji su predviđeni za ovu konverziju u programu za konverziju podataka, verzija 3.0. Opcije: Pravila konverzije(tabela vrijednosti inicijalizirana kao dio sesije razmjene).

PKO_<ИмяПКО>_WhenSendingData. Procedura sadrži tekst rukovaoca Prilikom slanja za određeni PKO. Rukovalac se koristi prilikom učitavanja podataka. Dizajniran za implementaciju logike za pretvaranje podataka sadržanih u objektu infobaze u opis XDTO objekta. Opcije:

  • Podaci B. Vrsta - DirectoryObject, DocumentObject. Objekt baze podataka koji se obrađuje.
  • DataXDTO. Vrsta - Struktura. Dizajniran za pristup podacima XDTO objekata.
  • ComponentsExchange.
  • StackUploads. Vrsta - Niz. Sadrži veze do neučitanih objekata, uzimajući u obzir ugniježđenje.

PKO_<ИмяПКО>_Prilikom pretvaranja XDTO podataka. Procedura sadrži tekst rukovaoca Prilikom pretvaranja DataXDTO za određeni PKO. Rukovalac se koristi prilikom učitavanja podataka. Dizajniran za implementaciju proizvoljne logike konverzije XDTO podataka. Opcije:

  • DataXDTO. Vrsta - Struktura. XDTO svojstva objekta koja su prethodno obrađena da im se olakša pristup.
  • ReceivedData. Vrsta - DirectoryObject, DocumentObject. Objekt infobaze formiran pretvaranjem XDTO podataka. Nije evidentirano u bazi podataka.
  • ComponentsExchange.

PKO_<ИмяПКО>_Prije snimanja primljenih podataka. Procedura sadrži tekst rukovaoca Prije snimanja primljenih podataka za određeni PKO. Rukovalac se koristi prilikom učitavanja podataka. Dizajniran za implementaciju dodatne logike koja se mora izvesti prije snimanja objekta u infobazu. Na primjer, da li se promjene trebaju učitati u postojeće podatke o sigurnosti informacija ili da se učitaju kao novi podaci. Opcije:

  • ReceivedData. Vrsta - DirectoryObject, DocumentObject. Element podataka generiran pretvaranjem XDTO podataka.

Snima se ako su ovi podaci novi za infobazu (parametar Podaci B sadrži vrijednost Nedefinisano).

Inače ReceivedData zamijeniti Podaci B(sve nekretnine iz ReceivedData prebačen u Podaci B).

Ako nije potrebna standardna zamjena podataka o sigurnosti informacija primljenim podacima, trebali biste napisati vlastitu logiku prijenosa, a zatim postaviti parametar ReceivedData značenje Nedefinisano:

  • Podaci B. Vrsta - DirectoryObject, DocumentObject. Element podataka baze podataka koji odgovara primljenim podacima. Ako nisu pronađeni odgovarajući podaci, sadrži Nedefinisano.
  • ConvertingProperties. Vrsta - Tabela vrijednosti. Sadrži pravila za pretvaranje svojstava trenutnog objekta, inicijalizirana kao dio sesije razmjene.
  • ComponentsExchange.

PCPD procedure

Popunite pravila konverzije unaprijed definiranih podataka. Procedura izvoza koja sadrži logiku za popunjavanje pravila za pretvaranje unaprijed definiranih podataka. Opcije: DirectionExchange, Pravila konverzije(tabela vrijednosti inicijalizirana kao dio sesije razmjene).

Algoritmi

U programu “Konverzija podataka”, izdanje 3.0, moguće je kreirati proizvoljne algoritme koji se pozivaju iz AML i PKPD rukovalaca. Naziv, parametri i sadržaj algoritama određuju se prilikom izrade pravila.

Opcije

Popunite ConversionParameters. Procedura izvoza u kojoj se popunjava struktura sa parametrima konverzije. Opcije: Opcije konverzije(tip - Struktura).

Procedure i funkcije opće namjene

ExecuteManagerModuleProcedure. Opcije: ProcedureName(linija), Opcije(struktura). Procedura za izvoz, koja je namijenjena za pozivanje procedure modula koja nije za izvoz, čije se ime i parametri primaju kao ulaz. Omogućava vam da pozovete proceduru ili funkciju na liniji bez korištenja metode Izvrši.

ExecuteManagerModuleFunction. Opcije: ProcedureName(linija), Opcije(struktura). Funkcija, namjena slična ExecuteManagerModuleProcedure. Razlika je u tome što poziva funkciju i vraća joj vrijednost.

Šta je potrebno za automatsku razmjenu podataka, bez promjene konfiguracije:
1) Obrada "Univerzalne razmjene podataka u XML formatu", koji je dio većine tipične konfiguracije. Ako ga nema, onda ga je lako pronaći na ITS disku ili na Internetu. U konfiguraciji se zove "Universal XML Data Exchange"
2) Pravila razmjene podataka. Kreirano pomoću "Konverzije podataka". Posao koji ćete morati da savladate. Tu su i video kursevi i tutorijali. Na primjer: http://programmist1s.ru/wp-content/uploads/2013/06/Konvertatsiya_dannyih._Metodika_rabotyi_i_primeryi.pdf
3) Eksterna obrada, koji sadrži procedure utovara/istovara. Počnimo sa kreiranjem:
U objektnom modulu kreira se eksterna obrada koja će sadržavati tekst ispod (zamijenite svoje podatke za baze podataka i korisnike). Preporučljivo je kreirati posebnog korisnika sa punim pravima za razmjenu podataka. Nazovimo obradu, na primjer, "Data Exchange.epf".

Ako je LaunchParameter = "Upload" onda Processing=Processing.UniversalXMLDataExchange.Create(); //Podesite parametre potrebne za učitavanje (opciono za uređivanje) Processing.ExchangeMode="Upload"; Processing.LoadDataInExchangeMode=Tačno; Processing.WriteRegistersRecordSets = Tačno; Processing.RememberLoadedObjects=Tačno; Processing.UseSelectionByDateForAllObjects=Tačno; Processing.UploadOnlyAllowed=Tačno; //!Podesite potrebne parametre za upload //Ovi parametri se moraju ponovo napuniti OBAVEZNO //Postavite ograničenja za učitavanje prema datumima objekta Processing.StartDate = CurrentDate() - 60*60*24*2; Processing.EndDate = "00010101"; //Ako želimo učitati podatke u datoteku, postavimo ih na False Ako je istina, bit će učitani u bazu podataka koja prima Processing.DirectReadingVIBReceiver=True; //Ako je primajuća baza prenesenih podataka serverska, onda je lažno. Ako datoteka - True Processing.InformationBaseForConnectionType=Tačno; //!Potrebni parametri su ponovo popunjeni //Ako prenesemo podatke u datoteku If Not Processing.DirectReadingVIBReceiver Then Processing.ExchangeFileName = "C:\Inbox\OlegA\Conversion\upload.xml"; //Ako učitamo podatke u bazu podataka Inače Processing.PasswordInformationBaseForConnection="Admin"; Processing.ConnectionInfoBaseUser="supercool"; Processing.AuthenticationWindowsInformationBaseForConnection=False; //Ako je prijemnik podataka baza servera If Processing.ConnectionInformationBaseType = False Then Processing.ConnectionInformationBaseServerName="MainServ"; Processing.InformationBaseNameOnServerForConnection="Buhia"; //Ako je prijemnik podataka datoteka baze podataka Inače Processing.InformationBasePlatformVersionForConnection="V82"; Processing.InformationBaseDirectoryForConnection="C:\Inbox\OlegA\Clients\Zeus BP20\Zeus BP20"; endIf; endIf; //Radnje pri registraciji prilikom istovara prema planovima razmjene Processing.RegistrationDeletionTypeofChangesForExchangeNodesAfterUpload=0; // 0 - ne odjaviti se, // 1 - odjaviti Processing.LoadExchangeRules(); //AKO TREBA DA UPLOADITE PREMA PLANOVIMA RAZMJENE, ONDA UKLJUČITE OVAJ BLOK I POŠALJITE VLASTITI ČVOR PLANA RAZMJENE //Za svaku stranicu iz ciklusa Processing.UploadRulesTable.Lines //Page.Enable=1; // Za svaku stranicu 1 iz petlje linije stranice // Line1.Enable=1; // Page1.LinkToExchangeNode=ExchangePlans.Full. FindByCode("BP20"); //EndCycle; //EndCycle; Processing.Perform Upload(); ShutdownSystem(False); ElseIf LaunchParameter = "Učitaj" Zatim ExchangeProcessing = Processing.UniversalXMLDataExchange.Create(); ExchangeProcessing.ExchangeFileName = "C:\Inbox\OlegA\Upload.xml"; ExchangeProcessing.ExchangeMode = "Učitavam"; ExchangeProcessing.OpenDownloadFile(True); ProcessExchange.ArchiveFile = False; ProcessExchange.PerformLoad(); ExchangeProcessing = Nedefinisano; ShutdownSystem(False); endIf;

4) Bat file upload, koji će pokrenuti 1C i eksternu obradu sa parametrom pokretanja pod korisnikom, koji je namijenjen za razmjenu podataka. Datoteka mora biti kreirana, na primjer, u notepad++ s OEM (MS-Dos) kodiranjem, inače neće raditi. Nazovimo datoteku, na primjer, "BatVygruz.bat". Tekst će biti sljedeći:

Ako je baza podataka fajl:
"C:\Program Files (x86)\1cv82\common\1cestart.exe" ENTERPRISE /F"C:\Inbox\KBF\1Cv8_Base_8.1\Zeus 83 BP3\Zeus 83 BP3" /N"Robot za razmjenu podataka" /P "pass " /DisableStartupMessages /RunModeManagedApplication /Execute"C:\Inbox\OlegA\DataExchange.epf" /C"Upload"
Objašnjenja:

b) C:\Inbox\KBF\1Cv8_Base_8.1\Zeus 83 BP3\Zeus 83 BP3 - vaš put do baza podataka datoteka, sa kojeg ćemo preuzimati podatke
c) Robot za razmjenu podataka - Korisničko ime pod kojim 1C radi za razmjenu podataka
d) pass - korisnička lozinka
e) /DisableStartupMessages - zatvorite iskačuće prozore prilikom pokretanja 1C
e) /RunModeOrdinaryApplication - pokrenite debeli klijent u normalnom režimu
g) C:\Inbox\OlegA\Data Exchange.epf - put do naše obrade, koja će početi pri pokretanju
h) Upload - prosljeđujemo parametar pokretanja 1C, on nam govori da moramo učitati podatke

Ako je baza podataka bazirana na serveru:
"C:\Program Files (x86)\1cv82\common\1cestart.exe" ENTERPRISE /S"Server1C/Baza podataka" /N"Robot za razmjenu podataka" /P"pass" /DisableStartupMessages /RunModeManagedApplication /Execute\"C:\Inbox Oleg\ Data Exchange.epf" /C"Upload"
Objašnjenja:
a) C:\Program Files (x86)\1cv82\common\1cestart.exe - vaš put do 1C startera
b) Server1C/DataBase - vaš server na kojem se nalazi baza podataka i naziv same baze podataka sa koje prenosimo podatke.
Preostali parametri su slični verziji datoteke bat datoteke

5) Preuzimanje Bat fajla (ako je potrebno). Ako odlučite učitati podatke u datoteku, a ne direktno u bazu podataka. Tada će nam trebati i ova stavka (obično neophodna).
Kreiranje Bat download fajla je slično kao i upload fajl, ali samo je parametar pokretanja drugačiji, umesto "Upload" stavljamo "Preuzmi"

6) Postavite raspored pokretanja učitavanje/učitavanje naših Bat fajlova na server. Da biste to učinili, morate otići u administraciju kontrolne ploče na serveru i u planeru zadataka kreirati novi zadatak za pokretanje datoteke za preuzimanje u 23 sata svakog dana i zadatak preuzimanja koji navodi datoteku za preuzimanje Bat (ako potrebno) u 04 sata na primjer.

Automatizovani sistemi U većini slučajeva sistemi upravljanja se sastoje od zasebnih baza podataka i često imaju geografski raspoređenu strukturu. Istovremeno, pravilno sprovedena razmena podataka je neophodan uslov za efikasan rad ovakvih sistema.

Početno postavljanje berze može zahtevati niz radnji, ne samo u smislu programiranja, već i konsaltinga, čak i ako imamo posla sa homogenim izvorima, kao što je slučaj sa proizvodima na platformi 1C:Enterprise. Zašto postavljanje 1C razmjene (ili, kako se još naziva, sinkronizacija podataka u 1C 8.3) može postati najskuplji i dugotrajniji zadatak projekta integracije, razmotrit ćemo u ovom članku.

Razmjena podataka u 1C okruženju omogućava vam:

  • Eliminisati dvostruki unos dokumenata;
  • Automatizirati povezane poslovne procese;
  • Optimizirajte interakciju između distribuiranih odjela;
  • Ažurno ažurirati podatke za rad stručnjaka iz različitih odjela;
  • "Razgraničenje" različite vrste računovodstvo.*

*U slučajevima kada se podaci jedne vrste računovodstva značajno razlikuju od druge, potrebno je osigurati povjerljivost informacija i „razgraničiti“ tokovi informacija. Na primjer, razmjena podataka između 1C UT i 1C Accounting ne zahtijeva učitavanje upravljačkih podataka u regulatornu računovodstvenu bazu podataka, tj. sinhronizacija u 1C ovdje će biti nepotpuna.

Ako zamislimo standardni proces implementacije primarne razmjene podataka, kada je barem jedan od njegovih objekata 1C proizvod, onda možemo razlikovati sljedeće faze:

  • Koordinacija sastava razmjene;
  • Definicija transporta (protokoli razmjene);
  • Postavljanje pravila;
  • Planiranje.

Identifikacija sastava 1C razmjene

Objekti razmjene mogu se podijeliti na “izvor” i “primalac”. Istovremeno mogu obavljati dvije uloge u isto vrijeme, što će se zvati dvosmjerna razmjena. Izvor i odredište se određuju logično ovisno o potrebi ili funkcionalnost sistemi.*

*Na primjer, kod integracije “WA: Financier” - rješenja za održavanje finansijsko računovodstvo i upravljanje trezorskim procesima, razvijenim na bazi 1C:Enterprise, stručnjaci WiseAdvice ga preporučuju kao master sistem. To je zbog dostupnosti kontrolnih alata za usklađivanje s pravilima politike aplikacije i, shodno tome, kako bi se osigurala učinkovitost rješenja.

Zatim se na osnovu primljenih i evidentiranih zahtjeva korisnika kreira lista podataka za razmjenu, utvrđuje njen obim, zahtjevi za učestalost razmjene i propisuje proces rada sa greškama i postupanja u vanrednim situacijama (kolizijama).

U istoj fazi, u zavisnosti od flote postojećih sistema i strukture preduzeća, određuje se format razmene:

Distribuirana baza podataka

  • RIB podrazumijeva razmjenu između identičnih 1C konfiguracija baze podataka, sa jasnom kontrolnom strukturom “master-slave” za svaki par razmjene. Kao element tehnološke platforme, RIB, osim podataka, može prenositi promjene konfiguracije i administrativne informacije baze podataka (ali samo od master-a do slave-a).

Univerzalna razmjena podataka u 1C

  • Mehanizam koji vam omogućava da konfigurišete razmenu 1C baza podataka, kako sa konfiguracijama na platformi 1C:Enterprise tako i sa sistemima trećih strana. Razmjena se vrši prijenosom podataka u univerzalni xml format u skladu sa „Planovima razmjene“.

EnterpriseData

  • Najnoviji razvoj 1C, dizajniran za implementaciju razmjene podataka u xml formatu između proizvoda kreiranih na platformi 1C:Enterprise sa bilo kojim sustavom automatizacije. Upotreba EnterpriseData pojednostavljuje modifikacije povezane sa razmjenom. Ranije, kada je nova konfiguracija uključena u sistem, bilo je potrebno implementirati mehanizam za uvoz i izvoz podataka, kako za njega tako i za postojeće sisteme. Sada sistemi koji podržavaju EnterpriseData ne trebaju nikakve modifikacije, jer imaju samo jednu ulazno-izlaznu tačku.

Definicija transporta (protokoli razmjene)

Sistem na platformi 1C:Enterprise 8 pruža širok spektar mogućnosti za organizovanje razmene sa bilo kojim informacionih resursa putem općeprihvaćenih univerzalnih standarda (xml, tekstualni fajlovi, Excel, ADO veza, itd.). Stoga, prilikom određivanja transporta za razmjenu podataka, trebali biste se osloniti na mogućnosti baze podataka sistema treće strane.

Sinhronizacija imenika

Osnovni princip efikasne sinhronizacije imenika je prisustvo jedne ulazne tačke. Ali ako govorimo o radu sa direktorijumima koji su se kroz istoriju popunjavali po različitim pravilima, potrebno je jasno definisati polja za sinhronizaciju kako bi se razmena dovela do „zajedničkog nazivnika“.*

*U ovoj fazi, možda će biti potrebno izvršiti rad na normalizaciji referentnih podataka na strani izvora podataka. U zavisnosti od stanja imenika i njihovog obima, proces poređenja elemenata, prepoznavanja, identifikacije grešaka i duplikata, kao i popunjavanje nedostajućih polja i dodeljivanje polja za sinhronizaciju, može zahtevati rad čitave grupe stručnjaka, kako na dio integratora (vlasnik tehnike normalizacije master podataka) i sa strane korisnika.

Postavljanje pravila

Mogućnost prikaza podataka iz izvornih sistema u prijemnicima zavisi od ispravno definisanih pravila razmene. Pravila, predstavljena u xml formatu, regulišu korespondenciju ključnih detalja objekata izvor-primalac. Rješenje 1C:Data Conversion je dizajnirano da automatizira kreiranje pravila za implementaciju jednokratnih i stalnih razmjena.

Garantuje da nema gubitka podataka tokom plana razmene. Ovo je sastavni dio bilo koje konfiguracije na platformi 1C:Enterprise, koja u potpunosti opisuje postupak 1C razmjene: sastav podataka (dokumenti sa „identifikujućim“ detaljima) i čvorovi (baze informacija prijemnik-predajnik), kao i aktiviranje RIB-a za odabrani pravci razmene.

Svaka promjena podataka unesenih u Plan razmjene se evidentira i dobija znak „promijenjeno“. Dok se promijenjeni podaci ne poklapaju jedni s drugima u čvorovima prijemnik-predajnik, znak se neće resetirati, a sistem će poslati kontrolne poruke na oba čvora. Nakon učitavanja podataka i potvrde njihove potpune usklađenosti u oba sistema, znak se resetuje.

Raspored razmjene u 1C

Za automatizaciju redovne razmjene, podešena je učestalost slanja podataka. Učestalost razmene zavisi od potreba i tehničkih mogućnosti. Također, konfiguracije na platformi 1C:Enterprise omogućavaju vam da konfigurirate razmjenu podataka kada dođe do nekog događaja.

Uzimajući u obzir standardni proces implementacije razmjene, obratimo pažnju na faktore koji će zahtijevati poboljšanja u različitim fazama:

  • Nestandardne, visoko modificirane konfiguracije baze podataka;
  • Različite verzije platforme "1C:Enterprise";
  • Nije ažurirano dugo vremena, ne trenutne verzije konfiguracije;
  • Predmeti razmjene koji su prethodno prošli modifikacije;
  • Potreba za nestandardnim pravilima razmjene;
  • Veoma drugačiji skup i sastav detalja u postojećim referencama.

Budući da čak i standardne radnje za implementaciju primarne razmjene podataka zahtijevaju stručno znanje, preporučuje se da se izvode uz sudjelovanje stručnjaka 1C. Tek nakon dovršetka svih gore opisanih koraka treba da pređete na postavljanje centrale u konfiguraciji. Pogledajmo integraciju baza podataka na primjeru 1C:UPP i 1C:Retail (razmjena sa 1C:UT se postavlja po istoj shemi). U standardnu ​​sinhronizaciju uključena je i SCP - SCP razmjena, koja je tipična za velike sisteme automatizacije u najvećim industrijskim preduzećima.

U podmeniju „Usluga“ izaberite „Razmjena podataka sa proizvodima na platformi...“ (odabirom direktne razmjene sa „Maloprodajom“ često dolazi do grešaka na nivou COM objekata). Obratite pažnju na servisnu poruku "Ova funkcija nije dostupna."


Da biste riješili ovaj problem, morate odabrati "Konfiguriraj komunikaciju"


...i označite polje. Zatim zanemarite poruku o grešci.


U postavkama sinhronizacije podataka odaberite “Kreiraj razmjenu sa “Maloprodajom”...



Prije konfiguriranja postavki veze putem lokalnog ili mrežnog direktorija, trebali biste provjeriti ima li prostora na disku za direktorij. Iako u pravilu ne zauzima više od 30-50 MB, u izuzetnim slučajevima može zahtijevati i do 600 MB. Možete kreirati potreban direktorij direktno iz konfiguratora.



Kada se povezujete preko mrežnog direktorija, od vas se traži da konfigurirate vezu koristeći FTP adresu i e-mail zanemarite klikom na “Dalje”.


U postavkama ručno unosimo prefikse - simboli baze podataka (obično BP, UPP, RO), postavljamo pravila i datum početka preuzimanja podataka. Prefiks će biti naznačen u nazivu dokumenata kako bi se označila baza podataka u kojoj su kreirani. Ako se pravila za otpremanje ne uređuju, podaci će biti postavljeni prema zadanim postavkama prema svim dostupnim parametrima.



Kreiramo datoteku postavki razmjene za "Maloprodaju" kako ne bismo ponavljali naše radnje. Ako trebate odmah poslati podatke odmah nakon podešavanja sinhronizacije, označite polje.


Da biste automatizirali proces razmjene, potrebno je postaviti raspored.


Meni "Maloprodaja".


Označite okvir i odaberite "Sinhronizacija".


Izvodimo „obrnutu“ postavku odabirom Upravljanje proizvodnim poduzećem.




Učitajte datoteku postavki kreiranu u UPP-u.


Stavimo kvačicu, sistem automatski preuzima adresu.





Ponašamo se na isti način kao u UPP-u.









Poređenje podataka verifikacije (Ručno poređenje podataka se preporučuje da se uradi u pripremnoj fazi, jer ovaj posao može postati radno najintenzivniji u procesu implementacije razmjene). Dvostrukim klikom miša otvara se prozor za poređenje.



U slučaju greške u sinhronizaciji, “Detalji...” će biti zamijenjeno sa “Nikad...”.


“Detalji...” otvara dnevnik sa ažuriranim informacijama o razmjeni.


Spreman.

Često u radu velikih preduzeća i maloprodajnih lanaca postoji potreba za razmjenom podataka između baza podataka. Svaki programer i administrator rješava ovaj problem drugačije. Neki pišu upload-ove i preuzimanja kroz datoteke međutabele, drugi koriste način rada COM veze za povezivanje na izvornu bazu. Međutim, u U poslednje vreme Vlastiti mehanizam 1C pod nazivom „Univerzalna razmjena podataka u XML formatu“ postaje sve popularniji.

Izgled obrade

U punom interfejsu možete otvoriti obradu u Servis->Ostale razmjene podataka->Univerzalna razmjena podataka u XML formatu.

Obrazac za obradu (slika 1) sadrži četiri kartice:

  • Dodatne postavke;
  • Brisanje podataka.
  • Interfejs svakog od obeleživača je jako opterećen elementima i stoga zahteva odvojeno razmatranje.

    Učitavanje podataka

    Na samom vrhu kartice nalazi se polje za odabir datoteke s pravilima razmjene. Za nestandardne baze podataka i razmjene, morat ćete sami kreirati datoteku za razmjenu.

    U sljedećem redu obrasca nalaze se dva radio gumba:

    1. Učitavanje u datoteku za razmjenu (slika 2);
    2. Povezivanje i učitavanje podataka u informacijsku sigurnost (Sl. 3).

    Kao što možete vidjeti iz gornjih slika, razlikuje se ovisno o prekidaču. izgled forme. Ako je odabrana opcija dijeljenja datoteka, od korisnika se traži da odabere lokaciju datoteke na koju će biti postavljena i mogućnost komprimiranja radi uštede prostora i zaštite lozinkom.

    Opcija direktnog povezivanja sa prijemnom bazom podržava i fajl i klijent-server način rada. U tom slučaju, moraćete da unesete adresu baze podataka i popunite polja „Korisnik“ i „Lozinka“. Prije nego počnete s razmjenom podataka, preporučljivo je da testirate vezu.

    Tablični dio koji se nalazi ispod omogućava vam da konfigurišete odabire i druge parametre za istovar.

    Za otklanjanje grešaka u algoritmima i ispravljanje grešaka, možete koristiti mehanizam ugrađen u obradu razmjene. Aktivira se tako što se označi odgovarajući kvadratić na dnu obrasca. Klikom na dugme “Debugging settings…” otvara se prozor (slika 4).

    Fig.4

    Posebnost ovog obrasca je informativna pomoć na lijevoj strani izgleda, koja opisuje svaki od tri moguća načina otklanjanja grešaka. Kao fajl eksterna obrada Uz modul se može koristiti bilo koja datoteka u epf formatu.

    Klikom na dugme „Završi“ provjerava se ispravnost i potpunost popunjenih podataka.

    Za razliku od “Upload”, ova kartica (slika 5) nema tabelarni dio, ali ima mnogo više checkbox-a koji vam omogućavaju podešavanje parametara za snimanje novih i izmijenjenih objekata.

    Fig.5

    Prije svega, trebate odabrati datoteku koja će služiti kao izvor informacija. Ovo se može uraditi u polju za unos „Ime datoteke za otpremanje“. Ako su podaci učitani u arhivu zaštićenu lozinkom, potrebno ih je unijeti u odgovarajuće polje.

    Odgovarajući potvrdni okviri vam omogućavaju da konfigurirate:

    • Transakcija prilikom pisanja objekata (ovo ponekad ubrzava proces);
    • Učitavanje podataka u režimu razmene (u ovom slučaju, sve provere platforme, izuzev provere prilikom slanja dokumenata, biće zanemarene prilikom snimanja);
    • Prepisivanje promijenjenih elemenata;
    • Postavljanje oznake za brisanje preuzetih stavki;
    • Način upisivanja novih podataka u registar (jedan po jedan ili u skupu);
    • Sjecanje beznačajnih znakova (razmaka i tabulatora) za vrijednosti stringova.

    Dodatne postavke

    Kao što naziv oznake implicira, sadrži alate, čija upotreba vam omogućava da preciznije prilagodite proces razmjene. posebno:

    1. Omogućuje način otklanjanja grešaka;
    2. Omogućava korištenje transakcije tokom procesa istovara;
    3. Optimizira razmjenu između baza podataka verzije 8 1C;
    4. Učitajte samo one objekte koji su dozvoljeni za korištenje od strane trenutnog korisnika;
    5. Omogućite evidentiranje procesa razmjene između baza podataka.

    Ove i neke druge funkcije su omogućene označavanjem odgovarajućih kvadratića na obrascu (slika 6).

    Fig.6

    Brisanje podataka

    Ovu karticu koriste samo programeri u načinu za otklanjanje grešaka. Omogućava vam da uklonite nepotrebne objekte iz baze podataka.

    Ukratko o postavljanju pravila razmjene

    Upotreba standardnog rukovaoca uveliko pojednostavljuje život programerima. Istovremeno, jedan od najtežih trenutaka za nekoga ko se prvi put susreo sa „univerzalnom razmjenom podataka u XML formatu“ je pitanje: „Gdje mogu dobiti datoteku s pravilima razmjene?“

    Prije svega, da biste samostalno kreirali pravila razmjene, potrebna vam je posebna konfiguracija pod nazivom "Konverzija podataka". Sadrži nekoliko zanimljivih datoteka koje vam omogućavaju da konfigurirate gotovo svaku razmjenu između različitih 1C baza podataka 7 i 8 verzija:

    1. epf – potreban za preuzimanje strukture metapodataka za 1C 8 baze podataka;
    2. epf – ako je konfiguracija 1C 8 sama pisana ili nije standardna, možda neće imati obradu „Universal Data Exchange“, ova datoteka je ova obrada;
    3. ert – datoteka sadrži kod za preuzimanje strukture metapodataka konfiguracija 1C verzije 7.7;
    4. ert – datoteka za obradu podataka za upload i preuzimanje za sedam.

    Nakon pokretanja odgovarajuće obrade, potrebno je rasteretiti strukture metapodataka za izvornu i odredišnu bazu podataka. Zatim, u konfiguraciji “Konverzija”, trebate unijeti informacije o izvornoj i odredišnoj konfiguraciji u direktorij “Konfiguracije”.

    Zatim se kreira element u direktoriju Conversion koji sadrži informacije o smjeru razmjene podataka. Možete postaviti Exchange pravila za to.