Обмен между базами 1С с помощью bat-файла #756203


#0 by ARumshin
Коллеги, добрый вечер! Никак не могу решить одну проблему, может вы поможете. Настроен обмен между 2 базами 1С. Чтобы не снимать конфигурации с поддержки, реализовал через обработку «Универсальный обмен в формате XML». У меня есть bat файл, который подгружен в планировщик Windows (используется SQL). Bat-файл выполняет задачу: запускает 1С – запускает внешнюю обработку – внешняя обработка в свою очередь запускает обработку «Универсальный обмен в формате XML» и заполняет все необходимые параметры (подгружает правила обмена, подключается напрямую к базе Приемник и т.д.) – происходит выгрузка данных – после чего завершается работа 1С. Проблема возникает в том, что когда запускаешь bat файл вручную, он все «шикарно» отрабатывает. Но если закрываешь сеанс удаленного рабочего стола и ставишь выполнения задания ночью, планировщик заданий в свою очередь запускает 1С и через некоторое время завершается работа 1С, секунд примерно 10 держится сеанс. В журнале регистрации ошибки не зафиксированы. Есть ли мысли по данной проблеме? Все перепробовал. Заранее спасибо за ответ!!!
#1 by Stim
ставь запись лога в обработке. хз
#2 by KrabCore
юзео от имени которого запускается таск имеет права админа?
#3 by Jump
Все очень просто. Когда запускаешь руками - батник работает от имени текущего юзера в текущей директории. Когда через планировщик - батник работает от имени системного юзера, если не указанно иное, и в системной директории. Поэтому причины может быть две и только две - Права - проверяем есть ли права у юзера от имени которого запускается батник. Пути - пишем абсолютные пути к файлам, а не относительно текущей директории.
#4 by Jump
Скорее всего база подключается к базе приемнику по сети. А батник запускается от системного пользователя, который не имеет права на работу с сетью.
#5 by anatoly
неужели не получилось применить Полный план обмена с загруженными правилами обмена? вижу неудобство только в том, что придется периодически руками регистрацию "лишних" объектов очищать...
#6 by ARumshin
Спс. кто откликнулся. У пользователя Windows полные права. Скрины от планировщика заданий по этой ссылке - Попробую вышеуказанные методы.
#7 by Jump
Да что там скрины планировщика. Ты лучше содержимое батника покажи. Есть там относительные пути, или все пути прописаны полностью?
#8 by Jump
А вообще чтобы не гадать, сделай так - в батнике включи вывод в файл. Запустил планировщиком, посмотрел вывод ошибок батника из файла и все станет ясно.
#9 by ARumshin
Вот пример батника "C:Program Files (x86)1cv8common1cestart.exe" ENTERPRISE /S"server-1CUP" /N"EMigachev" /P"12345" /DisableStartupMessages /RunModeManagedApplication /Execute"C:obmenV.epf" /C"Выгрузка"
#10 by ARumshin
Подскажи пож., как это реализовать? Ни разу не делал. Спасибо!
#11 by pumbaEO
/out logfile.log
#12 by Jump
Это вывод лога средствами 1с. А если надо из батника вывод прочитать то добавляем >>C:logfile.log
#13 by Jump
А зачем 1cestart.exe запускаешь? Делай так C:Program Files (x86)1cv88.3.5.1428in1cv8.exe
#14 by ARumshin
В твоем случае будет запускать только релиз платформы 8.3.5.1428, а в моем самый последний установленный релиз 1С
#15 by hhhh
зато 1cestart.exe завершается через 10 секунд. Это всем известно.
#16 by ARumshin
А почему?
#17 by hhhh
просто интересное совпадение. 1cestart.exe он ведь ничего не делает, запускает in1cv8.exe, а сам завершается через 10 секунд. И у тебя 10 секунд. Копай в сторону запускается у тебя сам файл 1cv8.exe или нет?
#18 by Jump
В моем случае запускается нужный мне релиз. Какой именно я явно указываю. Путем нехитрых манипуляций и пары лишних строчек кода можно выбирать последний релиз. Но самое главное - я запускаю 1с, и контролирую его запуск. А вы запускаете стартер, и неизвестно запускает ли он 1с или нет, вы не можете посмотреть ни логов ничего. Я из батника вижу сколько работает процесс, работает ли он, могу подождать пока он завершится, чтобы перейти к другому этапу, поэтому только напрямую, без всяких посредников вроде 1cestart.exe
#19 by Jump
Потому что его задача запустить последний релиз и завершить работу. Т.е вы его запускаете, он запускает 1с, и тут же закрывается.
#20 by rsv
.... ну может вести все в одной базе ? И проблем нет.
#21 by hhhh
точно, в планировщике указывается время выполнения процесса стартера. Там всегда будет время типа 5-10 секунд.
#22 by User_Agronom
Можно снять конфигурацию с поддержки, но не снимать с поддержки объекты (точнее включить возможность изменения для конфы, но не включать её для объектов). И тогда регламентное задание можно будет добавить. Рисков и сложностей будет на порядок меньше.
#23 by Стальная Крыса
как вариант при работе вашего батника, для 1С в этом режиме требуется клиентское окно, при отсутствующем пользовательском сеансе - его конечно же нет. в свое время для решения такой проблемы мы на сервере ВСЕГДА оставляли консольный сеанс.
#24 by ARumshin
Подскажите подробно как это реализовать?
#25 by rozer76
это надо консольно зайти на сервер под пользователем под которым стартует задание
#26 by Гёдза
может проще расписание в 1с настроить?
#27 by Jump
Вы до сих пор мучаетесь? Блин, там делов на полчаса максимум. Перенаправьте банальными >> вывод батника в лог файл, и посмотрите в логе на что он ругается.
#28 by ARumshin
"C:Program Files (x86)1cv8common1cestart.exe" ENTERPRISE /S"server-1CUP" /N"EMigachev" /P"12345" /DisableStartupMessages /RunModeManagedApplication /Execute"C:obmenV.epf" /C"Выгрузка" >>C:logfile.log В батнике необходимо прописать такую строку?
#29 by 6kubikov
На первом скрине есть пункт как выполнять скрипт. Поставь "Выполнять вне зависимости от регистрации пользователя".
#30 by ARumshin
Тоже делал. Не помогло.
#31 by 6kubikov
У пользователя под которым запускается задание пароль не пустой?
#32 by ARumshin
Пароль заполнне. Там создан локальный пользователь. Факт тот, что когда ставишь регламентное задание после завершение терминальной сессии и ставиь планировщик через 5 минут. Процесс запускается, а если ставишь например через 3 часа то процесс не запускается.
#33 by 6kubikov
Ну во-первых галка из пункта "Выполнять вне зависимости от регистрации пользователя" должна стоять обязательно и всегда. Во-вторых при установке этой галки у тебя спросят пароль пользователя под которым запускается задание. И потом непонятно про 5 минут. Ну поставь 10 минут, выполнится?
#34 by ARumshin
Два верхних параметра установлены. Может он не при активном сеансе клиентскую функцию не может выполнить.
#35 by Jump
Ему пофиг на сеанс - есть имя и пароль он под ними работает. Не пофиг на сеанс если нет галки на выполнение без регистрации пользователя. Тогда только при залогиненом в систему пользователе выполняет.
#36 by Гёдза
Без логона нельзя запустить 1ску через шедулер никак
#37 by ARumshin
Не понял
#38 by Гёдза
Логон - это когда в виндувс входишь набирая имя и пароль
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С