|
Использование характеристика в СКД | ☑ | ||
---|---|---|---|---|
0
Zixxx
18.07.13
✎
07:13
|
1. Создал обработку по заполнению табличной части на основании результата запроса СКД
2. В конструкторе через вкладку Характеристики, создал запрос к свойствам 3. На форму обработки выложил КомпоновщикНастроект.Отбор Все хорошо, все работает, но беда в том что когда указываю в отборе свойство, то при выборе значений этого свойства вываливаются все значения свойств, а не те которые привязаны к выбранному свойству. Решил перед началом выбора значения навешать свою форму и установить владельцы для свойства. Но вот беда, само свойство в компоновке указано как "Доступное поле компоновки данных" и ни как не получается выдернуть тип "ПланыВидовХарактеристик.СвойстваОбъектов". Как быть? |
|||
1
Zixxx
18.07.13
✎
09:27
|
ап
|
|||
2
Zixxx
18.07.13
✎
15:37
|
fg
|
|||
3
Zixxx
18.07.13
✎
18:28
|
up
|
|||
4
Fragster
гуру
18.07.13
✎
18:41
|
у тебя неправильные настройки для значений
|
|||
5
acsent
18.07.13
✎
18:43
|
просто настройками такую задачу не решить
|
|||
6
Zixxx
18.07.13
✎
18:50
|
(4) Почему не правильные?
|
|||
7
Zixxx
18.07.13
✎
18:51
|
(5) Так в настройках у нас есть есть Ключ - ссылка, почему его выловить тогда не представляется возможным?
|
|||
8
Fragster
гуру
18.07.13
✎
19:07
|
В характеристиках можно использовать временные таблицы запроса, только тссс!
|
|||
9
Zixxx
18.07.13
✎
19:12
|
(8) Что я смогу из них вытянуть, чем они мне смогут помочь?
|
|||
10
Zixxx
18.07.13
✎
19:20
|
Максимум что можно сделать в характеристике запроса, это выбрать значения свойств у которых владелец из запроса по свойствам. Но настроить связь по владельцам там же нельзя.
|
|||
11
Zixxx
18.07.13
✎
19:46
|
ап
|
|||
12
Fragster
гуру
18.07.13
✎
20:06
|
(10) ну думай, как же тебе сделать так, чтобы в таблице характеристик были только нужные, учитывая то, что ты туда можешь пихнуть таблицу из запроса...
|
|||
13
Zixxx
18.07.13
✎
20:11
|
(12) Ну могу я для значений использовать не таблицу а запрос, могу там по объекту сказать что используй не все значения а только те которые принадлежат свойствам.
Но у меня у документа Заказ, 2 свойства, и в таблице запроса по значениям я укажу отбор по двум свойствам и опять будут вываливаться значения не для выбранного свойства а все значения этих двух свойств |
|||
14
Лефмихалыч
18.07.13
✎
20:24
|
(0) описание характеристики покажи
|
|||
15
Zixxx
18.07.13
✎
20:25
|
(14)
ВЫБРАТЬ ЗаказПокупателя.Ссылка КАК ЗаказПокупателя ИЗ Документ.ЗаказПокупателя КАК ЗаказПокупателя {ХАРАКТЕРИСТИКИ ТИП(Документ.ЗаказПокупателя) ВИДЫХАРАКТЕРИСТИК (ВЫБРАТЬ СвойстваОбъектов.Ссылка, " (Свойство) " + СвойстваОбъектов.Наименование КАК Наименование, СвойстваОбъектов.ТипЗначения ИЗ ПланВидовХарактеристик.СвойстваОбъектов КАК СвойстваОбъектов ГДЕ СвойстваОбъектов.НазначениеСвойства = ЗНАЧЕНИЕ(ПланВидовХарактеристик.НазначенияСвойствКатегорийОбъектов.Документ_ЗаказПокупателя) И НЕ СвойстваОбъектов.ПометкаУдаления) ПОЛЕКЛЮЧА Ссылка ПОЛЕИМЕНИ Наименование ПОЛЕТИПАЗНАЧЕНИЯ ТипЗначения ЗНАЧЕНИЯХАРАКТЕРИСТИК РегистрСведений.ЗначенияСвойствОбъектов ПОЛЕОБЪЕКТА Объект ПОЛЕВИДА Свойство ПОЛЕЗНАЧЕНИЯ Значение } |
|||
16
Zixxx
18.07.13
✎
20:28
|
Тут все обычно и стандартно, но во всех примерах которые видел значения характеристик вываливались либо все либо частично отобранные, но не для конкретного свойства.
Вот например, мы можем в запросе по характеристикам указать запрос для "Виды характеристик" и можем указать запрос для "Значения характеристик" но связи то мы не можем настроить, для какого вида характеристики, какие значения характеристик выводить при отборе. |
|||
17
Лефмихалыч
18.07.13
✎
20:28
|
(15) и что не так?
|
|||
18
Лефмихалыч
18.07.13
✎
20:29
|
а, вон оно чо. Ну, ЗНАЧЕНИЯХАРАКТЕРИСТИК тоже запросом выбери те, у котрых Свойство.Назначение правильное
|
|||
19
Zixxx
18.07.13
✎
20:31
|
(17) У меня у документ Заказ 10 свойств, у каждого свойства 10 значений. Если я на форме у КомпоновщикаНастроек укажу отбор по свойству то он мне выведет 100 значений. Можно навешать отбор на владельца при выборе, но типа у меня нет Планов видов характеристик
|
|||
20
Zixxx
18.07.13
✎
20:34
|
(18) Если навешаю максимум отберу значения по 10 свойствам которых будет 100, а мне нужно ограничить выбор значения в зависимости от выбранного свойства. Это можно поймать только при добавлении отбора у КомпоновщикаНастройки, но до типа ПланыВидовХарактеристик из него не добраться, там все типа "ДоступноеПолеКомпоновкиДанных". Т.е. одно из наших свойств будет не с типом планы видов характеристик а с типом доступное поле компоновки данных и отобрать по владельцу не получится
|
|||
21
Zixxx
18.07.13
✎
20:52
|
В общем для временного решения пока сделал следующим образом, может кому пригодиться, можно также использовать для одинаковых по наименованию свойств, если кто придумает лучше, жду решений.
В запросе по характеристикам формируем наименование с кодом [code] " (Свойство) " + СвойстваОбъектов.Наименование + " (код: " + СвойстваОбъектов.Код + "#)" КАК Наименование, [/code] Далее у компоновщика настроек для правого значения при начале выбора устанавливаем владельца по коду [code] ТекущаяСтрока = ЭлементыФормы.КомпоновщикНастроек.ТекущаяСтрока; Если ТекущаяСтрока <> Неопределено Тогда СтандартнаяОбработка = Ложь; Свойство = Строка(ТекущаяСтрока.ЛевоеЗначение); Структура = Новый Структура; Свойство = СтрЗаменить(Свойство, "#", """); Структура.Вставить(""ПравоеЛишнее"","""); СтрокаВыполнения = "Структура.Вставить(""ЛишнееЛевое"",""" + СтрЗаменить(Свойство, "(код: ", """); Структура.Вставить(""ИскомоеЗначение"",""") + """);"; Выполнить(СтрокаВыполнения); ФормаВыбора = Справочники.ЗначенияСвойствОбъектов.ПолучитьФормуВыбора(); ФормаВыбора.Отбор.Владелец.Установить(ПланыВидовХарактеристик.СвойстваОбъектов.НайтиПоКоду(Структура.ИскомоеЗначение)); ФормаВыбора.Отбор.Владелец.Использование = ИСТИНА; ФормаВыбора.ОткрытьМодально(); КонецЕсли; [/code] |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |