Имя: Пароль:
1C
1С v8
Поиск в таблице справочника по нескольким реквизитам.
🠗 (Волшебник 13.06.2013 11:22)
,
0 Azgerd
 
13.06.13
10:53
При работе с таблицами справочника есть методы НайтиПоРеквизиту() и НайтиПоКоду() в итоге получаем найденную запись и делаем с ней что хотим. Вопрос как найти получить запись поиском по нескольким реквизитам? Т.е. сделать не Выборку, а именно установить курсор на найденной по нескольким реквизитам записи?
1 Jonny_Khomich
 
13.06.13
10:54
запрос
2 Wobland
 
13.06.13
10:57
(0) на какой из 18?
3 Azgerd
 
13.06.13
11:00
1С 8.2
Мне Запрос не нужен. Необходимо получить для редактирования искомую строку.
4 mikecool
 
13.06.13
11:00
(3) я не против
5 Ненавижу 1С
 
гуру
13.06.13
11:00
(3) по идейным соображениям запрос не нужен?
6 mikecool
 
13.06.13
11:01
+4 разрешаю искать перебором, раз запрос не нужен
7 ДенисЧ
 
13.06.13
11:01
(3) ну так получи. В чём вопрос то?

Есть такой метод... НайтиСтроки()...
8 Wobland
 
13.06.13
11:01
(3) аллах запрещает?
9 lapinio
 
13.06.13
11:02
самое оптимальное запрос с параметром подобно
10 Azgerd
 
13.06.13
11:04
НайтиСтроки() вроде бы ищет только в табличных частях справочника, а не сами записи справочника?
11 Wobland
 
13.06.13
11:04
(9) подобно - ни разу не отпимально
12 Wobland
 
13.06.13
11:04
(10) ещё в ТЗ. пробегись по выборке, засунь всё в ТЗ, потом ищи строки. раз уж религия такая
13 ДенисЧ
 
13.06.13
11:04
а... в справочнике...
Запрос.
Или в лес.
Ну или на Привоз
14 1Сергей
 
13.06.13
11:06
(13) сам запутался в своём СП. Какая ирония :)
15 Azgerd
 
13.06.13
11:06
Запросом можно искать, но много писанины (создать запрос, по том перебирать и искать по коду). Этоже самое к примеру в Фоксе можно сделать одной командой (типа Locate for)
16 Wobland
 
13.06.13
11:07
(15) зато работает как надо. купи гуся
17 lapinio
 
13.06.13
11:07
(11) Выборка конечно лучше получая все поля объекта и помещая в ОЗУ. А запрсом получаем нужные поля. Если поиск по нескольким реквизитам и по трем набранным буквам сделать поиск с помощью объектной модели как то затруднительно.
18 Ненавижу 1С
 
гуру
13.06.13
11:08
(15) зачем искать по коду? достаточно правильно создать запрос, тем более текст запроса достаточно "накликать" в конструкторе запросов
19 Wobland
 
13.06.13
11:08
(15) потом перебирать? срочно дружись с запросами, у тебя пусто в голове
20 1Сергей
 
13.06.13
11:08
(15) если ты не любишь Запросы, ты не можешь называть себя одинесником
21 Wobland
 
13.06.13
11:09
(20) я! я не люблю! семёрочные. у меня от них начинает кружиться голова и возникает необъяснимое чувство тревоги и страха
22 ДенисЧ
 
13.06.13
11:09
(15) таки вперёд на Привоз покупать гуся...
23 ДенисЧ
 
13.06.13
11:10
(21) если ты боишься запросов, выпей 50 грамм. Алкоголь притупляет чувство страха
24 Wobland
 
13.06.13
11:11
(23) 500 будет в самый раз для притупления. только я ж работать не смогу
25 1Сергей
 
13.06.13
11:11
(24) ты и так не работаешь :)
26 ДенисЧ
 
13.06.13
11:12
(24) а ты ещё и работаешь? О_о
27 Wobland
 
13.06.13
11:13
(25) (26) поработаешь тут с вами. я в отпуске загораю
28 ИС-2
 
naïve
13.06.13
11:13
(0) бить надо за найтипоКоду и поРеквизиту. Больше ими не пользуйся
29 Azgerd
 
13.06.13
11:21
Я может чёт не понимаю. После запроса пишем:
РезультатЗапроса = Запрос.Выполнить();
Выборка=РезультатЗапроса.Выбрать();
Выборка - это же виртуальная таблица, а как мне получить реальную запись справочника, не используя Справочник.НайтиПоКоду(Выборка.Код)
30 Defender aka LINN
 
13.06.13
11:21
(29) ППЦ...
31 Wobland
 
13.06.13
11:22
(29) что говорит СП?
32 Ненавижу 1С
 
гуру
13.06.13
11:22
(29) Выборка это скорее курсор SQL (ближе к нему)

Выборка.Ссылка - если есть конечно поле такое в запросе, дает ссылку на запись справочника
33 Azgerd
 
13.06.13
11:26
За Выборка.Ссылка спасибо,это понятно. Я не очень 1С - ник. Так что плаваю в структуре языка. А ППЦ в голове у Defender aka
Глупец, лишенный способности посмеяться над собой вместе с другими, не сможет долго выносить программирование. Фредерик Брукс-младший