Причем удобнее всего, если бы они вдруг стали предопределенными = ))
Использовать «НайтиПоКоду» уже даже не смешно, особенно когда, например, справочник с длиной кода 0.
Поэтому, по моему скромному мнению, предпочтительнее всего использовать предопределенные элементы, после чего и появилась эта небольшая обработка.
Предыстория:
Когда давным давно задавался этим вопросом, что я только не читал на разных форумах!
Например:
1) Создавать новую сущность и все хранить в константах.
2) Создавать предопределенный элемент, копировать все реквизиты, а затем обработкой «ПоискИЗаменаЗначений» менять обычный на предопределенный, в конечном итоге удаляя первичный элемент.
3) И даже наткнулся на совсем удивительную ВЕЩЬ, в которую даже не стал вникать = )))
Далее я приведу описание простенькой обработки для работы с предопределенными данными (может, кому понадобится):
1) В конфигураторе у объекта метаданных добавляем нужные Предопределенные элементы:
2) Если у объекта метаданных изменить свойство «Обновление предопределенных данных» на «Не обновлять автоматически«, то при обновление «Конфигурации БД» НЕ БУДУТ СОЗДАНЫ предопределенные элементы. Изменять это свойство или нет, решать Вам.
3) Запускаем обработку.
При выборе редактируемой ссылки автоматически в список выбора «Имя предопределенных данных» загружаются все возможные варианты из метаданных этого объекта. Обработка изменяет (если стоит галочка, то в режиме «ОбменДанными.Загрузка = Истина«) реквизит «ИмяПредопределенныхДанных» у редактируемого объекта, а в случае, если уже существует другой объект с таким же именем ПД, то оно очищается и объект становится обычным.
П.С. Работает в управляемой и обычной форме, но тестировал в 8.3.7 в режиме совместимости 8.3.6 = ))
Думаю такой трюк до 8.3.6 не прокатит.
Или тут идет речь, что в базе уже заведен через конфигуратор предопределенный элемент, а вы просто меняете ссылки ненужного элемента на предопределенный?
(2) Xershi, Да именно))
Я делаю так:
1) Добавляю предопределенные элементы
2) Меняю свойство «Обновление предопределенных данных» на «Не обновлять автоматически», чтобы элементы не создавались при обновлении.
3) Делаю обновление и использую обработку.
(3) так а смысл, чтобы уникальность поправить в любой момент после обновления, а не сразу?
Хотя посмотрел на 8.3.5 такая штука есть. А вот на 8.2.18 нет.
(4) Xershi, Очень часто выясняется, что какой либо элемент необходимо использовать в коде только через продолжительное время.
К тому же ты видел как работает в торговле например план видов характеристик «Дополнительные реквизиты и сведений» — я обалдел, деже заполнив все реквизиты по аналогии там все равно чего то не хватало, потому что в другом справочнике не было добавлено информации о новом элементе. Поэтому даже если я добавляю, абсолютно новый предопределенный элемент, то гораздо проще создать обычный, чтобы в нем все заполнелось как НАДО, а уже потом сделать его предопределенным.))
(5) Xershi, Я посмотрел, на 8.3.6 в режиме совместимости 8.2 не работает((. Вообще нет такого реквизита «ИмяПредопредленногоЭлемента«
(6) для юзера соглашусь это обработка будет очень полезна. Для программиста я бы сказал просто познавательная штука.
(8) Xershi, Ты знаешь компании, где юсеры ползают в конфигуратор, кроме как сделать копию?)))
Если с обновлением приходит ещё один предопределённый элемент, а предопределённые данные не обновляются автоматически, что тогда?
(9) назвать не назову, но такие есть и их можно даже на ИС встретить.
(10) avto1c, При обмене нужно поставить не «взять из файла», а объединить с приоритетом из … Если я выбрал из файла то он не затирает мои предопределенные)))
(11) Xershi, Я знал бухгалтера, которая сама конфигурацию исправляла как ей нужно в 7.7. После перехода на 8-ку привычки она не изменила. Несколько часов ошибки после нее исправлял))
Вот этого не читалиhttp://infostart.ru/public/275145/ ? по моему ответы там вполне исчерпывающие на ваш вопрос.
(14) webester, Да этого не читал))
Когда я искал похожие публикации, то в поиске точно я точно не вводил «НайтиПоКоду» или «НайтиПоНаименованию», а что то похожее на мое наименование публикации.
Правда в статье я не нашел ничего про свойство «Обновление предопределенных данных».
(12) в статье
Дополни статью, как все таки добавляются предопределённые элементы.
(16) avto1c, Чем у меня в Торговле не добавляются если свойство «Обновление предопределенных данных» в «Не обновлять автоматически».
А ты где проверял?)
Нашел ошибку:
заменить на
Да как сделал, в 15 году больше не менял обработку)