1с ошибка получения макета конфигурации для плана обмена

Обновлено: 02.07.2024

Механизмы интеграции

Конфигурация "1С:Документооборот" редакции КОРП содержит несколько встроенных планов обмена с другими типовыми конфигурациями на платформе "1С:Предприятие".

Редакции ПРОФ и ДГУ не содержат таких планов обмена. Тем не менее, все редакции поддерживают обмен данными с помощью встроенной обработки УниверсальныйОбменДаннымиXML , использующей внешние правила обмена, загружаемые из файла. Собственные планы обмена можно добавить в любую из редакций.

Встроенные планы обмена предназначены для автоматической синхронизации данных в ходе совместного использования разных прикладных решений, но могут использоваться и для первоначального наполнения информационной базы.

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

Встроенные планы обмена используют подсистему Обмен данными "Библиотеки стандартных подсистем" (далее БСП) редакции 2. Это значит, что в составе каждого плана обмена есть макет с правилами регистрации, а также макеты правил обмена и правил обмена конфигурации-корреспондента:

  • Правила регистрации используются в "1С:Документообороте" для определения необходимости регистрации записываемого объекта к выгрузке в конфигурацию-корреспондент.
    • Типовые правила регистрации тривиальны (содержат только перечень регистрируемых объектов без дополнительных условий).
    • Автоматическая регистрация изменений в планах обмена выключена, для регистрации используется стандартная механика БСП, анализирующая изменения в выгружаемых полях перед регистрацией.

    При необходимости комплект правил может быть загружен из файла. Как правило, это делают:

    • после обновления конфигурации-корреспондента. В этом случае свежий комплект правил находится в составе дистрибутива обновления, в папке "Синхронизация данных";
    • во время отладки правил обмена, разрабатываемых на основе типовых правил, если они требуют доработки на конкретном внедрении.

    После отладки доработанных правил обмена рекомендуется включить их в состав конфигурации, сняв с поддержки макеты, чтобы:

    • получить возможность сравнивать доработанные правила с типовыми при обновлении конфигурации;
    • избежать проблем, связанных с проверкой правил при обновлении информационной базы после изменения структуры метаданных.

    Обратите внимание:
    Правила, загруженные из файла и переставшие соответствовать новой структуре метаданных, не дадут довести до конца штатное обновление информационной базы.

    Правила обмена разрабатываются с помощью конфигурации "Конвертация данных" редакции 2.1. Конфигурация бесплатна и доступна по линии ИТС. Рекомендуется использовать типовые правила как основу для разработки, сохранив их в файлы и загрузив в информационную базу "Конвертации данных".

    "1С:Документооборот" не поддерживает обмен данными в формате EnterpriseData. Соответственно, для разработки правил обмена не следует использовать конфигурацию "Конвертация данных" редакции 3.

    Расширение плана обмена

    При включении новых объектов в существующий план обмена следует:

    Добавление плана обмена

    При разработке собственных планов обмена следует:

    1. Создать новый план обмена на стороне обеих конфигураций. Имя плана обмена должно быть одинаковым в обеих конфигурациях. Состав обязательных процедур модуля менеджера плана обмена приведен в документации к подсистеме Обмен данными "Библиотеки стандартных подсистем" соответствующей версии.
    2. Включить в состав планов обмена объекты, участвующие в обмене, а также регистр сведений СоответствиеОбъектовИнформационныхБаз , запретив авторегистрацию изменений. Использование собственного механизма регистрации БСП позволит избежать выгрузки объектов, изменившихся только в части не участвующих в обмене реквизитов.
    3. Создать подписки на события, аналогичные описанным выше, и обработчики для них. Лучше создать для этого отдельный общий модуль, не снимая с поддержки общий модуль ОбменДаннымиСобытияДокументооборот .
    4. Включить новый план обмена в тип параметра общих команд подсистемы Обмен данными . Проще всего найти нужные команды, выполнив в Конфигураторе поиск ссылок на типовой план обмена.
    5. Включить новый план обмена в код процедуры ПолучитьПланыОбмена общего модуля ОбменДаннымиПереопределяемый .
    6. При необходимости создать формы настройки плана обмена (см. документацию к "Библиотеке стандартных подсистем", а также примеры в планах обмена с конфигурациями "1С:Бухгалтерия" предприятия и "1С:Управление производственным предприятием").
    7. Сохранить описания обновленных конфигураций в файлы с помощью обработки MD8<NNN>Exp.epf , входящей в состав дистрибутива конфигурации "Конвертация данных".
    8. Загрузить описания конфигураций в информационную базу "Конвертации данных".
    9. Разработать два набора правил обмена и два набора правил регистрации для каждой из сторон обмена.
    10. Добавить оба набора правил обмена и по одному набору правил регистрации в каждую конфигурацию в качестве макетов плана обмена.
    11. Настроить синхронизацию данных и отладить ее.

    Обратите внимание:
    Правила обмена, зачитанные из макетов в составе конфигурации, кэшируются в регистре сведений ПравилаДляОбменаДанными . При отладке рекомендуется использовать загрузку правил обмена из файла. Для обновления правил из макета следует изменить номер версии конфигурации или выполнить загрузку вручную по команде Загрузить правила… , выбрав вариант Из конфигурации .

    Веб-сервисы

    Типовая конфигурация "1С:Документооборот" содержит набор веб-сервисов.

    Некоторые из них специализированы и служат, например, для обмена с мобильными устройствами или для синхронизации данных с другими информационными базами, разработанными с применением "Библиотеки стандартных подсистем".

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

    • Files – простой сервис, поддерживающий работу с файлами и папками "1С:Документооборота" извне.
    • DMService – поддерживает работу с основными объектами и функциями "1С:Документооборота". Перекрывает функционал веб-сервиса Files . Используется "Библиотекой интеграции 1С:Документооборота".

    Данные веб-сервисы включены во все редакции "1С:Документооборота".

    Работа с веб-сервисами из прикладных решений на платформе "1С:Предприятие", как правило, строится следующим образом:

    1. Определяется способ хранения и редактирования настроек подключения к веб-сервису. Настройки состоят из:
      • Адреса веб-сервиса;
      • Имени пользователя и пароля (в текущих версиях платформы поддерживается только аутентификация "1С:Предприятия", поэтому следует либо предоставить пользователям интегрируемого прикладного решения возможность ввести имя пользователя и пароль, либо использовать для доступа служебную учетную запись, для которой запрещен интерактивный вход);
      • Таймаута при обращении к сервису (при низком качестве соединения, а также при первом обращении к сервису задержки могут быть значительными).
    2. Определяется способ получения WSПрокси для обращения к веб-сервису. Операции создания WSОпределений и WSПрокси достаточно затратны, поэтому рекомендуется выносить получение реквизитов, в отдельный общий модуль с повторно возвращаемыми значениями.
    3. Создаются процедуры и функции, являющиеся обертками для функционала веб-сервиса на стороне прикладного решения. Непосредственную работу с объектами 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с доработка правил типового обмена

    Задание:

    Есть обмен УТ10.3 - БП 2.0

    Нужно чтобы при обмене в бухгалтерию выгружались только проведенные документы.

    Выполненение:

    1. Сохраняем типовые правила обмена в файл xml
    2. Загружаем и дорабатываем правила в конфигурации Конвертация данных 2
    3. Загружаем измененные правила в 1С УТ 10.3
    4. Проверяем обмен

    1с сохранить правила обмена в ут 10.3

    сохраняем правила обмена

    1с тут сохранять и загружать правила

    Загружаем их в конфигурацию Конвертация данных 2 и правим

    загружаем правила в КД2

    после загрузки правил, чтобы поменять правило для всех выгружаемых объектов идем сюда:

    3

    И пишем свое правило:

    правило обмена

    Определяем если объект - документ, то если он не проведен, то мы его не выгружаем.

    Этого правила достаточно чтобы непроведенные документы не выгружались.

    И со временем обмен будет происходить все медленнее.

    Нужно удалять из регистрации непроведенные документы!

    Немного меняем правило обмена:

    1С доработка правил обмена

    Загружаем правила обмена

    загружаем правила обмена

    Для удобства зарегистрируем 5 документов, из которых 2 будут непроведенных:

    5

    Делаем обмен и смотрим что выгрузилось в файл обмена:

    6

    находим только 3 документа, которые проведены.

    Снова смотрим регистрацию объектов на узле:

    регистрация объектов для обмена

    Читайте также: