|
(ЗУП) Событие при записи в рег.сведений - как отловить записываемые значения? | ☑ | ||
---|---|---|---|---|
0
vechiy
18.01.13
✎
17:09
|
Пытаюсь отловить значения, которые пишутся в рег.сведений.
К примеру, в паспортныеДанныеФизЛиц Подскажите, как это сделать? В событиях ПриЗаписи и ПередЗаписью в источник.отбор есть только значения реквизитов объекта, вызвавшего события (физЛицо). При создании события ОбработкаЗаполнения - ругается Собственно, как получить то, что сейчас пишется в регистр? |
|||
1
1C-band
18.01.13
✎
17:09
|
(0) Модуль набора записей?
|
|||
2
Reset
18.01.13
✎
17:10
|
В событиях ПриЗаписи и ПередЗаписью в (1)
|
|||
3
Axel2009
18.01.13
✎
17:10
|
для каждого строка из источник цикл
конеццикла; |
|||
4
Reset
18.01.13
✎
17:12
|
Рискуя быть повторно обвиненным в завышенном ЧСВ, отвечу на следующий вопрос - набор строк может быть пустым при "перезаписи" набора. Т.е сначала идет удаление (запись пустого), потому уже новые данные.
|
|||
5
vechiy
18.01.13
✎
17:31
|
как в ПРиЗаписи и ПередЗАписью обратиться к паспортным данным, сохраняемым из формы физ.лица?
источник.отбор - тут реквизиты только физ.лица, типа датыРождения |
|||
6
alextom81
18.01.13
✎
18:16
|
МенеджерНабора записей пишет данные в другой регистр, соответственно, сохраняется история
|
|||
7
alextom81
18.01.13
✎
18:17
|
5 строчек и один РС - всё работает как часы. Смотрим, кто,как и когда менял настройки пользователей
|
|||
8
vechiy
20.01.13
✎
17:39
|
(6) т.е.?
цель - получить значения, которые пишутся в регистр, собственно во время записи |
|||
9
vechiy
20.01.13
✎
18:15
|
ап
|
|||
10
alextom81
21.01.13
✎
10:22
|
Процедура ПередЗаписью (Отказ)
#Если Клиент Тогда СтрТаб = ЭтотОбъект.Выгрузить(); ПользовательКонтроля = ЭтотОбъект.Отбор.Пользователь.Значение; СтарыеНастройки = РегистрыСведений.НастройкиПользователей.СоздатьНаборЗаписей(); СтарыеНастройки.Отбор.Пользователь.Установить(ПользовательКонтроля); СтарыеНастройки.Прочитать(); ТаблицаСтарыхЗаписей = СтарыеНастройки.Выгрузить(); НаборКонтроля = РегистрыСведений.ГНС_КонтрольПользователей.СоздатьНаборЗаписей(); НаборКонтроля.Отбор.Пользователь.Установить(ПользовательКонтроля); Для Каждого Строка из СтрТаб Цикл Значение = ТаблицаСтарыхЗаписей.Найти(Строка.Настройка); Если Значение <> Неопределено Тогда Если Строка.Значение <> Значение.Значение Тогда НоваяЗапись = НаборКонтроля.Добавить(); НоваяЗапись.Изменил = ПараметрыСеанса.ТекущийПользователь; НоваяЗапись.Дата = ТекущаяДата(); НоваяЗапись.Пользователь = Значение.Пользователь; НоваяЗапись.Настройка = Значение.Настройка; НоваяЗапись.СтараяНастройка = Значение.Значение; НоваяЗапись.НоваяНастройка = Строка.Значение; КонецЕсли; КонецЕсли; КонецЦикла; НаборКонтроля.Записать(Ложь); #КонецЕсли КонецПроцедуры |
|||
11
alextom81
21.01.13
✎
10:23
|
Помещено в модуль набора записей РС "НастройкиПользователей"
|
|||
12
Defender aka LINN
21.01.13
✎
10:24
|
(10) А почему только на клиенте?
|
|||
13
alextom81
21.01.13
✎
10:42
|
Потому что нас не интересует то, что выполняется на сервере. Только "пакости" проверяем (которые могут делать только другие пользователи в режиме "предприятия").
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |