Имя: Пароль:
1C
1С v8
ПодпискаНаСобытие ПриЗаписи РС
0 Droning1C
 
06.12.19
16:10
Добрый день! Суть проблемы такова - Есть периодический РегистрСведений. При записи записи(сорри за тавтологию) в регистр мне нужно записать в реквизит GUID записи этого регистра свежесгенерированный уникальный идентификатор.
Делаю я это в подписке на событие. Тип реквизита - Строка,36симв. Ниже код обработчика :

Процедура ПрисвоитьРеквизитGUIDПриЗаписи(Источник, Отказ, Замещение) Экспорт
     Для Каждого Запись Из Источник Цикл
          Если Не ЗначениеЗаполнено(Запись.GUID) Тогда            
           Запись.GUID = Строка(Новый УникальныйИдентификатор);
          КонецЕсли;
     КонецЦикла;
КонецПроцедуры


Код успешно прогоняется, но в итоге значение реквизита не заполняется. Что я делаю не так?
1 FIXXXL
 
06.12.19
16:12
(0) ПередЗаписью делаются такие вещи
2 RomanYS
 
06.12.19
16:13
(0) Делай перед записью. "ПриЗаписи" уже поздно
3 Droning1C
 
06.12.19
16:25
(1) (2) Спасибо! Помогло! А нету ли случайно на примете какой-то статейки хорошей по обработчикам событий подписок?
4 RomanYS
 
06.12.19
16:27
(3) СП читай
5 dezss
 
06.12.19
16:27
(3) Это не только в подписке. В ПриЗаписи объект уже записан в базу, но транзакция еще не завершена.
В ПередЗаписью, объект еще не записан и его можно менять.
6 Droning1C
 
06.12.19
16:32
(5) А в чем тогда смысл ПриЗаписи? просто чтобы отменить транзакцию в зависимости от каких-то условий или поменять что-то связанное с записываемым объектом(например присвоить чему-то свеженькую ссылку на этот объект)?
7 ptiz
 
06.12.19
16:48
(6) "поменять что-то связанное с записываемым объектом(например присвоить чему-то свеженькую ссылку на этот объект)" - да.
Кaк может человек ожидaть, что его мольбaм о снисхождении ответит тот, кто превыше, когдa сaм он откaзывaет в милосердии тем, кто ниже его? Петр Трубецкой