Имя: Пароль:
1C
1С v8
Параметр с указанным именем не найден - глюк в СКД
0 Flashill
 
08.02.19
13:31
Долго маялся с этой ошибкой, отчёт на протяжении двух дней разработки то вылетал с этой ошибкой то загружался нормально.

Отчёт строится на СКД, на форме отчёта в процедуре "ПередЗагрузкойВариантаНаСервере" устанавливаю параметры:

&НаСервере
Процедура ПередЗагрузкойВариантаНаСервере(Настройки)
    Настройки.ПараметрыДанных.УстановитьЗначениеПараметра("Счет50", ПланыСчетов.Хозрасчетный.Касса);
    Настройки.ПараметрыДанных.УстановитьЗначениеПараметра("КонтрагентИванов", Справочники.Контрагенты.НайтиПоКоду("123"));
КонецПроцедуры

Параметр "КонтрагентИванов" у меня составного типа (может быть как контрагентом так и физ. лицом).

Пытался делать разные вещи для избавления от ошибки, помогло только одно - в схеме компоновки данных на вкладке "Параметры" изменил данные в поле "Значение" - вписал туда пустую ссылку, затем запустил отчёт и он открылся. Затем заново зашел в конфигуратор, очистил это поле и еще раз перезапустил отчёт - отчёт загрузился.
Надеюсь информация кому-нибудь пригодится.
1 Flashill
 
08.02.19
13:33
Когда через отладчик смотрел что лежит в Настройки.ПараметрыДанных.Элементы - там и вправду не было параметра "КонтрагентИванов", а параметр "Счет50" был. При этом все галки у обоих параметров одинаковые.
2 toypaul
 
гуру
08.02.19
13:34
если бы ты понял причину, то "информация кому-нибудь пригодится"
3 aleks_default
 
08.02.19
13:35
Там же пользовательские настройки еще сверху накатываются, вот возможно твои параметры затираются.
4 aleks_default
 
08.02.19
13:35
вообще лучше это делать в ПриКомпоновкеРезультата
5 toypaul
 
гуру
08.02.19
13:36
если параметр КонтрагентИванов не должен меняться пользователем, то правильно устанавливать его в ПриКомпоновкеРезультата
6 Flashill
 
08.02.19
13:36
(2) похоже что у платформы есть некая таблица которая хранит настройки из схемы компоновки данных и перезаписав данные в поле "Значение" у этого параметра я обновил эту таблицу.
7 Flashill
 
08.02.19
13:38
(5) у параметра "КонтрагентИванов" на вкладке "Параметры" стоит галка "Ограничение доступности".

Я и сам раньше устанавливал параметры в процедуре "ПриКомпоновкеРезультата", пока не прочитал в книге Хрусталевой как это делается правильно через процедуру "ПередЗагрузкойВариантаНаСервере"
8 toypaul
 
гуру
08.02.19
13:41
(7) дэк ты книжку наверное вверх ногами читал. может там написано про параметры, которые пользователю доступны для изменения.

а те которые недоступны, надо в ПриКомпоновкеРезультата потому что эта процедура выполняется позже.

хотя в этой книжке такое может быть и не написано
9 toypaul
 
гуру
08.02.19
13:44
у тебя 99% что пользовательские настройки загружаются позже указанной тобой процедуры и "сбивают" твой параметр.
10 Flashill
 
08.02.19
13:46
(9) я же говорю, параметра вообще нет в списке параметров при просмотре через отладчик. Причем тут пользовательские настройки? Если бы они сбивали, сбилось бы значение, а не вообще наличие параметра.
11 toypaul
 
гуру
08.02.19
13:52
ясно. тогда это похоже на проблемы с кэшем.
12 Flashill
 
08.02.19
14:31
(11) кэш чистил путем удаления базы из списка баз и повторного её добавления, перезапускал конфигуратор и 1с: предприятие - ничего не помогало.