Вход | Регистрация

1С:Предприятие :: 1С:Предприятие 8 общая

УФ Завершить работу в ПриНачалеРаботыСистемы()

УФ Завершить работу в ПриНачалеРаботыСистемы()
Я
   ildary
 
18.10.18 - 16:07
Уважаемые специалисты, подскажите пожалуйста, как правильно сделать следующее: запускаем 1С с параметром запуска, в ПриНачалеРаботыСистемы() при наличии этого параметра выполняем некие действия и надо завершить работу 1С. Всё получилось, но 1С не закрывается.

P.S. У меня есть смутное подозрение, что подобную штуку надо выполнять в ПередНачаломРаботыСистемы, т.к. там есть параметр Отказ. Но парсинг параметров запуска реализован в ПриНачалеРаботыСистемы().
 
 
   Вафель
 
1 - 18.10.18 - 16:08
как закрываешь?
   ildary
 
2 - 18.10.18 - 16:12
(1)                 СтандартныеПодсистемыКлиент.ПропуститьПредупреждениеПередЗавершениемРаботыСистемы();
                ЗавершитьРаботуСистемы(Ложь);
   ildary
 
3 - 18.10.18 - 16:12
Забыл добавить - конфигурация самописка с причудливыми вплетениямии БСП разных версий.
   bolobol
 
4 - 18.10.18 - 16:12
shutdown -r now
должно закрыть
   bolobol
 
5 - 18.10.18 - 16:14
Когда я проверял синтаксис команды - у меня даже сервант закрылся
   ildary
 
6 - 18.10.18 - 16:15
(4) спасибо что не  rm -f. Но мне надо закрыть один сеанс 1С, без напалма и ядерной бомбы.
   dmt
 
7 - 18.10.18 - 16:17
ПрекратитьРаботуСистемы()
   dmt
 
8 - 18.10.18 - 16:18
хотя у меня и ЗавершитьРаботуСистемы работает
   Фрэнки
 
9 - 18.10.18 - 16:44
а ничего страшного, что эта ЗавершитьРаботуСистемы только в контексте Клиента и на сервере она не определена?
   ildary
 
10 - 18.10.18 - 16:47
(9) Скорей всего причина в этом. Скажите пожалуйста, как это ограничение обойти?
 
 Рекламное место пустует
   Фрэнки
 
11 - 18.10.18 - 16:48
хотя в моем тестовом сработало в Модуле управляемого приложения в процедуре ПриНачалеРаботыСистемы()

правда за каким-то фигом моргнула окном приложения зачем-то
   Фрэнки
 
12 - 18.10.18 - 16:52
(10) ну как обойти... там же небось кучу кода навертели и препроцессором навесили кучу условий, где-то сервер, где-то клиент... вот и не закрывает.

Интересно, а в каком месте/модуле отлавливается параметр командной строки в у вас в коде, после которого принимается вывод, что надо ЗавершитьРаботуСистемы ?
   ildary
 
13 - 18.10.18 - 16:58
Кажется меня спасла ПрекратитьРаботуСистемы();

(12) из ПриНачалеРаботыСистемы() вызывается ОбработатьПараметрыЗапуска(), которая распарсивает строку и в которую я добавил свою проверку на нужный мне параметр с вызовом дополнительной обработки, после чего 1С завершает работу.
   Фрэнки
 
14 - 18.10.18 - 17:07
// Обработать параметры запуска программы.

//
// Возвращаемое значение:

//   Булево   - Истина, если необходимо прервать выполнение процедуры ПриНачалеРаботыСистемы.
//

Функция ОбработатьПараметрыЗапуска()

видимо там в остальных потрохах какая-то путаница
   Фрэнки
 
15 - 18.10.18 - 17:10
один фиг идет же работа с глобальным контекстом

---
ПараметрЗапуска (LaunchParameter)
Использование:

Только чтение.
Описание:

Тип: Строка.
Используется для доступа к параметру запуска, передаваемому через ключ командной строки /C.

Доступность:

Тонкий клиент, веб-клиент, толстый клиент.
---

зы. интересные штучки :-) люблю в таких разбираться
   ildary
 
16 - 18.10.18 - 17:15
(14) обращаю внимание - "прервать выполнение процедуры ПриНачалеРаботыСистемы", но не завершать работу 1С. В 7.7 это бы действительно закрыло 1С. А тут не сработало - это была моя первая идея, после того как я почитал документацию.
   Фрэнки
 
17 - 18.10.18 - 17:24
(16) так оно же просто как Функция , которая возвращает в вызывающую процедуру булевое значение Истина или Ложь , а там уже твое действие, нужна необходимость завершения процедуры или Завершение работы системы всей задачи

Если ОбработатьПараметрыЗапуска() Тогда 
    ЗавершитьРаботуСистемы(Ложь);
КонецЕсли;

сейчас смоделирую у себя
   Фрэнки
 
18 - 18.10.18 - 17:31
ну нельзя таким образом делать-то - там слишком много всего накручено в этой части БСП. Надо просто самим пропарсить ПараметрЗапуска да и все. Тогда все нормально закроется, когда самому захочется, тогда и закроется :-)

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Рекламное место пустует