Имя: Пароль:
1C
 
Завершить работу всех пользователей 1С 8.2
0 fimanich
 
04.10.10
16:30
1С 8.2 Управляемое приложение. Файловый вариант. Задача: нужно принудительно завершить работу всех пользователей, установив значение константы НадоЗавершать в значение Истина.

В модуле управляемого приложения:

Процедура ПриНачалеРаботыСистемы()
   ПодключитьОбработчикОжидания("ЗавершитьРаботуВсех",60);
КонецПроцедуры

Процедура ЗавершитьРаботуВсех()
  //здесь нужно проверить константу булево НадоЗавершать
 //???????
  ЗавершитьРаботуСистемы(Ложь);
КонецПроцедуры

ЗавершитьРаботуВсех - это процедура общего глобального модуля, который на клиенте исполняется. Перед тем, как завершать работу, нужно проверить значение константы - булево. Но сделать это можно только на сервере, а завершить работу - на клиенте. При этом вызвать серверную процедуру никак не получается (Проверка: Тонкий клиент; процедура не обнаружена).

Какой может быть выход?
1 fimanich
 
04.10.10
16:48
up
Подскажите, пожалуйста!
Наверняка кто-то сталкивался с чем-нибудь подобным!
2 fimanich
 
04.10.10
17:07
up
речь фактически о вызове сервера с клиента в общем модуле. Неужели это невозможно?
3 Wingless
 
04.10.10
17:09
Поставь флаг "вызов сервера" у серверного модуля с процедурой проверки константы.
4 fimanich
 
04.10.10
17:18
(3)Спасибо, получилось!
Сделал процедуру в неглобальном общем модуле СоединенияИБ (у которого флажок "вызов сервера"), и вызвал ее, сработало!

Процедура ЗавершитьРаботуВсех() Экспорт
   Если СоединенияИБ.НадоЗавершать() Тогда
       ЗавершитьРаботуСистемы(Ложь);
    КонецЕсли;
   
КонецПроцедуры