|
Управляемая форма Как задать тип колонке в ТЗ, если колонка имеет тип «Список значений" ?
| ☑ |
0
vem2012
08.08.17
✎
20:52
|
В Таблице значений (ТаблЗнач)есть колонки: ВидСравнения и РезультатВыбора.
ВидСравнения" - два значения: "Равно" и "В списке"
"РезультатВыбора" имеет составной тип, первый тип - "СправочникСсылка.Склады", второй тип -"Список значений"
Процедура ТаблЗначРезультатВыбораНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
ТекВидСравн = Элементы.ТаблЗнач.ТекущиеДанные.ВидСравнения;
Если ТекВидСравн = "Равно" Тогда
Элементы.ТаблЗначРезультатВыбора.ОграничениеТипа =
Новый ОписаниеТипов("СправочникСсылка.Склады");
ИначеЕсли ТекВидСравн = "В списке" Тогда
Элементы.ТаблЗначРезультатВыбора.ОграничениеТипа =
Новый ОписаниеТипов("СписокЗначений");
КонецЕсли;
В случае когда ТекВидСравн = "В списке", открывается список значений, но надо выбирать тип. Как привязать тип "Справочник.Склады" к "Списку значений",чтобы не выбирать тип?
P.S. В случае обычного поля на форме, имеющего составной тип, один
из типов которого "Список значений", у меня все работает. Интересует именно для колонки в таблице значений.
|
|
1
runoff_runoff
08.08.17
✎
23:26
|
(0) присвоить полю ТаблЗначРезультатВыбора список значений с заданным свойством ТипЗначения..
|
|
2
vem2012
09.08.17
✎
09:43
|
(1) ТаблЗначРезультатВыбора = Новый СписокЗначений;
ТаблЗначРезультатВыбора.ТипЗначения = Новый ОписаниеТипов("СправочникСсылка.Склады");
Это не работает для колонки в Таблице значений. Работает для обычного поля на форме.
|
|
3
AsadRoman
09.08.17
✎
09:50
|
(0) В Таблице значений (ТаблЗнач)есть колонки: ВидСравнения и РезультатВыбора.
Извините, мне просто для образования и расширения кругозора: зачем такие типы в таблицезначений?
|
|
4
Fedor-1971
09.08.17
✎
09:53
|
(2) ты присваиваешь тип элементу формы. Пробуй так:
стрТаблицы=Элементы.ТаблЗнач.ТекущиеДаннные;
стрТаблицы.РезультатВыбора=новый СписокЗначений
стрТаблицы.РезультатВыбора.Добавить(....);
т.е. просто присвой значение в колонку конкретной строки
(3) например, для указания в отборе нескольких значений. ТС вроде делает что-то подобное стандартным настройкам отчёта
|
|
5
vem2012
09.08.17
✎
10:35
|
(4) стрТаблицы=Элементы.ТаблЗнач.ТекущиеДаннные;
стрТаблицы.РезультатВыбора = новый СписокЗначений
стрТаблицы.РезультатВыбора.Добавить(Справочники.Склады.НайтиПоНаименованию("Оптовый склад"));
Список значений открывается. Тип "Склады" не присвоен списку.
|
|
6
Fedor-1971
09.08.17
✎
11:37
|
(5) стандартной процедуры ввода списка нет, поэтому надо сделать некую форму заполнения СпискаЗначений и в ПриНачалеВыбора обработать, что открываем, т.е. для поля реализуется примерно следующий алгоритм: Выбираем тип, анализируем:
- выбран справочник, тогда в ячейку пихаем пустую ссылку на справочник и дальше стандартный выбор
- выбран список значений, тогда отключаем стандартную работу и открываем свою форму для заполнения списка
Условным оформлением как-то отмечаем, что выбрано
Или, как вариант, на форму выводим дополнительное поле типа "Представление результата выбора" и заполняем его программно, т.е. получаем единообразие в работе с представлением выбранного (список отображаем как нам хочется, а не как реализовано в системе)
|
|
Кaк может человек ожидaть, что его мольбaм о снисхождении ответит тот, кто превыше, когдa сaм он откaзывaет в милосердии тем, кто ниже его? Петр Трубецкой