Доброго времени суток,

1с 8.3.12.1412, режим совместимости 8.3.4, параметр сеанса ПодключенныеВесы, тип строка, длина 255. При инициализации выдает ошибку загрузки, как я понял, связанную с тем, что подобный объект не может быть размещен во временном хранилище. У меня лимит идей исчерпан, буду благодарен за помощь.

```1c
    Функция ПодключитьВесы() Экспорт
    Попытка
    ПодключитьВнешнююКомпоненту(ПутьКомпонентаЭлектронныхВесов,
    "ScalesDriver", ТипВнешнейКомпоненты.Native);
    ПодключенныеВесы = Новый ("AddIn.ScalesDriver");
    УстановитьПривилегированныйРежим(Истина);
    ПараметрыСеанса.ПодключенныеВесы =
    ПоместитьВоВременноеХранилище(ПодключенныеВесы, Новый УникальныйИдентификатор());
    Возврат ПодключенныеВесы;
    Исключение
    ОбщегоНазначенияКлиентСервер.СообщитьПользователю("Не удалось загрузить компоненту для работы с весами");
    Возврат Ложь;
    КонецПопытки;
    КонецФункции
```
---
Так не получится, объект компоненты нельзя поместить во временное хранилище, используйте глобальный контекст "ПараметрыПриложения", вот туда и добавляйте, а получать лучше через общий модуль (клиент) с повт. исп. значений на время сеанса. А нельзя поместить потому что объект не есть ссылкой или двоичными данными, это есть ссылка на экземпляр объекта в памяти процесса... А вот и ссылочка http://v8.1c.ru/news/newsAbout.jsp?id=11637
---
Так не получится, объект компоненты нельзя поместить во временное хранилище, используйте глобальный контекст "ПараметрыПриложения", вот туда и добавляйте, а получать лучше через общий модуль (клиент) с повт. исп. значений на время сеанса. А нельзя поместить потому что объект не есть ссылкой или двоичными данными, это есть ссылка на экземпляр объекта в памяти процесса... А вот и ссылочка http://v8.1c.ru/news/newsAbout.jsp?id=11637
---
Подозреваю, что весы работают в контексте клиентского рабочего места. Поэтому запихивать компоненту на сервер - довольно дикая идея. Чем не устраивает экспортная переменная в модуле приложения?
---
а компоненту на сервер вообще нет смысла пихать, если она конечно не работает с каким нибудь модемом на стороне сервера, я сомневаюсь что весы подключены к серверу (если конечно база клиент-серверная) )))
---
А вот и код (конечно должен быть на клиенете):

```1c
    Функция ПодключитьВесы() Экспорт
    Попытка
    ПодключитьВнешнююКомпоненту(ПутьКомпонентаЭлектронныхВесов,
    "ScalesDriver", ТипВнешнейКомпоненты.Native);
    ПодключенныеВесы = Новый ("AddIn.ScalesDriver");
    Если ПараметрыПриложения = Неопределено Тогда
    ПараметрыПриложения = Новый Соответствие;
    КонецЕсли;
    ПараметрыПриложения.Вставить("ПодключенныеВесы", ПодключенныеВесы);
    Возврат ПодключенныеВесы;
    Исключение
    ОбщегоНазначенияКлиентСервер.СообщитьПользователю("Не удалось загрузить компоненту для работы с весами");
    Возврат Ложь;
    КонецПопытки;
    КонецФункции
```

А получать ее из модуля (клиентского), писал выше...
---
Компонента первоначально работала через глобальный, клиентский, модуль, переменная Весы инициализировалась на клиенте, передавалась в модуль, который возвращал значение. Теперь встал вопросов запуск процедуры взвешивания через обработчика ожидания, для того чтобы взвешивание и отображение результата длились до тех пор, пока статус не равен стабильный.
Основная цель инициализация весов должна происходить только один раз, при запуске клиента и все последующее время использоваться будет объявленная переменная. Какой смысл инициализировать компоненту при каждом открытии документа?
В глобальном модуле нет возможности объявить переменную, поэтому единственная идея которая пришла в голову – использование хранилища.
---
Я же Вам написал, вызывайте функцию "ПодключитьВесы" при старте приложения и все, а в модуле повт. исп. переменных создайте функцию которая будет читать из ПараматерыКлиента....

```1c
    Функция ПолучитьВесы() Экспорт
    Если ПараметрыКлиента = Неопределено Тогда
    Сообщить("Упс! Весы не подключены!");
    Возврат Неопределено;
    КонецЕсли;
    Возврат ПараметрыКлиента.Получить("ПодключенныеВесы");
    КонецФункции
```

Вызывайте ее на клиенте где угодно...
---
А зачем в этой каше ещё и модуль повторно используемых значений?
---
Кэширование, рекомендации разработчика...
---
В глобальном - нет, в модуле приложения - да. Выше как раз пример использования такой переменной - соответствия, заботливо декларированной в типовой для таких случаев.
---
Модуль Клиент(управляемое приложение):
ПараметрыПриложения.Вставить("_Клиент.ПодключенныеВесы", Весы) – «Значение не является значением объектного типа (Вставить)»
Если ПараметрыКлиента = Неопределено – «Переменная не определена (ПараметрыКлиента)»
---
ага ошибся в имени ))
---
Разобрался:
  ПараметрыПриложения = Новый Соответствие;
  ПараметрыПриложения.Вставить("_Клиент.ПодключенныеВесы", Весы);

Всем спасибо за помощь!