Выбор Элементов С Учетом Иерархии #232858


#0 by Чучундер
Выбираю элементы Спр.Цены (подчинен Спр.Номенклатура)ВыбратьЭлементыПоРеквизиту(<?>,,,)ВыбратьЭлементыПоРеквизиту(<ИмяРеквизита>,<Значение>,<РежимИерархии>,<РежимГрупп>)Параметры:<РежимИерархии> - как выбирать:1 - выбирать элементы с учетом иерархии,0 - выбирать элементы без учета иерархии (необязателен, по умолчанию - 1);Вопрос:<РежимИерархии> - это иерархия групп подчиненного справочника илииерархия подчинения родительскому справочнику?
#1 by roma n
иерархия подчинения родительскому справочнику + иерархия групп ... :-/
#2 by roma n
При небольшом объеме инфы в подчиненном справочнике эффективней будет прямой перебор внутри подчинения
#3 by Чучундер
Хорошо, тогда так:надо для текущей номенклатуры получить цену с типом глЦенаПредоплата1 вариантЦеныНоменклатуры.ИспользоватьВладельца(ТЗНоменклатура.Номенклатура);ЦеныНоменклатуры.ВыбратьЭлементыПоРеквизиту("ТипЦен",глЦенаПредоплата,0,0);... имеет смысл использовать вариант 2...???
#4 by roma n
Если подчиненый справочник одноуровневый (или ты на 250% уверен что уровень искомого элемента = 1) тогда смело пользуй вариант 1.Вариант 2, ИМХО, будет игнорировать ИспользоватьВладельца
#5 by 101
ты удивишься , но по сути и та и та ты объект позиционирования поменяй
#6 by Чучундер
Вариант ИМХО - не катит(подч.справочник - одноуровень)ИМХО Вариант_2 - покатит, так как сверху наложено ИспользоватьВладельца... где правда, брат? > ты объект позиционирования поменяйне понял, можно подробнее?
#7 by 101
ЦеныНоменклатуры.ВыбратьЭлементыПоРеквизиту это че ? и кому подчинено? владелец где ? а он кто ? в выборке или курсор переставил ?
#8 by Чучундер
ЦеныНоменклатуры.ВыбратьЭлементыПоРеквизиту("ТипЦен",глЦенаПредоплата,1,0);...что неверно?
#9 by roma n
Все верно. Что не получается-то?
#10 by Чучундер
То бишь Варинат_2 - отработать должен верно...боюсь... от ТЗ, текущихСтрок, ПолучитьАтрибут. УстановитьАтрибут и пр. - голова уже пухнет...
#11 by roma n
ЦеныНоменклатуры.ВыбратьЭлементыПоРеквизиту("ТипЦен",глЦенаПредоплата,1,0);- озвучено в Вариант1...раз ты утверждаеш что справочник одноуровневый то код в отработает на ура.
#12 by Чучундер
Пытаюсь экономить крохотульки времени.мое имхо: в в варианте 1 и 2 приведены равноценные решения,поэтому лучше юзать вариант_2 - по идее должен быть быстрее.. это верно?
#13 by Чучундер
и еще один вопрос: для справочника метод ПолучитьАтрибут(..) - требует позиционирования на элемент справочника или сработает по ссылке?Например: есть ТЗ, с элементами спр.Номенклатурабудет ли эквивалентно2) А = ТЗ.ЭлементНоменклатура.ПолучитьАртибут("МинОстаток");...?
#14 by roma n
Нет, решения НЕ равноценные. Несмотря на то что ты указал владельца во втором случае при формировании выборки учитываться это НЕ будет. Выберутся все элементы справочника у которых значение реквизита "ТипЦен" будет равно глЦенаПредоплата вне зависимости от их Владельца
#15 by roma n
сработает по ссылке
#16 by Чучундер
от блин! Точно?получается что (...0,0) "отменяет" ИспользоватьВладельца?
#17 by dk
имхо "ВыбратьЭлементыПоРеквизиту" лишнее, проще / быстрее в цикле перебрать все подчиненные цены с проверкой на нужный тип. Если конечно у вас не несколько сотен типов цен
#18 by Чучундер
угум... есть такое подозрение - идет перебор номенклатуры с подчиненным справочником цен, типов цен на номенклатуру штук 5...записал два варианта - какой бвстрей проверю... что-то имхается мне,что когда-то я ужо проверял... но сомнения берут... проверю - сообщу
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С