Имя: Пароль:
1C
1С v8
v8: При исполнении подписки на событие не додается запись в регистр сведений.
, ,
0 bVana
 
01.08.11
12:18
Создал подписку на событие ПриЗаписи Номенклатуры, пишу такой код

МаксКод = 5;
рег  = РегистрыСведений.ЗначенияСвойствОбъектов.СоздатьНаборЗаписей();
рег.Отбор.Объект.Значение = источник.ссылка;
рег.Отбор.объект.Использование = истина;
рег.отбор.Свойство.Значение = ПланыВидовХарактеристик.СвойстваОбъектов.ВнешнийКод;
рег.отбор.Свойство.Использование = Истина;
       
запись= рег.Добавить();
Запись.активность = истина;
запись.Объект = источник.ссылка;
Запись.Свойство = ПланыВидовХарактеристик.СвойстваОбъектов.ВнешнийКод;
Запись.Значение = МаксКод;
       
рег.Записать();

исполнение проходит без ошибок - но запись не додается. В чем может быть проблема?
1 Amiralnar
 
01.08.11
12:19
Было уже. Юзай поиск. После записи делай.
2 lxs
 
01.08.11
12:19
Это зачем?


рег.Отбор.объект.Использование = истина;
3 lxs
 
01.08.11
12:21
(1) для свойств еще позволительно, но для некоторых вещей к ПослеЗаписи() надо еще добавить проверку ПередЗаписью(), чтобы не стереть что-нибудь нужное
4 bVana
 
01.08.11
12:22
(1) нет для справочника после записи
5 0xFFFFFF
 
01.08.11
12:22
чтобы стереть что нибудь ненужное, нужно сначала записать что нить ненужное :))
6 lxs
 
01.08.11
12:23
(5) про ненужное тема проста: наборзаписей.записать() с отбором ))
7 bVana
 
01.08.11
12:23
сам код рабочий, и если не в подписке вызывается - все ок. Только из подписки -результата 0.
8 Amiralnar
 
01.08.11
12:25
(7) И когда же поиск использует топикстартер?
9 Amiralnar
 
01.08.11
12:25
Можем рассказать, в чем подвох, но это не по джентельменски.
10 lxs
 
01.08.11
12:25
(7) Суть тебе уже объяснили. Проблема в том, в какой процедуре вызываешь.
11 bVana
 
01.08.11
12:38
а можно точнее? а то версий много
12 bVana
 
01.08.11
13:09
(10) вызывал и ПередЗаписью и послеЗаписи
результат тот же
так в чем же подвох???
13 lxs
 
01.08.11
13:28
(12) косяк точно в ДНК)) как минимум.




рег  = РегистрыСведений.ЗначенияСвойствОбъектов.СоздатьНаборЗаписей();
рег.Отбор.объект.Установить(источник.ссылка);
рег.Отбор.объект.Установить(ПланыВидовХарактеристик.СвойстваОбъектов.ВнешнийКод);
       
запись= рег.Добавить();
Запись.активность = истина;
запись.Объект = источник.ссылка;
Запись.Свойство = ПланыВидовХарактеристик.СвойстваОбъектов.ВнешнийКод;
Запись.Значение = МаксКод;
14 lxs
 
01.08.11
13:29
второй отбор по свойству конечно же (очепятка)
15 lxs
 
01.08.11
13:31
ПланыВидовХарактеристик.СвойстваОбъектов.ВнешнийКод - это предопределенное значение, я так понимаю?
16 bVana
 
01.08.11
13:50
(13) все не так просто, если бы только в ДНК)
(15) да
мой вариант описанный в (0) - однозначно рабочий если запускать его внешней обработкой
и шото мне начинает казатся - есть еще одна подписка на событие для товаров и она пишет в тот же регистр, или шото типа этого
17 Amiralnar
 
01.08.11
14:12
(16) так так так, кажется автор готов воспользоваться поиском по формуму....!!!
18 Amiralnar
 
01.08.11
14:14
Программист всегда исправляет последнюю ошибку.