Имя: Пароль:
1C
1С v8
Давно ли поиск по справочнику стал аналогичен поиску по Соответствию, или Справочник[...]
,
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
27 МишельЛагранж
 
17.02.21
22:07
(26) ты директор, тебе не понять :)
Это Ёжик программист...
28 H A D G E H O G s
 
17.02.21
22:14
(26) Ну такое...
Держи.
https://youtu.be/olcoAyW6PNE
29 ptiz
 
17.02.21
22:15
Забористая трава
30 H A D G E H O G s
 
17.02.21
22:16
(28)
"Полстраны таких мудантов, все никак не повыздыхают" - золотые слова.
AdBlock убивает бесплатный контент. 1Сергей