Имя: Пароль:
1C
1С v8
поиск по нескольким реквизитам
,
0 Vasus55
 
30.12.11
10:52
как можно осущиствить поиск справочника по нескольким реквизитам(3) и открыть его
1 ZanderZ
 
30.12.11
10:54
запросом
2 Vasus55
 
30.12.11
10:56
а как именно?
3 ZanderZ
 
30.12.11
10:58
(2) написать запрос
4 FIXXXL
 
30.12.11
10:58
(2) ну запросом же
5 Vasus55
 
30.12.11
10:59
в запросе ссылку на этот справочник только передавать?
6 Gesperid
 
30.12.11
10:59
(5) хы
7 ZanderZ
 
30.12.11
11:00
(5) зачем тебе тогда искать если ты его передавать собрался ?
8 FIXXXL
 
30.12.11
11:00
(5) как твоей душеньке угодно будет
запрос штука такая: хош на этот, хош на тот
9 Vasus55
 
30.12.11
11:00
или все данные справочника?
10 FIXXXL
 
30.12.11
11:00
PS че-нить да выдаст
11 NcSteel
 
30.12.11
11:01
Select RRef From Catalog2345 Where //Твое условие.
12 Gesperid
 
30.12.11
11:03

ВЫБРАТЬ
 Партии.Ссылка КАК Ссылка
Из Справочник.Партии КАК Партии
ГДЕ
 Партии.Жуликов И Партии.Воров
13 Vasus55
 
30.12.11
11:05
вот так накидал

форма=Справочники.КонтакныеЛица.ПолучитьФорму("ФормаЭлемента");
организация=ЭлементыФормы.ТабличноеПоле1.ТекущиеДанные.Организация;
ФИО=ЭлементыФормы.ТабличноеПоле3.ТекущиеДанные.ФИО;
Должность=ЭлементыФормы.ТабличноеПоле3.ТекущиеДанные.Должность;
запрос = Новый Запрос;
Запрос.Текст= "ВЫБРАТЬ
             |    КонтакныеЛица.Код,
             |    КонтакныеЛица.Наименование,
             |    КонтакныеЛица.ФИО,
             |    КонтакныеЛица.Должность,
             |    КонтакныеЛица.ТелефонРабочий,
             |    КонтакныеЛица.ТелефонСотовый,
             |    КонтакныеЛица.EMail,
             |    КонтакныеЛица.Комментарий
             |ИЗ
             |    Справочник.КонтакныеЛица КАК КонтакныеЛица
             |ГДЕ
             |    КонтакныеЛица.Наименование = &Наименование
             |    И КонтакныеЛица.ФИО ПОДОБНО &ФИО
             |    И КонтакныеЛица.Должность = &Должность" ;
запрос.УстановитьПараметр("Наименование",организация);
запрос.УстановитьПараметр("ФИО",ФИО);
запрос.УстановитьПараметр("Должность",Должность);
результат=запрос.Выполнить();
а вот дальше как открыть этот справочник?
14 Gesperid
 
30.12.11
11:06
мля, ты человеческим языком объясни, что тебе сделать-то надо?
15 Gesperid
 
30.12.11
11:07
и не путай справочник с элементами справочника
16 Vasus55
 
30.12.11
11:08
ой не то сделал
во так форма=Справочники.КонтакныеЛица.ПолучитьФорму("ФормаЭлемента");
организация=ЭлементыФормы.ТабличноеПоле1.ТекущиеДанные.Организация;
ФИО=ЭлементыФормы.ТабличноеПоле3.ТекущиеДанные.ФИО;
Должность=ЭлементыФормы.ТабличноеПоле3.ТекущиеДанные.Должность;
запрос = Новый Запрос;
Запрос.Текст= "ВЫБРАТЬ
             |    КонтакныеЛица.Ссылка КАК Ссылка
             |ИЗ
             |    Справочник.КонтакныеЛица КАК КонтакныеЛица
             |ГДЕ
             |    КонтакныеЛица.Наименование = &Наименование
             |    И КонтакныеЛица.ФИО ПОДОБНО &ФИО
             |    И КонтакныеЛица.Должность = &Должность" ;
запрос.УстановитьПараметр("Наименование",организация);
запрос.УстановитьПараметр("ФИО",ФИО);
запрос.УстановитьПараметр("Должность",Должность);
результат=запрос.Выполнить();
17 Vasus55
 
30.12.11
11:09
а устанавливать параметр надо в моем случае?
18 Wobland
 
30.12.11
11:09
(16) опять не то
19 Wobland
 
30.12.11
11:10
параметры откуда получать надо?
20 0xFFFFFF
 
30.12.11
11:11
(16)
Выборка = Запрос.Выполнить.Выбрать();
Пока Выборка.Следующий() Цикл
Выборка.Ссылка.ПолучитьФорму().Открыть();
прервать;/предполагаем что элемент один
КонецЦикла;
21 Wobland
 
30.12.11
11:12
(20) это что за народное творчество? ;)
Если Выборка.Следующий()
22 marvak
 
30.12.11
11:12
(16)
Тебе надо текущее значение контактного лица в списке справочника получить что ли?

Тогда это будет:

ТекКонтактноеЛицо = ЭлементыФормы.ТабличноеПоле1.ТекущиеДанные;
23 Wobland
 
30.12.11
11:12
+(21) а вообще, предполагать в таком случае плохо
24 NcSteel
 
30.12.11
11:12
форма=Справочники.КонтакныеЛица.ПолучитьФорму("ФормаЭлемента"); - Что ты хочешь этим сделать ?

И задачу давай описывай полностью.
25 0xFFFFFF
 
30.12.11
11:13
(21) это ты где это прочитал?
26 Vasus55
 
30.12.11
11:14
Поле объекта не обнаружено (Выполнить)
27 0xFFFFFF
 
30.12.11
11:14
(23) может у автора контроль по наименованию и ФИО на уникальность при записи.
Он ведь ставит задачу открыть элемент, а не показать список
28 0xFFFFFF
 
30.12.11
11:15
(26) ну Выполнить() конечно же
29 0xFFFFFF
 
30.12.11
11:15
(21) а ну или так
30 NcSteel
 
30.12.11
11:16
(27) Почитай его пример . Он получает форму , потом считывает элементы с формы и пытается найти КонтактноеЛицо. Тебе не кажется что это бред ?
31 Vasus55
 
30.12.11
11:18
в общем сутьь такая есть общая форма  на ней два ТП
в первом поле находится выгруженое запросом организация и другие данные, а во втором ТП фио и должность
есть кнопка
по этим трем параметрам мне нужно найти справочник при нажатии кнопки и открыть его,
поэтому я пишу получитьформу что бы как то обратиться к этому справочнику, а через текущие данные считываю организация, фио, должность
суть понятна?
32 NcSteel
 
30.12.11
11:19
(31) Дай обработку на почту.
33 GROOVY
 
30.12.11
11:21
(31) Значит так:

Пишем запрос:
Запрос = Новый Запрос;
Запрос.текст = "ВЫБРАТЬ Ссылка ИЗ Справочник.НАЗВАНИЕСПРАВОЧНИКА ГДЕ РЕКВИЗИТ1 = &Реквизит1 И РЕКВИЗИТ2 = &Реквизит2 (повторять...)";
Запрос.Установитьпараметр("Реквизит1", ЗНАЧЕНИЕ);
Запрос.Установитьпараметр("Реквизит2", ЗНАЧЕНИЕ);

Результат = Запрос.Выполнить();
Если Не Результат.Пустой() Тогда
Выборка = Результат.Выбрать(); Выборка.Следующий();
ОткрытьЗначение(Выборка.Ссылка);
КонецЕсли;
34 Vasus55
 
30.12.11
11:28
заработаааааааааааааааааааааааааало!!!
Всех с НОВЫМ ГОДОМ!!!!
ВСЕГО ВАМ САМОГО НАИЛУЧШЕГО!!!