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 ).
Обработка «Универсальная выгрузка и загрузка» предназначена для оперативного переноса объектов между двумя похожими конфигурациями. Тестировалась на платформе 8.3.12, 8.3.15. Обработка предназначена только для управляемых форм.
Плюсы данной обработки:
Формат выгрузки json, благодаря чему занимает меньше места, выполняется быстрее, а текст более читабельный в исходном виде;
Рис. 1. Обработка Универсальная выгрузка и загрузка
В форме обработки есть три вкладки:
Выгрузка - выгрузка заданных объектов;
Загрузка - загрузка ранее выгруженных объектов;
Просмотр файлов обмена - для просмотра файла обмена.
Выгрузка
Для выгрузки на вкладке «Выгрузка» укажите имя файла выгрузки данных в поле «Имя файла выгрузки». Далее необходимо настроить список выгружаемых объектов. Для этого нажмите кнопку «Добавить» на форме обработки и выберите таблицу, из которой будут выгружаться данные. Если галочка «Выгружать» не поставлена, данные из таблицы не будут выгружаться через выборку, но могут быть выгружены если ссылка на них есть в другой строки и выбрана галка "По ссылкам".
Для каждой таблице в списке выгружаемых таблиц можно настроить отбор в правой панели формы обработки. В панели отбора настраиваемые условия относятся только к таблице, указанной в активной строке.
Для каждой выбранной таблицы можно добавить к выгрузке данные из связанных с ней таблиц. Для этого нужно нажать на кнопку "Связанные таблиц" и в появившейся таблице выбрать связанную таблицу нажав кнопку «Добавить связанную таблицу». После этого связанная таблица будет добавлена в список выгружаемых таблиц.
Если необходимо выгрузить только данные таблицы, на которые есть ссылки в других выбранных таблицах, то необходимо выбрать таблицу для выгрузки, не ставить флаг "Выгружать", но установить флаг «По ссылкам».
Рис. 2. Добавление связанных таблицЕсли установлен флаг «Сообщать о битых ссылках при выгрузке», будут выводиться предупреждения если при выгрузке обнаружатся битые ссылки.
После окончания настройки нажмите кнопку «Выгрузить объекты» и данные будут выгружены в выбранный файл.
В таблице выгруженных объектов будут выведены объекты которые были выгружены.
Кроме того, можно посмотреть сформированный файла выгрузки. Для этого нажмите кнопку «Просмотр», справа от поля «Имя файла выгрузки». Содержимое файла выгрузки будет отображено на вкладке «Просмотр файла» в форме обработки.
Загрузка
На вкладке «Загрузка» укажите имя файла выгрузки данных в поле «Имя файла выгрузки». Для просмотра загружаемых данных перед выполнением процедуры загрузки нажмите кнопку «Просмотр», справа от поля «Имя файла загрузки».
Кроме этого, можно сформировать файл с данными тех таблиц, в которые будут выполняться загрузка объектов, до того, как загрузка будет выполнена. Эта возможность позволит в последующем, при необходимости, восстановить информацию в то состояние, которое было до выполнения загрузки. Для формирования архивного файла укажите имя файла в поле «Имя файла архива».
Для просмотра архивного файла, сформированного в процессе загрузки, нажмите кнопку «Просмотр», справа от поля «Имя файла архива».
На закладке загрузка есть возможность пометить на удаление все объекты таблицы которые не были загружены с помощью данной обарботки. Для этого нужно добавить таблицы в которых необходимо делать проверку и поставить галку «Пометить на удаление не загруженные объекты таблицы». То есть если в конфигурации перед загрузкой есть объекты 1, 2, 3, 4 а в файле загрузки 1, 2, 3 и стоит галка – то объект 4 пометится на удаление.
Если установлен флаг «В транзакции», то в случае возникновения ошибок никакие данные загружены не будут.
Если будет установлен флаг «При записи устанавливать флаг загрузки», то не будут выполнены никакине проверки при загрузке, что позволит избежать некоторых ошибок, при примеру ошибки - "Код объекта не уникален".
После того как настройки на форме загрузка произведены, нажмите для загрузки кнопку «Загрузить объекты».
В таблице загруженных объектов будут отражены объекты которые были загружены.
Просмотр файлов обмена
Для просмотра файлов обмена перейдите на вкладку «Просмотр файлов обмена» и укажите имя файла в поле «Имя файла обмена». После этого нажмите кнопку «Просмотр», справа от выбранного имени файла.
Рис. 3. Вкладка «Просмотр файлов обмена»При ведении нескольких рабочих баз 1С порой возникает необходимость обмена данными между ними. Существует 2 способа переноса данных:
- Перенос данных с использованием правил обмена и обработки «Обмен данными XML». Правила обмена создаются с помощью конфигурации 1С:Конвертация данных.
- Перенос данных между похожими информационными базами обработкой «Выгрузка и загрузка данных XML».
Рассмотрим второй вариант, т.е. выгрузку и загрузку данных из/в конфигураций, в которых имеются одни и те же (идентичные), нужные нам объекты. Для этого воспользуемся внешней обработкой «Выгрузка и загрузка данных XML», которую можно скачать здесь.
Условие использования этой обработки следующее: В информационной базе, из которой выгружаются данные, должны присутствовать такие же объекты и с такими же реквизитами (наименование и тип данных), как и в базе, в которую производится загрузка данных.
Рассмотрим пример с переносом данных этой обработкой. Предположим, нужно перенести документы «Платёжное поручение входящее» и «Платёжное поручение исходящее». Решение этой задачи будет следующим.
Затем нужно указать период, за который будем выгружать объекты данных из базы 1С и сами объекты. Нужные нам для выгрузки документы помечаем галочкой в поле структуры объектов конфигурации в столбце «Данные для выгрузки». Если в выгружаемых документах есть ссылки на элементы справочников, которых нет в другой конфигурации, то имеет смысл проставить галочки в столбце «При необходимости», чтобы эти элементы тоже выгрузились вместе с документами.
Теперь на данном шаге нужно решить, выгружать ли вместе с документами их движения по регистрам или перепровести эти документы уже в другой базе? Для перепроведения выгружаемых документов уже в другой базе можно воспользоваться обработкой «Групповая обработка справочников и документов». Если алгоритмы проведения в данных информационных базах чем-то отличаются, то галочку напротив «Выгружать с документом все его движения» ставить не следует.
Вот и всё, настройка выгрузки закончена, здесь всё просто! Нажимаем кнопку «Выгрузить данные» и ждём пока данные сохраняться в файл XML. Для более сложных выгрузок можно задавать отбор на выгружаемые объекты не только по периоду.
После выгрузки переходим во вторую базу 1С и открываем там эту же обработку. Переходим на вкладку «Загрузка» и указываем здесь тот же файл XML, в который мы выгрузили данные.
На этой вкладке ставим одну единственную галочку напротив «Продолжить загрузку объектов в случае возникновения ошибки» и нажимаем на кнопку «Загрузить данные». Остальные функции, например, использование итогов мы не рассматриваем, хотя эта функция может значительно ускорить загрузку объектов (записей по регистрам).
Обработку «Выгрузка и загрузка данных XML» (версия 2.1.8) для платформы 1С:Предприятие v8.3 (тонкий клиент) можно скачать здесь.
Обработку «Выгрузка и загрузка данных XML» (версия 2.1.6) для платформы 1С:Предприятие v8.2 (толстый клиент) можно скачать здесь.
Далее опишу метод отправки пока только справочника, если будет спрос - будет и продолжения статьи (по обмену документов и регистров).
Процедуры создания теневой копий - это функционал, в случае которого, если не удалось доставить данные на сервер - сделать это позже регламентным заданием (здесь вы как разработчик по-своему можете придумать "офлайн" режим)
Итак, самое интересное:
Параметры:
1) Функция СправочникДоставленоУспешно ( СсылкаСправочник, DELETE, Метод = "POST", Тень = Ложь)
СсылкаСправочник - ссылка справочника
DELETE - булево - удаление на сервере сбора данных по GUID
Метод - строка - по умолчанию - "POST" (о других методах тоже достаточно материалов в свободном доступе)
Тень - булево - если функцию использует регламентное задание, этот параметр будет истина. Функция СправочникДоставленоУспешно(СсылкаСправочник, DELETE, Метод = "POST", Тень = Ложь)И, конечно, список функций обозначенных комментарием "служебное":
Функция СоздатьОписанияДополнительнихРеквизитов(СсылкаОбъекта, СписокСсылочных = 0) Функция СоздатьОписанияТабличныхЧастей(СсылкаОбъекта, ПрефиксОбъекта, Тень = Ложь) Функция ОпределитьШапкуЗапроса(GUID = "00000000-0000-0000-0000-000000000000") Функция СоздатьОписанияОбязательнихРеквизитовСправочника(СсылкаСправочник) В результате мы получили универсальный модуль создания / обновления / удаления справочников.Специальные предложения
Ограничение на использование в режиме совместимости было только в версии 8.3.7. Смотрите V8Update для версии 8.3.8
Создать любой объект конфигурации;
Выполнить сохранение конфигурации информационной базы;
Удалить созданный объект конфигурации;
Выполнить сохранение конфигурации информационной базы."понял) попробуем сделать действия которые там описанные. но главный акцент статьи все таки это Rest OData
После выхода продолжения, не забудь те в этой статье вставить ссылку на продолжение Синхронный обмен через сервисы выглядит плохой идеей. Возможны большие задержки, юзеры будут смотреть на "зависший" 1с и нервничать. Переделайте отправку на асинхронный режим через фоновые задания. (8) если менять пакеты данных - то да; но у нас один элемент справочника - одна "отправка" в другую базу; ответ приходит моментально; и уже в зависимости от ответа - если он отрицательный, то оставляем на "переотправку" фоновому заданию (9) Помимо размера отправляемых данных надо учитывать кол-во юзверей. Помимо задержек при транспорте есть ожидания на блокировках. Сейчас их у вас нет, завтра система вырастет вширь и они появятся. (10) да, согласен, пока проблем нет; тогда в базе приемнике будем дописывать "очередь", чтобы избежать блокировок (и тут уже неважно как "направляются" данные туда - или онлайн, или фоново) да, согласен, пока проблем нет; тогда в базе приемнике будем дописывать "очередь", чтобы избежать блокировок (и тут уже неважно как "направляются" данные туда - или онлайн, или фоново)Просмотры 25163
Загрузки 0
Рейтинг 104
Создание 11.05.18 15:27
Обновление 19.05.18 22:55
№ Публикации 829356
Тип файла Нет файла
Конфигурация Не имеет значения
Операционная система Не имеет значения
Вид учета Не имеет значения
Доступ к файлу Бесплатно (free)
Код открыт Да
См. также
Как прикрутить ГУИД к регистру сведений Промо
. и немного теории обмена данными. В частности, разберем боль всех, кто пишет небанальные обмены данными: как набору записей регистра сведений назначить гуид и далее использовать его в обмене для идентификации этого набора.
16.04.2019 23370 m-rv 18
Выполнение синхронизации (обмен) по событию 1С (двусторонний обмен)
Выполнить синхронизацию(обмен) с другой базой 1С по событию в 1С (проведение документа). Запустить синхронизацию из другой базы 1С.
16.11.2021 644 Swamt 0
Ошибка при автоматическом сопоставлении объектов
Ошибка платформы 1С при автоматическом сопоставлении объектов. Ошибка СУБД: Microsoft SQL Server Native Client 11.0: Ошибка операции CREATE TABLE: столбец выходит за пределы максимального значения, равного 1024 столбцам. HRESULT=80040E14, SQLSrvr: SQLSTATE=42000, state=1, Severity=10, native=1702, line=1
24.09.2021 434 user1601331 1
Что делать, когда обмены между разными базами данных портят вам жизнь…
10.09.2021 1481 director04 9
Взаимодействие между базами 1С через COM Промо
Рассмотрено много особенностей взаимодействия между базами 1С по COM технологии
10.08.2015 175308 tormozit 71
Правила переноса документа "Сторно" в Бухгалтерию 3.0 из любой конфигурации, где он есть
В данной статье представлен код обработчика "ПослеЗагрузки" документа бухгалтерии "Сторно".
12.08.2021 512 Ivanov_OM 0
Описание формата 1С JDTO (JSON data transfer object)
Формат 1С JDTO может быть полезен для интеграции информационных баз 1С между собой, а также 1С с внешними системами. Публикация имеет своей целью помочь в освоении этого формата для обмена данными.
16.07.2021 6423 zhichkin 32
Ошибка синхронизации документа "Отчет переработчика" и боль типового обмена (УНФ - БП)
В данной статье поделюсь доработкой, а точней исправлением типового обмена УНФ - БП, документа "Отчет переработчика", и заодно опишу подход к решению подобных задач. Здесь не будет описано, что такое "МенеджерОбменаЧерезУниверсальныйФормат", "xdto", "EnterpriseData", по этим пунктам должны быть базовые знания.
08.06.2021 1116 con-men 0
Использование инструментов разработчика для отладки обменов КД 2.0 Промо
Пара трюков, благодаря которым жить становится намного проще.
05.05.2017 28756 unichkin 6
Особенности online-обмена между старыми и новыми типовыми
Столкнулся с неприятной особенностью потери части данных при обмене УСО (УПП) - ДО.
01.06.2021 3027 echo77 7
Добавление нового документа в формат обмена EnterpriseData (получение)
Данная статья - логическое продолжение (ссылка на первую часть ниже) доработки обмена, но уже на стороне базы приемника.
27.04.2021 1215 con-men 1
Добавление нового документа в формат обмена EnterpriseData (отправка)
Для меня встала задача добавить новый документ, созданный в расширении, в формат обмена EnterpriseData, между БП - УНФ. Изначальный поиск решения не дал результата. Методом проб и ошибок у меня сформировалось свое решение, которым спешу поделиться, чтобы систематизировать информацию в текст и услышать плюсы, минусы подхода. Все доработки осуществляются в расширении, в котором и был создан новый документ.
21.04.2021 2616 con-men 6
Приемы обработки больших данных в 1С Промо
Рассказ об эффективных приемах организации обработок больших объемов данных на платформе 1С
07.08.2015 71360 tormozit 29
Правила обмена больше не нужны
Есть несколько общепринятых подходов к написанию обмена между 1С-системами, каждый из которых упирается в длительное изучение технологии, мучительную отладку правил конвертации и написание большого количества сервисного кода, в котором потом тяжело разобраться. О принципах работы универсального фреймворка liteExchange, который реализует быстрые обмены между 1С и внешними системами, и берет на себя всю техническую обвязку по стандартному преобразованию данных, на INFOSTART MEETUP Saint Petersburg.Online рассказал Николай Крылов.
17.03.2021 12298 Nikola23 40
Перенос данных из ЗУП 2.5 в ЗУП 3.1
Довольно часто сталкиваюсь с тем, что у коллег возникает вопрос, как правильно выполнить перенос данных из ЗУП 2.5 в ЗУП 3.1. (Неужели еще кто-то до сих пор работает в ЗУП 2.5? Да, и очень много людей)
25.01.2021 8878 VAAngelov 71
Перенос документов 1С из одной базы в другую
Здравствуйте, коллеги! В своей практике работы с 1С для решения задач бизнеса мне неоднократно приходилось применять инструменты переноса документов 1С из одной базы в другую, причем работать приходилось как с однотипными конфигурациями, так и с разными. Этим интереснейшим опытом я и поделюсь в данной статье.
23.01.2021 24906 Koder_Line 9
Настройка типового обмена данными между: 1С: Предприятие Бухгалтерия ред. 3.0 (БП 3.0) и 1С: Управление торговлей ред. 10.3 (УТ 10.3). Промо
В этой статье я опишу, как настраивается типовой обмен данными между БП 3.0 и УТ 10.3.
29.01.2014 281957 arr 58
Объединение баз ЗУП
Есть база ЗУП 3.1, в которой ведется одна организация, все данные из нее нужно перенести в общий ЗУП, обе базы типовые. Используем для переноса КД 2.0.
10.01.2021 2234 roger83 2
Неожиданное использование XDTO
Расскажу про свой опыт, как XDTO может помочь в отладке обменов данных. И какие полезности можно почерпнуть для себя при работе с XDTO.
05.12.2020 3032 simon_sidoruk 22
Сказ о том, как в одной крупной компании документооборот внедряли, или проблемы типовых обменов между КА и ДО
Приветствую всех. Сегодня пойдет речь о том, как на одной крупной компании внедряли 1С:Документооборот 2.1 в связке с КА 2.4. Вроде бы системы типовые, мы практически не добавляли ничего в них, но проблем было столько, что я решил изложить их в статье. Может, кому-то пригодится это в дальнейшем, и не придется тратить кучу времени на поиск решений.
10.11.2020 7493 maks_20 30
Отладка правил обмена 7.7, 8 Промо
Отладка правил обмена всегда была для меня больной темой, пока наконец-то не разобрался. В интернете мало тем, посвященных этому, поэтому решил написать небольшую инструкцию по этому поводу. Очень надеюсь, что она будет кому-то полезна. С радостью выслушаю недочеты.
29.10.2013 52705 pyrkin_vanya 71
Простой пример разработки регулярного обмена с использованием БСП на примере ERP 2.4 и УПП 1.3
Данный вариант подойдет тем, кто хочет настроить "свой" регулярный обмен с добавлением "своих" планов обмена с использованием правил обмена на КД 2.1.
27.10.2020 7299 байт 30
Конвертация данных 2. Использование подключаемых обработок в правилах обмена. Конвертация дерева значений
Разработка правил обмена с использованием подключаемых обработок. В качестве примера рассмотрена реальная задача конвертации дерева значений.
15.06.2020 6759 Drivingblind 9
Конвертация данных 2.1. Методика переноса остатков
В данной статье я приведу пример использования базовой методики конвертации данных для переноса остатков из одной информационной базы в другую.
12.06.2020 14547 aximo 21
Обмен по расписанию типовыми средствами. Промо
Часто перед интеграторами стоит задача организовать автообмен (по расписанию или при наступлении какого-либо события) данными между различными конфигурациями. В этой статье я попробую изложить простую инструкцию, как это можно сделать средствами, заложенными в типовые конфигурации 1С (ЗУП, БП, УПП и т.д.). Для обмена используется подсистема "Обмен данными" из БСП
20.06.2012 105677 kser87 52
Механизм XDTO
Попытка понять механизм XDTO и его неочевидные аспекты. Научиться выполнять обмены между различными конфигурациями без оглядки на реализацию в типовых.
12.05.2020 7036 totchaz 4
oData одним из последних появился в инструментах интеграции поддерживаемых платформой 1С. В данной статье хотел бы показать пример его использования. О преимуществах и недостатках oData предлагаю поделиться в комментариях исходя из реального опыта использования. Цель публикации. Дать разработчикам простой инструментарий обмена между идентичными конфигурациями.
1 стартмани
10.05.2020 11178 18 Forest83 2
Опыт перехода на БП 3 с БП 2. Амортизация ОС при УСН
УСН. В начеле 2019 года перешли с БП 2 на БП 3. В начале 2020 года пытались начислить амортизацию в конце года по правилам УСН. Амортизация "не пришла". Разобрались и поправили. 3.0.75.109.
24.03.2020 2638 Gasilin 2
Заготовка для загрузки файлов по ftp Промо
3 процедуры и 1 макет
03.06.2013 31319 anig99 6
Механизмы проведения документов при обмене по универсальному формату
Как проводятся документы при обмене по универсальному формату. Пример доработки типовых правил обмена с переносом состояния документа: проведен/не поведен/пометка удаления.
04.03.2020 6644 partizand 7
Односторонний обмен ЗУП и БП
Односторонний обмен из ЗУП в БУХ
29.02.2020 10000 VAAngelov 36
Автоматический обмен при появлении файла, по регламентному заданию создаёт файл выгрузки, даже если файл загрузки не появлялся
Заметил, что "Автоматический обмен при появлении файла" каждый раз создаёт файл выгрузки данных, даже если файл для загрузки данных не появлялся. Данный код проверит, что файл появился, только после чего создаст файл выгрузки данных.
20.02.2020 3495 wau8824ru 4
Интеграция «1С:Управление производственным предприятием» с «1С:Документооборот» Промо
В данной статье пойдет речь о возможности интеграции 1С:Управление производственным предприятием ред. 1.3 с 1С:Документооборот КОРП и о том, что может получить предприятие от этой интеграции.
18.02.2013 66104 Vladimir_Konyrev 38
Бесшовная интеграция через обмен по правилам - миссия выполнима
При организации работы с договорами в ERP 2, с помощью бесшовной интеграции с Документооборотом, «типовой» методикой является создание договоров в ЕРП. После создания договора в ЕРП, пользователь «отправляет» договор в ДО по бесшовной интеграции. На практике, весьма часто пользователи хотят видеть обратную схему: вводить договоры в ДО и при этом получать их в ЕРП без «лишних телодвижений». Или даже вводить их независимо в обеих системах – так, чтобы потом «стыковать» по каким-то определенным правилам.
24.01.2020 7146 e-9 8
Конвертация ставок НДС: из Перечисления в Справочник (правила обмена в конвертации 2.0)
При написании правил обмена между "более старой" и "более новой" конфигурациями можно столкнуться с тем, что в одной конфигурации ставки НДС - это перечисление, а в другой - справочник (или наоборот, но мой пример именно из перечисления в справочник). Ситуация несложная, но нестандартная, поэтому выкладываю работающий пример, может, кому пригодится.
09.11.2019 8469 vikulinamari 6
Настройка синхронизации между конфигурациями Бухгалтерия для Беларуси 2.1 и Управление торговлей для Беларуси 3.4
Пошаговое описание настройки типового обмена между конфигурациями Бухгалтерия для Беларуси 2.1 и Управление торговлей для Беларуси 3.4
21.10.2019 9928 Olesia_Matusevich 1
Особенности обмена данными с использованием "ручной" регистрации Промо
Эта статья рассчитана на программистов, которые используют обмен данными с помощью метода "ВыбратьИзменения" и последующую их запись. Только для планов обменов, имеющих "ручную" регистрацию.
14.01.2013 36399 logarifm 6
Объединение организаций в ЗУП при реорганизации с переносом данных из ЗУП 2.5 в ЗУП 3.1
09.10.2019 9499 Neti 2
EnterpriseData: простой способ защиты данных в базе получателя при одностороннем обмене
Очень часто бухгалтеры ругаются, когда уже отраженные документы в бухгалтерском учета меняются сотрудниками.
04.10.2019 8074 handscenter 12
Дозагрузка измененных данных при помощи КД2
Иногда во время каких-то регламентных действий по обслуживанию базы(например, при обновлении измененной базы на много релизов) требуется обеспечить бесперебойность работы пользователей. Если конфигурации баз до и после идентичны, то тут сам Бог велел воспользоваться обработкой "ВыгрузкаЗагрузкаДанныхXML", либо такой же но с отбором(на Инфостарте есть такая). Но что если конфигурации баз различаются/значительно различаются? Ниже опишу, как вышел из положения я.
12.09.2019 5322 al_zzz 2
СТАБИЛЬНАЯ Загрузка справочника номенклатуры в 1С:Управление торговлей 8 из прайс-листа в Excel (код открыт скачать можно бесплатно) Промо
В таких случаях многие заказывают соответствующие обработки у собственных штатных программистов, фирм-франчайзи или сторонних разработчиков, но это дополнительные расходы и время. Как быть, если по различным причинам такой возможности нет? У каждого пользователя профессиональной версии 1С:Предприятие 8 подобная обработка уже есть! На диске ИТС! Типовая обработка «ЗагрузкаДанныхИзТабличногоДокумента.epf», находиться в разделе «Технологическая поддержка» > «Методическая поддержка 1С:Предприятие 8» > «Универсальные отчеты и обработки» > «Загрузка данных из табличного документа». Обратите внимание, начиная с Февраля 2010 г. на диске ИТС данная обработка для конфигураций на платформе 8.1 находиться в другом разделе: «Технологическая поддержка» > «Методическая поддержка 1С:Предприятие 8» > «Платформа 1С:Предприятие 8.1» > «Универсальные отчеты и обработки» > «Загрузка данных из табличного документа».
Общие правила обмена объектами метаданных между конфигурациями
В процессе разработки часто возникает необходимость переноса объектов метаданных между конфигурациями. Платформа 1С:Предприятие 8 предоставляет несколько механизмов, которые в той или иной степени позволяют решать данную задачу. К ним относятся:
- Копирование объектов метаданных через буфер обмена
- Объединение конфигурации с файлом
- Загрузка конфигурации из файла
- Хранилище конфигурации
- Обновление конфигурации, находящейся на поддержке
- Обновление конфигурации базы данных
В данной статье рассматриваются некоторые особенности работы этих механизмов, которые позволяют прогнозировать результат перемещений объектов по "цепочкам" конфигураций и правильно выбирать соответствующий механизм. Следует заметить, что статья не является подробным руководством по использованию данных механизмов.
Сопоставление объектов. Имя и идентификатор объекта метаданных
При перемещении объектов между конфигурациями важную роль играет вопрос их сопоставления. Необходимо иметь возможность определить, являются ли два данных объекта разными объектами или копиями одного и того же объекта. Предположим, что мы тем или иным способом скопировали объект из одной конфигурации в другую, а затем выполнили объединение этих конфигураций. Естественно ожидать, что платформа определит соответствие двух объектов, а не будет считать их разными объектами с одинаковыми именами. Для сопоставления объектов используются имя и внутренний идентификатор объекта. И если имя в процессе перемещения объекта, как правило, не изменяется (в любом случае мы можем его контролировать и, при необходимости, модифицировать), то внутренний идентификатор объекта ведет себя по-разному в зависимости от используемого механизма. В приведенной ниже таблице описываются способы сопоставления объектов и поведение внутренних идентификаторов при использовании разных механизмов.
Механизм Способ сопоставления Поведение идентификатора при перемещении объекта Копирование через буфер обмена Сопоставление не используется. Объект всегда вставляется как новый. Изменяется Объединение конфигураций Сопоставление по имени. При отсутствии соответствия по имени – сопоставление по внутреннему идентификатору. Возможна ручная установка соответствия. При копировании нового объекта изменяется. При объединении двух объектов, между которыми обнаружено соответствие, не изменяется. Сохранение в файл и загрузка конфигурации При загрузке выполняется полная замена на новую конфигурацию. Сопоставление не используется. Не изменяется Хранилище конфигурации При подключении к хранилищу выполняется загрузка конфигурации. При последующих операциях - сопоставление по идентификаторам. Не изменяется Обновление конфигурации базы данных Сопоставление по идентификаторам. В случае нарушения соответствия, данные информационной базы будут потеряны. Не изменяется Обновление конфигурации находящейся на поддержке При отключенной возможности изменений – сопоставление по идентификаторам. При включенной возможности изменений – сопоставление по идентификаторам, которые в некоторых случаях могут отличаться. В некоторых ситуациях возможна ручная установка соответствия.
При отключенной возможности изменений идентификатор не изменяется. При включенной возможности изменений возможны разные варианты. Однако сохранение соответствий при использовании данного механизма гарантируется. Три уровня работы механизмов
Таким образом, механизмы переноса объектов можно разделить по трем уровням:
- Механизмы которые требуют и обеспечивают строгое соответствие идентификаторов. К ним относятся сохранение / загрузка конфигурации, работа с хранилищем конфигурации, обновление конфигурации базы данных и обновление конфигурации, находящейся на поддержке при отключенной возможности изменений.
- Механизмы, которые используют соответствие по идентификаторам, но не гарантируют их неизменность. К ним относится обновление конфигурации, находящейся на поддержке при включенной возможности изменений.
- Механизмы, которые не используют и не обеспечивают неизменность идентификаторов. К ним относятся копирование через буфер обмена и объединение конфигурации.
Можно определить следующее правило:
Для обеспечения корректного сопоставления объектов уровень механизмов нельзя понижать.Например, имеются две конфигурации: одна, в которой ведется разработка и вторая - в "рабочей" базе. Новые версии разрабатываемой конфигурации переносятся при помощи механизма загрузки конфигурации с последующим обновлением конфигурации базы данных. Используемый механизм переноса объектов относится к первому уровню, и идентификаторы при переносе не изменяются. Предположим, что для очередного обновления был использован механизм объединения конфигураций. Проблемы при этом не возникнет, поскольку для "старых" объектов, присутствовавших в предыдущих версиях, идентификаторы не изменились. Однако новые объекты попали в "рабочую" базу с измененными идентификаторами. Для дальнейших переносов новых версий нужно будет использовать только механизм объединения конфигураций, поскольку при выполнении загрузки (то есть при понижении уровня механизма со второго на первый), идентификаторы некоторых объектов "восстановятся" с точки зрения конфигурации разработки, но изменятся с точки зрения "рабочей" конфигурации. В этом случае при обновлении конфигурации базы данных произойдет потеря данных.
Примеры
Параллельное создание объектов
Используется одна конфигурация в двух разных базах: в базе разработки и в базе заказчика. При обновлении конфигурации заказчика, была на месте произведена доработка, в результате которой в базу был добавлен новый объект. Затем в конфигурации разработки этот объект был добавлен вручную. Фактически мы воспользовались механизмом третьего уровня (поскольку идентификаторы у объектов получились разные). Для дальнейшей синхронизации конфигураций без потери данных можно применять только объединение (механизм третьего уровня). Для того, что бы избежать подобных проблем, следует после доработки у заказчика сохранить конфигурацию в файл, а затем загрузить ее в базу разработки.
Восстановление автоматической поддержки конфигурации поставщика
Конфигурация находится на поддержке в полностью автоматическом режиме (с отключенной возможностью изменений). Предположим, что в какой-то момент возможность изменений была включена. Например, это понадобилось для срочного исправления ошибки. После исправления ошибки поставщиком, возникла необходимость отключить возможность изменений для облегчения последующих обновлений. Но это приведет к понижению уровня механизма, а следовательно гарантированного сохранения данных информационной базы при этом добиться будет невозможно. Следует создать новую базу из дистрибутива конфигурации поставщика (с выключенной возможностью изменений) и программно перенести в нее данные.
Примеры анализа цепочки изменений конфигурации
Приведем несколько примеров анализа цепочки изменений конфигурации с точки зрения возможности потери данных.
Например, конфигурация хранилища была сохранена в файл. Это механизм первого уровня. В другой базе было выполнено объединение конфигурации с этим файлом. Уровень повысился до третьего. Затем возникла необходимость подключить эту базу к хранилищу. Механизм хранилища работает на первом уровне, поэтому при этом будет возможна потеря данных.
Другой пример. Мы ведем разработку конфигурации в некоторой базе и готовим в ней файлы поставки. Кроме того, у нас есть подготовленная демонстрационная база, которую мы поставляем пользователям. После создания файла поставки очередной версии мы загружаем его в демонстрационной базе. Все использованные механизмы работают на первом уровне, поэтому расхождения идентификаторов и потери данных не произойдет.
Для получения более подробной информации по поведению идентификаторов и сопоставлению объектов, мы рекомендуем ознакомиться с циклом статей "Поставка и поддержка конфигураций".
Читайте также: