Обмен документами по правилам КД 2.0 с помощью внешней обработки







Вам нужно разово выгрузить документ? Настроить периодическую выгрузку, не снимая конфигурацию с поддержки?
Вы написали правила на КД 2.0 и думаете, как лучше дальше поступить?
Тогда эта обработка для Вас.

ОПИСАНИЕ

Данная обработка — ШАБЛОН (для программистов!), с помощью которого Вы сможете:

  1. Разово выгрузить документ по своим правилам.
  2. Настроить автоматическую выгрузку документов по вашим правилам без снятия конфигурации с поддержки!  Обработка подключается с помощью механизма внешних обработок БСП.
  3. Правила можно как встроить в обработку, так и выложить в виде файла, обработка сама загрузит эти правила.
  4. Получать оповещения о проблемах обмена на e-mail.
  5. В обработке предусмотрена защита от обмена из копии базы.
  6. Вы можете легко добавить любой свой код/алгоритм при выгрузке. Код обработки полностью открыт и адаптирован для легкой модификации.

При наличии правил, вся остальная работа (создание вашей версии обработки, регистрация ее в базе и запуск автоматического обмена) занимает не более 15 минут!

ОСОБЕННОСТИ

  1. Версия платформы 8.3.5 и выше (на более ранних не проверялось, но, возможно будет работать).
  2. Конфигурация на базе БСП (без БСП не будет работать автообмен и оповещения о проблемах).
  3. Шаблон сделан на управляемых формах.
  4. Выгрузка осущетсвляется с помощью стандартной обработки «Универсальный обмен данными XML».
  5. Имя правила выгрузки и имя выгружаемого документа (-ов) должны совпадать.
  6. Настройки обработки сохраняются по имени обработки (важно в случае использования нескольких обработок обмена в одной базе).
  7. При автоматическом обмене используется план обмена «Полный». Создается узел данного плана обмена.
  8. Для работы в режиме авто обмена базы должны быть доступны по COM.

КАК ИСПОЛЬЗОВАТЬ ШАБЛОН

  1. Копируете файл шаблона.
  2. Переименовываете копию файла шаблона.
  3. Открываете копию файла шаблона в 1С.
  4. Меняете имя и синоним обработки.
  5. Для реквизита «Документ» табличной части «СписокДокументов» укажите состав типов (т.е. список документов которые собираетесь выгружать) .
  6. Если правила будут встраиваться в обработку (а не загружаться из файла каждый раз при запуске обмена), то загружаем правила в макет «ПравилаОбменаXML».

Все, «программирование» на этом завершено, обработка готова к использованию.

Далее в зависимости от потребности:

  1. Если нужно разово выгрузить какие-то документы, то:
    1. Открываем обработку в 1С.
    2. На вкладке «настройки» указываем параметры подключения.
    3. На вкладке «документы для выгрузки» выбираем документы и жмем «выгрузить документы».
  2. Если нужно настроить автообмен, то встраиваем обработку как внешнюю обработку с помощью БСП.
    1. В шаблоне автоматически создано 2 команды, одна команда предназначена для запуска по расписанию, вторая команда предназначена для открытия формы обработки. Настраиваем расписание автоматического выполнения обмена.
    2. Назначаем для команды открытия формы размещение и открываем форму обработки.
    3. Переходим в раздел «Настройки» и последовательно заполняем все настройки в соответствии с подсказками на форме.
    4. Закрываем форму обработки. При закрытии настройки обмена будут сохранены и начнется автоматический обмен данными.
  3. При необходимости, можно встроить обработку в конфигурацию и дать возможность пользователю вручную выбирать документы для выгрузки. Если обработка была ранее настроена, то закладка с настройками не отображается. (Для отображения закладки нужно нажать «Все действия» — «Показать настройки». Повторный выбор данного пункта вновь скроет настройки.) Это удобно т.к. пользователь будет видеть только список документов и кнопочку «выгрузить документы».

Для работы автоматического обмена ипользуется план обмена «полный». Для данного плана обмена создается узел и данные зарегистрированные для этого узла автоматически выгружаются. Все что не подходит для выгрузки (например, по дате запрета выгрузки) или не имеет правил для выгрузки — просто снимается с регистрации.

10 Comments

  1. Светлый ум

    Для обычных форм — чем отличается от обработки «Универсальный обмен данными в формате XML» ?

    Reply
  2. Ifboop_Figure

    Первое — это обработка для УФ.

    Второе — это шаблон-обертка на указанную обработку «Универсальный обмен данными в формате XML» (т.е. обмен выполняется с ее помощью) с помощью которого можно быстро создавать законченные решения для пользователя. т.е. просто «накидав» правила в КД и подсунув в шаблон, клиенту (заказчику, пользователю) можно отдавать готовое решение с довольно не плохими возможностями.

    Лучше всего пойти от задачи. Считаем что у нас правила на КД 2.0 уже написаны.

    Рассмотрим по вариантам:

    1. Нужно разово выгрузить пару документов из одной базы в другую. Это самый простой вариант. Тут можно использовать «Универсальный обмен данными в формате XML». Единственное неудобство, что этой в обработке нужно указать план обмена в котором будут зарегистрированы нужные для выгрузки документы. Не удобно, но сделать можно. Скорее всего в этом случае не очень оправданно «мутить» свою обработку на основе данного шаблона. В данном случае с помощью шаблона можно только избежать необходимости создавать план обмена и регистрировать в нем нужные документы.

    2. Нужно настроить авто-обмен документами из одной базы в другую. Вот тут уже задача для шаблона, берем правила, настраиваем шаблон и запускаем в работу (еще раз, все работает в виде внешней обработки подключаемой помощью механизма БСП. никаких изменений в конфигурацию вносить не требуется вообще. Настройка шаблона минут 15). Какие альтернативы? Возможно как-то пытаться пристроить какой-то стандартный план обмена, но это выйдет отнюдь не проще чем использовать эту обработку (хотя все зависит от ситуации, возможно использование типового обмена со своими правилами в каких-то ситуациях более оправдано).

    3. Нужно дать пользователю возможно в ручном режиме выгружать какие-либо документы. Он сам выбирает список и нажимает одну кнопочку «Выгрузить» и все. С шаблоном эта задача решается за 15 минут. Какие альтернативы? Дать правила пользователю пусть их в «Универсальный обмен данными в формате XML» вставляет?

    4. Я сталкивался с ситуацией, когда из 5 типовых бухгалтерий данные выгружались в одну базу по некоторым правилам. Правила всегда одинаковые для всех 5 баз и их нужно одновременно обновлять (по мере возникновения такой необходимости). В данном случае очень удобно указать обработке путь к правилам (файлу в каталоге на общем диске) и просто обновлять файл с правилами.

    Есть еще много и других вариантов использования. Но главное — это возможность очень быстро создать законченный продукт (готовый для передачи заказчику) имея на руках только правила обмена.

    Типовому заказчику правила для обработки «Универсальный обмен данными в формате XML» не передашь в качестве законченного решения по принципу — а дальше сами.

    Простая формула: Правила на КД 2.0 + шаблон = готовое законченое, функциональное решения для заказчика (внутреннего или внешнего).

    Reply
  3. alon

    Спасибо. Неплохо задумано и добротно реализовано. Код написан аккуратно, с комментариями. Удобно использовать как шаблон, и дорабатывать под свои нужды.

    Reply
  4. Butuff

    Добрый день, пробую использовать вашу обработку в автоматическом режиме для выгрузки по своим правилам. Почему-то не запоминается план обмена и при открытии формы настроек поле все время пустое, и из-за этого видимо не срабатывает автоматический обмен.

    И еще возможно ли помимо документов выгружать произвольный независимый регистр сведений?

    Reply
  5. Butuff

    (4)

    первый вопрос решился дописанием строчки в процедуре восстановлении настроек:

    Если Настройка <> Неопределено Тогда

    ЗаполнитьЗначенияСвойств(ЭтотОбъект,Настройка);

    ЭтотОбъект.ПланОбмена = ПланыОбмена.Полный.НайтиПоНаименованию(Настройка.ПланОбмена);

    КонецЕсли;

    а вот регистр свой вставил в полный план обмена и по идее он должен уходить при изменениях… еще не протестил

    Reply
  6. Butuff

    (2) а не подскажете есть ли возможность в обработке делать выгрузку не только документов? а не связанных с ними справочников, регистров?

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

    Reply
  7. Ifboop_Figure

    (6) требуется доработка. Текущая версия обработки не предусматривает такой возможности.

    Reply
  8. user664268_wolf6878

    Не работает кнопка — выбрать документы для выгрузки.

    Reply
  9. user664268_wolf6878

    Ошибка — Значение не является значением объектного типа (имя) , при нажатии на Создать план обмена.). Розница 22

    Reply
  10. user664268_wolf6878

    Всё в порядке, пардон.

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *