Выбрать элементы по реквизиту из подгрупп
Показывать по
10
20
40
сообщений
- 1
- 2
09.11.2012
16:21
#1
Добрый день. Пытаюсь сделать выборку элементов по реквизиту из справочника. Получается не совсем то, что хотелось бы. В группах справочника есть подгруппы, а в них - элементы с нужным значением. Но вот до них "добраться" не получается (до элементов в подгруппах). Помогите, пожалуйста, разобраться, что я сделала не так. Спасибо.
09.11.2012
17:13
#2
"А если после применения фильтра по Родителю добавить
СпрМК.ВключатьПодчиненные(1);"
10.11.2012
10:08
#4
Попробовала оба варианта. На редкость "упрямый" справочник. Ни в какую не соглашается выдавать нужную информацию.
10.11.2012
16:32
#5
"вместо:
СпрМК.ВыбратьЭлементыПоРеквизиту("Ведомость", "вп", 1,0);
поставить:
СпрМК.ВыбратьЭлементыПоРеквизиту("Ведомость", "вп", 0,0);
но тогда будет без иерархии, или использовать
СпрМК.ВыбратьЭлементы();
а Ведомость проверять в цикле."
СпрМК.ВыбратьЭлементыПоРеквизиту("Ведомость", "вп", 1,0);
поставить:
СпрМК.ВыбратьЭлементыПоРеквизиту("Ведомость", "вп", 0,0);
но тогда будет без иерархии, или использовать
СпрМК.ВыбратьЭлементы();
а Ведомость проверять в цикле."
12.11.2012
12:25
#6
"Спасибо. Иерархия нужна, поэтому я пытаюсь через СпрМК.ВыбратьЭлементы(); Ведомость пробовала проверять через Если...Тогда и как цикл в цикле. Пока не получается. Выдает пустую строку. Я проверяю не так, как надо?"
12.11.2012
12:37
#8
"
Ведомость - текстовый реквизит?"
СпрМК.ВыбратьЭлементы(); Пока СпрМК.ПолучитьЭлемент() > 0 Цикл Если СпрМК.Ведомость= "вп" Тогда НомерСтроки = НомерСтроки + 1; ... КонецЕсли; КонецЦикла;
Ведомость - текстовый реквизит?"
12.11.2012
13:06
#9
"Процедура Сформировать()
Если Выбор1.Выбран() = 0 Тогда
Предупреждение("Выберите узел!");
Возврат;
КонецЕсли;
Таб = СоздатьОбъект("Таблица");
Таб.ИсходнаяТаблица("Ведомость");
Таб.ПовторятьПриПечатиСтроки(3,4);
Таб.ВывестиСекцию("Шапка");
СпрМК = СоздатьОбъект("Справочник.МашиноКомплекты");
СпрМК.ИспользоватьРодителя(Выбор1);
СпрМК.ВключатьПодчиненные(1);
// СпрМК.ВыбратьЭлементыПоРеквизиту("Ведомость", "вп", 1,0);
НомерСтроки = 0;
СпрМК.ВыбратьЭлементы();
Пока СпрМК.ПолучитьЭлемент() > 0 Цикл
Если СпрМК.Ведомость = "вп" Тогда
НомерСтроки = НомерСтроки + 1;
.
.
.
КонецЕсли;
Если СпрМК.ЭтоГруппа() = 1 Тогда
Таб.ВывестиСекцию("Группа");
Иначе
Таб.ВывестиСекцию("Строка");
КонецЕсли;
КонецЦикла;"
Если Выбор1.Выбран() = 0 Тогда
Предупреждение("Выберите узел!");
Возврат;
КонецЕсли;
Таб = СоздатьОбъект("Таблица");
Таб.ИсходнаяТаблица("Ведомость");
Таб.ПовторятьПриПечатиСтроки(3,4);
Таб.ВывестиСекцию("Шапка");
СпрМК = СоздатьОбъект("Справочник.МашиноКомплекты");
СпрМК.ИспользоватьРодителя(Выбор1);
СпрМК.ВключатьПодчиненные(1);
// СпрМК.ВыбратьЭлементыПоРеквизиту("Ведомость", "вп", 1,0);
НомерСтроки = 0;
СпрМК.ВыбратьЭлементы();
Пока СпрМК.ПолучитьЭлемент() > 0 Цикл
Если СпрМК.Ведомость = "вп" Тогда
НомерСтроки = НомерСтроки + 1;
.
.
.
КонецЕсли;
Если СпрМК.ЭтоГруппа() = 1 Тогда
Таб.ВывестиСекцию("Группа");
Иначе
Таб.ВывестиСекцию("Строка");
КонецЕсли;
КонецЦикла;"
- 1
- 2
Читают тему
(гостей: 1)