Имя: Пароль:
1C
 
Выбор значения из справочника не запросом
0 quazare
 
05.05.09
11:44
Народ подскажите как выбрать определенное значение (например из справочника) не запросом. Если можно маленький примерчик.
1 Долорес И
 
05.05.09
11:47
Спр.НайтиПоКоду()
2 Ненавижу 1С
 
гуру
05.05.09
11:48
как не выбрать не определенное не значение не запросом?
3 b_ru
 
05.05.09
11:50
(0) открыть форму например справочника и выбрать
4 quazare
 
05.05.09
11:51
я маленько непонятно написал вначале. есть вот такой запрос:

ФормированиеДанных = Новый Запрос("ВЫБРАТЬ
                                |    Номенклатура.Название КАК Название,
                                |    Номенклатура.СпецГруппа КАК СпецГруппа
                                |ИЗ
                                |    Справочник.Номенклатура КАК Номенклатура
                                |ГДЕ
                                |    Номенклатура.Артикул = &Артикул");
   
   ФормированиеДанных.УстановитьПараметр("Артикул", ВыбранныйАртикул);
   РезультатВыбораНоменклатуры=ФормированиеДанных.Выполнить().Выбрать();
   РезультатВыбораНоменклатуры.Следующий();

Как получить такой же результат запроса через структуру?
5 revolt
 
05.05.09
11:52
Спр.НайтиПоРеквизиту()
6 revolt
 
05.05.09
11:54
НайтиПоРеквизиту (FindByAttribute)
Синтаксис:
НайтиПоРеквизиту(<Имя реквизита>, <Значение реквизита>, <Родитель>, <Владелец>)
Параметры:
<Имя реквизита> (обязательный)
Тип: Строка. Имя реквизита, как он задан в конфигураторе, по значению которого осуществляется поиск. Тип значения произвольный, кроме ХранилищеЗначения и строк произвольной длины.
<Значение реквизита> (обязательный)
Тип: Произвольный. Значение реквизита, по которому должен выполняться поиск.
<Родитель> (необязательный)
Тип: СправочникСсылка. Родитель, в пределах которого нужно выполнять поиск. Если не указан, то поиск будет проводиться во всем справочнике.
<Владелец> (необязательный)
Тип: СправочникСсылка. Владелец, в пределах которого нужно выполнять поиск. Если не указан, то поиск будет проводиться во всем справочнике.
Возвращаемое значение:
Тип: СправочникСсылка. Ссылка на найденный элемент справочника. Если не существует ни одного элемента с требуемым значением реквизита, то будет возвращена пустая ссылка.
Описание:
Осуществляет поиск элемента по значению реквизита.
Примечание:
Если существует несколько элементов с указанным значением реквизита, то будет найдет только один из них.
Для реквизитов типа Строка поиск осуществляется по точному соответствию.
Пример:

СтрокаНаименования = "Доллары США";
Валюты = Справочники.Валюты;
НайденнаяСсылка = Валюты.НайтиПоРеквизиту("ПолноеНаименование",
                                          СтрокаНаименования);
Если НайденнаяСсылка = Валюты.ПустаяСсылка() Тогда
   Сообщить("Валюты """ + СтрокаНаименования + """ еще нет.");
Иначе
   Сообщить("Нашли такую.");
КонецЕсли;
7 quazare
 
05.05.09
11:55
(6) Не, это я знаю, там как-то через структуру можно, если параметров больше чем 1.
8 asady
 
05.05.09
11:57
(0) только запросом и только с ключевым словом РАЗРЕШЕННЫЕ

этим ты навсегда избавишься от многих проблем поверь.
9 Serg_1960
 
05.05.09
12:00
(7) В СП заглядывали? Без картинок, - это не комиксы :( - но примеры есть :)
(8) +1 "... не запросом" - не фонтан :(
10 Smallrat
 
05.05.09
12:03
(7) СтруктураОтбора штоли ?
11 quazare
 
05.05.09
12:32
(10) щас найду пример - выложу, просто забыл как это сделать
12 quazare
 
05.05.09
16:07
ОбъектСправочника = ВыбранныйЭлемент.ПолучитьОбъект();

// Создать структуру для отбора удаляемых строк.
СтруктураОтбора = Новый Структура("ВидДеятельности", ВыбранныйВидДеятельности);

// Получить массив удаляемых строк.
ПодходящиеСтроки = ОбъектСправочника.ВидыДеятельности.НайтиСтроки(СтруктураОтбора);

// Удалить строки.
Для Каждого ОчереднаяСтрока Из ПодходящиеСтроки Цикл
   ОбъектСправочника.ВидыДеятельности.Удалить(ОчереднаяСтрока);

КонецЦикла;    

ОбъектСправочника.Записать();
13 hhhh
 
05.05.09
16:48
(12) так это внутри элемента справочника, в его табличной части.
14 sur0k
 
05.05.09
17:01
(12) Ну так в чем проблема? Справочник - такая же таблица БД, как и таб. часть. Просто вместо НайтиСтроки нужно использовать другую функцию. В СП поищи.