Каталог решений - Изменение идентификатора ссылки предопределенного элемента справочника (плана счетов, ПВХ и т.д)

Изменение идентификатора ссылки предопределенного элемента справочника (плана счетов, ПВХ и т.д)

Изменение идентификатора ссылки предопределенного элемента справочника (плана счетов, ПВХ и т.д)

В наличии

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

Категория:

Описание

Всем доброго дня!

Часто возникает необходимость сделать какой-нибудь элемент справочника предопределенным (для обращения из кода)

Для конфигураций в режиме совместимости с 8.2 нет возможности элементу назначить ИмяПредопределенныхДанных

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

Вкратце опишу механизм, как мне удалось решить эту задачу (сам не встречал этого решения на просторах интернета, или плохо искал)

  1. Создаю новый предопределенный элемент справочника (в примере справочник ПрочиеДоходыИРасходы, элемент СуммовыеРазницы). Сохраняю конфигурацию
  2. Выгружаю описание нужного справочника в xml /DumpConfigToFiles D:\work\cf\ -listFile D:\work\list.txt содержимое файла list.txt у меня из одной строчки Справочник.ПрочиеДоходыИРасход

    Получаем в исходной папке иерархическое описание нужного спр-ка
     

  3. В частности в фале D:\work\cf\Catalogs\ПрочиеДоходыИРасходы\Ext\Predefined.xml будут наши, добавленные в конфигураторе, предопределенные элементы Фрагмент файла В указанном файле меняем у нужного элемента реквизит id на GUID нужного элемента и сохраняем файл
  4. Далее загружаем только этот исправленный файл в конфигурацию из командной строки /LoadConfigFromFiles D:\work\cf\ -Files D:\work\cf\Catalogs\ПрочиеДоходыИРасходы\Ext\Predefined.xml
  5. Обновляем конфигурацию БД, заходим в режим предприятия, убеждаемся что новый предопределенный элемент перепозиционирован на ссылку существующего элемента справочника, а элемент, который раньше соответствовал исходному предопределенному элементу стал непредопределенным и помеченным на удаление. Точнее теперь в базе два элемента справочника с одинаковым идентификатором, непредопределенный теперь можно удалить из базы (элемент был новый ссылок на него быть не должно)

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

Надеюсь, кому-нибудь поможет, применять осознанно и осторожно.

has been added to your cart:
Оформление заказа