|
|
|
Как поймать ПослеЗаписи для набора записей регистра сведений? | ☑ | ||
|---|---|---|---|---|
|
0
mikecool
10.06.08
✎
16:01
|
Воюю с ручной регистрацией изменений для рбд...
сталкиваюсь с тем, что при записи набора из любой формы в событии ПриЗаписи еще нет отбора по всем измерениям. Тупо дописывать куски кода с регистрацией во все места, где происходит запись таких наборов - парит... Каким то образом можно отловить ПослеЗаписи для набора записей РС? |
|||
|
1
ТелепатБот
гуру
10.06.08
✎
16:01
|
||||
|
2
Asmody
модератор
10.06.08
✎
16:04
|
РегистрСведенийНаборЗаписей.<Имя регистра сведений> (InformationRegisterRecordSet.<Имя регистра сведений>)
ПриЗаписи (OnWrite) Синтаксис: ПриЗаписи(<Отказ>, <Замещение>) Параметры: <Отказ> Тип: Булево. Признак отказа от записи набора в базу данных. Значение по умолчанию: Ложь <Замещение> Тип: Булево. Режим записи набора. Истина - запись осуществляется с заменой существующих в базе данных записей набора. Ложь - запись осуществляется с "дописыванием" текущего набора записей. Описание: Возникает при записи объекта. Процедура-обработчик вызывается ___после записи объекта в базу данных, но до окончания транзакции записи___. |
|||
|
3
mikecool
10.06.08
✎
16:11
|
(2) если я пишу, к примеру, свойства ном-ры или КИ контрагента(т.е. добавляю их в форме объекта), то в момент ПриЗаписи по какому-то из измерений не установлен еще отбор и регистрация не проходит.
Как затычки в коде, уже после НаборЗаписей.Записать(), перечитываю данные и регистрирую - так проходит... но таких мест может быть оч много и пока все найду... :( |
|||
|
4
mikecool
10.06.08
✎
16:12
|
"но до окончания транзакции записи" - фиксануть ее в обработке события можно?
|
|||
|
5
MSensey
10.06.08
✎
16:14
|
(3) странно, а как типовые работают? Подписку пробовал?
|
|||
|
6
MSensey
10.06.08
✎
16:18
|
(0) кстати, а почему при записи отбор должен быть установлен? Я так понял ты про независимый РС?
Можно же записать и без отбора |
|||
|
7
ptiz
10.06.08
✎
16:18
|
(0) Посмотри как в типовых сделано. Регистрации происходит ПередЗаписью() (и не случайно).
|
|||
|
8
mikecool
10.06.08
✎
16:53
|
(6) да, про независимый... таки записать можно и без отбора, а вот регистрировать изменения не дает...
|
|||
|
9
mikecool
10.06.08
✎
16:54
|
(7) щас посмотрю...
|
|||
|
10
MSensey
10.06.08
✎
16:56
|
вот в ЕСИС откапал
Регистрация изменений наборов записей независимых регистров К таким регистрам относятся регистры сведений со свойством РежимЗаписи, установленным в значение Независимый. Для регистрации изменений наборов записей данного регистра необходимо вызвать метод ЗарегистрироватьИзменения() менеджера планов обмена, передав ему в качестве параметра Данные набор записей. Состав элементов отбора, при этом, должен строго соответствовать основному отбору регистра. Выбирать поля, входящие в основной отбор регистра необходимо в соответствии с логикой работы конфигурации (см. Подготовка конфигурации к работе в распределенной ИБ). Для регистрации данных регистра сведений, отбираемых по некоторому критерию, необходимо: выбрать уникальные значения измерений регистра, входящих в основной отбор (если регистр сведений является периодическим и Период включен в основной отбор, то Период также должен участвовать в отборе) выполнить регистрацию наборов записей с установленными значениями отбора, соответствующими каждой выбранной комбинации значений измерений (входящих в основной отбор). |
|||
|
11
MSensey
10.06.08
✎
16:58
|
(7) скорее всего ты указываешь на ручную регистрацию, а не на принудительную. Т.к. только для принудительной нужен отбор
|
|||
|
12
mikecool
10.06.08
✎
17:07
|
(10) вот на сие я и натолкнулся...
мне интересно, как происходит сие действие при автомате, как система это выполняет? |
|||
|
13
MSensey
10.06.08
✎
17:36
|
А ты делаешь принудительную регистрацию, при помощи ЗарегистрироватьИзменения?
Как я понял тебе надо передать набор записей с установленным отбором. Для этого тебе надо из записываемого набора выбрать различные комбинации измерений для которых установлен "ОСноввной отбор" и передать в ЗарегистрироватьИзменения. Т.е. здесь нужна просто информация об отборе. для регистрации не важно какие записи пишутся, важен отбор, т.к. единицей является комбинация измерений с отбором |
|||
|
14
mikecool
10.06.08
✎
17:58
|
(13) это я понял... просто местов в упп, где пишутся такие наборы - нашел порядка 300, и дабы не париться, я пошел другим путем - оставил авторегистрацию для РС с независимой записью, и вручную регистрирую только те, что подчинены регистратору...
|
|||
|
15
ptiz
10.06.08
✎
19:24
|
(14) Посмотри, как в БП 1.6 сделана подписка на событие для регистрации изменений регистров (про УПП не знаю).
|
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |