|
Обмен между базами 1С с помощью bat-файла | ☑ | ||
---|---|---|---|---|
0
ARumshin
19.10.15
✎
17:24
|
Коллеги, добрый вечер!
Никак не могу решить одну проблему, может вы поможете. Настроен обмен между 2 базами 1С. Чтобы не снимать конфигурации с поддержки, реализовал через обработку «Универсальный обмен в формате XML». У меня есть bat файл, который подгружен в планировщик Windows (используется SQL). Bat-файл выполняет задачу: запускает 1С – запускает внешнюю обработку – внешняя обработка в свою очередь запускает обработку «Универсальный обмен в формате XML» и заполняет все необходимые параметры (подгружает правила обмена, подключается напрямую к базе Приемник и т.д.) – происходит выгрузка данных – после чего завершается работа 1С. Проблема возникает в том, что когда запускаешь bat файл вручную, он все «шикарно» отрабатывает. Но если закрываешь сеанс удаленного рабочего стола и ставишь выполнения задания ночью, планировщик заданий в свою очередь запускает 1С и через некоторое время завершается работа 1С, секунд примерно 10 держится сеанс. В журнале регистрации ошибки не зафиксированы. Есть ли мысли по данной проблеме? Все перепробовал. Заранее спасибо за ответ!!! |
|||
1
Stim
19.10.15
✎
17:27
|
ставь запись лога в обработке. хз
|
|||
2
KrabCore
19.10.15
✎
17:28
|
юзео от имени которого запускается таск имеет права админа?
|
|||
3
Jump
19.10.15
✎
17:32
|
(0) Все очень просто.
Когда запускаешь руками - батник работает от имени текущего юзера в текущей директории. Когда через планировщик - батник работает от имени системного юзера, если не указанно иное, и в системной директории. Поэтому причины может быть две и только две - Права - проверяем есть ли права у юзера от имени которого запускается батник. Пути - пишем абсолютные пути к файлам, а не относительно текущей директории. |
|||
4
Jump
19.10.15
✎
17:34
|
Скорее всего база подключается к базе приемнику по сети.
А батник запускается от системного пользователя, который не имеет права на работу с сетью. |
|||
5
anatoly
19.10.15
✎
17:57
|
(0) неужели не получилось применить Полный план обмена с загруженными правилами обмена?
вижу неудобство только в том, что придется периодически руками регистрацию "лишних" объектов очищать... |
|||
6
ARumshin
19.10.15
✎
18:00
|
Спс. кто откликнулся. У пользователя Windows полные права.
Скрины от планировщика заданий по этой ссылке - https://yadi.sk/d/huZGVPZmjqpEM Попробую вышеуказанные методы. |
|||
7
Jump
19.10.15
✎
18:33
|
(6) Да что там скрины планировщика.
Ты лучше содержимое батника покажи. Есть там относительные пути, или все пути прописаны полностью? |
|||
8
Jump
19.10.15
✎
18:35
|
А вообще чтобы не гадать, сделай так - в батнике включи вывод в файл.
Запустил планировщиком, посмотрел вывод ошибок батника из файла и все станет ясно. |
|||
9
ARumshin
19.10.15
✎
18:53
|
(7) Вот пример батника "C:\Program Files (x86)\1cv8\common\1cestart.exe" ENTERPRISE /S"server-1C\ZUP" /N"EMigachev" /P"12345" /DisableStartupMessages /RunModeManagedApplication /Execute"C:\obmen\V.epf" /C"Выгрузка"
|
|||
10
ARumshin
19.10.15
✎
18:56
|
(8) Подскажи пож., как это реализовать? Ни разу не делал. Спасибо!
|
|||
11
pumbaEO
19.10.15
✎
18:57
|
(10) /out logfile.log
|
|||
12
Jump
19.10.15
✎
19:21
|
(11) Это вывод лога средствами 1с.
А если надо из батника вывод прочитать то добавляем >>C:\logfile.log |
|||
13
Jump
19.10.15
✎
19:23
|
(9)А зачем 1cestart.exe запускаешь?
Делай так C:\Program Files (x86)\1cv8\8.3.5.1428\bin\1cv8.exe |
|||
14
ARumshin
19.10.15
✎
21:57
|
(13) В твоем случае будет запускать только релиз платформы 8.3.5.1428, а в моем самый последний установленный релиз 1С
|
|||
15
hhhh
19.10.15
✎
22:11
|
(14) зато 1cestart.exe завершается через 10 секунд. Это всем известно.
|
|||
16
ARumshin
19.10.15
✎
22:24
|
(15) А почему?
|
|||
17
hhhh
19.10.15
✎
23:08
|
(16) просто интересное совпадение. 1cestart.exe он ведь ничего не делает, запускает \bin\1cv8.exe, а сам завершается через 10 секунд. И у тебя 10 секунд. Копай в сторону запускается у тебя сам файл 1cv8.exe или нет?
|
|||
18
Jump
19.10.15
✎
23:15
|
(14) В моем случае запускается нужный мне релиз.
Какой именно я явно указываю. Путем нехитрых манипуляций и пары лишних строчек кода можно выбирать последний релиз. Но самое главное - я запускаю 1с, и контролирую его запуск. А вы запускаете стартер, и неизвестно запускает ли он 1с или нет, вы не можете посмотреть ни логов ничего. Я из батника вижу сколько работает процесс, работает ли он, могу подождать пока он завершится, чтобы перейти к другому этапу, поэтому только напрямую, без всяких посредников вроде 1cestart.exe |
|||
19
Jump
19.10.15
✎
23:16
|
(16) Потому что его задача запустить последний релиз и завершить работу.
Т.е вы его запускаете, он запускает 1с, и тут же закрывается. |
|||
20
rsv
19.10.15
✎
23:21
|
(0) .... ну может вести все в одной базе ? И проблем нет.
|
|||
21
hhhh
19.10.15
✎
23:33
|
(19) точно, в планировщике указывается время выполнения процесса стартера. Там всегда будет время типа 5-10 секунд.
|
|||
22
User_Agronom
19.10.15
✎
23:34
|
(0) Можно снять конфигурацию с поддержки, но не снимать с поддержки объекты (точнее включить возможность изменения для конфы, но не включать её для объектов).
И тогда регламентное задание можно будет добавить. Рисков и сложностей будет на порядок меньше. |
|||
23
Стальная Крыса
20.10.15
✎
05:41
|
(0) как вариант
при работе вашего батника, для 1С в этом режиме требуется клиентское окно, при отсутствующем пользовательском сеансе - его конечно же нет. в свое время для решения такой проблемы мы на сервере ВСЕГДА оставляли консольный сеанс. |
|||
24
ARumshin
28.10.15
✎
13:10
|
(23) Подскажите подробно как это реализовать?
|
|||
25
rozer76
28.10.15
✎
13:48
|
(24) это надо консольно зайти на сервер под пользователем под которым стартует задание
|
|||
26
Гёдза
28.10.15
✎
14:07
|
может проще расписание в 1с настроить?
|
|||
27
Jump
28.10.15
✎
14:10
|
(24) Вы до сих пор мучаетесь?
Блин, там делов на полчаса максимум. Перенаправьте банальными >> вывод батника в лог файл, и посмотрите в логе на что он ругается. |
|||
28
ARumshin
29.10.15
✎
11:36
|
(27) "C:\Program Files (x86)\1cv8\common\1cestart.exe" ENTERPRISE /S"server-1C\ZUP" /N"EMigachev" /P"12345" /DisableStartupMessages /RunModeManagedApplication /Execute"C:\obmen\V.epf" /C"Выгрузка" >>C:\logfile.log
В батнике необходимо прописать такую строку? |
|||
29
6kubikov
29.10.15
✎
11:42
|
(0) На первом скрине есть пункт как выполнять скрипт. Поставь "Выполнять вне зависимости от регистрации пользователя".
|
|||
30
ARumshin
29.10.15
✎
11:45
|
(29) Тоже делал. Не помогло.
|
|||
31
6kubikov
29.10.15
✎
11:50
|
(30) У пользователя под которым запускается задание пароль не пустой?
|
|||
32
ARumshin
29.10.15
✎
11:54
|
Пароль заполнне. Там создан локальный пользователь.
Факт тот, что когда ставишь регламентное задание после завершение терминальной сессии и ставиь планировщик через 5 минут. Процесс запускается, а если ставишь например через 3 часа то процесс не запускается. |
|||
33
6kubikov
29.10.15
✎
12:01
|
(32) Ну во-первых галка из пункта "Выполнять вне зависимости от регистрации пользователя" должна стоять обязательно и всегда.
Во-вторых при установке этой галки у тебя спросят пароль пользователя под которым запускается задание. И потом непонятно про 5 минут. Ну поставь 10 минут, выполнится? |
|||
34
ARumshin
29.10.15
✎
12:12
|
Два верхних параметра установлены.
Может он не при активном сеансе клиентскую функцию не может выполнить. |
|||
35
Jump
29.10.15
✎
15:41
|
(34) Ему пофиг на сеанс - есть имя и пароль он под ними работает.
Не пофиг на сеанс если нет галки на выполнение без регистрации пользователя. Тогда только при залогиненом в систему пользователе выполняет. |
|||
36
Гёдза
29.10.15
✎
15:49
|
Без логона нельзя запустить 1ску через шедулер никак
|
|||
37
ARumshin
29.10.15
✎
16:27
|
(36) Не понял
|
|||
38
Гёдза
29.10.15
✎
16:31
|
(37) Логон - это когда в виндувс входишь набирая имя и пароль
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |