Осваиваю работу в запросах и в скд со свойствами объектов. Привязку через характеристику в СКД освоил - http://1cskd.ru/2011/09/ispolzovanie-xarakteristik-v-skd/ Но вот пока для себя не нашел некий универсальный простой код в которм я могу отбирать прямо в запросе по конкретному названию свойств.
Допустим есть справочник Контрагент в нем есть два свойства "Менеджер" и "Водитель" оба они одного типа.
Как мне отбирать водителей или конкретного водителя? Где в запросе задать имя "Водитель" или "Мееджер"?
Или хотя бы вывести всех водителей...
Пока токо вот такое смог соорудить.
Статус ="";
Запрос = Новый Запрос();
Запрос.Текст =
"ВЫБРАТЬ
|ЗначенияСвойствОбъектов.Объект,
|ЗначенияСвойствОбъектов.Свойство,
|ЗначенияСвойствОбъектов.Значение как текзнач
|ИЗ
| РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектов
|ГДЕ
| ЗначенияСвойствОбъектов.Объект = &Контрагент
| И ЗначенияСвойствОбъектов.Свойство.Наименование = &НазваниеСтатус";
Запрос.УстановитьПараметр("Контрагент", Контрагент);
Запрос.УстановитьПараметр("НазваниеСтатус", "Статус");
Выборка = Запрос.Выполнить().Выбрать();
Если Выборка.Следующий() Тогда
Статус = Выборка.текзнач;
КонецЕсли;
Но чую что не совсем гуд. А как это в скд например впихнуть?
Статус ="";
Запрос = Новый Запрос();
Запрос.Текст =
"ВЫБРАТЬ
|ЗначенияСвойствОбъектов.Объект,
|ЗначенияСвойствОбъектов.Свойство,
|ЗначенияСвойствОбъектов.Значение как текзнач
|ИЗ
| РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектов
|ГДЕ
| ЗначенияСвойствОбъектов.Объект = &Контрагент
| И ЗначенияСвойствОбъектов.Свойство= &Свойство";
Запрос.УстановитьПараметр("Контрагент", Контрагент);
Запрос.УстановитьПараметр("Свойство", планывидовхарактеристик.СвойстваОбъектов..... );
Выборка = Запрос.Выполнить().Выбрать();
Если Выборка.Следующий() Тогда
Статус = Выборка.текзнач;
КонецЕсли;
(6) если не вмешиваешься в конфу и у тебя внешний отчет или обработка, то сделай форму настройки (при первоначальной настройки можешь сделать поиск по наименованию).
Хочешь без настройки ищи по коду, наименованию, uuid и подставляй в запрос. Как в (5) эти варианты уродские.
сделай предопределенное значение или константу, если продвинутое надо
Я не хочу быть самым богатым человеком на кладбище. Засыпать с чувством, что за день я сделал какую-нибудь потрясающую вещь — вот что меня интересует. Стив Джобс