Не будет лишним напомнить, что в новых версиях типовых конфигураций 1С (на основе БСП 2) нет возможности создавать регулярные обмены (через COM-соединение) по произвольным правилам, созданным с помощью "Конвертация данных 2.0". Фирма 1С создала возможность создавать обмены только со своими типовыми решениями. Поэтому возникла идея создать универсальный механизм, подсистему, которая будет содержать необходимый набор объектов для осуществления процедур обмена данными по своим произвольным правилам формата XML, созданным в привычной многим "Конвертации данных 2.0". Сделать доступным для запуска рядовым пользователем. Может многие уже сталкивались, например, с проблемами типа:
- Как настроить синхронизацию данных ERP с "Бухгалтерия предприятия 3.0" в пользовательском режиме(!) по своим правилам КД 2.0?
- Как настроить синхронизацию данных "Розница 2.0" с ERP с хотя бы по типовым правилам (которых, кстати, пока не существует)?
- Как настроить синхронизацию данных "Бухгалтерия предприятия 3.0" со своей рукописной конфигурацией не перенося весь сложный механизм обмена данными БСП 2.х?
Если для вас эти вопросы знакомы и единственным решением до этого было нанять специалиста, чтобы он настроил обмен (часто по известному только ему алгоритму) и далее подсаживал на свою поддержку до конца своих дней, то "Подсистема обмена данных (по произвольным правилам КД 2.0)" для вас!
В ряде случаев конфигурации являются нетиповыми, и процесс настройки обмена для большинства случаев является непростым делом.
Из-за отсутствия универсального механизма обмена данными настройка регулярного обмена между текущими версиями продуктов 1С (на БСП 2), для которых 1С не создала правил обмена, представлялась непростой задачей, полностью зависящей от программиста, который должен был разработать свой механизм регулярного обмена данными (а, в ряде случаев, и умереть вместе с ним).
К минусам существовавших ранее (например, в УПП) т.н. Online-обменов можно отнести отсутствие реализации переноса самих вложенных объектов. Было необходимо писать правила выгрузки данных для каждого объекта, связанного с родительским (например, чтобы перенести документ-основание текущего документа) нужно было создать правило выгрузки данных для него и выгружать по нескольким правилам вместе с родительским иначе переносилась ссылка без самого объекта вида (Объект не найден <строка УИД>).
Отныне это в прошлом! Пользуясь подсистемой "Обмен данных" теперь вы сможете осуществлять регулярную синхронизацию данных между любыми конфигурациями для управляемого приложения независимо от наличия встроенной возможности и по своим произвольным правилам! При обмене дочерние объекты переносятся полностью, а не только ссылкой, как было ранее в типовых обменах 1С!
Порядок работы с механизмом
- Объединяете объекты подсистемы со своими конфигурациями (источником и приемниками).
- Регистрируете подсистему "Обмен данных", вводите ключ регистрации в конфигурации базы-источника.
- Настраиваете регистрацию изменений нужных вам объектов в плане обмена из подсистемы "Обмен данных" - то есть включаете нужные объекты в состав плана обмена с авторегистрацией (либо же регистрацией используя код).
- Создаете узлы плана обмена в соответствии с типовой логикой - обратная зеркальная нумерация кодов узлов плана обмена в источнике и внешних базах.
- Создаете настройку обмена, которая включает в себя настройку подключения ко внешней базе файловой или серверной (должна быть зарегистрирована компонента comcntrl.dll, о том как зарегистрировать компоненту на х64 сервере описано тут ), узел внешней базы плана обмена.
- Создаете свои правила обмена в КД 2.0. Загружаете их в настройку.
- По желанию можете их прочитать и выбрать только те объекты, которые хотите выгрузить из текущей и внешней базы.
- Запускаете синхронизацию. Синхронизация может быть запущена в регламентном задании. Коды для обработчиков можно получить по кнопке настройки обмена. Готово!
- Начиная с версии 2.01 при значении константы DtExch_ЗадействоватьМеханизмБСП20="Истина" обмены, запускаемые из формы запускаются в фоне
Входящие в подсистему объекты
- Общий модуль DtExch_ ОбменДанными
- Справочник DtExch_НастройкиОбмена
- Константа DtExch_КлючРегистрации
- Обработка DtExch_ОбменДаннымиXML
- Регистр сведений DtExch_ОтложенныеДвиженияДокументов
Общие вопросы
- Требования: все версии платформ 1С начиная с 8.2 и выше, ограничений на конфигурации нет
- Доработка для неподдерживаемых версий 1С: не требуется
- Код программы частично закрыт.
- Обновления программы бесплатные, возможны по стандартной поставке с частично закрытым кодом. Обновления обычные будут идти отдельными cfu файлами.
- Обновления крупные - платные.
- Техподдержка: отвечаю в личных письмах тут, в крайнем случае - по телефону, но лучше в письме с наглядной иллюстрацией проблемы. Отвечаю только по теме конкретной разработки, без растекания на другие темы.
- Лицензирование происходит единократным вводом ключа продукта в константу "Подсистема обмен данными - Сервис -Ключ регистрации подсистемы обмен данных"
- Инструкция по внедрению и установке есть тут
- Важно: пути файлов обмена в настройках обмена относятся к серверу, то есть на клиенте их нет
Апробация
Протестировано на обменах между конфигурациями: ERP, БП 3.0, Розница 2.0, КА 1.0, КА 2.0 и собственными рукописными конфигурациями.
Обновление версии до 2.1.5
Новое в версии:
- в форме справочника "Настройки сценариев обмена данными (правила КД 2.0)" добавлены поля постфиксов компонент ИБ для подключения к различным версиям СОМ-компонент DLL
Обновление версии до 2.1.4
Новое в версии:
- автозаполнение версии подсистемы в меню "сервис"
Исправления:
- для обычной формы настройки ранее не обновлялось имя плана обмена удаленной базы (исправлено)
Обновление версии до 2.1.3
Новое в версии:
- Управляемые формы: перегруппированы элементы на вкладке элемента настройки "Общие настройки обмена", для поля "пароль пользователя ИБ" установлен режим отображения пароля, доработаны заголовки элементов формы
- Команда "Код запуска обработчиков" в форме элемента настройки обмена сделана параметрической и вынесена в командную панель, теперь текст кода содержит ссылку на текущую настройку обмена
- В текст кода запуска обработчиков добавлен код вызова обработчика полной синхронизации согласно настройке (он же вызывается в ручном режиме по нажатию кнопки "Выполнить обмен")
Добавлено "Расширение для работы регламентного задания БСП 3.х"
Данное расширение закрывает потребность обеспечении корректной работы типового задания в рамках стандартного механизма БСП 3.х. Протестировано на версиях 3.0.3.341 - 3.1.2.484
Обновление версии до 2.1.2
Исправления:
- Обычные формы, форма настройки обмена некорректно заполнялись приоритеты обмена по кнопке "Перезаполнить"
- Обработка обмена, модуль обработки. Удален обработчик сопоставления приоритетов обмена за ненадобностью, который мог ранее вызывать ошибки при запуске обмена на конфигурациях ERP и КА.
Обновление версии до 2.1.1
Исправления:
- Команда "Загрузить из ИБ приемника" (СОМ) отрабатывала с ошибкой
Замечания:
- Для ОС Windows 10 крайне желательно запускать 1С с правами администратора в силу того, что могут быть недоступны каталоги временных файлов, что приведет к ошибкам чтения файлов правил обмена
Обновление версии до 2.1.0
Новое:
- Появилась опция в форме настройки обмена "При загрузке записывать только измененные объекты", при включении которой анализируются изменения в реквизитах объектов, что дает выигрыш до 35%-40% времени при загрузке объектов, что особенно заметно на больших объемах данных, то есть создан алгоритм при загрузке предварительного анализа измененных реквизитов объектов (загружаемый объект сравнивается с существующим объектом ИБ).
- Новая опция для файловых обменов в "Таблице приоритетов обработок" - "Время циклического повторения (мин)", которое позволяет гибко подстроить повторные циклы загрузки или выгрузки до перехода к следующему виду обработки, например, если известно, что файлы для загрузки накапливаются быстрее, чем образуется при выгрузки из текущей базы, имеет смысл установить "Время циклического повторения (мин)" в значение, за которое будет последовательно выполняться циклы загрузки, до того как после нее произойдет выгрузка, например, в 30 мин, за эти 30 мин будет выполняться только загрузка файлов до тех пор пока их не количество не станет равным нулю, а при достижении нуля далее будет выполняться выгрузка
- Новая опция для файловых обменов в форме настройки обмена "Уменьшать номер принятого по узлу при ошибке", при включении которой произойдет поиск по тексту ошибки в протоколе обмена загрузки. Обычно это происходит при динамическом обновлении или перезапуске служб сервера 1С или самих серверов в то время как шла загрузка данных.
- Появилась опция в форме настройки обмена "Отправлять письма на e-mail с текстом ошибки", которая позволяет настроить отправку писем с текстом протокола обмена если произошла ошибка
- В форме списка настроек обмена добавлена колонка "Вид обмена"
Исправления:
- мелкие небольшие исправления
Обновление версии до 2.02
Новое:
- Обновлены формы обычного приложения под актуальную версию и новые возможности
Исправления:
- Исправлена ошибка сохранения файла журнала протокола
Выпущена новая версия 2.01
Новое:
- Оптимизирован механизм настроек сценариев обмена, теперь он работает с любым планом обмена, которые есть в метаданных
- Добавлен механизм ограничения к выгрузке за один вызов количества объектов, зарегистрированных на узле (это очень важная опция если речь идет о большом количестве объектов при котором возможно переполнение памяти как оперативной так и дисковой), выгружается строго ограниченное количество объектов в этом случае
- Добавлен механизм журналирования протоколов обмена с ограничением на количество файлов для хранения
- Сообщения обмена теперь накапливаются, а не перезаписываются как в более ранних версиях, удаляются по мере успешной загрузке в приемнике
- Добавлена интеграция с БСП для версии 3.0.1.268 добавления регламентных заданий так, как это работает с типовыми сценариями обмена с установкой расписания прямо в модуле формы настройки сценария обмена
- Добавлена настройка приоритета порядка вызова обработчиков обмена (в ранних версиях приоритет всегда был "выгрузка"- "загрузка")
- Улучшен интерфейс форм для пользовательского удобства
- Добавлены проверки на доступность каталогов
Исправления:
- Исправлены ошибки в алгоритмах вызова обработчиков обмена
- Исправлены ошибки обработки обмена, проведена оптимизация кода по данным долгого нагрузочного тестирования
Замечания и аннотации:
- В виду недостатка данных о хранении ссылок соответствий объектов из разных баз и наличия регистра сведений в БСП пока принято решение не включать в подсистему алгоритм поиска и создания ссылок в регистре соответствия объектов ИБ. Данный момент требует всестороннего анализа и проработки. Включение ссылок в данный регистр каждый пользователь/программист может прописать у себя в правилах обмена при наличии у его баз БСП при необходимости с поиском
- Для обычных форм обновление выйдет немного позже
Обновление версии до 1.4 (бета), доступно с версии 1.3
Новое:
- добавлена возможность обмена по FTP (нет личного доступа к демо FTP-серверу на запись, поэтому пока бета-версия). Пока только для управляемой формы настройки. Возможность становится доступной при активации галки "Без подключения", появляется новый чек-бокс "Через FTP" с полями авторизации доступа на него
Обновление версии до 1.3.2
Исправления:
- Для платформы 8.2 не читалось свойство ЭтотУзел плана обмена
Обновление версии до 1.3.1
Исправления:
- Добавлена передача данных правил с клиента на сервер (для управляемой формы настройки обмена)
- Добавлено общее перечисление, необходимое для идентификации приоритетов обмена для типовых конфигураций в случае если типовое перечисление было удалено
- Добавлено подробное описание ошибки подключения к ИБ по COM если таковое случается
Обновление версии до 1.3
Исправления:
- Исправлена обязательная выгрузка правил при одностороннем обмене, даже когда эти правила не нужны, добавлены описания ошибки при подключении по COM
Обновление версии до 1.2
Новое:
- Созданы формы обычного приложения, теперь подсистема полностью совместима с обычным приложением
Исправления:
- Добавлены проверки заполнения на форме "Настройка обмена"
- Исправлено расширения файла протокола обмена при выборе по кнопке с "xml" на "txt"
Примечания:
- При включении обмена между конфигурациями разных платформ 8.2 - 8.3 при неустановленном режиме совместимости в 8.2 приводит к вылетанию рабочего процесса из памяти (крэш системы). Для решения этого вопроса
- нужно установить режим совместимости конфигурации 8.2. В форме элемента настройки обмена выбрать ту версию платформы конфигурации, которую указали в режиме совместимости конфигуратора.
- Пример: имеем 2 базы База1 и База2. База1 имеет режим "обычное приложение", База2 "управляемое" приложение
- В конфигураторе Базы1 устанавливаем режим совместимости "Версия 8.3.6". Далее запускаем ее и в настройке обмена указываем версию платформы текущей базы 8.3. Если же указать режим совместимости "Версия 8.2.х", то аналогично тогда устанавливаем версию платформы текущей базы 8.2.
Условия техподдержки
Бесплатно сроком до одного месяца после покупки, далее возможен вариант приобретения продления техподдержки на 6 месяцев.
Причины купить
Достоинства
1. Простое решение для настройки обмена данных.
2. Иные законченные решения предлагают либо внешнюю конфигурацию, либо руководство к самостоятельной доработке типовых обработок, например "Универсального обмена".
В первом случае минусы - дополнительное звено в цепь баз данных, и значительно более высокая цена. Во втором случае - отсутствие полной функциональности типового механизма обмена данных, такого как контроль за очисткой таблицы изменений, прием-передача и хранение сообщений обмена и т.п.
3. Обмен по COM (файловый вариант и прямое/обратное подключение), обмен без подключения к ИБ - выгрузка/загрузка в файлы XML для РИБ.
4. Возможность выбора объекта выгрузки данных прямо в настройке обмена.