Имя: Пароль:
1C
1С v8
Ограничить использование отчета, одновременно только один пользователь.
0 palm1c
 
25.11.13
12:15
Добрый день.

Стоит задача ограничить использование отчета - можно использовать одновременно только одним пользователем.

Подскажите, пожалуйста, как можно наиболее правильно такое реализовать.

Спасибо.
1 Wobland
 
25.11.13
12:16
созвониться по скайпу и договориться
2 BuHu
 
25.11.13
12:17
при открытии \ закрытии писать куданить открыт или нет , ну и при открытии проверять
3 palm1c
 
25.11.13
12:17
(1) Тоже вариант.
4 palm1c
 
25.11.13
12:17
(2) Куда лучше писать, по Вашему мнению?
5 ДенисЧ
 
25.11.13
12:19
(4) примитивно - в константу
6 palm1c
 
25.11.13
12:21
Какие - то варианты есть еще?
7 BuHu
 
25.11.13
12:26
(6) самый простой надежный в (5) , можно еще при открытии создавать тестовый файл , при закрытии удалять , ну и на его наличие проверять проверять
8 ДенисЧ
 
25.11.13
12:26
(6) Чем плоха константа?
9 Рэйв
 
25.11.13
12:27
(0)Дать права только одному юзеру и пусть резвиться.
10 Kamas
 
25.11.13
12:27
(6) какие варианты куда записать??  можно во внешний файл на сервере (только тсс чтоб не кто не догадался)
11 BuHu
 
25.11.13
12:27
+(7) в нейм файла можно писать кто открыл
12 palm1c
 
25.11.13
12:30
(8) Хотелось рассмотреть больше вариантов.

Константа подходит, буду делать так.
13 palm1c
 
25.11.13
12:30
Всем спасибо.
Хорошего дня!
14 Рэйв
 
25.11.13
12:30
(12)Чтобы два раза не возвращаться и не постить , сразу рассматривай вариант аварийного закрытия при котором константа остается включенной:-)
15 Кир Пластелинин
 
25.11.13
12:31
ЕМНИП, то все константы хранятся в одной таблице. может немного боком вылезти.
16 Kamas
 
25.11.13
12:31
(11) а еще чтоб при конфликтах если кто уже открыл. сервак в ребут автоматом.
17 palm1c
 
25.11.13
12:32
Интересно.
18 palm1c
 
25.11.13
12:33
А есть методы 1с-ки, для того, чтобы проверить, открыт ли у кого-то отчет?
19 ДенисЧ
 
25.11.13
12:33
(15) это не 77, тут в разнывх
20 Kamas
 
25.11.13
12:36
можно крепко выежиться но проще константу
21 User_Agronom
 
25.11.13
12:37
(0) В регистр сведений. С хранением истории, кто - когда - зачем его сформировал и т.д.
А для (14) можно проверку по времени: если открыт больше суток - значит можно автоматом закрыть :)
22 Lama12
 
25.11.13
12:40
(0) Для повышения квалификации, хотелось бы узнать - а зачем?
23 Рэйв
 
25.11.13
12:41
(22)Супер отчет наверное грузит систему и второго экземпляра 1с не выдерживает:-)
24 Timteplych
 
25.11.13
12:45
(15) Так было до 8.2.14
25 palm1c
 
25.11.13
12:46
(23) Да.
26 Рэйв
 
25.11.13
12:46
(25)Может лучше оптимизировать отчет? а не выдумывать костыли
27 palm1c
 
25.11.13
12:52
(26) Это тоже буду делать. Но для начала - костыль, чтобы не прерывать работу.
28 х86
 
25.11.13
12:54
(0)отправить смс на номер
29 palm1c
 
25.11.13
13:03
Всем спасибо. Буду пока что делать через константу.
30 MiniMuk
 
25.11.13
13:25
Создать пользователя, отчет привязать к пользователю, заходить пользователю только с 1 РабМест
31 uno-group
 
25.11.13
13:39
ИМХО надо не использование отчета ограничивать, а его 2 одновременное выполнение. Чтобы Маш открывших его и тупо смотрящих изи забывших закрыть его не надо было отлавливать.
Процедура сформировать()
Если Константа.ОтчетРаботает<>"" Тогда
Сообщить(Отчет выполняется у "Константа.ОтчетРаботает")
Возврат;
КонецЕсли;
Константа.ОтчетРаботает=ГлПользователь;
.....
Константа.ОтчетРаботает="";
КонецПроцедуры.
НУ и для надежности в при закрытии отчета очищать константу для борьбы с прервать и т.п.
32 MiniMuk
 
25.11.13
13:44
(31) Обрыв связи во время выполнения?
33 КРТЩ
 
25.11.13
14:05
(32) в Сформировать()
дописать

Попытка
СформироватьНаСервере();
Исключение
Закрыть();
КонецПопытки;

как то так
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший