Перенос данных при апгрейде расширения 1С

07.11.24

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

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

Постановка задачи

Есть тиражное решение – расширение, в котором хранятся данные. У расширения 2 редакции: для "1С:Бухгалтерии" и "1С:Бухгалтерии КОРП". Назовем их "ПРОФ" (или "источник") и "КОРП" (или "приёмник").

Рис. 1. Схема задачи

 

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

Расширение КОРП когда-то было создано из ПРОФ, а затем каждая редакция дорабатывалась отдельно. В результате расширение КОРП уже не является прямым потомком ПРОФ, то есть простое обновление расширения приведёт к потере данных. Надо разработать процедуры переноса данных из источника в приёмник.

Виды объектов в расширениях: справочники и регистры сведений.

У редакции КОРП похожая структура данных, но в измерения регистров добавлены подразделения.

Хочется перенести всё без потерь. Как известно, "обменов без потерь не бывает" (С), поэтому я выбрала способ переноса данных через промежуточное расширение. Всё происходит в пределах одной информационной базы.

 

Решение

Задача решается в два этапа. Сначала – выгрузка данных из расширения для "1С:Бухгалтерии", затем – загрузка в расширение для "1С:Бухгалтерии КОРП".

Рис. 2. Схема решения

 

Выгрузка данных из расширения-источника

1. В информационной базе, в которой разрабатывается первая редакция, создаю расширение с назначением "Дополнение". Основное расширение имеет тип "Адаптация". Даю этому новому расширению префикс "Переход".

 

Рис. 3. Список расширений в "Конфигураторе"

 

Справка: Свойство расширения "Назначение" может принимать 3 значения: Исправление, Адаптация и Дополнение.

  • Исправление – когда расширение исправляет ошибку в прикладном решении.
  • Адаптация – когда расширение адаптирует типовую конфигурацию под требования заказчика.
  • Дополнение – когда расширение добавляет дополнительный функционал в типовую конфигурацию.

"Назначение" влияет на порядок подключения расширений при старте сеанса (сначала подключаются расширения с назначением "Исправление", затем – "Адаптация" и в последнюю очередь – "Дополнение"). Таким образом, новое расширение видит все данные расширения-источника.

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

3. Не забываю про назначение прав пользователям этого расширения на новые объекты. Для переноса данных достаточно одного пользователя с полными правами.

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

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

При запуске "1С:Предприятия" в интерфейсе теперь два добавленных раздела. Один добавляется расширением ПРОФ, второй – переходным расширением.

 

Рис. 4. Меню разделов в "1С:Бухгалтерии" с добавленными пунктами

 

Вот так выглядит меню переходного расширения:

 

Рис. 5. Меню переходного раздела в "1С:Бухгалтерии"

 

В меню выведены все добавленные объекты и обработка загрузки данных.

Сама обработка содержит одну кнопку, по нажатию на которую выполняется команда "Прочитать и загрузить данные расширения-источника". Команда считывает содержимое регистров и справочников расширения ПРОФ и записывает его в свои объекты. Каждый запуск команды сначала обнуляет объекты переходного расширения, затем записывает в них считанные данные по новой.

 

Рис. 6. Форма обработки загрузки регистров и справочников

 

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

После выполнения команды загрузки данных в переходном расширении дублируется информация из справочников и регистров расширения ПРОФ. Чтобы проверить, как прошла операция, открываю каждый список объектов из меню раздела "Переход" (см. рис. 5).

Если по какой-то причине после загрузки регистры выглядят пустыми, то есть волшебная команда "Обновить" (F5).

 

Загрузка данных в расширение-приёмник

Чтобы обеспечить загрузку данных в расширение для "1С:Бухгалтерии КОРП", нужно доработать это расширение.

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

 

Рис. 7. Добавление обработки в меню раздела

 

В левом списке выделяем обработку "Перенос данных" и по кнопке "Добавить" переносим в правый список. Нажимаем "ОК".

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

Так выглядит обработка загрузки в расширении-приёмнике:

 

Рис. 7. Форма обработки загрузки данных в расширении-приёмнике

 

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

 

Состав комплекта поставки для пользователя

  1. Расширение для "1С:Бухгалтерии КОРП" с функцией загрузки данных.
  2. Временное расширение-переходник.
  3. Инструкция по переходу с ПРОФ на КОРП вместо инструкции по установке расширения КОРП с нуля.

 

Последовательность действий пользователя при переходе с одного расширения на другое

Пользователь открывает инструкцию и видит эти шесть пунктов.

  1. Создание резервной копии информационной базы.
  2. Подключение временного расширения для переноса данных.
  3. Заполнение справочников и регистров временного расширения.
  4. Удаление старого расширения и подключение нового.
  5. Перенос данных из временного расширения.
  6. Удаление временного расширения.

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

В переходное расширение загружаются накопленные данные пользователя из справочников и регистров. Пользователь проверяет правильность и полноту загрузки. Может снова сделать резервную копию.

Теперь "старое" расширение может быть удалено.

После перезагрузки информационной базы добавляется "новое" расширение, предназначенное для "1С:Бухгалтерии КОРП".

 

Рис. 8. Новое расширение и переходное расширение в списке

 

В "новом" расширении запускается обработка загрузки данных из переходного расширения. Снова пользователь проверяет полноту и правильность загруженных справочников и регистров.

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

Задача решена.

 

Что осталось за кадром

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

2. После того, как разработка была закончена, я задалась вопросом: почему расширение КОРП с назначением "Адаптация" видит данные переходного расширения? Видимо, дело тут не назначении, а в последовательности загрузки расширений а информационную базу. Последнее загруженное расширение видит все данных всех расширений. Об этом говорит и документация на сайте ИТС:

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

Плюсы и минусы такого решения

Плюсы:

  • Апгрейд на более функциональную редакцию тиражного программного продукта полностью автоматизирован и не требует участия в нём разработчика. Пользователю даются подробные инструкции и необходимые файлы (в данном случае, переходное расширение). Все действия он выполняет самостоятельно или силами своих специалистов.
  • Решение даёт возможность перенести все данные без потерь.

Минусы:

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

 

Что делать, если клиент уже успел кастомизировать исходное расширение?

Так как расширение продаётся с открытым кодом, то клиент имеет все возможности его самостоятельно доработать.

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

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

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

 

Подведём итоги

Задача переноса данных из одного расширения в другое в случае, когда оба расширения не могут одновременно находиться в базе, может быть решена через промежуточное расширение. Главное – следить за тем, чтобы в процессе не затерлись случайно данные пользователя. Ну и не забывать о создании резервных копий.

Разработка велась на типовой конфигурации "1С:Бухгалтерия" 3.0.161.19. Платформа 1С:Предприятие 8.3.24.1586.

 

Ответы на частые вопросы

Что такое тиражное решение?

Тиражное решение – это программная разработка, предназначенная для неограниченного круга пользователей. Она изначально создаётся как универсальный программный продукт. Сначала делается, затем продаётся. Продаётся, как правило, на маркетплейсах и других ресурсах, привлекающих массового клиента.

Решение, о котором идёт речь в статье: Учет по проектам в 1С:Бухгалтерии 3.0.

Что такое дистрибутив программного продукта?

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

Что такое редакция программного продукта?

Редакцией (Ediition) называют выпуск программы, обладающий значительными отличительными характеристиками для пользователя. Редакции могут различаться для разных версий одного программного продукта.

Например, Windows 7 выпускалась в шести редакциях:

  • Начальная (Starter)
  • Домашняя базовая (Home Basic)
  • Домашняя расширенная (Home Premium)
  • Профессиональная (Professional)
  • Корпоративная (Enterprise)
  • Максимальная (Ultimate)

А у Windows 10 уже другие редакции:

  • Домашняя (Home)
  • Профессиональная (Pro)
  • Корпоративная (Enterprise)

Что такое апгрейд с одной редакции на другую?

Апгрейд (upgrade) – это переход с младшей редакции на старшую (или с менее функциональной на более функциональную). Лицензия на апгрейд, как правило, стоит дешевле, чем полная лицензия. То есть владелец лицензии на младшую редакцию доплачивает, что приобрести старшую редакцию.

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

Пример апгрейда программы 1С: переход с "1С:Зарплата и управление персоналом ПРОФ" на "1С:Зарплата и управление персоналом КОРП".

Надо оговориться, что фирма "1С" называет ПРОФ и КОРП "версиями", но смысл тот же.

См. также

SALE! 10%

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

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

55778 50200 руб.

04.08.2015    166752    334    278    

375

SALE! 10%

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

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

35000 31500 руб.

15.12.2021    24183    171    51    

130

SALE! 15%

Перенос данных 1C Файловый обмен (TXT, XML, DBF), FTP Системный администратор Программист Платформа 1С v8.3 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. Не требуется синхронного обновления правил после обновления другой конфигурации, участвующей в обмене. Типовой обмен через планы обмена кнопкой Синхронизация вручную или автоматически по расписанию, или вручную обработкой.

26280 руб.

12.06.2017    141824    799    297    

420

SALE! 10%

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

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

35000 31500 руб.

23.07.2020    51545    228    70    

186

SALE! 10%

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

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

55778 50200 руб.

15.04.2019    72202    182    150    

124

SALE! 10%

Перенос данных 1C Файловый обмен (TXT, XML, DBF), FTP Системный администратор Программист Платформа 1С v8.3 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" с помощью правил конвертации будет максимально комфортным! | Можно бесплатно проверить перенос на вашем сервере!

48278 43450 руб.

25.02.2015    171300    302    257    

378

Учет доходов и расходов Бухгалтер Пользователь Платформа 1С v8.3 Бухгалтерский учет 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Управленческий учет Платные (руб)

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

15000 руб.

30.11.2021    24409    141    58    

100

SALE! 10%

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

Правила переноса кадровых и расчетных данных и справочной информации из "1С:УПП1.3" или "1С:КА 1.1" в "1С:ЗУП 3.1 | Разработан в формате КД 2 (правила конвертации данных) | При выгрузке есть фильтр по организациям | Обновляется при выходе новых релизов 1С | Развитие алгоритмов | Расчетные документы переносятся в документ "Перенос данных" | Создаются документы "Начальная штатная расстановка" и "Начальная задолженность по зарплате", переносятся кадровые документы

55778 50200 руб.

29.10.2018    56291    59    105    

61
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. TMV 14 11.11.24 20:32 Сейчас в теме
Странно, вендор смог обеспечить поддержку обновления с ПРОФ на КОРП, а поставщик расширения - нет.
Повод задуматься о поставщике.
2. accounting_cons 858 13.11.24 08:28 Сейчас в теме
(1) Это вы о чём? Я пишу о тому, как это сделано. То есть задача уже решена и клиенты могут спать спокойно.
3. TMV 14 16.11.24 12:46 Сейчас в теме
(2) о том, что переход с проф на корп должен производиться через простое обновление. А так да, поставщик сам себе придумал работ и превозмог, а клиент спит.
4. accounting_cons 858 16.11.24 12:49 Сейчас в теме
(3) Эта статья не про переход с Бухгалтерии ПРОФ на Бухгалтерию КОРП. Она про перенос данных между расширениями внутри одной информационной базы.
5. TMV 14 17.11.24 05:47 Сейчас в теме
(4) Этот комментарий не про переход с Бухгалтерии ПРОФ на Бухгалтерию КОРП. Он про обновление с расширения ПРОФ на расширение КОРП без переносов данных.
6. accounting_cons 858 17.11.24 06:06 Сейчас в теме
(5) Есть какие-то конструктивные предложения, как решить задачу, или просто покритиковать пришли?
7. TMV 14 21.11.24 04:30 Сейчас в теме
(6) выше уже указано, но еще раз:
Вести разработку расширений ПРОФ и КОРП таким образом, чтобы можно было перейти через простое обновление.
Оставьте свое сообщение