0
Max Street
14.01.16
✎
09:45
|
Доброе утро.
Хочу программно открыть отчет на СКД и установить значение отбора. Такой код...
&НаКлиенте
Процедура ПоступлениеИОтгрузкаТоваров(Команда)
ПараметрыОтчета = Новый Структура("СформироватьПриОткрытии, ПользовательскиеНастройки",Истина);
ПараметрыОтчета1 = ПолучитьПользовательскиеНастройкиОтчета();
УстановитьЗначениеПользовательскойНастройки(ПараметрыОтчета1.Настройки.Отбор,"Номенклатура",Элементы.СписокРасширенныйПоискНоменклатура.ТекущаяСтрока);
ОткрытьФормуМодально("Отчет.ПоступлениеИОтгрузкаТоваров.Форма.ФормаОтчета",ПараметрыОтчета);
КонецПроцедуры
&НаСервере
Функция ПолучитьПользовательскиеНастройкиОтчета()
Возврат Отчеты.ПоступлениеИОтгрузкаТоваров.Создать().КомпоновщикНастроек;
КонецФункции
&НаСервере
Процедура УстановитьЗначениеПользовательскойНастройки(Настройки, Имя, Значение)
Для Каждого элемент Из Настройки.Элементы Цикл
Если ТипЗнч(элемент) = Тип("ЭлементОтбораКомпоновкиДанных") Тогда
Если Строка(элемент.ЛевоеЗначение) = Имя Тогда
элемент.Использование = Истина;
элемент.ПравоеЗначение = Значение;
КонецЕсли;
КонецЕсли;
КонецЦикла;
КонецПроцедуры
... выдает такую ошибку: "Поле объекта недоступно для записи (Отбор)
УстановитьЗначениеПользовательскойНастройки(ПараметрыОтчета1.Настройки.Отбор,"Номенклатура",Элементы.СписокРасширенныйПоискНоменклатура.ТекущаяСтрока);"
Подскажите, пожалуйста, как исправить
|
|
1
los_hooliganos
14.01.16
✎
09:54
|
&НаКлиенте
Процедура ЗаполнитьЭлементОтбораКомпоновкиДанных(ОтборНастройкиКомпоновкиДанных,Использование,ВидСрав,ИмяПоля,ЗначениеОтбора)
НовыйЭлемент = ОтборНастройкиКомпоновкиДанных.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
НовыйЭлемент.Использование = Использование;
НовыйЭлемент.ЛевоеЗначение = Новый ПолеКомпоновкиДанных(ИмяПоля);
НовыйЭлемент.ВидСравнения = ВидСрав;
НовыйЭлемент.ПравоеЗначение = ЗначениеОтбора;
КонецПроцедуры
|
|