Pravila prijenosa podataka 1c. Primjer pravila za pretvaranje objekata. Mogućnosti kupnje migracije podataka

Migracija podataka između različitih konfiguracija nije trivijalan zadatak. Kao i uvijek, postoji nekoliko načina rješavanja, ali nisu svi optimalni. Pokušajmo razumjeti nijanse prijenosa podataka i odabrati univerzalnu strategiju za rješavanje takvih problema.

Problem migracije podataka (posebno govorimo o 1C proizvodima) s jednog rješenja na drugo nije se pojavio jučer. Tvrtka 1C savršeno razumije s kojim se poteškoćama susreću programeri tijekom kreiranja migracija, pa na sve moguće načine pokušava pomoći alatima.

Tijekom razvoja platforme, tvrtka je uvela niz univerzalnih alata, kao i tehnologije koje pojednostavljuju prijenos podataka. Ugrađeni su u sva standardna rješenja i problem migracija između identičnih konfiguracija je u cjelini riješen. Pobjedu još jednom potvrđuje tijesna integracija standardnih rješenja.

S migracijama između nestandardnih rješenja situacija je nešto složenija. Širok raspon tehnologija omogućuje programerima da samostalno odaberu najbolji način rješavanja problema sa svoje točke gledišta.

Razmotrimo neke od njih:

  • razmjena putem tekstualnih datoteka;
  • korištenje planova razmjene;
  • itd.

Svaki od njih ima svoje prednosti i nedostatke. Ukratko, glavni nedostatak bit će opširnost. Samoprovedba algoritama migracije prepuna je značajnih vremenskih troškova, kao i dugotrajnog procesa otklanjanja pogrešaka. O daljnjoj podršci takvim odlukama ne želim ni govoriti.

Složenost i visoka cijena podrške potaknuli su 1C da stvori univerzalno rješenje. Tehnologija koja omogućuje maksimalno pojednostavljenje razvoja i održavanja migracija. Kao rezultat toga, ideja je realizirana u obliku zasebne konfiguracije - "Pretvorba podataka".

Konverzija podataka je tipično rješenje, samokonfiguracija. Svaki korisnik s pretplatom na ITS: Prof ovaj paket može preuzeti potpuno besplatno sa stranice korisničke podrške ili s ITS diska. Instalacija se provodi na standardni način - kao i sva druga tipična rješenja iz 1C.

Sada malo o plusevima rješenja. Počnimo s najvažnijim - svestranošću. Rješenje nije prilagođeno određenim konfiguracijama / verzijama platforme. Podjednako dobro radi i s tipičnim konfiguracijama i s onima koje su sami napisali. Programeri imaju na raspolaganju univerzalnu tehnologiju i standardizirani pristup stvaranju novih migracija. Svestranost rješenja omogućuje vam pripremu migracija čak i za platforme koje nisu 1C: Enterprise.

Drugi veliki plus je vizualnost. Jednostavne migracije se stvaraju bez kodiranja. Da, da, bez ijednog retka koda! Samo zbog toga vrijedi jednom utrošiti vrijeme na učenje tehnologije, a zatim mnogo puta koristiti neprocjenjive vještine.

Treća prednost koju bih istaknuo je nepostojanje ograničenja u distribuciji podataka. Programer sam bira način isporuke podataka konfiguraciji prijemnika. Dvije su opcije dostupne izvan kutije: prijenos u xml datoteku i izravna veza s infobazom (COM / OLE).

Studiramo arhitekturu

Već znamo da pretvorba podataka može učiniti čuda, ali još nije sasvim jasno koje su tehničke prednosti. Prva stvar koju treba naučiti je da se svaka migracija (pretvorba) podataka temelji na pravilima razmjene. Exchange pravila - obična xml datoteka s opisom strukture u koju će se učitavati podaci iz IB-a. Obrada usluge, koja istovaruje/učitava podatke, analizira pravila razmjene i na temelju njih vrši istovar. Proces je obrnut tijekom pokretanja.

Konfiguracija "KD" je vrsta vizualnog konstruktora, uz pomoć kojeg programer stvara pravila razmjene. Ne zna kako učitati podatke. Za to je odgovorna dodatna vanjska servisna obrada uključena u komplet za distribuciju CD-a. Ima ih nekoliko (XX u nazivu datoteke je broj verzije platforme):

  • MDXXExp.epf- obrada vam omogućuje da učitate opis strukture infobaze u xml datoteku. Opis strukture se učitava na CD za daljnju analizu i kreiranje pravila razmjene.
  • V8ExchanXX.epf- učitava / učitava podatke iz infobaze u skladu s pravilima razmjene. U većini tipičnih konfiguracija obrada je prisutna izvan kutije (pogledajte stavku izbornika "Usluga"). Obrada je univerzalna i nije vezana uz neku konfiguraciju/pravila.

U redu, sada, na temelju gore navedenog, definirajmo faze razvoja nove konverzije:

  1. Definicija zadatka. Potrebno je jasno razumjeti koje podatke treba prenijeti (iz kojih konfiguracijskih objekata) i, što je najvažnije, gdje ih prenijeti.
  2. Priprema opisa konfiguracijskih struktura (Izvor / Prijemnik) za naknadno učitavanje na CD. Zadatak je riješen servisnom obradom MDXXExp.epf.
  3. Učitavanje pripremljenih opisa struktura u IB.
  4. Izrada pravila razmjene pomoću vizualnih CD alata.
  5. Izvođenje prijenosa/preuzimanja prema stvorenim pravilima pretvorbe podataka korištenjem obrade V8ExchanXX.epf.
  6. Otklanjanje pogrešaka pravila razmjene (ako je potrebno).

Najjednostavnija konverzija

Za demonstraciju su nam potrebne dvije raspoređene konfiguracije. Odlučio sam se držati opcije 10. izdanja "Upravljanje trgovinom" i malog samostalnog rješenja. Izazov će biti prijenos podataka iz tipična konfiguracija"NS". Radi kratkoće, nazovimo samopisno rješenje “Primatelj”, a upravljanje trgovinom “Izvor”. Započnimo rješavati problem prijenosom elemenata priručnika "Nomenklatura".

Prije svega, pogledajmo shemu pretvorbe podataka i ponovno pročitajmo popis radnji koje je potrebno poduzeti. Zatim pokrećemo konfiguraciju "Izvor" i u njoj otvaramo obradu usluge MD82Exp.epf.

Sučelje za obradu ne blista obiljem postavki. Korisnik samo treba odrediti vrste metapodataka objekata koji neće biti uključeni u opis strukture. U većini slučajeva ove postavke nije potrebno mijenjati. nema posebnog smisla u kretanjima istovara u akumulacijskim registrima (kao primjer).

Kretanje je ispravnije oblikovati za vrijeme dok se dokumenti drže u prijemniku. Sva kretanja izvršit će se sam dokument nakon prijenosa. Drugi argument u obranu zadanih postavki je smanjenje veličine datoteke s učitavanjem.

Neki dokumenti (osobito u tipičnim konfiguracijama) generiraju kretanja kroz više registara. Izbacivanje cijele ove farme učinilo bi rezultirajuću XML datoteku prevelikom. To može zakomplicirati naknadni transport i utovar u bazu prijemnika. Što je datoteka podataka veća, to vam je potrebno više RAM memorija da ga obradi. Tijekom prakse, slučajno sam se suočio s nepristojnim velike datoteke istovar. Takve datoteke potpuno su odbile raščlaniti standardnim sredstvima.

Dakle, ostavljamo sve zadane postavke i izvozimo opis konfiguracije u datoteku. Sličan postupak ponavljamo i za drugu bazu.

Otvorite CD i odaberite u glavnom izborniku "Direktoriji" -> "Konfiguracije"... Referenca sadrži opise struktura svih konfiguracija, koji će pomoći da se koriste za kreiranje pretvorbi. Opis konfiguracije učitavamo jednom, a zatim ga možemo više puta koristiti za stvaranje raznih pretvorbi.

U referentnom prozoru pritisnite gumb “ Dodati”I u prozoru koji se pojavi odaberite datoteku s opisom konfiguracije. Označavamo potvrdni okvir „Prenesi na nova konfiguracija"I kliknite na gumb" Preuzmi ". Isto radimo s opisom strukture druge konfiguracije.

Sada je sve spremno za kreiranje pravila razmjene. U glavnom izborniku CD-a odaberite "Reference" -> "Pretvorbe". Dodamo novi element. U prozoru za kreiranje nove pretvorbe morate navesti: konfiguraciju izvora (odaberite UT) i konfiguraciju prijemnika (odaberite "Prijamnik"). Zatim otvorite karticu "Napredno" i ispunite sljedeća polja:

  • naziv datoteke s pravilima razmjene - stvorena pravila razmjene bit će spremljena pod tim imenom. Naziv datoteke može se promijeniti u bilo kojem trenutku, ali je isplativije postaviti ga sada. Ovo će uštedjeti vrijeme u budućnosti. Nazvao sam pravila za demo: "rules-ut-to-priemnik.xml".
  • naziv - naziv konverzije. Naziv može biti apsolutno bilo koji, ograničio sam se na “Demo. UT u prijemnik”.

To je to, kliknite "U redu". Odmah se pred nama pojavljuje prozor s pitanjem da automatski kreiramo sva pravila. Pristanak na tako primamljivu ponudu čarobnjaku će dati naredbu da automatski analizira opis odabranih konfiguracija i samostalno generira pravila razmjene.

Stavimo točke na "i" odmah. Gospodar neće moći generirati ništa ozbiljno. Međutim, ovu značajku ne treba zanemariti. Ako je potrebno uspostaviti razmjenu između identičnih konfiguracija, tada će usluge čarobnjaka biti vrlo korisne. Za naš primjer, ručni način rada je poželjniji.

Pogledajmo pobliže prozor "Postavke pravila razmjene". Sučelje može izgledati pomalo zbunjujuće - veliki broj kartice krcate kontrolama. Zapravo, nije sve tako teško, na ovo ludilo se počneš navikavati nakon nekoliko sati rada s aplikacijom.

U ovoj fazi zanimaju nas dvije kartice: "Pravila konverzije objekata" i "Pravila za prijenos podataka". Najprije moramo postaviti pravila podudaranja, tj. usporediti objekte dviju konfiguracija. Na drugom, odrediti moguće objekte koji će biti dostupni korisniku za istovar.

U drugoj polovici kartice "Pravila konverzije objekata" nalazi se dodatna ploča s dvije kartice: "Pretvorba svojstava" i " Pretvaranje vrijednosti”. Prvi će odabrati svojstva (atribute) odabranog objekta, a drugi je neophodan za rad s unaprijed definiranim vrijednostima (npr. unaprijed definirane elemente priručnici ili elementi popisivanja).

Super, sada napravimo pravila pretvorbe za referentne knjige. Ovu radnju možete izvesti na dva načina: upotrijebite čarobnjak za sinkronizaciju objekata (gumb "") ili ručno dodajte podudaranja za svaki objekt.

Da uštedimo prostor, upotrijebimo prvu opciju. U prozoru čarobnjaka poništite potvrdne okvire s polja " Dokumenti"(Zanimaju nas samo referentne knjige) i otvori grupu" Imenici”. Pažljivo se krećemo po popisu i gledamo nazive referentnih knjiga koje se mogu usporediti.

U mom slučaju postoje tri takva imenika: Nomenklatura, Organizacije i Skladišta. Postoji i priručnik Clients, koji ispunjava isto semantičko opterećenje kao " Izvođači radova"Iz konfiguracije" NS”. Istina, majstor im nije mogao parirati zbog izvrsnih imena.

Ovu grešku možemo sami popraviti. Nalazimo u prozoru" Podudaranje objekata"Priručnik" Klijenti", I u stupcu" Izvor "odaberite imenik" Izvođači ". Zatim potvrdite okvir u stupcu "Vrsta" i pritisnite gumb "U redu".

Čarobnjak za sinkronizaciju objekata ponudit će automatsko stvaranje pravila za pretvaranje svojstava svih odabranih objekata. Svojstva će biti mapirana poimenično i to će biti sasvim dovoljno za našu demonstraciju, slažemo se. Sljedeće pitanje bit će prijedlog za stvaranje pravila istovara. Pristanimo i na to.

Osnova za pravila razmjene je spremna. Odabrali smo objekte za sinkronizaciju, a pravila za pretvaranje svojstava i pravila za istovar kreirana su automatski. Spremimo pravila razmjene u datoteku, zatim otvorimo IB “Izvor” (u mom slučaju je UT) i započnemo obradu usluge u njemu V8Exchan82.epf.

Prije svega, u prozoru za obradu odaberite pravila razmjene koja smo kreirali. Na pitanje učitavanja pravila odgovaramo pozitivno. Obrada će analizirati pravila razmjene i izgraditi stablo objekata istog imena dostupnih za prijenos. Za ovo stablo možemo postaviti sve vrste odabira ili razmjenjivati ​​čvorove, prema čijim promjenama trebamo odabrati podatke. Želimo preuzeti apsolutno sve podatke, tako da nema potrebe za instaliranjem filtara.

Nakon što je proces učitavanja podataka u datoteku završen, idite na IB “ Prijamnik”. U njemu otvaramo i obradu. V8Exchan82.epf, samo ovaj put idite na karticu "Preuzimanje podataka". Odaberite datoteku s podacima i pritisnite gumb "Učitaj". To je to, podaci su uspješno preneseni.

Zadaci iz stvarnog svijeta

Prvi demo bi mogao biti pogrešan. Sve izgleda prilično jednostavno i logično. Zapravo to nije istina. U stvarnom radu nastaju problemi koje je teško ili potpuno nemoguće riješiti samo vizualnim sredstvima (bez programiranja).

Kako se ne bih razočarao u tehnologiju, pripremio sam nekoliko stvarnih problema. Morate naići na njih dok radite. Ne izgledaju tako trivijalno i tjeraju vas da gledate na pretvorbu podataka iz novog kuta. Pažljivo razmotrite prikazane primjere i slobodno ih upotrijebite kao isječke prilikom rješavanja stvarnih problema.

Problem broj 1. Popunjavamo detalje koji nedostaju

Pretpostavimo da trebamo prenijeti s UT imenik “ Izvođači radova”. Prijemnik ima sličan imenik "Klijenata" za to. Potpuno je prikladan za pohranjivanje podataka, ali ima rekvizite “ Organizacija”, Što vam omogućuje da odvojite izvođače prema njihovoj pripadnosti organizaciji. Prema zadanim postavkama, svi izvođači moraju se odnositi na trenutnu organizaciju (može se dobiti iz istoimene konstante).

Problem ima nekoliko rješenja. Razmotrit ćemo mogućnost popunjavanja zahtjeva “ Organizacija"Upravo u bazi podataka" Prijamnik“, tj. u trenutku učitavanja podataka. Trenutna organizacija je pohranjena u konstanti, stoga nema prepreka za dobivanje ove vrijednosti. Otvorimo pravilo konverzije objekata (u daljnjem tekstu PCO) “ Klijenti”(Dvaput kliknite na objekt) i u čarobnjaku za pravila idite na odjeljak „Upravljači događajima”. Na popisu rukovatelja nalazimo “ Nakon utovara”.

Opišimo šifru za dobivanje trenutne organizacije s naknadnim dodjeljivanjem rekvizitu. U trenutku aktivacije rukovatelja "Nakon učitavanja", objekt će biti u potpunosti formiran, ali još nije upisan u bazu podataka. Nitko nam ne brani da ga mijenjamo po vlastitom nahođenju:

Ako NIJE Object.EtoGroup onda Object.Organization = Constants.CurrentOrganization.Get (); Završi ako;

Prije popunjavanja zahtjeva " Organizacija"Imperativ je provjeriti vrijednost varijable" Ova grupa". Za referencu “ Klijenti»Hijerarhijska zastava je postavljena, pa je potrebna provjera grupe. Na sličan način popunjavaju se svi detalji. Obavezno pročitajte pomoć za ostale parametre rukovanja " Nakon preuzimanja". Na primjer, među njima postoji parametar " Odbijanje". Ako mu je dodijeljena vrijednost "True", tada objekt neće biti zapisan u bazu podataka. Tako postaje moguće ograničiti objekte za snimanje u vrijeme učitavanja.

Problem broj 2. Detalji u registru informacija

U referenci “ Izvođači radova"UT konfiguracija, postoje detalji" kupac"i" Pružatelj usluga”. Oba atributa su tipa " Boolean”I koriste se za određivanje vrste druge ugovorne strane. u IB" Prijamnik", U priručniku" Klijenti"Nema sličnih detalja, ali postoji registar informacija" Vrste klijenata”. Obavlja sličnu funkciju i može pohraniti nekoliko značajki za jednog klijenta. Naš je zadatak prenijeti vrijednosti atributa u zasebne zapise registra informacija.

Nažalost, sama vizualna sredstva ne mogu se nositi s tim. Počnimo s malim, stvorimo novi PKO za registar informacija “ Vrste klijenata”. Ne navodite ništa kao izvor. Iz automatsko stvaranje odbaciti pravila istovara.

Sljedeći korak je formiranje pravila istovara. Idite na odgovarajuću karticu i pritisnite gumb “ Dodati”. U prozoru za dodavanje pravila istovara popunite:

  • Metoda uzorkovanja. Promijenite u "Besplatni algoritam";
  • Pravilo pretvorbe. Odabiremo registar podataka "Vrste klijenata";
  • Šifra (naziv) pravila. Zapisujemo to kao "Ottovar klijentovih pogleda";

Sada morate napisati kod za odabir podataka za istovar. Parametar " Dohvaćanje podataka”. U nju možemo staviti kolekciju s pripremljenim skupom podataka. Parametar " Dohvaćanje podataka”Može uzeti različite vrijednosti - rezultat upita, odabir, zbirke vrijednosti itd. Inicijaliziramo ga kao tablicu vrijednosti s dva stupca: klijent i tip klijenta.

Ispod je kod za rukovao događajima “ Prije obrade”. Inicijalizira parametar " Dohvaćanje podataka"Slijedi popunjavanje podacima iz priručnika" Izvođači radova”. Ovdje treba obratiti pažnju na popunjavanje stupca “ Vrsta klijenta”. U "UT" imamo znakove tipa "Boolean", a u recipijentu - nabrajanje.

U ovoj fazi ih ne možemo dovesti do toga pravi tip(nije u UT), pa ćemo ga za sada ostaviti u obliku nizova. Ne morate to učiniti, ali samo vam želim pokazati kako prebaciti na vrstu koja nedostaje u izvoru.

DataFetch = NewValuesTable (); FetchData.Columns.Add ("Klijent"); FetchData.Columns.Add ("ClientType"); FetchDataFromDirectory = Imenici.Izvođači.Odaberi (); Dok FetchingDataFromDirectory.Next () Loop IfFetchingDataFromDirectory.ThisGroup Then Continue; Završi ako; Ako DataFetchFromDirectory.Buyer Tada je NewRow = DataFetch.Add (); NewString.Client = DataFetchFromDirectory.Link; NewString.ClientType = "Kupac"; Završi ako; Ako DataFetchFromDirectory.Provider Tada je NewRow = DataFetch.Add (); NewString.Client = DataFetchFromDirectory.Link; NewString.ClientType = "Dobavljač"; Završi ako; Kraj ciklusa;

Spremimo pravilo izbacivanja podataka i vratimo se na “ Pravila konverzije objekata”. Dodati za informaciju registar “ Vrste klijenata”Pravila konverzije nekretnina: klijent i tip klijenta. Ostavite izvor prazan i napišite u rukovaocu događaja "Prije istovaranja":

// Za svojstvo “Klijent” Vrijednost = Source.Client; // Za svojstvo “ClientType” If Source.Client = "Customer" Then Expression = "Enumerations.ClientTypes.Customer" InačeIf Source.Client = "Dobavljač" Tada Expression = "Enumerations.ClientTypes.Supplier"; Završi ako;

U popisu se podaci popunjavaju na temelju izvršenog odabira podataka. Klijenta prenosimo jednostavno kao poveznicu, a tip klijenta upisujemo u parametar “ Izraz". Podaci ovog parametra će se interpretirati u prijemniku, a kada se izvrši, varijabla će biti popunjena ispravnom vrijednošću iz nabrajanja.

To je to, pravila razmjene su spremna. Razmatrani primjer pokazao se prilično univerzalnim. Sličan pristup se često koristi prilikom migracije podataka iz konfiguracija stvorenih na platformi 7.7. Upečatljiv primjer za to je prijenos periodičnih rekvizita.

Problem broj 3. Trikovi u tabličnom dijelu

Nerijetko se susrećete sa zadacima koji zahtijevaju objavljivanje redaka jednog tabličnog odjeljka u nekoliko. Na primjer, u početnoj konfiguraciji usluge i roba su raspoređeni u jedan tablični dio, a pohrana tih entiteta je odvojena u prijemniku. Opet, problem se ne može riješiti vizualnim sredstvima. Ovdje je zgodno uzeti rješenje drugog problema kao osnovu.

Izrađujemo pravilo za istovar podataka, specificiramo proizvoljan algoritam i u rukovatelju "Prije istovara" upisujemo zahtjev za dobivanje podataka iz tabelarnog dijela.

Da uštedim prostor, neću citirati kod (uvijek se možete pozvati na izvorni kod) zahtjeva - u njemu nema ništa neobično. Ponavljamo preko rezultirajućeg odabira i stavljamo sortirane rezultate u već poznati parametar " Dohvaćanje podataka”. Također je prikladno koristiti tablicu vrijednosti kao zbirku:

DataFetch = NewValuesTable (); // Bit će još jedan tablični odjeljak DataFetch.Columns.Add (“Proizvodi”); // Postojat će i tablični odjeljak DataFetch.Columns.Add (“Usluge”); FetchData.Columns.Add (“Veza”);

Problem broj 4. Prijenos podataka u operaciju

Ako organizacija koristi nekoliko računovodstvenih sustava, prije ili kasnije će se pojaviti potreba za migracijom podataka s naknadnim formiranjem transakcija.

U konfiguraciji “ BP"Postoji univerzalni dokument" Operacija”I idealan je za generiranje više potencijalnih klijenata. Ovdje je samo jedan ne-zadatak - dokument je lukavo napravljen i nije tako lako prenijeti podatke u njega.

Primjer takve konverzije može se pronaći u izvornom kodu za članak. Ispostavilo se da je volumen koda prilično velik, pa ga nema smisla objavljivati ​​za članak. Dopustite mi samo da kažem da istovar ponovno koristi proizvoljni algoritam u pravilima za istovar podataka.

Problem broj 5. Sinkronizacija podataka za nekoliko rekvizita

Već smo pogledali nekoliko primjera, ali još uvijek nismo govorili o sinkronizaciji objekata tijekom migracije. Zamislimo da trebamo prenijeti izvođače i neki od njih se vjerojatno nalaze u bazi podataka primatelja. Kako prenijeti podatke i spriječiti duplikate? U tom smislu, CD nudi nekoliko načina za sinkronizaciju prijenosnih objekata.

Prvi se temelji na jedinstvenom identifikatoru. Mnogi objekti imaju jedinstveni identifikator koji jamči jedinstvenost unutar tablice. Na primjer, u referenci “ Izvođači radova„Ne mogu postojati dva elementa s istim identifikatorom. CD radi izračun za to, a za sve stvorene PQS pretraživanje po identifikatoru je uključeno prema zadanim postavkama odjednom. Tijekom izrade PCO-a trebali ste obratiti pažnju na sliku povećala uz naziv objekta.

Sinkronizacija pomoću jedinstvenog identifikatora je pouzdana metoda, ali daleko od toga da je uvijek prikladna. Prilikom kombiniranja imenika “ Izvođači radova”(Od nekoliko različitim sustavima) od male je pomoći.

U takvim slučajevima ispravnije je sinkronizirati objekte prema nekoliko kriterija. Ispravnije je tražiti druge ugovorne strane po TIN-u, KPP-u, Nazivu ili pretragu podijeliti u nekoliko faza.

Pretvorba podataka ne ograničava razvojnog programera u određivanju kriterija pretraživanja. Pogledajmo jedan apstraktan primjer. Pretpostavimo da trebamo sinkronizirati direktorije “ Izvođači radova”Iz različitih baza podataka. Pripremimo POC i u postavkama pravila konverzije objekata postavimo potvrdni okvir “ Nastavite s pretraživanjem polja za pretraživanje ako identifikator ne pronađe ciljni objekt”. Ovom akcijom odmah smo definirali dva kriterija pretraživanja - po jedinstvenom identifikatoru i prilagođenim poljima.

Imamo pravo da sami biramo polja. Nakon što smo zabilježili INN, KPP, Ime, odmah ćemo navesti nekoliko kriterija pretraživanja. Udobno? Sasvim, ali to opet nije dovoljno. Što ako želimo promijeniti kriterije pretraživanja? Na primjer, prvo tražimo vezu INN + KPP, a ako ništa ne nađemo, onda počinjemo iskušavati sreću s imenom.

Takav je algoritam prilično sposoban za implementaciju. U rukovatelju događaja “ Polja za pretraživanje”Možemo odrediti do 10 kriterija pretraživanja i za svaki od njih definirati vlastiti skup polja za pretraživanje:

Ako je SearchVariantNumber = 1 tada SearchPropertyNameString = "INN, KPP"; Inače Ako SearchVariantNumber = 2 Tada SearchPropertyNameString = “Name”; Završi ako;

Uvijek postoji nekoliko rješenja

Svaki zadatak ima nekoliko rješenja i prijenos podataka između različitih konfiguracija nije iznimka. Svaki programer ima pravo odabrati svoj vlastiti put rješenja, ali ako stalno morate razvijati složene migracije podataka, preporučujem da obratite pozornost na konfiguraciju "". Neka prvo treba uložiti sredstva (vrijeme) u obuku, ali oni će se i više nego isplatiti na prvom manje-više ozbiljnom projektu.

Po mom mišljenju, 1C nezasluženo zaobilazi temu korištenja pretvorbe podataka. Za cjelokupno postojanje tehnologije o njoj je objavljena samo jedna knjiga: “1C: Enterprise 8. Pretvorba podataka: Razmjena između aplikacijskih rješenja”. Knjiga je dosta stara (2008.), ali je ipak poželjno upoznati se s njom.

Poznavanje platformi je i dalje potrebno

„To je univerzalni alat, ali ako ga namjeravate koristiti za kreiranje migracija podataka iz konfiguracija razvijenih za platformu 1C: Enterprise 7.7, morat ćete potrošiti vrijeme na upoznavanje ugrađenog jezika. Sintaksa i ideologija jezika su vrlo različite, tako da morate provoditi vrijeme u učenju. Ostatak principa ostaje isti.

Vjerojatno se svaki stručnjak za 1C suočio sa situacijom potrebe za prijenosom podataka iz jedne baze podataka u drugu. U slučaju kada su konfiguracije različite, morate napisati pravila konverzije podataka. Ova pravila su stvorena u konfiguraciji 1C "Pretvorba podataka".

Također možete prenijeti podatke pomoću. Mnoge konfiguracije 1C 8.3 imaju standardnu ​​funkcionalnost za postavljanje sinkronizacije podataka između različitih konfiguracija i besprijekornu integraciju s 1C upravljanjem dokumentima.

Ali kada je potrebno prenijeti podatke između potpuno identičnih konfiguracija, možete pojednostaviti svoj zadatak i koristiti standardnu ​​obradu prijenosa i preuzimanja putem XML-a. Imajte na umu da ova metoda, kao i pretvorba podataka, povezuje objekte međusobno po jedinstvenom identifikatoru (GUID), a ne po imenu.

Ovu obradu možete preuzeti na ITS disku ili slijediti poveznice:

Svestran je i pogodan za bilo koju konfiguraciju.

Razmotrimo primjer istovarivanja imenika Nomenklature iz jedne baze podataka 1C 8.3 Računovodstvo 3.0 u drugu. Preduvjet će biti odabir od strane roditelja (skupine) "Obrada drveta".

Istovar podataka iz 1C u XML

Idite na infobazu odakle će se podaci preuzeti (izvor). Svakako ih provjerite, uzimajući u obzir sve moguće uvjete kako biste izbjegli neželjene posljedice.

Otvorite obradu prijenosa i preuzimanja XML podaci(Ctrl + O).

Zanima nas kartica "Istovar". Prije svega navedite naziv datoteke u koju će se podaci učitati i put za spremanje. U tom slučaju, podaci se učitavaju "U datoteku na poslužitelju".

U zaglavlju obrade konfigurira se razdoblje za koje će se izvršiti odabir. Također, za periodične knjige možete odrediti kako se primjenjuje odabir po razdoblju. Ako je potrebno istovariti pokrete zajedno s dokumentima, postavlja se odgovarajuća zastavica. U ovom slučaju preopterećujemo direktorij, tako da nema potrebe ništa konfigurirati u zaglavlju.

Prijeđimo na odabir podataka za učitavanje. U tabličnom dijelu obrasca za obradu označite okvire za konfiguracijske objekte koje trebate prenijeti.

Stupac “Isčitaj ako je potrebno” znači da li je potrebno ponovno učitati ovaj objekt ako je na njega referenciran atribut direktorija koji ponovno učitavamo. Na primjer, položaj predmeta koji ponovno utovarujete ima mjernu jedinicu koja se ne nalazi u bazi prijemnika. Ako se ispred referentne knjige s mjernim jedinicama postavi potvrdni okvir u stupcu "Istovari ako je potrebno", kreirat će se nova pozicija. Inače će vrijednost atributa sadržavati natpis "<Объект не найден>"I njegov jedinstveni identifikator.

U jednostavnom slučaju, bez uzorkovanja, postavka ponovnog učitavanja stavke izgledat će ovako.

V ovaj primjer trebate odabrati samo nomenklaturu koja se nalazi u mapi "Obrada drveta".

Slična obrada za 8.2 omogućuje vam prikladno postavljanje odabira za svaki konfiguracijski objekt. U 8.3, nažalost, nema takve funkcionalnosti. Jedan od izlaza u ovoj situaciji bio bi odabir potrebnih pozicija na kartici "Dodatni objekti za istovar".

Ovdje možete dodati objekte ručno (gumb "Dodaj") ili na zahtjev ("Dodaj po zahtjevu..."). S velikim brojem njih, druga je opcija poželjnija.

U ovom slučaju zahtjev će biti sljedeći. Ispunite parametre, dovršite zahtjev provjerom podataka i kliknite na gumb "Odaberi rezultat".

Nakon što ste naveli sve potrebne objekte i dodatne elemente za učitavanje, kliknite na gumb "Učitaj podatke". Oni će završiti u XML datoteci, čiji naziv i put ste prethodno naveli. Rezultati ove operacije bit će prikazani u porukama.

U ovom primjeru bilo je potrebno iskrcati samo 3 pozicije, ali pet je bilo istovareno. To je zato što je zastavica postavljena u stupcu “Istovari ako je potrebno” nasuprot referentne knjige “Nomenklatura”. Zajedno s potrebnim položajima, njihovi roditelji su bili preopterećeni.

Učitavanje reference iz XML-a

Nakon uspješnog učitavanja podataka iz izvorne konfiguracije u XML datoteku, otvorite odredišnu bazu podataka. Struktura objekata i njihovi detalji moraju se međusobno podudarati. U ovom slučaju, prijenos se provodi između dvije tipične konfiguracije 1C: Accounting 3.0.

Otvorite obradu u bazi prijemnika. Ova obrada koristi se i za učitavanje i za preuzimanje podataka. Idite na karticu "Preuzimanje" i navedite put do XML datoteka, u koji su podaci prethodno učitani. Nakon toga kliknite na gumb "Preuzmi podatke".

Rezultat preuzimanja bit će prikazan u porukama. U našem slučaju sve je prošlo dobro.

Imenik "Nomenklatura" u bazi - prijemnik nije popunjen. Sada ima pet elemenata: tri nomenklaturne stavke i dvije grupe.

Podaci i važni dokumenti prikupljeni tijekom godina napornog rada ne bi trebali biti izgubljeni samo zato što je izašla novija platforma ili 1C konfiguracija. Kako se to ne bi dogodilo, postoji mogućnost prijenosa podataka.

Migracija podataka jedan je od najkritičnijih dijelova migracije s jedne konfiguracije na drugu.

Kako bi se podaci prenijeli netaknuti i sigurni, ovaj posao morate povjeriti profesionalcima. Naš tim će sve radove izvesti kvalitetno i na vrijeme.

Faze prijenosa

Prijenos podataka sastoji se od 5 koraka. Pokušali smo ih opisati na što detaljniji i razumljiviji način.

Zašto je naš prijenos podataka bolji?

Uobičajeni trošak migracije podataka

Održavanje novog programa

Nakon prijenosa svih podataka, možda ćete morati održavati svoj program. Spremni smo vam to pružiti!

Prijelaz na 1C 8.2

Pojedinosti o ostalim fazama prijelaza s jedne platforme na drugu. Nadogradnja licence, konfiguracija, obuka, podrška. Naši stručnjaci spremni su vam pružiti svu potrebnu pomoć!

Zašto smo bolji?

Prijenos narudžbe

Naš tim

Zašto je naš prijenos 1C bolji?

  • Transparentnost
  • Prije prijenosa referentnih knjiga 1C 8.2 i vaših drugih podataka, naši stručnjaci će vam detaljno reći o svim fazama rada. Povjeravajući nam svoju bazu, uvijek znate što se radi, kojim redoslijedom i koliko plaćate za svaku fazu rada.

  • Individualni pristup
  • Prije nego što pređete izravno na prijenos 1C 7.7 na 1C 8.2, naši će stručnjaci provesti dubinsku analizu vaše baze podataka. Velike su šanse da u nova verzija 1C već ima sva ona poboljšanja koja su vam bila potrebna. U svakom slučaju, preporučit ćemo vam što vam je još potrebno za ugodan rad.

  • Kvaliteta
  • Prije najvažnije faze prijenosa, naši stručnjaci uvijek provode probni prijenos 1C baza kako bi identificirali moguće pogreške, ponavljanje i gubitak podataka. No i nakon samog transfera svakako ćemo sve provjeriti za još veće povjerenje u njegovu kvalitetu.

  • Radite za rezultate
  • Rad se smatra dovršenim tek nakon što se uvjerite da je prijenos 1C 8 imenika i drugih podataka ispravno obavljen i da ste zadovoljni rezultatom. Ne napuštamo svoje klijente!

    Faza 1. Opća analiza izvorne baze

    Koji se posao radi:

  • dobivanje tipične konfiguracije verzije slične izvornoj bazi;
  • opća analiza promjena u strukturi podataka (usporedba s tipičnom konfiguracijom);
  • opća analiza promjena oblika i konfiguracijskih modula (usporedba s tipičnom konfiguracijom);
  • kontrola dostupnosti atipičnih računovodstvenih računa za računovodstvene konfiguracije;
  • opća kontrola ispravnosti računovodstva u izvornoj bazi (prisutnost "crvenih" stanja, otvorenih razdoblja, nepovratnih sekvenci itd.);
  • ažuriranje izvorne baze podataka na verziju koju zahtijevaju standardna pravila migracije;
  • probni prijenos podataka;
  • priprema mogućih preporuka za pripremu izvorne baze podataka za prijenos 1C 8 priručnika i drugih podataka.
  • Zašto:

  • utvrđivanje mogućnosti korištenja tipičnog prijenosa;
  • procjena složenosti revizija i priprema tehničke dokumentacije za prijenos (ako korištenje tipskog prijenosa nije moguće).
  • Nakon opće analize izvorne baze, može se potvrditi da se podaci mogu prenijeti tipična sredstva, u ovom slučaju daljnji trošak usluge prijenosa utvrđuje se prema cjeniku tipskog transfera, ovisno o konfiguraciji.

    Ako ispravan tipični prijenos nije moguć, tada se priprema prijedlog s troškovima rada na finalizaciji konfiguracija, pravila razmjene i netipičnog prijenosa.

    Cijena: 2.000 rubalja

    Faza 2. Izrada tehničke dokumentacije za netipični prijenos

    Koji se posao radi:

  • provodi se dubinska analiza dostupnih izmjena standardne konfiguracije izvorne baze, usporedba tih izmjena s tipičnom konfiguracijom iste verzije i s najnovijom verzijom standardne konfiguracije baze prijemnika;
  • komunikacija s odgovornim osobama Kupca radi utvrđivanja potrebe za identificiranim poboljšanjima, pojašnjenja načina korištenja poboljšanja, prikupljanja želja za poboljšanjem poboljšanja (ako je potrebno);
  • sastavlja se popis dostupnih izmjena standardne konfiguracije izvorne baze;
  • sastavlja se i dogovara popis preporučenih izmjena tipične konfiguracije baze prijemnika, uzimajući u obzir standardnu ​​funkcionalnost tipične konfiguracije (moguće je da se izmjena ne mora prenijeti ako konfiguracija prijemnika već ima sličnu konfiguraciju standardna funkcionalnost);
  • izrađen je i odobren nacrt tehničkog zadatka za finalizaciju konfiguracije prijamne baze, dovršetak pravila razmjene, opis
    atipični postupci prijenosa (ako je potrebno).
  • Zašto:

  • jamstvo kvalitete i transparentnosti rada na atipičnom prijenosu 1C baza podataka;
  • točan troškovnik i trajanje rada;
  • sposobnost obavljanja posla na prijenosu uz sudjelovanje 1C programera s punim radnim vremenom, uz osiguravanje potrebne razine kvalitete.
  • Ako navedeni skup tehničke dokumentacije nije dostupan, nestandardni prijenosi između 1C konfiguracija provode se samo po satu. U tom slučaju nemoguće je unaprijed točno jamčiti trošak i trajanje rada. Međutim, u ovom slučaju moguća je određena ušteda vremena i troškova za pripremu kompleta dokumentacije.

    Cijena: Navodi se na temelju rezultata opće analize izvorne baze.

    Faza 3. Dorada konfiguracije prijemnika

    Koji se posao radi:

  • standardna konfiguracija prijamne baze izrađuje se na temelju tehničkog zadatka, odnosno prema uputama Naručitelja (za rad po satu);
  • provodi se preliminarno ispitivanje izmjena;
  • poboljšanja su dokumentirana u obliku izvješća o promjenama tipične konfiguracije (za mogućnost daljnjeg ažuriranja od strane servisnog inženjera);
  • provodi se demonstracija poboljšanja korisniku (isporuka-prijem radova);
  • izrađuje se korisnički priručnik za poboljšanja (ako je potrebno).
  • Zašto:

  • dobivate Najnovija verzija konfiguracije s promjenama koje trebate;
  • Dobivate dokumentaciju za poboljšanja koja su vam potrebna za daljnja
    ažuriranja od strane servisnog inženjera.
  • Faza 4. Dopuna pravila prijenosa

    Koji se posao radi:

  • standardna pravila za prijenos iz 1C-a se dovršavaju kako bi se uzele u obzir promjene u strukturi podataka standardne konfiguracije izvorne baze, kao i nestandardni računovodstveni računi koji se koriste u izvornoj bazi;
  • provodi se preliminarno testiranje prijenosa uzimajući u obzir promjene.
  • Zašto:

    Osiguran je ispravan prijenos podataka koji se ne prenosi standardnim pravilima razmjene;

    Izmjena pravila prijenosa također može biti potrebna ako je računovodstvo u izvornoj bazi podataka vođeno pogrešno sa stajališta standardne metodologije rješenja, iako izvorna konfiguracija možda ne sadrži izmjene.

    Cijena: formirana na temelju kompleta tehničke dokumentacije.

    Faza 5. Prijenos podataka

    Koji se posao radi:

  • prenijeti referentne informacije(sve ili putem veza), prijenos stanja na određeni datum;
  • kontrola ispravnosti prijenosa - usporedba podataka izvorne i odredišne ​​baze podataka;
  • priprema mogućih preporuka za prilagodbu stanja u bazi primanja, uzimajući u obzir osobitosti računovodstva u različitim konfiguracijama (ako je potrebno).
  • Zašto:

    Spremite se za polazak nova baza podatke s vašim trenutnim stanjem.

    Prijenos se vrši korištenjem pravila prijenosa koja je razvila 1C, uz korištenje modifikacija napravljenih posebno za Kupca. Sastav prenesenih podataka može se razlikovati za različite verzije konfiguracije, naši stručnjaci će vas savjetovati o mogućim
    značajke prijenosa.