В процессе обновления доработанной конфигурации 1С разработчики часто сталкиваются с ситуацией, когда в типовой конфигурации поставщика появляются новые реквизиты, имена которых полностью совпадают с ранее созданными пользовательскими реквизитами. Разберем подробнее механики платформы 1С:Предприятие, риски потери данных при объединении и корректный алгоритм действий в подобном случае.
Сформулируем ключевую особенность платформы: при сопоставлении объектов метаданных платформа 1С:Предприятие опирается не на их идентификаторы-имена, а на их уникальные внутренние идентификаторы — UUID. Даже если реквизит в основной конфигурации и реквизит в конфигурации поставщика имеют абсолютно одинаковые имена и типы данных, для платформы это два разнесенных и независимых объекта.
Если на этапе сравнения и объединения конфигураций просто снять флаг со своего реквизита и задействовать реквизит поставщика, платформа выполнит реструктуризацию СУБД. В базе данных произойдет физическое удаление колонки вашего реквизита (вместе со всеми накопленными в рабочей базе значениями) и создание новой пустой колонки для объекта поставщика.
Прежде чем принимать решение по объединению, проанализируем ситуацию по нескольким параметрам:
Рассмотрим пошаговый порядок действий для сохранения введенных пользователями данных при переводе системы на реквизит поставщика:
Проанализируем архитектурные подходы, которые позволяют избежать подобных проблем при последующих обновлениях типовых решений:
1. Использование префиксов в именах объектов
При добавлении собственных реквизитов непосредственно в конфигурацию обязательно задавайте им уникальный префикс компании или проекта (например, сфт_ДатаОтгрузки). Это существенно снижает вероятность совпадения имен с новыми объектами от разработчиков 1С.
2. Использование расширений конфигурации
Наиболее технологичным решением является заимствование объекта в расширение и добавление собственных реквизитов внутри него. Реквизиты расширений хранятся в отдельных таблицах СУБД, что полностью исключает пересечение по UUID и именам с тиражным решением поставщика.
3. Механизм дополнительных реквизитов и сведений (БСП)
Если конфигурация построена на базе Библиотеки Стандартных Подсистем (БСП), добавление новых полей через пользовательский режим в состав дополнительных реквизитов исключает необходимость изменения структуры метаданных и риски при обновлении.