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