Имя: Пароль:
1C
1С v8
1С 8.3 Значение не является значением объектного типа (Записать)
, , , Karina2831
0 ЭЦ
 
16.02.23
10:33
Господа !
Имеется внешний отчет на УФ на СКД.
Отчет на клиенте при нажатии кнопки пользователем считывает текстовый файл и записывает его в хранилище
Дале при нажатии "Сформировать"  ПриКомпоновкеРезультата() читает файл из хранилища и формирует набор данных
Адрес хранилища передается с клиента на сервер как параметр данных компоновщика настроек.
На вчерашней копии базы в серверном режиме все работает.
На рабочей базе тоже в серверном режиме при нажатии сформировать выдает ошибку :

      Значение не является значением объектного типа (Записать)

Отладчик показывает, что адрес в хранилище формируется и записывается в параметр компоновщика нормально.
При нажатии "Сформировать" ошибка возникает до входа в ПриКомпоновкеРезультата() .
Кеш почистил - не помогло.
В чем тут может быть? И как дальше с эти м бороться?
Прошу подсказать.
1 ЭЦ
 
16.02.23
12:19
Исследования показали :
Ошибка пропадает если не записывать в параметры настройки компоновщика адрес временного хранилища :

&НаКлиенте
Функция РезультатВыбора(Переформировать)
    РезультатВыбораСформирован = Истина;
    
    Если РежимИзмененияЭлементаСтруктурыНастроек И Не Переформировать Тогда
        Возврат Неопределено;
    КонецЕсли;                
    
        ИмяПараметра = "sАдресХранилищаФайлаОстатковБУХ";
    Элт = Отчет.КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы.Найти(ИмяПараметра);
    Если Элт = Неопределено Тогда
        ПоказатьПредупреждение(,"Не найдена настройка sАдресХранилищаФайлаОстатковБУХ ! " + ИмяПараметра);
        Возврат Неопределено;
    КонецЕсли;    

// так ошибка не вылезает     Элт.Значение = СокрЛП(sАдресХранилищаФайлаОстатковБУХ);

ну и отчет соответсвенно тоже не формируется
2 ЭЦ
 
16.02.23
12:35
Попробовал перенести установку параметра компоновщика на сервер - без измененений
3 ЭЦ
 
16.02.23
13:50
Отказался и от передачи адреса хранилища в процедуру ПриКомпоновеРезультата и от помещения файла в хранилище
Тупо читаю файл в ПриКомпоновеРезультата() с жестко заданным именем.
Файл соответственно кладу на сервер
Все работает.
Такие дела
4 Kigo_Kigo
 
16.02.23
14:21
Темпы ты конечно чистил? не путать с кэшем
5 ЭЦ
 
16.02.23
17:26
(4) А где их искать - эти темпы.
Везде пишут только про кеш
?
6 arsik
 
гуру
16.02.23
17:33
(5) Серверный кеш чистил?
7 ЭЦ
 
20.02.23
12:11
(6) Чистка серверного кеша помогла.
Все аплодируем уважаемому arsik
8 ЭЦ
 
14.03.23
10:04
Продолжим.
Другой отчет - таже ошибка.
на этот раз чистка серверного кеша не помогла.
Внешний отчет нормально работает если запускается через меню Файл.
При подключении через "Внешние отчеты и обработки" выдает выше указанную ошибку при  запуске на выполнение.
и затем перестает работать и через меню файл.
Восстановление работоспособности происходит только после переименование отчета. Меняю все названия - и имя файла и синоним и имя варианта и имя команды.
Особенность обеих отчетов состоит в том что оба читают текстовый файл на клиенте и через хранилище передают его на сервер.
9 Chai Nic
 
14.03.23
10:35
Серверного кэша 1с не существует, есть сеансовые данные кластера. Сервер 1с кэширует метаданные в памяти рабочего процесса.
10 vicof
 
14.03.23
10:46
(8) Потому что настройки в кэше для старого варианта. А вариант новый.
Справочники.ИдентификаторыОбъектовМетаданных.ОбновитьДанныеСправочника(...);
11 vicof
 
14.03.23
10:47
Ну или обработку бспшную запустить по обновлению настроек