Имя: Пароль:
1C
 
Глюк СКД: ошибка "Параметр не найден"
0 Gorr
 
29.09.14
11:36
Как обычно, после того как все проверил на тестовой базе перенес отчет в рабочую путем выгрузки конфигурации в файл и загрузки в рабочую сравнением объединением.
Однако при запуске отчета в рабочей возникает ошибка:
{Отчет.ниоВыручкаПоМенеджерам.Форма.ФормаОтчета.Форма(5)}: Ошибка при вызове метода контекста (УстановитьЗначениеПараметра)
        Настройки.ПараметрыДанных.УстановитьЗначениеПараметра("Готовая",Справочники.Номенклатура.НайтиПоКоду("00000000403"));
по причине:
Параметр с указанным именем не найден
с предложением перезапуска или завершения работы.
Действительно, в событии формы отчета ПередЗагрузкойВариантаНаСервере у меня происходит инициализация параметров. В настройках СКД на закладке "Параметры" инициализируемые параметры присутствуют как и в тестовой базе. При этом при инициализации их как бы нет. В довершение к сказанному если поставить точку останова в процедуре инициализации остановки отладчика не происходит. Ничего не понимаю...
1 Mitriy
 
29.09.14
11:42
кеш почисть...
2 Gorr
 
29.09.14
11:49
(1) какой и как?
3 Gorr
 
29.09.14
11:49
сейчас сервак дб2 перегрузим, посмотрим
4 Gorr
 
29.09.14
12:00
не помогло. еще попробую перегрузить сервер приложений ..
5 vicof
 
29.09.14
12:01
кэш 1ски, локальный и серверный. В поиске 100500 тем.
6 Gorr
 
29.09.14
12:04
полная перезагрузка серваков тоже не помогла
7 Gorr
 
29.09.14
12:15
удаление папок вида 4bcb458d-334e-40a2-8f1a-07b93421bd7f по путям
%userprofile%\AppData\Roaming\1C\1Cv82
%userprofile%\AppData\Local\1C\1Cv82
не помогло. так что и не в кеше дело
8 Gorr
 
29.09.14
12:21
Еще попробую перенести схему скд через отдельный файл
9 Gorr
 
30.09.14
15:06
В общем ничего не помогло. В процедуре ПередЗагрузкойВариантаНаСервере как не было параметров так и нет.
Сначала частично решить проблему помогло решение установки параметров в событии при открытии формы отчета:
    ПараметрыДанных = Отчет.КомпоновщикНастроек.Настройки.ПараметрыДанных;
    ПараметрыДанных.УстановитьЗначениеПараметра("Готовая",Справочники.Номенклатура.НайтиПоКоду("00000000403"));
    ВариантМодифицирован = Ложь;

Минус данного решения в том, что при выборе другого варианта отчета значения параметров сбрасываются и отчет формируется неверно.

Обойти проблему удалось через установку параметров тем же методом, что и при открытии формы в событии "ПриЗагрузкеВариантаНаСервере"

Хочется все же отметить, что это именно "ОБХОД" проблемы, редокументированная работа с параметрами, а не ее решение.
Почему же параметры отсутствуют там, где они должны быть штатно остается неясно.
10 Gorr
 
30.09.14
15:25
+ под штатно и документировано я понимаю описание программной работы с параметрами СКД в книге "Разработка сложных отчетов" Издание 2 Хрусталевой Е.Ю. стр.479
11 Gorr
 
30.09.14
15:49
+Думаю тот факт, что установку параметров СКД можно выполнить в событии ПриЗагрузкеВариантаНаСервере и этот вариант является более устойчивым решением, данная информация может оказаться полезной и другим участникам сообщества.
12 dmpl
 
30.09.14
15:53
(0) Сохраненные настройки удалял?
13 Gorr
 
30.09.14
16:05
(12) нет. не было их.
14 dmpl
 
30.09.14
16:24
(13) Вообще, я бы сделал отчет так, чтобы он был дуракоустойчивым и не валил платформу. Для этого надо проверять наличие параметра "Готовая" в настройках. Что-то типа


Если Настройки.ПараметрыДанных.ДоступныеПараметры.Элементы.Найти("Готовая") <> Неопределено Тогда
    // пытаемся установить параметр
Иначе
    // обрабатываем ошибочную ситуацию
КонецЕсли


Вдруг это событие 2 раза возникает - сначала с пустыми настройками, а потом - с правильными.
15 zippygrill
 
30.09.14
17:09
серверный кэш я бы НЕ почистил
16 fimanich
 
30.09.14
17:26
(0) можно попробовать в настройках СКД загрузить стандартные настройки
Закон Брукера: Даже маленькая практика стоит большой теории.