|
Как получить значение свойств справочника?? | ☑ | ||
|---|---|---|---|---|
|
0
malder
31.05.11
✎
18:41
|
Вот для документов нашол процедуру, получаю свойства документов а для справочника никак немогу найти -(((
Процедура ПолучитьСвойстваДокумента() Запрос = Новый Запрос(); ТекстЗапроса = "ВЫБРАТЬ | СвойстваОбъектов.Наименование КАК НаименованиеСвойства, | ВложенныйЗапрос.Объект, | ВложенныйЗапрос.Свойство, | ВложенныйЗапрос.Значение |ИЗ | ПланВидовХарактеристик.СвойстваОбъектов КАК СвойстваОбъектов | ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ | ЗначенияСвойствОбъектов.Объект КАК Объект, | ЗначенияСвойствОбъектов.Свойство КАК Свойство, | ЗначенияСвойствОбъектов.Значение КАК Значение | ИЗ | РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектов | ГДЕ | ЗначенияСвойствОбъектов.Объект = &Объект) КАК ВложенныйЗапрос | ПО СвойстваОбъектов.Ссылка = ВложенныйЗапрос.Свойство |ГДЕ | СвойстваОбъектов.НазначениеСвойства = ЗНАЧЕНИЕ(ПланВидовХарактеристик.НазначенияСвойствКатегорийОбъектов.Документы)"; Запрос.Текст = ТекстЗапроса; Запрос.УстановитьПараметр("Объект", СсылкаНаОбъект); ЗначенияСвойств = Запрос.Выполнить().Выгрузить(); Для Каждого мРеквизит ИЗ Метаданные().Реквизиты Цикл Если мРеквизит.Имя = "СсылкаНаОбъект" Тогда Продолжить; КонецЕсли; НайденнаяСтрока = ЗначенияСвойств.Найти(мРеквизит.Имя, "НаименованиеСвойства"); Если НайденнаяСтрока = Неопределено Тогда Сообщить("Не найдено свойство документа " + мРеквизит.Имя); УстановитьСвойство(мРеквизит.Имя); Иначе Если Лев(мРеквизит.Имя, 13) = "НомераВагонов" Тогда НоваяСтрока = ЭтотОбъект.Вагоны.Добавить(); НоваяСтрока.НомераВагонов = НайденнаяСтрока.Значение; КонецЕсли; ЭтотОбъект[мРеквизит.Имя] = НайденнаяСтрока.Значение; КонецЕсли; КонецЦикла; КонецПроцедуры |
|||
|
1
truba
31.05.11
✎
18:46
|
(0) да без разницы справочник или документ же?
|
|||
|
2
МишельЛагранж
31.05.11
✎
19:24
|
а они вообще у Справочника есть такие?
|
|||
|
3
truba
31.05.11
✎
19:31
|
(2) в типовых да, для справочников/документов. Насколько я помню то пересечь таблицы свойств с сылкой на объект. Какой собственно объект - регистру пофиг.
|
|||
|
4
le_
31.05.11
✎
19:46
|
(0) В запросе
ЗНАЧЕНИЕ(ПланВидовХарактеристик.НазначенияСвойствКатегорийОбъектов.Документы)замени на
ЗНАЧЕНИЕ(ПланВидовХарактеристик.НазначенияСвойствКатегорийОбъектов.Справочник_ТвойСправочник))
Например: ЗНАЧЕНИЕ(ПланВидовХарактеристик.НазначенияСвойствКатегорийОбъектов.Справочник_Номенклатура))
И в качества параметра ссылку на элем. справочника устанавливай. |
|||
|
5
malder
31.05.11
✎
20:02
|
Как тогда получить ссылку на элемент справочника через СсылкуНаОбъект, забил сказать это у меня внешняя обработка ???
|
|||
|
6
malder
31.05.11
✎
20:06
|
ВЫБРАТЬ
СвойстваОбъектов.Наименование КАК НаименованиеСвойства, ВложенныйЗапрос.Объект, ВложенныйЗапрос.Свойство, ВложенныйЗапрос.Значение ИЗ ПланВидовХарактеристик.СвойстваОбъектов КАК СвойстваОбъектов ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ ЗначенияСвойствОбъектов.Объект КАК Объект, ЗначенияСвойствОбъектов.Свойство КАК Свойство, ЗначенияСвойствОбъектов.Значение КАК Значение ИЗ РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектов ГДЕ ЗначенияСвойствОбъектов.Объект = &Объект) КАК ВложенныйЗапрос ПО СвойстваОбъектов.Ссылка = ВложенныйЗапрос.Свойство ГДЕ СвойстваОбъектов.НазначениеСвойства = ЗНАЧЕНИЕ(ПланВидовХарактеристик.НазначенияСвойствКатегорийОбъектов.Справочник_ДоговорыКонтрагентов) В консрли запросов так работает, если параметр Объект это - ттекущий договор в документе реализация товаров и услуг |
|||
|
7
truba
31.05.11
✎
20:43
|
ссылка на объект это и есть то что тебе надо.
|
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |