Имя: Пароль:
1C
1С v8
Организация запуска обработки, по случайному времени
,
0 Ne_Maks
 
23.03.15
10:44
Доброго всем. Вопрос такой. Есть обработка которую я бы хотел выполнять в определенное время, надо придумать как это сделать. Скажите - регламентное задание. Но нет, мне надо выполнять задание в разные дни и разное время, которое я задаю в отдельном справочнике. Этот справочник имеет два реквизита. Один это дата и время, второй булево означающий что на эту дату задание было выполнено. Так вот и стоит задача сделать что-то типо регламентного задания, которое будет брать указанную дату время и выполнять обработку. А флаг выполнения можно уже из самой обработки ставить я думаю.
1 ДенисЧ
 
23.03.15
10:47
Регламентное задание, запускающееся каждую минуту и проверяющее, а не надо ли ему выполнииться.
2 Stim
 
23.03.15
10:48
а чем отличается дата в справочнике от даты в регламентном задании?

или ты хочешь задать 100500 дат на весь год?
3 patria0muerte
 
23.03.15
10:51
4 Лефмихалыч
 
23.03.15
10:52
(0) регламентное задание - да, только надо, чтобы оно перед запуском твоей обработки проверяло, пора ее запускать или нет
5 Serg_1960
 
23.03.15
10:56
Чисто просто так, скользя мимо по поверхности:

А кто сказал что регламентное задание (точнее сказать - фоновое задание) не имеет права изменять своё же расписание? Почему нельзя устанавливать следующий запуск рег.задания при завершении работы обработки?
6 patria0muerte
 
23.03.15
10:59
(5) Да как то не очень получается концепция, что расписание рег. задания завязано на выполнение самого рег.задания.
Право то имеет, но ИМХО, логичней расписание (ежели оно нестандартное) хранить отдельно..
7 Лефмихалыч
 
23.03.15
11:01
(5) можно и так, но представь, что будет, если очередной запуск не случился - например сервер был остановлен для регламентных работ. Оно ведь остановится на всегда, т.к. код, который должен был установить расписание следующего запуска, не выполнится уже ни когда
8 patria0muerte
 
23.03.15
11:04
(7) Как боженька смолвил...
9 Ne_Maks
 
23.03.15
11:06
(1) Неохото порождать миллион рег. заданий, надо создать что-то типо фонового задания которое будет ждать появления определенного времени.
10 Ne_Maks
 
23.03.15
11:06
Наподобие подписки на событие, вот как извратиться
11 Лефмихалыч
 
23.03.15
11:07
(9) одно породи
12 Serg_1960
 
23.03.15
11:07
(7) Если указать "Время начала", а в это время сервер, допустим не работал, то задание запустится как только сервер будет запущен. Кстати в самом задании можно "перепроверять" время "запланированного" и "фактического" запуска.
13 Лефмихалыч
 
23.03.15
11:08
(12) лишние заморочки, как по мне. Проще запускать его постоянно и проверять - пора или не пора каждый раз.
14 Лефмихалыч
 
23.03.15
11:11
(10)  какая религия мешает тебе написать в ОДНОМ регламентном задании код

[code]
Если Справочники.РасписаниеСпорадическогоВыполненияМоейСуперОбработкиНаВсеВремена.ПораВыполнятьОбработку() Тогда
   // выполнить обработку
КонецЕсли;
[/code]
15 Ne_Maks
 
23.03.15
11:14
(11) Одно породить и внутри бесконечный цикл что ль?
(13) Ну и еще мне нужна точность до секунды, а регламентное задание, почему то, стоит через минуту и всё, ставить пытался через секунду там облом, может где устанавливается по умолчанию, галка какая нить.
16 EugeniaK
 
23.03.15
11:17
(0) При сохранении записи в справочнике меняй программно расписание регламентного задание.
Т.е. пользователь сохранил запись - она вписалась в расписание.
Убрал запись - она удалилась из расписания.
17 Stim
 
23.03.15
11:19
(9)>>Неохото порождать миллион рег. заданий, надо создать что-то типо фонового задания которое будет ждать появления определенного времени.

повторю вопрос - что мешает указать конкретную дату (со временем) в расписании регл задания? к чему этот велосипед со справочником?
18 Ne_Maks
 
23.03.15
11:20
(16) а вот это идея. А если я захочу написать расписание на месяц вперёд? или пол года? тогда мб создать лучше документ с таб. частью и хранить там дату выполнения? или это уже точно начинается гемор?)
19 Лефмихалыч
 
23.03.15
11:20
(15) открой уже глаза, включи голову в розетку, приди в сознание и прочитай (1)
20 Serg_1960
 
23.03.15
11:24
"...и еще мне нужна точность до секунды"(15) - надеюсь автор не пишет обработку запуска ядерных боеголовок на орбиту? Шутка:)

Какой минимальный период между запусками - такую периодичность и нужно установить в расписании. При запуске проверить расписание (которое хранится, например, в регистре сведений) и соответственно продолжить работу или завершить.
21 Ne_Maks
 
23.03.15
11:28
(17) (19) (20) Будет список товаров, который будет продаваться в определённые дни, в определённое время и секунду, этот список товара будет создан приблизительно на год, один раз загрузив его в справочник либо в документ. Надо написать обработку чтоб этот товар продавался в то время которое будет указано. И никаких боеголовок (20)
22 Ne_Maks
 
23.03.15
11:30
С периодичностью в регламентном задании фигня какая то поставил чтоб заново выполнялась через 3 минуты, оно выполняется через минуту, поставил через 5 секунд, оно тож запускается через минуту.
23 EugeniaK
 
23.03.15
11:32
(18) (21) Посмотри на структуру хранения расписания в системе.
Если частых изменений нет, может даже проще регистр сведения и обновление расписания по отдельной кнопке формы списка.
Откорректировал все даты вручную или загрузил.
Нажал "Обновить расписание"
24 Ne_Maks
 
23.03.15
11:46
(23) Благодарю, разобрался и настроил. Буду регистр создавать.
Ошибка? Это не ошибка, это системная функция.