Имя: Пароль:
1C
1С v8
Не получается установить параметры СКД 8.2 УФ
0 Bugmenot
 
05.10.12
12:49
Что-то я торможу... Какая хитрость при установке параметров в управляемом приложении?

&НаСервере
Процедура УстановитьПараметры()
   Отчет.КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы.Найти("Рубль").Значение = Справочники.Валюты.НайтиПоКоду(643);
   Отчет.КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы.Найти("ВидЦены").Значение = Справочники.ВидыЦен.НайтиПоНаименованию("Розничная",Истина);
КонецПроцедуры
1 acsent
 
05.10.12
12:50
наверно ты хочешь параметры в настройках пользователя установить
2 vicof
 
05.10.12
12:50
А кто использование и видсравнения будет указывать?
3 Cube
 
05.10.12
12:51
ЗначениеПараметра = КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы.Найти("НачалоПериода");
ЗначениеПараметра.Значение = НачалоДня(ДатаНач);
ЗначениеПараметра.Использование = Истина;
4 Bugmenot
 
05.10.12
12:56
(1) хочу что бы по-умолчанию для всех вариантов-настроек и т.п. проставлялись параметры (они фиксированные и пользователь их менять не может), понимаю что теперь это не просто ) поэтому спрашиваю... К сожалению, элементы не предопределенные.
5 acsent
 
05.10.12
12:56
так и устанавливай фиксированные настройки
6 acsent
 
05.10.12
12:57
или делай недоступные параметры
7 Bugmenot
 
05.10.12
12:58
(2,3) использование я в интерфейсе проставил, в компоновке, но не суть. Так тоже не работает:

&НаСервере
Процедура УстановитьПараметры()
   Отчет.КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы.Найти("Рубль").Значение = Справочники.Валюты.НайтиПоКоду(643);
   Отчет.КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы.Найти("Рубль").Использование = Истина;
   Отчет.КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы.Найти("ВидЦены").Значение = Справочники.ВидыЦен.НайтиПоНаименованию("Розничная",Истина);
   Отчет.КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы.Найти("ВидЦены").Использование = Истина;
КонецПроцедуры

вид сравнения, в параметрах, ага )
8 vicof
 
05.10.12
13:00
ТипЗнч(Отчет.КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы.Найти("Рубль").Значение) какой?
9 Bugmenot
 
05.10.12
13:01
(5) Так тоже нет..

&НаСервере
Процедура УстановитьПараметры()
   Отчет.КомпоновщикНастроек.ФиксированныеНастройки.ПараметрыДанных.Элементы.Найти("Рубль").Значение = Справочники.Валюты.НайтиПоКоду(643);
   Отчет.КомпоновщикНастроек.ФиксированныеНастройки.ПараметрыДанных.Элементы.Найти("ВидЦены").Значение = Справочники.ВидыЦен.НайтиПоНаименованию("Розничная",Истина);
КонецПроцедуры
10 acsent
 
05.10.12
13:03
(9) А использование?
И вообще есть метод УстановитьЗначениеПараметра
11 Bugmenot
 
05.10.12
13:03
(8) ТипЗнч(Отчет.КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы.Найти("Рубль").Значение) = Тип("СправочникСсылка.Валюты")    Истина    Булево
12 vicof
 
05.10.12
13:05
Модуль ТиповыеОтчеты

Функция УстановитьПараметр(КомпоновщикНастроекКоллекцияЗначений, ИмяПараметра, Значение, Использование = Истина) Экспорт
   
   Если ТипЗнч(КомпоновщикНастроекКоллекцияЗначений) = Тип("КомпоновщикНастроекКомпоновкиДанных") Тогда
       ЗначениеПараметра = КомпоновщикНастроекКоллекцияЗначений.Настройки.ПараметрыДанных.НайтиЗначениеПараметра(Новый ПараметрКомпоновкиДанных(ИмяПараметра));
   ИначеЕсли ТипЗнч(КомпоновщикНастроекКоллекцияЗначений) = Тип("КоллекцияЗначенийПараметровКомпоновкиДанных") Тогда
       ЗначениеПараметра = КомпоновщикНастроекКоллекцияЗначений.Найти(ИмяПараметра);
   ИначеЕсли ТипЗнч(КомпоновщикНастроекКоллекцияЗначений) = Тип("ОформлениеКомпоновкиДанных") Тогда
       ЗначениеПараметра = КомпоновщикНастроекКоллекцияЗначений.НайтиЗначениеПараметра(Новый ПараметрКомпоновкиДанных(ИмяПараметра));
   КонецЕсли;
   
   Если ЗначениеПараметра = Неопределено Тогда
       Возврат Неопределено;
   Иначе
       ЗначениеПараметра.Использование = Использование;
       ЗначениеПараметра.Значение      = Значение;
       Возврат ЗначениеПараметра;
   КонецЕсли;
   
КонецФункции
13 Bugmenot
 
05.10.12
13:08
(10) знаю.. просто это 100500-й вариант..
Так тоже нет.

&НаСервере
Процедура УстановитьПараметры()
   Отчет.КомпоновщикНастроек.ФиксированныеНастройки.ПараметрыДанных.УстановитьЗначениеПараметра(Новый ПараметрКомпоновкиДанных("Рубль"),Справочники.Валюты.НайтиПоКоду(643));
   Отчет.КомпоновщикНастроек.ФиксированныеНастройки.ПараметрыДанных.УстановитьЗначениеПараметра(Новый ПараметрКомпоновкиДанных("ВидЦены"),Справочники.ВидыЦен.НайтиПоНаименованию("Розничная",Истина));
КонецПроцедуры
14 Bugmenot
 
05.10.12
13:14
Я может где-то не в тот момент пытаюсь заполнить?
Вот точно такой же вопрос v8: установить значение параметра в скд
но в моем случае вызов в ОбработкаПроверкиЗаполненияНаСервере не помогает..
15 Bugmenot
 
05.10.12
13:15
И если писать в фиксированные настройки, то вот такая ошибка при формировании:

Невозможно применить фиксированные настройки. Совпадают значения параметра.
16 ABCD
 
05.10.12
13:16
посмотри что у тебя происходит в ПриЗагрузкеВариантаОтчета и в ПриЗагрузкеПользовательскихНастроек
17 Bugmenot
 
05.10.12
13:29
(16) Точно! Все дело в вариантах..
Вот так правильно:
&НаСервере
Процедура ПередЗагрузкойВариантаНаСервере(Настройки)
   Настройки.ПараметрыДанных.УстановитьЗначениеПараметра(Новый ПараметрКомпоновкиДанных("Рубль"),Справочники.Валюты.НайтиПоКоду(643));
   Настройки.ПараметрыДанных.УстановитьЗначениеПараметра(Новый ПараметрКомпоновкиДанных("ВидЦены"),Справочники.ВидыЦен.НайтиПоНаименованию("Розничная",Истина));
КонецПроцедуры
18 ABCD
 
05.10.12
13:48
мало того,судя по этому &НаСервере в твоей Процедура УстановитьПараметры() ты параметры устанавливал в форме. Попробуй это сделать в модуле объекта отчета