Сверка и обработка документов между базами 1C через COM-соединение (управляемые формы)





Обработка позволяет провести сверку документов любых видов между двумя базами 1С, используя подключение через СОМ-соединение. Сравниваться могут любые реквизиты документов или любые реквизиты свойств ссылочного типа у документа. Но, разумеется, только примитивного типа. Настройки можно сохранить в файл. Настройки соответствия видов документов можно загрузить из правил конвертации данных (разработанных в «Конвертации данных 2.1»).

 

По материалам доклада на конференции Infostart 2024 Developer.

Описание

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

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

Сценарии использования

1. Вы провели перенос данных из программы 1С старой версии на программу новой версии. При этом на этапе проведения загруженных документов, перенос прервался. Данные загружены, но документы не проведены. В исходной программе не все документы были проведены. Таким образом, Вам нужно провести проведение документов, но только тех, которые проведены в исходной базе. Данная обработка позволит выполнить такую обработку и провести документы.

2. Вам прислали результат переноса данных в программу 1С новой версии. Необходимо провести проверку. С помощью этой обработки можете быстро увидеть отличия в данных до переноса  и после. Отличия можно проверять на любой комбинации реквизитов документов или реквизитов свойств документа.

3. Нужно провести реализации в программе 1С, например, УТ 11. Однако реализации введены на основании заказов клиентов. Коды строк в движениях по регистру Заказы покупателей формируются только в момент проведения. И поэтому нужно их заполнить в реализации на основании заказов клиентов, по которым она создана. Данная обработка позволяет выполнить и эту задачу.

И, разумеется, возможно множество других сценариев использования.

Требования к использованию

  • Необходима установленная актуальная версия платформы 1С:Предприятие 8.3.
  • Программы 1С, используемые в переносе, должны быть приобретены официально, на них должны быть лицензии на использование.
  • Программа, в которой запускается обработка, должна работать в интерфейсе "управляемое приложение" или "Такси" (или один из пользователей должен входить в программу в таком интерфейсе).
  • Возможна доработка программы по Вашему запросу. Обращайтесь в личку. Часть запросов могу выполнить бесплатно при условии моей заинтересованности и низкой загрузки задачами. По каждому запросу решение принимается индивидуально.

Планы развития

  • Добавить сравнение строк табличных частей документов.

Сравнение версий

22.12.2024 — обработка добавлена к публикации.

13 Comments

  1. ifal

    (1) А как же сравнение табличных частей документов? Не обязательно построчно, например, просто сумма по колонке Количество, Сумма, Количество строк в табличной части.

    Reply
  2. primat

    (1) Геннадий, спасибо, важное замечание. Добавлю это в планы развития разработки.

    Reply
  3. miavolas

    Спасибо автору за освещение интересной темы

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

    Возможно более простым способом проверки корректности загрузки данных могло бы быть сравнение остатков/оборотов регистров накопления по итогам переноса, а уже если не совпали данные — то искать различия в документах. Использование ссылочных типов тоже было бы ценным.

    Ну а уж если говорить откровенно то разработчику ценен подход, чтобы стать инструментом, а не разовое решение задачи и отчет/обработка

    Попробовал сам по максимуму используя удобные инструменты для разработчика описать как решаю подобные задачи

    http://infostart.ru/public/541885/

    В целом интересное направление а публикация была бы супер интересной, если бы использовалось внешнее подключение 🙂 (как предложение по развитию)

    Reply
  4. trader7777777

    (3)Поддержу про использование внешнего подключения

    Reply
  5. izofen

    Тема интересная

    Reply
  6. primat

    (3) Сейчас так и реализовано. Объект ComConnection используется для соединения. Описания отличий способов подключения на сайте 1С: http://v8.1c.ru/overview/Term_000000632.htm

    Reply
  7. miavolas

    (3) … ошибся написав про «внешнее подключение» ..вместо «внешние источники данных»… и как справедливо заметил автор развитие в этом направлении связано с возможностью добавления метаданных

    Reply
  8. Cерый

    Для РИБ, копий или совпадающих по GUID данным баз 1С возможна работа с типами данных, отличных от примитивных: http://infostart.ru/public/558547/

    сверка предполагается запросами с полным соединением, версия ОФ.

    Reply
  9. primat

    (8) кстати, благодаря Вашему соощению вспомнил. Я же идею для разработки почерпнул из другой публикации здесь на инфостарте. Там для ОФ была обработка, кажется БП 2 и КА 1 человек сверял после переноса. Сейчас поиском прошерстил публикации — не смог найти. Как только найду ссылку на ту публикацию, сразу размещу как источник идеи для текущей разработки.

    Reply
  10. Stella_K

    Добрый день! Спасибо за обработку. Было бы удобно в настройках отбора указывать отбор по организации.

    Reply
  11. LadyDy

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

    Reply
  12. svetanik

    На 8.3.8.2167 выдает ошибку на СтрНайти(). «Актуальная платформа» с какой начинается?

    Reply
  13. Terve!R

    Не видно что будет если, например, документы во второй базе будут полностью отсутствовать.

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

    Reply

Leave a Comment

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