Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

Давно ли поиск по справочнику стал аналогичен поиску по Соответствию, или Справочник[...]

Давно ли поиск по справочнику стал аналогичен поиску по Соответствию, или Справочник[...]
Я
   МишельЛагранж
 
17.02.21 - 19:50
К своему удивлению обнаружил, что теперь по справочнику можно искать, задавая МенеджеруСправочника параметр [...]:
'Справочники.ИмяСправочника[НаименованиеСтрока]'
Т.е. это аналогично
'Справочники.ИмяСправочника.НайтиПоНаименованию(НаименованиеСтрока)'.
15 лет поиск по справочнику в 1С был либо командами поиска, либо - запросом.
Но никогда не был аналогичен поиску по Структуре или, наиболее точно, поиску по Соответствию (поиск ключа, тип Строка).
Чем всегда и отличался от поиском в этих объектах.
Никаких изменений в командах справочника не было. Т.е. такое поведение теперь - "изначально с 2005 года".
 
 Партнерская программа EFSOL Oblako
   Ёпрст
 
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 году справка, где вообще ко всем элементам коллекции Справочник так можно получить доступ :)
   Cyberhawk
 
12 - 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.
   Cyberhawk
 
17 - 17.02.21 - 20:33
(14) Не понял, чего не было?
   МишельЛагранж
 
18 - 17.02.21 - 20:35
(17) всего этого - не было. Никаких команд "[]" у справочника.
Все обращение через [] в справочнике - было только к менеджерам справочников, и их перебор циклом Каждый ... Из ... -> (10)
   mikecool
 
19 - 17.02.21 - 20:39
(18) так все таки - какие наркотики?
   Cyberhawk
 
20 - 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).
По части наркотиков - это к вам, видимо :)
   H A D G E H O G s
 
23 - 17.02.21 - 21:47
Афтор жжет.
   Ёпрст
 
24 - 17.02.21 - 21:57
Точно. Грибочки из погреба, не иначе
   МишельЛагранж
 
25 - 17.02.21 - 21:58
(23) ты просто перезаписался/забыл, как оно раньше работало :)
   PR
 
26 - 17.02.21 - 22:02
   МишельЛагранж
 
27 - 17.02.21 - 22:07
(26) ты директор, тебе не понять :)
Это Ёжик программист...
   H A D G E H O G s
 
28 - 17.02.21 - 22:14
(26) Ну такое...
Держи.
https://youtu.be/olcoAyW6PNE
   ptiz
 
29 - 17.02.21 - 22:15
Забористая трава
   H A D G E H O G s
 
30 - 17.02.21 - 22:16
(28)
"Полстраны таких мудантов, все никак не повыздыхают" - золотые слова.
 
 


Список тем форума
 
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.