Имя: Пароль:
1C
1С v8
НайтиПоКоду()
🠗 (Волшебник 29.10.2020 18:07)
0 mr_1C
 
29.10.20
16:48
1. Если НужнаяНомен.Код = "ЦБ0025637 Тогда 60% (3)
2. Если НужнаяНомен = Справочники.Номенклатура.НайтиП 40% (2)
Всего мнений: 5

Всем добрый вечер. 2 вопроса:
1) что отрабатывается быстрее в условии (даже на миллиардные доли секунды):
Если НужнаяНомен = Справочники.Номенклатура.НайтиПоКоду("ЦБ0025637") Тогда
или
Если НужнаяНомен.Код = "ЦБ0025637 Тогда ?
2) Какой из вариантов более корректный?
6 УдавВПопугаях
 
29.10.20
17:29
2

Если НужнаяНомен.Код = "ЦБ0025637 Тогда
11 unregistered
 
29.10.20
17:55
(0) Голосовалка составлена некорректно. (впрочем на мисте это проблема едва ли не 99% всех голосовалок)
Не хватает пунктов
3. "Одинаково".
4. "Оба варианта - редкостный *авнокод".

Я бы голосовал за п.4.

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

Если НужнаяНомен.Код = "ЦБ0025637 Тогда
15 oslokot
 
29.10.20
18:04
Если объект уже известен, то простая операция сравнения реквизита (код) со значением гораздо быстрее чем платформенный запрос
В этом случае запрос в базу НайтиПоКоду() лишний и нахрен не нужен

Если НужнаяНомен.Код = "ЦБ0025637 Тогда