Значение не представляет агрегатный объект #145231


#0 by Липицк
В документе есть реквизит СодержОбращ (справочник СодержаниеОбращения), делаю отчет по Содержанию обращения, по группам справочника. В отчете поле выбора идентификатор= СодержОбращВ котором можно выбрать элемент или группу справочника.Если (ББ.ПринадлежитГруппе(СодержОбращ)=1)Err: Значение не представляет агрегатный объект (ПринадлежитГруппе)Нужно узнать принадлежит ли реквизит документа группе справочника, которую выбрали в отчете.
#1 by Sasha
А может это сразу в тексте запроса лучше прописать?Метод ПринадлежитГруппе сам придумал? ;)
#2 by Sasha
В принципе можно сделать так:
#3 by Липицк
Нет у меня текста запроса, ниразу не делалПро метод шутка чтоли?ПринадлежитГруппе(<?>)Синтаксис:ПринадлежитГруппе(<Группа>)Назначение:Метод проверяет, принадлежит ли указанной группе текущий элемент справочника (независимо от того, на каком нижележащем уровне он находится).Возвращает: 1 - если элемент принадлежит указанной группе , 0 - если нет.Параметры:<Группа> - выражение со значением группы справочника .
#4 by Липицк
Поле агрегатного объекта не обнаружено (ПринадлежитГруппе)
#5 by mszsuz
НовДок это что? Как его получаешь?
#6 by Sasha
А типы точно совпадают?ББ=НовДок.ПолучитьАтрибут("СодержОбращ");Сообщить(ТипЗначенияСтр(ББ));//что сообщает?
#7 by Липицк
НовДок=СоздатьОбъект("Документ"); то справочник, то сторока
#8 by mszsuz
#9 by Липицк
зачем мне вид документа?(6-7) Может, потому что есть документы с пустым реквизитом СодерОбращ?
#10 by Sasha
Как это? то справочник, то строка? Полный код приведи... :-
#11 by mszsuz
Проверить, что в выборку не попал документ другого вида, у которого тип реквизита "СодержОбращ" не справочник.
#12 by Sasha
От того, что значение пустое, вид не меняется :), проверь
#13 by Липицк
Если ii>0 Тогда Форма.РезультатыПоиска.Видимость; КонецЕсли;КонецПроцедуры
#14 by Липицк
походу
#15 by Sasha
а это ты все сам написал? %-) (и не лень же людям)Видя это, понимаешь, что запросы- полезная штуковина...
#16 by Sasha
А вообще метод в работать будет при любом значении ББ :)ЗЫ. Совет - учи запросы
#17 by Липицк
Исправил во всех документах реквизит СодержОбращ и всё равно ошибка.И как сделать чтобы 1 вид документа отчет обрабатывал, а не все?ERR:Если (НовДок.Вид=ВД) И (НовДок.Проведен = ПД) И (времСп.ПринадлежитГруппе(ББ)=1){Отчет.новый2.Форма.Модуль}: Поле агрегатного объекта не обнаружено (ПринадлежитГруппе)
#18 by Sasha
НовДок = СоздатьОбъект("Документ.НужныйВид"); - и отрабатываться у тебя будет только один вид документов...
#19 by Sasha
(+18)времСп.Принадлежит(ББ) = 1 - просто принадлежит, без всякой группы ;) - будь внимательнее
#20 by Липицк
Sasha заработало:)))))))))))))спасиб еще раз)))))))
#21 by Липицк
ага, только что сделал, нафиг тогда этот метод Принадлежит Группе?
#22 by Sasha
Он только для справочников (и соответственно для справочников этот метод удобнее и быстрее), а как мы выяснили, у тебя то справочник, то строка....:)
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

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