Имя: Пароль:
1C
1C 7.7
v7: Поиск в справочнике по Иванову, а что если 2 Иванова?
,
0 Double_Medved
 
17.02.14
18:13
Добрый день! Подскажите плиз такую вещь: например в неком справочнике есть Иванов Иван и Иванов Петр. Подскажите,  как мне найти обоих по фамилии? ПоискПоРеквизиту ведь найдет только одного Иванова?
1 viktor_vv
 
17.02.14
18:15
Запросом.
2 Gogger
 
17.02.14
18:16
Запросом, это ж очевидно.
3 Beduin
 
17.02.14
18:16
(0) Когда найдешь первого переименуй его, потом найди второго, запомни и верни наименование первому.
4 МихаилМ
 
17.02.14
18:16
запросом.

Условие(Фио >= Иванов )
и
Условие(Фио <  Иваног )

но вроде поиск по реквизиту умеет искать по неточному совпадению
5 viktor_vv
 
17.02.14
18:17
(0) Упс, если ПоискПоРеквизиту, то используй ВыбратьПоРеквизиту().
6 Double_Medved
 
17.02.14
18:17
А средствами встроенного языка не выйдет? И вообще говоря запрос быстрее будет?
7 viktor_vv
 
17.02.14
18:18
(4) Умеет, только вернет один, первый попавшийся, точнее наверное по меньшей ссылке.
8 Double_Medved
 
17.02.14
18:19
(5) СП говорит что не знает ВыбратьПоРеквизиту
9 Lazy Stranger
 
17.02.14
18:19
(6) запрос - это и есть средство встроенного языка :)
10 viktor_vv
 
17.02.14
18:20
ВыбратьЭлементыПоРеквизиту(<?>,,,)
Синтаксис:
ВыбратьЭлементыПоРеквизиту(<ИмяРеквизита>,<Значение>,<РежимИерархии>,<РежимГрупп>)
Назначение:
Открыть выборку элементов справочника по значению реквизита.
Возвращает: 1 - если действие выполнено и в выборке есть хотя бы один элемент;
0 - если действие не выполнено или в выборке нет ни одного элемента.
11 viktor_vv
 
17.02.14
18:22
(8) Это если ты действительно про реквизит, а не про наименование.
(7) Таки по реквизиту не умеет по части, это найтиНаименование может по неполному соответствию искать.
12 viktor_vv
 
17.02.14
18:22
*НайтиПоНаименованию
13 viktor_vv
 
17.02.14
18:23
И ты уточни, что у тебя в реквизите. Потому как имхается мне, кроме запроса ничего не поможет.
14 Double_Medved
 
17.02.14
18:26
(10)Спасибо, попробую покурить ВыбратьЭлементыПоРеквизиту
15 КонецЦикла
 
17.02.14
18:56
Поиск по реквизиту может и два найти если применить мегаизврат с удалением и откатом транзакции :)
16 Double_Medved
 
17.02.14
19:39
(15) Что сделать????!!!!!
17 ДенисЧ
 
17.02.14
19:43
(16) Не слушай его, он плохому научит. Делай запросом и не тогой мозги.
18 EvgeniuXP
 
17.02.14
19:47
обычным перебором справочника, если в реквизите иванов положи в массив :)
20 МихаилМ
 
17.02.14
19:49
(18)
видел справочники в 100 тысяч элементов.

перебор будет долог.
21 Classic
 
17.02.14
19:52
(14)
Не забудь, что для этого метода должна стоять галочка Отбор у реквизита. Иначе ниче у тебя не выйдет :)
24 МихаилМ
 
17.02.14
19:57
(22)
когда же мы с Вами на "ты" успели перейти?
25 Mashinist
 
17.02.14
19:59
Я за запрос... причем прямой
будет все проще
27 МихаилМ
 
17.02.14
20:07
(26)
отобрал
я использую прямые запросы , а точнее - надстройку 1с++
29 EvgeniuXP
 
17.02.14
20:09
(27) это, конечно, хорошо, но если грохнется, потом сиди и настраивай этот 1с++ все его классы :)
31 МихаилМ
 
17.02.14
20:16
(29)
как же ни с того ни сего ПО грохнется?

так не бывает.  если админы с мозгами.





поскольку тема мной раскрыта.
позволю продолжить offtopic.
32 KRV
 
17.02.14
20:17
Уволить одного Иванова не предлагать? ))
33 viktor_vv
 
17.02.14
20:19
(29) А чего там настраивать? Чистый 1С++ уже все необхожимое имеет из каропки :).
34 EvgeniuXP
 
17.02.14
20:38
(33) Defs прописывать
(31) ну HDD полетел :)
или РИБ захотел сделать - и переноси всё.
36 aka AMIGO
 
17.02.14
21:37
могу предложить вариант под г-код © миста (конкретные ники пока указывать не буду) :)
поиск по справочнику "Контрагенты" в любых комбинациях.
Поиск довольно долгий, ибо там идет разложение Наименования в СЗ, и поиск совпадений искомых слов в этом СЗ
пример
"Иванов" - найдутся Иванов Иван и Иванов Петр
"Петр" - найдется Иванов Петр, и все другие Петры

Если справочник невелик - как у нас ок 1500 контрагентов, ищет полминуты.

ЗЫ. еще раз - кому как нравится - тот так и делает
Черный запрос - один из вариантов

1С++ и пр. я не применяю, шеф категорически запретил все внешние компоненты.
37 aka AMIGO
 
17.02.14
21:42
+36 а уж сильнее бардака, что творится у нас в спр.Контрегенты, я еще не встречал.
5 филиалов с УРБД, каждый менеджер имел (до некоторых пор) право вносить контра, как ему заблагорассудится. Менеджеров у нас около 15 штук.
в результате можно встретить до 4 наименований одного предприятия. 1с - с 2000 года, я пришел в 2009-м..на ТекущуюДату() имеем то, что имеем.
38 КошерныйТролль
 
17.02.14
22:20
Насколько помню клюшку, по наименованию выбратьЭлементыПоРеквизиту там нельзя (предопределенное поле)
39 фобка
 
17.02.14
22:24
придет @Ёпртс и расскажет как искать по наименованию в цикле)
самый хороший способ это прямым запросом, можно и черным, а можно и тупым перебором
40 фобка
 
17.02.14
22:25
(38) НайтиПоНаименованию()
AdBlock убивает бесплатный контент. 1Сергей