![]() |
|
формирование списка значений из перечислений | ☑ | ||
---|---|---|---|---|
0
Александр056
18.07.16
✎
17:15
|
Доброго! цель в 1 реквизите ТЧ, кот является перечислением, ограничить набор значений доступных пользователю, в зависимости от вида операции документа.
Сделал: добавил процедуру в модуле менеджера Перечисления: Процедура ОбработкаПолученияДанныхВыбора(ДанныеВыбора, Параметры, СтандартнаяОбработка) Если Параметры.свойство("ВидОперации") тогда ДанныеВыбора = новый СписокЗначений; Если Параметры.видОперации = Перечисления.ВТК_ВидыОперацийУстановкиЦен.ЦеныЗаказчика тогда ДанныеВыбора.Добавить(Перечисления.ВТК_ТипыЦен.ЦенаВТК); ДанныеВыбора.Добавить(Перечисления.ВТК_ТипыЦен.ЦенаПодрячикВТК); ИначеЕсли Параметры.видОперации = Перечисления.ВТК_ВидыОперацийУстановкиЦен.ЦеныПодрядчика тогда ДанныеВыбора.Добавить(Перечисления.ВТК_ТипыЦен.ЦенаПодрядчика); КонецЕсли; КонецЕсли; КонецПроцедуры в модуле формы так же сделал процедурку; &НаКлиенте Процедура ВыполненныеРаботыТипЦеныНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка) СтандартнаяОбработка = Ложь; СформироватьПараметрВыбора(); КонецПроцедуры &НаСервере Процедура СформироватьПараметрВыбора() ПараметрыСписка = новый Структура; ПараметрыСписка.Вставить("ВидОперации",Объект.ВидОперации); Перечисления.ВТК_ТипыЦен.ПолучитьДанныеВыбора(ПараметрыСписка); КонецПроцедуры в итоге формируется, список получается, заполненный, но! в поле выбора, в ТЧ, нет доступных значений, почему?? |
|||
1
aleks_default
18.07.16
✎
17:25
|
ПолучитьДанныеВыбора() первый параметр ДанныеВыбора а не параметры
|
|||
2
aleks_default
18.07.16
✎
17:26
|
Сори не то,
Т.е. ПолучитьДанныеВыбора куда по-твоему возвращает полученный список? |
|||
3
Александр056
18.07.16
✎
17:54
|
(2) не понял, это вообще процедура)
сделал по другому, все на форме... &НаКлиенте Процедура ВыполненныеРаботыТипЦеныНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка) СтандартнаяОбработка = Ложь; ОбновитьСписокЗначенийТипЦены(); КонецПроцедуры &НаКлиенте Процедура ОбновитьСписокЗначенийТипЦены() Список = Элементы.ВыполненныеРаботыТипЦены.СписокВыбора; Список.ЗагрузитьЗначения(ПолучитьМассив()); КонецПроцедуры &НаСервере Функция ПолучитьМассив() МассивЦен = новый Массив; Если Объект.видОперации = Перечисления.ВТК_ВидыОперацийУстановкиЦен.ЦеныЗаказчика тогда МассивЦен.Добавить(ПредопределенноеЗначение("Перечисление.ВТК_ТипыЦен.ЦенаВТК")); МассивЦен.Добавить(ПредопределенноеЗначение("Перечисление.ВТК_ТипыЦен.ЦенаПодрячикВТК")); ИначеЕсли Объект.видОперации = Перечисления.ВТК_ВидыОперацийУстановкиЦен.ЦеныПодрядчика тогда МассивЦен.Добавить(ПредопределенноеЗначение("Перечисление.ВТК_ТипыЦен.ЦенаПодрядчика")); КонецЕсли; Возврат МассивЦен; КонецФункции |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |