1с правила обмена расширение
В этой статье поговорим о планах обмена. Зачем они нужны? И если нужны, то можно ли сделать свой, не копируя типовую реализацию? Статья предназначена в основном для разработчиков, но будет полезна всем, кто интересуется подобной темой.
Также в плане обмена есть несколько стандартных реквизитов. Например, «Номер принятого» и «Номер отправленного». Эти реквизиты удобно использовать для того, чтобы принимать только актуальную информацию, которая не была ранее принята. А теперь обо всем этом подробней и с примерами. Хоть планы обмена кому-то и кажутся чем-то страшным и необъяснимым, после прочтения статьи, думаю, все станет просто и понятно.
1. Создание и регистрация, узлы плана обмена.
Приведем пример, когда нам нужно выгружать измененные номенклатуры (для ТСД, мобильного устройства, промежуточной базы или пр.).
Ищем в дереве конфигурации ветку «Общие» -- «Планы обмена». Добавляем новый план обмена.
Назовем его «ОбменНоменклатурой_Тест». Включаем в состав нужные объекты. В этом примере справочник «Номенклатура».
//Здесь налаживаем отборы
//и сам код регистрации
Узел = ПланыОбмена.ОбменНоменклатурой_Тест.НайтиПоКоду("Тест");
ПланыОбмена.ЗарегистрироватьИзменения(Узел, Источник);
В режиме предприятия создадим новый узел плана обмена. Это, по сути, элемент плана обмена, который будет использоваться только для одного приемника. Хотя, если не требуется подтверждение о приеме данных, то с одного узла можно рассылать данные всем, но здесь мы такой вариант не рассматриваем, так как он намного проще и будет понятен по ходу статьи.
Создадим новый элемент в справочнике «Номенклатура» в 1С. Переходим снова в обработку, нажимаем кнопку «Обновить» и видим, что у нас этот объект зарегистрировался автоматически.
2. 1С Выгрузка планов обмена.
Например, создадим кнопку в списке плана обмена и назначим на нее обработчик на сервере.
Есть возможность выбирать изменения объектной моделью, вот так:
Пока ВыборкаИзменений.Следующий() Цикл
КонецЦикла;
Также есть возможность выбора изменений запросом:
В процедуре на сервере давайте откроем конструктор запроса с обработкой результата и посмотрим, как выбрать изменения. В конструкторе есть кнопка «Отображать таблицы изменений». После нажатия на эту кнопку мы увидим таблицы, в которых хранятся наши изменения.
Накладывая отбор на узел, мы можем получить изменения только по определенному приемнику, а в ссылке хранится объект, то есть ссылка на номенклатуру. Но при выборе запросом, выгруженные изменения придется помечать вручную.
В итоге процедура будет выглядеть так:
После того как мы воспользуемся кнопкой в обработке регистрации изменений для обмена данными, мы увидим, что данные помечены, как выгруженные. И в колонке «Номер отправленного» мы видим номер пакета, в котором была произведена 1С выгрузка объекта.
3. Порядок снятия с регистрации.
После этого, регистрация изменений будет снята.
Если приемник не получил данные, то при следующей выборке все данные, для которых не снята регистрация будут выгружены повторно.
В общем, повторюсь, план обмена помогает организовать обмен данными со сторонними системами. И в этой статье мы разобрали, как на самом деле просто с ним работать.
Данная статья является анонсом новой функциональности.
Не рекомендуется использовать содержание данной статьи для освоения новой функциональности.
Полное описание новой функциональности будет приведено в документации к соответствующей версии.
Полный список изменений в новой версии приводится в файле v8Update.htm.
Реализовано в версии 8.3.13.1513.
Мы продолжаем развивать механизм расширений конфигурации. Теперь вы можете расширять данные, используемые для задач оперативного и бухгалтерского учёта, а также для расчёта зарплаты. Кроме этого мы увеличили возможности доработки планов обмена.
Расширение данных для специальных прикладных задач
В механизм расширения данных мы включили все объекты, которые используются в специальных прикладных областях:
- Учёт движения средств – регистры накопления;
- Бухгалтерский учёт – регистры бухгалтерии, планы видов счетов и планы видов характеристик;
- Расчёт зарплаты – регистры расчета и планы видов расчета.
Теперь в расширениях конфигурации вы можете создавать собственные объекты перечисленных типов, и, тем самым, расширять состав специальных прикладных данных, с которыми работает программа.
Кроме этого перечисленным собственным регистрам вы можете назначать в качестве регистратора как собственные, так и заимствованные документы.
Для собственных регистров накопления есть одно ограничение - в них не поддерживается механизм агрегатов.
Новые возможности расширения планов обмена
Мы увеличили возможности расширения планов обмена.
Теперь в состав собственных планов обмена вы можете включать заимствованные объекты. В результате собственные планы обмена теперь имеют функциональность почти такую же, как планы обмена конфигурации, за исключением того, что собственные планы обмена нельзя использовать в распределенной информационной базе.
Заимствованным планам обмена вы можете добавлять теперь собственные реквизиты, табличные части и реквизиты табличных частей.
Для изменения состава заимствованного плана обмена у вас есть теперь новые возможности:
- Вы можете включить в его состав те объекты расширяемой конфигурации, которых в нём ещё нет. Раньше вы могли добавлять в его состав только собственные объекты;
- Тем объектам, которые есть в его составе, вы можете изменить значение свойства Авторегистрация. Это свойство отвечает за то, каким образом будут регистрироваться изменения данных объекта: автоматически платформой или с помощью алгоритма, написанного разработчиком;
- Объекты расширяемой конфигурации вы можете проверить на то, входят они в этот план обмена, или нет. Раньше вы могли проверять таким образом только собственные объекты.
Для заимствованных планов обмена есть одно ограничение - из их состава вы не можете исключить объекты расширяемой конфигурации.
Предупреждения при удалении расширений с данными
Расширения, изменяющие структуры данных, требуют повышенного внимания к себе. Неосторожное их удаление может привести к потере данных, содержащихся в тех структурах данных, которые были добавлены расширением.
В версии 8.3.12, для того, чтобы снизить риск таких действий, мы добавили в платформу возможность деактивации (отключения) расширений. При этой операции само расширение не удаляется, но перестаёт применяться к конфигурации. Это позволяет вам посмотреть, как конфигурация работает без расширения.
Теперь мы решили, что кроме этого нужно несколько «усложнить» и сам процесс удаления расширений. Но не всех расширений, а только тех, у которых есть «собственные» данные:
- В конфигураторе вы не сможете удалить такое расширение, пока оно активно (будет показано предупреждение). Сначала необходимо расширение деактивировать.
- В конфигураторе перед применением изменений таких расширений (в том числе при удалении таких расширений), будет показано окно с изменением структуры данных, в котором вы можете отказаться от этих изменений. Визуально оно похоже на тот диалог, который возникает при реструктуризации основной конфигурации.
В режиме 1С:Предприятие при удалении таких расширений также будет теперь выводиться предупреждение, позволяющее отказаться от их удаления.
Кроме этого во встроенный язык мы добавили проверку того, что расширение влияет на структуры данных (объект РасширениеКонфигурации, метод ИзменяетСтруктуруДанных()).
Механизмы интеграции
Конфигурация "1С:Документооборот" редакции КОРП содержит несколько встроенных планов обмена с другими типовыми конфигурациями на платформе "1С:Предприятие".
Редакции ПРОФ и ДГУ не содержат таких планов обмена. Тем не менее, все редакции поддерживают обмен данными с помощью встроенной обработки УниверсальныйОбменДаннымиXML , использующей внешние правила обмена, загружаемые из файла. Собственные планы обмена можно добавить в любую из редакций.
Встроенные планы обмена предназначены для автоматической синхронизации данных в ходе совместного использования разных прикладных решений, но могут использоваться и для первоначального наполнения информационной базы.
Внешние правила обмена, поставляемые в составе дистрибутива, предназначены скорее для первоначального наполнения информационной базы, но могут использоваться и для последующей синхронизации данных. В последнем случае обмен нужно будет запускать регулярно вручную.
Встроенные планы обмена используют подсистему Обмен данными "Библиотеки стандартных подсистем" (далее БСП) редакции 2. Это значит, что в составе каждого плана обмена есть макет с правилами регистрации, а также макеты правил обмена и правил обмена конфигурации-корреспондента:
- Правила регистрации используются в "1С:Документообороте" для определения необходимости регистрации записываемого объекта к выгрузке в конфигурацию-корреспондент.
- Типовые правила регистрации тривиальны (содержат только перечень регистрируемых объектов без дополнительных условий).
- Автоматическая регистрация изменений в планах обмена выключена, для регистрации используется стандартная механика БСП, анализирующая изменения в выгружаемых полях перед регистрацией.
При необходимости комплект правил может быть загружен из файла. Как правило, это делают:
- после обновления конфигурации-корреспондента. В этом случае свежий комплект правил находится в составе дистрибутива обновления, в папке "Синхронизация данных";
- во время отладки правил обмена, разрабатываемых на основе типовых правил, если они требуют доработки на конкретном внедрении.
После отладки доработанных правил обмена рекомендуется включить их в состав конфигурации, сняв с поддержки макеты, чтобы:
- получить возможность сравнивать доработанные правила с типовыми при обновлении конфигурации;
- избежать проблем, связанных с проверкой правил при обновлении информационной базы после изменения структуры метаданных.
Обратите внимание:
Правила, загруженные из файла и переставшие соответствовать новой структуре метаданных, не дадут довести до конца штатное обновление информационной базы.Правила обмена разрабатываются с помощью конфигурации "Конвертация данных" редакции 2.1. Конфигурация бесплатна и доступна по линии ИТС. Рекомендуется использовать типовые правила как основу для разработки, сохранив их в файлы и загрузив в информационную базу "Конвертации данных".
"1С:Документооборот" не поддерживает обмен данными в формате EnterpriseData. Соответственно, для разработки правил обмена не следует использовать конфигурацию "Конвертация данных" редакции 3.
Расширение плана обмена
При включении новых объектов в существующий план обмена следует:
Добавление плана обмена
При разработке собственных планов обмена следует:
- Создать новый план обмена на стороне обеих конфигураций. Имя плана обмена должно быть одинаковым в обеих конфигурациях. Состав обязательных процедур модуля менеджера плана обмена приведен в документации к подсистеме Обмен данными "Библиотеки стандартных подсистем" соответствующей версии.
- Включить в состав планов обмена объекты, участвующие в обмене, а также регистр сведений СоответствиеОбъектовИнформационныхБаз , запретив авторегистрацию изменений. Использование собственного механизма регистрации БСП позволит избежать выгрузки объектов, изменившихся только в части не участвующих в обмене реквизитов.
- Создать подписки на события, аналогичные описанным выше, и обработчики для них. Лучше создать для этого отдельный общий модуль, не снимая с поддержки общий модуль ОбменДаннымиСобытияДокументооборот .
- Включить новый план обмена в тип параметра общих команд подсистемы Обмен данными . Проще всего найти нужные команды, выполнив в Конфигураторе поиск ссылок на типовой план обмена.
- Включить новый план обмена в код процедуры ПолучитьПланыОбмена общего модуля ОбменДаннымиПереопределяемый .
- При необходимости создать формы настройки плана обмена (см. документацию к "Библиотеке стандартных подсистем", а также примеры в планах обмена с конфигурациями "1С:Бухгалтерия" предприятия и "1С:Управление производственным предприятием").
- Сохранить описания обновленных конфигураций в файлы с помощью обработки MD8<NNN>Exp.epf , входящей в состав дистрибутива конфигурации "Конвертация данных".
- Загрузить описания конфигураций в информационную базу "Конвертации данных".
- Разработать два набора правил обмена и два набора правил регистрации для каждой из сторон обмена.
- Добавить оба набора правил обмена и по одному набору правил регистрации в каждую конфигурацию в качестве макетов плана обмена.
- Настроить синхронизацию данных и отладить ее.
Обратите внимание:
Правила обмена, зачитанные из макетов в составе конфигурации, кэшируются в регистре сведений ПравилаДляОбменаДанными . При отладке рекомендуется использовать загрузку правил обмена из файла. Для обновления правил из макета следует изменить номер версии конфигурации или выполнить загрузку вручную по команде Загрузить правила… , выбрав вариант Из конфигурации .Веб-сервисы
Типовая конфигурация "1С:Документооборот" содержит набор веб-сервисов.
Некоторые из них специализированы и служат, например, для обмена с мобильными устройствами или для синхронизации данных с другими информационными базами, разработанными с применением "Библиотеки стандартных подсистем".
Два веб-сервиса, однако, предназначены для интеграции с произвольными внешними программами, как разработанными на платформе "1С:Предприятие", так и любыми другими, способными обращаться к веб-сервисам. Речь идет о веб-сервисах:
- Files – простой сервис, поддерживающий работу с файлами и папками "1С:Документооборота" извне.
- DMService – поддерживает работу с основными объектами и функциями "1С:Документооборота". Перекрывает функционал веб-сервиса Files . Используется "Библиотекой интеграции 1С:Документооборота".
Данные веб-сервисы включены во все редакции "1С:Документооборота".
Работа с веб-сервисами из прикладных решений на платформе "1С:Предприятие", как правило, строится следующим образом:
- Определяется способ хранения и редактирования настроек подключения к веб-сервису. Настройки состоят из:
- Адреса веб-сервиса;
- Имени пользователя и пароля (в текущих версиях платформы поддерживается только аутентификация "1С:Предприятия", поэтому следует либо предоставить пользователям интегрируемого прикладного решения возможность ввести имя пользователя и пароль, либо использовать для доступа служебную учетную запись, для которой запрещен интерактивный вход);
- Таймаута при обращении к сервису (при низком качестве соединения, а также при первом обращении к сервису задержки могут быть значительными).
- Определяется способ получения WSПрокси для обращения к веб-сервису. Операции создания WSОпределений и WSПрокси достаточно затратны, поэтому рекомендуется выносить получение реквизитов, в отдельный общий модуль с повторно возвращаемыми значениями.
- Создаются процедуры и функции, являющиеся обертками для функционала веб-сервиса на стороне прикладного решения. Непосредственную работу с объектами XDTO рекомендуется инкапсулировать в них, чтобы облегчить доработки при изменении функционала сервиса.
Примеры использования веб-сервисов можно увидеть в "Библиотеке интеграции 1С:Документооборота", поставляемой в составе дистрибутива "1С:Документооборота".
Веб-сервис Files
Веб-сервис использует всего четыре типа объектов:
- File – файл в папке.
- Folder – папка файлов.
- ShortFileInfo – сведения о файле, возвращаемые сервисом после его создания.
- FileList – список файлов, отобранных по условиям.
- GetFileList – получает список файлов в указанной папке.
- GetFile – получает файл по указанному коду файла.
- AddFile – добавляет файл в указанную папку.
- DeleteFile – помечает файл на удаление.
- FindFolder – находит папку по наименованию в указанной родительской папке.
- AddFolder – создает новую папку в указанной родительской папке.
Все действия, выполняемые этим веб-сервисом, можно выполнить с помощью веб-сервиса DMService. Работа с файлами документов поддерживается только DMService.
Веб-сервис DMService
Сервис использует XDTO-пакет DM. Пакет содержит несколько десятков прикладных объектов, являющихся представлениями таких объектов "1С:Документооборота", как файлы, документы, процессы, задачи и так далее. Все они - потомки абстрактного DMObject и имеют общие свойства objectId и externalObject .
Свойство objectId представляет собой ссылку на объект "1С:Документооборота" и содержит его представление, идентификатор и тип.
Свойство externalObject представляет собой ссылку на объект интегрируемой программы и так же содержит его представление, идентификатор и тип. Свойство заполняется сервисом автоматически, если объект "1С:Документооборота" был ранее связан с объектом интегрируемой конфигурации, например, при создании или записи с заполненным свойством externalObject .
Сервис поддерживает всего одну операцию, execute . В качестве параметра передается объект-потомок DMRequest . Требуемая операция и ее параметры определяются типом переданного объекта и его свойствами. Например, запрос DMGetObjectListRequest получает список объектов типа, указанного в свойстве type по условиям, указанным в свойстве query .
Результат операции возвращается в объекте-потомке DMResponse . В простейших случаях это объект DMOK . В случае ошибки возвращается DMError , содержащий краткое ( subject ) и полное ( description ) описание ошибки.
Для большинства запросов существуют парные им объекты-ответы, содержащие результат выполненной операции. Например, список объектов, полученный вызовом DMGetObjectListRequest , возвращается в объекте DMGetObjectListResponse .
Приведем простейший пример работы с веб-сервисом на встроенном языке платформы "1С:Предприятие". Начнем с получения определений и прокси веб-сервиса (подразумевается, что адрес публикации, имя пользователя и пароль уже получены):
Cоздадим запрос на получение списка внутренних документов:
Определим условие запроса (поиск по наименованию):
Выполним запрос, проверив результат на предмет ошибки:
Разберем ответ, заполнив таблицу названиями и идентификаторами найденных документов:
Подробное описание объектов и операций сервиса дается в составе дистрибутива "1С:Документооборота" (файл "Описание веб-сервисов.html" в каталоге шаблонов). Это описание доступно также из интерфейса демонстрационной конфигурации "Библиотека интеграции с 1С:Документооборотом", которая содержит также более сложные и полезные примеры использования сервиса.
При выпуске новых версий "1С:Документооборота" сервис расширяется и дополняется новыми объектами и свойствами так, чтобы не затронуть работу клиентских приложений, не знающих об этих изменениях. Этого же принципа следует придерживаться при самостоятельном изменении функционала сервиса: например, добавляя новые свойства, устанавливать минимальное количество в 0.
Обработка запросов к сервису сосредоточена в общих модулях:
- ОбработкаЗапросовXDTO – общий вход для всех вызовов
- ОбработкаЗапросовXDTOБизнесПроцессыИЗадачи
- ОбработкаЗапросовXDTOДокументы
- ОбработкаЗапросовXDTOФайлы
Присутствуют только в редакции КОРП:
- ОбработкаЗапросовXDTOКорп
- ОбработкаЗапросовXDTOОбмен
- ОбработкаЗапросовXDTOПочта
- ОбработкаЗапросовXDTOУчетВремени
Перед использованием сервиса следует получать его версию и редакцию запросом DMGetVersionRequest и не пользоваться возможностями, которые не поддерживает сервис. Попытка использовать отсутствующие возможности, например, попытка создать исходящее письмо в редакции ПРОФ, приведет к ошибке (возврату DMError ).
Доработки рекомендуется вносить в модуль ОбработкаЗапросовXDTO Переопределяемый . Его процедуры и функции позволяют провести дополнительное изменение объектов XDTO при их создании по объектам "1С:Документооборота" и наоборот.
Библиотека интеграции 1С:Документооборота
"Библиотека интеграции 1С:Документооборота" (далее БИД) не является самостоятельным прикладным решением, хотя и содержит некоторые демонстрационные объекты, и предназначена для встраивания в прикладные решения на платформе "1С:Предприятие".
БИД может использоваться с любыми версиями "1С:Документооборота", начиная с редакции 1.2.
БИД публикуется в составе дистрибутива "1С:Документооборота" и предназначена для работы с "Библиотекой стандартных подсистем" версии, последней на момент публикации. Однако адаптация БИД к конфигурациям, содержащим более ранние версии БСП, не составляет большого труда, поскольку БИД использует функционал БСП в небольшом объеме.
Более подробное описание "Библиотеки интеграции 1С:Документооборота" и порядка ее встраивания содержится в документации, поставляемой в составе дистрибутива (папка DocDMIL ).
Если говорить про синхронизацию информационных баз, то на данный момент компания «1С» ведет политику постепенного перехода с традиционного обмена данными по правилам обмена на обмен данными через универсальный формат (далее обмен через УФ). Считается, что это более унифицированный вариант: нет необходимости каждый раз менять правила после обновлений конфигурации, для групповых обменов больше не нужны десятки разных настроек.
Таким образом, например, если в свежем релизе конфигурации 1С:УНФ 1.6 делать синхронизацию с 1С:Бухгалтерия 3.0, то обмен по умолчанию будет настраиваться через универсальный формат. Но обмен через УФ по сравнению с традиционным обменом имеет ряд принципиальных отличий:
1. Правила регистрации и конвертации объектов «зашиты» в конфигурацию и нет возможности загрузить их в настройке синхронизации 1С 8.3 в пользовательском режиме.
2. Нет возможности производить синхронизацию через прямое подключение к базе, только – через выгрузку в файл.
Рассмотрим доработку обмена через УФ между «1С:Управление небольшой фирмой 1.6» (далее УНФ) и «1С:Управление корпоративными финансами» (далее УКФ) на примере определенных требований заказчика.
2. Постановка задачи по доработке обмена через универсальный формат
Настройки обмена через УФ не соответствовали в полной мере требованиям заказчика. В частности, требовалось:
· Не регистрировать на обмен документы «Расходная накладная» 1С с префиксом «НФ».
· Выгружать непроведенные документы.
· Не выгружать помеченные на удаление документы.
3. Реализация технических требований заказчика
Для доработки правил выгрузки обычно используют инструмент «1С:Конвертация данных 3.0», но это способ достаточно сложный и больше подходит для серьезных доработок обмена. В нашем случае необходимо доработать механизм регистрации объектов в 1С. Правила регистрации объектов в 1С для узла обмена находятся в «общем» и самым простым способом является использование расширения в данной задаче.
В первую очередь необходимо создать новое расширение конфигурации 1С 8.3 через пункт «Конфигурация – Расширение конфигурации» 1С 8.3. Далее открываем созданное расширение и переходим в дерево основной конфигурации.
Механизм регистрации объектов обмена находится в общем модуле «ОбменДаннымиСобытия».
Рис. 1. Общий модуль «ОбменДаннымиСобытия»
Его мы и будем дорабатывать под технические требования заказчика. Добавляем данный модуль в открытое расширение (правой кнопкой мыши по объекту – 1С «Добавить в расширение»). Теперь необходимо внести правки в код общего модуля в расширении. Но есть один нюанс – по умолчанию модуль объекта недоступен для редактирования. Чтоб включить эту возможность, переходим в окно нашего расширения, находим в дереве общий модуль «ОбменДаннымиСобытия» и выбираем свойства объекта. В палитре свойств необходимо поставить галку в строке «Модуль», тем самым активировав возможности редактирования документов.
Рис. 2. Свойства общего модуля «ОбменДаннымиСобытия» в расширении
3.1.Не регистрировать на обмен документы «Расходная накладная» 1С с префиксом «НФ»
Для выполнения данной задачи потребуется «подменить» процедуру «ВыполнитьПравилаРегистрацииОбъектовДляПланаОбмена»общего модуля 1С в расширении. Для этого необходимо скопировать код процедуры основной конфигурации и вставить в общий модуль в расширении. Чтобы вызов процедуры происходил из расширения, необходимо перед процедурой прописать &Вместо («Название исходной процедуры или функции»). Важный момент: название процедуры или функции в расширении должно отличаться от исходного названия!
Чтобы документы «Расходная накладная» 1С с определенным префиксом не попадали в выгрузку, добавляем в код процедуры «ВыполнитьПравилаРегистрацииОбъектовДляПланаОбмена» проверку на содержание в номере документа префикса «НФ». Если совпадение не найдено, то документ не регистрируется на обмен.
Рис. 3. Листинг кода процедуры «ВыполнитьПравилаРегистрацииОбъектовДляПланаОбмена»в расширении
3.2. Выгружать непроведенные, но не помеченные на удаление документы с помощью процедуры общего модуля.
Для этой задачи потребуется процедура «ОбъектПрошелФильтрПравилРегистрацииПоСвойствам» того же общего модуля 1С.
Рис. 4. Процедура «ОбъектПрошелФильтрПравилРегистрацииПоСвойствам» в расширении
Данная процедура по умолчанию фильтрует только проведенные документы. Наша задача по определенным типам документов пропускать фильтрацию, тем самым регистрировать в том числе непроведенные документы, но в тоже время не выгружать помеченные на удаление.
Также копируем код исходной процедуры и вставляем в общий модуль в расширении. Добавляем в конце процедуры необходимый код с проверкой на тип документа и пометку удаления. Если условие удовлетворяет, то возвращаем «Истину», т.е. фильтрация пройдена (листинг приведен ниже).
Рис. 5. Листинг кода процедуры «ОбъектПрошелФильтрПравилРегистрацииПоСвойствам» в расширении
Таким образом можно достаточно быстро доработать правила регистрации или выгрузки обмена через УФ. И в дальнейшем, если понадобится, внести корректировки не прибегая к 1С «Конвертации данных» 8.3. Преимуществом еще является то, что нет необходимости снимать конфигурацию с поддержки, т.к. все изменения делаются в расширении конфигурации. Из минусов можно отметить то, что данный способ больше подходит для небольших корректировок обмена, т.к. после обновления файла конфигурации 1С придется контролировать и дублировать изменения в процедурах расширения. При большом количестве доработок использовать данный способ становится нерационально и тогда выбор в сторону инструмента 1С «Конвертация данных» 8.3 будет более оптимален.
Читайте также: