К списку форумов К списку тем
Регистрация    Правила    Главная форума    Поиск   
Имя: Пароль:
Рекомендовать в новости

ИспользоватьВладельца() и ИспользоватьРодителя() совместно не работают что-ли ?

Гость
0 - 29.09.2014 - 19:47
Есть подч.справочник.
Делаю выборку
...
Спр.ИспользоватьВладельца(ТекВладелец);
Спр.ИспользоватьРодителя(ТекРодитель);
Спр.ВыбратьЭлементы();
...
И что-то отбор по родительской группе не работает.
Неожиданно.



Гость
1 - 29.09.2014 - 20:34
Работает. Вот кусок модуля из ЗиК:
СпрВидыСубконто = СоздатьОбъект("Справочник.ВидыСубконто");
СпрЗначенияСубконто = СоздатьОбъект("Справочник.ЗначенияСубконто");
СпрЗначенияСубконтоРодитель = СоздатьОбъект("Справочник.ЗначенияСубконто");
ИмяСубконто = "Договоры"; // "Основание"

Если СпрВидыСубконто.НайтиПоНаименованию(ИмяСубконто) = 1 Тогда
СпрЗначенияСубконто.ИспользоватьВладельца(СпрВидыС убконто.ТекущийЭлемент());
СпрЗначенияСубконтоРодитель.ИспользоватьВладельца( СпрВидыСубконто.ТекущийЭлемент());
Если СпрЗначенияСубконтоРодитель.НайтиПоНаименованию(Со крЛП(НедостающийКонтрагент)) = 1 Тогда

СпрЗначенияСубконто.ИспользоватьРодителя(СпрЗначен ияСубконтоРодитель.ТекущийЭлемент());
Наименование = глПредставлениеДокумента(Документ);
Если СпрЗначенияСубконто.НайтиПоНаименованию(СокрЛП(Наи менование)) = 0 Тогда
// если не найден, то возьмем первый существующий договор
СпрЗначенияСубконто.ВыбратьЭлементы();
Пока СпрЗначенияСубконто.ПолучитьЭлемент() = 1 Цикл
Прервать;
КонецЦикла;
КонецЕсли;
НедостающийДоговор = СпрЗначенияСубконто.ТекущийЭлемент();
КонецЕсли;

КонецЕсли;
2 - 29.09.2014 - 21:04
(0) "И что-то отбор по родительской группе не работает" - что значит "не работает"? Выборка пустая или наоборот, в нее попадают лишние элементы?
Гость
3 - 29.09.2014 - 22:06
2-Ткачик >В выборку попадают ВСЕ элементы справочника.
4 - 29.09.2014 - 22:09
(3) Картина понемножку проясняется. Откуда берутся ТекВладелец и ТекРодитель?
Гость
5 - 29.09.2014 - 22:20
4-Ткачик >Да, я уже вкурил.
ТекВладелец и ТекРодитель передаются в обработку через список значений.
Помогло
Спр.ИспользоватьВладельца(ТекВладелец.ТекущийЭлеме нт());
Спр.ИспользоватьРодителя(ТекРодитель.ТекущийЭлемен т());
6 - 29.09.2014 - 22:26
(5)
"Помогло
Спр.ИспользоватьВладельца(ТекВладелец.ТекущийЭлеме нт());
Спр.ИспользоватьРодителя(ТекРодитель.ТекущийЭлемен т());
"

Именно это я и заподозрил.


К списку вопросов






Copyright ©, Все права защищены