Имя: Пароль:
1C
1С v8
1С и планировщик Windows
0 123GO
 
26.02.19
03:44
Каждый раз применяя основную конфигурацию на РИБы нужно выгонять пользователей или ждать окончания их работы. У некоторых она заканчивается в 2 часа ночи по моему времени:) Хоть 1С упорно предлагает запланировать обновление на определенное время, она каждый раз в ЖР пишет "Ошибка при создании задачи планировщика: 8". Где код ошибки 8 на сайте майкософта - "Неизвестная ошибка(Unknown failure)". Может кто знает, почему 1С интерактивно не может создать задачу в планировщике?
WS 2016, база на MS SQL 2012

Попытка
        
        Планировщик = ОбъектWMI().Get("Win32_ScheduledJob");
        КодЗадачи = 0;
        КодОшибки = Планировщик.Create(ИмяФайлаПрограммы, // Command
            ПреобразоватьВремяВФорматCIM(ДатаВремя), // StartTime
            Ложь, // RunRepeatedly
            , // DaysOfWeek
            Pow(2, День(ДатаВремя) - 1), // DaysOfMonth
            Ложь, // InteractWithDesktop
            КодЗадачи); // out JobId
        
    Исключение
        ТекстСообщения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = 'Ошибка при создании задачи планировщика: %1'"), ОписаниеОшибки());
        ЖурналРегистрацииКлиент.ДобавитьСообщениеДляЖурналаРегистрации(СобытиеЖурналаРегистрации(), "Ошибка", ТекстСообщения);
        Возврат 0;
    КонецПопытки;
    
    Если КодОшибки <> 0 Тогда // Коды ошибок: http://msdn2.microsoft.com/en-us/library/aa389389(VS.85).aspx.
        ТекстСообщения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = 'Ошибка при создании задачи планировщика: %1'"), КодОшибки);
        ЖурналРегистрацииКлиент.ДобавитьСообщениеДляЖурналаРегистрации(СобытиеЖурналаРегистрации(), "Ошибка", ТекстСообщения);
        Возврат 0;
    КонецЕсли;

Попытка в исключение не выпадает.
ИмяФайлаПрограммы = "C:\Windows\SysWOW64\wscript.exe //nologo "C:\Users\Администратор.WIN-BTH0734JTJA\AppData\Local\Temp\2\1Cv8Update.190226034117\updater.js" /p1:"004800490049004800570051" /p2:""" (Строка)
ПреобразоватьВремяВФорматCIM(ДатаВремя) = "********200900.000000+540" (Строка)
Pow(2, День(ДатаВремя) - 1) = 67 108 864 (Число)
1 123GO
 
26.02.19
05:25
Команда, которая передается в планировщик, отдельно выполняется - база обновляется успешно. Все параметры передаются верно. При нехватке прав на создание задания у метода есть возвращаемый код "22"
2 Мимохожий Однако
 
26.02.19
07:11
Запустить планировщик не из 1С пробовал?
3 ice777
 
26.02.19
08:22
(0) права текущего пользователя в винде или с какими там 1С запускается, проверь.
4 123GO
 
26.02.19
09:32
(3) По правам написал выше, у них даже есть для этого отдельная ошибка. И да, из под администратора пробовал..
(2) Да, задачи есть, не касающиеся 1С. Проблема именно в интерактивном создании задач. Софта для интерактивного создания у меня нет, заморачиваться особо нет желания с лишними программами на сервере. Нашел запись на сайте майкрософта, что должен быть создан один параметр в реестре, сегодня ночью перезагружу машину, посмотрю как завтра будет работать
5 Мимохожий Однако
 
26.02.19
10:15
(4) Создание и запуск регламентного задания Windoes встроено в систему. Либо я тебя не понял.
6 123GO
 
27.02.19
06:05
(5) Верно, но ИНТЕРАКТИВНО с коробки не может создать. По крайней мере на Windows Server 2016. Добавил я параметр в реестр, но планировщик с ним работать отказывается. 1С в ЖР начала писать, что задача создана, но она не выполняется. Короче проблема уже точно далеко от 1С
7 123GO
 
27.02.19
10:11
В общем, дело такое. Типовая Розница 2.2.7 пытается создает COM-соединение к "WbemScripting.SWbemLocator", через него получает класс "Win32_ScheduledJob" и методом Create() даже создает задачу. Но, как я понял создает ее в старом формате, с сильно отличающимся описанием от остальных задач. Планировщик отказывается с ней работать.
Типовая Розница 2.2.8 создает скрипт .js, в котором задача создается через подключение к ActiveX объекту "Schedule.Service", и методом NewTask() создает задачу. Которая работает) Только создает ее от системного пользователя, который у меня не имеет прав на 1С, но это уже не критично. Может в более свежих версиях и это поправили.
8 Вафель
 
27.02.19
10:19
может нужно run as admin ?
9 Serg_1960
 
27.02.19
10:43
"Может в более свежих версиях и это поправили" - тут я пессимист - не подправили и не подправят. Потому, что так было и так будет: 1С использует Windows вслепую, в надежде на какую-то только им известную абстрактную модель настройки ОСи.
Здесь можно обсудить любую тему при этом оставаясь на форуме для 1Сников, который нужен для работы. Ymryn