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

14.01.10

Разработка - Инструментарий разработчика

Ночной запуск обработки в 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С v8.3 Управляемые формы Запросы Система компоновки данных Платные (руб)

Инструменты для разработчиков 1С 8.3: Infostart Toolkit. Автоматизация и ускорение разработки на управляемых формах. Легкость работы с 1С.

12000 руб.

02.09.2020    171743    960    403    

924

Инструментарий разработчика Чистка данных Свертка базы Инструменты администратора БД Системный администратор Программист Руководитель проекта Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 Россия Платные (руб)

Инструмент представляет собой обработку для проведения свёртки или обрезки баз данных. Работает на ЛЮБЫХ конфигурациях (УТ, БП, ERP и т.д.). Поддерживаются серверные и файловые базы, управляемые и обычные формы. Может выполнять свертку сразу нескольких баз данных и выполнять их автоматически без непосредственного участия пользователя. Решение в Реестре отечественного ПО

8400 руб.

20.08.2024    14293    108    46    

108

Инструментарий разработчика Программист Платформа 1С v8.3 1C:Бухгалтерия Платные (руб)

Инструмент для написания и отладки кода в режиме «1С:Предприятие». Представляет собой консоль кода с возможностью пошаговой отладки, просмотра значений переменных любых типов, использования процедур и функций, просмотра стека вызовов, вычисления произвольных выражений на встроенном языке в контексте точки останова, синтаксического контроля и остановки по ошибке. В консоли используется удобный редактор кода с подсветкой, контекстной подсказкой, возможностью вызова конструкторов запроса и форматной строки.

9360 руб.

17.05.2024    27263    96    48    

138

Пакетная печать Печатные формы Инструментарий разработчика Программист Платформа 1С v8.3 Запросы 1С:Зарплата и кадры бюджетного учреждения 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 Платные (руб)

Инструмент, позволяющий абсолютно по-новому взглянуть на процесс разработки печатных форм. Благодаря конструктору можно значительно снизить затраты времени на разработку печатных форм, повысить качество и "прозрачность" разработки, а также навести порядок в многообразии корпоративных печатных форм.

22200 руб.

06.10.2023    17264    43    15    

75

Инструменты администратора БД Инструментарий разработчика Роли и права Программист Платформа 1С v8.3 1C:Бухгалтерия Россия Платные (руб)

Расширение позволяет без изменения кода конфигурации выполнять проверки при вводе данных, скрывать от пользователя недоступные ему данные, выполнять код в обработчиках. Не изменяет данные конфигурации, легко устанавливается практически на любую конфигурацию на управляемых формах.

15000 руб.

10.11.2023    11890    45    27    

67

SALE! %

Инструментарий разработчика Инструменты администратора БД Системный администратор Программист Платформа 1С v8.3 Управляемые формы 1C:Бухгалтерия Россия Платные (руб)

Универсальный инструмент программиста для администрирования конфигураций. Сборник наиболее часто используемых обработок под единым интерфейсом.

4800 3840 руб.

14.01.2013    191172    1152    0    

920

Инструментарий разработчика Платформа 1С v8.3 1C:Бухгалтерия 1С:ERP Управление предприятием 2 Платные (руб)

Разработка Конструктор автоматизированных рабочих мест "Конструктор АРМ" реализована в виде расширения и является универсальным инструментом для создания АРМ любой сложности в пользовательском режиме.

3600 руб.

27.12.2024    1114    2    0    

5

Инструментарий разработчика Программист Платформа 1С v8.3 1C:Бухгалтерия Россия Платные (руб)

Восстановление партий или взаиморасчетов, расчет зарплаты, пакетное формирование документов или отчетов - теперь все это стало доступнее. * Есть желание повысить скорость работы медленных алгоритмов! Но... * Нет времени думать о реализации многопоточности? * о запуске и остановке потоков? * о поддержании потоков в рабочем состоянии? * о передаче данных в потоки и как получить ответ из потока? * об организации последовательности? Тогда ЭТО - то что надо!!!

5000 руб.

07.02.2018    104115    244    100    

307
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. kitminsk 205 15.01.10 08:04 Сейчас в теме
Упустил один момент - вешаем ярлык на файл Сообщения.txt и назначаем ему горячие кнопки Ctrk+Alt+Z, иначе непонятен оператор WshShell.sendKeys "^%(Z)" 'Вызываем файл Сообщения.txt
2. Reaper_1C 123 15.01.10 08:34 Сейчас в теме
Зря конфигурацию испохабил. Можно было весь код записать во внешней обормотке и указывать ее как параметр пакетного запуска 1С.
3. oberonm 9 15.01.10 08:57 Сейчас в теме
а что, разве кто то отменял вывод сообщений в файл с таким ключом: /OutD:\1C\logs\centre_out.log -NoTruncate
4. kitminsk 205 15.01.10 09:04 Сейчас в теме
Спасибо oberonorm! Сам не нашел :cry:
5. kitminsk 205 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 263 15.01.10 15:06 Сейчас в теме
Уважаемый автор полгода использую http://infostart.ru/public/20238/, посмотри, может пригодится.
Оставьте свое сообщение