Компютри Windows интернет

1в променя правилата за обмен чрез универсалния формат. 1С предлага формат EnterpriseData за обмен на бизнес данни. Какво представлява форматът EnterpriseData

Целта на тази статия е да отговори на първите въпроси относно KD3 и с прост пример да покаже как да променя стандартните правила. Информацията е полезна за начинаещи и за тези, които вече са започнали да усвояват и имат нови въпроси.

Приети съкращения в тази публикация

KD2- Конвертиране на данни за конфигурация, версия 2.0.
KD3- конфигурация Конвертиране на данни, ревизия 3.0, конфигурация 3.0.5.3.
ED- универсален формат за обмен EnterpriseData.

Отговори на въпроси след повърхностно запознаване с KD3. Ако знаете защо имате нужда от KD3, можете да пропуснете този параграф;)

Въпроси и отговори

  • KD3 е нова версия на KD2? Не! Това е друг инструмент, който решава проблеми, подобни на KD2. Всеки инструмент има свое приложение.
  • По -добър ли е KD3 от KD2? Те не могат да се сравняват, защото те са различни инструменти и всеки има своите плюсове и минуси.
  • За да промените правилата за размяна на KD3, имате нужда да премахнете конфигурацията от поддръжката? Не НЕ е необходимо да се оттегляте от поддръжката! В типичните конфигурации можете стандартно да свържете външна обработка с правила, а при конфигурации, които поддържат платформата 8.3.10 и по -нова, можете да редактирате правила, като използвате разширението.
  • Трябва да прехвърлите данни от вътрешни конфигурации. За целите на обучението можете да използвате KD3? Ако задавате този въпрос, най -вероятно не можете. За KD3 конфигурацията трябва да включва BSP 2.3 и по -нова със синхронизация чрез универсален формат. KD2 ще ви подхожда на 100%, KD3 е под въпрос.
  • Може ли KD3 да се използва за типични модифицирани конфигурации? Да, можеш. Ако вашите нетипични данни могат да бъдат предадени с помощта на ED или AdditionalInfo реквизити, това е добре. В противен случай има опция за промяна на обменния формат (XML схема). В този случай възможностите на CD3 ще бъдат почти равни на CD2, но основното предимство на CD3 ще бъде загубено - гъвкавостта на обменния формат.
  • Конфигурации, които поддържат ED, могат да се обменят помежду си? Да! Но за обмен на BP 3.0 - BP 3.0, когато създавате синхронизация, не можете да изберете BP 3.0. Всичко е наред, изберете „Друга програма“. Ако имате нужда от еднократен обмен, достатъчно е да използвате обработката „Качване / зареждане на EnterpriseData“ в менюто Всички функции.
  • След актуализиране на конфигурацията, трябва ли да изтеглите най -новите правила от пакета? Не! Правилата се съдържат в конфигурационния модул. За да обменяте с други бази данни 1С, не е необходимо да зареждате правилата на друга база данни. Защо? Подробности в тази статия.
  • След актуализиране на една база данни, необходимо ли е да се актуализира другата база данни, участваща в обмена? Не! Не се изисква синхронно актуализиране на всички бази данни, участващи в обмена. Това е едно от предимствата на KD3.
  • Нашите конфигурации са значително подобрени, има нови видове документи и директории, може ли KD3 да ги прехвърли? Има шанс той да не може без промяна на формата. Това е един от „недостатъците“ на KD3 в сравнение с KD2.

Защо тогава се нуждаем от KD3? Предимства и недостатъци

Плюсове на KD3

Нека разгледаме основното предимство на KD3, като използваме примера на често срещана задача. Има конфигурация на UT 11.3, която по някаква причина не се актуализира. Необходимо е да се организира обмен с BP 3.0, който постоянно се актуализира до текущата версия.

Няма проблем.

  • Универсалният формат за обмен, който се използва в KD3, е предназначен за решаване на такива проблеми.
  • Правилата за обмен в UT са създадени не за обмен с BP, а за обмен с универсален формат EnterpriseData.
  • Ако работим по отношение на KD2, тогава UT се обменя с конфигурацията ED, която не се променя. BP 3.0 също се обменя с ED.

Всяка конфигурация има свои собствени правила за обмен с ED. По този начин UT винаги качва данни в един и същ формат. Конфигурацията на BP 3.0, без значение колко е нова, трябва да може да получава данни от този формат.

Оказва се, че UT не трябва да се притеснява от факта, че BP ще промени някои подробности. Задачата е проста - качете в ED и конфигурацията на PSU трябва да може да приема данни от този формат.

  • Поради факта, че източникът винаги качва конфигурация в един формат, всеки конфигурационен приемник може да качва данни от този универсален формат.
    Тези. за произволна комбинация от борси UT - BP, UT - KA, UT - ERP, KA -BP, ERP - BP. няма нужда да пишете индивидуални правила. В KD3 правилата са универсални. Всяка конфигурация, която поддържа обмен на универсален формат, може да се обменя с всяка конфигурация, която поддържа ED формат.

Отстраняване на грешки на алгоритми и правила е налично в самата конфигурация, тъй като всички правила са кодови общ модулили външна обработка. Можете да направите без KD3, за да поправите бързо грешката.

Недостатъци на KD2

Правилата за обмен са индивидуални за всяка двойка конфигурации. Всички горепосочени комбинации за обмен между различни типове конфигурации и различни версии на конфигурации се нуждаят от свои собствени правила за обмен. Следователно, за да се реши гореспоменатият проблем с размяната на UT 11.3 и BP 3.0, ще бъде необходимо да се отстраняват грешки и да се усъвършенстват правилата за обмен почти след всяка актуализация на BP 3.0.

Отстраняване на грешки алгоритми и правила е трудно за начинаещ програмист или за някой, който рядко се сблъсква с тази задача. Правилата се съхраняват в xml файл. Няма налични бързи поправки. Необходимо е да заредите правилата в KD2, да ги коригирате и разтоварите обратно.

Недостатъци на KD3

Универсалният формат налага ограничения за видовете документи и директории. Той е предназначен за типични конфигурации. Ако имате нетипичен реквизит или вид документ, може да възникнат трудности при обмена.

За синхронизация в ED формат конфигурацията трябва да поддържа тези механизми. Всичко това е в BSP 2.3 и по -нова версия. Това всъщност не е минус, а по -скоро функция.

Основният плюс избледнява малко поради ограничената времева рамка за поддържане на формата. Това вече се усети от потребителите на UT 11.1, UT 11.2, които обменят с BP 3.0. Времената за поддръжка са посочени тук. Той казва, че минималният гарантиран период на поддръжка на формат е една година, всъщност около 3 години. По този начин, ако настроите синхронизация днес, тогава поне една година не можете да актуализирате базата данни UT 11 и след това или да актуализирате конфигурацията, или просто да добавите нов формат, да направите малка промяна в BSP и в правилата, ако е необходимо. Как да го направим? Ще бъде споменато по -късно в тази статия.

Предимства на KD2

Възможностите на KD2 са безкрайни. Можете да създавате правила за обмен за всяка конфигурация на всяка платформа. От 1С 7.7 до последните 8.3. От конфигурацията не се изисква нищо, BSP е по избор. Правилата могат да бъдат създадени в автоматичен режими изтънчен.

Във връзка с горните плюсове и минуси се препоръчва използването на KD3 за типични конфигурации. KD2 може да се използва за всяка конфигурация, но предвид неговите недостатъци, не забравяйте, че понякога е по -целесъобразно да използвате KD3.

Надявам се, че разбирате защо е необходим KD3, продължаваме по същество.

Допълнителни съкращения

БСП- Библиотека на стандартни подсистеми.
ПОД- правило за обработка на данни.
PKO- правило за преобразуване на обекти.
ПКПД- правило за преобразуване на предварително дефинирани данни.
ПКС- правило за преобразуване на собственост.

Помислете за пример - необходимо е да промените стандартните правила за обмен на BP 3.0 и UT 11.3

На жълт фон има стъпки от инструкциите, които се отварят в KD3. Последователността на стъпките, предложени в тази статия, е различна, за да не се объркате и веднага логически да завършите започнатото действие.

Как да променя правилата за ED?
  1. Променете модулас правилата за обмен направо в конфигурацията. Все още не обмисляме този вариант, защото за да разберете какво и къде трябва да се промени, е необходимо да го направите поне веднъж в KD3. В този случай в бъдеще ще бъде по -лесно за бързо решаване на проблеми, отстраняване на грешки в модула и прехвърляне в KD3, ако е необходимо.
  2. Използвайте KD3.
    Как се прави това в KD2? Разтоварваме метаданните и на двете конфигурации и ги зареждаме в KD2.
    Етап 1.За KD3 правим същото - във всяка конфигурация в корпоративен режим чрез обработка \ tmplts \ 1c \ Conversion \ 3_0_5_3 \ MD83Exp.epfкачване на метаданни за конфигурация,
    например в папката „ D: \ Правила BP3 \ BP 3.0.54.15 \", Име на файл " MD.xml».

Не е ясно с каква цел настройките на тази обработка са скрити, в резултат на това по подразбиране данните от информационните регистри не се разтоварват. Ние отстраняваме този дефект.
В процедурата ChangeProcessingMode () на основната форма коментирайте реда

// Elements.Settings.Visibility = False;

Запазваме обработката, отваряме я в корпоративен режим, поставяме флага на „Разтоварване на информационните регистри“, разтоварваме.

Стъпка 3.Заредете предварително създадения файл „ MD.xml"В KD3, флаг на раздел" V нова версияконфигурация».

Защото в KD3 "междинната конфигурация" (ED) се използва за обмен, зареждаме и нейните "метаданни", които са XML схема, файл с разширение "xsd". Стъпка 2.Можете да го вземете от конфигурацията на UT 11 или BP 3.0. Те са същите. Отворете конфигурацията, в лентата за търсене въведете „ влезте", Виждаме в дървото Общи - XDTO пакетинякои пакети като този: EnterpriseData_1_3_8, EnterpriseData_1_4_4и други подобни. Това са версии на формат 1.3 и 1.4 съответно и 1.2, 1.1, 1.0, ако има такива. Десен бутонмишка върху опаковката, в контекстното менюизбирам "".

Стъпка 4.В секцията KD3 изберете предварително качените файлове с разширението „xsd“. Трябва да изберете един файл! Множествен избор във връзка с ExchangeMessage не е необходим! Това беше предложено в старите инструкции за KD3 предишни версии... В последния CD3 това не се изисква.

След зареждане на формата в раздела Формат на данни - Форматиране на обектно дърво, изберете версията на формата. Ако там има документи и директории, значи сте качили правилен файл... Ако не, започнете отначало с нов празен CD3 и първо заредете формата и проверете дървото.

Етап 2.След зареждане на метаданните в CD3, пристъпваме към зареждане на стандартните правила за обмен.
Как се прави това в KD2? Правилата се зареждат в преобразуване.
Почти същото е и в KD3. Разтоварваме правилата от стандартното, създаваме преобразуване и след това зареждаме правилата в него.

Разтоварване на типични правила от конфигурацията за зареждане в CD3

Конфигурациите се обменят на максималната обща версия на обменния формат. Например, една конфигурация има максимален формат 1,5, другата 1,6, което означава, че те ще обменят помежду си във формат 1,5. Следователно е достатъчно да разтоварите формата 1.5 от двете конфигурации и да го заредите в правилата.

Отваряме конфигурацията на BP 3.0 или UT 11.3 в режим на конфигуратор, в лентата за търсене можете да въведете „ мъже уни”, Отворете общия модул. Ако това е BP 3.0, отворете го. В отворения модул отидете в менюто Файл - Запазване на копие, запишете файла с произволно име, например „ D: \ Правила BP3 \ BP 3.0.54.15 \ Общ модул ExchangeManager Чрез UniversalFormat_Module».
Отворена конфигурация BP 3.0 или UT 11.3 в корпоративен режим, отворена обработка \ tmplts \ 1c \ Conversion \ 3_0_5_3 \ Качете правила за синхронизиране.epf

Липса на типична обработка:

  • често се проваля;
  • разтоварва правила от външна обработка, свързана към възела, но имаме нужда от типични правила;
  • не работи в BP 3.0.53 и по -нова версия.

Промяна на модула на основната форма за обработка. Промяна на процедурите OnCreateAtServer.

& AtServer процедура OnCreateAtServer (Cancel, StandardProcessing) // Списък с избор на версии на формати. Версии на формат = Ново съвпадение; Data ExchangeRemovable.OnGettingAvailableFormatVersions (FormatVersions); За всеки ExchangePlan от DataExchangeReturnUsedExchangePlansBSP () Цикъл Ако DataExchangeRepeat.ThisExchangePlanXDTO (ExchangePlan) Тогава версиите на ExchangePlan формат = Ново съвпадение; BSP243 версия = GeneralPurposeClientServer.CompareVersions (StandardSubsystemsServer.Library Версия (), "2.4.3.1")> = 0; ModuleDataServer = Общо предназначение. CommonModule ("Сървър за обмен на данни"); Ако VersionBSP243 Тогава ExchangePlaneFormatVersions = DataExchange ModuleServer.ExchangePlanSettingsValue (ExchangePlan, "ExchangeFormatVersions"); В противен случай ExchangePlans [ExchangePlan] .GetExchangeFormatVersions (ExchangePlanFormatVersions); EndIf; За всяка ExchangePlaneVersion от ExchangePlanFormatVersion модул CycleManager = FormatVersions.Get (ExchangePlaneVersion.Key); Ако Мениджърска единица = Недефинирана или Мениджърска единица<>ExchangePlaneVersion.Value ThenFormatVersions.Insert (ExchangePlaneVersion.Key, ExchangePlaneVersion.Value); EndIf; Край на цикъла; EndIf; Край на цикъла; За всекиFormatVersion FROMFormatVersion.Loop Items.FormatVersionNumber.SelectionList.Add (FormatVersion.Key); Край на цикъла; FormatVersionStoreAddress = PutToTemporaryStore (Версии за форматиране, UniqueID); Край на процедурата

  • Избираме „Форматиране на номера на версията“, например „ 1.3 »,
  • "Exchange директория" - създайте папка, например ""
  • Натисни бутона " Разтоварвайте».

Повтаряме тези стъпки за други версии на формата и ги запазваме в съответните папки "1.4", "1.5" и т.н. За BP 3.0 е достатъчно да разтоварите всички формати от 1.3 и по -нови. За други конфигурации от 1.2 и нагоре.

Правилата са разтоварени, сега трябва да ги заредите в KD3. В KD2 правилата се зареждат едновременно със създаването на преобразуването. В CD3 трябва да създадете преобразуване и да заредите правилата в него.
В раздел KD3 Реализации - Реализации - Създаване... ... Избор на конфигурация. За удобство можете да промените името на конфигурацията, като отидете в режим на редактиране на елементите. Например, вместо СчетоводствоПредприятияпосочи " BP 3.0.54.15". Реквизит Именяма нужда да се променя! Имеконверсиите могат да бъдат посочени по същия начин, например „ BP 3.0.54.15". В табличния раздел изберете поддържаните версии на формата. Версиите на формата са тези, които изтеглихме от горната база данни. Запазваме преобразуването.

Отидете в раздела Преобразуване - Зареждане на правила за синхронизация от файлове.
:

    Място на товарене: " В съществуващо преобразуване»

    Директория за обмен: " D: \ Правила BP3 \ BP 3.0.54.15 \ 1.3»

  • Файл с обменния модул: " D: \ Правила BP3 \ BP 3.0.54.15 \ Общ модул Exchange Manager чрез UniversalFormat13_ Module.txt»
  • Преобразуване: " BP 3.0.54.15»

При зареждане на правила за синхронизация от файлове за UT 11.3 се появява грешка " Полето на обекта не е открито". Причината е за TekPKO.UseForReceive = False CD3 изисква информация за опцията за идентификация при получаване. Ако това не е във файла с правила, възниква грешка. Коригираме това недоразумение. Или премахваме този формуляр от поддръжката, или използваме разширение.

// Основната форма на обработка LoadingSynchronizationRulesFromFiles // Преди да бъдат направени промени: // Процедурата зарежда правилата за конвертиране на обекти & На сървъра Процедура LoadPKO () ... FillProperty Стойности (TekPKO, структура на атрибута); // Опция за идентификация - специална логика. TekPKO.ObjectIdentification Option = Изброяване.Опции за идентификация на обект [AttributesStructure.Identification Option]; ElseIf XMLReader.NodeType = XMLNodeType.EndItem Тогава // Напишете заредения POC. ... // Промените са маркирани с "// ED" // Процедурата зарежда правилата за конвертиране на обекти & На сървърната процедура LoadPKO () ... FillProperty Стойности (TekPKO, Структура на атрибутите); // Опция за идентификация - специална логика. Ако TekPKO.UseFor Получаване след това // ED TekPKO.Идентификационен вариант = Изброяване.Варианти за идентифициране на обекта [Структура на атрибутите. Идентифициращ вариант]; EndIf; ElseIf XMLReader.NodeType = XMLNodeType.EndItem Тогава // Напишете заредения POC. ...

Натисни бутона " Изтегли». « Манипулаторите са предназначени за различно преобразуване: BP 3.0.44 (формат 1.4). Продължаване на изтеглянето?"Щракнете" Да».
Без да затваряте формуляра, изберете друг " Директория за обмен"И натиснете бутона" ". Повтаряме няколко пъти зареждането на правилата за всеки формат в текущото преобразуване.
След успешно зареждане отидете на секцията " Conversion "-" Настройване на правила за преобразуване", Отворете нашата реализация от списъчната форма.
Ако видим POD и т.н., значи зареждането в CD3 е било успешно.

Проверка на правилността на правилата за зареждане

Това е незадължителна операция! Ако ще използвате същата версия на формата в правилата, не е необходимо да постигате идентичността на текста на модула.

  • Отворете конфигуратора на BP, създайте нова външна обработка, например Име „ Синхронизиране на EDBP", Синоним на" Синхронизация ED BP 3.0».
  • В KD3 под формата " Определяне на правила за обмен"Натиснете бутона" "и поставете този код от клипборда в новата ни обработка.
  • В BP конфигуратора проверяваме модула за синтаксични грешки. Запазваме обработката.
  • създайте друга празна обработка в BP, например Име „ Синхронизация EDB Типично", Синоним на" Типична синхронизация ED BP 3.0". Копирайте текста на общия модул за захранване Exchange ManagerUniversalFormat13в модула за обработка и го запазете.

Нека сравним и двете лечения. Меню Файл - Сравнете файловете.

Ако стандартен модул съдържа процедури, които отсъстват в нашите правила, това означава, че не сте заредили правилата за преобразуване за всички формати на данни. Ако е необходимозаредете правилата в липсващия формат в преобразуването и повторете сравнението на нашите правила със стандартните. Когато постигнахме идентичност можете спокойно да пристъпите към финализиране на правилата... Не е необходимо да се постигне пълна идентичност, ако знаете кой от форматите за обмен няма да се използва за синхронизация.

По подобен начин създаваме преобразуване за UT 11.3 в KD3.

BP 3.0.54.15

  • Забелязано неправилно зареждане PKO " Reference_Users". Трябва да се коригира. Трябва.
  • В PKO " Document_Product Inventory_Shipment"за ПКС" Отговорно лице"PQS не е посочен. Отворете, изберете отново конфигурационното свойство и свойството format, за да попълните техния тип, след което селекцията в" Правило за преобразуване на собственост". Изберете" Directory_Persons_Send".

Помислете за пример за преразглеждане

Основната цел на примера е да покаже възможностите за подобрения за прехвърляне на допълнителни данни, които не се вписват в обменния формат.

Трябва да прехвърлите реквизита " Тип Номенклатура"справочник" Номенклатура ", тип променлива" Directory.ViewsNomenclatures". Този вид справочник не се носи от стандартните правила на KD3 и не се поддържа от версията във формат ED под 1.6.

Има няколко възможности за решаване на този проблем.

  • Промяна на пакета XDTO, добавяйки обекта "Reference.Nomenclature Types" към формата. В резултат на това основното предимство на универсалния формат се губи - той престава да бъде универсален. Ще бъде необходима промяна на пакета XDTO във всички бази данни, участващи в обмена.
  • Използвайте свойство формат " Допълнителни детайли", който е в много обекти. Тази опция няма да бъде разгледана в тази статия поради известна сложност. Имайте предвид, че има такъв метод.
  • Реквизит Допълнителна информация.Той присъства в заглавката на всички форматирани обекти. Всеки тип. Проектиран за такива случаи. Ще го използваме като най -простия начин.

Преди да продължим с усъвършенстването на стандартните правила, нека създадем две групи в групата правила „ Добавено от», « Променено". Това се прави в " Реализации -".
Нови POD, PKO, алгоритми и др. ще създадем в групата "Добавено", стандартните обекти, в които правим промени, ще бъдат прехвърлени в групата "Променено". Това ще улесни последващото поддържане на променените правила.

Така че нека започнем.

Промени в правилата в UT 11.3

В KD3 под формата " UT 11.3.4.12 Определяне на правила за обмен„В раздела Алгоритмисъздаване на нов алгоритъм

  • Име на алгоритъма "AdditionalInfoInsert"
  • Група: „Добавено“

Параметри: "DataXDTO, Име, Допълнителна стойност"

Код на алгоритъма

Ако DataXDTO.Property ("AdditionalInfo") И TypeValue (DataXDTO.AdditionalInfo) = Тип ("Структура") Тогава AdditionalData = DataXDTO.AdditionalInfo; В противен случай AdditionalData = Нова структура; EndIf; AdditionalData.Insert (Name, AdditionalValue); DataXDTO.Insert ("AdditionalInfo", AdditionalData);

Запазваме алгоритъма и отиваме в раздела „ Правила за преобразуване на обекти»

Чрез бутон " намирам"Търся" Номенклатура ", отворен PKO" Reference_Nomenclature_Send". Отидете в раздела " При изпращане". Там виждаме полето "Име на манипулатора:" "". Можете да правите промени директно там.
По -сложен код, който изисква отстраняване на грешки, може да бъде записан в конфигурацията. Търсим в обменния модул в UT 11.3 процедура, наречена „ PQS_Reference_Nomenclature_Send_When SendingData„И финализиране там.
За да прехвърлите промените от UT 11.3 в KD3, копирайте цялата процедура в клипборда, в KD3 под формата „ Определяне на правила за обмен"Натисни бутона" ".

За нашия пример кодът е

Ако ValueFilled (DataIB.NomenclatureView) Тогава // ED AdditionalInfoInsert (DataXDTO, "NomenclatureView", String (DataIB.NomenclatureView.UniqueIdentifier ())); AdditionalInfo Insert (XDTO Data, "NomenclatureNomenclatureName", General Purpose.ObjectAttributeValue (DataIB.NomenclatureView, "Name")); // Допълнителна информация Вмъкване ... // добавяне на други подробности за услугата EndIf;

След като прехвърлите промените в KD3, натиснете бутона " Запазете модула на мениджъра на обмен"и прехвърлете кода от буфера към UT модула 11.3.

Промени в правилата в BP 3.0

Правим промени в PKO " Reference_Nomenclature_Getting", на" При конвертиране на XDTO данни", име на процедура" PKO_Reference_Nomenclature_Getting_WhenXDTODataConversion".

Кодът е добавен към модула "PKO_Reference_Nomenclature_Getting_WhenXDTODataConversion"

Ако DataXDTO.Property ("AdditionalInfo") И TypeValue (DataXDTO.AdditionalInfo) = Тип ("Структура") Тогава // ED AdditionalData = DataXDTO.AdditionalInfo; Ако DopData.Property ("NomenclatureType") ThenNomenclatureType = ExchangeDataXDTOServer.ObjectReferencePoUIDObjectXDTO (DopData.Nomenclature View, Type ("DirectoryLink.NomenclatureType"), Exchange Components); IfNomenclature.GetObject () = Undefined AND AdditionalData.Property ("NomenclatureKindName") След това // Създайте новNomenclatureKindObject = Directories.NomenclatureTypes.CreateElement (); NomenclatureKindObject.SetNewLink (NomenclatureKind); Nomenclature typeObject.Name = AdditionalData.Nomenclature typeName; // попълнете други подробности за услугата FillPropertyValues ​​(NomenclatureKindObject, AdditionalData); NomenclatureKindObject.Write (); NomenclatureKind = NomenclatureKindObject.Ref; EndIf; ReceivedData.NomenclatureType = NomenclatureType; EndIf; EndIf;

Само кодът не е достатъчен. Необходимо е в раздела "Правила за преобразуване на свойства" да добавите PCA със свойството за конфигурация "" и квадратче за отметка " Използва се алгоритъм за преобразуване".

Прехвърляме модула на мениджъра на обмен към конфигурационния модул BP 3 или към външна обработка.

Как да качите променените правила на CD3 в базата данни?

В конфигурации, обменящи правила на CD2, това се прави в настройките на възела. За правилата, създадени в KD3, ще видим там само възможността за промяна на правилата за регистрация.

Правилата, подготвени в KD3, могат да бъдат инсталирани в конфигурацията по три начина

  1. Премахнете конфигурацията от поддръжката и направете промени в общия модул Exchange Manager чрез универсален формат;
  2. При конфигурации, работещи в режим на съвместимост с платформа 8.3.10 и по -нови, можете да закърпите споделения модул, като използвате разширение.
  3. Свържете разширение, което напълно замества общия модул с правила.
  4. Свържете външна обработка с правила към възела, без да премахвате конфигурацията от поддръжката;

С първата опция всичко е ясно, описано е в документацията, недостатъкът е, че трябва да премахнете конфигурацията от поддръжката. Вторият вариант - коригирането на избраната процедура с разширение също няма да е трудно за програмиста на 1С - трябва да сравните двете обработки със стандартни правила и с модифицираните, както е описано по -горе в тази статия, и да направите промяна в необходимите процедура.

Третият вариант е използване на разширение с правила за обмен в универсален формат в момента най -оптималната. Има само един недостатък - необходимо е да премахнете флага " Безопасен режим"при свързване на това разширение. Това ограничава използването му в облачни услуги... Очакваме решение от 1С относно процедурата за подмяна на правилата за обмен в универсален формат в 1С прясно.

Изводът е, че трябва да намерите в конфигурацията част от код, който отговаря за избора на общ модул, в зависимост от версията на обменния формат, и да замените избора на модула със свой собствен модул. Пример за BP 3.0.67:

//////// // Общият модул за обмен на данни е заменен и вместо ("При получаване на налични версии на формати") Процедура ED_ При получаване на налични версии на формат (Версии на формат) ED_Exchanging DataServer. При получаване на налични версии на формати (версии на формат) ; EndProcedure //////// // Синхронизиране на данни от план за план чрез универсален формат: Модул на мениджър # Ако сървър или дебел клиент Обикновено приложение или външно свързване Тогава & Вместо ("При получаване на настройки") Процедура ED_When Receiving Settings (Settings) Settings .DefaultName = Общи конфигурации; Settings.ThisExchangePlanXDTO = Вярно; Settings.WarningOnMismatchRuleVersions = False; Settings.ExchangeFormat = "http://v8.1c.ru/edi/edi_stnd/EnterpriseData"; Версии на формат = Ново съвпадение; ED_DataServer. При получаване на налични версии за форматиране (версии за форматиране); // ED Settings.ExchangeFormatVersions = FormatVersions; Settings.ExchangePlanUsedInServiceModel = Вярно; Settings.Algorithms.OnGettingExchangeSettingsVariants = Вярно; Settings.Algorithms.OnGettingOptionDescriptionSettings = Вярно; Settings.Algorithms.InteractiveOfSelectionPresentation = Истина; Settings.Algorithms.ConfigureInteractiveOffload = Вярно; EndProcedure #EndIf //////// // Общ модул в разширение ED_DataServer Процедура OnGetAvailableFormatVersions (FormatVersions) ExportFormatVersion.Insert ("1.2", ExchangeManagerViaUniversalFormat); Format Versions.Insert ("1.3", ED_ExchangeManagerViaUniversalFormat); Format Versions.Insert ("1.4", ED_ExchangeManagerViaUniversalFormat); Format Versions.Insert ("1.5", ED_ExchangeManagerViaUniversalFormat); Format Versions.Insert ("1.6", ED_ExchangeManagerViaUniversalFormat); EndProcedure //////// // Общ модул в разширението ED_ExchangeManager Чрез UniversalFormat // Конвертиране на BP3.0.44 (формат 1.6) от 27.11.2018 11:23:58 // Подобрение за BP 3.0.67. x от 31.12 ... ...

Нека разгледаме четвъртия вариант, който не е описан в документацията, тъй като в БСП няма такава възможност. Тази опция вече е отхвърлена. Външна обработка с правила беше използван в първите версии с универсален формат за обмен. Сега 1С постепенно се освобождава от тази функционалност.

В корпоративен режим, в секцията за администриране, следвайте връзката Синхронизиране на данни - Настройки за синхронизиране на данни, Натисни бутона " Настройте ..."ако настройката е една или" Промяна"ако има няколко настройки. Отидете в режима за редактиране на формуляра през менюто" " , Разгъване " Група", там включваме скрития елемент на формата" "," Добре".
На " Информация за услугата"избирам" Път към мениджъра на обмен", ние заместваме нашата обработка с правилата там.

Свързване на външна обработка с правила към BP 3.0.52 и по -нова

В BP 3.0.52 и по -високи по неизвестни причини външна обработкас правила не се използва. Интерфейсът за свързване на обработката остава. Благодаря за това.

Можете да активирате обработката с правила, като използвате разширение. Общият модул трябва да бъде коригиран " Обмен на данни XDTOS сървър", функция" Форматиране на версииExchange".

процедура EDm_PoluchitVersiyuFormataObmena (VersiiFormata означава UzelInformatsionnoyBazy) заявка = Нова заявка ( "избирате различни | SinhronizatsiyaDannyhCherezUniversalnyyFormat.PutKMenedzheruObmena AS PutKMenedzheruObmena, | SinhronizatsiyaDannyhCherezUniversalnyyFormat.VersiyaFormataObmena AS VersiyaFormataObmena | ОТ | PlanObmena.SinhronizatsiyaDannyhCherezUniversalnyyFormat SinhronizatsiyaDannyhCherezUniversalnyyFormat КАК | КЪДЕ | SinhronizatsiyaDannyhCherezUniversalnyyFormat.PutKMenedzheruObmena<>"" "" "| И Data SynchronizationVia UniversalFormat.Ref = & Reference "); Request.SetParameter (" Reference ", InformationBase Node); Fetch = Request.Run (). Select (); Докато Fetch.Next () Loop ProcessingName = Fetch.Path към Runner Ако Common Exchange Manager не е () Тогава ProcessingData = New BinaryData (ProcessingName); ProcessingAddress = PutToTemporaryStore (ProcessingData); If GeneralPurpose.There е Защита срещу опасни действия () Then ProcessingName = ExternalProcessing.Descriptions. EndIf; EndIf; EndIf; ExternalProcessing.Create (ProcessingName); FormatVersions.Insert (Selection.ExchangeFormatVersion, ExchangeManager); Край на цикъла; EndProcedure & Вместо ("ExchangeFormatVersion") EDMNodeVersionNodeVersionValue Бельо (възел InfoBase) След това ExchangePlaneName = InfoBaseNode.Metadata () .Name; ExchangeFormatVersions = DataExchangeServer.ExchangePlaneSettingsValue (ExchangePlaneName, "ExchangeFormatVersions"); EDm_GetExchangeFormatVersion (ExchangeFormatVersions, възел InformationBase); В противен случайDataExchangeRedefinable.WhenGettingAvailableFormatVersions (ExchangeFormatVersions); EndIf; Ако ExchangeFormatVersions.Number () = 0 Тогава CallExceptionStringFunctionsClientServer.SubstituteParametersVSString (HStr ("ru =" Версиите на обменния формат не са посочени. | Име на обменния план:% 1 | Процедура: GetExchangeFormatVersions (<ВерсииФорматаОбмена>) ""), DatabaseNode.Metadata (). Име); EndIf; Резултат = Ново съвпадение; За всяка версия FromVersionFormatExchange Cycle Result.Insert (AbbrLP (Version.Key), Version.Value); Край на цикъла; Резултат за възстановяване; EndFunction

Как да отстранявате грешки в правилата във външната обработка

    В конфигуратора " Услуга -> Параметри -> Старт 1С: Предприятие -> Старт параметър", задайте параметъра" ".

  • По -долу е кодът за разширението за UT 11.4, KA 2.4, ERP 2.4. Кодът за BP 3.0 е даден по -горе. Модул на мениджър на план за обмен Синхронизиране на данни чрез универсален формат.

Код за разширение ED Debug

& Вместо ("GetExchangeFormatVersions") Процедура ED_GetExchangeFormatVersions (FormatVersions) DataExchangeUT.AvailableUniversalFormatVersions (FormatVersions); Заявка = Нова заявка ("SELECT DIFFERENT | Синхронизиране на данни чрез UniversalFormat.PathTo Exchange Manager, | Синхронизиране на данни чрез UniversalFormat.ExchangeFormatVersion | FROM | Exchange Plan.<>"" "" "); Fetch = Query.Execute (). Select (); Докато Fetch.Next () Loop ProcessingName = Fetch.PathToExchange Mode; IF NOT SharedPurposeClientServer.Debug Mode () Тогава // EDProcessingData = New BinaryData) ( NameProcessingData; AdresObrabotki = PomestitVoVremennoeHranilische (DannyeObrabotki) Ако ObschegoNaznacheniya.EstZaschitaOtOpasnyhDeystvy () След ImyaObrabotki = VneshnieObrabotki.Podklyuchit (AdresObrabotki, ObschegoNaznacheniya.OpisanieZaschityBezPreduprezhdeny ()), в противен случай ImyaObrabotki = VneshnieObrabotki.Podklyuchit (AdresObrabotki); ENDIF; ENDIF; MenedzherObmena VneshnieObrabotki.Sozdat = ( ImyaObrabotki) VersiiFormata.Vstavit (Vyborka.VersiyaFormataObmena, MenedzherObmena) KonetsTsikla; KonetsProtsedury и вместо ( "DostupnyeVersiiFormataObmena") процедура ED_DostupnyeVersiiFormataObmena (VersiiFormata) ObmenDannymiUT.DostupnyeVersiiUniversalnogoFormata (VersiiFormata) Query = нова заявка ( "избирате различни | SinhronizatsiyaDannyhCherezUniversalnyyFormat.PutKMenedzher на борсата, | Data SynchronizationViaUniversalFormat.ExchangeFormatVersion | ОТ | Exchange Plan.Data синхронизация чрез UniversalFormat AS Синхронизация на данни чрез UniversalFormat | КЪДЕ | Синхронизиране на данни чрез универсален формат. Път към Exchange Manager<>"" "" "); Fetch = Query.Execute (). Select (); Докато Fetch.Next () Loop ProcessingName = Fetch.PathToExchange Manager; IF NOT SharedPurposeClientServer.Debug Mode () Тогава // EDProcessingData = New BinaryData) ( NameProcessingData; AdresObrabotki = PomestitVoVremennoeHranilische (DannyeObrabotki) Ако ObschegoNaznacheniya.EstZaschitaOtOpasnyhDeystvy () След ImyaObrabotki = VneshnieObrabotki.Podklyuchit (AdresObrabotki, ObschegoNaznacheniya.OpisanieZaschityBezPreduprezhdeny ()), в противен случай ImyaObrabotki = VneshnieObrabotki.Podklyuchit (AdresObrabotki); ENDIF; ENDIF; MenedzherObmena VneshnieObrabotki.Sozdat = ( ProcessingName); Форматиране на версии.Insert (Fetch.ExchangeFormatVersion, ExchangeManager); EndLoop; EndProcedure

Отстраняването на грешки е най -лесно в файловата база данни. Зададохме точка на прекъсване при обработката с правила. За да намерите необходимата процедура, използвайте KD3. Намираме PKO, POD или алгоритъм, вижте " Име на манипулатора" или " Име на алгоритъма", търсим тази процедура в модула за правила. След редактиране на модула, не забравяйте да копирате процедурата в клипборда и натиснете бутона" "в CD3. Внимавайте, същото преобразуване трябва да бъде отворено.

Това е всичко за сега. Тази информация вече е достатъчна, за да може 1C програмист да овладее независимо KD3 и да поддържа модерен метод за синхронизация между 1C бази в работно състояние. Ако има бели петна, попитайте, статията ще бъде допълнена и можете да се върнете към нея, ако сте забравили нещо.

Добре известни връзки към документация за KD3:
  • 1С-Учебен център № 3, „Преобразуване на данни 3.0“-http://www.1c-uc3.ru/konvert30.html
Можете да разширите обхвата на приложение на KD3, като използвате тези публикации:
  • - конфигурациите на предишни версии на платформа 8.2 и по -стани стават ED съвместими.
Спестете време и използвайте готови правила за най -новите версииконфигурации могат да бъдат тук
  • - разширена функционалност, корекции на грешки.

В тази статия ще опиша моя, досега малък опит в организирането на обмен на данни чрез универсалния формат EnterpriseData.

В моя случай борсата е конфигурирана между конфигурациите „Търговско управление 11.2“ (наричано по -долу UT) и „Счетоводно отчитане на предприятието 3.0.43“ (наричано по -долу BP). Обменът е еднопосочен, от UT до BP. Преди надстройката от Trade Management 11.1 до версия 11.2 обменът на данни беше конфигуриран с помощта на конфигурацията Data Conversion 2.0. След преминаване към „11.2“ в „Търговско управление“ се появиха грешки в работата на потребителите. Процедурата за актуализиране на правилата за обмен беше извършена, но това не даде никакъв резултат. Дебъгерът показа, че проблемът е комуникацията. Беше решено да се премахнат настройките за комуникация и в двете конфигурации и да се настроят отново.

Както „Управление на търговията“, така и „Счетоводство на предприятието“ работят за нас във версия клиент-сървър. Започнах да настройвам синхронизация с UT. Изпълних го по такъв начин, че данните бяха разтоварени от UT във файл. Тоест, синхронизация чрез мрежова директория. В захранващия блок настроих обмена по такъв начин, че да не се разтоварват данни от захранващия блок.

Възникна грешка при извикване на контекстния метод (Check): Грешка при проверка на XDTO данни:
Структурата на обекта "/Банковата сметка на контрагента/Банката" не съответства на типа: (http://v8.1c.ru/edi/edi_stnd/EnterpriseData/1.1)
Проверка на свойството "BIC":
Форма: Елемент
име: (http://v8.1c.ru/edi/edi_stnd/EnterpriseData/1.1) BIC
тип:
Липсва необходим имот
Обект: Договор с контрагент № ...

За да анализирам грешката, щракнах върху иконата „Състав на данните, които трябва да бъдат изпратени“ и в списъка с изпълнители, регистрирани за изпращане, намерих споразумение, съгласно което се появи грешка. Отвори договора, запомни банковата сметка на контрагента, посочена в договора. След това преминах към банковите сметки, регистрирани за изпращане. Оказа се, че необходимата сметка не е в списъка на регистрираните. Публикувам отново проблемната банкова сметка и сключвам договор. След това регистрирах ръчно необходимата банкова сметка.

Опитах отново да синхронизирам данни от UT. Този път данните бяха успешно разтоварени. V мрежова папкасе формира XML файлсъдържащи данни за прехвърляне от UT към BP.

Следващата стъпка е да заредите данни от файл в счетоводния отдел на предприятието. В конфигурацията "Enterprise Accounting" натиснах бутона "Synchronize", отвори се формуляр за обработка със съобщение "Анализ на данни в ход". Малко по -късно съобщението се промени на „Разтоварване на данни“. В същото време индикаторът и броячът показаха, че повече от 80 хиляди обекта се разтоварват от захранващия блок. Това ме обърка, защото посочих в настройките, че нищо не трябва да се разтоварва от захранващия блок. Обработката отне доста време и завърши с грешка:

Събитие: Обмен на данни
(SharedModule.LongedOperations.Module (371)): Работният процес на фоновите задачи е прекратен необичайно
CallException (ErrorText);

За да локализирам грешката, се опитах да променя настройките за синхронизация и опциите за работа на BP базата. В резултат на това, когато превключих базата данни към файловата версия, системата работи адекватно: отвори се формулярът за сравнение на две бази данни. След съвпадение на обектите първоначалната синхронизация беше успешна. След това върнах базата данни към версията клиент-сървър.

По време на по-нататъшното "набегване" на синхронизацията беше необходимо да се направят някои промени в правилата за преобразуване на обекти. Сега е моментът да използвате конфигурацията Data Conversion 3.0. Помощта за онлайн конфигурация описва как се работи. Статиите на уебсайта на ITS също помогнаха.

В резултат на това заредих следните данни в „Преобразуване на данни 3.0“:

  • Текстове на общия модул "DataExchangeManagerViaUniversalFormat" от две бази
  • Схема на двете бази
  • Описание на формата EnterpriseData (от всяка една база данни)
  • Правила за преобразуване

След изтеглянето отворих правилата за преобразуване на данни, обекти, свойства в „Преобразуване на данни 3.0“. Направи необходимите редакции за мен. След това използвах бутона „Разтоварване на модула за мениджър на обмен“. Текстът на модула е копиран в клипборда. Остава само да го вмъкнете в конфигурацията.

Експериментирайки с задаването на правилата в „Преобразуване на данни 3.0“, аз заключих за себе си, че в случай, че направените промени са незначителни, е по -лесно да се настроят правилата директно в конфигурациите на UT и BP, в общия модул „DataExchange ManagerVia UniversalFormat ". Ако редакциите са сериозни, като например добавяне на нов обект към обмена, тогава трябва да използвате конфигурацията " Преобразуване на данни 3.0 ".

Изпълних задачата да добавя документа „Поръчка към доставчика“ към плана за обмен, използвайки „ Преобразуване на данни 3.0 ". стандартна версия UT - BP на този документ в плана за обмен не е.

Имайте предвид, че правилата за регистриране на обекти за разтоварване все още са конфигурирани в конфигурацията "Data Conversion 2.0".

Това са първите впечатления от синхронизирането на данни чрез универсалния формат EnterpriseData.

P.S. Ако имате въпроси и свои наблюдения относно обмена на данни чрез универсалния формат и конфигурация " Преобразуване на данни 3.0 ", пишете в коментарите. Ще обменяме опит.

  • Синхронизиране на данни
  • Общ формат на EntepriseData
  • Преобразуване на данни 3.0
  • Преобразуване на данни 2.0
  • Управление на търговията
  • Счетоводство на предприятието

Нека да разгледаме един прост пример от реалния живот. Да кажем, че имаме компания, която се занимава с търговия на едро и дребно, също в тази компания, както във всяка друга, се води счетоводство. Предприятието има две стандартни бази, това са UT (управление на търговията) и BP (съответно счетоводство на предприятието), съответно всяка от базите поддържа собствено счетоводство, в UT управленски, за да отразява всички транзакции, свързани с търговията, в счетоводството на BP. За да не се върши двойна работа, т.е. не създавайте едни и същи документи в две бази (в края на краищата движенията трябва да са за управление и счетоводство) просто ще настроим синхронизацията между тези бази.

Ще настроим обмен на данни еднопосочно, от UT ---> BP. Възможно е също така да се създаде двупосочен обмен, но на практика това не се изисква толкова често, така че няма да го разглеждаме в нашия пример.

Подготвителни стъпки за създаване на обмена в BP

Нека започнем да настройваме синхронизация, първо отиваме в базата данни (приемник на 1C "Enterprise Accounting 3.0"), трябва да проверим дали синхронизацията е активирана за тази база данни, за да направим това, първо трябва да отидем в базата данни. Веднага след като базата се отвори, отидете на раздела "Администриране" ---> "Настройки за синхронизиране на данни"


Пред нас се отваря нов раздел, който трябва да бъде попълнен по същия начин, както на екрана по -долу, с изключение на префикса на информационната база. Префиксът трябва да се състои от две букви, можете да зададете всяка една, но според стандарта 1С е по -добре да зададете префикса от името на конфигурацията, тоест за "Enterprise Accounting" префиксът ще бъде "BP". Ако създавате сложни борси и има няколко счетоводни бази, тогава префиксите трябва ясно да се различават един от друг, тук можете да използвате първите две букви от името на организацията като съкращение.

Продължаваме да конфигурираме синхронизирането на данни в UT


След като сме извършили всички необходими действия в базата на приемника (BP 3.0), за да продължим да настройваме обмена на данни, трябва да отворим базата източник (UT 11.1). Отиваме в раздела „Администриране“, вляво в менюто, избираме елемента „Настройки за синхронизиране на данни“... Ако синхронизацията не е активирана, активирайте я с помощта на квадратчето за отметка и не забравяйте да посочите префикса на изходната база. След като завършим всички точки 1-4, както е показано на изображението по-долу, трябва да кликнете върху хипервръзката "Синхронизиране на данни" (точка 5).


В новия прозорец, който се появява, трябва да кликнете върху зеления знак плюс (Конфигуриране на синхронизирането на данни), в падащото меню изберете елемента „Счетоводство на предприятието 3.0“.

Конфигуриране на важни точки в обмена на данни между UT и PSU


Сега виждаме прозорец с настройка за синхронизиране на данни в 1С, избираме елемента "Укажете настройките ръчно" и натиснете "Напред".


Продължаваме да конфигурираме обмена на данни в 1С, в следващия раздел трябва да изберем опцията за свързване към информационната база на приемника ( директна връзкакъм програмата), параметри на връзката (включено този компютърили в локална мрежа), директорията, където се намира базата на приемника, както и необходимите данни за удостоверяване (потребителско име и парола в базата).


На следващата страница трябва да попълним правилата за изпращане и получаване на данни от конфигурацията (приемник) на BP 3.0. Кликнете върху „промяна на правилата за качване на данни“.


Прозорецът "Правила за изпращане на данни" се отвори пред нас, в него зададохме следните параметри:

  • Кой НСИ ще бъде изпратен (в нашия пример се интересуваме само от документи и НСИ, използвани в тях, затова отидохме до съответния елемент, ако изберете първия елемент „Изпрати всички“, тогава всички директории ще бъдат презаредени заедно с документите, често ако информацията не се използва в документите, тогава тя е безполезна за получателя, тъй като не влияе по никакъв начин на счетоводството)
  • От коя дата да изпратите цялата информация (няма да обмисляме ръчна синхронизация в тази статия)
  • За кои или кои организации да изпращаме данни (в нашия пример избрахме една организация IE "Предприемач")
  • Правила за сключване на договори
  • Обобщен склад
  • Дали да сгънете документи в склада

След като сме направили настройките, кликнете върху „Запазване и затваряне“.


Тъй като в нашия пример ние настройваме и използваме еднопосочен обмен, от UT до BP, тогава настройките на правилата за получаване на данни от „Enterprise Accounting 3.0“ не представляват интерес за нас, затова кликнете върху „Next“.


В нов прозорец сме поканени да конфигурираме правилата за базата на приемника (BP). В точка 1 наричаме някак си базата си, даваме й префикс. PREFIX трябва да е същият, както го зададохме в самата база данни BP в началото на тази статия, ако префиксите се различават, синхронизирането на данни в програмата 1C няма да работи.След това натискаме точка 2, а след това точка 3.



В параграф 3 трябва да разрешим публикуването на документи, когато се зареждат в базата данни. Кликнете върху „Запазване и затваряне“.


Сега прозорецът трябва да изглежда като този, показан по -долу, щракнете върху „Напред“.


Този прозорец съдържа справочна информация за създадената синхронизация в 1С. Просто щракнете върху бутона „Напред“. Ако програмата показва грешка при настройка на синхронизирането на данни, тогава трябва да се свържете с нас, за да може нашият специалист по 1С да ви помогне точно сега!


В следващата стъпка програмата ще предложи да извърши синхронизация веднага след създаване на настройките за обмен на данни... Нека се съгласим с това и кликнете върху „Край“.

Пред вас ще се появи прозорец, в който ще видите информация за това как протича синхронизацията. Ако базата на приемника не е празна, т.е. тъй като в него вече се води счетоводство, потребителят в програмата 1С ще бъде подканен да направи ръчно сравнение на обекти. Сравнението на обекти в 1С по време на синхронизацията на данни е сравнение на същите обекти на приемника със същите обекти в източника.

Нека разгледаме един пример, да кажем в UT има контрагент с името „PharmGroup LLC“ и TIN 1234567, а BP също има контрагент с TIN 1234567, но името „PharmGroup“, ако не сравняваме тези два обекта, когато сравнявайки данните на етапа на синхронизация, след това след синхронизиране в приемника (Enterprise Accounting 3.0), ще имаме два контрагента с TIN 1234567 и две имена съответно „PharmGroup LLC“ и „PharmGroup“. За да се избегнат подобни ситуации, е изобретен механизъм за съвпадение на обекти.


В нашия пример базата на приемника е празна и следователно прозорците за картографиране на обекти не се отвориха за нас. Но след извършване на някои операции системата със сигурност ще подкани потребителя да добави някои допълнителни данни и да покаже следния прозорец. Не е необходимо да прехвърляме допълнителни данни, вече сме конфигурирали всичко необходимо преди това, затова на тази стъпка избираме „Не добавяйте документи към изпращането“. Кликнете върху „Напред“.

Последният етап от обмена на данни между 1С


На последния етап програмата ще покаже следния прозорец, в който потребителят ще бъде информиран, че синхронизацията е успешна, щракнете върху „Край“. Това завършва синхронизирането между базите в еднопосочния обмен от „Търговско управление 11.1“ (UT) към „Счетоводно отчитане на предприятието 3.0“ (BP).

Автоматизирани системиуправлението в повечето случаи се състои от отделни бази данни и често имат географски разпределена структура. В същото време правилно осъщественият обмен на данни е предпоставка за ефективната работа на такива системи.

В същото време първоначалната настройка на обмен може да изисква редица действия, не само по отношение на програмирането, но и консултиране, дори ако имаме работа с хомогенни източници, както е в случая с продуктите на платформата 1С: Предприятие. Защо настройването на 1C обмен (или, както се нарича още, синхронизиране на данни в 1C 8.3) може да се превърне в най-отнемащата време и скъпа задача на интеграционен проект, ще разгледаме в тази статия.

Обменът на данни в среда 1С позволява:

  • Изключете двойното вписване на документи;
  • Автоматизиране на свързани бизнес процеси;
  • Оптимизиране на комуникацията между разпределени единици;
  • Бързо актуализиране на данни за работата на специалисти от различни отдели;
  • "Разграничете" различни видове счетоводство. *

* В случай, когато данните от един вид счетоводство се различават значително от друг, е необходимо да се гарантира поверителността на информацията и "разграничаване" на информационните потоци. Например обменът на данни между 1C UT и 1C Accounting не изисква качване на данни за управление в рутинната счетоводна база данни, т.е. синхронизацията в 1С тук ще бъде непълна.

Ако представим стандартния процес на осъществяване на първичен обмен на данни, когато поне един от неговите обекти е продукт 1С, тогава могат да се разграничат следните етапи:

  • Координация на състава на борсата;
  • Определение на транспорта (обменни протоколи);
  • Задаване на правила;
  • Планиране.

Идентифициране на състава на борсата 1С

Обектите на размяна могат условно да бъдат разделени на „източник“ и „приемник“. В същото време те могат да изпълняват две роли едновременно, които ще се наричат ​​- двустранен обмен. Определянето на източника и дестинацията става по логичен начин, в зависимост от нуждата или от функционалностсистема. *

* Например при интегрирането на „WA: Financier“ - решение за финансово счетоводство и управление на съкровищни ​​процеси, разработено на базата на „1С: Предприятие“, експертите на WiseAdvice го препоръчват като основна система. Това се дължи на наличието на инструменти за контрол, които да отговарят на правилата на политиката за прилагане, и съответно да гарантират ефективността на решението.

Освен това въз основа на получените и записани изисквания от потребителите се създава списък с данни за обмен, определя се техният обем, изисквания за честотата на обмена, процесът на работа с грешки и обработка на изключителни ситуации (сблъсъци) е предписани.

На същия етап, в зависимост от автопарка от съществуващи системи и структурата на предприятието, се определя форматът за обмен:

Разпределена информационна база

  • RIB предполага обмен между идентични конфигурации на бази данни 1С, с ясна структура за управление главен-подчинен за всяка двойка за обмен. Като елемент от технологичната платформа, RIB, в допълнение към данните, може да прехвърля промени в конфигурацията и административната информация на базата данни (но само от главния към подчинения).

Универсален обмен на данни в 1С

  • Механизъм, който ви позволява да конфигурирате обмена на бази данни 1С, както с конфигурации на платформата 1С: Предприятие, така и със системи на трети страни. Обменът се осъществява чрез преобразуване на данни в универсален xml формат в съответствие с "Плановете за обмен".

EnterpriseData

  • Най -новото развитие на компанията 1С, предназначено за осъществяване на обмен на данни във формат xml между продукти, създадени на платформата 1С: Предприятие с всякакви системи за автоматизация. Използването на EnterpriseData опростява подобрения, свързани с обмена. Преди това, когато в системата беше включена нова конфигурация, беше необходимо да се внедри механизъм за импортиране и експортиране на данни, както за нея, така и за съществуващи системи. Сега системите, поддържащи EnterpriseData, не се нуждаят от никакви модификации, като имат само една точка „вход-изход“.

Определение на транспорта (протоколи за обмен)

За системата, базирана на платформата 1С: Предприятие 8, се предоставя широк спектър от възможности за организиране на обмен с всякакви информационни ресурси чрез общоприети универсални стандарти (xml, текстови файлове, Excel, ADO връзка и др.). Следователно, при определяне на транспорт за обмен на данни, трябва да се изхожда от възможностите на системна база данни на трета страна.

Синхронизиране на директории

Основният принцип за ефективна синхронизация на директории е наличието на една входна точка. Но ако говорим за работа с справочници, които исторически са попълвани според различни правила, е необходимо ясно да се дефинират полетата за синхронизация, за да се доведе обменът до „общ знаменател“. *

* На този етап може да се наложи да се извърши работа по нормализиране на референтните данни отстрани на източника на данни. В зависимост от състоянието на справочниците и техния обем, процесът на съвпадение на елементи, разпознаване, откриване на грешки и дубликати, както и попълване на липсващи полета и задаване на полета за синхронизация, може да изисква работа на цяла група експерти, както от интегратора (собственик на метода за стандартизация на референтни данни) и от страна на клиента.

Определяне на правила

Възможността за показване на данни от изходни системи в приемници зависи от правилно посочените правила за обмен. Правилата, представени във формат xml, регулират съответствието на ключовите атрибути на обектите източник-дестинация. Решението "1С: Преобразуване на данни" е предназначено да автоматизира създаването на правила за прилагане както на еднократен обмен, така и на постоянен.

Гарантира липса на загуба на данни при размяна на плана за обмен. Това е неразделна част от всяка конфигурация на платформата 1С: Предприятие, която изцяло описва процедурата за обмен на състав 1С: данни (документи с "идентификационни" данни) и възли ( информационни базипредаватели-приемници), както и активирането на RIB за избраните посоки на обмен.

Всяка промяна в данните, въведени в плана за обмен, се записва и получава знак за „промяна“. Докато променените данни съвпадат помежду си в предавателно-приемните възли, флагът няма да бъде изчистен и системата ще изпраща контролни съобщения до двата възла. След разтоварване на данните и потвърждаване на пълното им съответствие в двете системи, знакът се нулира.

График за обмен в 1С

За да автоматизирате редовния обмен, се задава честотата на качване на данни. Честотата на обмен зависи от необходимостта и техническите възможности. Също така, конфигурациите на платформата 1С: Предприятие ви позволяват да настроите обмен на данни при възникване на събитие.

След като разгледахме процеса на внедряване на стандартен обмен, нека обърнем внимание на факторите, които ще изискват подобрения на различните етапи:

  • Нетипични, силно модифицирани конфигурации на база данни;
  • Различни версии 1С: Корпоративни платформи;
  • Не се актуализира дълго време, не актуални версииконфигурация;
  • Обекти на размяна, които преди това са претърпели промени;
  • Необходимостта от нестандартни правила за обмен;
  • Много различен набор и състав на реквизитите в съществуващите справочници.

Тъй като дори стандартните действия за осъществяване на първичен обмен на данни изискват експертни познания, те се препоръчват да се извършват с участието на специалисти от 1С. Едва след като изпълните всички горепосочени стъпки, трябва да преминете към настройка на обмена в конфигурацията. Нека разгледаме интегрирането на бази данни, като използваме примера на "1C: UPP" и "1C: Retail" (според същата схема обменът с "1C: UT" е конфигуриран). Също така типичната синхронизация включва обмен на SCP - SCP, което е характерно за мащабни системи за автоматизация в най -големите индустриални предприятия.

В подменю „Услуга“ изберете „Обмен на данни с продукти на платформата ...“ (изборът на директен обмен с „Търговия на дребно“ често заплашва с грешки на ниво COM обекти). Нека обърнем внимание на служебното съобщение „Тази функция не е налична“.


За да разрешите този проблем, трябва да изберете „Настройки за комуникация“


... и поставете отметка в квадратчето. След това игнорираме съобщението за грешка.


В настройките за синхронизиране на данни изберете „Създаване на обмен с„ Търговия на дребно ”...



Преди да конфигурирате настройките за свързване чрез локална или мрежова директория, уверете се, че има достатъчно място на диска за директорията. Въпреки че, като правило, това не отнема повече от 30-50 MB, в изключителни случаи може да се наложи до 600 MB. Можете да създадете необходимата директория директно от конфигуратора.



Когато се свързвате чрез мрежова директория, офертите за конфигуриране на връзката чрез FTP адрес и чрез електронна пощаигнорирани, като щракнете върху „Напред“.


В настройките ние ръчно поставяме префикси - конвенциите на базите (като правило, BP, UPP, RO), задаваме правилата и началната дата на качване на данни. Префиксът ще бъде посочен в името на документите, за да посочи основата, в която са създадени. Ако правилата за разтоварване не са редактирани, данните ще бъдат разтоварени по подразбиране за всички налични параметри.



Създаваме файл с настройки за обмен за „Търговия на дребно“, за да не повтаряме действията си. Ако трябва незабавно да изпратите данни веднага след настройване на синхронизацията, поставете отметка в квадратчето.


За да автоматизирате процеса на обмен, трябва да настроите график.


Меню на дребно.


Поставете отметка в квадратчето и изберете „Синхронизация“.


Ние правим настройката „обратно“, като избираме Управление на производствено предприятие.




Заредете файла с настройки, създаден в SCP.


Поставяме отметка, системата автоматично взема адреса.





Действаме по същия начин, както в UPP.









Сравнение на данните за проверка (Ръчното сравнение на данните се препоръчва на подготвителния етап, тъй като тази работа може да стане най-отнемащата време в процеса на осъществяване на обмена). Прозорецът за картографиране се отваря от кликнете два пътимишки.



В случай на грешка при синхронизирането, „Подробности ...“ ще бъде заменено с „Никога ...“.


„Подробно ...“ отваря регистрационен регистър с актуализирана информация за борсата.


Готов.