Автоматизация обмена между базами, используя обработку "Универсальный обмен данными в формате XML". Подумаем о регистрации объектов обмена

Публикация № 87057

Разработка - Системная интеграция - Обмен через XML

Данный материал является продолжением начатой мною темы относительно использования обработки «Универсальный обмен данными в формате XML» при организации регламентного обмена между различными базами (http://infostart.ru/public/86109/ ).

После построения простой схемы обмена всегда встает вопрос  относительно того, как регистрировать изменения в базе для обмена (в стандартном варианте для этого есть планы обмена, где определен состав объектов и способ их регистрации), в нашем варианте тоже возможна привязка к плану обмена и обработка позволяет это сделать. Также возможно создать свой план обмена и задействовать его, вот некий пример: http://www.kb.mista.ru/article.php?id=356 . Но я, не претендуя на уникальность, предлагаю свой вариант, идея которого, возможно, кому-либо и пригодится.

Итак…

Изменения будут регистрироваться в регистре сведений:

 

Также потребуется перечисление для установки текущих статусов документов: 

Напишем несколько функций в общем модуле (можно использовать имеющейся либо создать свой для этой цели). Там разместим помимо регламентных процедур загрузки и выгрузки описанных в предыдущей статье следующие функции:

//проверка статуса документа для принятия решения о обмену
Функция ПолучитьСтатусДокумента (Документ
) Экспорт
   
Запрос = Новый Запрос
;
   
Запрос.Текст
=
   
"ВЫБРАТЬ
    |   СтатусыДокументовДляВыгрузки.Статус
    |ИЗ
    |   РегистрСведений.СтатусыДокументовДляВыгрузки КАК СтатусыДокументовДляВыгрузки
    |ГДЕ
    |   СтатусыДокументовДляВыгрузки.Документ = &Документ"
;
   
Запрос.УстановитьПараметр("Документ",Документ
);
   
РезультатЗапроса = Запрос.Выполнить
();
    Если
РезультатЗапроса.Пустой
() Тогда
        Возврат Null;
    Иначе
        Возврат
РезультатЗапроса.Выгрузить()[0].Статус
;
    КонецЕсли;
КонецФункции

//установка нового статуса документа в системе обена
Процедура УстановитьСтатусДокумента (Документ, Статус
) Экспорт
    Если Не
ЗначениеЗаполнено(Документ) ИЛИ Не ЗначениеЗаполнено(Статус
) Тогда
        Возврат;
    КонецЕсли;

   
МенеджерЗначенияСвойствОбъектов = РегистрыСведений.СтатусыДокументовДляВыгрузки.СоздатьМенеджерЗаписи
();
   
МенеджерЗначенияСвойствОбъектов.Документ = Документ
;
   
МенеджерЗначенияСвойствОбъектов.Прочитать
();
   
МенеджерЗначенияСвойствОбъектов.Документ = Документ
;
   
МенеджерЗначенияСвойствОбъектов.Статус = Статус
;
   
МенеджерЗначенияСвойствОбъектов.Записать
();

КонецПроцедуры

//удаление документа из системы обмена
Процедура УдалитьСтатусДокумента (Документ
) Экспорт
    Если Не
ЗначениеЗаполнено(Документ
) Тогда
        Возврат;
    КонецЕсли;
   
МенеджерЗначенияСвойствОбъектов = РегистрыСведений.СтатусыДокументовДляВыгрузки.СоздатьМенеджерЗаписи
();
   
МенеджерЗначенияСвойствОбъектов.Документ = Документ
;
   
МенеджерЗначенияСвойствОбъектов.Прочитать
();
    Если
МенеджерЗначенияСвойствОбъектов.Выбран
() Тогда
       
МенеджерЗначенияСвойствОбъектов.Удалить
();
    КонецЕсли;

КонецПроцедуры

Теперь в актуальном для нас обработчике события отслеживаемого типа документа поместим логическую конструкцию для регистрации события записи… проведения и т п. в зависимости от ваших потребностей (например):

Если Ссылка.Дата > '20110525' Тогда
        Если
Ссылка.СкладОтправитель = Справочники.Склады.НайтиПоКоду("……")
            ИЛИ
Ссылка.СкладПолучатель = Справочники.Склады.НайтиПоКоду("…..") ТОГДА
               
Обмен.УстановитьСтатусДокумента (Ссылка, Перечисления.СтатусДокументов.НеВыгружено);
        КонецЕсли
КонецЕсли;

Процедура выгрузки несколько изменится, поскольку вместо одного документа мы теперь используем массив ссылок на документы (вот так теперь выглядит окончание):

Начитали список нужных нам документов:

    Структура = Новый СписокЗначений;
   
Запрос = Новый Запрос();
   
Запрос.Текст =
       
"ВЫБРАТЬ
        |   СтатусыДокументовДляВыгрузки.Документ,
        |   СтатусыДокументовДляВыгрузки.Статус
        |ИЗ
        |   РегистрСведений.СтатусыДокументовДляВыгрузки КАК СтатусыДокументовДляВыгрузки

        |ГДЕ
        |   СтатусыДокументовДляВыгрузки.Статус = &Статус"
;

    Запрос.УстановитьПараметр("Статус", Перечисления.СтатусДокументов.НеВыгружено);
    Структура = Запрос.Выполнить().Выгрузить();

    ОтборДляПеремещения(ВременнаяТаблицаПравил, Структура);

    Обработка.ТаблицаПравилВыгрузки = ВременнаяТаблицаПравил.Скопировать();
   
Обработка.АрхивироватьФайл = Истина;

    Если
Структура.Количество() > 0 ТОГДА
       
Обработка.ВыполнитьВыгрузку
();

А после выгрузки соответственно меняем статус документов.

        Для Каждого Док Из Структура Цикл
           
УстановитьСтатусДокумента (Док.документ, Перечисления.СтатусДокументов.Выгружено);
        КонецЦикла;
    КонецЕсли;

Теперь создаем регламентные задания и подключаем их к нашим процедурам загрузки и выгрузки

Настраиваем расписание и можно на этом пока остановиться…

Поле для вариаций довольно широкое поэтому пробуйте… Удачи.

Скачать файлы

Наименование Файл Версия Размер
Печатный вариант статьи

.zip 359,94Kb
137
.zip 359,94Kb 137 Скачать

Специальные предложения

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
0. wiranata 274 08.07.11 17:26 Сейчас в теме
Данный материал является продолжением начатой мною темы относительно использования обработки «Универсальный обмен данными в формате XML» при организации регламентного обмена между различными базами (http://infostart.ru/public/86109/ ).


Перейти к публикации

1. ivanov660 2383 17.08.11 22:48 Сейчас в теме
Зачем изобретать колесо?
В 1С УПП, Бух и других уже реализован удобный инструмент регистрации изменений на основе правил сформированных в конфигурации "конвертация данных". Каждый раз менять конфу, когда что-то изменится и т.д. неэффективно.
2. wiranata 274 17.09.11 13:45 Сейчас в теме
(1)Это при условии что вы используете объект "План обмена" тогда вопрос регистрации не стоит (только регистрация объектов настраивается там не в "конвертации данных" и не в правилах обмена а в той же "конфе").

Я колесо не изобретал, читайте внимательно.
Данная публикация развитие предыдущей там иная концепция.
5. RailMen 806 07.11.14 01:42 Сейчас в теме
У меня на реальном предприятии реализована регистрация измененных объектов тоже через РС, а не план обмена ввиду некоторых нюансов. В РС все проще - не нужно реквизита "Статус" типа перечисления. При записи элементов (справочников или документов) в базу происходит проверка на совпадение записываемого объекта с хранимой в базе ссылкой. Если объект был изменен или создан новый, то делается запись в РС. Выгрузка объектов в базы приемники (их много ;) ) происходит в рег задании: каждые 5 минут делается запрос к РС, в котором хранятся ссылки на измененные объекты. Далее эти ссылки помещаем в отбор УниверсальногоОбменаДанными с прикрученными правилами обмена (они переписываются довольно часто ввиду развития всех конфигураций). Если выгрузка прошла успешно - то запись просто удаляем из РС. Если не успешно, то оставляем в РС до следующей попытки выгрузки данных. В РС есть реквизит - "Комментарии выгрузки", в который записываем описание ошибки при выгрузки. Вуаля!
st4rk; roofless; +2 Ответить
6. wiranata 274 08.11.14 13:38 Сейчас в теме
Ну это писалось давно. Решений тут может быть масса в зависимости от специфики. И все это можно совершенствовать без предельно (зависит от полета фантазии и конкретной специфики).
Оставьте свое сообщение

См. также

Проверка данных после неполного ("нового") переноса из ЗУП 2.5 в ЗУП 3.1 Промо

Зарплата Бухгалтерский учет Перенос данных из 1C8 в 1C8 Зарплата v8 v8::СПР ЗУП3.x Россия БУ Абонемент ($m)

Описаны данные, которые необходимо проверить после неполного ("нового") переноса из ЗУП 2.5 в ЗУП 3.1. Описано, на что необходимо обратить внимание, где найти перенесенные данные, что НЕ переносится, где найти настройки.

1 стартмани

17.01.2018    32732    149    utrumar    3    

Внешняя форма РСВ (в ред. приказа ФНС России от 15.10.2020 № ЕД-7-11/751@). Для УПП 1.3

Налоговые Регламентированная отчетность Обмен через XML v8 УПП1 Россия БУ ФОМС, ПФ, ФСС Абонемент ($m)

Внешняя форма РСВ в ред. приказа ФНС России от 15.10.2020 № ЕД-7-11/751@, с возможностью автозаполнения и выгрузки электронного представления в XML-формате версии 5.02 (версия внешнего отчета: 1.3.152.2). Возможна работа в релизах УПП до 1.3.152.2. Работоспособность проверена на релизах 1.3.151.1, 1.3.144.1.

1 стартмани

26.01.2021    1450    10    alexbur    0    

Заявление о предоставлении субсидии (КНД 1150102, постановление Правительства РФ от 24 апреля 2020 года №576) в формате ФНС (XML)

Налоговые Обмен через XML v8 v8::БУ БП3.0 Россия БУ Абонемент ($m)

Формирование заявления о предоставлении субсидии КНД 1150102 (МРОТ на каждого работника) в формате XML согласно формату, рекомендованному письмом ФНС от 27 апреля 2020 г. N БС-4-11/7080@. Проверено на конфигурации Бухгалтерия предприятия 3.0.76.73.

1 стартмани

05.05.2020    13211    5    period    0    

Загрузка документов из УТ 10.3 в БП 3.0 по правилам конвертации

Перенос данных из 1C8 в 1C8 v8 v8::БУ БП3.0 Россия БУ Абонемент ($m)

Поступила следующая задача от заказчика: требуется организовать выгрузку из УТ 10.3 и последующую загрузку в БП 3.0 документов "Реализация товаров и услуг", "Счет-фактура выданный", "Поступление товаров и услуг", "Корректировка реализации" за выбранный период. Реализации должны загружаться только при наличии Счета фактуры вместе со Счетами-фактурами, а остальные документы - только отмеченные. Организация одна, склад один. Товары должны сворачиваться по ставке НДС, услуги и работы загружаются как есть.

2 стартмани

18.02.2020    2595    9    al_zzz    2    

Секреты профессионалов: поддержка и сопровождение правил обмена — сложное становится простым! Промо

Обмен через XML v8 КД Абонемент ($m)

В вышедший недавно релиз 2.1.7.1 конфигурации "1С:Конвертация данных" разработчики включили интересную обработку - «Сравнение и объединение правил обмена». Хотите узнать, какие новые возможности она может Вам предложить?

1 стартмани

12.03.2013    71063    285    tomvlad    110    

Формирование транспортной накладной для ЭДО для БП 3

Печатные формы документов Документооборот и делопроизводство Оптовая торговля Обмен через XML v8 1cv8.cf БУ Абонемент ($m)

Обработка для создания файла XML транспортной накладной (далее ТН) для отправки в электронный документооборот (ЭДО). Опробовал Synerdocs, ошибок нет. Для конфигураций БП 3.0 последних версий.

2 стартмани

14.01.2020    2167    1    program345    1    

Гособоронзаказ: доработка учета в УПП и обмен с БП 3.0

Перенос данных из 1C8 в 1C8 Бухгалтерия v8 УПП1 Государственные, бюджетные структуры Россия БУ Абонемент ($m)

Доработка конфигурации 1С: Управление производственным предприятием, редакция 1.3 для ведения учета по ГОЗ. Разработка правил обмена: 1С: Бухгалтерия предприятия КОРП редакция 3.0. -> 1С: Управление производственным предприятием редакция 1.3 с учетом доработок конфигураций под ГОЗ.

1 стартмани

26.09.2019    6256    6    LanGrid    0    

Заявление на получение карты Сбербанка (новый формат)

Обмен с банком Обмен через XML Банковские операции Зарплата Банковские операции Зарплата v8 v8::СПР ЗУП3.x БУ Абонемент ($m)

Обработка формирует заявление, доверенность и xml файл для загрузки в клиент-банк.

1 стартмани

30.05.2019    3812    3    ejka    0    

Программное обращение к обработке "Универсальный обмен данными в формате xml" Промо

Перенос данных из 1C8 в 1C8 Обмен через XML v8 1cv8.cf Абонемент ($m)

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

1 стартмани

09.10.2012    49589    276    Oleg_nsk    35    

Вывод в табличный документ из xml запросов, полученных из ИФНС

Обмен через XML Зарплата Зарплата v8 1cv8.cf Россия БУ НДФЛ ФОМС, ПФ, ФСС Абонемент ($m)

Простая обработка позволяет вывести ответ на запрос из ИФНС в формате xml в табличный документ.

1 стартмани

10.04.2019    3442    2    maksbl    0    

Автоматическое обновление прочих форм статистической отчетности

Регламентированная отчетность Обмен через XML v8::БУ БП2.0 Россия БУ Абонемент ($m)

Обработка для автоматической загрузки XML-шаблонов отчетов с интернет-портала Росстата.

1 стартмани

08.04.2019    5240    2    ИТ-Терминал    2    

Заявление-расчет в ФСС из УПП для Украины в XML

Зарплата Обмен через XML Бухгалтерские Зарплата v8 УПП1 Украина БУ Абонемент ($m)

Выгрузка документа "Заявление-расчет в ФСС" в XML для последующей загрузки в MEDOC.

2 стартмани

28.02.2019    2679    5    Vlad93Malahov    6    

Список предпенсионеров с выгрузкой в xml

Управление персоналом (HRM) Обмен через XML Бухгалтерские Специальные Управление персоналом (HRM) v8 УПП1 Россия БУ Абонемент ($m)

Обработка для формирования и выгрузки в xml-файл списка предпенсионеров (для ПФР).

2 стартмани

25.02.2019    3997    10    olga2272    9    

Обновление 2-НДФЛ 2019 года для ЗУП 2.5

Зарплата Печатные формы документов Обмен через XML Зарплата v8::СПР ЗУП2.5 Россия БУ НДФЛ Абонемент ($m)

Обновление справок 2-НДФЛ 2019 года для конфигурации ЗУП 2.5.130.2 проф.

1 стартмани

16.01.2019    8717    66    xeon    13    

Правила обмена данными между УПП 1.3 и БП 3.0

Оптовая торговля Обмен через XML Перенос данных из 1C8 в 1C8 Оптовая торговля v8 УПП1 БП3.0 Россия БУ УУ Абонемент ($m)

Правила обмена данными между УПП 1.3.113.1 и БП 3.0.66.47 для Универсального обмена данными в формате XML.

2 стартмани

14.12.2018    6830    9    KrasinC    0    

Регламентированный отчет Единый Социальный Взнос (ЕСВ) + выгрузка DBF и XML 2018 г

Бухгалтерские Регламентированная отчетность Файловые протоколы обмена, FTP Обмен через XML Зарплата Зарплата v8 v8::БУ 1cv8.cf Украина БУ Абонемент ($m)

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

1 стартмани

05.09.2018    11659    17    pihy    6    

Регламентированный отчет Статистика П-4 под новый шаблон от 19.06.2018

Управление персоналом (HRM) Регламентированная отчетность Статистики Обмен через XML Управление персоналом (HRM) v8 v8::СПР ЗУП3.x Россия БУ Абонемент ($m)

ЗАПОЛНЯЕМЫЙ И ВЫГРУЖАЕМЫЙ отчет П-4 под актуальный шаблон. Комплект для сборки(перенести в конфигурацию ЗУП 3.1.5, 3.1.6, 3.1.7): 1) внутренний отчет РегламентированныйОтчетСтатистикаФормаП4 + 2) МодульМенеджера этого отчета(не выгружается во внешний отчет) + 3) одна процедура ОбщийМодуль.РегламентированнаяОтчетность.ДополнитьСтруктуруПараметров Последние тест на релизе 3.1.7.105

1 стартмани

16.08.2018    8536    7    milov.aleksey    0    

Мониторинг выполнения обмена

Перенос данных из 1C8 в 1C8 v8 1cv8.cf 1С:Франчайзи, автоматизация бизнеса Казахстан Абонемент ($m)

Отчет отображает даты, статус и результат обмена.

1 стартмани

03.05.2018    5782    2    Almaz    0    

Концепция постановки задачи на разработку правил обмена КД 2.0

Перенос данных из 1C8 в 1C8 v8 КД Абонемент ($m)

А также отчет по правилам конвертации

1 стартмани

27.10.2017    11102    4    unichkin    2    

Налоговая накладная. Новый формат выгрузки на 2019 год с 01.12.18 для Украины

Налоговые Обмен через XML v8 1cv8.cf Украина БУ НУ НДС Абонемент ($m)

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

2 стартмани

04.04.2017    11676    0    Igortid    2    

Регламентированный отчет Единый Социальный Взнос ЕСВ + выгрузка XML и DBF 2017г

Зарплата Регламентированная отчетность Обмен через XML Файловые протоколы обмена, FTP Зарплата v77::БУ v8::БУ 1cv8.cf 1cv7.md Украина БУ Абонемент ($m)

Внешний регламентированный отчет по единому социальному взносу (ЕСВ) с возможностью выгрузки в XML и DBF для украинских конфигураций.

1 стартмани

11.01.2017    20170    32    Igortid    4    

Детализация звонков МТС в формате XML: загрузка файла и анализ расходов

Обмен через XML v8 Россия Абонемент ($m)

Конфигурация позволяет загружать и сохранять детализацию звонков в документ, анализировать расходы по видам услуг и телефонным номерам, просматривать детализацию по отдельным номерам.

1 стартмани

31.10.2016    13395    32    vkoljan    6    

Реестр полученных счетов-фактур, включенных в декларацию по НДС (УФ)

Бухгалтерские Налоговые Обмен через XML Оптовая торговля Оптовая торговля v8::БУ v8::УФ БП3.0 Россия БУ НУ НДС Абонемент ($m)

Внешняя обработка "Реестр полученных счетов-фактур, включенных в декларацию по НДС" формирует таблицу счетов-фактур из файла выгрузки .XML декларации по НДС. В реестре указываются дата и номер счета-фактуры, ИНН/КПП и полное наименование клиента, код вида операции и суммы: стоимость покупки и сумма НДС. Реестр может быть необходим при передаче документов в ФНС для камеральной или встречной проверок, для внутреннего анализа. Реестр показывает именно те данные, которые указаны в декларации по НДС и переданы в ФНС.

1 стартмани

26.10.2016    16352    28    chkurs    4    

Заполнение «Приложения №2» к «Декларации налога на прибыль» из файла XML выгрузки справок НДФЛ для налоговой по коду дохода 1010 (отчетность за 2016г.)

Налоговые Регламентированная отчетность Обмен через XML Зарплата Зарплата v8 БП2.0 ЗУП2.5 УПП1 Россия БУ НУ Налог на прибыль НДФЛ Абонемент ($m)

Для Бухгалтерии 2.0, ЗУП 2.5, УПП 1.3. Назначение: Заполнение «Приложение №2» к декларации налога на прибыль на основании файла XML выгрузки справок НДФЛ для налоговой для одного кода доходов НДФЛ (1010 "Дивиденды").

3 стартмани

07.03.2016    12919    30    stgy65    1    

Декларант-Алко: формирование xml контрагентов и 12 форма (пиво в розницу) по данным декларации поставщика (форма 6)

Налоговые Розничная торговля Обмен через XML Розничная торговля v8 1cv8.cf Розничная и сетевая торговля (FMCG) Россия БУ Акцизы Абонемент ($m)

Поставщик реализует в опт пиво. Его покупателям (розничникам) необходимо формировать декларацию 12. Розница для этого использует "Декларант-Алко"

1 стартмани

14.04.2015    11479    23    O_Yurec    3    

Правила обмена для свертки БП 3.0 -> БП 3.0 (3.0.77.106), БП 2.0 -> БП 2.0 (2.0.64.33) документами Ввод начальных остатков / Ночной перенос остатков

Свертка базы Перенос данных из 1C8 в 1C8 v8 БП2.0 БП3.0 БУ Абонемент ($m)

Правила обмена и шаблон внешней обработки для ночного переноса остатков в документы ВводНачальныхОстатков (свертка базы) для бухгалтерия предприятия 2.0 (БП). Задача: ежесуточно ночью переносить из старой базы новые остатки (после исправлений) и документы изменённые за период с начала года из старой в новую базу данных, обе из которых находятся на поддержке без возможности изменений.

3 стартмани

01.02.2014    27668    170    jdo    48    

Автоматизация обменов в распределённой базе данных средствами VisualBatch

Распределенная БД (УРИБ, УРБД) Перенос данных из 1C8 в 1C8 v8 1cv8.cf Абонемент ($m)

Стандартный механизм распределённых баз данных на основе планов обменов не даёт гибкости в доставке XML пакетов. Что делать, если нет связи или FTP недоступен? Как узнать текущее состояние репликации? Как передать XML пакет в IP сеть за NAT маршрутизатор? Попробуем дать ответы на эти вопросы.

1 стартмани

11.06.2013    11974    18    dzuyba    5    

Штрихкодирование документов бухгалтерии - обмен данными "Бухгалтерия предприятия" - "Документооборот"

Документооборот и делопроизводство Сканер штрих-кода Перенос данных из 1C8 в 1C8 Документооборот и делопроизводство v8 БП2.0 ДО Абонемент ($m)

В процессе автоматизации документооборота организации возникла задача хранить сканы бумажных документов (первичных) в базе 1С Документооборот КОРП. Статья рассказывает о варианте решения.

1 стартмани

22.04.2013    22109    37    Dach    4    

Настройка 1С обмена данными между 1С:Бухгалтерия 8 и 1С:Запрлата и управление персоналом

Зарплата Перенос данных из 1C8 в 1C8 Зарплата v8 БП2.0 Россия БУ Абонемент ($m)

Для того чтобы настроить обмен данных между двумя этими программами нужно из программы «1С:Зарплата и управления персоналом» в «1С бухгалтерию» выгрузить информацию о плане счетов 1С:Бухгалтерии

1 стартмани

22.10.2012    29659    57    zlojpomidor    8    

Настройка интеграции «1С:Управление торговлей 8 Редакция 11» и «1С:Документооборот». Бизнес-процессы, внешние роли исполнителей.

Документооборот и делопроизводство Управление бизнес-процессами (BPM) Перенос данных из 1C8 в 1C8 Документооборот и делопроизводство v8 УТ10 ДО Россия Абонемент ($m)

Моя первая статья про настройку интеграции 1С:Управление торговлей 8 Редакция 11 и 1С:Документооборот оказалась достаточно востребованной. Благодарю за отзывы. В продолжение темы хочу представить вашему вниманию продолжение - настройку бизнес-процессов и внешних ролей исполнителей.

1 стартмани

11.07.2012    45500    29    ReSY    11    

Автоматизация обмена между базами используя обработку "Универсальный обмен данными в формате XML"

Обмен через XML Перенос данных из 1C8 в 1C8 v8 1cv8.cf Абонемент ($m)

В основу данной публикации положены найденные мною материалы по созданию обмена между двумя базами с использованием обработки "Универсальный обмен данными в формате XML". Но предлагается вариант автоматизации решения задачи, которая позволяет выполнять обмен неквалифицированным пользователям, либо по регламенту. Скажем, такой обмен применим, если вы не можете по ряду причин использовать РБД, либо у вас совсем разные конфигурации баз (случаи бывают разные, а хочется максимально настраиваемой гибкости).

1 стартмани

10.06.2011    53800    300    wiranata    41