|
Пакетный запуск 1С | ☑ | ||
|---|---|---|---|---|
|
0
filh
10.04.07
✎
08:24
|
Дело такое, запускаю 1С пакетно:
e:\1Cv77\BIN\1cv7.exe CONFIG /DD:\BAZA /NNAME /PPASS /@D:\1Cv77\bat.prm это для обмена. Мне надо чтобы если никого нет, то запускать монопольно, если кто то есть в базе то распределенно. Как реализовать? Про ключ /m я знаю, не подходит. |
|||
|
1
smaharbA
10.04.07
✎
08:27
|
Это как так монопольно - этоже конфигуратор !!!
|
|||
|
2
Skom
10.04.07
✎
08:29
|
в prm параметр
sharedmode=1 у меня если никого нет то монопольно пускается а если есть то разделенно |
|||
|
3
F1
10.04.07
✎
08:29
|
в PRM файле прописывается, разрешен ли запуск
|
|||
|
4
Skom
10.04.07
✎
08:31
|
тут памари
http://oksla.narod.ru/useful.html |
|||
|
5
filh
10.04.07
✎
08:32
|
(1) Автообмен можно запустить, но когда вручную запускаешь, то 1С спрашивает(если есть кто в базе) запустить в разделеном режиме. А если никого нет, то запускается автообмен "монопольно", т.е. никто в базу не сможет войти. А если запустить пакетно, то обмен ВСЕГДА идет разделенно.
|
|||
|
6
filh
10.04.07
✎
08:34
|
(4)
SharedMode 1/0 не очень понятно, что это, лучше поставить "1" |
|||
|
7
filh
10.04.07
✎
08:36
|
(2) спс, недочитал в ЖКК
|
|||
|
8
Skom
10.04.07
✎
08:37
|
sharedmode = 1 - разрешить разделенный доступ. то есть када кто есть то разделенный если никого то монопольно
sharedmode = 0 - тока монопольно |
|||
|
9
filh
10.04.07
✎
08:38
|
(8) СПС!!!
|
|||
|
10
LeshiyL
10.04.07
✎
08:40
|
(5) Вообще-то 1С всегда сначала пытается в монопольном режиме зайти и если не получается - предупреждает, а если пакетник и никого нет, то входит монопольно т.е. спокойно можно обновить конфу (например)
[General] Output=report.txt Quit=1 CheckAndRepair=0 UnloadData=0 SaveData=0 AutoExchange=1 [AutoExchange] SharedMode=1 WriteTo=* ReadFrom=* |
|||
|
11
smaharbA
10.04.07
✎
08:40
|
а это автообмен, недопер ))
|
|||
|
12
filh
10.04.07
✎
08:41
|
(8) ХМММ...
bat.prm: [General] Output=D:\1Cv77\log.txt Quit=1 AutoExchange=1 [AutoExchange] SharedMode=1 ReadFrom=* WriteTo=* т.е. стоит у меня такая опция, но обмен не запустился "монопольно" |
|||
|
13
Skom
10.04.07
✎
08:42
|
короче для удобства могешь считать что
sharedmode = 1 равносильно нажать "ДА" в ответ на вопрос....в базе много народу....желаетет ли в раздеьном режиме |
|||
|
14
filh
10.04.07
✎
08:42
|
по логам посмотрел, в базе никого небыло.
|
|||
|
15
smaharbA
10.04.07
✎
08:43
|
шаредмоде - это какраз не "монопольно", воопчето можно сделать простенький пакетник - будет проверять наличие в базе и запускать в соответствующей моде
|
|||
|
16
Skom
10.04.07
✎
08:52
|
(15) - ну что ты воду мутишь....шарамод разрешает совершать обмен если в базе кто то есть
а как сказано в (10) изначально попытка монопольного доступа а уж если не удается то шарамод разрешает завершить в разделенном |
|||
|
17
filh
10.04.07
✎
08:55
|
(15) как сделать пакетник? может проще что подскажешь...
я уже подумал писать прогу, которая будет что то смотреть и в зависимости от кода возврата запускать монопольно или нет. Но блин на дбф смотрел бы файло 1susers.dbf, а ща на сиквеле, придется тама смотреть что за таблица и обрабатывать. |
|||
|
18
Skom
10.04.07
✎
08:58
|
(17) у меня есть прога которая следит за автообменом
|
|||
|
19
smaharbA
10.04.07
✎
08:59
|
(16) т.е. если шаре стоит в 1 то всеравно идет попытка моно, а уж затем шаре ? (урбд не знаю вообще, весь опыт по нему - восстанавливал народу базы и центр и периф)
|
|||
|
20
Skom
10.04.07
✎
09:00
|
сам писал конфиг-ию на 1с проверяет файл на предмет обновления и если надо то запускает обмен....строку запуска генерирует сама....но там шара мод = 1 и всегда ок все грузится
|
|||
|
21
Skom
10.04.07
✎
09:04
|
(19) именно
|
|||
|
22
filh
10.04.07
✎
09:08
|
(20) Вчера вечером(около 19 часов), запустил через пакетник обмен, скачался файл(20 метров) запустился обмен в 1С(база сиквельная) прихожу с утра, смотрю, а обмен еще идет и по логам идет, значит 1С не повисла. Пытаюсь зайти в 1С - все норм, пустила, значит обмен не монопольный. Убиваю 1С, запускаю вручную, за 1 час прошло больше чем за 13 часов!!!
файл prm приводил в (12), получается, что из пакетника не запускается монопольно. |
|||
|
23
Skom
10.04.07
✎
09:11
|
а ты уверен что на момент запуска обмена не было никого в базе???...
вот например ты в мониторе никого не видишь а база заблоченная....пример кто то запустил в базе окно авторизации и пошел курить... файл 1cv7.lck занят - все монопольно не войдешь а в мониторе никто неет |
|||
|
24
filh
10.04.07
✎
09:13
|
мысль тут такая:
1. Скачиваем файл обмена. 2. Удаляем файл выгрузки. 3. Пытаемся запустить обмен с SharedMode=0 4. Проверяем есть ли файл выгрузки. 5. Если есть в п.7, если нет, то п.6 6. Запускаем обмен с SharedMode=1 7. Отправляем файл обмена 8. выходим из пакетного файла. |
|||
|
25
filh
10.04.07
✎
09:14
|
(23) хм...
и по логам никого не будет... А как бороться с такими? |
|||
|
26
Skom
10.04.07
✎
09:18
|
у меня в проге реализовано так...
1 в спр по базам есть атрибуты файла загрузки... при начале обмена проверяем реквизиты сущ-го файла с реквизитами из спр (при обмене обновляю реквизиты) 2.если файл обновился то запускаю сначала загрузку (у меня 2 prm файла) потом читаю лог если загрузка прошла, то делаю выгрузку отдельно от загрузки чо бы повтороить загрузку если она обломится потом читаю лог если выгрузка прошла удачно обновляю атрибуты файла загрузки (ну пишу текущие что бы увидеть обновление файла) , а да при начале загрузки удаляю свой файл выгрузки, и все ну у меня еще джин выскакивает и кричит какие действия прога выполняет и еще кое что есть |
|||
|
27
Skom
10.04.07
✎
09:19
|
рекомендую делать сначала загрузку а потом выгрузку....
если у тя загрузка не пройдет а выгрузка пройдет - не очень приятно и ты даже не сразу увидишь это |
|||
|
28
Skom
10.04.07
✎
09:20
|
(25) есть прога которая ставится на клиента и убивает это окно авторизации через заданное время
|
|||
|
29
filh
10.04.07
✎
09:21
|
(27) а так и происходит в пакетнике, сначала загрузка, потом выгрузка.
(26) на чем прогу писал? |
|||
|
30
filh
10.04.07
✎
09:21
|
(28) что за прога?
|
|||
|
31
Skom
10.04.07
✎
09:52
|
(29) - я же говорю конфиг-ия 1С получилась висит в трее никому не мешает как тока начался обмен выскакивает джин и кричит обмен ну и т.д.
по поводу загрузка выгрузка все то оно так новот если в одном файле прм прописать и то и другое то в рез-те если загрузка не пройдет то выгрузка все равно запустится...а у меня пока не пройдет загрузка (ошибки или еще что) то выгрузки не будет понимаешь прога если видит ошибку загрузки то повторяет загрузку до тех пор пока она не загрузится правильно а тока потом выгрузка |
|||
|
32
filh
10.04.07
✎
09:54
|
(31) ясно, спс.
|
|||
|
33
Лефмихалыч
10.04.07
✎
09:55
|
(0) вот мой велосипед, который после некоторой доводки напильником позволяет ответить на вопрос: "а можно ли монопольно в базу зайти"
Книга знаний: Автоматический запуск автопроцессов с контролем монопольного захвата таблиц |
|||
|
34
smaharbA
10.04.07
✎
10:27
|
|
|||
|
35
filh
10.04.07
✎
10:35
|
(34) спс.
(23) запустил у клиента окно авторизации, на другом монопольно зашел в базу, все норм, если только SharedMode=1 не проверяет наличие файла 1Cv7.lck |
|||
|
36
Skom
10.04.07
✎
10:37
|
SharedMode=1 позволяет не монопольно а вот ты попробуй запустить окно авторизации и зайти просто монопольно в базу или зайти в пофигуратор и запустить обмен и ответить нет и посмотришь что полуцца
|
|||
|
37
smaharbA
10.04.07
✎
10:38
|
(36) это легко обходится
|
|||
|
38
filh
10.04.07
✎
10:40
|
(36) Хм, точно...
(37) как обходится? |
|||
|
39
smaharbA
10.04.07
✎
10:51
|
(38) если базы сетевые то net file ... или openfiles, если локальные то только второе и только на ХР/2003 (где базы), но требует некоторых несложных разовых действий на компе баз или использовать какойнибудь унлокер, нужно разлачивать users.usr - и тот кто забыл нормально потом зайдет и другим мешать не будет
|
|||
|
40
Skom
10.04.07
✎
12:19
|
а еще есть прога которая убивает окно авторизации через заданное время....прописывается легко из 1с сама может встроиться путем небольшого кодинга. если интересно скину
|
|||
|
41
filh
10.04.07
✎
13:02
|
(40) я такую нашел в инете, спс.
|
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |