gifts2017

Регистрация изменений независимого регистра сведений и свойство «Основной отбор».

Опубликовал Станислав Яцкевич (crosby) в раздел Программирование - Практика программирования

Как работает свойство «Основной отбор» измерений независимого регистра сведений. И как регистрируются изменения для обмена, Вы можете понять лучше, прочитав данную короткую публикацию.

Как работает свойство «Основной отбор» измерений независимого регистра сведений. И как регистрируются изменения для обмена.

 

Дано:

Регистр сведений «График работы аптеки» (независимый, периодический)

У регистра одно измерение: «Аптека», по нему включен основной отбор.

Так как регистр периодический, в основной отбор автоматически включается так же измерение «Период».

 

Когда мы производим изменение записи регистра, система регистрирует в таблице изменений для узла обмена старые и новые значения полей «основного отбора».

Если ни одно из полей основного отбора не изменялось, либо при удалении записи – регистрируются только старые значения.

 

Далее, при выгрузке будут формироваться наборы записей по этим самым зарегистрированным в таблице изменений «основным отборам». При этом старые значения отборов могут содержать пустые наборы записей, т.е. при загрузке в базе-приемнике будут очищены записи, соответствующие отбору.

 

Для примера: изменение записи нашего регистра «График работы аптеки»: в нём изменилось измерение «Период». Было 10.09.2013, стало 01.01.2222.

 

Результат выгрузки изменений в листингах ниже:

 

Листинг 1. Новые данные по полям «основного отбора»


 

<InformationRegisterRecordSet.ГрафикРаботыАптеки>
            <Filter>
                     <Period>2222-01-01T00:00:00</Period>
                     <Аптека>8bb651f3-1480-11e3-b85b-5cf3fc34b62e</Аптека>
            </Filter>
            <Records>
                    <Record>
                          <Period>2222-01-01T00:00:00</Period>
                        <Аптека>8bb651f3-1480-11e3-b85b-5cf3fc34b62e</Аптека>
                              <ДеньАптекаНеРаботает1>true</ДеньАптекаНеРаботает1>
                              <ДеньАптекаНеРаботает2>true</ДеньАптекаНеРаботает2>
                              <ДеньАптекаНеРаботает3>true</ДеньАптекаНеРаботает3>
                              <ДеньАптекаНеРаботает4>true</ДеньАптекаНеРаботает4>
                              <ДеньАптекаНеРаботает5>true</ДеньАптекаНеРаботает5>
                              <ДеньАптекаНеРаботает6>true</ДеньАптекаНеРаботает6>
                              <ДеньАптекаНеРаботает7>true</ДеньАптекаНеРаботает7>
                              <КрайнееВремяПолученияДанных>0001-01-01T00:00:00</КрайнееВремяПолученияДанных>
                 </Record>
          </Records>
</InformationRegisterRecordSet.ГрафикРаботыАптеки>

Листинг 2. Удаление старых записей по полям «основного отбора»


<InformationRegisterRecordSet.ГрафикРаботыАптеки>
         <Filter>
                <Period>2013-09-10T00:00:00Period>
                <Аптека>8bb651f3-1480-11e3-b85b-5cf3fc34b62eАптека>
         <Filter>
         <Records/>
InformationRegisterRecordSet.ГрафикРаботыАптеки>

См. также

Подписаться Добавить вознаграждение

Комментарии

1. Василий Казьмин (awk) 12.11.13 18:04
(0) Ничего не понял. Как статья прошла модерацию - непонятно.
2. Сергей Ожерельев (Поручик) 12.11.13 19:58
(0) (1) Хрень какая-то. Об основном отборе и соответствующем флажке в свойствах намного лучше сказано в СП.
3. Олег Хугаев (Kov495) 13.11.13 08:21
Что тут не понятно? В статье сказано, что для измерений с признаком 'основной отбор'
запоминается и старое и новое значение в таблице изменений.
4. Станислав Яцкевич (crosby) 13.11.13 10:33
(2) Поручик, а в СП рассказывается, по какому принципу работает механизм регистрации изменений независимого регистра?
Передо мной стояла задача обработать результат регистрации изменений на узле, что бы потом отправить нужные команды в "не 1сную" базу для инкрементального изменения, в т.ч. удаления, данных по ключу. Нужной информации в интернете не нашел. Разбирался сам. Результатом поделился. Если Вы дадите ссылку на более подробную статью, мы все будем Вам благодарны.
5. Сергей Ожерельев (Поручик) 13.11.13 10:37
(4) Тогда поменяйте название "статьи" на соответствующую содержанию.
6. Станислав Яцкевич (crosby) 13.11.13 10:50
(2) Поручик, читаю СП:

ОбъектМетаданных: Измерение (MetadataObject: Dimension)
ОсновнойОтбор (MainFilter)
Использование:

Только чтение.
Описание:

Тип: Булево.
Если это свойство установлено в значение Истина, то данное измерение входит в основной отбор. В противном случае данное измерение не включается в основной отбор.

Доступность:

Сервер, толстый клиент, внешнее соединение.
Примечание:

Используется для измерений регистров сведений.
7. Станислав Яцкевич (crosby) 13.11.13 11:08
(5) Поручик, спасибо за совет. Название поменял. Если кто получил новые для себя сведения, плюсуйте.
8. DAnry (DAnry) 13.11.13 20:04
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа