Заказы на доработку 1С (сервис удаленной работы)

Хранилище

База знаний
Неназначенных незавершенных заказов: 3, свеженьких 1
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 1С Статьи, описание работы, методики по работе с 1С

Здравствуйте, гость ( Вход | Зарегистрироваться )



> Глобальные переменные в контексте сервера (управляемое приложение)          
Vofka Подменю пользователя
сообщение 14.08.12, 8:35
Сообщение #1

У нас здесь своя атмосфера...
***********
Группа: Основатель
Сообщений: 13429
Из: Киев
Спасибо сказали: 4149 раз
Рейтинг: 3297.9

Можно ли в 8.2 на сервере хранить ссылку на объект внешней компоненты?
Можно! Рассмотрим на примере...


Как оказалось все очень просто.

И так...

1. Добавляем в параметры сеанса строковый параметр, скажем длиной 255 символов.

(для хранения ссылки на объект и возможности вызова из любого серверного метода)

К примеру, с именем "ВК".

2. В общий серверный модуль добавляем инициализацию компоненты (в моем примере он привилегированный и имеет имя "Тестовый"):

Функция ИнитВК() Экспорт
       ИмяВК = "Душелов.ExcelEditor1C";

       Попытка
             ВК = Новый COMОбъект(ИмяВК);
       Исключение
             Сообщить("Ошибка создания объекта внешней компоненты: " + ИмяВК);
             Возврат Ложь;
       КонецПопытки;

       ПараметрыСеанса.ВК = ПоместитьВоВременноеХранилище(ВК, Новый УникальныйИдентификатор);
      Возврат Истина;
КонецФункции


и тестовую функцию

Процедура ТестВК() Экспорт
       Если ПараметрыСеанса.ВК = Неопределено Тогда
             Возврат;
       КонецЕсли;

       ВК = ПолучитьИзВременногоХранилища(ПараметрыСеанса.ВК);
       Сообщить(ВК.ПолучитьКоличествоЛистов());
КонецПроцедуры


И все smile.gif Из любого места сервера и клиента объект внешней компоненты доступен!

Процедура ПриНачалеРаботыСистемы()
       Тестовый.ИнитВК();
       Тестовый.ТестВК();
КонецПроцедуры


Взято [необходимо зарегистрироваться для просмотра ссылки].

Спасибо сказали: logist,

pumbaE Подменю пользователя
сообщение 14.08.12, 11:11
Сообщение #2

Завсегдатай
Иконка группы
Группа: Местный
Сообщений: 113
Из: Запоріжжя
Спасибо сказали: 63 раз
Рейтинг: 0

ВременноеХранилище вроде живет около 20 минут, если к нему не обращаться, т.е. периодически надо получать из временного хранилища.


Signature
Эт я почему раньше злой был? Потому, что у меня снегопата не было!

logist Подменю пользователя
сообщение 14.08.12, 11:19
Сообщение #3

Про1С-ник
Иконка группы
Квалифицированный бухгалтерГений телепатии и социального моделированияЗа заслуги на форуме в 2010 годуМодератору Про1С (за заслуги в 2011 году)
Группа: Местный
Сообщений: 9334
Из: Харьков
Спасибо сказали: 2466 раз
Рейтинг: 0

Цитата(pumbaE @ 14.08.12, 12:11) *
ВременноеХранилище вроде живет около 20 минут

Ой, не пишите всякую ерунду.
Цитата
В случае, если передается УникальныйИдентификатор формы, то значение будет автоматически удалено после закрытия этой формы.
Если параметр не указан, помещенное значение будет удалено после очередного запроса сервера из общего модуля, при контекстном и неконтекстном серверном вызове из формы, при серверном вызове из модуля команды или при получении формы.


Signature
Весь комплекс услуг по 1С 8.х. От консультаций до внедрения. ИТС. 1С-Звіт. Интеграция IP-телефонии. Написание конфигураций под требования заказчика, доработка типовых решений. Переход с 7.7 на 8.х.
Пишите в ЛС. Звоните +380 (44) 2227507, (57) 7547700, (98) 5147778, (50) 7147778, (93) 2147778 (участник "САБ")

Vofka Подменю пользователя
сообщение 14.08.12, 11:24
Сообщение #4

У нас здесь своя атмосфера...
***********
Группа: Основатель
Сообщений: 13429
Из: Киев
Спасибо сказали: 4149 раз
Рейтинг: 3297.9

Цитата(pumbaE @ 14.08.12, 12:11) *
ВременноеХранилище вроде живет около 20 минут, если к нему не обращаться


Цитата
ПоместитьВоВременноеХранилище(<Данные>, <Адрес>)
Параметры:

<Данные> (обязательный)
Тип: Произвольный.
Данные, которые необходимо поместить во временное хранилище.

<Адрес> (необязательный)

Тип: УникальныйИдентификатор; Строка.
Адрес во временном хранилище, по которому надо поместить данные. Или уникальный идентификатор формы, во временное хранилище которой, надо поместить данные и вернуть новый адрес.
В случае, если передается УникальныйИдентификатор формы, то значение будет автоматически удалено после закрытия этой формы.
Если параметр не указан, помещенное значение будет удалено после очередного запроса сервера из общего модуля, при контекстном и неконтекстном серверном вызове из формы, при серверном вызове из модуля команды или при получении формы.


В варианте выше, ссылка на временное хранилище будет храниться в параметре сеанса. Если вы очистите данный параметр сеанса, то тогда по ходу "шеф, все пропало". А так должно храниться, пока "живой" параметр сеанса.

Сообщение отредактировал Vofka - 14.08.12, 11:24

Gazulo Подменю пользователя
сообщение 06.11.20, 13:36
Сообщение #5

Завсегдатай
****
Группа: Пользователи
Сообщений: 216
Спасибо сказали: 31 раз
Рейтинг: 31

Vofka @ 14.08.12, 9:35 * ,
ПоместитьВоВременноеХранилище(ВК, Новый УникальныйИдентификатор) Для 8.3 не працює

Vofka Подменю пользователя
сообщение 06.11.20, 13:53
Сообщение #6

У нас здесь своя атмосфера...
***********
Группа: Основатель
Сообщений: 13429
Из: Киев
Спасибо сказали: 4149 раз
Рейтинг: 3297.9

Gazulo, спорить не буду, не знаю.

Gazulo Подменю пользователя
сообщение 06.11.20, 14:14
Сообщение #7

Завсегдатай
****
Группа: Пользователи
Сообщений: 216
Спасибо сказали: 31 раз
Рейтинг: 31

Vofka @ Сегодня, 14:53 * ,
Может поскажете, как иначе можно хранить ссылку на объект внешней компоненты ??

Vofka Подменю пользователя
сообщение 06.11.20, 14:35
Сообщение #8

У нас здесь своя атмосфера...
***********
Группа: Основатель
Сообщений: 13429
Из: Киев
Спасибо сказали: 4149 раз
Рейтинг: 3297.9

Gazulo, а что именно у вас не работает?

Gazulo Подменю пользователя
сообщение 06.11.20, 14:38
Сообщение #9

Завсегдатай
****
Группа: Пользователи
Сообщений: 216
Спасибо сказали: 31 раз
Рейтинг: 31

Vofka @ Сегодня, 15:35 * ,
Надо сделать глобальную ссылку на объект внешней компоненты.
В примере не работает ПоместитьВоВременноеХранилище(ВК, Новый УникальныйИдентификатор);
в 8.3 во временное хранилище можно помещать или сериализуемые значения, или двоичные данные (т.е. содержимое какого-либо файла). Ком-объект не является ни тем, ни другим, потому его поместить во временное хранилище не получится никоим образом

Не нашли ответа на свой вопрос?
Зарегистрируйтесь и задайте новый вопрос.


Ответить Новая тема
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

RSS Текстовая версия Сейчас: 16.01.21, 7:43
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!