Ночная обработка

Публикация № 64009

Администрирование - Администрирование данных 1С - Сервисные утилиты

Ночной запуск обработки в 1С - 8

Потребовалось как-то обеспечить запуск в ночное время обработки в 1С - 8.0. Вроде ничего сложного - пишешь скрипт и ставишь его в планировщик на заданное время. Да вот беда - во время работы появляются сообщения, выводимые в окно сообщений, которые нужно затем проанализировать, а с закрытием 1с пропадают и все сообщения. Первая мысль - перенаправить поток в файл, но в 1С 8.0 такого не нашел. пришлось программно давить кнопки. Итак, что сделано.

  1. В корне диска D: создан текстовый файл Сообщения.txt.
  2. В модуле приложения в процедуре ПриНачалеРаботыСистемы вставлен текст
Если ОбработатьПараметрЗапуска() Тогда  
  Отказ = Истина; Возврат;                        
КонецЕсли; 
  1. В ОбработатьПараметрЗапуска()  есть такой кусочек
ИначеЕсли ЗначениеПараметраЗапуска = "PP" Тогда
    ПроведениеПоПартиям = Обработки.ПроведениеПоПартиям.Создать(); 
    Форма        = ПроведениеПоПартиям.ПолучитьФорму("Форма");
    ДатаКонца =  Дата(РазложитьСтрокуВМассивПодстрок(ПараметрЗапуска,";")[1],РазложитьСтрокуВМассивПодстрок(ПараметрЗапуска,";")[2],РазложитьСтрокуВМассивПодстрок(ПараметрЗапуска,";")[3]);
    Форма.ДатаКонцаОбработки = ДатаКонца;
    ПроведениеПоПартиям.ВыполнитьВосстановление();
    //Создаем WScript
    wshShell=Новый COMObject("WScript.Shell");
    //Переходим в окно "Служебные сообщения" Ctrl+Alt+O
    wshShell.sendKeys("^%(O)");
    //Выделяем текст окна Ctrl+A
    wshShell.sendKeys("^(A)");
    //Сохраняем в буфер Ctrl+С
    wshShell.sendKeys("^(C)");
    //завершаем работу 1С
    ЗавершитьРаботуСистемы(Ложь);
    Возврат ИСТИНА;

В качестве параметров запуска указан год,месяц,день (это для моей обработки, у вас - что угодно).

  1. Написан скрипт pp.vbs
WScript.Sleep 5000
Set WshShell=CreateObject("WScript.Shell")
Set objArgs = WScript.Arguments
Y  = objArgs(0)
M  = objArgs(1)
D  = objArgs(2)

WshShell.Run """C:\Program Files\1cv8\bin\1cv8.exe"" ENTERPRISE /F D:\1c\db\UT /N Exchange /P Exchange /Cpp;" & Y & ";" & M & ";" & D & " /DisableStartupMessages",1,1
WshShell.sendKeys "^%(Z)" 'Вызываем файл Сообщения.txt
WScript.Sleep 1000
Res = WshShell.AppActivate("Сообщения - Блокнот")
If Res Then
  WshShell.SendKeys("% ~") 'Раскрываем окно
  WshShell.sendKeys "^(A)" 'Выделяем текст в Блокноте
  WshShell.sendKeys "^(V)" 'Вставляем буфер
  WshShell.sendKeys "^(S)" 'Сохраняем текст
  WshShell.sendKeys "%{F4}" 'Закрываем блокнот
ELSE
  WScript.MessageBox("Приложение не найдено")
END IF
  1. В нужный момент бухи ставят на нужное время в планировщик запуск скрипта pp.vbs с параметрами год, месяц, день (например, "pp.vbs 2009 08 20" ) и выполняют обработку ПроведениеПоПартиям. После прогона все закрывается и выполняется автоматом обмен данными между базами. А наутро они открывают файл Сообщения.txt и смотрят как и что было, и не нужно ли еще чего.

Специальные предложения

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. kitminsk 197 15.01.10 08:04 Сейчас в теме
Упустил один момент - вешаем ярлык на файл Сообщения.txt и назначаем ему горячие кнопки Ctrk+Alt+Z, иначе непонятен оператор WshShell.sendKeys "^%(Z)" 'Вызываем файл Сообщения.txt
2. Reaper_1C 115 15.01.10 08:34 Сейчас в теме
Зря конфигурацию испохабил. Можно было весь код записать во внешней обормотке и указывать ее как параметр пакетного запуска 1С.
3. oberonm 9 15.01.10 08:57 Сейчас в теме
а что, разве кто то отменял вывод сообщений в файл с таким ключом: /OutD:\1C\logs\centre_out.log -NoTruncate
4. kitminsk 197 15.01.10 09:04 Сейчас в теме
Спасибо oberonorm! Сам не нашел :cry:
5. kitminsk 197 15.01.10 09:34 Сейчас в теме
С учетом замечания obernorm скрипт должен выглядеть следующим образом.
WScript.Sleep 5000
Set WshShell=CreateObject("WScript.Shell")
Set objArgs = WScript.Arguments
Y = objArgs(0)
M = objArgs(1)
D = objArgs(2)
WshShell.Run """C:\Program Files\1cv8\bin\1cv8.exe"" ENTERPRISE /F D:\1c\db\UT /N Exchange /P Exchange /Cpp;" & Y & ";" & M & ";" & D & " /DisableStartupMessages /OutD:\1C\logs\ppp.log",1,1
6. AKV77 253 15.01.10 15:06 Сейчас в теме
Уважаемый автор полгода использую http://infostart.ru/public/20238/, посмотри, может пригодится.
Оставьте свое сообщение

См. также

Использование утилиты RING для проверки информации о программных лицензиях

Сервисные утилиты Защита ПО v8 Бесплатно (free)

В 1С есть утилита для проверки файлов с лицензиями 1С. Утилита существует довольно давно, но информация по ней разбросана, малопонятна и много где устарела, поэтому опишу свой опыт установки утилиты и работы с ней. Работаем под Windows.

16.12.2020    4449    budidich    9    

Настройка KDiff3 для исключения номеров строк в отчетах о сравнении конфигураций

Сервисные утилиты Администрирование данных 1С v8 1cv8.cf Бесплатно (free)

Те, кто часто обновляют доработанные типовые конфигурации, а потом проверяют корректность обновления, сравнивая отчеты о сравнении конфигураций, знают, как мешают при этом строки вида "Объект присутствует только в первой|второй конфигурации: 99 - 99", "Изменено: 99 - 99".<br /> Но если вы, как и я, пользуетесь для этого утилитой KDiff3, то есть простой способ избавиться от таких строк.

21.09.2020    1375    fillin    5    

Удаленный рестарт сервиса 1С на Windows Server 2012 R2 (перезапуск агента 1С на кластере не под администратором)

Сервисные утилиты v8 Бесплатно (free)

Предоставление возможности определенным доменным пользователям производить перезапуск службы (агента 1С), не заходя на сам сервер и не имея административных прав (это освобождает администратора от необходимости заходить на сервер и делать перезапуск).

24.03.2019    3166    ellavs    3    

Сервер администрирования кластера серверов 1C:Предприятия и deployka

Сервисные утилиты Администрирование данных 1С v8 Бесплатно (free)

В данной статье познакомимся с сервером администрирования кластера серверов 1С:Предприятия, а конкретно с утилитами rac.exe и ras.exe, а также программой deployka, с помощью которых становится возможным администрирование кластера серверов 1С:Предприятие из командной строки.

04.04.2018    72484    Tavalik    37    

Удаление "snccntx". Батник

Сервисные утилиты v8 1cv8.cf Бесплатно (free)

Дополнение к известному скрипту по рестарту "СлужбаАгентаСервера1С" (САС1С)

20.03.2015    18702    Tommy82    6    

Публикация конфигурации 1С на GitHub

Сервисные утилиты Практика программирования Администрирование данных 1С v8 1cv8.cf Бесплатно (free)

Статья показывает, как можно подготовить конфигурацию 1С к публикации в системах версионирования, отличных от хранилища конфигурации 1C. В операции задействован .Net framework и C#, позволяющий аккуратно распределить проект 1С по папкам. Пример публикации конфигурации на основе старых обновлений БСП четырехлетней давности (с 1.0.7.5 по 1.1.3.1) можно посмотреть по адресу https://github.com/elisy/ssl . Таким же образом теоретически можно публиковать конфигурации в другие системы версионирования.

23.02.2015    20717    Elisy    20    

Файловые базы *.1CD. Физическая структура. Восстановление.

Сервисные утилиты Администрирование данных 1С Тестирование и исправление v8 1cv8.cf Бесплатно (free)

Как устроены файловые базы? Что делать, если база упала? В статье приведены обзорные сведения об устройстве баз и возможностях восстановления. Приведено описание новых возможностей Tool_1CD.

06.06.2013    191213    awa    125    

Восстановление файловой версии базы данных *.1CD после ошибки динамического обновления.

Сервисные утилиты Архивирование (backup) Администрирование данных 1С Тестирование и исправление v8 1cv8.cf Бесплатно (free)

Восстановление работоспособности файл-серверной базы данных (файл *.1CD) после критической ошибки, возникшей в результате динамического обновления с последующим предупреждением "Внимание!!! При обновлении данных, после последней реструктуризации, произошла ошибка. Повторить обновление?".

02.10.2012    52206    djserega    78    

Пример использования 1С-Automation и скриптов AutoIT

Сервисные утилиты v8 1cv8.cf Россия Бесплатно (free)

В данной статье приводится пример использования скрипта AutoIT в качестве клиента для 1С-Automation сервера.

28.06.2012    18847    LexSeIch    2    

К вопросу о зависающих фоновых заданиях в 8.1

Производительность и оптимизация (HighLoad) Сервисные утилиты Администрирование данных 1С v8 1cv8.cf Бесплатно (free)

Фоновые задания в клиент-серверном варианте иногда зависают так, что снять их можно только путем перезапуска службы. Насколько я понял, никто не знает, что с этим делать. И я не знаю. Но могу поделиться опытом, как научиться с этим жить :)

03.09.2009    26136    bulpi    27    

К вопросу о регламентном задании – восстановлении последовательности

Практика программирования Сервисные утилиты v8 1cv8.cf Бесплатно (free)

В связи с тем, что, когда передо мной стояла подобная задача, материала в интернете я нашел очень мало. Попытаюсь немного компенсировать этот пробел. Заранее предупреждаю – информация для начинающих разработчиков :)

22.06.2009    20653    Dimasik2007    9