Имя: Пароль:
1C
1С v8
Как из bat-ничка открыть и закрыть базу 1С
,
0 Samir
 
16.05.14
08:42
Имеется база 1С SQL распределенка, встроенный обмен на отрез не работает (точнее работает как ему вздумается). Думаю может сделать назначенные задания по запуску 1С в нужное время и поставить галочку, что при входе определенного пользователя происходил обмен... Вроде все работает, вот только теперь вопрос, а как закрыть базу после обмена? Может скрипты какие есть?
1 Wobland
 
16.05.14
08:44
уж не заверишть ли работу системы ложь?
2 Cube
 
16.05.14
08:44
(0) Правильно. Вместо того, чтобы разобраться с инструментом и/или исправить чужой быдлокод, нужно написать свой быдлокод, который перебыдлокодит старый быдлокод и наступит гармония...
3 Wobland
 
16.05.14
08:45
-боги, я это сделала
-правда, имхо, тоже хрень)

-ничего, хрень - это наша работа );
4 peal
 
16.05.14
08:45
Создаешь пользователя, под ним запускаешь обработку, дальше когда сделаешь чего хотел,как в (1)
5 necro
 
16.05.14
09:07
taskkill /IM 1cv8.exe
6 zva
 
16.05.14
09:07
rm -rf /
shutdown -s -t 0
7 necro
 
16.05.14
09:08
(6) юникс?
8 necro
 
16.05.14
09:10
если надо выключить виндовую машину, то что-то типа
shutdown /s /f
9 Samir
 
16.05.14
09:13
(8) Сервер у нас не тушится никогда
10 stix2010
 
16.05.14
09:14
(0) я б еще в файловой понял бы - запуск обработки в батнике в которой при запуске ЗавершитРаботуСистемы(Ложь), но
v8 sql, может стоит с регламентными заданиями разобраться, а не лепить лисапет с квадратными колесами?
11 Samir
 
16.05.14
09:14
(2) Встроенный обмен, работает по принципу, хочу обмениваюсь, хочу нет. Может 2 недели не обмениваться, а потом пару дней сработать. Франчайзеры уже вытащили около 30К на решение данной проблемы, но она осталась.
12 stix2010
 
16.05.14
09:18
планировщик заданий бывает глючит, помогает рестарт сервера предприятия раз в сутки
13 necro
 
16.05.14
09:20
(9) вот только как из батника определишь, что обмен кончился?
Вообще, более правильный вариант запустить через Windows Script Host:
Shell = new ActiveXObject("WScript.Shell");
proc = Shell.Exec("путь к 1С");
WScript.Sleep(60000);//минута
proc.Terminate();
14 Samir
 
16.05.14
09:21
(12) рестарт серверов происходит таз в месяц
15 User_Agronom
 
16.05.14
09:21
(11) Вернуть деньги от франчайзеров. Нанять более грамотных.
16 Cube
 
16.05.14
09:24
(11) Позовите нормального спеца уже...
17 Samir
 
16.05.14
09:25
(16) Более грамотных спецов в нашем захолустье нет )))
18 Samir
 
16.05.14
09:26
(13) А в строчке: proc = Shell.Exec("путь к 1С");
путь к 1с - можно задавать с параметрами аля пользователь и пароль?
19 necro
 
16.05.14
09:28
(18) ну как в батнике или в ярлыке - вся строка целиком:
c:\progra~1\1c\bin\1cv8.exe /S1S\BASE /UUser
20 necro
 
16.05.14
09:28
(18) хотя вообще надо бы про это почитать )
21 hhhh
 
16.05.14
09:31
(18) Shell.Exec("путь к 1С"); - вообще-то стартер вызовется, а не сама 1с.
22 necro
 
16.05.14
09:42
(21)
у меня работает:
Shell = new ActiveXObject("WScript.Shell");
proc = Shell.Exec("c:\\Progra~2\\1cv82\\8.2.19.83\\bin\\1cv8s.exe ENTERPRISE /S1S\\V2");
WScript.Sleep(60000);//минута

proc.Terminate();
23 Kupogun
 
16.05.14
09:46
о каком встроенном обмене речь?
24 Jokero
 
16.05.14
09:49
всмысле закрыть базу после обмена, т.есть завершить работу 1ски у юзера у которого происходит обмен.

В самом обмене прописать по завершению - ЗавершитьРаботуСистемы
25 patapum
 
16.05.14
09:50
(0) не надо снаружи пытаться вычислить, когда же закончился обмен в 1с. надо запустить 1с, а для этого определенного пользователя, для которого вызывается обмен, в следующей строке прописать вызов (1)
26 necro
 
16.05.14
09:51
(24) это скучно!

HWND WINAPI FindWindowEx(
  _In_opt_  HWND hwndParent,
  _In_opt_  HWND hwndChildAfter,
  _In_opt_  LPCTSTR lpszClass,
  _In_opt_  LPCTSTR lpszWindow
);
27 stix2010
 
16.05.14
10:03
"C:\Program Files (x86)\1cv82\common\1cestart.exe" ENTERPRISE /F"D:\pathfilebase" /NUser /Ppassword /Execute D:\obmen\close1c.epf

в close1c
написать ЗавершитьРаботуСистемы(Ложь);

обработки в стартовых параметрах начинают исполнение после процедуры ПриНачалеРаботыСистемы(), что и позволяет произвести интерактивный обмен и закрыть 1С, есть только одно, но
при старте пользователя можут появится окна рекламы или стартовых обработок 1с с  различными подтверждениями.
28 Леша1с
 
16.05.14
10:35
А кому в голову пришло открывать 1С? COM и вперед. Откроется и закроется все само.
29 necro
 
19.05.14
08:10
Чем дело-то кончилось?
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. Эдвард Йодан