Что лучше использовать ПолучитьСсылку() или найти по Коду()?

1. I_train 09.08.24 10:39 Сейчас в теме
Здравствуйте, что лучше оптимальней использовать? Узнать уникальный идентификатор нужной тебе ссылки и использовать метод ПолучитьСсылку() или найти по коду (по наменованию)?
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. user2033930 09.08.24 10:43 Сейчас в теме
(1)
Узнать уникальный идентификатор нужной тебе ссылки
Как, например?
7. Sashares 35 09.08.24 11:14 Сейчас в теме
(1) Вы хотите явно зашить в какой-нибудь обработке получение ссылки по УИД?
Так себе идея.
Мало того что это будет не читабельно, то и поиск ошибок потом будет совсем не тривиальный.
Взяли например пользователи и переименовали элементы справочника.
Был Склад 1 и Склад 2, а стали Склад 2 и Склад 1. Или удалили элемент справочника, создали новый и назвали также.

Оптимальность в этих действиях - получить ссылку или найти по коду (наименованию) вообще не главное. Выигрывая какие-то миллисекунды на этом методе потом выполнять запрос на условно 10 минут.
Это бессмысленно.
user1671936; user2033930; +2 Ответить
13. komatoza 09.08.24 18:24 Сейчас в теме
(1) Интересно самому стало,

Получение ссылки по GUID
- 1 объект = 0,000 сек.
- 10 объектов = 0,000 сек.
- 100 объектов = 0,002 сек.
- 1000 объектов = 0,016 сек.
- 10000 объектов = 0,154 сек.
- 100000 объектов = 1,582 сек.

Получение ссылки по коду (по полному коду)
- 1 объект = 0,002 сек.
- 10 объектов = 0,014 сек.
- 100 объектов = 0,144 сек.
- 1000 объектов = 1,465 сек.
- 10000 объектов = 6,218 сек.
- 100000 объектов = 56,117 сек.

Получение ссылки по коду (не по полному коду)
- 1 объект = 0,000 сек.
- 10 объектов = 0,002 сек.
- 100 объектов = 0,023 сек.
- 1000 объектов = 0,231 сек.
- 10000 объектов = 2,279 сек.
- 100000 объектов = 24,884 сек.

Получение ссылки запросом
- 1 объект = 0,001 сек.
- 10 объектов = 0,004 сек.
- 100 объектов = 0,035 сек.
- 1000 объектов = 0,352 сек.
- 10000 объектов = 3,569 сек.
- 100000 объектов = 41,253 сек.
Прикрепленные файлы:
14. user1880116 09.08.24 21:30 Сейчас в теме
15. SlavaKron 10.08.24 11:39 Сейчас в теме
16. komatoza 21.08.24 09:09 Сейчас в теме
(15) да, хотел написать, забыл)
3. user844293 09.08.24 10:46 Сейчас в теме
Быстрее будет ПолучитьСсылку(). УИД является ключом, и поиск по нему обычно быстрее
user1671936; I_train; Zevzm; +3 Ответить
6. SlavaKron 09.08.24 11:11 Сейчас в теме
(3) Там вообще не будет поиска. Просто по заданному УИД будет сформирована ссылка.
ImHunter; mkalimulin; user1880116; user2033930; +4 Ответить
8. mkalimulin 1230 09.08.24 12:20 Сейчас в теме
(3) Вот как. А код не является ключом по-вашему?
9. user2033930 09.08.24 12:21 Сейчас в теме
(8)
А код не является ключом по-вашему?
Неа. Прикинь???
Вот это откровение!
user1880116; Sashares; +2 Ответить
11. mkalimulin 1230 09.08.24 13:46 Сейчас в теме
(9) Аааа... вы про неуникальные ключи не слышали, понятно
4. janibeg 2 09.08.24 11:01 Сейчас в теме
код могут поменять, тогда код "развалится" логически
5. user2033930 09.08.24 11:04 Сейчас в теме
(4) Это вообще не важно в данном случае, не надо придумывать свои контексты, о которых умолчал автор. Потому что код могут не только "поменять", но могут и "запретить менять".
Вопрос у автора чисто технический на скорость работы СУБД.
12. Anton_new01 09.08.24 15:22 Сейчас в теме
(5) нету в вопросе автора таких формулировок.

там есть вопрос про "оптимальность"...

(1) в общем как уже написали минусы есть и в найти по коду и в ПолучитьСсылку().
в ПолучитьСсылку() - имха более заточенно под данную конфу. всеже удаление и добавление одноименного элемента это редкая искуственная заморочка, но теоретически допускаю.
в НайтиПоКоду - быстрее кодить.

есть такой вариант - как добавить предопределенный элемент справочника - и сделать обработку которая нужный существующий элемент - сделает предопределенным новым элементом.
кодить примерно так же как ПолучитьСсылку(), зато и читается легко и надежно. и даже если конфу перезапустят - то все равно рабочий вариант.
PS. обработку приложил
Прикрепленные файлы:
ЗаполнениеПредопределенныхЭлементов.epf
aka Любитель XML; +1 Ответить
17. MissionOnly 8 21.08.24 11:23 Сейчас в теме
Функция ПолучитьНужнеЗначение() Экспорт
Возврат ЗначениеИзСтрокиВнутр("{""#"",1a939fe1-f2a6-4652-ad43-dfd31bf9a664,37:b13500151719e9e311dcbe91e4466d63}");
КонецФункции

Думаю, это будет самое быстрое.
18. usershmuser 21.08.24 12:21 Сейчас в теме
Вопрос вообще интересный. Только если делать получение ссылок по уид в больших количествах, то сначала нужно получить этот уид. Вот теперь интересно на сколько дольше будет получение ссылок по уид с предварительным поиском этого уид.
Использовать прямой уид в коде без проверок, это как поиск контрагента по заранее забитому наименованию, которое может изменяться в зависимости от настроения левой пятки ответственного (если он есть) или еще кого.
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот