Имя: Пароль:
1C
1С v8
Заполнить параметр СКД программно
0 Alexoidic
 
28.09.18
13:38
Здравствуйте!!!
Имеется СКД Отчет с параметром "Заказчик", хочу заполнить его допустимыми значениями программно для этого в форме отчета написал несколько вариантов раелизации:


&НаСервере
Процедура ПриОткрытииНаСервере()

ОтчетКлиент=РеквизитФормыВЗначение("Отчет");
Настройки =
ОтчетКлиент.КомпоновщикНастроек.ПолучитьНастройки();
СЗ=Новый СписокЗначений;
СЗ.Добавить("123","456");
Настройки.ПараметрыДанных.ДоступныеПараметры.Элементы[15].ДоступныеЗначения=СЗ;
//Настройки.ПараметрыДанных.ДоступныеПараметры.Элементы.НайтиПараметр("Заказчик").ПараметрЗаказчик.Значение="13213у";
ОтчетКлиент.КомпоновщикНастроек.ЗагрузитьНастройки(Настройки);

СЗ = новый СписокЗначений;
СЗ.Добавить("Значение 1");
СЗ.Добавить("Значение 2");

ОтчетКлиент.КомпоновщикНастроек.Настройки.Отбор.ДоступныеПоляОтбора.Элементы.Найти("Заказчик").ДоступныеЗначения = СЗ;
//ОтчетКлиент.КомпоновщикНастроек.Настройки.Отбор.ДоступныеПоляОтбора.Элементы.Найти("Заказчик").Использование=Истина;



ЗначениеПараметра = ОтчетКлиент.КомпоновщикНастроек.Настройки.ПараметрыДанных.НайтиЗначениеПараметра(
Новый ПараметрКомпоновкиДанных("Заказчик"));
СЗ = Новый СписокЗначений;
СЗ.Добавить("123","456");
ЗначениеПараметра.Значение = СЗ;
ЗначениеПараметра.Использование = Истина;

ЗначениеВРеквизитФормы(ОтчетКлиент,"Отчет");


КонецПроцедуры

&НаКлиенте
Процедура ПриОткрытии(Отказ)

//Элементы.КомпоновщикНастроекПользовательскиеНастройки.
ПриОткрытииНаСервере();
КонецПроцедуры


Но не один не даёт желаемого результата.
Помогите пожалуйста разобраться.
1 asoplevenko
 
28.09.18
16:31
Добрый день. Попробуйте процедуру "ПриКомпоновкеРезультата" в модуле отчета. К реквизиту "КомпоновщикНастроек" в этой процедуре можно обращаться без точки.
2 Alexoidic
 
28.09.18
16:50
Мне ещё один вариант отбросить нужно.
В общем делается это для того, чтобы отобрать и показать в параметрах отчета только тех сотрудников у которых доверенность, этот параметр хранится в другой таблице.
Есть ли возможность средствами СКД отфильтровать сотрудников и только потом отобразить их в параметрах.
3 asoplevenko
 
28.09.18
17:50
(2) В этом случае стоит обеспечить выбор сотрудников с нужным фильтром на форме, не используя средства СКД. А сам отчет СКД уже формировать полностью программным способом.
Проблемы невозможно решaть нa том же уровне компетентности, нa котором они возникaют. Альберт Эйнштейн