Имя: Пароль:
1C
 
Регламентные задания
0 Студиозус
 
22.05.09
12:20
Подскажите как работать с этими регламентными заданиями? Я создал задание. написал функцию для ней, прописал в задании функцию, установил время запуска сегодня через три минуты. Проходит этитри минуты и ничего не запускается:( Хотя если вручную запускаю эту регламентную задачу то функция выполняется правильно:(
1 Студиозус
 
22.05.09
12:28
UP
2 Sammo
 
22.05.09
12:29
Проверь задание консолью заданий
3 Salvador Limones
 
22.05.09
12:29
Файл/сервер?
4 Студиозус
 
22.05.09
12:30
(2) А как проверить?
(3) Ага
5 iomoe
 
22.05.09
12:31
(4) Запусти обработку "Консоль заданий" (есть на ИТС), там все видно.
6 Salvador Limones
 
22.05.09
12:35
(4) Что "ага"?
7 Студиозус
 
22.05.09
12:43
Пишет что менеджер заданий не активен. Как его активировать?
(6) Файл/сервер
8 AndreyFAN
 
22.05.09
12:50
(3)(6)(7) когда мне тут говорят "убейся", обидно, но неужели я тоже иногда так туплю?...  :-))))))
9 Студиозус
 
22.05.09
15:33
А всё таки как включить менеджер заданий?
10 GenV
 
22.05.09
16:08
(6) Для начала определись с (3), только подумай. Потом в зависимости от ответа можно выбирать решение.
ЗЫ Можно ИТС посмотреть.
11 GenV
 
22.05.09
16:08
(10) (6) - (9)
12 Студиозус
 
22.05.09
16:22
(10) файловая
ИТС нет:(
13 Студиозус
 
22.05.09
16:27
Так как запусткать этот менеджер? Подскажите пожалуйста. Я прочёл в прилагающемся хелпе о том что надо создать "ВыполнитьОбработкуЗаданий" и периодиечски его вызывать, а как это сделать я не понял
14 Студиозус
 
22.05.09
16:28
+ 13 мне надо что бы при входе в систему любого из пользователей запускался этот менеджер и выполнял регламентное задание
15 GenV
 
22.05.09
16:31
(13) Вообщем, если в кратце - выполнение заданий в файловом варианте происходит в отдельном сеансе (после вызова ВыполнитьОбработкуЗаданий). В этом сеанте должна происходить периодическая проверка заданий через ВыполнитьОбработкуЗаданий и их последовательное выполнение.
(14) А зачем тебе тогда регламентное задание? Делай протейшую проверку при начале работы и выполняй то что нужно.
16 Студиозус
 
22.05.09
16:36
(15) А если никто из пользователей не вошёл в базу. выходной допустим? А задание должно быть выполнено
17 Serg_1960
 
22.05.09
16:37
Планировщик запуска, а в задание - завершение сеанса
18 GenV
 
22.05.09
16:37
(16) Сделай батник в шулдере в котором пропиши запуск 1С под определенным пользователем (служебным) и для этого пользователя прописы выполнение необходимых действий. Можно в батнике передавать внешнюю обработку, которая все будет делать, если конфу не хочется менять.
19 Студиозус
 
22.05.09
16:40
(17) а в виде кода это можно показать? А то я ничего не понял
20 Студиозус
 
22.05.09
16:42
(180 А зачем тогда вообще эти регламентные задания нужны если приходится делать всё так же как в семёрке?
21 Студиозус
 
22.05.09
16:46
А можно этот менеджер запускать один раз при старте системы? Он будет постоянно работать и когда настанет время запланированного регламентного задания то оно сработает?
22 Serg_1960
 
22.05.09
16:46
В файловой имитируется работа клиент/серверной версии. В типовой, для этого, в константе указывается пользователь, в чем сеансе буду крутится рег.задания. Ваша задача - всего-лишь открыть и завершить сеанс работы этого пользователя(когда надо).Согласитесь, - это не совсем "так" как в клюшках :)
23 Serg_1960
 
22.05.09
16:50
(21) Надеюсь вопрос отпал после прочтения(22). Этот "менеджер" вызывается неодин раз, а периодически вызывается фоновым заданием :(
24 Студиозус
 
22.05.09
16:50
(22) У меня ни типовая а Альфа Авто, тут нет такого пользователя:(
25 Serg_1960
 
22.05.09
16:51
Круто ты попал :) Возьми из типовой.
26 Студиозус
 
22.05.09
16:51
(23) Отпал. А как сделать что бы он периодически вызывался при работе любого пользователя?
27 Serg_1960
 
22.05.09
16:53
Любого - не надо. Это будет им мешать работать.
28 Serg_1960
 
22.05.09
16:54
Процедура ПриНачалеРаботыСистемы()
...
       Если ЭтоФайловаяИБ Тогда
                       
           ПользовательДляВыполненияРеглЗаданий = Константы.ПользовательДляВыполненияРегламентныхЗаданийВФайловомВарианте.Получить();
           
           Если глЗначениеПеременной("глТекущийПользователь") = ПользовательДляВыполненияРеглЗаданий Тогда
               
               // с интервалом секунд вызываем процедуру работы с регламентными заданиями
               ПоддержкаРегламентныхЗаданиеДляФайловойВерсии();
               
               ИнтервалДляОпроса = Константы.ИнтервалДляОпросаРегламентныхЗаданийВФайловомВарианте.Получить();
               
               Если ИнтервалДляОпроса = Неопределено
                   ИЛИ ИнтервалДляОпроса = 0 Тогда
                   
                   ИнтервалДляОпроса = 60;    
                   
               КонецЕсли;
               
               ПодключитьОбработчикОжидания("ПоддержкаРегламентныхЗаданиеДляФайловойВерсии", ИнтервалДляОпроса);
               
           КонецЕсли;
           
       КонецЕсли;
...
29 Студиозус
 
22.05.09
16:55
(27) В общем надо сделать так.
- Создать константу пользователя под которым будет выполняться рег.задание.
- Потом прописать при входе этого пользователя запуск этого менеджера заданий
- после автоматический выход этого пользователя
- и напистаь батник который будет входить в базу под этим пользователем и выполнять регламентное задание.
Всё верно?
30 Студиозус
 
22.05.09
16:55
(28) Вот за это от души спасибо
31 Serg_1960
 
22.05.09
16:56
Это еще не все :)
32 Serg_1960
 
22.05.09
16:57
Переменная "ЭтоФайловаяИБ" устанавливается так:

ЭтоФайловаяИБ = ОпределитьЭтаИнформационнаяБазаФайловая();

Функция ОпределитьЭтаИнформационнаяБазаФайловая(СтрокаСоединенияСБД = "") Экспорт
           
   СтрокаСоединенияСБД = ?(ПустаяСтрока(СтрокаСоединенияСБД), СтрокаСоединенияИнформационнойБазы(), СтрокаСоединенияСБД);
   
   // в зависимости от того файловый это вариант БД или нет немного по-разному путь в БД формируется
   ПозицияПоиска = Найти(Врег(СтрокаСоединенияСБД), "FILE=");
   
   Возврат ПозицияПоиска = 1;    
   
КонецФункции
33 Студиозус
 
22.05.09
16:58
(32) Ну теперь уж точно душевное спасибо! Разжевал что называется:)
34 Serg_1960
 
22.05.09
16:59
Спешишь :))

Процедура ПоддержкаРегламентныхЗаданиеДляФайловойВерсии() Экспорт
   
   ВыполнитьОбработкуЗаданий();
   
КонецПроцедуры
35 Студиозус
 
22.05.09
17:00
(34) :) жду и внимательно читаю:)
36 Serg_1960
 
22.05.09
17:02
Теперь, кажется, усё :)
Как в батничке коммандной строкой запустить сеанс под определенным пользователем - надеюсь знаете.
37 Студиозус
 
22.05.09
17:04
(36) если честно то только хотел Вас просить показать мне пример батника:)
38 Студиозус
 
22.05.09
17:05
+ 37 и ОГРОМНОЕ спасибо за столь подробное разъяснение мне этого трудного вопроса
39 Serg_1960
 
22.05.09
17:09
Запуск можно типа так:

"C:\Program Files\1cv81\bin\1cv8.exe"  ENTERPRISE /FПутькБазе /N "Пользователь" /P "Пароль" /WA- /AU- /DisableStartupMessages /Out C:\Temp\Error.txt
40 Студиозус
 
22.05.09
17:10
(39) Ну всё теперь точно СПАСИБО!!!
Пошёл пробовать!
Респект!
41 Serg_1960
 
22.05.09
17:15
Незачто. Успехов

PS: у уважаемого coder1cv8 есть МастерПараметровКоманднойСтроки.epf - думаю Вам оно пригодится http://www.infostart.ru/projects/1014/