Очень быстрая замена ссылок на элемент справочника предопределенным значением

08.05.17

Разработка - Механизмы платформы 1С

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

Доброго времени суток.

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

В данной статье привожу решение для платформы "1С 8.3" в режиме совместимости "8.3.2" или ниже, когда недоступна программная замена обычной ссылки справочника на предопределенный элемент.

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

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

Узнать уникальный идентификатор можно через табло в режиме толстого клиента.

Затем следует загрузить конфигурацию из измененных файлов.

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

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

Предопределенный

См. также

Механизмы платформы 1С Работа с интерфейсом Программист Стажер Платформа 1С v8.3 Бесплатно (free)

Про ООП в 1С и о том, как сделать свой код более кратким и выразительным при помощи использования текучего интерфейса (fluent interface).

03.02.2025    6067    bayselonarrend    126    

59

Механизмы платформы 1С Программист Платформа 1С v8.3 Бесплатно (free)

В платформе 8.3.27 появилась возможность использовать WebSocket-клиент. Давайте посмотрим, как это все устроено и чем оно нам полезно.

14.01.2025    7859    dsdred    57    

100

Механизмы платформы 1С Программист Стажер Платформа 1С v8.3 1C:Бухгалтерия Бесплатно (free)

Эта небольшая статья - некоторого рода шпаргалка по файловым потокам: как и зачем с ними работать, какие преимущества это дает.

23.06.2024    11602    bayselonarrend    21    

162

Механизмы платформы 1С Программист Стажер Платформа 1С v8.3 1C:Бухгалтерия Бесплатно (free)

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

13.03.2024    7877    dsdred    18    

82

Механизмы платформы 1С Программист Стажер Платформа 1С v8.3 Бесплатно (free)

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

24.01.2024    27211    YA_418728146    33    

73
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. bforce 482 11.05.17 12:06 Сейчас в теме
Метод отличный. Мы так делали склады предопределенными для конфигурации в режиме совместимости 8.2.16.

Еще можно использовать частичную загрузку, описанную в Зазеркалье. На больших конфигурациях это очень экономит время.
2. kiruha 388 11.05.17 17:30 Сейчас в теме
Как сделать частичную выгрузку ?
Вся конфигурация выгружается также долго как замена ссылки
3. rinat_alp2 102 12.05.17 11:46 Сейчас в теме
(2) Можно из *.cf рабочей конфигурации загрузить объединением только нужный справочник в пустую конфигурацию. Достаточно загрузить только свойства справочника без связанных на перечислений и других справочников. Заменить УИД в конфигурации с одним только справочником и в рабочую уже затащить только свойства с предопределенными элементами.
max_st; kiruha; +2 Ответить
4. kiruha 388 12.05.17 13:11 Сейчас в теме
(3) Да, интересная идея ))
5. DarkAn 1092 19.07.17 10:18 Сейчас в теме
В нашей организации сделали по другому:

Добавили новый справочник:
"ИменаПредопределенныхОбъектов" с одним реквизитом "СсылкаНаОбъект" - необходимых типов.
И предопределенные объекты наполняем только в этом справочнике.

Принцип работы:
Если надо добавить новые предопределенный или использовать старый не предопределенный объект, то идем в конфигуратор, добавляем в справочник "ИменаПредопределенныхОбъектов" новый предопределенный объект, например, "Контрагент_ЗарплатаВТБ", затем запускаем пользовательский режим и для данного объекта заполняем реквизит "СсылкаНаОбъект" - значением конкретного контрагента.

В дальнейшем в коде просто пишем:
Контрагент = Справочники.ИменаПредопределенныхОбъектов.Контрагент_ЗарплатаВТБ.СсылкаНаОбъект;

Плюсы:
* можно точно идентифицировать даже "старые" объекты в БД;
* идентифицировать можно любой ссылочный тип - даже конкретный документ :)
* список всех предопределенных объектов собран в одном месте.
uras0vd; rinat_alp2; +2 Ответить
6. rinat_alp2 102 20.07.17 09:28 Сейчас в теме
7. DarkAn 1092 20.07.17 12:44 Сейчас в теме
(5) (6) Кстати, такой же подход рассказан тут: http://infostart.ru/public/647048/ (Правила и приемы доработки типовых конфигураций 1С для облегчения их дальнейшей поддержки и обновления)
8. olbu 24.07.17 09:33 Сейчас в теме
9. DarkAn 1092 24.07.17 12:02 Сейчас в теме
(8) Публикация не моя, а его - http://infostart.ru/profile/187791/ (Виталий Онянов)
Оставьте свое сообщение