|
КД 2.0 Как изменить регистрацию документа | ☑ | ||
---|---|---|---|---|
0
Klesk
11.07.21
✎
14:36
|
Документ надо регистрировать не по дате документа который попадает в интервал синхронизации, а по другому реквизиту типа Дата
Т.е. у ПКО дата может не попадать в период синхронизации, а ДатаПробитияЧека если она попадает документ должен быть отмечен к регистрации. А остальным Отказ Как это сделать, в правилах регистрации менять, или в плане обмена или где? |
|||
1
Aleksey
11.07.21
✎
14:39
|
С каких это пор "Документ регистрируется по дате документа"?
|
|||
2
mikecool
11.07.21
✎
14:41
|
(1) +1
|
|||
3
mikecool
11.07.21
✎
14:41
|
зарегистрированные к обмену могут отбираться по периоду, но регистрация всегда - текущей датой
|
|||
4
Klesk
11.07.21
✎
14:48
|
(3) вот и вопрос где они отбираются?
|
|||
5
ДенисЧ
11.07.21
✎
14:50
|
(4) Есть такая штука "правила регистрации"....
(3) а что такое "регистрация текущей датой"? |
|||
6
Klesk
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б). прим.: для тех. кто любит в конфигурациях играться с планами обмена. если в их формах, диалогах синхронизации и настроек пропадают кнопки (и пункты в меню) выгрузки-загрузки-удаления-создания правил и их настроек - обратите внимание на "Тип Параметра команды" - добавьте какие надо планы обмена для Общих Команд: "ЗагрузитьКомплектПравил", "ЗагрузитьПравилаКонвертацииОбъектов", "ЗагрузитьПравилаРегистрацииОбъектов", "НастройкиПодключения", "ПолучитьНастройкиСинхронизацииДляДругойПрограммы", "СоставОтправляемыхДанных" и "УдалитьНастройкуСинхронизации". как-то так... |
|||
9
Klesk
11.07.21
✎
17:01
|
(8) спасибо за ответ, подумаю
только как узнать период выгрузки, находить самый первый и самый последний документ?, я так понял сам запрос на отбор в недрах конфы |
|||
10
серый КТУЛХУ
11.07.21
✎
17:14
|
(9): какой нафик, пардон, период?
смотрите в коде, который выполняется по подписке на событие (сохранение объекта). если надо - правьте код, но обычно там период в правилах синхронизации через бсп реализован. там же, чарез администрирование(настройку) - синхронизацию(настройку синхронизации)- ваш план обмена - можно посмотреть состав последней не подтвержденной приемником выгрузки и того, что будет выгружено в следующей выгрузке. там же - по смыслу содержания диалогов - можно добраться до самой начальной даты, начиная с которой выгружаются данные. это самая древняя дата. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |