Имя: Пароль:
1C
1С v8
Как победить. ПоместитьВоВременноеХранилище. 1с83. Серелизация
, ,
0 Ma3eIIa
 
14.03.16
23:29
// Создание менеджера объектов
        Попытка
            МенеджерОбъектов = ВнешниеОбработки.Создать(МенеджерЛицензий.МенеджерОбъектов, Режим);
            МенеджерОбъектов.УстановитьМенеджерЛицензий(МенеджерЛицензий);
            
            // Помещаем менеджер объектов в хранилище и    запоминаем ссылку в параметре сеанса
            ПараметрыСеанса.МенеджерОбъектов = ПоместитьВоВременноеХранилище(МенеджерОбъектов, Новый УникальныйИдентификатор());
        
        Исключение
            ВызватьИсключение "Ошибка создания менеджера объектов: " + ОписаниеОшибки();
        КонецПопытки;
1 Ma3eIIa
 
14.03.16
23:32
(0) все жило на 8.2 переезжаем на 8.3. а тут засада
2 Ma3eIIa
 
14.03.16
23:34
как то мне описание ИТС. не очень нравиться. а именно пункт 3.

Помещение во временное хранилище несериализуемых значений

В "1С:Предприятии 8.3" при помещении во временное хранилище значений, сериализация которых не поддерживается (например, ДокументОбъект.<Имя документа>, СправочникОбъект.<Имя справочника> и пр.), возникает ошибка "Переданное значение не может быть помещено во временное хранилище".

Для устранения несовместимости необходимо:

выявить все места помещения значений во временное хранилище (поиском метода глобального контекста ПоместитьВоВременноеХранилище);
проверить, что возможна сериализация типов значений объектов, помещаемых во временное хранилище. Для этого необходимо свериться с синтакс-помощником, убедившись, что в группе "Доступность" явно указана фраза "Сериализуется". При этом следует отличать сериализацию от XDTO-сериализации и XML-сериализации. Например, для типов СправочникОбъект.<Имя справочника> сериализация не поддерживается, хотя поддерживается XDTO-сериализация и XML-сериализация;
если во временное хранилище значений помещается несериализуемое значение, следует пересмотреть проектное решение.
3 NcSteel
 
14.03.16
23:39
(2) Что не так?

Изменяй проектное решение на граммотное
4 Ma3eIIa
 
14.03.16
23:40
(3) крутяк. это ключ защиты. куда его заменяй :)
5 Euguln
 
14.03.16
23:44
(4) ССЗБ, зачем переходили на 8.3? Ну так и обратитесь к разработчику решения.
6 Ma3eIIa
 
14.03.16
23:46
(5) зачем зачем. УПП переводят на 8.3. 1с дали нам замечание что не обновили СЛК :). а тут привет. от реализации хранение ключа
7 Ma3eIIa
 
14.03.16
23:46
(6) билдим билд. нужно обновить СЛК. а тут приплыли :)
8 Euguln
 
14.03.16
23:49
пихайте в серверный модуль с повторным использованием
9 Ma3eIIa
 
14.03.16
23:50
(8) что бы сервер кешировал. завтра попробую.
10 Ma3eIIa
 
14.03.16
23:54
(8) я так понимаю. идей больше нет :)
11 hhhh
 
15.03.16
06:16
(10)  вроде так можно

            ПараметрыСеанса.МенеджерОбъектов = ПоместитьВоВременноеХранилище(Новый Структура("МенеджерОбъектов", МенеджерОбъектов), Новый УникальныйИдентификатор());