Имя: Пароль:
1C
1C 7.7
v7: Как сделать выборку элементов в справочнике?
0 TDV
 
23.04.13
20:25
Нахожусь в подчиненном справочнике, в одном из полей, как сделать ВыбратьЭлементы и получитьЭлементы именно этого элемента справочника?
1 Rie
 
23.04.13
20:27
(0) СП украли? :-)
ИспользоватьВладельца
2 блондин1c
 
23.04.13
20:28
ИспользоватьВладельца(,);
3 TDV
 
23.04.13
20:29
ИспльзоватьВладельца а дальше?
4 TDV
 
23.04.13
20:29
Владелец кто?
5 ТакВотЖе
 
23.04.13
20:29
украли не только СП)))
6 блондин1c
 
23.04.13
20:30
в 8.2 это реализовано
7 TDV
 
23.04.13
20:31
мне в 7 надо
8 ТакВотЖе
 
23.04.13
20:31
что надо-то? по-русски объясни)
9 vladimir-boy
 
23.04.13
20:31
Простой перебор

СпрСотр = СоздатьОбъект("Справочник.Сотрудники");
Режим = 0; //выбирать без учета иерархии, 1 - с учетом (по умолч.)
СпрСотр.ВыбратьЭлементы(Режим);
Пока СпрСотр.ПолучитьЭлемент()=1 Цикл
.....<действия с очередным элементом/группой>
КонецЦикла;

Фильтрация (отбор)

СпрСотр = СоздатьОбъект("Справочник.Сотрудники");
РежимИерархии = 1; //1- выбирать с учетом иерархии, 0 - без учета
РежимГрупп = 0; //0 - не включать в выборку группы, 1 - включать
ИмяРеквизита = "Год"; //в Конфигураторе у реквизита должен быть установлен флажок Отбор
Значение = 1980;
СпрСотр.ВыбратьЭлементыПоРеквизиту(ИмяРеквизита,Значение,РежимИерархии, РежимГрупп);
Пока СпрСотр.ПолучитьЭлемент()=1 Цикл
.....<действия с очередным элементом>
КонецЦикла;

Фильтрация в цикле

СпрСотр = СоздатьОбъект("Справочник.Сотрудники");
СпрСотр.ИспользоватьРодителя(грпРаботающие);
СпрСотр.ИспользоватьДату(РабочаяДата());
СпрСотр.ВыбратьЭлементы();
Пока СпрСотр.ПолучитьЭлемент()=1 Цикл

Если СпрСотр.Должность <> длжПлотник Тогда
....Продолжить; //этого сотрудника пропускаем, перейти в начало цикла
КонецЕсли;

<действия с очередным элементом>

КонецЦикла;
10 vladimir-boy
 
23.04.13
20:34
СпрНЛ = СоздатьОбъект("Справочник.НалоговыеЛьготы");
СпрНЛ.ИспользоватьВладельца(Сотрудник);
СпрНЛ.ВыбратьЭлементы();
Пока СпрНЛ.ПолучитьЭлемент() = 1 Цикл
... //действия с очередным элементом
...Сообщить(СпрНЛ.Наименование);
КонецЦикла;
11 Rie
 
23.04.13
20:35
(9) Вот только на вопрос о подчинённом справочнике в этом замечательном посте ответа нет :-)
12 TDV
 
23.04.13
20:35
блин все это не то
13 Rie
 
23.04.13
20:35
(4) Владелец - это тот элемент, подчинённые которому ты хочешь выбрать.
14 TDV
 
23.04.13
20:36
надо именно находясь в подчиненном сделать выборку этого же справочника этого же элемента
15 Rie
 
23.04.13
20:37
(12)

Спр = СоздатьОбъект("Справочник.ТвойПодчиненный");
Спр.ИспользоватьВладельца(ИменноЭтотЭлементСправочника);
Спр.ВыбратьЭлементы();
Пока Спр.ПолучитьЭлемент()=1 Цикл
   // и вот тут Спр позиционирован на очередной подчиненный элемент
КонецЦикла;
16 блондин1c
 
23.04.13
20:38
СпрНоменклатура = СоздатьОбъект("Справочник.Номенклатура");
       СпрЦены            = СоздатьОбъект("Справочник.Цены");
       
       СпрНоменклатура.ВыборГруппы(0);
       СпрНоменклатура.ВключатьПодчиненные(1);
       СпрНоменклатура.ВыбратьЭлементы();
       Сч = 0;
       Пока СпрНоменклатура.ПолучитьЭлемент() = 1 Цикл
           СпрЦены.ИспользоватьВладельца(СпрНоменклатура.ТекущийЭлемент());
           
           СпрЦены.ВыбратьЭлементы();
           Пока СпрЦены.ПолучитьЭлемент() = 1 Цикл
               Сч = Сч + 1;
               Состояние("Заполнение новых реквизитов справочника цен: обновлено "+ Сч + " элементов");
               
               ТипЦены        = спрЦены.ТипЦен;
17 блондин1c
 
23.04.13
20:39
где выборку нужно сделать в модуле или в форме?
18 Эльниньо
 
23.04.13
20:51
Спр.НайтиЭлемент(ТекущийЭлемент())

если я правильно вопрос понял.
19 Cthulhu
 
23.04.13
21:30
ВыбСпр=СоздатьОбъект("Справочник."+Вид());
ВыбСпр.ИспользоватьВладельца(ИспользоватьВладельца());
ВыбСпр.ВыбратьЭлементы(ИерархическийСписок());
Пока ВыбСпр.ПолучитьЭлемент()<>0 Цикл
 Сообщить("а ещё ты видишь своими бестолковыми глазами "+?(ВыбСпр.ЭтоГруппа()<>0,"элемент","Группу")+" "+ВыбСпр+" владельца """+ВыбСпр.Владелец.ПолноеНаименование()+"""...",".");
КонецЦикла;
Сообщить("А лучше, двоечник перестукин, купи у Cthulhu СП... он добрый - недорого отдаст.","i");
Предупреждение("Hello, Word!",12);
20 oslokot
 
23.04.13
22:08
(0) Кто ясно мыслит тот ясно излагает (©)
Проблемы невозможно решaть нa том же уровне компетентности, нa котором они возникaют. Альберт Эйнштейн