Имя: Пароль:
1C
1C 7.7
v7: Из 1С запустить саму себя монопольно
0 extrim-style
 
29.03.16
10:32
Не хочу использовать планировщик. Есть vbs-скрипт с ожиданием и строкой для монопольного запуска. При завершении работы первого экземпляра запускаю скрипт. Скрипт запускается, процесс первого экземпляра завершает работу, второй экземпляр пишет "Каталог пользователя занят!". Как реализовать подобную схему?
1 Mikeware
 
29.03.16
10:35
вставь ожидание
2 extrim-style
 
29.03.16
10:35
(1) есть оно
3 DDwe
 
29.03.16
10:37
(2) Увеличь
4 Garykom
 
гуру
29.03.16
10:40
Еще можно почитать про "1Cv7.LCK" и "1SUSERS.DBF" но это если файловая
5 Garykom
 
гуру
29.03.16
10:41
Просто задержку увеличивать не совсем верно, если комп затормозит то может не хватить. Лучше по условию задержку.
6 VoditelKobyly
 
29.03.16
10:46
Перенести необходимое выполнение задачи из второго экземпляра в первый. При завершении одной обработки не завершая сеанса выполнить вторую обработку.
7 extrim-style
 
29.03.16
10:58
(3) увеличил время ожидания - не помогло
(4) база серверная
(5) по конкретному времени делаю
(6) не понял, как в этом случае реализовать монопольный режим

Увеличил время, завершил зависший сеанс wscript. Теперь мне пишет ошибку "База данных не может быть открыта в однопользовательском режиме!".
8 extrim-style
 
29.03.16
11:00
+(7) закрываю окно с ошибкой, запускаю интерактивно - всё прекрасно запускается. В чем тут дело?
9 extrim-style
 
29.03.16
11:05
(8) ошибся. Только после завершения wscript запускается нормально. Получается, в случае запуска скрипта из первого экземпляра, 1Ска не полностью завершает работу (хотя по отладке - завершает работу нормально и процесс выгружается)?
10 Garykom
 
гуру
29.03.16
11:06
(9) сделай тупую шутку через запуск другого скрипта из скрипта который 1С запускает
и чтобы не дожидался выполнения скрипта
11 extrim-style
 
29.03.16
11:08
(10) чтобы не дожидался, это как?
м.б. нужно какой-то код возврата вернуть? или wscript с другими параметрами запустить?
12 Garykom
 
гуру
29.03.16
11:23
(11) а скрипт свой случаем не через СоздатьОбъект вызываешь вместо КомандаСистемы или ЗапуститьПриложение ?
13 extrim-style
 
29.03.16
11:40
(12) делаю через команду системы
в скрипт добавил параметры WshShell.Run <СтрокаЗапуска>,1,-1
Всё-равно ошибка "База данных не может быть открыта в однопользовательском режиме!".
14 extrim-style
 
29.03.16
11:51
При запуске скрипта из первого сеанса и последующем выходе из него почему-то не исчезает файл 1Cv7.LCK. Причем Unlocker не находит, чем этот файл занят, и удалить не получается т.к. система говорит, что этот файл используется приложением.
15 VoditelKobyly
 
29.03.16
12:01
В чем разница между первым и вторым сеансом?
Что программа делает в первом сеансе и что она делает во втором?
16 xXeNoNx
 
29.03.16
12:02
Посмотри скрипт, который исполняется при обновлении в 8-ке.
17 extrim-style
 
29.03.16
12:08
(15) Мне нужно реализовать автоматическое открытие периода. Планировал следующую схему:
1. Есть постоянно запущенный сеанс регламентного пользователя с выполняемой обработкой.
2. В начале месяца в этой обработке делаю ВыгнатьВсех.
3. При завершении работы сеанса командой КомандаСистемы запускаю vbs-скрипт, который через некоторое время стартует монопольный сеанс 1С-ки, в котором произойдет открытие периода.
18 Garykom
 
гуру
29.03.16
12:09
19 extrim-style
 
29.03.16
12:52
"...а ларчик просто открывался"
(18) спасибо. С ЗапуститьПриложение всё получилось.
20 Mikeware
 
29.03.16
12:59
(17) если база сиквельная - то достаточно сгенерировать новые остатки, и изменить период в 1ссистем.
Совершенно не нужно никого выгонять, заходить монопольно и т.д.
21 extrim-style
 
29.03.16
13:04
(20) звучит заманчиво и опасно)
22 Mikeware
 
29.03.16
13:10
(21) "зубов бояться - в рот не давать"©
23 extrim-style
 
29.03.16
14:35
(22) фу...
"Как Содом и Гоморра и окрестные города, подобно им блудодействовавшие и ходившие за иною плотию, подвергшись казни огня вечного, поставлены в пример, - так точно будет и с сими мечтателями, которые оскверняют плоть..." Иуды 1:7-8
24 Mikeware
 
29.03.16
14:37
(23) фуууу, какая мерзость.