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

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 и смотрят как и что было, и не нужно ли еще чего.

Вступайте в нашу телеграмм-группу Инфостарт

Вы можете заказать платную адаптацию этой статьи под ваши задачи на «Бирже заказов».

  • 0% комиссии — оплата напрямую исполнителю;
  • Исполнители любого масштаба — от отдельных специалистов до команд под проект;
  • Прямой обмен контактами между заказчиком и исполнителем;
  • Безопасная сделка — при необходимости;
  • Рейтинги, кейсы и прозрачная система откликов.

См. также

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

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

24900 руб.

20.08.2024    68746    365    164    

315

Инструментарий разработчика Роли и права Запросы СКД Программист Руководитель проекта 1С:Предприятие 8 Платные (руб)

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

16500 руб.

02.09.2020    259226    1430    421    

1165

Пакетная печать Печатные формы Инструментарий разработчика Программист 1С:Предприятие 8 Платные (руб)

Расширение для создания и редактирования печатных форм в системе 1С:Предприятие 8.3. Благодаря конструктору можно значительно снизить затраты времени на разработку печатных форм, повысить качество и прозрачность разработки, а также навести порядок в многообразии корпоративных печатных форм. Обновление версии от 21.04.26

22570 руб.

06.10.2023    38353    107    46    

122

Инструментарий разработчика Нейросети Платные (руб)

Первые попытки разработки на 1С с использованием больших языковых моделей (LLM) могут разочаровать. LLMки сильно галлюцинируют, потому что не знают устройства конфигураций 1С, не знают нюансов синтаксиса. Но если дать им подсказки с помощью MCP, то результат получается кардинально лучше. Далее в публикации: MCP для поиска по метаданным 1С, справке синтакс-помощника и проверки синтаксиса.

15250 руб.

25.08.2025    55524    111    29    

123

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

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

17000 руб.

10.11.2023    25345    93    46    

102

Мастера заполнения Поиск данных Инструментарий разработчика Подбор и обработка объектов 1С 8.3 1С 8.5 Платные (руб)

Infostart MagicInput улучшает подбор в полях ввода 1С: ищет по любой части названия и по нескольким ключевым фрагментам, распознаёт ввод в другой раскладке и показывает иконки/статусы объектов прямо в списке. Поддерживает вставку навигационной ссылки/представления документа для автоподбора; для разработчиков доступны поиск по GUID и полному имени предопределённого. Работает в управляемых формах и подключается в большинстве конфигураций 1С 8.3/8.5.

6000 руб.

25.02.2026    3767    13    1    

16

Инструментарий разработчика Программист 1С:Предприятие 8 Платные (руб)

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

9500 руб.

17.05.2024    53000    182    63    

216
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. kitminsk 206 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 206 15.01.10 09:04 Сейчас в теме
Спасибо oberonorm! Сам не нашел :cry:
5. kitminsk 206 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/, посмотри, может пригодится.
Для отправки сообщения требуется регистрация/авторизация