Запуск скрипта из 1с после закрытия 1с #624847


#0 by revolt
Есть в 1с обработка по перепроведению документов. Запускается через task sheduler. Результат работы записывается в текстовый файл через параметр запуска. Этот текстовый файл должен быть отправлен скриптом на почту. Проблема в том, что файл формируется после закрытия 1с (после завершения работы перепроведения). Как запустить скрипт отправки почты, чтобы он отправил заполненный файл, если скрипт я запускаю из самой 1с в обработке перепроведения, но результат,который должен быть отправлен создается только после зарктия 1с? Пробовал запускать скрипт, который запускает такой-же скрипт через 10 секунд, чтобы отправить почту. Но 1с упорно ждет завершения этих 2х скриптов и только потом закрывается и формирует файл.
#1 by pumbaEO
Версия 1С какая?
#2 by revolt
1С:Предприятие 8.2 (8.2.15.310)
#3 by vde69
нифига не понял, но вообще-то регламентными заданиями делается любая отмылка
#4 by revolt
конфигурацию трогать нельзя. Обработка по перепроведению - внешняя. Файл результата обработки создается только когда 1с закрывается, т.к. результат проведения выдается в оконо сообщений 1с и сохраняется при закрытии в файл с помощью параметра, который указывали, когда запускали 1с /OUT
#5 by Nikitos
Странные вопросы... Рекомендую написать что-нибудь, используя WSH, ну или, на худой конец, тупо bat файл
#6 by Heckfy
Скрипт через КомандаСистемы или через запуститьПриложение запускаете?
#7 by Liova
Если всё равно запускается батник, почему бы просто не поставить задержку достаточную (ping тот же)и затем отослать файл уже созданный.
#8 by vde69
регламентное задание можно и в пользовательском режиме сделать а вообще для начала сделайте запись в файл в самой обработке
#9 by Vakhrin
в комманд файле, откуда запускается 1С, после отработки как угодно отправить файл - проблема разве?
#10 by revolt
КомандаСистемы
#11 by pumbaEO
По два раза не повторяю, по два раза можно запустить 1С... Дабы была одна точка входа: одна обработка проводит, вторая обработка отправляет результат работы.
#12 by revolt
так и делал. В итоге 1с ждет завершения работы второго батника
#13 by revolt
подскажете, как сообщения из окна сообщений сохранить в файл средствами встроенного языка 1с?
#14 by Nikitos
Зачем? Один раз дождаться появления файла и отправить его.
#15 by revolt
не проблема. проблема в том, что отправляемый файл появляется только после закрытия 1с из которой я могу запустить отправку
#16 by Heckfy
?
#17 by revolt
спасибо попробуем
#18 by Liova
Как-то нелогично. Отдельная команда запуска 1С закончилась ведь уже.
#19 by stix2010
оператор &&
#20 by revolt
тем не менее. Получается что батник, запустивший второй батник продолжает выполняться сам
#21 by revolt
не понял причем тут &&
#22 by Liova
Понял. Я имел ввиду сделать обработку 1 - создает файл и обработку 2 - запускает скрипт отправки уже созданного пред. командой файла.
#23 by revolt
а как обработка 2 узнает, что обработка 1 завершилась? Обработка 1 запускается всего 2 раза в месяц, выполняется 1-2 часа, но время может быть разным.
#24 by Nikitos
Объясните мне, дураку, зачем вообще 2 батника? Примерно так на vbs: WshShell.Run("notepad", 1, True) а вот тут начинаем отправку файла. ************************ 3.4. Run Синтаксис: Run(<Command>,<WindowStyle>,<WaitOnReturn>) Назначение: создаёт новый независимый процесс, который запускает заданное приложение. Параметры:    <Command> - строка, командная строка запуска приложения.    <WindowStyle> - необязательный, число. Определяет вид окна запускаемого приложения. Некоторые возможные значения:        0 - Не отображает окно.        1 - Активизирует и отображает окно.        2 - Активизирует окно и отображает его в свёрнутом виде.        3 - Активизирует окно и отображает его в максимизированном виде.    <WaitOnReturn> - необязательный, булево (число). True - сценарий возобновит работу только после завершения вызванного процесса. False (по умолчанию) - управление передаётся сразу обратно в сценарий. Описание: если параметр "WaitOnReturn" установлен в True, метод возвращает код выхода вызванного приложения. Иначе метод всегда возвращает ноль. Пример: Другой пример:
#25 by Liova
так просто cmd 1cv8.exe обработка1 OUT 1cv8.exe обработка2 вот тебе по порядку запускаются и всё.
#26 by stix2010
command1 && command2 Оператор && гарантирует, что вторая команда будет выполнена только, если первая была выполнена успешно, т.е. с нулевым кодом возврата (он же %errorlevel%). c:...1cv8.exe /обработкапроведения && с:...1cv8.exe /обработкаотправки
#27 by revolt
получается аналог ЗапуститьПриложение, предложенное в , которое сейчас и проверяю =)
#28 by revolt
понял. Спасибо!
#29 by revolt
Сделал по . Всем огромное спасибо!
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

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