Вход | Регистрация
 

КД 2.0 Как изменить регистрацию документа

КД 2.0 Как изменить регистрацию документа
Я
   Klesk
 
11.07.21 - 14:36
Документ надо регистрировать не по дате документа который попадает в интервал синхронизации, а по другому реквизиту типа Дата
Т.е. у ПКО дата может не попадать в период синхронизации, а ДатаПробитияЧека если она попадает документ должен быть отмечен к регистрации. А остальным Отказ
Как это сделать, в правилах регистрации  менять, или в плане обмена или где?
   Aleksey
 
1 - 11.07.21 - 14:39
С каких это пор "Документ регистрируется по дате документа"?
   mikecool
 
2 - 11.07.21 - 14:41
(1) +1
   mikecool
 
3 - 11.07.21 - 14:41
зарегистрированные к обмену могут отбираться по периоду, но регистрация всегда - текущей датой
   Klesk
 
4 - 11.07.21 - 14:48
(3) вот и вопрос где они отбираются?
   ДенисЧ
 
5 - 11.07.21 - 14:50
(4) Есть такая штука "правила регистрации"....
(3) а что такое "регистрация текущей датой"?
   Klesk
 
6 - 11.07.21 - 15:03
(5)я  в правилах регистрации в отборах вижу только Дата Больше или равно ДатаНачалаВыгрузкиДокументов
а в обработчике "перед обработкой" - Объект – объект для которого выполняется правило регистрации
т.е. запрос уже выполнен где то
   ДенисЧ
 
7 - 11.07.21 - 15:10
(6) Есть ещё одна хитрая штука - замер производительности называется...
   серый КТУЛХУ
 
8 - 11.07.21 - 16:24
Способ#1. в подписке на сохранение объекта - ЕСЛИ регистрация выполняется там и авторегистрация (объекта в составе плана обмена) "запрещена". находим в коде при каких условиях объект регистрируется для обмена - правим как нам надо.

Способ#2. исправить правила регистрации в правилах для синхронизации - ЕСЛИ авторегистрация (объекта в составе плана обмена) не "запрещена". выполняется в кд2 (см.ниже). точнее выгружается - загружается в кд2 - правится в кд2 - выгружается из кд2 - загружается.

Способ#3. исправить правила обмена в правилах для синхронизации. действует тупо всегда и поверх всего. слегка увеличит трафик (выгрузятся со сбросом регистрации все зарегистрированные объекты - загрузятся с учетом кода указанного обработчика выборочно)

Для способов #2 и #3 - алгоритм работы в принципе общий (нюанс в том, что и как изменять в кд2. см.п.3 ниже)
1) в правилах синхронизации (они обычно хранятся в недрах конфигурации, но через бсп как правило реализован механизм их выгрузки-загрузки):
1а) выгружаем конфигурации этой базы и корреспондента соответствующей обработкой MD8xExp.epf из комплекта поставки конфигурации "конвертация данных 2.х" (2.1 из э бэст хотя можно и 2.0 - далее этот продукт будет именован "как обычно" кд2).
1б) выгружаем правила синхронизации - это как правило зип-файл в котором правила регистрации этой базы, правила обмена этой базы и правила обмена базы-корреспондента. распаковываем - получаем эти три файла: RegistrationRules.xml (правила регистрации в этой базе), ExchangeRules.xml (правила обмена этой базы) и CorrespondentExchangeRules.xml (правила обмена базы-корреспондента). кстати если выгружать аналогично в базе-корреспонденте, там те же самые правила обмена но переставленные местами (имеются ввиду имена), оттуда в принципе только правила регистрации базы-корреспондента нужны.
2) запускаем кд2, и в ней усердно делаем следующее
2а) загружаем в нее конфигурации этой базы и корреспондента - из файлов п.1а
2б) загружаем правила регистрации (см.п.1б) из файлов RegistrationRules.xml, полученных при выгрузке из этой базы и из базы-корреспондента.
2в) загружаем правила обмена (см.п.1б) этой базы (из файла RegistrationRules.xml) и базы-корреспондента (из файла CorrespondentExchangeRules.xml) комплекта, выгруженного в п.1б в этой базе
3) правим в кд2 (Для Способа#2 - правим правила регистрации этой базы, для Способа#3 - правим код обработчика "после загрузки" в правиле обмена этой базы для нужного объекта - проверять условия, и если объект грузить в базу-корреспондент не надо - "Отказ = Истина;")
4) выгружаем из кд2 комплекты (в зип-файлы для загрузки правил синхронизации).
Панель: Правила обмена -- Сохранить правила
или на начальном экране ссылка "Сохранить правила обмена данными" - третья (слева) ссылка в предпоследней строке ссылок
а затем (отказавшись от выбора файла если он сразу появится!) в открывшемся диалоге:
4а) создать комплект для этой базы:
Конвертация: выбрать правило обмена этой базы (прим.: откорректированное если это Способа#3)
Выгружать правила корреспондента: ВКЛючить
Конвертация корреспондента: выбрать правило обмена базы-корреспондента
Выгружать правила регистрации: ВКЛючить
Правила регистрации: выбрать правило регистрации этой базы (прим.: откорректированное если это Способа#2)

обратить внимание на то, чтобы "Сжимать файл правил" (вверху под полем файла выгрузки) было ВКЛючено
выбрать (вверху диалога) собственно zip-файл, в который всю эту байду для этой базы выгружать.
[Сохранить] = кнопка по умолчанию. дождаться окончания...
4б) создать комплект для базы-корреспондента:
Конвертация: выбрать правило обмена базы-корреспондента
Выгружать правила корреспондента: ВКЛючить
Конвертация корреспондента: выбрать правило обмена этой базы (прим.: откорректированное если это Способа#3)

Выгружать правила регистрации: ВКЛючить
Правила регистрации: выбрать правило регистрации базы-корреспондента
обратить внимание на то, чтобы "Сжимать файл правил" (вверху под полем файла выгрузки) было ВКЛючено
выбрать (вверху диалога) собственно zip-файл, в который всю эту байду для базы-корреспондента выгружать.
[Сохранить] = кнопка по умолчанию. дождаться окончания...
5) в правилах синхронизации (они обычно хранятся в недрах конфигурации, но через бсп как правило реализован механизм их выгрузки-загрузки) - загружаем правила синхронизации из выгруженных в кд2 zip-файлов (см.п.4) - в этой базе (из файла п.4а) и в базе-корреспонденте (из файла п.4б).

прим.: для тех. кто любит в конфигурациях играться с планами обмена. если в их формах, диалогах синхронизации и настроек пропадают кнопки (и пункты в меню) выгрузки-загрузки-удаления-создания правил и их настроек - обратите внимание на "Тип Параметра команды" - добавьте какие надо планы обмена для Общих Команд: "ЗагрузитьКомплектПравил", "ЗагрузитьПравилаКонвертацииОбъектов", "ЗагрузитьПравилаРегистрацииОбъектов", "НастройкиПодключения", "ПолучитьНастройкиСинхронизацииДляДругойПрограммы", "СоставОтправляемыхДанных" и "УдалитьНастройкуСинхронизации".

как-то так...
   Klesk
 
9 - 11.07.21 - 17:01
(8) спасибо за ответ, подумаю
только как узнать период выгрузки, находить самый первый и самый последний документ?, я так понял сам запрос на отбор в недрах конфы
   серый КТУЛХУ
 
10 - 11.07.21 - 17:14
(9): какой нафик, пардон, период?
смотрите в коде, который выполняется по подписке на событие (сохранение объекта). если надо - правьте код, но обычно там период в правилах синхронизации через бсп реализован.
там же, чарез администрирование(настройку) - синхронизацию(настройку синхронизации)- ваш план обмена - можно посмотреть состав последней не подтвержденной приемником выгрузки и того, что будет выгружено в следующей выгрузке.
там же - по смыслу содержания диалогов - можно добраться до самой начальной даты, начиная с которой выгружаются данные. это самая древняя дата.

Список тем форума
 
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.