Вход | Регистрация


1С:Предприятие :: 1С:Предприятие 8 общая

двойное срабатывание события при записи

двойное срабатывание события при записи
Я
   бегинер
 
31.05.18 - 12:20
обычные формы, толстый клиент
есть справочник, в форме элемента в событии "передзаписью" пишу программно новую запись в другой справочник.
если глф_новые_сообщения=истина и отказ=Ложь тогда;
        //сообщить("запись");

        уведомление=справочники.УведомленияПользователей.СоздатьЭлемент();
        уведомление.Дата=текущаядата();
        уведомление.Получатель=глф_получатель_уведомления;
        уведомление.ВидИнициатора=перечисления.ВидыИнициаторовУведомлений.органайзер;
        уведомление.Событие="от ("+глф_отправитель_уведомления+":) новое сообщение в задаче : "+элементыформы.Наименование.Значение;
        уведомление.КодИнициатора=элементыформы.Код.Значение;
        уведомление.Записать();
    конецесли;
 
 
   бегинер
 
1 - 31.05.18 - 12:22
так вот там два раза новый элемент создается, если в событии разкомментирую строку вывод сообщения "сообщить", либо точку останова сделаю внутри события - то записывается ОДИН элемент.

почему два раза получается событие срабатывает?
с сообщ, с точкой остановки - один
   бегинер
 
2 - 31.05.18 - 12:24
пробовал передзаписью, призаписи, послезаписи - все равно два раза пишет в другой справочник
   бегинер
 
3 - 31.05.18 - 12:25
как побороть? нужно чтобы один элемент создавался (записывался) в другой справочник а не два
   sergey198
 
4 - 31.05.18 - 12:27
может подписки установлены?
   Cool_Profi
 
5 - 31.05.18 - 12:27
Проверяй наличие записи и всё
   DrShad
 
6 - 31.05.18 - 12:27
может из уведомления идет такой же говнокод и запись твоего справочника?
   DrShad
 
7 - 31.05.18 - 12:28
стек вызовов что показывает? откуда вторая запись?
   бегинер
 
8 - 31.05.18 - 12:33
(4) подписок нет
(6) а в чем говнокод просвяти? я не программист 1с  - сам себе конфу пишу под работу
   Ёпрст
 
9 - 31.05.18 - 12:34
(8) говнокод - создание новых элементов при каждой записи
   Ёпрст
 
10 - 31.05.18 - 12:34
заместо проверки, что такой элемент уже есть
 
 Рекламное место пустует
   DrShad
 
11 - 31.05.18 - 12:35
+(9) и делать это все в событии перед записью
   Ёпрст
 
12 - 31.05.18 - 12:35
ну и в значения объекта пихать что-то с ЭлементыФормы.. ну ты понял
   catena
 
13 - 31.05.18 - 12:36
+(11)в модуле формы
   Tateossian
 
14 - 31.05.18 - 12:40
У тебя событие очевидно два раза отрабатывает
   Tateossian
 
15 - 31.05.18 - 12:44
(13) А что не так-то с модулем формы? Может такое и нужно поведение.
   DrShad
 
16 - 31.05.18 - 12:45
(15) как минимум модуль объекта с обязательной проверка уже существования такового ну и не перед записью
   бегинер
 
17 - 31.05.18 - 12:50
1справочник: задачи
на форме справочника1 "задачи" есть ТЧ "переписка" постановщика задачи с исполнителем. так вот "передзаписью" элемента справочника1 - по "глф_новые_сообщения" если есть новая переписка - то программно пишу в ДРУГОЙ справочник2 "уведомленияпользователей"

(9) т.е. мне при каждой записи "задачи" если появилось новая переписка в ней в ТЧ - я уведомляю (создаю новый элемент уведомление) в справочнике2

в чем здесь говно? :))
   бегинер
 
18 - 31.05.18 - 12:51
есть новая переписка (строка в ТЧ) - уведомляю постановщика/исполнителя
   бегинер
 
19 - 31.05.18 - 12:52
уведомление.КодИнициатора=элементыформы.Код.Значение

уведомление - это справочник2
элементыформы.Код.Значение - это элементформы справочника1 (справочник задач)
   Ёпрст
 
20 - 31.05.18 - 13:01
(17) я от нечего делать нажимаю на кнопку записать 20 раз, создалось 20 элементов, если для вас это нормально, продолжайте в том же духе
   Tateossian
 
21 - 31.05.18 - 13:11
(20) Я обычно в дополнительных свойствах при работе с формой фиксирую необходимость сделать какую-то работу, а при записи в объекте эту работу делаю, чтоб как раз не создавалось 20 объектов от нажатий от нечего делать))
   бегинер
 
22 - 31.05.18 - 13:12
(20) :) нет конечно
я флаг очищаю:
глф_новые_сообщения=ложь

соотв. последующие нажатия кнопки не приведут к записи уведомлений
   DrShad
 
23 - 31.05.18 - 13:16
(21) повторно открываю форму и как говорится "Никогда такого не было и вот опять!"
   DrShad
 
24 - 31.05.18 - 13:16
(22) у тебя запись элемента не пройдет по какой-либо причине и что тогда?
   бегинер
 
25 - 31.05.18 - 13:19
(24) что имеешь ввиду?
если задача не записалась - то и не уведомит
   бегинер
 
26 - 31.05.18 - 13:26
сейчас все робит как надо, всем спасибо!
   бегинер
 
27 - 31.05.18 - 13:26
всем добра!
   catena
 
28 - 31.05.18 - 13:36
(15)Ну хотя бы то, что форменные процедуры выполняются вне транзакции.
   Tateossian
 
29 - 31.05.18 - 14:41
(24) Все одна транзакция - откатится до записи и не будет создана задача.


Список тем форума
Рекламное место пустует  Рекламное место пустует
Программист всегда исправляет последнюю ошибку.
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует