|
Отследить появление новой записи в регистре сведений | ☑ | ||
---|---|---|---|---|
0
MistaEr
19.08.14
✎
09:25
|
Добрый день!
Стоит такая задача. Нужно отследить появление новых записи регистра сведений. Я могу обращаться регламентным заданием обращаться каждые 5 секунд к регистру, прочитать записи обработать и удалять. А есть ли другой вариант решения? Не запускать регламент без надобности. |
|||
2
vhl
19.08.14
✎
09:32
|
(0) Подписка
|
|||
3
Maxus43
19.08.14
✎
09:33
|
ПередЗаписью смотри, есть уже что-то или нет в наборе
|
|||
4
MistaEr
19.08.14
✎
09:33
|
Ну допустим подписка на события при записи, запись то еще не существует, а мне ее после обработки данных нужно удалчть
|
|||
5
APXi
19.08.14
✎
09:35
|
(4) А ты отказывайся от записи
|
|||
6
vhl
19.08.14
✎
09:36
|
(4) Так тебе отследить надо или предотвратить?
|
|||
7
MistaEr
19.08.14
✎
09:38
|
(5) Да, интересно, попробую, спасибо!
|
|||
8
MistaEr
19.08.14
✎
09:39
|
(6) Как только появляется новая запись, получить из него данные, создать документ по этим данным и удалить эту запись. (5) А тут видишь, может я и писать не буду тогда ее.
|
|||
9
Maxus43
19.08.14
✎
09:39
|
>>при записи, запись то еще не существует
уже существует и записана. Только транзакция не зафиксирована |
|||
10
Maxus43
19.08.14
✎
09:39
|
(8) не получится, отказ от записи и твой документ откатит...
|
|||
11
anatoly
19.08.14
✎
09:40
|
по идее подписка на событие, но можно попробовать вариант с авторегистрацией для обмена (сам обмен не делать - просто анализировать зарегистрированные)
|
|||
12
MistaEr
19.08.14
✎
09:41
|
(10) Вот это нехорошо(
|
|||
13
Maxus43
19.08.14
✎
09:42
|
(12) это прекрасно.
А то что задачу решаешь через другое место - вот это нехорошо |
|||
14
MistaEr
19.08.14
✎
09:44
|
(13) А как будет правильное место?
(11) Допустим создам я план обмена, а когда читать изменения? Постоянно? |
|||
15
Maxus43
19.08.14
✎
09:45
|
(14) когда задачу нормально услышим - может и найдётся такое место. в (8) задача не раскрыта. Зачем там создаётся запись? Может вместо создания записи в регистре и документ сразу делать?
|
|||
16
MistaEr
19.08.14
✎
09:49
|
(15) Внешняя программа пишет данные в БД (в регистр), это должно происходить очень быстро. А я решил, что документ должен создаваться и проводиться в 1С.
|
|||
17
vicof
19.08.14
✎
09:52
|
(16) А где суть задачи?
|
|||
18
shuhard
19.08.14
✎
09:53
|
(16) ну а она ?
|
|||
19
Maxus43
19.08.14
✎
09:54
|
Я бы сделал как в (0), регламентами. Каждые 5 секунд может и часто, но в принципе годится концепция
|
|||
20
ptiz
19.08.14
✎
09:55
|
Если тупо в лоб: добавить реквизит регистра "ЭтоНоваяЗапись" типа булево - заполнять для новых записей в подписке "ПередЗаписью".
Еще вариант - при появлении новых записей делать записи в отдельный РС или создавать сразу нужный документ. Кстати, с определением - какая запись "новая", могут быть сложности, если старый набор сначала записывается пустым, а потом заполненным. |
|||
21
MistaEr
19.08.14
✎
10:01
|
(19) А не зависнет? если много будет записей?
|
|||
22
MistaEr
19.08.14
✎
10:01
|
(20) Тут еще важна скорость, так что особо писать, читать, переписывать не получится.
|
|||
23
Maxus43
19.08.14
✎
10:02
|
(21) я то откуда знаю? смотря ведь как напишешь.
Разделяй и властвуй. Запись в регистр и создание документа - разные процессы, не надо их объединять |
|||
24
MistaEr
19.08.14
✎
10:05
|
(23) Чисто спортивный интерес: А регламентное задание ожидает завершения предыдущей транзакции запущенной на шаг раньше по расписанию?
|
|||
25
Maxus43
19.08.14
✎
10:06
|
(24) нет. Регламентное задание может породить сколько угодно фоновых, в почти одинаковое время.
Тут надо правильно код писать... и 5 секунд - слишком часто. |
|||
26
MistaEr
19.08.14
✎
10:09
|
(25) Еще раз спасибо!
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |