Универсален обмен на данни в xml формат 7.7. Външен вид и характеристики на използването на универсален обмен на данни

И тази статия описва стъпките, необходими за обмен на данни от конфигурацията на 1C: Enterprise версия 7.7 до 8.2, като се използва същата конфигурация Преобразуване на данни, издание 2.1.4.1.

Нека намерим файла за обработка на MD82Exp.epf като част от комплекта за разпределение на данни за преобразуване.
Ще е необходимо да се разтовари описанието на структурата на метаданните на основната конфигурация на приемника.

Ще намерим и обработващия файл V8Exchan82.epf - „Универсален обмен на данни в XML формат“ като част от същия комплект за разпространение.
Ще ви трябва, за да разтоварите основата на приемника. Както подсказва името, тези лечения са предназначени
за работа с версия 1С: Предприятие 8.2.

След това ще намерим инструменти за работа с 1С: Предприятие 7.7.

Конфигурационната дистрибуция за преобразуване на данни съдържа файл за обработка MD77Exp.ert.
Ще е необходимо да се разтовари описанието на структурата на метаданните на конфигурацията на източника.

Ще намерим и обработващия файл V77Exp.ert - „Универсален експорт на данни в XML формат“ като част от същия комплект за разпространение.
Ще е необходимо да се разтовари изходната база.

Така че нека да започнем:

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

  1. Нека да отворим изходната база данни в режим 1С: Предприятие 7.7 и да започнем да обработваме MD77Exp.ert
    за да разтоварите описанието на структурата на метаданните на източника.
    Нека запазим структурата на метаданните на източника във файла Rules1.xml.
  2. Нека отворим основата на приемника в режим 1С: Предприятие 8.2 и започнем да обработваме MD82Exp.epf
    да качите описание на структурата на метаданните на приемника.
    Нека запазим структурата на метаданните на приемника във файла Rules2.xml.

Нека да заредим описанията на структурата на метаданните и на двете конфигурации.

  1. Нека започнем конфигурацията Преобразуване на данни в режим 1С: Предприятие 8.2.
  2. Нека отворим директорията "Конфигурации" (Референции -\u003e Конфигурации). Той съхранява информация за конфигурацията,
    между които могат да се конфигурират правилата за обмен.
  3. Нека добавим информация за конфигурацията на източника. Натиснете бутона "Добавяне" или бутона "Вмъкване".
  4. Нека посочим пътя към файла със структурата на метаданните на източника rules1.xml. Натиснете бутона "Изпълнение на изтеглянето".
  5. Нека добавим информация за конфигурацията на приемника. Натиснете бутона "Добавяне" или бутона "Вмъкване".
  6. Нека посочим пътя към файла със структурата на метаданните на приемника Rules2.xml. Натиснете бутона "Изпълнение на изтеглянето".

И така, заредихме информацията за източника и дестинацията. Сега можем да конфигурираме правилата за обмен.

  1. Нека отворим директорията „Преобразувания“ (Референции -\u003e Преобразувания). Това ръководство съдържа информация
    в която се определя между кои конфигурации се извършва обменът и в коя посока.
  2. Нека добавим нов елемент. Натиснете бутона "Добавяне" или бутона "Вмъкване".
  3. Нека посочим източника на конфигурация от директорията "Конфигурации". Поле "Конфигурация - източник:".
  4. Нека посочим конфигурацията на приемника от директорията "Конфигурации". Поле "Конфигурация - дестинация:".
  5. Важен детайл !!! Нека отворим раздела „Допълнителни“. Полето "Име на файла на модула за разтоварване:".
  6. Посочете местоположението на файла за разтоварване на модула, например: C: \\\\ Bases \\\\ Unload Module.txt
  7. Съдържанието на този файл е необходимо, за да замени цялото
    модул в обработка V77Exp.ert. Разтоварването е невъзможно без тази подмяна!
  8. Нека натиснем бутона „ОК“.

Страхотно, конфигурирахме правилата за обмен. Остава да качите тези правила за обмен във файл.

  1. В справочника "Конверсии" изберете новосъздадения елемент.
  2. На референтния панел натиснете бутона "Към правилата". Ще се отвори формуляр с правила за преобразуване.
  3. В раздела „Правила за качване на данни“ ще посочим какво точно искаме да качим.
  4. В раздела „Преобразуване на свойства“ можем да посочим картографирането на детайлите на разменените обекти.
  5. В този формуляр в горния ляв ъгъл ще намерим бутона „Запазване на правилата“.
  6. Посочете името и пътя на файла (например C: \\\\ Bases \\\\ DataRules.xml). Нека натиснем бутона „Отваряне“.
  7. По късно, посочен път можем да променим в директорията „Конверсии“ \u200b\u200b-\u003e „Промяна на текущия елемент (F2)“ -\u003e раздела „Разширени“ -\u003e полето „Име на файла с правила за обмен:“.
  8. По време на запазването на правилата модулът за разтоварване също се записва в пътя, който посочихме по-рано: C: \\\\ Bases \\\\ Unloading module.txt

Правилата за преобразуване са готови! Сега нека направим обмен на данни.

Нека отворим базата на източника в режим 1C: Configurator 7.7, след което отворим V77Exp.ert обработка -
Msgstr "Универсално качване на данни в XML формат". Нека отворим раздела "Модул", изтрием цялото съдържание на модула.
Поставете реда: # LoadFromFile C: \\\\ Bases \\\\ Unload Module.txt.

С директивата "LoadFromFile" превключваме зареждането софтуерен модул за зареждане от текстов файл.
Сега трябва да се уверите, че файлът с кода за разтоварване ModuleUnload.txt винаги е в посочената от нас папка.

Нека запазим обработката на V77Exp.ert.

За да качите данни, трябва:

  1. Отворете изходната база данни в режим 1С: Предприятие 7.7, след което отворете новозаписаната обработка на V77Exp.ert.
  2. Посочете името на файла с правила за обмен в полето "Име на файл с правила:" (запазихме го тук: C: \\\\ Bases \\\\ DataExchange Rules.xml) и
    изберете файл в полето "Име на файл с данни:", в който данните ще бъдат изтеглени (например C: \\\\ Bases \\\\ UnloadingDataFrom7.7.xml).
  3. След това трябва да изтеглите правилата за обмен, като кликнете върху бутона „Изтегляне на правила за обмен“.
  4. За да качите документи за определен интервал, трябва да посочите периода - "Начална дата" и "Крайна дата".
  5. Полето за отметка в списъка „Правила за качване на данни“ посочва кои данни ще бъдат качени и кои не.

Сега нека да заредим данните в базата данни на приемника. Нека да го отворим в режим 1С: Предприятие 8.2 и да започнем обработката
„Общ обмен на XML данни“ за зареждане на изходни данни.

Това е файлът за обработка V8Exchan82.epf. Или отворете „Услуга“ -\u003e „Други обмени на данни“ -\u003e „Универсален обмен на данни в XML формат“

  1. При обработката, в раздела „Зареждане на данни“ изберете името на файла с данни (запазихме го тук: C: \\\\ Bases \\\\ UnloadingDataFrom7.7.xml).
  2. Натиснете бутона "Зареждане на данни" (намира се на панела по-горе).

Данните са заредени!

Същите стъпки за разтоварване от версия 1C: Enterprise 7.7 са приложими за версии 1C: Enterprise 8.1 и 1C: Enterprise 8.0.
Като част от дистрибуционния комплект, конфигурацията за преобразуване на данни включва
обработка на файлове за тези версии MD81Exp.epf и V8Exchan81.epf, MD80Exp.epf и V8Exchan.epf.

Ако искате да заредите данни в 1C: Enterprise 7.7, тогава трябва да използвате обработката на V77Imp.ert.
Преди да заредите данни, трябва да извършите същите действия с V77Imp.ert модула за обработка, които бяха описани
за обработка на V77Exp.ert.

Ако изберете обработка от списъка бърз достъп (Файл - V77Exp.ert) и се показва съобщение, че файлът не е намерен,
въпреки че файлът се намира там и името не се е променило, просто трябва да направите всичко, както в началото -
«Файл | Отваряне “и отново изберете файла V77Exp.ert.

Днес ще обмислим с вас обработка "Универсално качване в XML за 1s 7.7". Тази обработка е предназначен за разтоварване на данни съгласно правилата за обмен в XML файл. Правилата за разтоварване на данни също са XML файл, който съдържа описание на това кои данни и в каква структура трябва да бъдат разтоварени в XML файл.

Как да използвам обработката на универсалното разтоварване в XML за 1c 7.7?

По-долу на екранната снимка можете да видите основната форма за обработка универсален експорт в XML за 1s 7.7, нека да разгледаме основните параметри, които са необходими за него правилна работа... Там, където стои номер 1, там посочваме файла с правилата за качване на данни, за които са необходими тези правила, вече говорихме в първия параграф на статията. За номер 2 изберете файла, в който ще бъдат качени данните. В параграф 3 трябва да посочите началната и крайната дата, през този период данните ще бъдат качени във файл. След като сме посочили всички тези параметри, щракнете върху "Зареждане на правила", след като прочетете правилата в параграф 5, ще се появи дървовидна структура на файла с правила за обмен с имената на правилата. Сега всичко, което трябва да направим, е да щракнем върху бутона в нашата обработка на универсално разтоварване XML 1s 7.7под номер 6 „Качване“, след това действие всички данни ще бъдат качени в съответствие с текущите правила за качване на данни, в XML файла, който посочихме в параграф 2.

Тук ще опиша основните моменти при работа със стандартен компонент v7plus.dll... Информацията е много остаряла и тя се появи тук повече за себе си, за да не забравя кога ще се появи следващия път. Описва как да четете от XML файл, използвайки XML парсер на почти стандартен компонент. Пример е файлът на документа на приложението, качен във файл във формат CommerceML 2.03 (от сайта на Bitrix).

Така че нека да започнем. Първата стъпка е да заредите компонента. Ето типичен код:

Ако + "v7plus.dll")<> 1 Тогава Ако LoadExternalComponent (IB каталог () + "ExtForms \\" + "v7plus.dll")<> 1 Тогава Ако DownloadExternalComponent (CatalogPrograms () + "v7plus.dll")<> 1 След това Предупреждение ("Компонент v7plus.dll не е намерен!"); Връщане; EndIf; EndIf; EndIf; Парсер \u003d CreateObject ("AddIn.XMLParser");

Анализаторът може да работи със схеми, но няма да разглеждам този момент. Обикновено линейно (или почти линейно) четене на файлове. Следователно ние просто създаваме нов документ:

XML_Document \u003d Анализатор. Създаване на документ(); Ако EmptyValue (XML_Document) \u003d 1 След това се връща EndIf; XML_Document. Зареждане (Име на файл);

В променлива Име на файл е написан ред с името на файла, който се отваря. След това можете да прочетете файла, като постепенно го дешифрирате.
XML файлът се състои от възли и атрибути. Всеки възел може да съдържа нула или повече атрибути и нула или повече дъщерни възли. Коренният възел може да бъде получен директно от променливата XML_Document... За по-голяма яснота нека разгледаме част от XML файла:

<КоммерческаяИнформация ВерсияСхемы=»2.03″ ДатаФормирования=»2014-04-09 14:25″>
<Документ>
<Ид>53006
<Номер>53006
<Дата>2014-04-29
<ХозОперация>Поръчка на стоки
<Роль>Продавач
<Валюта>търкайте
<Курс>1
<Сумма>300000.00
<Контрагенты>…
<Время>11:52
<Комментарий>ТЕСТ …… .BSV
<Товары>
<Товар>
<Ид>ID46
<Наименование>…
<БазоваяЕдиница Код=»796″ НаименованиеПолное=»Штука» МеждународноеСокращение=»PCE»>настолен компютър

Ето една силно съкратена версия на файла или по-скоро част от него. Целта на тази статия не е да опише формата CommerceML, а да покаже как се работи с XML файл, така че ще давам само командите. Файлът CommerceML се състои от основния възел " Търговска информация". Прочетохме го от документа:

ElDocument \u003d XML_Document. SelectNode ("CommercialInformation");

Променлива стойност ElDocument ще има възел (OLE обект). Той има дъщерни възли и атрибути. Един файл може да съдържа няколко документа, така че ние ги итерираме в цикъл:

Пример \u003d електронен документ. Изберете възли ("Документ"); За d \u003d 1 по проба. Брой възли Cycle Dock \u003d Проба. Вземете възел (th - 1);

Имот Брой възли връща общия брой дъщерни възли и метода GetNode () връща посочения дъщерен възел (номерирането започва от 0).

Възел " стаяMsgstr "Няма атрибути или дъщерни възли. Има значение само " 00006 ". По същия начин " дата«, « Операция на домакина" и много други. Следващата конструкция се използва за получаване на стойността на възела:

Номер \u003d Док. SelectNode ("Номер"). Стойност; NumberNumber \u003d Number (Doc. Select Node ("Number"). Value);

Използваният тук метод е SelectNode ()... За разлика от " SelectNodes ()“, Той връща не списък, а първия възел с посоченото име. И неговата собственост “ Стойност»Връща низ със стойност. За да преобразуваме стойността в желания тип, ще използваме функциите за преобразуване. Датата ще трябва да се преобразува на части (тя се съхранява в XML под формата гггг-мм-дд, което не се поддържа от стандартната функция Date ()). Възможно е при използване на схеми преобразуването на типа да се извършва автоматично - не е проверено.
Следният метод се използва за четене на атрибутите:

OKEI \u003d Продукт. Изберете Node ("Основна единица"). GetAttribute("Кодът");

Тук Продукт Възелът " Продукт". Стойността на атрибут, като единичен дъщерен възел, може да бъде получена от името на атрибута. Винаги се връща низ, поради което, ако е необходимо, типът на стойността трябва да се приведе към необходимата. Ако възел трябва да прочете няколко атрибута, по-добре е да съхраните стойността на възела в отделна променлива.
Е, това са всички основни функции, от които се нуждаете, за да прочетете напълно XML файловете.

Работа с XML файлове от 1С: Счетоводство 7.7

Доста често в работата на големите предприятия и търговските вериги има нужда от обмен на данни между базите данни. Всеки програмист и администратор решава този проблем по различен начин. Някой пише качване-изтегляне чрез междинни файлове на таблица, някой използва режима COM връзки за свързване към основния източник. През последните години обаче собственият механизъм 1С-овски, наречен „Универсален обмен на данни в XML формат“, придобива все по-голяма популярност.

Обработка на външен вид

В Пълния интерфейс можете да отворите обработката в Услуга-\u003e Други обмени на данни-\u003e Универсален обмен на данни в XML формат.

Формата за обработка (фиг. 1) съдържа четири раздела:

  • Допълнителни настройки;
  • Изтриване на данни.
  • Интерфейсът на всеки от разделите е силно натоварен с елементи и поради това изисква отделно разглеждане.

    Качване на данни

    В самия връх на отметката има поле за избор на файл с правила за обмен. За нестандартни бази и борси ще трябва сами да създадете файла за обмен.

    На следващия ред на формуляра има два радио бутона:

    1. Качване в файл за обмен (фиг. 2);
    2. Свързване и качване на данни към IB (фиг. 3).

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

    Директната връзка с базата на приемника поддържа както работа с файлове, така и клиент-сървър. В този случай ще е необходимо да регистрирате адреса на базата, попълнете полетата "Потребител" и "Парола". Преди да продължите с обмена на данни, препоръчително е да тествате връзката.

    Табличният раздел по-долу ви позволява да настроите извличане и други параметри за разтоварване.

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

    Фиг. 4

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

    Кликването върху бутона "Готово" проверява верността и пълнотата на попълнените данни.

    За разлика от „Качване“, този раздел (фиг. 5) няма табличен раздел, но има много повече флагове, които ви позволяват да коригирате параметрите на записване на нови и променени обекти.

    Фиг. 5

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

    Съответните квадратчета за отметка ви позволяват да конфигурирате:

    • Транзакция при запис на обекти (това понякога ускорява процеса);
    • Качване на данни в режим на обмен (в този случай всички проверки на платформата, с изключение на проверките при публикуване на документи, ще бъдат игнорирани при запис);
    • Презаписване на променени елементи;
    • Инсталиране на марки за изтриване на изтеглени елементи;
    • Режимът на записване на нови данни в регистъра (или един по един, или чрез набиране);
    • Подрязване на незначителни знаци (интервали и раздели) за низови стойности.

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

    Както подсказва името на маркера, той съдържа инструменти, чието използване ви позволява да прецизирате процеса на обмен. По-специално:

    1. Включва режим за отстраняване на грешки;
    2. Позволява да се използва транзакция по време на процеса на качване;
    3. Оптимизира обмена между бази данни на 8-ма версия на 1С;
    4. Разтоварвайте само тези обекти, които са разрешени за използване от текущия потребител;
    5. Активирайте регистрирането на процеса на обмен между бази данни.

    Тези и някои други функции се активират чрез задаване на съответните квадратчета за отметка във формуляра (фиг. 6).

    Фиг. 6

    Изтриване на данни

    Този раздел се използва само от разработчици в режим за отстраняване на грешки. Позволява ви да премахвате ненужни обекти от базата данни.

    Накратко за определяне на правила за обмен

    Използването на стандартен манипулатор улеснява много живота на програмистите. В същото време един от най-трудните моменти за някой, който за пръв път се сблъска с Universal Data Exchange в XML формат, е въпросът: „Откъде мога да взема файла с правилата за обмен?“

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

    1. epf - изисква се да се разтовари структурата на метаданните за 1C 8 бази данни;
    2. epf - ако конфигурацията 1C 8 е написана самостоятелно или не е стандартна, може да няма обработка на универсален обмен на данни, този файл е тази обработка;
    3. ert - файлът съдържа кода за разтоварване на структурата на метаданните на конфигурацията на 1С версии 7.7;
    4. ert - файл за обработка на качване / изтегляне на данни за седемте.

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

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

    Споделя това