Отследить появление новой записи в регистре сведений #717586


#0 by MistaEr
Добрый день! Стоит такая задача. Нужно отследить появление новых записи регистра сведений. Я могу обращаться регламентным заданием обращаться каждые 5 секунд к регистру, прочитать записи обработать и удалять. А есть ли другой вариант решения? Не запускать регламент без надобности.
#1 by shuhard
[А есть ли другой вариант решения] ясен пень
#2 by vhl
Подписка
#3 by Maxus43
ПередЗаписью смотри, есть уже что-то или нет в наборе
#4 by MistaEr
Ну допустим подписка на события при записи, запись то еще не существует, а мне ее после обработки данных нужно удалчть
#5 by APXi
А ты отказывайся от записи
#6 by vhl
Так тебе отследить надо или предотвратить?
#7 by MistaEr
Да, интересно, попробую, спасибо!
#8 by MistaEr
Как только появляется новая запись, получить из него данные, создать документ по этим данным и удалить эту запись. А тут видишь, может я и писать не буду тогда ее.
#9 by Maxus43
>>при записи, запись то еще не существует уже существует и записана. Только транзакция не зафиксирована
#10 by Maxus43
не получится, отказ от записи и твой документ откатит...
#11 by anatoly
по идее подписка на событие, но можно попробовать вариант с авторегистрацией для обмена (сам обмен не делать - просто анализировать зарегистрированные)
#12 by MistaEr
Вот это нехорошо(
#13 by Maxus43
это прекрасно. А то что задачу решаешь через другое место - вот это нехорошо
#14 by MistaEr
А как будет правильное место? Допустим создам я план обмена, а когда читать изменения? Постоянно?
#15 by Maxus43
когда задачу нормально услышим - может и найдётся такое место. в задача не раскрыта. Зачем там создаётся запись? Может вместо создания записи в регистре и документ сразу делать?
#16 by MistaEr
Внешняя программа пишет данные в БД (в регистр), это должно происходить очень быстро. А я решил, что документ должен создаваться и проводиться в 1С.
#17 by vicof
А где суть задачи?
#18 by shuhard
ну а она ?
#19 by Maxus43
Я бы сделал как в , регламентами. Каждые 5 секунд может и часто, но в принципе годится концепция
#20 by ptiz
Если тупо в лоб: добавить реквизит регистра "ЭтоНоваяЗапись" типа булево - заполнять для новых записей в подписке "ПередЗаписью". Еще вариант - при появлении новых записей делать записи в отдельный РС или создавать сразу нужный документ. Кстати, с определением - какая запись "новая", могут быть сложности, если старый набор сначала записывается пустым, а потом заполненным.
#21 by MistaEr
А не зависнет? если много будет записей?
#22 by MistaEr
Тут еще важна скорость, так что особо писать, читать, переписывать не получится.
#23 by Maxus43
я то откуда знаю? смотря ведь как напишешь. Разделяй и властвуй. Запись в регистр и создание документа - разные процессы, не надо их объединять
#24 by MistaEr
Чисто спортивный интерес: А регламентное задание ожидает завершения предыдущей транзакции запущенной на шаг раньше по расписанию?
#25 by Maxus43
нет. Регламентное задание может породить сколько угодно фоновых, в почти одинаковое время. Тут надо правильно код писать... и 5 секунд - слишком часто.
#26 by MistaEr
Еще раз спасибо!
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С