|
Давно ли поиск по справочнику стал аналогичен поиску по Соответствию, или Справочник[...] | ☑ | ||
---|---|---|---|---|
0
МишельЛагранж
17.02.21
✎
19:50
|
К своему удивлению обнаружил, что теперь по справочнику можно искать, задавая МенеджеруСправочника параметр [...]:
'Справочники.ИмяСправочника[НаименованиеСтрока]' Т.е. это аналогично 'Справочники.ИмяСправочника.НайтиПоНаименованию(НаименованиеСтрока)'. 15 лет поиск по справочнику в 1С был либо командами поиска, либо - запросом. Но никогда не был аналогичен поиску по Структуре или, наиболее точно, поиску по Соответствию (поиск ключа, тип Строка). Чем всегда и отличался от поиском в этих объектах. Никаких изменений в командах справочника не было. Т.е. такое поведение теперь - "изначально с 2005 года". |
|||
1
Ёпрст
17.02.21
✎
19:57
|
(0) Полный ПЭ.
Советую отказаться от употребления тяжелых наркотиков. Это вообще ни разу не аналогично. Это всего лишь обращение к предопределенным элементам справочника. И всё. Это аналогично Справочники.ИмяСправочника.ИмяПредОпределенногоЭлемента |
|||
2
МишельЛагранж
17.02.21
✎
20:00
|
Добавлю, для любителей "да ты не знаешь", "да ты. да то...":
- такого поведения справочника (менеджера справочника) еще не зафиксировано в справке - такого поведения не встречал в книгах - такого поведения нет в общеизвестных примерах в инете, в учебниках, описании и программировании справочников. Возможно, со временем, все это появится. На данный момент - нет ничего. Т.е. вся информация пока соответствует тому, что было. А вот сам объект "Справочник" - работает уже по-другому :) |
|||
3
МишельЛагранж
17.02.21
✎
20:01
|
(1) ты давай сам завязывай с наркотиками.
А пока посмотри учебные материалы, и как там работает справочник, только без наркотиков :) |
|||
4
МишельЛагранж
17.02.21
✎
20:02
|
>>Это всего лишь обращение к предопределенным элементам справочника.
через []? Именно в справочниках такого не было. Обращались по имени, не через [...]. |
|||
5
Многолетний Апельсин
17.02.21
✎
20:06
|
(4) Если не ошибаюсь - у любых объектов в 1с можно обратиться к полям через квадратные скобки, если поля доступны через точку.
|
|||
6
Ёпрст
17.02.21
✎
20:06
|
(4) и че ? Считай это фичей, если хочешь. Но это не поискПоНаименованию
|
|||
7
Ёпрст
17.02.21
✎
20:07
|
(5) да, почти для всех коллекций...тут видать в сп не дописали, получить предопределенный элемент можно через скобки
|
|||
8
ДНН
17.02.21
✎
20:18
|
(0) Из справки:
Помимо основного обращения через точку, в языке 1С:Предприятия предусмотрен механизм обращения к свойствам объектов по строке с именем свойства с помощью оператора [] (квадратные скобки). Синтаксис: <Объект>[<Имя свойства>] Параметры: <Объект> Объект, к свойству которого идет обращение. <Имя свойства> Тип: Строка. Имя свойства, к которому необходимо обратиться. Описание: Такая конструкция позволяет обращаться к свойствам объектов так же, как это делается через точку с указанием имени свойства. Пример: Спр = Справочники.Номенклатура.НайтиПоКоду(ИскомыйКод); // Обращение к наименованию справочника по строке с именем свойства A = Спр[“Наименование”]; // Обращение к наименованию справочника по имени свойства A = Спр.Наименование; // Оба эти обращения к свойству абсолютно равнозначны |
|||
9
МишельЛагранж
17.02.21
✎
20:19
|
(7)именно из-за того, что предопределенные справочника получались:
Справочник.ИмяСправочника.ИмяПредопределенныогоЭлемента было бессмысленно использовать "предопределенные" в справочниках - все равно приходилось делать доп условие "Если ... Тогда", что сводило на "нет" такую "фичу", и проще было ПоискПоНазванию. Или запросом. Теперь можно напрямую по СТРОКЕ искать элемент справочника через указание как параметра в [ИмяЭлемента]. пусть элемент и предопределенный, но этого - не было. |
|||
10
МишельЛагранж
17.02.21
✎
20:21
|
(8) вот всегда было это:
"СправочникМенеджер.<Имя справочника> Для объекта доступен обход коллекции посредством оператора Для каждого … Из … Цикл. При обходе выбираются менеджеры справочников. Возможно обращение к менеджеру справочника посредством оператора [...]. " Ваше - непонятно, откуда. |
|||
11
МишельЛагранж
17.02.21
✎
20:23
|
(7) вон у товарища в (8) уже "обновленная" в 2005 году справка, где вообще ко всем элементам коллекции Справочник так можно получить доступ :)
|
|||
12
Cyberhawk
17.02.21
✎
20:24
|
(11) Ты видишь то, что хочешь. В том примере Спр - это не менеджер, а ссылка на элемент справочника.
|
|||
13
ДНН
17.02.21
✎
20:25
|
(11) где вообще ко всем элементам коллекции Справочник так можно получить доступ - где ты это увидел?
|
|||
14
МишельЛагранж
17.02.21
✎
20:29
|
(12) >>В том примере Спр - это не менеджер, а ссылка на элемент справочника
ну это не мой пример, 15 лет ничего этого не было :) Я его первый раз вижу, мне простительно :) И это не отменяет того, что для справочника получение наименования элемента - не было как в структуре: "Объект["Наименование"] равнозначно "Объект.Наименование". |
|||
15
МишельЛагранж
17.02.21
✎
20:30
|
(13)В любом случае, для справочника получение наименования элемента - не было как в структуре:
что "Объект["Наименование"]" - стало равнозначно "Объект.Наименование". |
|||
16
МишельЛагранж
17.02.21
✎
20:31
|
А такое поведение - не с какой-то там платформы "3.8.17", а с 2005 года, с 8.0.
|
|||
17
Cyberhawk
17.02.21
✎
20:33
|
(14) Не понял, чего не было?
|
|||
18
МишельЛагранж
17.02.21
✎
20:35
|
(17) всего этого - не было. Никаких команд "[]" у справочника.
Все обращение через [] в справочнике - было только к менеджерам справочников, и их перебор циклом Каждый ... Из ... -> (10) |
|||
19
mikecool
17.02.21
✎
20:39
|
(18) так все таки - какие наркотики?
|
|||
20
Cyberhawk
17.02.21
✎
20:40
|
(18) Похоже, ты под т.н. "эффектом Манделы".
Обращение к реквизитам объектов через квадратные скобки было всегда. Возьми код какой-нибудь УТ 10.2 или БП 1.6 и убедись. |
|||
21
МишельЛагранж
17.02.21
✎
20:48
|
(20)>>Обращение к реквизитам объектов через квадратные скобки было всегда. Возьми код какой-нибудь УТ 10.2 или БП 1.6 и убедись.
Я подобное поведение только сегодня встретил :) И даже не в типовой. (19) возможно, я ничему не удивляюсь уже. Вообще, уже много изменений увидел в 1С, чего раньше не было. Например, если в типизированное поле ТЗ раньше писали объект, то 1С "понимала" его, и вписывала ссылку автоматом (и это было логично, т.к. объект она все равно никаким боком туда не втиснет, хоть треснет). Теперь - нужно ПРИНУДИТЕЛЬНО указывать Объект.Ссылка, иначе - либо ошибка, либо просто ничего не запишет в поле. И это с 8.0, с 2005 года. такого поведения раньше тоже не было. |
|||
22
МишельЛагранж
17.02.21
✎
21:00
|
(19)
пост (21) -> ответ на (20), две части, а не на (19). По части наркотиков - это к вам, видимо :) |
|||
23
H A D G E H O G s
17.02.21
✎
21:47
|
Афтор жжет.
|
|||
24
Ёпрст
17.02.21
✎
21:57
|
Точно. Грибочки из погреба, не иначе
|
|||
25
МишельЛагранж
17.02.21
✎
21:58
|
(23) ты просто перезаписался/забыл, как оно раньше работало :)
|
|||
26
PR
17.02.21
✎
22:02
|
(23) Точно
https://www.youtube.com/watch?v=ZRClthNHtu4 |
|||
27
МишельЛагранж
17.02.21
✎
22:07
|
(26) ты директор, тебе не понять :)
Это Ёжик программист... |
|||
28
H A D G E H O G s
17.02.21
✎
22:14
|
||||
29
ptiz
17.02.21
✎
22:15
|
Забористая трава
|
|||
30
H A D G E H O G s
17.02.21
✎
22:16
|
(28)
"Полстраны таких мудантов, все никак не повыздыхают" - золотые слова. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |