Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

Нужен совет, как лучше реализовать поиск элемента справочника.

Нужен совет, как лучше реализовать поиск элемента справочника.
Я
   Xammsa
 
01.10.21 - 12:21
А у справочника нет нумерации.
Например, в конфигурации "1С: Документооборот" полно таких справочников, так что НайтиПоКоду() не работает, а НайтиПоНаименованию() использовать нежелательно, т.к. пользователи могут редактировать наименование.
В частности, дополнительные свойства документа хранятся как раз в справочнике без нумерации, и нужно предусмотреть разные алгоритмы в зависимости от значения того или иного свойства.

У меня две идеи:
- создать у справочника реквизит "Код" или "Идентификатор" (недоступный для редактирования пользователям), куда при записи элемента записывать уникальное значение для последующего поиска по нему;
- создать регистр сведений, в котором измерениями будут, скажем: ВидДокумента, ВидСвойства, а ресурсом - значение свойства типа "СправочникСсылка".

А как обычно делают в подобных случаях?
   Garykom
 
1 - 01.10.21 - 12:22
(0) уид
   Garykom
 
2 - 01.10.21 - 12:23
(0) или отдельная хрень куда записаны ссылки (по сути уиды) нужных элементов справочников
ну настройки по сути
можно РС или Спровочник или что хочешь использовать например в расширении

"- создать регистр сведений, в котором измерениями будут, скажем: ВидДокумента, ВидСвойства, а ресурсом - значение свойства типа "СправочникСсылка"."
-пойдет
   youalex
 
3 - 01.10.21 - 12:23
НайтиПоКоду() не менее нежелательно
   Ёпрст
 
4 - 01.10.21 - 12:24
(0) для каких целей нужен поиск?
   Ёпрст
 
5 - 01.10.21 - 12:25
Если нужны конкретные элементы справочника, сделай их предопределенными и поиск не нужен будет
   Dmitry77
 
6 - 01.10.21 - 12:58
В типовых есть регистр соответствие обектов для поиска по Гуид объекта. Можно в него нужную запись добавить и Гуид строкой и по ней искать.
   Мультук
 
7 - 01.10.21 - 13:25
(0)
Я пользуюсь
Возврат XMLЗначение(Тип("СправочникСсылка.ДополнительныеОтчетыИОбработки"), "f746588c-228b-11ec-96f4-3cecef453c5d");

Для генерации простая обработка с процедурой

Процедура СсылкуВТекстНаСервере(ЛюбаяСсылка)
    тт = XMLСтрока(ЛюбаяСсылка);
    
    пТип = ОбщегоНазначения.СтроковоеПредставлениеТипа(ТипЗнч(ЛюбаяСсылка));
    пСтр = СтрШаблон("XMLЗначение(Тип(""%1""), ""%2"");", пТип, тт);
    Сообщить(пстр);
    
    
КонецПроцедуры

Список тем форума
 
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.