|
Корректировка типового плана обмена РИБ | ☑ | ||
|---|---|---|---|---|
|
0
Loummax
12.10.11
✎
15:33
|
Подскажите начинающему, можно ли в типовой план обмена "по организации"
воткнуть отбор по периоду, обойдясь малой кровью (в конфигурировании не сильно разбираюсь)? Играюсь на конфигурации "Бухгалтерия 8.2" Изначально задача была выгружать в такую же конфигурацию данные только по одной организации. А теперь оказалось, что надо еще "не выгружать документы, которые уже выгружены", даже если в них в главном узле внесли изменения. |
|||
|
1
Kreont
12.10.11
✎
15:39
|
(0) Можно, вроде в 2-3 строки кода можно вложиться, через подписки ...ДляОбменаПоОрганизации
Только смысл от такой репликации никак не пойму :( |
|||
|
2
Kreont
12.10.11
✎
15:45
|
(1) И да кстати удобно смотреть что выгружается и попадает в обмен через:
Операции - Планы обмена - ПО Организации и потом вверху "мониторчик" -> Зарегистрированные изменения |
|||
|
3
Loummax
12.10.11
✎
15:53
|
Kreont, спасибо! Буду попробовать.
смысл - получить чистую базу без лишней информации. Ну, там бухгалтер что-то удаляет, что-то изменяет. Я, честно говоря, не вникал во все тонкости ее задумки. |
|||
|
4
Фрэнки
12.10.11
✎
15:54
|
(0) Если изменения в документы уже вносят в главном узле, то задачу надо ставить несколько иначе - документы, существующие в главном узле должны защищаться от записи при получении данных от подчиненного, даже если в подчиненных узлах вносились какие-то изменения.
Если задачу ставить в таком ключе, то в модуль объекта план обмена ПоОрганизации нужно дописывать предопределенную процедуру ПриПолученииДанныхОтПодчиненного. Шаблон требуемой в этом случае писанины можно увидеть в том же модуле - там есть процедуры ПриОтправкеДанныхПодчиненному, ПриОтправкеДанныхГлавному... Может быть и при отправке данных главному можно выявить, что период данных надо отсекать. Текст модулей достаточной прозрачный на мой взгляд. |
|||
|
5
Loummax
12.10.11
✎
16:21
|
Френки, из подчиненного узла данные не переносятся вообще (односторонний обмен). Переносятся только квитанции (по-моему это так называется). Изменения вносятся в обоих узлах. Задача состоит в том, чтобы объекты, один раз выгруженные из главного узла, больше не выгружались. Быть может задача решается не отбором по периоду документа, а еще проще?
|
|||
|
6
Loummax
12.10.11
✎
16:21
|
*ФрЭнки, сорри.
|
|||
|
7
Фрэнки
12.10.11
✎
16:26
|
(6) Да все норм :)
Сейчас посмотрю еще разок на план обмена мож какая дельная мысль появится |
|||
|
8
Kreont
12.10.11
✎
16:30
|
(5) В обмен/выгрузку надо тогда фильтровать только новые созданные документы
|
|||
|
9
Фрэнки
12.10.11
✎
17:02
|
так... если смотреть именно по документам, то у них у всех авторегистрация выключена и регистрация в обмен происходит конкретно по подписке на события.
Далее: ПередЗаписьюДокументаДляОбменаПоОрганизации Вот тут бы отслеживать является документ новым или нет. И тогда, если документ попал регистрацию только когда он новый, то даже при дополнительной перезаписи ДО обмена - регистрация не слетает и он будет выгружен. Вроде бы так можно. А с другой стороны, не факт, что каждая отправка пакета подчиненному узлу будет выполнена на стороне подчиненного узла и там никто не сбросит состояние в ноль по всем этим объектам, выполнив восстановление базы из архивной копии... Т.е. придется искать выход из ситуаций с полным отсутствием объектов в подчиненной базе при наличии отметок в главном узле, что инфа уже когда-то была передана. Не знаю насколько убедительна вся эта моя писанина, но смысл надеюсь понятен, что риски такого подхода есть. Оптимальный выход вижу в добавлении предопределенной процедуры в модуль плана обмена ПриПолученииДанныхОтГлавного При этом не использовать транзакции и проверять объекты - когда объект уже существует, то при попытке обработке данных об этом объекте выставлять "Игнорировать" |
|||
|
10
Loummax
12.10.11
✎
17:08
|
Спасибо! попробую и по результатам отпишусь.
|
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |