|
Регламентное задание | ☑ | ||
---|---|---|---|---|
0
makkut
08.06.18
✎
13:14
|
Добрый день!
Поступила задача сделать регламентное задание на обработку договоров контрагента. Автоматически переводить в статус "Не действующие" те договора срок действия которых истек и не пролонгированы. Сначала я сделал обработочку, протестил её, отрабатывает нормально. Далее создал общий модуль куда вбил код процедуры Процедура ГЭС_ДоговораКонтрагентовНеДействующие() Экспорт Выборка = Справочники.ДоговорыКонтрагентов.Выбрать(); Пока Выборка.Следующий() Цикл Если Выборка.ГЭС_СтатусДоговора = Перечисления.ГЭС_СтатусыДоговоров.Действует И Выборка.СрокДействия < ТекущаяДата() И НЕ Выборка.СрокДействия = Дата('00010101') И (Выборка.ГЭС_ВидДействияДоговора = Перечисления.ГЭС_ВидДейстивияДоговора.Бессрочный ИЛИ Выборка.ГЭС_ВидДействияДоговора = "") Тогда ВыборкаОбъект = Выборка.ПолучитьОбъект(); ВыборкаОбъект.ГЭС_СтатусДоговора = Перечисления.ГЭС_СтатусыДоговоров.НеДействует; ВыборкаОбъект.Записать(); КонецЕсли; КонецЦикла; КонецПроцедуры далее создал рег задание привязал туда этот модуль. установил параметры расписания. Но оно не срабатывает. В журнале регистрации пусто, что не так сделал? |
|||
1
bavkyz
08.06.18
✎
13:22
|
(0) какая кон-ция?
|
|||
2
makkut
08.06.18
✎
13:23
|
(1) УПП 1.3
|
|||
3
lubitelxml
08.06.18
✎
13:25
|
Справочники.ДоговорыКонтрагентов.Выбрать(); - вырвите мне глаза
|
|||
4
piter3
08.06.18
✎
13:26
|
если не прошло.И это а запросом по религиозным соображениям не делается?
|
|||
5
DexterMorgan
08.06.18
✎
13:26
|
(0) Г0вн0код потому что
|
|||
6
makkut
08.06.18
✎
13:27
|
(3) скажите как правильно, однако обработкой этот код работает
|
|||
7
DexterMorgan
08.06.18
✎
13:29
|
(0) фу так писать
|
|||
8
DexterMorgan
08.06.18
✎
13:29
|
сначала выбрать все договора, а потом проверять условие на каждый
|
|||
9
makkut
08.06.18
✎
13:32
|
(8) и так работает всё нормально, не там советуете. вопрос в другом
|
|||
10
piter3
08.06.18
✎
13:34
|
что-то мне не нравиться еще,что сначала сравниваешь с текущей датой,а потом только с пустой
|
|||
11
3achem
08.06.18
✎
13:35
|
(9) Сделай запись в журнал, посмотри, что происходит. 95%, что расписание настроил не правильно.
|
|||
12
lubitelxml
08.06.18
✎
13:35
|
попробуй вручную запустить задание, без ошибок выполнится?
|
|||
13
lubitelxml
08.06.18
✎
13:36
|
расписание из конфигуратора убери, настрой в предприятии
|
|||
14
anatoly
08.06.18
✎
13:36
|
(0) а в консоли заданий что?
|
|||
15
bavkyz
08.06.18
✎
13:37
|
(2) КонсольЗаданий есть обработка? посмотрите может не создано ваше регзадание, поэтому не стартует....
|
|||
16
makkut
08.06.18
✎
13:37
|
(10) у договора может быть не проставлена дата окончания
|
|||
17
makkut
08.06.18
✎
13:39
|
(12) в консоле заданий пробовал и как предопределённое и как не предопределённое
|
|||
18
makkut
08.06.18
✎
13:40
|
(15) Есть там всё.... И там расписание настраивал..
|
|||
19
lubitelxml
08.06.18
✎
13:41
|
другие задания выполняются?
|
|||
20
makkut
08.06.18
✎
13:42
|
(19) да, можно ли отладить регл задание?
|
|||
21
lubitelxml
08.06.18
✎
13:43
|
да, поставь точку в общем модуле и руками запусти задание
|
|||
22
Mankubus
08.06.18
✎
13:43
|
(18) другие регл задания работают? А то может блокировка стоит?
|
|||
23
makkut
08.06.18
✎
13:47
|
(21) как его запустить то вручную? через консоль заданий? нет там кнопки запуска в окне регл заданий
|
|||
24
Мандалай
08.06.18
✎
13:50
|
Должна быть - не туда смотришь.
В отладчике в настройках поставь галочку автоматически подключаться к фоновым заданиям. |
|||
25
Мандалай
08.06.18
✎
13:51
|
Если платформа позволяет запусти http отладку.
|
|||
26
3achem
08.06.18
✎
13:52
|
(23) Своя обработку в одну строку запускает регламентное задание
|
|||
27
makkut
08.06.18
✎
13:55
|
(24) походу что то с правами.... буду искать скачал с инета другую консоль один фиг правой кнопкой мыши на задании а запустить нет ...
|
|||
28
Necessitudo
09.06.18
✎
06:39
|
Файловая базенка-то?
|
|||
29
Смешной 1С
09.06.18
✎
06:51
|
(9) понятно, что работает. Но работает очень не оптимально. Переделай на запрос, в котором сразу отбор нужный установи. Тогда перебирать будешь только нужные тебе договоры.
Представь ситуацию из жизни: тебе нужно сварить гречневую кашу. Ты понимаешь, что для того чтобы сварить, тебе нужно сходить и купить гречки. Но по твоему методу, ты идешь в магазин и покупаешь все крупы которые там есть, тащишь к себе домой их все, а потом стоишь дома перед кастрюлей и смотришь: Если ЭтоГречка Тогда ПоложитьВКастрюлю; КонецЕсли; Ты сваришь гречку, а остальные просто выкинешь. Зачем покупал? Зачем домой тащил? И так будет при каждой варке любой каши... |
|||
30
Смешной 1С
09.06.18
✎
06:52
|
(27) в журнале регистрации что-нибудь может пишет? База файловая или клиент серверная?
|
|||
31
Сияющий в темноте
09.06.18
✎
08:00
|
Во-впервых,через выбрать,это семерочный код,там он может работать быстрее запроса,в восьмерке же нужно выбирать запросом,тем более,что несколько условий.
И получать обьект только для тех элементов,которые меняем. во-вторых,я бы разделил вопрос на два и попытался бы просто запустить регламентное задание,которое пишет в журнал строку и сразу завершается,и после того,как оно отработает,уже бы шел к нужной процедуре |
|||
32
Strogg
09.06.18
✎
08:45
|
1) в параметрах отладки выбрать отладку фоновых заданий.
2) В случае, если база клиент-серверная, убедиться, что в свойствах не включена блокировка выполнения регл. заданий. 3) качнуть обработку консоль заданий с выполнением. ну а список договоров к изменению, конечно. лучше получать запросом. Разница примерно как с условием в запросе, и параметрами ВТ... |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |