Konfigūracijos duomenų konvertavimas 1s 8.3. Failų paruošimas įkėlimo taisyklėms

Turbūt kiekvienas 1C specialistas yra susidūręs su poreikiu perkelti duomenis iš vienos informacinės bazės į kitą. Tuo atveju, kai konfigūracijos skiriasi, turite parašyti duomenų konvertavimo taisykles. Šios taisyklės sukurtos 1C „Duomenų konvertavimo“ konfigūracijoje.

Duomenis taip pat galima perkelti naudojant . Daugelis 1C 8.3 konfigūracijų turi standartines funkcijas, leidžiančias nustatyti skirtingų konfigūracijų duomenų sinchronizavimą ir sklandų integravimą su 1C dokumentų srautu.

Tačiau kai duomenis reikia perkelti tarp visiškai identiškų konfigūracijų, galite supaprastinti užduotį ir naudoti standartinį apdorojimą įkeldami ir atsisiųsdami per XML. Atminkite, kad šis metodas, kaip ir duomenų konvertavimas, lygina objektus tarpusavyje pagal unikalų identifikatorių (GUID), o ne pagal pavadinimą.

Šį apdorojimą galite atsisiųsti ITS diske arba naudodami nuorodas:

Jis yra universalus ir tinka bet kokiai konfigūracijai.

Panagrinėkime pavyzdį, kaip iškelti katalogą „Nomenklatūra“ iš vienos 1C 8.3 Apskaita 3.0 informacinės bazės į kitą. Būtina sąlyga bus tėvų (grupės) pasirinkimas „Medienos apdirbimas“.

Duomenų įkėlimas iš 1C į XML

Eikite į informacijos bazę, iš kurios bus atsisiunčiami duomenys (šaltinis). Būtinai juos patikrinkite, atsižvelgdami į visas įmanomas sąlygas, kad išvengtumėte nepageidaujamų pasekmių.

Atidarykite XML duomenų įkėlimo ir atsisiuntimo apdorojimą (Ctrl + O).

Mus domina skirtukas „Įkelti“. Pirmiausia nurodykite failo, į kurį bus įkeliami duomenys, pavadinimą ir išsaugojimo kelią. Tokiu atveju duomenys įkeliami „į failą serveryje“.

Apdorojimo antraštėje galite sukonfigūruoti laikotarpį, kuriam bus atliktas pasirinkimas. Taip pat periodiniams registrams galite nurodyti atrankos pagal laikotarpį taikymo būdą. Jei reikia įkelti judesius kartu su dokumentais, nustatoma atitinkama vėliavėlė. Tokiu atveju mes perkrauname katalogą, todėl antraštėje nereikia nieko konfigūruoti.

Pereikime prie duomenų įkėlimo pasirinkimo. Apdorojimo formos lentelės dalyje pažymėkite konfigūracijos objektų, kuriuos norite perkelti, žymimuosius langelius.

Stulpelis „Iškrauti, jei reikia“ reiškia, ar reikia perkrauti šį objektą, jei jį nurodo katalogo, kurį perkrauname, atributas. Pavyzdžiui, įkeliamos prekės padėtis turi matavimo vienetą, kurio nėra tikslinėje duomenų bazėje. Jei vėliavėlė stulpelyje „Įkelti, jei reikia“ pažymima priešais informacinę knygą su matavimo vienetais, bus sukurta nauja pozicija. Priešingu atveju atributo reikšmė bus "<Объект не найден>“ ir jo unikalų identifikatorių.

Paprastu atveju be pasirinkimų elemento perkrovos nustatymas atrodys taip.

Šiame pavyzdyje turite pasirinkti tik tuos elementus, kurie yra aplanke „Medienos apdirbimas“.

Panašus 8.2 apdorojimas leidžia patogia forma nustatyti kiekvieno konfigūracijos objekto pasirinkimą. Deja, 8.3 versijoje tokios funkcijos nėra. Viena išeitis šioje situacijoje būtų pasirinkti reikiamus elementus skirtuke „Papildomi iškrovimo objektai“.

Čia galite pridėti objektus rankiniu būdu (mygtukas „Pridėti“) arba pagal užklausą („Pridėti pagal užklausą...“). Jei jų yra daug, geriau pasirinkti antrąjį variantą.

Tokiu atveju prašymas bus toks. Užpildykite parametrus, patikrinę duomenis užpildykite užklausą ir spustelėkite mygtuką „Pasirinkti rezultatą“.

Nurodę visus reikalingus objektus ir papildomus įkėlimui elementus, spustelėkite mygtuką „Įkelti duomenis“. Jie pateks į XML failą, kurio pavadinimą ir kelią nurodėte anksčiau. Šios operacijos rezultatai bus rodomi pranešimuose.

Šiame pavyzdyje reikėjo iškrauti tik 3 pozicijas, bet penkios buvo iškrautos. Taip yra todėl, kad priešais katalogą „Nomenklatūra“ stulpelyje „Įkelti, jei reikia“ buvo nustatyta vėliavėlė. Kartu su reikalingomis pareigomis jų tėvai buvo perkrauti.

Įkeliamas katalogas iš XML

Sėkmingai atsisiuntę duomenis iš šaltinio konfigūracijos į XML failą, atidarykite paskirties duomenų bazę. Objektų struktūra ir jų detalės turi derėti viena su kita. Tokiu atveju perkėlimas atliekamas tarp dviejų standartinių konfigūracijų 1C: Apskaita 3.0.

Atviras apdorojimas imtuvo duomenų bazėje. Šis apdorojimas naudojamas duomenims įkelti ir įkelti. Eikite į skirtuką „Atsisiųsti“ ir nurodykite kelią į XML failą, į kurį anksčiau buvo atsisiųsti duomenys. Po to spustelėkite mygtuką „Atsisiųsti duomenis“.

Atsisiuntimo rezultatas bus rodomas pranešimuose. Mūsų atveju viskas klostėsi gerai.

„Nomenklatūros“ katalogas gavėjų duomenų bazėje nebuvo užpildytas. Dabar ji turi penkis elementus: tris nomenklatūros pozicijas ir dvi grupes.

Veiksmingą 1C Enterprise 8.3 programų veikimą lemia teisingas duomenų mainų tarp jų nustatymas, ty katalogų, taip pat kitos informacijos įkėlimas ir atsisiuntimas. Kai kuriose situacijose pakanka naudoti „Universal XML Data Interchange“ apdorojimą arba esamas standartines perdavimo taisykles, pavyzdžiui, pereinant iš vieno programų leidimo į kitą. Jie gali būti integruoti į programą su konkrečiu mainų taisyklių sąrašu arba patalpinti įdiegtame naujinimo aplanke. Pavyzdžiui, ten yra „AccountingBase“ („Apskaita“, pagrindinė versija) ir aplankas „Data Exchange“.

1 pav

Bet kai jums reikia keistis tarp visiškai skirtingų konfigūracijų, taigi ir nestandartinių versijų perdavimo taisyklių, dėl kurių reikės nustatyti mainų taisykles ir palyginti objektus, kad būtų galima perkelti, turėtumėte kreiptis į išorinę programą, skirtą konvertavimo taisyklėms tarp bet kokių konfigūracijų sukurti, nepriklausomai nuo jų struktūros ir sudėtingumo.

Apibūdinti metaduomenis naudojamas išorinis apdorojimas MD83Exp.epf – produktams 1C:Enterprise 8.3 platformoje (valdoma programa), MD82Exp.epf – įprastai programai, XML failo formatu. Paprastai apdorojimo failas yra šablonų kataloge, kuriame įdiegta konfigūracija. Pavyzdžiui, C:\Program Files\1cv8\tmplts\1c\Conversion\3_0_5_3\. Savo pavyzdyje naudojame „1C: duomenų konvertavimas, red. 3.0" (3.0.5.3 leidimas).



2 pav

Konversijos failo paruošimas apima mainų taisyklių XML failo generavimą. Pažvelkime į jo kūrimo eigą naudodami nedidelį pavyzdį.

1 žingsnis. Programą galima atsisiųsti iš ITS svetainės arba įdiegti iš ITS disko. Tarkime, kad turime atsisiųsti katalogą „Santarvės šalys“ iš „Apskaitos“ į „UT 8.3“. Pirmoji mūsų programa yra „Šaltinio bazė“, o antroji – „Kriauklės bazė“. Atkreipkite dėmesį, kad mainai sukonfigūruojami ne tik tarp 8.3 duomenų bazių, bet ir tarp 7.7 ir 8.3 bei kitų.

2 žingsnis. Keičiantis duomenų bazių metaduomenų struktūrą įkeliame į XML failą naudodami MD83Exp.epf apdorojimą. Norėdami tai padaryti, „Šaltinio duomenų bazėje“ ir „Paskirties duomenų bazėje“ režimu „1C Enterprise“ atidarykite nurodytą apdorojimą ir naudokite jį konfigūracijos struktūrai iškrauti, nurodydami sugeneruoto failo pavadinimą. Pavyzdžiui, pavadinkime failus „Šaltinio bazė“ ir „Paskirties bazė“.



3 pav



4 pav


5 pav

3 veiksmas. Eksportuojame mainų formato xml schemą. Tai failas su plėtiniu "xsd". Jį galite gauti ir iš „Šaltinio“, ir „Kriauklės“. Norėdami tai padaryti, atidarykite informacijos bazę režimu "Konfigūratorius" ("Atidaryti konfigūraciją"), metaduomenų medyje yra skyrius "Bendra" ir XDTO paketų poskyris.


6 pav

Raskime eilutes pavadinimu „EnterpriseData“ (skirtingi skaičiai yra skirtingos formato versijos) ir dešiniuoju pelės mygtuku spustelėdami pasirinkite komandą „Export XML Schema“.


7 pav



8 pav


9 pav

4 veiksmas.Įkeltų konfigūracijų (šaltinio ir paskirties) duomenų bazės struktūrą įtraukiame į „1C: Data Conversion“ duomenų bazę. Norėdami tai padaryti, meniu punkte „Konfigūracija“ kiekvienam sugeneruotam failui (šaltiniui ir paskirties vietai) atliekame „Konfigūracijos struktūros įkėlimas“.



10 pav

Nurodome kelią į savo failą, pasirenkame atsisiuntimo būdą - „Į naują konfigūracijos versiją“ ir spustelėkite mygtuką „Atsisiųsti“.



11 pav



12 pav

Atsisiuntę failus, jei eisime į meniu skyrių „Konfigūracijos“, pamatysime dvi mūsų atsisiųstas konfigūracijas.



13 pav



14 pav

5 veiksmas.Įkeliamos mainų formatų struktūros. Meniu elemente „Duomenų formatas“ pasirinkite komandą „Įkelti formato struktūrą“.



15 pav

Mes nurodome anksčiau įkeltą failą ir spustelėkite mygtuką „Atsisiųsti“.



16 pav

Kai atsisiuntimas bus baigtas, patikrinsime rezultatą. Eikime į meniu „Duomenų formatas“ - „Formato objektų medis“. Pasirinkę atsisiųstą formatą, matome jo struktūrą.



17 pav

6 veiksmas. Konversijos kūrimas. Norėdami atlikti savo užduotį, sukuriame dvi konversijas. Pirmasis skirtas katalogams „Darbuotojai“ ir „Darbo šalys“ iškelti iš „Apskaitos“, o antrasis – įkelti į „UT“. Eikime į meniu „Konversijos“.



18 pav

Kiekvienai operacijai nurodome pavadinimą, pavyzdžiui - „Iškrovimas iš BP“, „Įkėlimas į UT“, pavadinimas yra įmonės apskaita, prekybos valdymas ir formato versija (kurią atsisiuntėme 1.6 pavyzdyje).



19 pav



20 pav

7 veiksmas



21 pav

Atidarę kiekvieną operaciją atskirai, sukonfigūruokime ją. Skirtuke „Objekto konvertavimo taisyklės“ spustelėkite mygtuką „Sukurti“.

22 pav

Skirtuke „Pagrindinė informacija“ nurodome savo taisyklės identifikatorių (pavyzdžiui, Directory_Accounts_Upload), konfigūracijos objektą ir formato objektą. Taikymo sritis – „Siuntimui“.



23 pav



24 pav

Spustelėkite „Automatinis atitikimas“ ir spustelėkite mygtuką „Sukurti nuosavybės konvertavimo taisykles“, kad išsaugotumėte rezultatą.



25 pav



26 pav



27 pav

Jei reikia, kiti laukai konvertuojami rankiniu būdu.

8 veiksmas Pakrovimo konvertavimo taisyklė sukonfigūruota taip pat, mūsų pavyzdyje „Prekybos valdymas“. Atkreipkite dėmesį, kad paraiška taikoma „Gauti“.



28 pav

Skirtuke „Nuosavybės konvertavimo taisyklės“ atliekame automatinį atitikimą ir, paspaudę mygtuką „Sukurti nuosavybės konvertavimo taisykles“, išsaugome rezultatą.



29 pav

9 veiksmas Abiejose sukurtose konvertavimo taisyklėse sukuriame iš anksto nustatytų duomenų konvertavimo taisyklę, eidami į to paties pavadinimo skirtuką, spustelėdami mygtuką „Sukurti“ ir palygindami lentelės reikšmes pagal konfigūraciją ir formatą. Taikymo sritis: „Gauti ir siųsti“.



30 pav



31 pav



32 pav

Nurodome naują mūsų katalogo nuosavybės „Juridinis asmuo“ konvertavimo taisyklę. Atidarykime objekto „Directory_Counterparties_Upload“ konvertavimo taisyklę.



33 pav

Skirtuke „Nuosavybės konvertavimo taisyklės“ pridėkite nuosavybės konvertavimo taisyklę, joje nurodydami „Transfer_LegalIndividual“.



34 pav



35 pav

Veiksmas panašus į antrąją taisyklę „Directory_Contragnets_Loading“.



36 pav

10 veiksmas Sukuriame duomenų tvarkymo taisyklę. Abiejų mūsų sukurtų taisyklių veiksmai yra vienodi. Eidami į konversijos taisyklę, spustelėkite mygtuką „Sukurti remiantis“ - „Duomenų apdorojimo taisyklė“.



37 pav

Duomenys į jį patenka automatiškai.



38 pav



39 pav



40 pav

11 veiksmas Išimkite mainų tvarkyklės modulį konvertavimo taisyklėje spustelėdami „Išsaugoti biržos tvarkyklės modulį“ arba per elementą „Konversija“ - „Iškrauti modulį“.

41 pav



42 pav



43 pav

Tada atidarome konfigūraciją, kuriai skirtas mūsų modulis, o metaduomenų medyje ieškome „Omena Manager Through Universal Format“, atidarome jį ir įklijuojame į mainų sritį nukopijuotą modulį.



44 pav

Kuriant mainus, aptariama programa kol kas turi tik vieną funkciją - generuoti bendrų modulių Exchange Manager tekstus per universalų formatą kiekvienai duomenų bazei, naudojant mainuose dalyvaujančių konfigūracijų metaduomenų struktūrą ir universaliųjų formatų schemas. . Šiuos modulius geriau sukurti ir taikyti pradiniame mainų nustatymo etape, o toliau juos tikslinkite tiesiogiai konfigūratoriaus modulio tekste.

Konfigūracijos leidimas „Data Conversion 3.0“ yra nauja, bet progresyvi technologija, skirta supaprastinti keitimąsi tarp konfigūracijų naudojant universalų „EnterpriseData“ mainų formatą.

Šio straipsnio tikslas – atsakyti į pirmuosius klausimus apie CD3 ir pateikti paprastą pavyzdį, kaip patobulinti standartines taisykles. Informacija naudinga pradedantiesiems ir jau pradėjusiems mokytis bei turintiems naujų klausimų.

Šiame leidinyje priimtinos santrumpos

KD2- konfigūracija Duomenų konvertavimas, 2.0 leidimas.
KD3- konfigūracija Duomenų konvertavimas, leidimas 3.0, konfigūracija 3.0.5.3.
ED- universalus EnterpriseData mainų formatas.

Atsakymai į klausimus po paviršutiniškos pažinties su KD3. Jei žinote, kodėl reikalingas KD3, jums nereikia skaityti šios pastraipos;)

Klausimai ir atsakymai

  • Ar KD3 yra nauja KD2 versija? Ne! Tai dar vienas įrankis, sprendžiantis panašias į KD2 problemas. Kiekvienas įrankis turi savo paskirtį.
  • Ar KD3 geriau nei KD2? Jų negalima lyginti, nes... Tai skirtingi įrankiai ir kiekvienas turi savo privalumų ir trūkumų.
  • Norėdami pakeisti KD3 mainų taisykles, jums reikia pašalinti konfigūraciją iš palaikymo? Nr Nereikia pašalinti iš paramos! Standartinėse konfigūracijose galite paprastai prijungti išorinį apdorojimą naudodami taisykles, o konfigūracijose, kurios palaiko 8.3.10 ir naujesnę platformą, galite redaguoti taisykles naudodami plėtinį.
  • Turite perkelti duomenis iš savo tinkintų konfigūracijų. Ar galiu naudoti KD3 studijų tikslais? Jei užduodate šį klausimą, greičiausiai tai neįmanoma. KD3 konfigūracija turi apimti BSP 2.3 ir naujesnę versiją su sinchronizavimu universaliu formatu. KD2 jums tiks 100%, KD3 abejotina.
  • Ar galima naudoti KD3 standartinėms modifikuotoms konfigūracijoms? Taip tu gali. Jei jūsų nestandartinius duomenis galima perduoti naudojant ED arba atributą Papildoma informacija, tada gerai. Kitu atveju yra galimybė pakeisti mainų formatą (XML schemą). Tokiu atveju KD3 galimybės beveik prilygs KD2, tačiau pagrindinis KD3 privalumas – mainų formato universalumas – išnyks.
  • Ar ED palaikančiomis konfigūracijomis galima keistis viena su kita? Taip! Tačiau norint pakeisti BP 3.0 - BP 3.0, kurdami sinchronizavimą negalite pasirinkti BP 3.0. Jokių problemų, pasirinkite „Kita programa“. Jei jums reikia vienkartinio keitimo, tiesiog naudokite visų funkcijų meniu „Įkelti įkelti EnterpriseData“ apdorojimą.
  • Ar atnaujinus konfigūraciją reikia atsisiųsti naujausias taisykles iš platinimo rinkinio? Ne! Taisyklės yra konfigūracijos modulyje. Norint keistis su kitomis 1C duomenų bazėmis, nereikia atsisiųsti kitos duomenų bazės taisyklių. Kodėl? Išsami informacija šiame straipsnyje.
  • Ar atnaujinus vieną duomenų bazę reikia atnaujinti kitą biržoje dalyvaujančią duomenų bazę? Ne! Nereikia sinchroniškai atnaujinti visų mainuose dalyvaujančių duomenų bazių. Tai vienas iš KD3 privalumų.
  • Mūsų konfigūracijos buvo labai patobulintos, atsirado naujų tipų dokumentų ir žinynų, ar KD3 gali juos perkelti? Yra tikimybė, kad jis negalės to padaryti nepakeitus formato. Tai vienas iš KD3 „trūkumų“, palyginti su KD2.

Kam tada mums reikia KD3? Privalumai ir trūkumai

KD3 privalumai

Pažvelkime į pagrindinį CD3 pranašumą naudodami dažnai pasitaikančios užduoties pavyzdį. Yra UT 11.3 konfigūracija, kuri dėl kokių nors priežasčių nėra atnaujinta. Būtina organizuoti mainus su BP 3.0, kuris nuolat atnaujinamas iki dabartinės versijos.

Jokiu problemu.

  • CD3 naudojamas universalus mainų formatas yra skirtas tokioms problemoms spręsti.
  • Keitimosi taisyklės UT yra sukurtos ne keistis su BP, o keistis universaliu EnterpriseData formatu.
  • Jei dirbame pagal CD2, tai UT keičiasi su ED konfigūracija, kuri nesikeičia. BP 3.0 taip pat keičiasi su ED.

Kiekviena konfigūracija turi savo keitimosi su ED taisykles. Taigi UT visada įkelia duomenis į tą patį formatą. BP 3.0 konfigūracija, kad ir kokia ji būtų nauja, turi priimti duomenis iš šio formato.

Pasirodo, UT nereikia jaudintis dėl to, kad BP keičia kai kurias detales. Užduotis paprasta – įkelti į ED, o maitinimo bloko konfigūracija turi priimti duomenis iš šio formato.

  • Dėl to, kad šaltinio konfigūracija visada įkeliama vienu formatu, bet kuri imtuvo konfigūracija gali įkelti duomenis iš šio universalaus formato.
    Tie. savavališkam mainų deriniui UT - BP, UT - KA, UT - ERP, KA - BP, ERP - BP. nereikia rašyti atskirų taisyklių. KD3 taisyklės yra universalios. Bet kuri konfigūracija, palaikanti keitimą universaliu formatu, gali keistis su bet kokia konfigūracija, kuri palaiko ED formatą.

Algoritmų ir taisyklių derinimas galimas pačioje konfigūracijoje, nes visos taisyklės yra kodas iš bendro modulio arba išorinio apdorojimo. Norėdami greitai ištaisyti klaidą, galite apsieiti be CD3.

KD2 trūkumai

Keitimosi taisyklės yra individualios kiekvienai konfigūracijų porai. Visiems pirmiau minėtiems keitimosi tarp skirtingų tipų konfigūracijų ir skirtingų konfigūracijų versijų deriniams reikia savo mainų taisyklių. Todėl, norint išspręsti aukščiau pateiktą keitimosi UT 11.3 ir BP 3.0 problemą, beveik po kiekvieno BP 3.0 atnaujinimo reikės derinti ir patobulinti mainų taisykles.

Algoritmų ir taisyklių derinimas yra sudėtingas pradedantiesiems programuotojams arba tiems, kurie retai susiduria su šia užduotimi. Taisyklės saugomos xml faile. Greitas pataisymas nepasiekiamas. Taisykles reikia įkelti į CD2, pataisyti ir įkelti atgal.

KD3 trūkumai

Universalus formatas nustato apribojimus dokumentų ir žinynų tipams. Jis skirtas tipinėms konfigūracijoms. Jei turite nestandartinių rekvizitų ar dokumento tipo, keičiantis gali kilti sunkumų.

Norint įjungti ED sinchronizavimą, konfigūracija turi palaikyti šiuos mechanizmus. Visa tai yra BSP 2.3 ir naujesnėje versijoje. Tai tikrai ne minusas, tai daugiau savybė.

Pagrindinis pranašumas šiek tiek išnyksta dėl riboto formato palaikymo laiko. Tai jau patyrė UT 11.1, UT 11.2 vartotojai, kurie keičiasi su BP 3.0. Nurodomi paramos laikotarpiai sekite šią nuorodą. Jame rašoma, kad minimalus garantuotas formato palaikymo laikotarpis yra metai, iš tikrųjų apie 3 metus. Taigi, jei šiandien nustatote sinchronizavimą, negalėsite atnaujinti UT 11 duomenų bazės bent metus, o tada arba atnaujinti konfigūraciją, arba tiesiog pridėti naują formatą, atlikti nedidelį BSP ir taisyklių pakeitimą, jei reikia. . Kaip tai padaryti? Bus nurodyta vėliau šiame straipsnyje.

KD2 privalumai

KD2 galimybės yra neribotos. Galite sukurti bet kokios konfigūracijos mainų taisykles bet kurioje platformoje. Nuo 1C 7.7 iki naujausios 8.3. Iš konfigūracijos nieko nereikia, BSP nereikia. Taisyklės gali būti kuriamos automatiškai ir keičiamos.

Atsižvelgiant į aukščiau išvardintus privalumus ir trūkumus, tipinėms konfigūracijoms rekomenduojama naudoti KD3. KD2 gali būti naudojamas bet kokiai konfigūracijai, tačiau, atsižvelgiant į jo trūkumus, nepamirškite, kad kartais patartina naudoti KD3.

Tikiuosi, supratome, kam reikalingas KD3, tęskime nuo esmės.

Priimtini sutrumpinimai žemiau

BSP- Standartinių posistemių biblioteka.
PAGAL- duomenų tvarkymo taisyklė.
PKO- objekto konvertavimo taisyklė.
PKPD- iš anksto nustatytų duomenų konvertavimo taisyklė.
PKS- nuosavybės konvertavimo taisyklė.

Panagrinėkime pavyzdį – būtina pakeisti standartines BP 3.0 ir UT 11.3 keitimo taisykles

Veiksmai iš instrukcijų, kurios atidaromos CD3 formatu, yra nurodytos geltoname fone. Šiame straipsnyje siūloma veiksmų seka yra skirtinga, kad nesusipainiotumėte ir iš karto logiškai užbaigtumėte pradėtą ​​veiksmą.

Kaip pakeisti ED taisykles?
  1. Pakeiskite modulį su mainų taisyklėmis tiesiai konfigūracijoje. Šio varianto kol kas nesvarstome, nes... Norėdami suprasti, ką ir kur reikia keisti, turite tai padaryti bent kartą per CD3. Tokiu atveju ateityje bus lengviau greitai išspręsti problemas, jas derinti modulyje ir prireikus perkelti į CD3.
  2. Naudokite KD3.
    Kaip tai daroma KD2? Abiejų konfigūracijų metaduomenis iškrauname ir įkeliame į CD2.
    1 žingsnis. KD3 mes darome tą patį - kiekvienoje konfigūracijoje įmonės režimu su apdorojimu \tmplts\1c\Conversion\3_0_5_3\MD83Exp.epfįkelti konfigūracijos metaduomenis,
    pavyzdžiui, aplanke " D:\Taisyklės BP3\BP 3.0.54.15\", failo pavadinimas " MD.xml».

Neaišku, kokiu tikslu slepiami šio tvarkymo nustatymai, todėl pagal nutylėjimą duomenys į informacinius registrus neįkeliami. Pašalinkime šį trūkumą.
Pagrindinės formos procedūroje ChangeProcessingMode() pakomentuokite eilutę

// Elements.Settings.Visibility = False;

Išsaugome apdorojimą, atidarome jį įmonės režimu, nustatome vėliavėlę „Iškrauti informacijos registrus“ ir iškrauname.

3 veiksmas.Įkelti anksčiau sukurtą failą " MD.xml"KD3, sekcijos vėliavėlė" Į naują konfigūracijos versiją».

Nes KD3 mainams naudojama „tarpinė konfigūracija“ (ED), taip pat įkeliame jos „metaduomenis“, kurie yra XML schema, failas su plėtiniu „xsd“. 2 žingsnis. Jį galite paimti iš UT 11 arba BP 3.0 konfigūracijos. Jie yra vienodi. Atidarykite konfigūraciją, įveskite „ įveskite“, matome medyje Bendra – XDTO paketai tokios pakuotės: EnterpriseData_1_3_8, EnterpriseData_1_4_4 ir panašiai.. Tai yra atitinkamai 1.3 ir 1.4 formato versijos ir 1.2, 1.1, 1.0, jei yra. Dešiniuoju pelės mygtuku spustelėkite paketą ir kontekstiniame meniu pasirinkite „“.

4 veiksmas. Skiltyje CD3 pasirinkite anksčiau įkeltus failus su plėtiniu "xsd". Turite pasirinkti vieną failą! Keli pasirinkimai su ExchangeMessage nereikia! Tai buvo pasiūlyta senose ankstesnių versijų KD3 instrukcijose. Naujausiame CD3 to nereikia.

Įkėlus formatą skiltyje Duomenų formatas – formatuoti objektų medį, pasirinkite formato versiją. Jei ten yra dokumentų ir žinynų, vadinasi, įkėlėte tinkamą failą. Jei ne, pradėkite nuo naujo tuščio CD3 ir pirmiausia įkelkite formatą ir patikrinkite medį.

2 etapas.Įkėlę metaduomenis į CD3, pereiname prie standartinių mainų taisyklių įkėlimo.
Kaip tai daroma KD2? Taisyklės įkeliamos į konvertavimą.
Tai beveik tas pats KD3. Taisykles iškrauname iš standartinės, sukuriame konversiją ir įkeliame į ją taisykles.

Standartinių taisyklių iškrovimas iš konfigūracijos, skirtas įkelti į CD3

Konfigūracijos keičiamos naudojant maksimalią bendrą mainų formato versiją. Pavyzdžiui, vienos konfigūracijos didžiausias formatas yra 1,5, kitos – 1,6, o tai reiškia, kad jos keisis viena kitai 1,5 formatu. Todėl pakanka iš abiejų konfigūracijų iškrauti 1.5 formatą ir įkelti jį į taisykles.

Konfigūravimo režimu atidarome BP 3.0 arba UT 11.3 konfigūraciją, paieškos juostoje galite įvesti „ vyrų uni“, atidarykite bendrąjį modulį. Jei tai BP 3.0, atidarykite . Atidarytame modulyje eikite į meniu Failas – išsaugokite kopiją, išsaugokite failą savavališku pavadinimu, pavyzdžiui, „ D:\BP3 taisyklės\BP 3.0.54.15\General module Exchange Manager per universalų formatą_ modulį».
Atidarykite BP 3.0 arba UT 11.3 konfigūraciją įmonės režimu, atidarykite apdorojimą \tmplts\1c\Conversion\3_0_5_3\Sinchronizacijos taisyklių įkėlimas.epf

Įprasto apdorojimo trūkumas:

  • dažnai nepavyksta;
  • iškrauna taisykles iš išorinio apdorojimo, prijungto prie mazgo, bet mums reikia standartinių taisyklių;
  • neveikia esant BP 3.0.53 ir aukštesnei.

Pagrindinės apdorojimo formos modulio tobulinimas. Keičiame procedūras Kai CreatedOnServer.

&OnServerProcedureWhenCreatingOnServer(Failure, StandardProcessing) // Formato versijos pasirinkimo sąrašas. FormatVersions = nauja atitiktis; DataExchangeOverridable.OnReceivingAvailableFormatVersions(FormatVersions); Kiekvienam „ExchangePlan“ iš „DataExchange“ pakartotinai naudokite „ExchangePlansBSP() Loop If DataExchangeRepeatThisExchangePlanXDTO(ExchangePlan) Tada ExchangePlanFormatVersions = New Match; VersionBSP243 = General PurposeClientServer.CompareVersions(StandardSubsystemsServer.LibraryVersion(), "2.4.3.1") >= 0; ModuleDataExchangeServer = GeneralPurpose.GeneralModule("DataExchangeServer"); Jei versijaBSP243 tada ExchangePlanFormatVersions = Data ExchangeModuleServer.CommunicationPlanSettingsValue(ExchangePlan, "ExchangeFormatVersions"); ElseExchangePlans[ExchangePlan].GetExchangeFormatVersions(ExchangePlanFormatVersions); endIf; Kiekvienai ExchangePlanVersion iš ExchangePlanFormatVersion CycleModuleManager = FormatVersions.Get(ExchangePlanVersion.Key); Jei ManagerModule = Neapibrėžta arba ManagerModule<>ExchangePlanVersion.Value ThenFormatVersions.Insert(ExchangePlanVersion.Key, ExchangePlanVersion.Value); endIf; EndCycle; endIf; EndCycle; Kiekvienam FormatVersion FROM FormatVersion ciklas Elements.FormatVersionNumber.SelectionList.Add(FormatVersion.Key); EndCycle; FormatVersionStorageAddress = PlaceInTemporaryStorage(FormatVersions, UniqueIdentifier); Procedūros pabaiga

  • Pasirinkite „Formatuoti versijos numerį“, pavyzdžiui, „ 1.3 »,
  • „Keisti katalogą“ - sukurkite aplanką, pavyzdžiui, „“
  • Paspausk mygtuką " Išsikrauti».

Šiuos veiksmus kartojame kitoms formato versijoms ir išsaugome juos atitinkamuose aplankuose „1.4“, „1.5“ ir tt BP 3.0 pakanka atsisiųsti visus formatus nuo 1.3 ir naujesnės versijos. Kitoms konfigūracijoms nuo 1.2 ir naujesnės versijos.

Taisyklės atsisiųstos, dabar jas reikia įkelti į CD3. KD2 taisyklės įkeliamos kartu su konvertavimo kūrimu. KD3 turite sukurti konversiją ir įkelti į ją taisykles.
KD3 skyriuje Konversijos – Konversijos – Sukurti. . Pasirinkite konfigūraciją. Patogumui galite pakeisti konfigūracijos pavadinimą, pereidami į elementų redagavimo režimą. Pavyzdžiui, vietoj Buhalterinės apskaitos įmonės nurodyti " BP 3.0.54.15“ Rekvizitas vardas nereikia keisti! vardas konversijas galima nurodyti taip pat, pavyzdžiui, „ BP 3.0.54.15“ Lentelės skyriuje pasirenkame palaikomų formatų versijas. Formato versijos yra tos, kurias atsisiuntėme iš aukščiau esančios duomenų bazės. Išsaugokite konversiją.

Eikite į skyrių Konversija – sinchronizavimo taisyklių įkėlimas iš failų.
:

    Įkėlimo vieta: " Į esamą konversiją»

    Keistis katalogu: " D:\BP3 taisyklės\BP 3.0.54.15\1.3»

  • Failas su mainų moduliu: " D:\Rules BP3\BP 3.0.54.15\General module Exchange Manager per universalų formatą13_ Module.txt»
  • Konversija: " BP 3.0.54.15»

Įkeliant sinchronizavimo taisykles iš UT 11.3 failų, pasirodo klaida " Objekto laukas nerastas". Priežastis - TekPKO.UseToReceive=Klaidingas KD3 gavus reikalauja informacijos apie identifikavimo parinktį. Jei taisyklių faile jos nėra, įvyksta klaida. Ištaisome šį nesusipratimą. Pašalinkite šią formą iš palaikymo arba naudokite plėtinį.

// Pagrindinė apdorojimo forma Sinchronizavimo taisyklių įkėlimas iš failų // Prieš atliekant pakeitimus: // Procedūra įkelia objektų konvertavimo taisykles &Serveryje Procedure LoadPKO() ... Užpildykite PropertyValues(TechPKO, AttributeStructure); // Identifikavimo parinktis – speciali logika. TechPKO.Identification Option = Enumerations.Object Identification Options [Atribute Structure.Identification Option]; ElseIf ReadXML.NodeType = XMLNodeType.EndElement Tada // Parašykite įkeltą programinę įrangą. ... // Pakeitimai pažymėti "//ED" // Procedūra įkelia objektų konvertavimo taisykles &Serverio procedūroje LoadPKO() ... FillPropertyValues(TechPKO, AttributeStructure); // Identifikavimo parinktis – speciali logika. Jei TechPKO.UseToReceive Then //ED TechPKO.IdentificationOption = Enumerations.ObjectIdentificationOptions[AttributeStructure.IdentificationOption]; endIf; ElseIf ReadXML.NodeType = XMLNodeType.EndElement Tada // Parašykite įkeltą programinę įrangą. ...

Paspausk mygtuką " parsisiųsti». « Krovikliai skirti kitam konvertavimui: BP 3.0.44 (formatas 1.4). Tęsti atsisiuntimą?» Spustelėkite « Taip».
Neuždarydami formos pasirinkite kitą " Keistis katalogu“ ir paspauskite mygtuką „ “. Kiekvieno formato taisyklių įkėlimą į dabartinį konvertavimą kartojame keletą kartų.
Po sėkmingo atsisiuntimo eikite į skyrių „ Konversijos“ – „Konversijos taisyklių nustatymas“, atidarykite mūsų konversiją iš sąrašo formos.
Jei matome , POD ir pan., tada įkėlimas į CD3 buvo sėkmingas.

Patikrinkite, ar taisyklės įkeltos teisingai

Tai neprivaloma operacija! Jei taisyklėse naudojate vieną formato versiją, jums nereikia užtikrinti, kad modulio tekstas būtų identiškas.

  • Atidarykite BP konfigūratorių, sukurkite naują išorinį apdorojimą, pvz., Pavadinimas " EDBP sinchronizavimas", sinonimas " Sinchronizavimas ED BP 3.0».
  • KD3 formoje " Keitimo taisyklių nustatymas"Spustelėkite "" mygtuką ir įklijuokite šį kodą iš mainų srities į mūsų naują apdorojimą.
  • Maitinimo konfigūratoriuje tikriname, ar modulyje nėra sintaksės klaidų. Išsaugome apdorojimą.
  • sukurkite kitą tuščią apdorojimą BP, pvz., Vardas " Tipiškas EDBP sinchronizavimas", sinonimas " Sinchronizavimas ED BP 3.0 tipiškas“ Nukopijuokite bendrojo BP modulio tekstą ManagerExchangeThroughUniversalFormat13į apdorojimo modulį ir išsaugokite.

Palyginkime abu gydymo būdus. Meniu Failas – palyginkite failus.

Jei standartiniame modulyje yra procedūrų, kurių nėra mūsų taisyklėse, tai reiškia, kad neįkėlėte taisyklių į visų duomenų formatų konvertavimą. Jei būtinaĮ konvertavimą įkeliame trūkstamo formato taisykles ir kartojame savo taisyklių palyginimą su standartinėmis. Kai pasiekei tapatybę galite saugiai pradėti keisti taisykles. Nebūtina pasiekti visiškos tapatybės, jei žinote, kuris mainų formatas nebus naudojamas sinchronizuojant.

Panašiai sukuriame UT 11.3 konversiją KD3.

BP 3.0.54.15

  • Aptiktas neteisingas programinės įrangos įkėlimas " Directory_Users". Reikia pataisyti. Privaloma.
  • PKO Dokumentas_Prekių inventorius_Išsiuntimas"už PKS" Atsakingas asmuo" programinė įranga nenurodyta. Atidarykite, iš naujo pasirinkite konfigūracijos ypatybę ir formato ypatybę, kad būtų užpildytas jų tipas, po kurio lauke bus galima pasirinkti Turto konvertavimo taisyklė". Pasirinkite " Katalogas_Individuals_Dispatch".

Pažvelkime į modifikavimo pavyzdį

Pagrindinis pavyzdžio tikslas – parodyti modifikacijų galimybę perkelti papildomus duomenis, kurie netelpa į mainų formatą.

Būtina perkelti rekvizitus" TipasNomenklatūra" katalogas "Nomenklatūra", atributo tipas " Katalogas.TypaiNomenklatūra". Šio tipo katalogas nėra perkeltas į standartines KD3 taisykles ir jo nepalaiko ED formato versija, žemesnė nei 1.6.

Yra keletas šios problemos sprendimo variantų

  • XDTO paketo tobulinimas, pridedant prie formato objektą „Katalogas.Nomenklatūros tipai“. Dėl to prarandamas pagrindinis universalaus formato pranašumas – jis nustoja būti universalus. Visose mainuose dalyvaujančiose duomenų bazėse reikės tobulinti XDTO paketą.
  • Naudokite formato ypatybę " Papildoma informacija", kuris yra daugelyje objektų. Dėl tam tikro sudėtingumo šiame straipsnyje šios parinkties nenagrinėsime. Atsižvelkime į tai, kad toks metodas yra.
  • Rekvizitas Papildoma informacija. Jis yra visų formatų objektų antraštėje. Įveskite bet kokį tipą. Sukurta tokiems atvejams. Naudokime jį kaip paprasčiausią būdą.

Prieš pradėdami baigti rengti standartines taisykles, sukurkime dvi grupes taisyklių grupėje “ Pridėta», « Pasikeitė“ Tai daroma " Konversijos –".
Nauja AML, programinė įranga, algoritmai ir kt. Grupėje „Pridėta“ sukursime tipinius objektus, kuriems atliekame pakeitimus ir perkelsime juos į grupę „Pakeisti“. Taip vėliau bus lengviau prižiūrėti pakeistas taisykles.

Taigi pradėkime.

Taisyklių pakeitimai UT 11.3

KD3 formoje " UT 11.3.4.12 Keitimo taisyklių nustatymas» skirtuke Algoritmai sukurti naują algoritmą

  • Algoritmo pavadinimas „AdditionalInfoInsert“
  • Grupė: "Pridėta"

Parametrai: „XDTO duomenys, pavadinimas, papildoma reikšmė“

Algoritmo kodas

Jei DataXDTO.Property("Papildoma informacija") IR TypeValue(DataXDTO.AdditionalInfo) = Tipas("Struktūra") Tada Papildomi duomenys = DataXDTO.AdditionalInfo; Kitu atveju AdditionalData = nauja struktūra; endIf; Papildomi duomenys.Įterpti(vardas, papildoma reikšmė); DataXDTO.Insert("Papildoma informacija", Papildomi duomenys);

Išsaugokite algoritmą ir eikite į skirtuką „ Objekto konvertavimo taisyklės»

mygtuku " Rasti» ieškokite „Nomenklatūra“, atidarykite PKO « Directory_Nomenclature_Dispatch“ Eikite į skirtuką " Siunčiant“ Ten matome lauką „Tvarkytojo vardas:“ „“. Čia galite atlikti pakeitimus tiesiogiai.
Sudėtingesnis kodas, kuriam reikia derinimo, gali būti parašytas konfigūracijoje. Mes ieškome procedūros mainų modulyje UT 11.3 pavadinimu „ PKO_Directory_Nomenclature_Sending_WhenSendingData"Ir mes baigiame tai ten.
Norėdami perkelti pakeitimus iš UT 11.3 į KD3, nukopijuokite visą procedūrą į mainų sritį, KD3 formoje " Keitimo taisyklių nustatymas"Paspausk mygtuką "".

Mūsų pavyzdyje kodas yra toks

Jei reikšmė užpildyta(IB duomenys.Item Type) Tada //ED PapildomaInfoInsert(XDTO duomenys, "Elemento tipas", eilutė(IB duomenys.Item Type.UniqueIdentifier())); AdditionalInfoInsert (XDTO duomenys, "Elemento tipo pavadinimas", Bendrosios paskirties. Objekto atributo reikšmė (IB duomenys. Nomenklatūros tipas, "pavadinimas")); //AdditionalInfoInsert... //pridėti kitą paslaugos informaciją EndIf;

Perkėlę pakeitimus į CD3, paspauskite mygtuką " Išsaugoti mainų tvarkyklės modulį“ ir perkelkite kodą iš buferio į UT 11.3 modulį.

Taisyklių pakeitimai BP 3.0

Mes keičiame PKO " Katalogas_Nomenklatūros_kvitas“, skirtuke „ Konvertuojant XDTO duomenis", procedūros pavadinimas" PKO_Directory_Nomenclature_Receipt_During Data ConversionXDTO".

Kodas pridėtas prie modulio „PKO_Directory_Nomenclature_Receipt_WhenConvertingDataXDTO“

Jei DataXDTO.Property("PapildomaInformacija") IR TypeValue(DataXDTO.AdditionalInfo) = Tipas("Struktūra") Tada //ED Papildomi duomenys = DataXDTO.AdditionalInfo; Jei Papildomi duomenys.Property("Elemento tipas"), Tada nomenklatūros tipas = Data ExchangeXDTOServer.ObjectLink By ObjectUIDXDTO(Papildomi duomenys.Nomenklatūros tipas, tipas("Katalogo nuorodos. Nomenklatūros tipai"), Exchange komponentai); Jei elemento tipas.GetObject() = Neapibrėžtas Ir PapildomiData.Property("Nomenklatūros tipo pavadinimas") Tada //Sukurkite naują nomenklatūros tipąObject = Katalogai.Nomenklatūros tipai.CreateElement(); ItemTypeObject.SetLinkNew(NomenclatureType); Nomenklatūros tipasObject.Name = Papildomi duomenys. Nomenklatūros tipasPavadinimas; // užpildykite kitą paslaugos informaciją FillPropertyValues(NomenclatureTypeObject,AdditionalData); NomenklatūraTipasObjektas.Rašyti(); Elemento tipas = Nomenklatūros tipasObject.Link; endIf; ReceivedData.ItemType = elemento tipas; endIf; endIf;

Vien kodo neužtenka. Skirtuke „Nuosavybės konvertavimo taisyklės“ reikia pridėti PCS su konfigūracijos ypatybe „ “ ir žymimuoju laukeliu “ Naudotas konvertavimo algoritmas".

Keitimo tvarkyklės modulį perkeliame į BP 3 konfigūracijos modulį arba į išorinį apdorojimą.

Kaip įkelti pakeistas KD3 taisykles į duomenų bazę?

Konfigūracijose, kurios keičiasi taisyklėmis CD2, tai atliekama mazgo nustatymuose. Taisyklėms, sukurtoms CD3, matysime tik galimybę pakeisti registracijos taisykles.

KD3 parengtas taisykles galima įdiegti konfigūracijoje trimis būdais

  1. Pašalinkite konfigūraciją iš palaikymo ir pakeiskite bendrą modulį „Exchange Manager“ universaliu formatu;
  2. Konfigūracijose, veikiančiose suderinamumo režimu su 8.3.10 ir naujesne platforma, galite atlikti bendrojo modulio pataisymus naudodami plėtinį.
  3. Prijunkite plėtinį, kuris visiškai pakeičia bendrąjį modulį taisyklėmis.
  4. Nepašalindami konfigūracijos iš palaikymo, prie mazgo prijunkite išorinį apdorojimą su taisyklėmis;

Su pirmąja parinktimi viskas aišku, tai aprašyta dokumentacijoje, trūkumas yra tas, kad reikia pašalinti konfigūraciją iš palaikymo. Antrasis variantas - ištaisyti pasirinktą procedūrą su pratęsimu 1C programuotojui taip pat nebus sunku - būtina palyginti du gydymo būdus su standartinėmis taisyklėmis ir su modifikuotais, kaip aprašyta aukščiau šiame straipsnyje, ir pakeisti norimą procedūrą. .

Trečias variantas - naudojant plėtinį su mainų taisyklėmis universaliu formatu šiuo metu optimaliausias. Trūkumas kol kas yra tik vienas – jungiant šį plėtinį reikia nuimti varnelę nuo „Safe Mode“ žymės. Tai riboja jo naudojimą debesų paslaugose. Laukiame 1C sprendimo dėl mainų taisyklių pakeitimo universaliu formatu 1C Fresh.

Esmė ta, kad konfigūracijoje turite rasti kodo skyrių, kuris yra atsakingas už bendro modulio pasirinkimą, atsižvelgiant į mainų formato versiją, ir modulio pasirinkimo pakeitimą savo moduliu. BP 3.0.67 pavyzdys:

//////// // Bendrasis modulis Duomenų mainai nepaisyti &Vietoj ("Gaujant galimų formatų versijų") procedūra ED_WhenReceivingAvailableFormatVersions(FormatVersions) ED_DataExchangeServer.WhenReceivingAvailableFormatVersions(FormatVersions); Procedūros pabaiga //////// // Keitimosi plano duomenų sinchronizavimas universaliu formatu: Valdytojo modulis #Jei serveris arba storas klientas, įprasta programa arba išorinis ryšys, tada &vietoj ("Kai priimami nustatymai") ​​procedūra ED_Gavint nustatymus (Nustatymai) ) Settings.SourceConfigurationName = General Purpose.SourceConfigurationName (); Settings.ThisExchangePlanXDTO = Tiesa; Nustatymai.Įspėjimas APIE „ExchangeRule“ versijos neatitikimus = klaidinga; Settings.ExchangeFormat = "http://v8.1c.ru/edi/edi_stnd/EnterpriseData"; FormatVersions = nauja atitiktis; ED_DataExchangeServer.WhenReceivingAvailableFormatVersions(FormatVersions); //ED Settings.ExchangeFormatVersions = FormatVersions; Settings.ExchangePlanUsedInServiceModel = Tiesa; Settings.Algoritms.WhenReceivingExchangeSettingsOptions = Tiesa; Settings.Algorithms.WhenReceivingOptionDescriptionSettings = Tiesa; Settings.Algorithms.ViewSelectionInteractiveUpload = Tiesa; Settings.Algoritms.Configure Interactive Upload = Tiesa; EndProcedure #EndIf //////// // Bendrasis modulis ED_Data ExchangeServer plėtinyje Procedūra gavus AvailableFormatVersions(FormatVersions) ExportFormatVersions.Insert("1.2", ExchangeManagerThroughUniversalFormat); FormatVersions.Insert("1.3", ED_ExchangeManagerThroughUniversalFormat); FormatVersions.Insert("1.4", ED_ExchangeManagerThroughUniversalFormat); FormatVersions.Insert("1.5", ED_ExchangeManagerThroughUniversalFormat); FormatVersions.Insert("1.6", ED_ExchangeManagerThroughUniversalFormat); Procedūros pabaiga //////// // Bendrasis modulis ED_Exchange Manager per universalaus formato plėtinį // BP 3.0.44 (1.6 formato) konvertavimas nuo 2018-11-27 11:23:58 // Peržiūra už BP 3.0.67.x nuo 12/31... .

Panagrinėkime 4-ąjį variantą, kuris dokumentacijoje neaprašytas, nes BSP tokios galimybės nėra. Ši parinktis jau pasenusi. Išorinis apdorojimas su taisyklėmis naudojamos pirmosiose versijose su universaliu mainų formatu. Dabar 1C palaipsniui atsikrato šios funkcijos.

Įmonės režimu administravimo skiltyje spustelėkite nuorodą Duomenų sinchronizavimas – duomenų sinchronizavimo nustatymai, Paspausk mygtuką " Sureguliuoti..."jei yra tik vienas nustatymas arba" Keisti", jei yra keli nustatymai. Per meniu eikite į formos redagavimo režimą " " , Išskleisti " Grupė", ten įtraukiame paslėptą formos elementą " ", " Gerai".
"skirtuke" Paslaugos informacija"išsirinkti" Kelias į mainų vadybininką“, mes pakeičiame savo apdorojimą ten esančiomis taisyklėmis.

Išorinio apdorojimo prijungimas pagal taisykles prie BP 3.0.52 ir naujesnės versijos

BP 3.0.52 ir naujesnėje versijoje dėl nežinomų priežasčių išorinis apdorojimas pagal taisykles nenaudojamas. Apdorojimo prijungimo sąsaja išlieka. Bent ačiū už tai.

Galite įgalinti apdorojimą pagal taisykles naudodami plėtinį. Reikia pataisyti bendrą modulį" Data ExchangeXDTOServer", funkcija " Exchange formato versijos".

Procedūra EDm_GetExchangeFormatVersion(FormatVersions, InformationBaseNodeValue) Request = New Request("SELECT DIFFERENT | Data SynchronizationThroughUniversalFormat.PathToExchangeManager AS PathToExchangeManager, |Data SynchronizationThrough ASF Exchange. chronizavimas per universalų formatą KAIP į duomenų sinchronizavimą per Universalus formatas | WHERE | Duomenų sinchronizavimas per universalų formatą. Kelias į Exchange Manager<>"""" | Ir duomenų sinchronizavimas per UniversalFormat.Link = &Link"); Request.SetParameter("Nuoroda", informacijos bazės mazgas); Selection = Request.Execute().Select(); While Selection.Next() Ciklo apdorojimo pavadinimas = Selection.PathToExchangeManager; If NE General PurposeClientServer.DebugMode () Tada apdorojami duomenys = nauji dvejetainiai duomenys (apdorojimo pavadinimas); apdorojimo adresas = vieta laikinoje saugykloje (apdorojami duomenys); jei bendras tikslas. Yra apsauga nuo pavojingų veiksmų () Tada apdorojimo pavadinimas = išoriniai apdorojimai. Connect (apdorojimo adresas, bendroji paskirtis. Apsaugos be įspėjimų aprašymas ()); Else Processing Name = išoriniai apdorojimai. Prisijunkite (Adresas cProcessing); EndIf; EndIf; ExchangeManager = ExternalProcessing.Create(ProcessingName); FormatVersions.Insert(Selection.Verschange) , ExchangeManager); EndCycle; EndProcedure & Vietoj to("ExchangeFormatVersions") Funkcija EDm_ExchangeFormatVersions(InformationBaseNodeValue) ExchangeFormatVersions = Nauja atitiktis; Jei ValueFilled(InformationBaseNode) Tada ExchangePlanName = InformationBaseNode.Metada; ExchangeFormatVersions = Data ExchangeServer.ExchangePlanSettingsValue(ExchangePlanName,"ExchangeFormatVersions"); EDm_GetExchangeFormatVersion(ExchangeFormatVersions, InformationBase Node); Kitu atveju DataExchangeOverridden.WhenReceivingAvailableFormatVersions(ExchangeFormatVersions); endIf; Jei ExchangeFormatVersions.Quantity() = 0, tada iškvietimo išimtis StringFunctionsClientServer.Substitute ParametersIntoString(NStr("ru = "Nenurodyta jokia mainų formato versija. | Keitimosi plano pavadinimas: %1 |Procedūra: Gauti ExchangeFormatVersions(<ВерсииФорматаОбмена>)""), InformationBaseNode.Metadata().Name); endIf; Rezultatas = naujas atitikmuo; Kiekvienai versijai iš Exchange formato Versijos ciklo rezultatas.Insert(AbbrLP(Version.Key), Version.Value); EndCycle; Grąžinimo rezultatas; EndFunction

Kaip derinti išorinio apdorojimo taisykles

    Konfigūratoriuje" Paslauga -> Parinktys -> Paleisti 1C:Enterprise -> Paleisti parinktį“, nurodykite parametrą „ “.

  • Toliau pateikiamas UT 11.4, KA 2.4, ERP 2.4 plėtinio kodas. BP 3.0 kodas pateiktas aukščiau. Keitimosi plano tvarkyklės modulis Duomenų sinchronizavimas universaliu formatu.

Plėtinio kodo EDdebugging

&Vietoj("GetExchangeFormatVersions") Procedūra ED_GetExchangeFormatVersions(FormatVersions) UT Data Exchange.AvailableVersionsofUniversalFormat(FormatVersions); Užklausa = New Request("SELECT DIFFERENT | Duomenų sinchronizavimas per universalų formatą. Kelias į Exchange Manager, | Duomenų sinchronizavimas per universalų formatą. Exchange formato versija | FROM | Keitimosi planas. Duomenų sinchronizavimas universaliu formatu KAIP į duomenų sinchronizavimą per Universalus formatas | WHERE | Duomenų sinchronizavimas naudojant universalų formatą Format.PathToExchangeManager<>"""""); Selection = Query.Execute().Select(); Nors Selection.Next() Ciklo apdorojimo pavadinimas = Selection.PathToExchangeManager; Jei NE General PurposeClientServer.DebugMode() Tada //ED ProcessingData = Nauji dvejetainiai duomenys(Apdorojimo pavadinimas ) ;ProcessingAddress = PlaceIntemporaryStorage(ProcessingData);Jei GeneralPurpose.ThereisProtectionFromDangerousActions() ThenProcessingName = ExternalProcessing.Connect(ProcessingAddress, General Purpose.ProtectionDescriptionWithoutProcessing)); Adresas); EndIf; EndIf; Exchange Manager = išorinis apdorojimas. Sukurti ( ProcessingName); FormatVersions.Insert(Selection.ExchangeFormatVersions, ExchangeManager); EndCycle; EndProcedure &Instead("AvailableVersionsExchangeFormat") Procedūra ED_AvailableVersionsExchangeFormat(FormatVersions) =UniverstableVermatsFormatVermatsofqueilsal Data ExchangeUTO („PASIRINKITE SKIRTINGUS | Duomenų sinchronizavimas per universalųjį Formatas PathToExchangeManager, | Duomenų sinchronizavimasThroughUniversalFormat.VersionExchangeFormat |NUO | Keitimosi planas Duomenų sinchronizavimas universaliu formatu KAIP sinchronizuoti duomenis universaliu formatu | KUR | Duomenų sinchronizavimas per universalų formatą.PathToExchangeManager<>"""""); Selection = Query.Execute().Select(); Nors Selection.Next() Ciklo apdorojimo pavadinimas = Selection.PathToExchangeManager; Jei NE General PurposeClientServer.DebugMode() Tada //ED ProcessingData = Nauji dvejetainiai duomenys(Apdorojimo pavadinimas ) ;ProcessingAddress = PlaceIntemporaryStorage(ProcessingData);Jei GeneralPurpose.ThereisProtectionFromDangerousActions() ThenProcessingName = ExternalProcessing.Connect(ProcessingAddress, General Purpose.ProtectionDescriptionWithoutProcessing)); Adresas); EndIf; EndIf; Exchange Manager = išorinis apdorojimas. Sukurti ( ProcessingName); FormatVersions.Insert (Selection.ExchangeFormatVersion, ExchangeManager); EndCycle; EndProcedure

Derinti lengviausia failų duomenų bazėje. Apdorojant taisykles nustatome pertraukos tašką. Norėdami rasti reikiamą procedūrą, naudojame KD3. Mes randame PKO, POD arba algoritmą, pažiūrėkite " Valdytojo vardas" arba " Algoritmo pavadinimas", ieškokite šios procedūros taisyklių modulyje. Pataisę modulį nepamirškite nukopijuoti procedūros į buferį ir paspauskite mygtuką "" CD3. Būkite atsargūs, reikia atidaryti tą patį konvertavimą.

Tai kol kas viskas. Šios informacijos jau pakanka, kad 1C programuotojas galėtų savarankiškai įsisavinti KD3 ir išlaikyti modernų sinchronizavimo tarp 1C duomenų bazių metodą. Jei dar liko tuščių dėmių, klauskite, straipsnis bus papildytas ir galėsite prie jo grįžti, jei ką nors pamiršite.

Gerai žinomos nuorodos į KD3 dokumentaciją:
Galite išplėsti KD3 taikymo sritį naudodami šiuos leidinius:
  • - ankstesnių versijų konfigūracijos 8.2 ir senesnėse platformose konvertuojamos į suderinamas su ED.
Čia galite sutaupyti laiko ir naudoti paruoštas taisykles naujausioms konfigūracijų versijoms
  • - išplėstas funkcionalumas, klaidų pataisymai.

Spausdinti (Ctrl+P)

Duomenų konvertavimas, 3.0 leidimas

1 pamoka. Pasiruošimas darbui su KD3.0

Duomenų konvertavimas, 3.0 leidimas(Toliau KD3.0) – yra vienas iš duomenų mainų per formatą technologijos komponentų Įmonės duomenys. KD3.0 nėra konfigūracijos pakaitalas Duomenų konvertavimas, 2.0 leidimas(Toliau KD2.0). Tai naujas standartas, kuris labai skiriasi nuo KD 2.0. Pagrindinis tikslas KD3.0 – tai programos kodo sukūrimas mainų tvarkyklės moduliui, susidedančiam iš procedūrų ir funkcijų, įgyvendinančių duomenų įkėlimo logiką, pateiktą formatu Įmonės duomenys, taip pat duomenų įkėlimo į formatą logika.

1 pav. Bendrasis mainų valdytojo modulis

KD3.0 galima atsisiųsti iš https://users.v8.1c.ru/

3.0.5.3 versija, skirta naudoti su sistemos versija
1C:Enterprise 8.3 yra ne žemesnė nei 8.3.10, o 3.0.4.3 leidimas skirtas naudoti su 1C:Enterprise 8.3 sistemos versija, kuri yra ne žemesnė nei 8.3.8.

Pristatyme KD3.0 yra toks išorinis apdorojimas

  • Gydymas MD83Exp.epf„8.3 konfigūracijos metaduomenų struktūros aprašymo įkėlimas“ – skirtas bet kurios konfigūracijos, įdiegtos 1C:Enterprise 8.3 platformoje, metaduomenų struktūros aprašymui įkelti.
  • Gydymas Įkeliamos sinchronizacijos taisyklės.epf„Sinchronizavimo taisyklių įkėlimas universaliu formatu“, naudojamas ruošiant konvertavimo taisyklių failus, skirtus vėliau įkelti į „Duomenų konvertavimo“ konfigūraciją, 3.0 leidimas.
  • Faile „Configuration Description.htm“ yra trumpas aprašymas
    pagrindinė konfigūravimo funkcija
    „Duomenų konvertavimas“, 3.0 leidimas.

Papildoma informacija apie „Duomenų konvertavimo“ konfigūraciją, 3.0 versija
žr. http://its.1c.ru/db/metod8dev#content:5846:hdoc

1. Pasiruošimas nustatyti taisykles

Norėdami įkelti formato struktūrą, pirmiausia turite atidaryti konfigūracijos duomenų bazę konfigūravimo režimu ir atsisiųsti XDTO paketus iš konfigūracijos į *.xsd failus.

Būtina iškrauti visus su formatu susijusius paketus. Failų pavadinimai neturi esminės reikšmės. Taip pat turite įkelti ExchangeMessage XDTO paketą

Įkėlus XDTO formatą į CD 3.0, užpildomi katalogai „Format Objects“, „Format Properties“, „Format Values“

IN žinynas "Formatuoti objektus" pakrovimas:

  • Objektai, kurių tipas yra „ObjectTypeXDTO“, atspindintys referencinių duomenų tipus (dokumentai, katalogai)
  • „XDTOValueType“ tipo objektai su sąrašu. Jie atspindi iš anksto nustatytus duomenis (pvz., sąrašus)

IN žinynas „Formato savybės“ pakrovimas:

  • „ObjectTypeXDTO“ objektų savybės. Tuo pačiu metu patys objektai yra tie, kurie buvo įkelti į „Format Objects“
  • Objektai, kurių tipas yra „ObjectTypeXDTO“ ir jų savybės, atspindinčios lentelės dalis ir lentelių dalių detales

„XDTOValueType“ objektų, kurie yra iš anksto nustatytų duomenų elementai, ypatybės įkeliamos į „Format Values“ žinyną. Tuo pačiu metu patys objektai yra tie, kurie buvo įkelti į „Format Objects“

1. 2. Apdorojama „Konfigūracijos struktūros įkėlimas“

Šis apdorojimas įkelia konfigūracijos metaduomenų struktūrą į informacijos bazę Duomenų konvertavimas ed.3.

Norint atsisiųsti informaciją apie informacinės bazės struktūrą, naudojamas apdorojimas MD83Exp.epf, įtrauktas į KD3.0 konfigūracijos pristatymo komplektą

Informacinėje bazėje, kurios struktūrą reikia iškrauti, atlikite šiuos veiksmus:

  1. Atidarykite informacijos bazę įmonės režimu.
  2. Atidarykite išorinį apdorojimą MD83Exp.epf(Meniu Failas – Atidaryti).
  3. Nurodykite failo, kuriame norite išsaugoti informacijos bazės struktūrą, pavadinimą.
  4. Patikrinkite nustatymus apdorojimo formoje (visos vėliavėlės turi būti išvalytos).
  5. Paspausk mygtuką Išsikrauti.

Atsisiuntus konfigūracijos struktūrą, katalogai užpildomi

  • Metaduomenų objektai
  • Objekto savybės
  • Objektų vertybės.

Katalogas Metaduomenų objektai yra informacijos apie konfigūracijos metaduomenų objektus. Objektų tipas įrašomas į atitinkamą atributą. Priklausomai nuo atributo Type reikšmės, užpildoma metaduomenų objekto savybes apibūdinanti detalė. Išsami informacija apie metaduomenų objektus yra aprašyta antrame kataloge Objekto savybės. Objektų reikšmės (išvardijimo reikšmės ir iš anksto nustatytų elementų pavadinimai) aprašomos antrame kataloge Objektų vertybės.

Prieš įkeliant sinchronizavimo taisykles universaliu formatu, duomenų formatas turi būti įkeltas iš failų (naudojant apdorojimą(žr. 1.1 punktą), taip pat turi būti įkelta konfigūracija, kuriai sukonfigūruotos sinchronizavimo taisyklės. Konfigūracija įkeliama naudojant apdorojimą (žr. 1.2 punktą) . Taip pat atkreipkite dėmesį į tai katalogo elementas, kurį reikia sukurti Konversijos . Norėdami konvertuoti, turite nurodyti konfigūraciją ir vieną ar daugiau formato versijų, kurioms skirtas konvertavimas.

1.3.1 Failų paruošimas įkėlimo taisyklėms

Failai informacinėje bazėje, su kuriais bus keičiamasi, rengiami universaliu formatu (pvz. Įmonės apskaita ed.3.0).

Norėdami paruošti taisyklių failus, turite įvesti informacijos bazę įmonės režimu ir pradėti apdorojimą Sinchronizavimo taisyklių įkėlimas universaliu formatu, kuris įtrauktas į konfigūracijos pristatymą Duomenų konvertavimas ed.3.

Norėdami paruošti failą su tvarkyklės moduliu, turite įvesti informacijos bazę Configurator režimu ir išsaugoti bendrąjį modulį „Exchange Manager“ universaliu formatuį tekstinį failą. Galite nurodyti bet kokį failo pavadinimą.

Visi paruošti failai turi būti tame pačiame kataloge.

1.3.2 Sinchronizavimo taisyklių įkėlimas

Atlikta informacinėje bazėje Duomenų konvertavimas ed.3 perdirbant Įkeliamos sinchronizavimo taisyklės iš failų.

Apdorojimo formoje nurodykite:

  • Exchange katalogas, kuriame yra anksčiau paruošti failai
  • Konversija
  • Atsisiųstų duomenų sudėtis
    • arba nurodykite parinktį „visi“.
    • arba pasirinkite atrankinį įkėlimą ir sukonfigūruokite taisyklių, kurios turėtų būti įkeliamos, sąrašą
  • Failas su mainų tvarkyklės moduliu (nereikia, jei vykdomas atrankinis įkėlimas ir tvarkyklės neįkeliamos)
1.3.3 Įkėlimo į netuščią duomenų bazę ypatybės
  • Jei įkelta taisyklė egzistuoja ir ji priklauso tik vienai konversijai (dabartinei), taisyklė bus pakeista. Šiuo atveju esamų ir įkeltų taisyklių skirtumų analizė neatliekama, taisyklė pildoma ir rašoma besąlygiškai.
  • Jei įkelta taisyklė yra ir ji priklauso keliems konversijų katalogo elementams, įskaitant dabartinę konversiją, bus sukurta nauja taisyklė ir susieta su dabartine konversija. „Senoji“ taisyklė išliks nepakitusi ir liks susieta su kitomis konversijomis.
  • Taisyklių grupės neįkeliamos. Bet jei taisyklė buvo priskirta tam tikrai grupei, kai ji iš naujo įkeliama į šią taisyklę, ši informacija bus išsaugota.