|
(нужна идея) Как сделать так, чтобы обработка запускалась только 1 раз день? | ☑ | ||
---|---|---|---|---|
0
tor0310
31.05.19
✎
12:13
|
Нужна именно идея, как это лучше организовать.
Сейчас есть обработка, которая запускается каждый раз при открытии программы любым пользователем. Она смотрит на какую дату были выставлены счета на абонентку, если дата не сегодняшняя, то выставляет за эти все даты (с даты из константы по текущую). В константу записывает текущую дату. Когда следующий пользователь (или этот же, но повторно за день) открывает программу, то стоит текущая дата и обработка не отрабатывает. Но случались проблемы, когда пользователи одновременно входили (секунда в секунду) и у одного новая дата еще не взвелась и у другого обработка проверила, что дата не сегодняшняя и тоже начинала выставлять за сегодня документы. Я добавил константу "ИдетПроцессСозданияДокументов" - как только один пользователь входит в этот режим, то других уже не пускает (стоит условие проверки взведенности этой константы). Но как-то все равно этот процесс странно отработал, документы задвоились, а флаг "ИдетПроцессСозданияДокументов" остался взведенным. На уровне идеи, как лучше организовать, чтобы обработка запускалась при запуске программы и отрабатывала только 1 раз в день только у одного из пользователей? |
|||
1
tor0310
31.05.19
✎
12:15
|
я к тому, что может есть какие получше идеи, а я тут изобретаю велосипед. Гуглить ходил, но не соображу, как правильно вопрос гуглу задать, чтобы найти ответ
|
|||
2
Натуральный Йог
31.05.19
✎
12:16
|
(0) Запускать по расписанию раз в день?
|
|||
3
Fish
31.05.19
✎
12:19
|
(2) +1000. Настроить расписание.
|
|||
4
Cyberhawk
31.05.19
✎
12:20
|
Режим совместимости какой?
|
|||
5
tor0310
31.05.19
✎
12:24
|
(2)(3) Расписание отработает железно только у одного из пользователей? Не получится, что одна и та же обработка отработает у всех? Хотя даже так: в файловой базе обработки по расписанию отрабатывают в ут 10.3 только под определенным пользователем. А если он не вошел в базу (в отпуске, заболел... еще что-нибудь), то и не отработает совсем. Поэтому видимо и делали не через расписание
|
|||
6
Натуральный Йог
31.05.19
✎
12:25
|
(5) По этому файловая это детский сад
|
|||
7
tor0310
31.05.19
✎
12:25
|
(4) Режим совместимости Версия 8.2.13 :)
|
|||
8
tor0310
31.05.19
✎
12:26
|
(6) Ради этого ставить sqlную базу - это слишком. Не столько у нас пользователей в базе работает
|
|||
9
Zombi
31.05.19
✎
12:28
|
Настроить запуск обработки только под одним служебным пользователем. Настроить какой нибудь программулиной запуск 1с под этим пользователем раз в день.
|
|||
10
Кодер
31.05.19
✎
12:28
|
Файловая база в любом случае неправильно. Но двойной флаг ты начал делать нормально, проверь всё, исправь простую ошибку и будет работать.
|
|||
11
Натуральный Йог
31.05.19
✎
12:29
|
Сначала константу ставить, потом документы создавать?
|
|||
12
Cyberhawk
31.05.19
✎
12:30
|
(8) Через планировщик заданий ОС тогда только (батник с запуском внешней обработки или ключом запуска, обрабатываемым в коде конфигурации)
|
|||
13
Натуральный Йог
31.05.19
✎
12:31
|
Да пусть круглосуточно сидит, ёпт
|
|||
14
lodger
31.05.19
✎
12:32
|
(0) идея:
каждый кто заходит выполняет ПолучитьФоновыеЗадания(); проверяем по ИД запущенные, нету - запускаем с ИД, есть - игнорим. |
|||
15
tor0310
31.05.19
✎
12:34
|
(14) о, может быть и норм вариант. Спасибо, буду разбираться
|
|||
16
tor0310
31.05.19
✎
12:35
|
(13) это такое дело, вот закроют программу и опять выйдет, что полмесяца счета не выставлялись, пока не обнаружим
|
|||
17
ManyakRus
31.05.19
✎
12:35
|
(0) блокируйте константу на изменение блокировками
кто первым сможет заблокировать тот и запустит обработку :) 14) тогда и не нужны слишком сложные херни |
|||
18
Натуральный Йог
31.05.19
✎
12:36
|
(16) Кто-ж её закроет? Сделай ещё расписание на рассылку по эл почте. если письмо не пришло, то пользователь вышел
|
|||
19
tor0310
31.05.19
✎
12:37
|
(12) да, тоже вариант. Но пока (14) больше нравится
|
|||
20
Натуральный Йог
31.05.19
✎
12:37
|
(16) "полмесяца счета не выставлялись" торгаша на бутылку.
|
|||
21
los_hooliganos
31.05.19
✎
12:39
|
(16) А проверяй при закрытии можно пользователю выходить или нет :)
|
|||
22
tor0310
31.05.19
✎
12:40
|
(20) :)) счета за обслуживание - не торговля
деньги с клиентов нужно вперед брать, а то потом начинаются фокусы |
|||
23
Fish
31.05.19
✎
12:40
|
(21) Не отработает, если 1С упадёт.
|
|||
24
los_hooliganos
31.05.19
✎
12:41
|
Правильнее всего запускать виндой определенного пользователя 1С под которым и будет стартовать что нужно и делаться что нужно. Обмены, отчеты на утро и прочая необходимая хрень.
|
|||
25
Fish
31.05.19
✎
12:41
|
(14) А разве стандартный механизм не так работает?
|
|||
26
los_hooliganos
31.05.19
✎
12:42
|
Процедура ПриПадении(Отказ)
Отказ = Ложь; КонецПроцедуры |
|||
27
los_hooliganos
31.05.19
✎
12:42
|
(26) тфу.. конечно Отказ = Истина :)
|
|||
28
tor0310
31.05.19
✎
12:43
|
(25) вообще да, можно потестить. Сделать на файловой запуск фоновых заданий под всеми пользователями. Зайти на тестовой базе под 2мя польз и проверить.
Но если кто знает наверняка - отпишитесь |
|||
29
Натуральный Йог
31.05.19
✎
12:43
|
(22) Рассылку счетов настрой
|
|||
30
tor0310
31.05.19
✎
12:45
|
"не давать закрывать" и "отсылать письмо на почту, если не отработало" - уже как-то городить, душа поэта не одобряет :)
|
|||
31
tor0310
31.05.19
✎
12:45
|
(29) ну так это она и есть. Речь про нее
|
|||
32
tor0310
31.05.19
✎
12:47
|
Но уже 2 идеи есть, спасибо. Этого достаточно. Если текущая настройка еще раз сбойнет, тогда буду менять
|
|||
33
mistеr
31.05.19
✎
13:40
|
(0) Если процесс выставления счетов важен для бизнеса, то можно поднапрячься и сделать его независимым от работы пользователей.
Отдельный комп и запуск обработки по расписанию из Планировщика. И проверка, что предыдущий запуск завершился штатно. |
|||
34
Кирпич
31.05.19
✎
13:48
|
тупо открывай файл блокировка.тхт эксклюзивно, делай обработку, закрывай файл
|
|||
35
Кирпич
31.05.19
✎
13:51
|
можешь в этот файл писать дату выполнения обработки вместо константы
|
|||
36
exwill
31.05.19
✎
14:25
|
(8) Файловая, не файловая. Какая разница? С какого-то достаточного древнего релиза регламентные задания работают одинаково (ну почти) что в файловой, что в клиент-серверной.
Используйте регламентное задание. |
|||
37
VS-1976
31.05.19
✎
14:30
|
(8) Может через регламент виндовый настроить в строке запуска укажешь ключи и какую обработку запускать.
|
|||
38
Cyberhawk
31.05.19
✎
14:31
|
(19) Если нужна гарантия, чтоб каждый день, тогда завязываться на то что пользователь зайдет в этот день в инфобазу нельзя
|
|||
39
Cyberhawk
31.05.19
✎
14:34
|
(36) С учетом (7) не прокатит твое предложение
(37) Повторюша (12) :) |
|||
40
dezss
31.05.19
✎
14:35
|
ИМХО, (17) - лучшее предложение.
|
|||
41
VS-1976
31.05.19
✎
14:37
|
(40) А если все ушли на фронт ( выходной )?
|
|||
42
VS-1976
31.05.19
✎
14:38
|
(39) Я тебя поставил в игнор и твои сообщения у меня не отображаются...
|
|||
43
Cyberhawk
31.05.19
✎
15:33
|
(42) Как же ты тогда сейчас отвечаешь? )
|
|||
44
MetaDon
31.05.19
✎
15:50
|
Если ЭтаФорма.Открыта() Тогда
Возврат; КонецЕсли; |
|||
45
Garykom
гуру
31.05.19
✎
15:53
|
Веб-сервис же который крон дергает или батник через curl по расписанию
|
|||
46
dezss
31.05.19
✎
16:00
|
(41) Ну тут ТС сам поставил такие рамки:
"На уровне идеи, как лучше организовать, чтобы обработка запускалась при запуске программы и отрабатывала только 1 раз в день только у одного из пользователей? " |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |