Ускорение переноса остатков на примере из УПП в ERP

29.12.25

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

Простые приемы, позволяющие ускорить длительный перенос остатков с устаревших решений 1С на новые, на примере перехода с УПП на ERP, принципы подойдут и для БП/УТ/УПП - ЕРП/КА/УХ и т.д.

Файлы

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

Наименование Скачано Купить файл
Маршрутная карта ускорения переноса остатков с УПП на ЕРП.jpeg
.jpeg 536,07Kb
0 2 500 руб. Купить
Маршрутная карта ускорения переноса остатков с УПП на ЕРП.mmap
.mmap 41,44Kb
0 2 500 руб. Купить
Пункт 1.3 Расширение Аудит ролей
.cfe 477,28Kb
0 3 000 руб. Купить
Пункт 3.1.3 Расширение отложенное проведение в потоках
.cfe 18,69Kb
1 2 500 руб. Купить
Пункт 2.5.1 Пример расширения ввода остатков в ЕРП с фоновыми заданиями, проведением, распроведением, отчетами
.cfe 52,72Kb
1 3 000 руб. Купить
Пункт 3.2.2 Полная инструкция по созданию http сервиса УПП - ЕРП
.docx 940,97Kb
3 3 000 руб. Купить

Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний

Оформите подписку на компанию для решения рабочих задач

Оформить подписку и скачать решение со скидкой

Коллеги, всем привет.

Впереди новогодние праздники. Сакральное время для 1С-ников, связанное с переносом остатков и переходом на новые системы.

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

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

Сам переход с исторической системы на новую буду писать на примере перехода с 1С:УПП на 1С:ЕРП.

Их бывает два случая:

  1. Единовременный переход со старой системы на новую

  2. Плавный постепенный переход по блокам со старой системы на новую

Как штатно переносить расписывать не буду, посоветую как быть когда дела плохи: данных миллионы и временное окно ограничено парой дней.

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

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

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

Рис. Маршрутная карта ускорения переноса остатков с УПП на ЕРП (есть во вложениях в лучшем качестве)

 

Как ускорить перенос остатков с УПП на ЕРП

 
Оглавление

1. Создание правил переноса остатков

1.1. Где взять правила обмена

1.1.1. В типовой обработке внутри ЕРП или из обработки из дистрибутива

1.1.2. У подрядчиков на маркетплейсе Инфостарт

1.2. Где доработать

1.2.1. Конвертация данных 2

1.3. Перенести пользователей и настроить профили, оживить пользователей

1.4. Перенести НСИ

1.5. Перенести Остатки

2. Ускорение переноса

2.1. Настройки правил обмена

2.1.1. Использовать Диапазон остатков с упорядочиванием

2.1.2. Параметр правил, влияющий на Выгрузку НСИ полностью или о ссылке

2.1.3. Сопоставление вводов остатков по ключевым полям и комментарию

2.1.4. Документы ввода остатков сразу не проводить

2.2. Как выгружать

2.2.1. Использовать несколько сеансов 1С для выгрузки

2.2.2. Выгружать в терминале на сервере (чтобы не завершался по таймауту), не на локальной машине

2.2.3. НСИ только по ссылке и дозагрузка с нового плана обмена НСИ

2.2.4. Выгрузка в период наименьшей активности пользователей

2.3. Как загружать

2.3.1. Использовать несколько сеансов 1С для загрузки

2.3.2. Заблокировать регламентные задания

2.3.3. Отключить регламентное обслуживание на СУБД и перезапуски 1С

2.3.4. Загружать в терминале на сервере(чтобы не завершался по таймауту), не на локальной машине

2.3.5. Загружать в Режиме отладки (чтобы избежать ошибки версия объекта изменилась)

2.3.6. Отключить версионирование объектов

2.3.7. Загрузка в период наименьшей активности пользователей

2.4. Предварительная загрузка НСИ

2.4.1. Создать план обмена в исходной конфигурации

2.5. Проведение вводов остатков

2.5.1. Многопоточное проведение документов

2.5.2. Многопоточная пометка удаления документов

2.5.3. Отдельные дополнительные обработки после загрузки

2.5.4. Отчеты проверки полноты данных

2.6. Дозагрузки данных с фильтрами

2.6.1. Универсальный обмен с возможностью произвольных фильтров и загрузки списков объектов

2.6.2. Консоль сравнения данных по COM между системами

2.6.2.1 Исходная и новая системы на одной платформе, либо регистрировать разные COM компоненты и добавить в консоли их выбор

2.6.2.2 Одинаковый тип лицензий или ПРОФ или КОРП, иначе может отваливаться COM

3. Регулярный обмен данными

3.1. Несколько планов обменов

3.1.1. Отдельные планы обменов НСИ, Закупки, Продажи, Налоги, ОС и НМА разделить на несколько планов обмена

3.1.2. Доработка переноса первичных документов

3.1.3. Ускоренное отложенное проведение документов в нескольких потоках

3.1.4. Блокировка от изменения обменами объектов, которые в приемнике скорректировали вручную

3.2. Точечные обмены

3.2.1. Дозагрузки через Универсальный обмен данными XML с фильтрами снимая регистрацию с плана обмена или списками с расхождениями

3.2.2. Через HTTP или веб сервисы с использованием существующих правил обмена

3.3. Плавный переход с исторических систем

3.3.1. Постепенно вводя блоки в работу (по складам и подразделениям или по подсистемам: Склад, ОС, НМА, Заказы, Продажи, Казначейство и т.д.) и постепенно переводя пользователей из старой системы в новую

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

3.4. УПП довольно старая система, поэтому придется ее адаптировать под новый формат обмена и ЕРП под неё

4. История действий

4.1. Путь по переносу скорее всего потребуется повторить пару раз

4.2. Замеряйте время процессов, чтобы просчитать весь путь

4.3. Записывайте последовательность ваших шагов

4.4. Сохраняйте проверочные запросы и обработки исправления

4.5. Фиксируйте ошибки в исходных данных заказчика, лучше их исправить до переноса

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

4.7. Сделайте тестовые прогоны и замеры времени

 

 
 1. Создание правил переноса остатков

1.1.    Где взять правила обмена
1.1.1.    В типовой обработке внутри ЕРП или из обработки из дистрибутива

Из встроенной в ЕРП обработки ПомощникПереходаСДругихКонфигураций из Макета забрать и загрузить в Конвертацию 2.0. Можно еще тут почитать в статье Переход с 1С:УПП на1C:ERP: Перенос остатков и затянувшееся начало работы в ЕРП. Минус этих правил в том, что в них нет переноса документов, поэтому я бы советовал купить на маркетплейсе нормальные правила.
1.1.2.    У подрядчиков или на маркетплейсе Инфостарт

Сам покупал еще давно по 24 т.р. сейчас в районе 50 т.р. они стоят. Плюс этих правил в том, что в них есть не только перенос остатков, но и перенос документов, который можно использовать в дальнейшем. Также есть недорогая поддержка, по которой что-то вам доделают под вашу специфику. 

Найти их можно переносы и в строке поиска Инфостарта, например, эти:

Перенос данных из УПП 1.3 в ERP 2 / УТ 11 / КА 2. Переносятся документы, справочная информация и остатки

Перенос данных из 1С:УПП 1.3 в ERP 2.5, КА 2.5. Переносятся документы (обороты за период), справочная информация и остатки

и т.д. 
1.2.    Где доработать
1.2.1.    Конвертация данных 2

Для переноса остатков используются правила обмена разработанные в КД 2.0, так что вам потребуется ее себе поставить. Загружаете ваши структуры метаданных Источника и Приемника и поверх них правила обмена. В 100% случаев они не подойдут сразу к вашей базе источнику, т.к. старые базы все кастомизированы (сильно доработаны и давно не обновлялись). Дорабатывать придется точно. Заложите на тестовые прогоны и доводку минимум пару недель времени.

Выгружать и загружать данные надо будет обработкой Универсальным обменом данными XML лучше использовать доработанные с Инфостарта у них более развитый функционал чем у типовых, например этим Универсальный обмен данными XML 8.2 и 8.3 (дополненный)

1.3.    Перенести пользователей и настроить профили, оживить пользователей

Сделать лучше до переноса остатков, можно тут почитать тут в статье Переход с 1С:УПП на 1C:ERP. Переезд пользователей с сохранением прежних прав  используемое расширение приложил во вложения "Пункт 1.3 Расширение Аудит ролей"


1.4.    Перенести НСИ

Советую предварительно перенести НСИ отдельно от остатков (Номенклатуру, Контрагентов, Склады, Подразделения и т.д.). НСИ обычно беру ликвидную с оборотов за 2 предыдущих года. После переноса НСИ, чтобы сохранить актуальность НСИ в Базе-Приемнике, измененную НСИ регистрирую на новом плане обмена в Базе-Источнике и дозагружаю Универсальным обменом данными XML с плана обмена, как это делать можно тут почитать Универсальный обмен данными XML 8.2 и 8.3 (дополненный)
1.5.    Перенести Остатки

Это Основной момент – он в маленьких компаниях проходит в разумное время и в принципе ничего делать не нужно, потом в Базе приемнике что-то даже ручками поправили консультанты и готово. Но вот когда у вас сотни тысяч вводов остатков и миллионы НСИ, то штатный перенос занимает недели: неделями выгружается, неделями загружается, постоянно вылетает, даже если сервер у вас монстр. А времени вам столько не дадут, т.к. бизнес остановиться не может, идут закупки, продажи и производство. Дадут пару дней – укладывайся как хочешь. В таких случаях надо делать предподготовку переноса данных (Пользователи, затем НСИ, затем остатки), использовать многопоточность и разделять запуск пользователей в новую базу на партии, которые вы с консультантами сможете освоить (чтобы сразу не пришла 1000 юзверей и вас не съела, а заводить их частями в новую базу) Как это можно сделать простыми действиями напишу в пункте Ускорение переноса, ниже.

 

 
2. Ускорение переноса

2.1.    Настройки правил обмена
2.1.1.    Использовать Диапазон остатков с упорядочиванием

Выгрузка остатков в 1 файл, это то ещё мероприятие. Он и формируется сутками и вылетает и весить может десятки гигабайт. Поэтому я его разбиваю съедобными частями, которые может и сервер и базы вывезти.

Чтобы разбить частями надо сделать 2 вещи: 1) Добавить в параметры правил конвертации два параметра: Начало диапазона и Конец диапазона; 2) Обязательно в запросы сбора остатков добавить финальное упорядочивание по полям запроса.

Упорядочивание в Запросах остатков, надо делать обязательно по всем полям, т.к. без упорядочивания результат одного и того же запроса выполненный в разных сеансах 1С будет выводить записи для переноса, но в перемешку (в каждом сеансе по разному) и вы тогда не сможете корректно забрать результат частями, данные будут пересекаться. Поэтому это очень важный момент с упорядочиванием надо соблюсти обязательно во избежание дублирования данных при дальнейшей загрузке в Базу-Приемник.

В конвертации я также добавляю сразу Сообщить(КоличествоЗаписейЗапросаВводаОстатков) в правиле выгрузки остатка. Первый раз запускаю, чтобы выгрузка сообщила общее количество записей к выгрузке. Я тут говорю о ситуациях применения диапазона, когда выгрузка пишет, что будет выгружено несколько миллионов строк вводов остатка. Далее это количество в пару миллионов буду дробить в коде правил, устанавливать при выгрузке остатков диапазоны, в коде правил выгрузки получать полную таблицу остатков, а выгружать только записи с Параметры.НачалаДиапазона по Параметры.КонецДиапазона, например по 100 тысяч строк: 00000001 – 00100000, 00100001 – 00200000, 00100001 – 00200000 и т.д.. Диапазон выбирайте оптимально так, чтобы файлики создавались по несколько Гигабайт за 2-4 часа. Далее к выгрузке из Базы-Источника я буду ставить сразу несколько файликов одновременно, делать это буду просто вручную открыв несколько сеансов 1С УПП на рабочем столе и запустив в каждом Универсальный обмен данными XML. При выгрузке записей также вывожу информационные сообщения о том что выгружено 1000 из 100000, 2000 из 100000, 3000 из 1000000 и т.д. чтобы в окне сообщений в Базе-источнике видеть информацию о том, что процесс живой и примерно просчитывать время до окончания выгрузки (умножив время за сколько выгружается 1000 строк и сколько всего строк осталось до конца диапазона).
2.1.2.    Параметр правил, влияющий на Выгрузку НСИ полностью или по ссылке

Сделайте в КД2 в параметрах конвертации новый параметр «Выгружать НСИ полностью» Да/Нет. В правилах переноса справочников пропишите, выгрузку только ссылки на объект, а не весь объект, если этот параметр = Да (Используйте возможности КД2: ВыгрузитьОбъект и ВыгрузитьТолькоСсылку).

До выгрузки остатков заранее перенесите НСИ (организационную {Организации, Склады, Структуру предприятия и т.п.} и ликвидную {Номенклатура, Контрагенты, Договоры и т.п.} по оборотам за 2 года). Далее можно дотащить изменившуюся НСИ перед выгрузкой остатков (используя новый план обмена, который эти изменения регистрирует в Базе источнике и обработку Универсального обмена данными XML со снятием регистрации с плана обмена). Затем выполните саму выгрузку Остатков с параметром «Выгружать НСИ полностью» = Нет => таким образом файл выгрузки из Базы-Источника будет формироваться быстрее и будет меньшего размера, а загрузка в Базу-Приемник будет с меньшим числом транзакций записи объектов.
2.1.3.    Сопоставление вводов остатков по ключевым полям и комментарию

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

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

Да, запускаете несколько 1С УПП, в них Универсальный обмены данными XML 8.2 скачать можно тут Универсальный обмен данными XML 8.2 и 8.3 (дополненный), ставите настройки переноса остатков, указываете какой диапазон этот сеанс забирает и жмете Выгрузить данные. Таким образом "изображаем" многопоточную выгрузку из 1С:УПП и если раньше единый файлик остатков у вас создавался пару суток, то теперь вы уложитесь в рабочие 8 часов и получите все остатки (но в нескольких файлах)
2.2.2.    Выгружать в терминале на сервере (чтобы не завершался по таймауту),   не на локальной машине

Тут важный момент да, локальные машины обычно мало производительны и имеют ограниченные ресурсы, плюс 1С УПП работает как обычное приложение с большим сетевым трафиком данных – поэтому точно на локальной машине не запускайте выгрузок, делайте в хорошем терминале и лучше на самом сервере 1С (для больших выгрузок там достаточно ресурсов и минимальный сетевой трафик). Обратите только внимание, что админы часто настраивают завершение сеансов терминалов по простою, попросите это отключить.
2.2.3.    НСИ только по ссылке и дозагрузка с нового плана обмена НСИ

В параметрах укажите «Выгружать НСИ полностью» = Ложь, т.к. НСИ вы загрузили ранее и не забыли дозагрузить измененную с нового плана обмена. Вам достаточно сейчас только количественные показатели документов отправить из Базы-Источника в Базу-Приемник и файлик будет меньше и выгрузка и загрузка быстрее.
2.2.4.    Выгрузка в период наименьшей активности пользователей

Иногда это возможно, иногда постоянно работают и пользователи и интеграции, лучше на ночь
2.3.    Как загружать?
2.3.1.    Использовать несколько сеансов 1С для загрузки

Загружайте в Базу-Приемник открыв несколько сеансов 1С (типа многопоточно), в каждом запустите Универсальный обмен данными XML 8.3 скачать можно тут Универсальный обмен данными XML 8.2 и 8.3 (дополненный) выберите для загрузки в каждом разные файлики по диапазонам и поставьте загружаться. Важно включить в обработке флаг Режим отладки, т.к. при параллельной загрузке может возникнут ошибка «Версия данных изменилась», возникающая когда один и тот же объект НСИ перезаписывается в параллельных сеансах. Чтобы загрузка проигнорировала эту ошибку, не прервалась и продолжилась.
2.3.2.    Заблокировать регламентные задания

В Базе-Приемнике на период загрузки заблокируйте регламентные задания в консоли администрирования кластера 1С, это ускорит работы системы и также избежите блокировок данных другими заданиями (например ночным удалением объектов или обменом данными)
2.3.3.    Отключить регламентное обслуживание на СУБД и перезапуски 1С

Попросите админов проверить и отключить регламентное обслуживание если оно влияет на завершение сеансов 1С (резервное копирование базы если оно монопольное, перестроение индексов базы 1С – все это лучше отключить на момент загрузки остатков).

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

Внешние интеграции в 1С также лучше на время переноса остатков отключить.
2.3.4.    Загружать в терминале на сервере(чтобы не завершался по таймауту), не на локальной машине

На локальной машине не грузите, у нее на большие файлы не хватит ресурсов и сетевой канал не очень пропускной к серверу. Делайте в терминале, лучше прямо на сервере 1С, проверьте только чтобы с терминале не выбрасывало при простоях.
2.3.5.    Загружать в Режиме отладки (чтобы избежать ошибки версия объекта изменилась)

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


2.3.6.    Отключить версионирование объектов

Вот сколько не грузил с включенным версионированием оно замедляет загрузку на 20%-50% процентов, т.е. например без него загружается на 4 часа, а с ним за 6 часов. На время загрузки отключите, потом вернете.


2.3.7.    Загрузка в период наименьшей активности пользователей

Иногда это возможно, иногда постоянно работают и пользователи и интеграции, лучше на ночь
2.4.    Предварительная загрузка НСИ
2.4.1.    Создать план обмена в исходной конфигурации

Сами остатки это НСИ + Числовые показатели в документах. В типовом исполнении сразу все переносится, но можно разделить и ускорить. Чуть выше уже писал как НСИ загрузить отдельно, т.е. сначала переносим большой объекм данных: организационную НСИ и оперативную, ликвидную с оборотов 1-2 года. А чтобы дозагрузить разницу в НСИ, которую пользователи поменяют в Базе-Источнике в ней созданим план обмена, в состав которого включим это НСИ, и все что будет регистрироваться доперенесем в Базу-приемник отдельно Универсальным обменом XML, но это уже будут не миллионы элементов, а несколько тысяч. Таким образом заранее до переноса остатков, прогрузим НСИ и сэкономим себе уйму часов для переноса документов.
2.5.    Проведение вводов остатков
2.5.1.    Многопоточное проведение документов

Документы ввода остатков переносим без проведения, чтобы побыстрее прогрузить сами файлы с остатками в базу. Проводить будет затем многопоточно пример расширения к публикации прикрепил. Если в одном потоке проводится на одном ядре процессора 2-3 суток, то в многопоточном варианте можно успеть за 8-часовой рабочий день разбив по ядрам (сервер 1С сам потоки раскидает на разные ядра процессора, главное запустить нужное количество фоновых заданий).

Например этим расширением Гарантированное проведение документов (подключаемое расширение) либо написать своё по фоновому проведению например такое комбинированное приложил во вложения "Пункт 2.5.1 Пример расширения ввода остатков в ЕРП с фоновыми заданиями, проведением, распроведением, отчетами" в нем есть параметры, передача их в фоновые задания, указание количества заданий которые надо раскидать на разные ядра, пример многопоточного проведение, отмены проведения и пометки на удаления вводов остатков, примеры вызова проверочных отчетов. Код конечно под свою задачу придется переделать. Используйте как некий шаблон


2.5.2.    Многопоточная пометка удаления документов

Так как перенос остатков частенько делают несколько раз, поэтому также предусмотрите очистку ранее загруженных данных. Также многопоточно можно сделать.
2.5.3.    Отдельные дополнительные обработки после загрузки

Что-то сложное по алгоритмам остатков не зашивайте в сами правила обмена, там нет адекватной отладки и синтаксис помощника и контроля ошибок, сделайте лучше отдельные обработки, которые потом запустите в Базе-Приемнике и преобразуете или дополните данные остатков.
2.5.4.    Отчеты проверки полноты данных

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

Как это работает можно почитать тут Универсальный обмен данными XML 8.2 и 8.3 (дополненный)
2.6.2.    Консоль сравнения данных по COM между системами

Наверняка придется сравнивать данные между Базой-приемником и Базой источником, обычно это срезы остатков по складу, Оборотно-сальдовая ведомость и т.п. отчеты которые есть в каждой базе. Но бываю и другие случаи сверки признаков и реквизитов объектов, сверка количества документов и т.п. Удобно это делать консолью сравнения баз между собой. У меня немного доработанная под себя, а так исходная тут Консоль запросов к двум базам (общий менеджер временных таблиц)
2.6.2.1    Исходная и новая системы на одной платформе, либо регистрировать разные COM компоненты и добавить в консоли их выбор

Как зарегистрировать разные COM посмотрите в строке поиска Инфостарт, там около 5 статей «разные версии COM» COM соединения с базами 1С на различных версиях платформы "Без перерегистрации и СМС"

Параллельное использование нескольких версий COM control (несколько версий платформ)

COM соединения к базам 1С на различных версиях платформы


2.6.2.2 Одинаковый тип лицензий или ПРОФ или КОРП, иначе может отваливаться COM

База-Источник и База-Приемник зачастую на разных серверах 1С и отлицензирована по-разному, в старой ПРОФ, а в новой КОРП, в таком случае COM у меня отваливался, но не прям сразу, но все равно стоит написать.

 

 
 3. Регулярный обмен данными

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

3.1.    Несколько планов обменов
3.1.1.    Отдельные планы обменов НСИ, Закупки, Продажи, Налоги, ОС и НМА разделить на несколько планов обмена

Правила обмена можно использовать одни и те же, но планов обменов нужно создать несколько с разным составом объектов. Это обеспечит лучшую бесперебойность работы, избавиться от блокировок выгрузки и соблюсти критерии скорости обмена (если все будет на одном плане висеть, то интервалы обмена будут очень длинными и могут не устраивать пользователей и бизнес). Планы обмена должны называться одинаково в ЕРП и УПП идут парами, сами планы я обычно создаю из своих заготовок своей рыбы конфигурации с доработками, если у вас нет рыбы, то принципы создания планов обмена есть в интернете или можете копированием какого-нибудь существующего плана обмена сделать и переименовывать под себя, прописать в командах и общих модулях свое имя плана обмена по аналогии со скопированным.

3.1.2.    Доработка переноса первичных документов

Придется делать, в типовом исполнении такого нет, иликупить на маркетплейсе приличные правила почти готовые так сказать.
3.1.3.    Ускоренное отложенное проведение документов  в  нескольких потоках

Если остатков много, то и документооборот большой, чтобы ускорить отложенное проведение в ЕРП пакетов пришедших в ЕРП с большим количеством документов к проведению, можно сделать его многопоточным, расширение приложил "Пункт 3.1.3 Расширение отложенное проведение в потоках" будет доступно в НСИ Администрирование - Синхронизация данных - Предупреждения синхронизации данных. 


3.1.4.    Блокировка от изменения обменами объектов, которые в приемнике скорректировали вручную

Какие-то объекты нереально полностью под ключ переносить, и пользователям придется их дозаполнять в Базе-приемнике, и чтобы объект дополненный вручную не затерся при последующем обмене, хорошо бы сделать некую защиту от изменений, как сделать можно почитать тут Защита объектов от изменения обменом там расширение, которое хранит список защищенных объектов, а в правила обмена встраивается код, который запрещает изменение объекта, если он в этом списке
3.2.    Точечные обмены
3.2.1.    Дозагрузки через Универсальный обмен данными XML с фильтрами снимая регистрацию с плана обмена или списками с расхождениями

Я пользуюсь таким Универсальный обмен данными XML 8.2 и 8.3 (дополненный)
3.2.2.    Через HTTP или веб сервисы с использованием существующих правил обмена

Если нет разового перехода, то работа ведется в двух базах какие-то документы созданные в Базе-Источнике требуются в Базе-приемнике сразу и не имеют возможности ждать регулярного обмена. Для этого можно добавить пользователям в УПП кнопку передачи по сервису сразу в ЕРП, правила обмена можно те же использовать, пример приложил во вложения "Пункт 3.2.2 Полная инструкция с кодом и публикацией для создания hhtp сервиса ручного обмена из УПП в ЕРП".

Добавляется в УПП кнопка в документ, задается настройка вызова сервиса и используемые правила обмена из Меню-Сервис - Прочие обмены данными - Все обмены. 

Пример части кода УПП ниже, а Весь остальной полный код включая код ЕРП и конфигурирование сервиса и картинки, находятся в инструкции во вложении "Пункт 3.2.2 Полная инструкция по созданию http сервиса УПП - ЕРП"


Функция ОтправитьДокументВERP(Источник, Операция, Отказ) Экспорт
	
	СообщениеПользователю = "";	
	ПолноеИмяОбъекта = Строка(Источник.Метаданные().Полноеимя());
	СтрокаXML = СформироватьСтрокуXMLПоПравиламОбмена(Источник.Ссылка, ПолноеИмяОбъекта, СообщениеПользователю, Отказ);
	Если НЕ Отказ Тогда
		
		ДанныеДляОтправки = Новый Структура();
		ДанныеДляОтправки.Вставить("Операция"  , Операция);
		ДанныеДляОтправки.Вставить("ТипОбъекта", ПолноеИмяОбъекта);
		ДанныеДляОтправки.Вставить("УИДОбъекта", Строка(Источник.Ссылка.УникальныйИдентификатор()));
		ДанныеДляОтправки.Вставить("СтрокаXML" , СтрокаXML);	
		
		стрПодключение = рздПовторноеИспользование.ПолучитьСпецНастройку("БыстрыйОбменСERP_СервисОбмена");
						 
		Если ТипЗнч(стрПодключение) <> Тип("Строка") ИЛИ стрПодключение = "" Тогда 
			СообщениеПользователю = "Не обнаружена строка подключения"+Символы.ПС+
			"Не удалось выполнить отправку в ЕРП";
			Отказ = Истина;
		Иначе
			Сервер         = СтрЗаменить(СтрЗаменить(Лев(Сред(стрПодключение,Найти(стрПодключение,"serv[")),Найти(Сред(стрПодключение,Найти(стрПодключение,"serv[")),"]serv")-1),"serv[",""),"]serv","");
			АдресСервиса   = СтрЗаменить(СтрЗаменить(Лев(Сред(стрПодключение,Найти(стрПодключение,"addr[")),Найти(Сред(стрПодключение,Найти(стрПодключение,"addr[")),"]addr")-1),"addr[",""),"]addr","");
			Пользователь   = СтрЗаменить(СтрЗаменить(Лев(Сред(стрПодключение,Найти(стрПодключение,"user[")),Найти(Сред(стрПодключение,Найти(стрПодключение,"user[")),"]user")-1),"user[",""),"]user","");
			Пароль         = СтрЗаменить(СтрЗаменить(Лев(Сред(стрПодключение,Найти(стрПодключение,"pass[")),Найти(Сред(стрПодключение,Найти(стрПодключение,"pass[")),"]pass")-1),"pass[",""),"]pass","");
			
			HTTPСоединение = Новый HTTPСоединение(Сервер,,Пользователь,Пароль);	
			HTTPЗапрос = Новый HTTPЗапрос(АдресСервиса);
			
			HTTPЗапрос.УстановитьТелоИзСтроки(ЗначениеВСтрокуВнутр(ДанныеДляОтправки));
			HTTPОтвет = HTTPСоединение.ОтправитьДляОбработки(HTTPЗапрос);
			
			Если HTTPОтвет.КодСостояния = 200 Тогда	
				ОтветАИСБУ = ЗначениеИзСтрокиВнутр(HTTPОтвет.ПолучитьТелоКакСтроку());
				Отказ = ОтветАИСБУ.Отказ;
				СообщениеПользователю = ОтветАИСБУ.СообщениеПользователю;
			ИначеЕсли HTTPОтвет.КодСостояния = 503 Тогда
				СообщениеПользователю = "";
				Отказ = Истина;
				ВызватьИсключение "Сервис вернул запрет на обработку данных";
			Иначе
				СообщениеПользователю = Строка(HTTPОтвет.КодСостояния)+Символы.ПС+
				"Не удалось выполнить отправку в ЕРП";
				Отказ = Истина;
			КонецЕсли;
		КонецЕсли;
	КонецЕсли;
	
	Возврат СообщениеПользователю;
	
КонецФункции 


Функция СформироватьСтрокуXMLПоПравиламОбмена(Объект, ПолноеИмяОбъекта, СообщениеПользователю, Отказ) Экспорт
	
	УстановитьПривилегированныйРежим(Истина);        
	
	ИмяВременногоФайла = ПолучитьИмяВременногоФайла();
	
	Обработка = Обработки.УниверсальныйОбменДаннымиXML.Создать();
	Обработка.РежимОбмена = "Выгрузка";
	Обработка.НепосредственноеЧтениеВИБПриемнике = Ложь;
	Обработка.ТипИнформационнойБазыДляПодключения = истина;
	Обработка.ИмяФайлаПравилОбмена = "ПравилаСтрокой";
	Обработка.ИмяФайлаОбмена = ИмяВременногоФайла;
	Обработка.ВыводВОкноСообщенийИнформационныхСообщений = Ложь;
	
	НастройкаОбмена = рздПовторноеИспользование.ПолучитьСпецНастройку("БыстрыйОбменСERP_НастройкаОбменаДаннымиСПравиламиОбмена");
	
	Если НастройкаОбмена = Неопределено или НастройкаОбмена = Справочники.НастройкиОбменаДанными.ПустаяСсылка() Тогда
		СообщениеПользователю = "Не найдена настройка обмена";
		Отказ = Истина;
		Возврат "";
	КонецЕсли;
	
	ПравилаОбмена = НастройкаОбмена.ПравилаОбмена.Получить();
	ЧтениеXML = Новый ЧтениеXML();
	ЧтениеXML.УстановитьСтроку(ПравилаОбмена);
	ЧтениеXML.Прочитать();
	
	ИмяПравилаДляВыгрузки = "";
	Если ТипЗнч(Объект) = Тип("ДокументСсылка.СчетНаОплатуПоставщика") Тогда
		ИмяПравилаДляВыгрузки = "СчетНаОплатуПоставщика_ЗаказПоставщику";	
	КонецЕсли;
	
	Если ИмяПравилаДляВыгрузки = "" Тогда
		СообщениеПользователю = "Не найдено правило выгрузки данных";
		Отказ = Истина;
		Возврат "";
	КонецЕсли;
	
	Попытка
		Обработка.ЗагрузитьПравилаОбмена(ЧтениеXML, "ЧтениеXML");
		
		ОтключитьВсеПравилаВыгрузки(Обработка.ТаблицаПравилВыгрузки.Строки);
		
		НС_ПВД = Обработка.ТаблицаПравилВыгрузки.Строки.НайтиСтроки(Новый Структура("Имя", ИмяПравилаДляВыгрузки), Истина);  
		Если НС_ПВД.Количество() = 1 Тогда
			ТекущееПВД = НС_ПВД[0];
			ТекущееПВД.Включить = 1;
			ИмяОбъектаДляЗапроса = ТекущееПВД.ИмяОбъектаДляЗапроса;
			ИмяОбъектаДляОтбора  = СтрЗаменить(ТекущееПВД.ИмяОбъектаДляЗапроса, ".", "_");
			Построитель = Новый ПостроительОтчета;
			
			Построитель.Текст =
			"ВЫБРАТЬ Разрешенные _.* ИЗ " + ИмяОбъектаДляЗапроса + " КАК _
			|
			|
			|{ГДЕ _.Ссылка.* КАК " + ИмяОбъектаДляОтбора + "}";
			
			Отбор = Построитель.Отбор;
			Если Отбор.Найти(ИмяОбъектаДляОтбора) = Неопределено Тогда
				Отбор.Добавить(ИмяОбъектаДляОтбора);
			КонецЕсли;
			
			Отбор[ИмяОбъектаДляОтбора].Использование = Истина;
			Отбор[ИмяОбъектаДляОтбора].Значение = Объект;
			Отбор[ИмяОбъектаДляОтбора].ВидСравнения = ВидСравнения.Равно;
			
			ДоступностьПостроителя = Истина;
			Если Построитель.Отбор.Количество() > 0 Тогда
				ТекущееПВД.НастройкиПостроителя = Построитель.ПолучитьНастройки();
				ТекущееПВД.ИспользоватьОтбор    = ИСТИНА;
			КонецЕсли;
			
			Обработка.ВыполнитьВыгрузку(); 
			ТекстовыйДокумент = Новый ТекстовыйДокумент;
			ТекстовыйДокумент.Прочитать(ИмяВременногоФайла, КодировкаТекста.UTF8);
			СтрокаXML = ТекстовыйДокумент.ПолучитьТекст();
			УдалитьФайлы(ИмяВременногоФайла); 
		Иначе
			СтрокаXML = "";
			СообщениеПользователю = "Не найдено правило выгрузки объекта";
			Отказ = Истина;	
		КонецЕсли;	
	Исключение
		СтрокаXML = "";
		СообщениеПользователю = "Не удалось выполнить выгрузку объекта: " + ОписаниеОшибки();
		Отказ = Истина;
	Конецпопытки;    
	
	УстановитьПривилегированныйРежим(Ложь);
	
	Возврат СтрокаXML;
		
КонецФункции     


Процедура ОтключитьВсеПравилаВыгрузки(СтрокиДерева)
	
	Для Каждого СтрокаДерева Из СтрокиДерева Цикл
		Если СтрокаДерева.Строки.Количество() > 0 Тогда
			ОтключитьВсеПравилаВыгрузки(СтрокаДерева.Строки);   
		Иначе
			СтрокаДерева.Включить = 0;
		КонецЕсли;	
	КонецЦикла;                                         
		
КонецПроцедуры 


3.3.    Плавный переход с исторических систем

Если Заказчик большой, а у вас команда ограничена, и не все блоки сразу готовы к запуску, и проглотить всех пользователей и поддержку сразу не получится. То переход надо планировать с плавным отказом от исторических систем, замещая их по-этапам: сначала переводить склады с туалетной бумагой, отладить на них все, потом с реальными изделиями, затем подтянуть производство, затем казначейство и т.д. делить кусками, которые ваша команда сможет осилить.
3.3.1.    Постепенно вводя блоки в работу  (по складам и подразделениям или по подсистемам: Склад, ОС, НМА, Заказы, Продажи, Казначейство и т.д.) и постепенно переводя пользователей из старой системы в новую

Составить маршрут переходов: Определяем список пользователей и их функционал, Обучаем, Переносим остатки, Переключаем в новую систему. И так все партии пользователей перетащить, ну примерно за полгода-год.
3.3.2.    Постепенно блокировать функционал в исторической системе, документы будут возвращаться из новой

Делать доработками в УПП запреты пользователям создавать определенные документы после даты перехода, которые теперь должны создавать в ЕРП. Устанавливать в правилах обмена даты миграции документов разделяя мастер системы: До даты перехода мастер система УПП, после - мастер система ERP.
3.4.    УПП довольно старая система, поэтому придется  ее адаптировать под новый формат обмена и ЕРП под неё

Менять конфу УПП, в основном обработку КонвертацииОбъектовИнформационныхБаз, отключить блок фонового обмена и ещё некоторые коррективы по передаче атрибутов продолжения поиска по ключевым полям, в ЕРП отключить поиск по соответствию объектов если 1 объект УПП расходится по нескольким в ЕРП с той же самой ссылкой. Т.е. придется и тут повозиться.

 
 4. История действий

Постоянно сталкиваюсь с ситуацией, что пару месяцев назад перенесли остатки, и тут хлоп и еще раз надо перенести. Или что-то не сложилось и необходимо перенос в начале следующего года повторить, а всё из головы вылетело уже давно. Поэтому как говорит Джейсон Стэтхэм: Чтобы не забывать, записывайте!

4.1.    Путь по переносу скорее всего потребуется повторить пару раз
4.2.    Замеряйте время процессов, чтобы проссчитать весь путь
4.3.    Записывайте последовательность ваших шагов
4.4.    Сохраняйте проверочные запросы и обработки исправления
4.5.    Фиксируйте ошибки в исходных данных заказчика, лучше их исправить до переноса
4.6.    После удачных длительных переносов фиксируйте резервными копиями
4.7.    Сделайте тестовые прогоны и замеры времени

Тут более-менее все понятно

 

 
 Другие публикации автора

 

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

  • 1С:ERP Управление предприятием 2, релизы 2.5.22.99, 2.5.17.227

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

См. также

Перенос данных 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    183091    422    298    

436

SALE! 20%

Перенос данных 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, КА 2.5, УТ 11.5, БП 3.0, Розница, УНФ, для последних версий конфигураций. Ссылки на другие конфигурации в описании публикации. Правила совместимы со всеми другими версиями конфигураций новыми и старыми, поддерживающими обмен и синхронизацию в формате EnterpriseData. Не требуется синхронного обновления правил после обновления другой конфигурации, участвующей в обмене. Типовой обмен через планы обмена кнопкой Синхронизация вручную или автоматически по расписанию, или вручную обработкой.

27180 руб.

12.06.2017    156738    936    306    

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    180253    345    282    

406

SALE! 10%

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

Перенос данных из 1С:Управление производственным предприятием 1.3 в 1С:Бухгалтерия предприятия 3.0 с помощью правил обмена. Переносятся остатки, документы (обороты за период), справочная информация. Правила проверены на конфигурациях УПП 1.3 (1.3.261.x) и БП 3.0 (3.0.189.x). Правила подходят для версии ПРОФ и КОРП.

38000 34200 руб.

15.12.2021    31785    229    61    

173

SALE! 10%

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

Перенос данных из 1С:Управление торговлей 10.3 в 1С:Управление торговлей 11.5 с помощью правил обмена. Переносятся остатки, документы (обороты за период), справочная информация. Правила проверены на конфигурациях УТ 10.3 (10.3.88.x) и УТ 11.5 (11.5.25.x).

38000 34200 руб.

23.07.2020    64482    303    82    

243

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

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

58000 руб.

15.04.2019    81205    218    169    

157

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

Регулярный обмен, выгрузка, перенос из КА 1.1, УПП 1.3, УТ 10.3 для обмена с любыми конфигурациями, поддерживающими обмен в формате EnterpriseData (КД3) - БП 3.0, ERP, КА 2, УТ 11, Розница 3, УНФ 3 и другими. Правила для старых и доработанных конфигураций не требуют синхронного обновления и совместимы с новыми и будущими конфигурациями. Обмен по расписанию, через папку, FTP, почту.

13550 руб.

18.02.2016    198095    654    543    

557

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

Перенос данных из ЗУП 3 в ЗУП 3 | из ЗУП 3 в КА 2 | из ЗУП 3 в ERP | Оперативно обновляется при выходе новых релизов 1С | Готовые правила конвертации (КД 2) для перехода с "ЗУП 3" на "УП ред. 3" / "КА, ред. 2" / "ERP, ред. 2" |Переносится нормативно-справочная информация и документы с движениями

55200 руб.

11.01.2021    36798    32    56    

34
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. sapervodichka 7419 29.12.25 12:25 Сейчас в теме
Маршрутные карты вот тут отдельно (к статье только за SM удалось прикрепить)
Прикрепленные файлы:
Маршрутная карта ускорения переноса остатков с УПП на ЕРП.mmap
2. aximo 2572 29.12.25 14:39 Сейчас в теме
С Новым 2026 годом!
sapervodichka; +1 Ответить
3. queit 65 29.12.25 17:29 Сейчас в теме
Статья годная. плюсанул.
Кнопка в форме отправить в ERP прям как наказание пользователю :-)
Он будет её нажимать, интерфейс блокироваться с ожиданием и он никогда не получит сообщение "Выполнено успешно".
4. sapervodichka 7419 29.12.25 18:08 Сейчас в теме
(3) у меня работает на проекте уже пол года, пока с таким не жаловались
Для отправки сообщения требуется регистрация/авторизация