Имя: Пароль:
1C
 
СКД: v8: Ограничение доступных полей в СКД
0 mt171
 
24.07.09
14:47
программно обрабатываю расшифровку в модуле формы

Процедура РезультатОбработкаРасшифровки(Элемент, Расшифровка, СтандартнаяОбработка)
   
   Перем ВыполненноеДействие;
   
   //текущие настройки
   Настройки =    КомпоновщикНастроек.Настройки;
   
   // Запретим стандартную обработку расшифровки
   СтандартнаяОбработка = Ложь;
   
   // Создадим и инициализируем обработчик расшифровки
   ОбработкаРасшифровки = Новый ОбработкаРасшифровкиКомпоновкиДанных(ДанныеРасшифровки, Новый ИсточникДоступныхНастроекКомпоновкиДанных(СхемаКомпоновкиДанных));
   
   ДоступныеДействия = Новый Массив();
   ДоступныеДействия.Добавить(ДействиеОбработкиРасшифровкиКомпоновкиДанных.ОткрытьЗначение);
   ДоступныеДействия.Добавить(ДействиеОбработкиРасшифровкиКомпоновкиДанных.Упорядочить);
   
   Если ДанныеРасшифровки.Элементы[Расшифровка].ПолучитьПоля()[0].Поле <> "Остаток" Тогда
       //для остатка нет расшифровки
       ДоступныеДействия.Добавить(ДействиеОбработкиРасшифровкиКомпоновкиДанных.Расшифровать);
   КонецЕсли;
   
   Если ДанныеРасшифровки.Элементы[Расшифровка].ПолучитьПоля()[0].Поле = "Приход" Тогда
       //для приходных накладных - только ПТиУ    
   //здесь нужно ограничить доступные поля    

       
   КонецЕсли;
   
   // Осуществим выбор действия расшифровки пользователем
   Настройки = ОбработкаРасшифровки.Выполнить(Расшифровка, ВыполненноеДействие, ДоступныеДействия);

Непонятно как при обработке расшифровки:
1) ограничить доступные поля в списке выбора поля;
2) вызвать этот же самый отчёт (дабы не затирать результат) при выборе пользователя (сам отчёт расположен в списке внешних отчётов)?
1 ТелепатБот
 
гуру
24.07.09
14:47
2 IronDemon
 
24.07.09
14:50
В "Демонстрационная конфигурация "Примеры 8.1" это описано.
2 + 2 = 3.9999999999999999999999999999999...