|
БП 2.0, РИБ. Надо отключить фильтр контрагентов в плане обмена "По организации" | ☑ | ||
---|---|---|---|---|
0
es3000
24.09.13
✎
19:01
|
При создании первоначального образа для новый периферийной базы при помощи плана обмена "По организации" столкнулся с тем, что в периферийную базу выгружаются не все контрагенты.
Оказалось дело в том, что в стандартном плане обмена сделано так что выгружаются только те контрагенты, у которых есть договор с выгружаемой организацией. А у нас для контрагентов в центральной базе договора не заводили, хотя есть много платежных поручений для этих контрагентов. В плат. поручениях договора указывать необязательно, вот их и не указывали и не заводили. Соответственно эти контрагенты не выгружаются в периферийную базу, а платежные поручения выгружаются. И в периферийной базе получается, что платежные поручения содержат ссылки на несуществующие элементы справочника. Решили побороть эту ситуацию следующим образом. Создать новый план обмена "ПоОрганизации_новый" копированием стандартного плана обмена "ПоОрганизации", и отключить в новом плане обмена фильтр по контрагентам. Помогите это сделать. Модули большие, сходу в отладчике сам не разобрался. Может кто знает в какой процедуре и что надо поправить? |
|||
1
mehfk
24.09.13
✎
20:39
|
Включи авторегистрацию
|
|||
2
es3000
24.09.13
✎
21:07
|
(1) Только авторегистрация не поможет, после регистрации объекта при выгрузке он все равно фильтруется.
Поэтому надо как-то фильтр отключить |
|||
3
Aleksey
24.09.13
✎
22:01
|
Нафига???
|
|||
4
Aleksey
24.09.13
✎
22:04
|
ИначеЕсли ТипЭлемента = Тип("СправочникОбъект.Контрагенты")
ИЛИ ТипЭлемента = Тип("СправочникСсылка.Контрагенты") Тогда СсылкаНаЭлемент = ОпределитьПоЭлементуЭтоГруппаИСсылку(Элемент, "Справочники", ТипЭлемента, Истина, ЭтоГруппа); Если ЭтоГруппа Тогда // все узлы ОбеспечитьВыгрузкуОбъектаДляВсехУзлов(ВыгружатьДляВсехУзлов, ВозвращатьМассивВсехУзлов, МассивУзловДляПередачи); Иначе ДополнитьМассивУзламиПоСправочникуИПараметру("ДоговорыКонтрагентов", "Владелец", СсылкаНаЭлемент, МассивУзловДляПередачи, "Организация", СоответствиеУзловИОрганизаций, Истина); ДополнитьМассивУзламиПоСправочникуИПараметру("СоглашенияОбИспользованииЭД", "Контрагент", СсылкаНаЭлемент, МассивУзловДляПередачи, "Организация", СоответствиеУзловИОрганизаций, Истина); КонецЕсли; Все что в Если ЭтоГруппа Тогда Иначе КонецЕсли; Удаляешь, и пишешь ОбеспечитьВыгрузкуОбъектаДляВсехУзлов(ВыгружатьДляВсехУзлов, ВозвращатьМассивВсехУзлов, МассивУзловДляПередачи); И всё, контрагенты будут гулять по все базе |
|||
5
Aleksey
24.09.13
✎
22:04
|
Это общий модуль ПроцедурыОбменаДаннымиПоОрганизации
Процедура ДополнитьМассивУзловДляВыгрузкиСправочника |
|||
6
es3000
24.09.13
✎
22:32
|
(3) "нафига" что?
(4),(5) код попробую, спасибо |
|||
7
Aleksey
24.09.13
✎
22:33
|
(6) еще один план обмена
там можно смело от ИначеЕсли ТипЭлемента = Тип("СправочникОбъект.Контрагенты") ремить |
|||
8
es3000
24.09.13
✎
22:40
|
(7) не хочется стандартный план ломать, чтобы обновления устанавливались проще
|
|||
9
Aleksey
24.09.13
✎
23:02
|
(8) ну так ломать ничего не надо, заремишь 5ток строк и готово
|
|||
10
es3000
07.10.13
✎
10:17
|
(9) Сработало, спасибо!
Закомментировал строки в указанной процедуре ("ДополнитьМассивУзловДляВыгрузкиСправочника"). И выгрузка выполнилась нормально: выгрузились недостающие контрагенты. Делать новый план обмена действительно смысла нету, так как комментировать надо в общем модуле. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |