|
Поиск общего реквизита | ☑ | ||
---|---|---|---|---|
0
Аннушка
19.12.13
✎
15:10
|
Добрый день!
Подскажите, пожалуйста, как в составе общего реквизита найти элемент нужного мне типа? Объясню на примере. Возьмём типовую конфигурацию ЗиУП. Добавим новый общий реквизит "Бубука". Покажем, что он используется для всех документов. Другие типы в составе отмечать не будем. ОбщийРеквизит = Метаданные.ОбщиеРеквизиты.Бубука; ПоискВСоставе = ОбщийРеквизит.Состав.Найти(Документы.ГрафикОтпусковОрганизаций.ПустаяСсылка().Метаданные()); Сообщить(ПоискВСоставе.Использование); Какое сообщение видим? Думаете "Использовать"? А вот и нет. Сообщение выходит "Авто". А почему? Посмотрев в отладчике метаданные этого элемента, можно обнаружить, что они вовсе не от документа, а от регистра сведений "ГрафикОтпусковОрганизаций". Проанализировав весь состав можно обнаружить, что существует два элемента с таким именем. Почему же тогда метод "Найти" находит не тот, который был указан в параметре? Ведь были указаны конкретные метаданные, а не строка с их наименованием. Как же найти нужный элемент состава? |
|||
1
Аннушка
23.12.13
✎
09:18
|
эээ... апну темку, может, кто подскажет...
|
|||
2
Jonny_Khomich
23.12.13
✎
09:24
|
у записи в регистре есть регистратор
|
|||
3
butterbean
23.12.13
✎
09:31
|
(0) ну может глюк — ищи в цикле
|
|||
4
1Сергей
23.12.13
✎
09:32
|
В типовых используются общие реквизиты? От них помому давно отказались
|
|||
5
Аннушка
23.12.13
✎
09:36
|
В данном конкретном примере да, регистр сведений подчинён регистратору, но в общем случае он может быть без регистратора.
Но даже если есть регистратор, чем мне это поможет? Метод "Найти" для состава общего реквизита возвращает ссылку на один элемент состава и, допустим, что я определила, что он не тот, который я искала. Как дальше? Как найти нужный, если я определила, что я нашла неверный элемент? |
|||
6
butterbean
23.12.13
✎
09:37
|
(5) в цикле перебирай Состав
|
|||
7
Аннушка
23.12.13
✎
09:38
|
(4) В типовых конфигурациях общие реквизиты НЕ используются. Но я ведь в примере писала "добавим". Допустим, я хочу доработать типовую конфигурацию под конкретную задачу. И если 1С отказались от их использования, то почему их вообще не изъять из платформы и не сказать: "Не пользуйтесь этим."
|
|||
8
Аннушка
23.12.13
✎
09:41
|
(6) Метод полного перебора - это, конечно, поможет, но не хотелось бы. Хотелось бы нормальное решение проблемы. Неужели в 1С не знают этой проблемы? Может как-то можно таки обойти полный перебор?
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |