|
Как выполнить процедуру на сервере перед завершением сеанса 1С | ☑ | ||
---|---|---|---|---|
0
PolinaPykh
09.01.23
✎
10:03
|
Итак, праздники закончились и прилетел запрос от пользователей (с которым я естессно не могу справиться):
1С УНФ на 8.3.20.218 (1.6.27.295). Мне необходимо решить две задачки: 1. Выполнить серверную процедуру для все документов, отобранных запросом. Я хотела сделать это через ПередЗавершениемРаботыСистемы, но фигвам а не серверные вызовы Ошибка при вызове метода контекста (ПередЗавершениемРаботыСистемы) {ОбщийМодуль.СтандартныеПодсистемыКлиент.Модуль(1964)}: ижтисиБухгалтерия.ПередЗавершениемРаботыСистемы(Отказ, Предупреждения); {ОбщийМодуль.СтандартныеПодсистемыКлиент.Модуль(409)}: Предупреждения = ПредупрежденияПередЗавершениемРаботыСистемы(Отказ); {МодульУправляемогоПриложения(100)}: СтандартныеПодсистемыКлиент.ПередЗавершениемРаботыСистемы(Отказ, ТекстПредупреждения); по причине: Серверные вызовы при завершении работы запрещены Собственно вопрос в том - куда и как бы корректно запихнуть Вот такую процедуру, чтобы она страбатывала перед выходом из системы, даже аварийным? и вообще возможно ли это? Процедура ЗавершениеВсехЗаданий() Экспорт Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | ЗаданиеНаРаботу.Ссылка КАК Ссылка |ИЗ | Документ.ЗаданиеНаРаботу КАК ЗаданиеНаРаботу |ГДЕ | ЗаданиеНаРаботу.Состояние В(&Состояние) | И ЗаданиеНаРаботу.Проведен"; МассивСостояний = Новый Массив; МассивСостояний.Добавить(Справочники.СостоянияСобытий.ижтисиВыполняется); МассивСостояний.Добавить(Справочники.СостоянияСобытий.ppПродолжено); МассивСостояний.Добавить(Справочники.СостоянияСобытий.ижтисиОстановлено); Запрос.УстановитьПараметр("Состояние", МассивСостояний); Результат = Запрос.Выполнить.Выгрузить(); Если Результат.Количество() >= 1 Тогда Для Каждого Ссылка Из Результат.Ссылка Цикл ижтисиБухгалтерия.ЗакончитьРаботу(Ссылка); КонецЦикла; КонецЕсли; КонецПроцедуры 2. А еще мне нужно сделать максимально назойливую напоминалку для пользователей, чтобы они закрывали 1С. типа, начиная с 17.00 каждые полчаса выводить сообщение поверх всех окон - "закрой 1с до семи вечера иначе мы к тебе придем". Мне очень нравится как это устроено в "Блокировке пользователей", но надо чтобы это работало по расписанию каждый день. Если кто-то с этим сталкивался или хотя бы находил похожие решения - хэлп (поиск пока совсем не помог, а с какой стороны подступиться к задачке - я теряюсь). |
|||
1
vicof
09.01.23
✎
10:08
|
1. Регламентные задания спасут мать русской демократии
2. Зачем? |
|||
2
DJ Anthon
09.01.23
✎
10:08
|
не возможно. пиши инфу в файлы куда-нибудь на общий диск, а сторонним фоновым заданием обрабатывай файло
|
|||
3
Ryzeman
09.01.23
✎
10:09
|
>>чтобы она страбатывала перед выходом из системы, даже аварийным
В рамках предполагаемой реализации простым серверным вызовом - точно нет. |
|||
4
timurhv
09.01.23
✎
10:15
|
(0) п2:
ОбщегоНазначенияПереопределяемый.ПриДобавленииСерверныхОповещений |
|||
5
PolinaPykh
09.01.23
✎
10:16
|
(1) 2. Они хотят) Я всегда оставляю за собой вариант - "не уверена, что это возможно".
1. Регламентные задания - это еще то, что я не осваивала от слова совсем) *учусь плавать по принципу: либо утоп, либо жабры отрастил |
|||
6
PolinaPykh
09.01.23
✎
10:16
|
(4) спасибо - попробую
|
|||
7
lodger
09.01.23
✎
10:34
|
(0) >> чтобы она страбатывала перед выходом из системы, даже аварийным? и вообще возможно ли это?
в лоб - нет. никак. только искать другие пути. например, (1) регламент на сервере сам проверяет висячие задачи, сверяет с живыми пользователями, что-то делает. |
|||
8
PolinaPykh
09.01.23
✎
10:36
|
(7) эх)) а как было бы просто))
|
|||
9
Kassern
09.01.23
✎
10:47
|
(0) "А еще мне нужно сделать максимально назойливую напоминалку для пользователей" - используйте "Задачи" для этого.
|
|||
10
Kassern
09.01.23
✎
10:48
|
(9) Либо сделайте свой аналог.
|
|||
11
magicSan
09.01.23
✎
10:52
|
(9) там нет модальности.
Пишешь свою обработку и в неё отрабатываешь, обработку на рабочий стол. А вообще просто гаси сеансы на кластере. |
|||
12
timurhv
09.01.23
✎
10:55
|
(10) в БСП 3.1.7 добавили возможность через рег.задание "Отправка серверных оповещений клиентам" передавать с сервера на клиент данные.
У меня так окно с просьбой обновить токен честного знака выскакивает и открытый пользователем на редактирование документ закрывается, по которым новые данные от SAP приходят. |
|||
13
PolinaPykh
09.01.23
✎
10:58
|
(9) вариант, спасибо
|
|||
14
PolinaPykh
09.01.23
✎
10:59
|
(11) о, да. эту возможность я оставляю на вкусненькое)) муахаха)
|
|||
15
Kassern
09.01.23
✎
10:59
|
(12) Удобно. Надо потестить у себя, пока через корпоративную почту и чат все оповещения идут.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |