Имя: Пароль:
1C
1С v8
Что быстрее поиск по коду или вызов предопределенного?
0 Курцвейл
 
11.05.17
08:40
Чисто философский и умозрительный вопрос.
И конечно как правильнее и эстетичнее писать в таком случае код.
1 Курцвейл
 
11.05.17
08:47
Ну чтобы понятнее, что лучше в типовой БП 3.0

ПланыСчетов.Хозрасчетный.ВспомогательныеПроизводства

или

ПланыСчетов.Хозрасчетный.НайтиПоКоду("23")
2 Неверный Параметр И
 
11.05.17
08:48
Поиск по коду требует обращения к базе всегда. Предопределенное значение кэшируется. Даже на клиенте.
RTFM ПредопределенноеЗначение()
3 Курцвейл
 
11.05.17
08:51
(2) Ну.. с другой то стороны СУБД тоже может из кэша выдавать :)
4 Ranger_83
 
11.05.17
08:52
(0) Практичнее 2 вариант
5 ТупойЖадный
 
11.05.17
08:54
Поиск по коду это всегда извлечение по индексу, а поиск предопределенного это просто поиск
6 AneJIbcuH
 
11.05.17
09:03
(4) Нужны доводы или конкретные пояснения.
вот, например, из этой же серии, что будет работать быстрее в запросе (пусть даже миллисекунды):
...
| ГДЕ
| Хозрасчетный.Счет = Значение(ПланыСчетов.Хозрасчетный.ВспомогательныеПроизводства)

ИЛИ

...
| ГДЕ
| Хозрасчетный.Счет.Код = "23"
7 vis_tmp
 
11.05.17
09:03
(4)Чем практичнее?
8 Курцвейл
 
11.05.17
09:08
(7) Может так эстетичнее?
9 vis_tmp
 
11.05.17
09:12
(8)Скорее, нагляднее
10 Рэйв
 
11.05.17
09:16
что тут думать? обращение к предопределенному тупо быстрее работает.

https://yadi.sk/i/4Guf7a1K3J2SRz
11 Ranger_83
 
11.05.17
09:21
Практичнее - это значит,что на практике код могут поменять и писец вашему быстрому поиску :)
12 Ranger_83
 
11.05.17
09:22
Я уже наступал на подобные грабли.Доказывай потом,что не верблюд.Поэтому поиск только по предопределенному имени.
13 lodger
 
11.05.17
09:34
(12) +100500. в коде не стоит использовать поисков по кодам и наименований без явной потребности в этом.
всё о чем пишется в коде должно быть либо предопределенным, либо константой, либо параметром\реквизитом.
14 h-sp
 
11.05.17
09:52
(12) всё-таки в данном случае не факт. Настолько кривые названия счетам дали. Если бы были предопределенные типа Сч23, Сч25, тогда да.
15 1dvd
 
11.05.17
09:59
Надо было голосовалку прикрутить.

Я за вариант с предопределенным, хотя грешу и кодами (ибо проще и быстрее написать, это не такая затратная операция)
16 Ranger_83
 
11.05.17
10:01
(14) Есть такие опытные пользователи, которым невдомек логика работы программы.Они могут код счета легко поменять, причем из самых гуманных соображений.
17 h-sp
 
11.05.17
10:06
(16) тогда рухнет именно вариант с предопределенными названиями. При чем рухнет так, что мало не покажется.
18 c00Lo
 
11.05.17
11:26
А почему нет варианта например  НайтиПоНаименованию("Вспомогательные производства")?
Один х, индекс по наименованию тоже есть как и по коду)))
19 Рэйв
 
11.05.17
11:30
(17)Чего это он рухнет? Предопределенный элемент имеет имя, зашитое в конфигураторе. Код и наименование хоть заменяйся - имя останется прежним.
20 Serg_1960
 
11.05.17
11:49
Имхо, предопределенные элементы конфигурации "связываются" платформой на уровне внутренних идентификаторов, GUID, на уровне ссылок. Сложно сказал? Может стоит вам погуглить про поле "_PredefinedID"? :)
21 НЕА123
 
11.05.17
12:02
(1)
я за

ПланыСчетов.Хозрасчетный.Сч23

названия предопределенных в плане счетов всегда раздражает.
22 Serg_1960
 
11.05.17
12:29
"Сч23", как все абстрактные числа,  не содержит ни какой смысловой нагрузки:( Ну... кроме как для бухих, разумеется :) А простым смертным, к коим я причисляю программистов, всё-таки ближе "ВспомогательныеПроизводства" Хоть и считаю это громозкой конструкцией.
23 ViSo
 
11.05.17
13:02
Так как для справочника есть отдельный индекс по коду, а поле _IsMetadata присутствует только в первичном ключе и то не на первой позиции ( 3-я ), то поиск по коду должен бы бы работать быстрее, но скорее всего при создании менеджера ( первичной инициализации ) менеджер вытаскивает в кэш все предопределённые данные, по этому использование предопределённого происходит намного быстрее.
24 h-sp
 
11.05.17
13:08
(22) всё-таки если открыть например предопределенные по счетам 60 и 62, там еще меньше смысловой нагрузки.
25 vi0
 
11.05.17
13:34
(21) да, тут разработчики типовых промахнулись
26 vladko
 
11.05.17
13:48
(1) в типовых конфигурациях сами 1Сники пользуются через предопределённый элемент
27 youalex
 
11.05.17
13:57
(6) "Хозрасчетный.Счет.Код = "23""
- это неявное соединение с ПС