Как автоматически закрывать 1С по расписанию?
Как автоматически закрыть 1С?
Пробовала обработкой, которая запускается при запуске 1С,но почему-то не срабатывает.
Пробовала обработкой, которая запускается при запуске 1С,но почему-то не срабатывает.
Перем Тайм;
Процедура ПередОткрытием(Отказ, СтандартнаяОбработка)
ПодключитьОбработчикОжидания("Таймер",1);
КонецПроцедуры
Процедура Таймер()
Тайм = Тайм - 1;
Если Тайм = 0 Тогда
ЗавершитьРаботуСистемы(Ложь);
КонецЕсли;
ЭлементыФормы.Надпись1.Заголовок = "1с будет закрыта через: " + Строка(Тайм) + " секунд";
КонецПроцедуры
Процедура ОсновныеДействияФормыОтменитьЗакрытие(Кнопка)
ОтключитьОбработчикОжидания("Таймер");
ЭлементыФормы.Надпись1.Заголовок = "";
КонецПроцедуры
Тайм = 18000;//Секунд
ПоказатьПо теме из базы знаний
- Особенности реального внедрения 1С:ТОИР
- Многопоточный CI-контур для 1С c Packer, Vagrant и Jenkins. Часть 1. Описание системы и обзор инструментария
- Автоматическая загрузка данных из Frontol 5/6 в 1С:Розница 2.3 (ККМ OFFLine)
- Где деньги, Зин? Или как загрузить информацию из банка, если у вас 200 000 операций в день?
- Бей мутантов – спасай код
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(7) вот это написано в бат файле, который запускается через планировщик заданий
@Echo off
chcp 1251 >nul
"C:\Program Files (x86)\1cv8\8.3.9.1818\bin\1cv8.exe" ENTERPRISE /F"D:\Base\БП\" /N"Администратор"/P"0987"/RunModeOrdinaryApplication/Execute"D:\Для выгрузки УТ-БП\Close1c2.epf"
обработка Close1c2.epf - это код, описанный выше.
после запуска начинается автоматический обмен данными. Который заканчивается раньше таймера.
На отладке срабатывает, а вот утром я захожу и смотрю что сеанс как был запущен ночью, так и висит, хотя все задания по обмену завершены.
@Echo off
chcp 1251 >nul
"C:\Program Files (x86)\1cv8\8.3.9.1818\bin\1cv8.exe" ENTERPRISE /F"D:\Base\БП\" /N"Администратор"/P"0987"/RunModeOrdinaryApplication/Execute
обработка Close1c2.epf - это код, описанный выше.
после запуска начинается автоматический обмен данными. Который заканчивается раньше таймера.
На отладке срабатывает, а вот утром я захожу и смотрю что сеанс как был запущен ночью, так и висит, хотя все задания по обмену завершены.
(20) в парметрах информационной базы стоит время отключения сеанса через сутки. Но сеанс не отключается через сутки, а висит так же.
я потестирую в течение двух дней, но сомневаюсь что это "спящий сеанс", потому как это было не только на платформе 8.3, но и на платформе 8.2
я потестирую в течение двух дней, но сомневаюсь что это "спящий сеанс", потому как это было не только на платформе 8.3, но и на платформе 8.2
Можно в наглую завершить процесс.
Но это плохой вариант.
Можно написать на VBScript скрипт, который через функции WinAPI найдет процесс 1С, по нему найдет все хандлеры окон и пошлет сообщение на закрытие или разрушение.
А этот скрипт можно будет запускать откуда угодно.
WshShell=СоздатьОбъект("WScript.Shell");
WshShell.Run("taskkill /f /IM 1cv8.exe");
Но это плохой вариант.
Можно написать на VBScript скрипт, который через функции WinAPI найдет процесс 1С, по нему найдет все хандлеры окон и пошлет сообщение на закрытие или разрушение.
А этот скрипт можно будет запускать откуда угодно.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот