|
Работа со свойствами значений объектов через (ПВХ). Поделитесь кусочком кода... | ☑ | ||
---|---|---|---|---|
0
temsa
10.10.12
✎
12:27
|
Осваиваю работу в запросах и в скд со свойствами объектов. Привязку через характеристику в СКД освоил - http://1cskd.ru/2011/09/ispolzovanie-xarakteristik-v-skd/
Но вот пока для себя не нашел некий универсальный простой код в которм я могу отбирать прямо в запросе по конкретному названию свойств. Допустим есть справочник Контрагент в нем есть два свойства "Менеджер" и "Водитель" оба они одного типа. Как мне отбирать водителей или конкретного водителя? Где в запросе задать имя "Водитель" или "Мееджер"? Или хотя бы вывести всех водителей... |
|||
1
temsa
10.10.12
✎
12:32
|
Пока токо вот такое смог соорудить.
Статус =""; Запрос = Новый Запрос(); Запрос.Текст = "ВЫБРАТЬ |ЗначенияСвойствОбъектов.Объект, |ЗначенияСвойствОбъектов.Свойство, |ЗначенияСвойствОбъектов.Значение как текзнач |ИЗ | РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектов |ГДЕ | ЗначенияСвойствОбъектов.Объект = &Контрагент | И ЗначенияСвойствОбъектов.Свойство.Наименование = &НазваниеСтатус"; Запрос.УстановитьПараметр("Контрагент", Контрагент); Запрос.УстановитьПараметр("НазваниеСтатус", "Статус"); Выборка = Запрос.Выполнить().Выбрать(); Если Выборка.Следующий() Тогда Статус = Выборка.текзнач; КонецЕсли; Но чую что не совсем гуд. А как это в скд например впихнуть? |
|||
2
temsa
10.10.12
✎
12:43
|
Ауууу
|
|||
3
temsa
10.10.12
✎
12:55
|
(((
|
|||
4
AndyD
10.10.12
✎
12:59
|
Статус ="";
Запрос = Новый Запрос(); Запрос.Текст = "ВЫБРАТЬ |ЗначенияСвойствОбъектов.Объект, |ЗначенияСвойствОбъектов.Свойство, |ЗначенияСвойствОбъектов.Значение как текзнач |ИЗ | РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектов |ГДЕ | ЗначенияСвойствОбъектов.Объект = &Контрагент | И ЗначенияСвойствОбъектов.Свойство= &Свойство"; Запрос.УстановитьПараметр("Контрагент", Контрагент); Запрос.УстановитьПараметр("Свойство", планывидовхарактеристик.СвойстваОбъектов..... ); Выборка = Запрос.Выполнить().Выбрать(); Если Выборка.Следующий() Тогда Статус = Выборка.текзнач; КонецЕсли; |
|||
5
pumbaEO
10.10.12
✎
13:04
|
Запрос.УстановитьПараметр("НазваниеСтатус", "Статус");
v8: Какой код хуже? |
|||
6
temsa
10.10.12
✎
13:11
|
(4) И что мне писать вместо многоточий? Что мне дает такой код?
|
|||
7
pumbaEO
10.10.12
✎
13:17
|
(6) если не вмешиваешься в конфу и у тебя внешний отчет или обработка, то сделай форму настройки (при первоначальной настройки можешь сделать поиск по наименованию).
Хочешь без настройки ищи по коду, наименованию, uuid и подставляй в запрос. Как в (5) эти варианты уродские. |
|||
8
temsa
10.10.12
✎
13:19
|
(7) Спасибо за инфу. ДУмал есть более продвинутые варианты реализации.
|
|||
9
AndyD
10.10.12
✎
13:29
|
сделай предопределенное значение или константу, если продвинутое надо
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |