Ручная регистрация данных. Библиотека конвейерного обмена данными.

13.10.26

Интеграция - Перенос данных 1C

Массовая регистрация данных в 1С: выбирайте объекты, включайте нужные этапы и запускайте обработку всего списка объектов по отбору. Документы за период, связанные товары, подготовка JSON и запись в очередь — в одном запуске. Результаты маршрутизации покажут, какие объекты получили маршруты и в какие узлы. Всё это — в бесплатной библиотеке «Конвейер обмена данными» с открытым исходным кодом. Код можно изучать, изменять и адаптировать под свои задачи. Статья дополняет основную публикацию о библиотеке и раскрывает возможности ручной регистрации: массовый подбор, управление составом конвейера, повторная подготовка сообщений и проверка маршрутов.

Бесплатные

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Узнавайте о новых бесплатных решениях в нашей телеграм-группе Инфостарт БЕСПЛАТНО

Наименование Скачано Бесплатно
Ручная регистрация данных для библиотеки конвейерного обмена данными.
.epf 33,82Kb
6 Скачать бесплатно

Вы можете заказать платную доработку или адаптацию этой разработки под вашу конфигурацию на «Бирже заказов».

  • 0% комиссии — оплата напрямую исполнителю;
  • Исполнители любого масштаба — от отдельных специалистов до команд под проект;
  • Прямой обмен контактами между заказчиком и исполнителем;
  • Безопасная сделка — при необходимости;
  • Рейтинги, кейсы и прозрачная система откликов.

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

Обработка КОД_РучнаяРегистрация входит в демонстрационное расширение конвейера обмена данными. Для примера нужна отдельная тестовая база с demo и четырьмя заказами начального заполнения версии данных 1: тремя проведенными и одним непроведенным. Предполагается, что их состояния и настройки узлов после заполнения не менялись.

Общая архитектура библиотеки описана в предыдущей статье. Здесь сосредоточимся на работе с обработкой. Статус проверки и границы текущей реализации приведены в разделе «Что учитывать при ручном запуске».

Обработка позволяет выбрать объекты, выполнить для них сценарий обмена и посмотреть результат маршрутизации. Ее можно использовать для повторной подготовки сообщений или для проверки отдельных этапов конвейера.

Пройдем весь путь на одном примере: выберем четыре демо-заказа, проверим их маршруты, затем запустим полный сценарий со связанной регистрацией товаров. В результате увидим отдельно исходные заказы и связанные с ними объекты. Технические детали находятся в спойлерах «Как это устроено» под соответствующими шагами.

 

Рубрикатор

Шаг Что делаем Что получаем
1. Открываем обработку Знакомимся с областями формы Доступные объекты, конвейеры и обработчики
2. Выбираем план и объект Находим демо-заказ в обмене с сайтом Состав сценария для выбранного направления
3. Подбираем данные Выбираем отдельные строки или весь результат отбора Набор ссылок для обработки
4. Настраиваем запуск Отмечаем конвейер и нужные этапы Цепочку фильтрации и маршрутизации
5. Выполняем обработку Выбираем вид расшифровки и запускаем сценарий Результаты исходного и добавленных связанных заданий
6. Разбираем результат Проверяем маршруты заказов и включаем регистрацию товаров Отдельную расшифровку исходных и связанных объектов

 

1. Открываем обработку: что находится на форме

Откройте «Ручная регистрация» в тестовой базе с demo. Ее можно найти в подсистеме "Конвейер обмена данными"->Сервис->Ручная регистрация.

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

На форме есть несколько связанных областей:

  • Объекты метаданных — дерево планов обмена и участвующих в них типов объектов.
  • Конвейеры — варианты выполнения для выбранного объекта.
  • Обработчики — этапы выбранного конвейера с отметками включения.
  • Список ссылок — конкретные документы или элементы справочника, которые будут переданы на обработку.
  • Режим расшифровки — краткое сообщение или подробная таблица результата.

Работа начинается с дерева: его текущая строка определяет, какие конвейеры и обработчики доступны дальше.

 
 Как это устроено: заполнение формы по реестрам

Процедура ЗаполнитьПоМетаданнымНаСервере() получает соответствие планов обмена и реестров через КОД_ДиспетчерРегистрацииКОбмену.РеестрыСценариевПоПланамОбмена().

Для каждого реестра вызывается РеестрКонвейеровРегистрации(). Результат разворачивается в таблицу с полями «План обмена», «Объект», «Конвейер», «Обработчик» и «Сценарий». Из нее строятся дерево и связанные таблицы формы.

План обмена
    |
    v
Реестр сценариев
    |
    +-- Объект метаданных
            |
            +-- Сценарий
                    +-- Конвейер
                    +-- Обработчики
                    +-- Параметры

Привязка планов к реестрам находится в модуле КОД_ДиспетчерРегистрацииКОбменуПереопределяемый. Экземпляры реестров создаются через ПолучитьОбъектОбработки() диспетчера, поэтому подключенная в этой точке подмена реализации учитывается и формой.

Состав рабочего места берется из описаний сценариев. После добавления поддерживаемого сценария в подключенный реестр достаточно заново заполнить дерево.

 

2. Выбираем план обмена и объект

В дереве раскройте план Демо_КОД_ОбменСайтом, затем группу документов и выберите Демо_Заказ. Текущей должна стать строка самого объекта.

Таблица обработчиков покажет этапы сценария заказов — фильтрацию, маршрутизацию, исключение отправителя, связанную регистрацию товаров, преобразование в JSON и запись в очередь.

Пока оставьте состав обработчиков без изменений. Сначала подберем заказы, затем настроим цепочку для нашего примера.

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

 
 Как это устроено: связи между деревом, конвейерами и обработчиками

Строкам дерева и конвейеров присваиваются UUID. Конвейер хранит идентификатор своей строки дерева, а обработчик — идентификатор своего конвейера.

При выборе объекта процедура ОбновитьКаскадныеОтборы() устанавливает отбор строк таблицы конвейеров. При выборе конвейера аналогично отбираются его обработчики. Общая модель остается в форме; меняется отображаемая часть.

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

ОтборКонвейеров = Новый Структура;
ОтборКонвейеров.Вставить("ПланОбмена", ИмяПланаОбмена);
ОтборКонвейеров.Вставить("ИдентификаторДерево", ИдентификаторДерева);
ОтборКонвейеров.Вставить("Пометка", Истина);

Функция ВыполнитьРегистрациюПоСсылкамНаСервере() дополнительно проверяет существование строки дерева, ее соответствие плану и объекту и отсутствие дочерних строк. Отмеченный конвейер другого плана в эту операцию не включается.

 

3. Подбираем данные: отдельные ссылки или весь результат отбора

Нажмите «Добавить ссылки отбором». Откроется форма «Выбор объектов отбором» со списком выбранного типа данных — в нашем случае заказов. Форма заимствована из БСП.

Здесь доступны два способа выбора:

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

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

Непроведенный заказ тоже нужен: на нем мы увидим, как исходный выбор отличается от результата прикладной фильтрации. После передачи данных в основной форме должны находиться четыре ссылки.

При повторном подборе текущий список заменяется. Несмотря на слово «Добавить» в названии команды, накапливать несколько выборок таким способом текущая реализация не позволяет.

 
 Как это устроено: динамический список и получение всех отобранных строк

 

4. Настраиваем запуск: конвейер и состав обработчиков

Вернитесь к таблицам конвейеров и обработчиков. Оставьте отмеченным базовый конвейер регистрации и настройте его состав:

Обработчик Отметка в нашем примере Результат этапа
Фильтр заказов Включен Заказы, соответствующие условиям обмена
Маршрутизатор заказов Включен Пары «заказ — узел»
Остальные обработчики Отключены В этом запуске не выполняются

Получится цепочка Filter → Router. Она позволит проверить состав объектов и получателей. Преобразование в JSON и запись сообщений в очередь в этом примере не запускаются.

Отметки относятся к выбранной операции. Они не изменяют описание сценария в реестре и не задают новый состав последующих автоматических запусков.

В текущем запуске отметки задают состав сценариев исходного типа объектов — заказов. Для связанных товаров используются сценарии из реестра того же выбранного плана. Для первой проверки маршрутов обработчик связанной регистрации также оставляем выключенным.

 
 Как это устроено: копия сценария и зависимости этапов

На сервере форма повторно получает реестр выбранного плана и находит сценарий объекта. Из отмеченных строк собирается массив обработчиков, которым заменяется соответствующее поле копии сценария:

СценарийДляВыполнения = Новый Структура(Сценарий);
СценарийДляВыполнения.Вставить("Обработчики", ОбработчикиКонвейера);
СценарийДляВыполнения = Новый ФиксированнаяСтруктура(
    СценарийДляВыполнения);

Отмеченный конвейер без выбранных обработчиков пропускается. Сборка выполняется в функции ВыполнитьРегистрациюПоСсылкамНаСервере() основной формы.

Подготовленные сценарии заменяют запись исходного типа в реестре выбранного плана. Сценарии остальных типов сохраняются для связанных заданий. Отметки, ранее установленные в строках других типов, при таком запуске не подменяют их сценарии.

Обработчики передают наборы данных через временные таблицы общего менеджера:

Filter
  |
  | ВТ_СсылкиПослеФильтра
  v
Router
  |
  | ВТ_СсылкиПоУзлам
  v
Расшифровка результата

В полной цепочке результат маршрутизации используется и последующими этапами. Поэтому для нашего запуска оставлены оба первых обработчика: маршрутизатору нужен выход фильтра, а расшифровке — таблица маршрутов.

 

5. Выполняем обработку выбранных данных

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

Нажмите «Выполнить регистрацию по ссылкам». Форма передаст выбранный набор на сервер как исходное задание очереди. Диспетчер выполнит его и задания, которые добавят обработчики. При успешном завершении всей очереди откроется табличный документ «Результаты регистрации». В нашей цепочке Filter → Router связанные задания не создаются.

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

 
 Как это устроено: от команды формы до выполнения конвейера

 

6. Разбираем результат: краткая и подробная расшифровка

Подробный отчет содержит таблицу «Исходные объекты» с колонками «Ссылка», «План обмена» и «Узлы». Если связанные объекты получили маршруты, ниже выводится отдельная таблица «Связанные объекты» с такими же колонками.

В первом запуске мы оставили только фильтр и маршрутизатор: связанных объектов в результате нет, поэтому нижняя таблица не выводится. Для исходных четырех заказов с неизмененными настройками demo по коду ожидается следующая картина:

Исходный заказ Состояние Ожидаемые узлы
Основной склад Проведен WEB, B2B
Резервный склад Проведен MARKET
Региональный склад Проведен B2B
Основной склад Не проведен Нет маршрутов

Три проведенных заказа проходят фильтр. Для заказа с основным складом определяются два получателя. Непроведенный заказ остается в отчете с пустыми колонками плана и узлов: он был в исходном наборе, но не прошел фильтрацию.

Порядок перечисления кодов узлов может отличаться. Отчет показывает наличие маршрутов; отдельного объяснения причины их отсутствия в нем нет.

Для компактного представления выберите режим «Кратко» и повторите тот же запуск с фильтром и маршрутизатором. Ожидаемый текст:

Зарегистрировано исходных объектов: 3 из 4; связанных объектов: 0. Всего узлов: 3

В этой строке отдельно считаются исходные объекты с маршрутами и связанные объекты с маршрутами. Число узлов общее для обеих групп. В нашем первом запуске получились три исходных объекта с маршрутами, ни одного связанного и три различных узла. Пар «заказ — узел» при этом четыре, поскольку один заказ предназначен двум получателям.

Текущая расшифровка показывает результат маршрутизации. Слово «зарегистрировано» в кратком сообщении не подтверждает запись сообщений в очередь или их доставку. В нашем примере отправитель в очередь вообще не выполнялся.

Включаем связанную регистрацию товаров

Теперь на тех же четырех заказах выполним полный сценарий:

  1. Оставьте выбранными прежний план, объект и список заказов. Отметьте все обработчики сценария заказов, включая связанную регистрацию товаров, преобразование в JSON и отправитель в очередь.
  2. Выберите подробную расшифровку и выполните регистрацию по ссылкам.
  3. Сопоставьте две таблицы отчета: сверху — четыре исходных заказа, снизу — связанные товары, получившие маршруты.
  4. В «Исходящей очереди сообщений (Демо)» проверьте новые записи обоих типов: Документ.Демо_Заказ и Справочник.Демо_КОД_Товары.

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

Зарегистрировано исходных объектов: 3 из 4; связанных объектов: 6. Всего узлов: 3

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

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

 
 Как это устроено: таблица маршрутов и построение расшифровки

 

Что учитывать при ручном запуске

  • Вся очередь ограничена выбранным планом. Связанные задания используют подготовленный реестр этой операции. Если в нем нет сценария для типа связанного объекта, такой тип не обрабатывается. Отметки исходного типа не отключают этапы в сценариях других типов.
  • Состав цепочки должен сохранять необходимые входы. Проверки зависимостей обработчиков в форме нет. Отсутствие таблицы маршрутов само по себе теперь дает пустую расшифровку: например, можно выполнить только фильтр. Но запуск маршрутизатора без подготовленного входа по-прежнему может завершиться ошибкой.
  • Подбор рассчитан на ссылочные объекты. Выбор наборов записей явно отклоняется. При переходе по дереву список ссылок очищается; для нового выбора подберите данные заново.
  • Запуск выполняется синхронно. Весь выбранный набор передается одним массивом. Форма не организует порции, фоновое выполнение и общую транзакцию на все выбранные сценарии; полный откат операции при ошибке не гарантируется.
 
 Технические границы и использованный код

Реестр операции. Контекст предназначен для одного запуска. Реестр и вложенные сценарии подготавливаются до его создания и не должны изменяться во время обработки очереди. Пустой реестр ничего не запускает и не заменяется стандартными настройками.

Идентификация сценариев. Ключ строки конвейера включает план, объект и имя обработки-конвейера. Несколько сценариев с одинаковым конвейером для одной пары план/объект объединятся; при выполнении будет найден первый подходящий сценарий. Для их независимого выбора нужен устойчивый идентификатор сценария.

Форма выбора. В модуле ВыборОбъектовОтбором сохранен заголовок Copyright © 2020, ООО «1С-Софт» с указанием лицензии CC BY 4.0. Эта атрибуция относится к использованному коду формы выбора.

Проверено на следующих конфигурациях и релизах:

  • 1С:Библиотека стандартных подсистем, редакция 3.1, релизы 3.1.12.335

Вступайте в нашу телеграмм-группу Инфостарт

1С обмен данными конвейер обмена массовая регистрация ручная регистрация открытый исходный код open source бесплатная библиотека интеграция планы обмена маршрутизация фильтрация данных обработчики связанные объекты очередь сообщений JSON автоматизация отбор данных повторная регистрация расширение 1С

См. также

Разработка Инструментарий разработчика Групповая разработка (Git, хранилище) Разработчик Платные (руб)

Практический курс по работе с AI-агентами для разработчиков 1С уровня middle и senior, а также тимлидов команд: от постановки задач и передачи контекста до создания расширений, интеграций, MCP-инструментов, тестов и проверки готового решения.

50000 руб.

10.09.2026    13805    124    0    

85

Инструментарий разработчика Чистка данных Свертка базы Инструменты администратора БД Системный администратор Разработчик Руководитель проекта 1С:Предприятие 8 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 Россия Платные (руб)

Инструмент представляет собой обработку для проведения свёртки или обрезки баз данных. Работает на ЛЮБЫХ конфигурациях (УТ, БП, ERP, УНФ, КА и т.д.). Поддерживаются серверные и файловые базы, управляемые и обычные формы, интерфейс 8.5. Может выполнять свертку одновременно в несколько потоков, а также без непосредственного участия пользователя. Решение в Реестре отечественного ПО.

24900 руб.

20.08.2024    83395    432    171    

364

Инструментарий разработчика Роли и права Запросы СКД Разработчик Руководитель проекта 1С:Предприятие 8 Платные (руб)

Инструменты для разработчиков 1С 8.3 и 8.5: Infostart Toolkit. Автоматизация и ускорение разработки на управляемых формах. Легкость работы с 1С.

16500 руб.

02.09.2020    285941    1608    423    

1220

Перенос данных 1C Разработчик 1С:Предприятие 8 1С:Управление производственным предприятием 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Россия Платные (руб)

Перенос документов, начальных остатков и справочной информации из УПП 1.3 в ERP 2 | из УПП 1.3 в УТ 11 | из УПП в КА 2 | Правила конвертации (КД 2) | Более 360 предприятий выполнили переход с использованием этого продукта! | Сэкономьте время - используйте готовое решение для перехода! | Позволяет перенести из УПП 1.3 в ERP / УТ 11 / КА 2 всю возможную информацию | В переносе есть фильтр по организации и множество других опциональных параметров выгрузки | Есть несколько алгоритмов выгрузки остатков на выбор

58000 руб.

04.08.2015    194896    479    310    

474

Перенос данных 1C Файловый обмен (TXT, XML, DBF), FTP Системный администратор Разработчик 1С:Предприятие 8 1С:Комплексная автоматизация 1.х 1С:Управление производственным предприятием 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Платные (руб)

Перенос данных из 1С:Управление производственным предприятием 1.3 в 1С:Бухгалтерия предприятия 3.0 с помощью правил обмена | Можно выполнить переход с УПП на БП 3 или запускать выгрузку данных за выбранный период времени | Переносятся документы, начальные остатки и вся справочная информация | Есть фильтр по организации и множество других параметров выгрузки | Поддерживается несколько сценариев работы: как первичный полный перенос, так и перенос только новых документов | Перенос данных возможен в "1С: Бухгалтерия 3.0" версии ПРОФ, КОРП или базовую | Переход с "1С: УПП1.3" / "1С:КА 1.1" на "1С:БП3.0" с помощью правил конвертации будет максимально комфортным! | Можно бесплатно проверить перенос на вашем сервере!

50050 руб.

25.02.2015    192613    384    296    

436

SALE! 10%

Перенос данных 1C Файловый обмен (TXT, XML, DBF), FTP Системный администратор Разработчик 1С:Предприятие 8 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Россия Платные (руб)

Правила в универсальном формате обмена для ERP 2.5, ERP 2.6, КА 2.5, КА 2.6, УТ 11.5, УТ 11.6, БП 3.0, Розница, УНФ, для последних версий конфигураций. Ссылки на другие конфигурации в описании публикации. Правила совместимы со всеми другими версиями конфигураций новыми и старыми, поддерживающими обмен и синхронизацию в формате EnterpriseData. Не требуется синхронного обновления правил после обновления другой конфигурации, участвующей в обмене. Типовой обмен через планы обмена кнопкой Синхронизация вручную или автоматически по расписанию, или вручную обработкой.

27633 руб.

12.06.2017    165162    1009    329    

493

Перенос данных 1C Взаиморасчеты Оптовая торговля Логистика, склад и ТМЦ Файловый обмен (TXT, XML, DBF), FTP Системный администратор Разработчик 1С:Предприятие 8 1С:Управление торговлей 10 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Россия Управленческий учет Платные (руб)

Можно проверить до покупки, оставьте заявку! Воспользовались более 268 компаний! Перенос данных из УТ 10.3 в УТ 11 | из УТ 10.3 в КА 2 | из УТ 10.3 в ERP. Решение для перехода с УТ 10.3. Можно перенести начальные остатки, нормативно-справочную информацию и все возможные документы. При выгрузке можно установить отбор по периоду, организациям и складам.

50200 руб.

24.04.2015    211499    186    254    

303

Инструментарий разработчика Разработка Администрирование веб-серверов Системный администратор Разработчик Аналитик Руководитель проекта 1С 8.3 Платные (руб)

Analyzer 1C сводит выгрузку 1С — основную конфигурацию и все расширения — в единый граф знаний. Любой запрос по связям за доли секунды, с пометками «Доб.» / «Заимств.» / «Переопределено». Новое в 2.0 — обновление поставки: сравнение и объединение версий деревом «как в Конфигураторе» с выгрузкой плана решений; поиск конфликтов из-за перехватов расширений и висячих ссылок; загрузка из бинарных .cf/.cfe; циклические зависимости. Плюс анализ влияния, запросы BSL, роли и RLS, граф вызовов. Минута на развёртывание через Docker без необходимости подключения к Интернет. Любая 1С:Предприятие 8.3+.

14000 руб.

17.04.2026    16928    63    62    

74
Для отправки сообщения требуется регистрация/авторизация