РИБ. Создание начального образа. #685562


#0 by mzelensky
Доброго всем! Имею план обмена с РИБ по организациям. Создал узлы, заполнил в подчиненном узле необходимую организацию (одну из четырех) - создал начальный образ. Захожу в созданную базу и вижу, что документы перенеслись по всем 4 организациям. При этом дальнейший обмен идет правильный, т.е. если дальше обмениваться информационными пакетами, то попадают только документы по нужной организации. Конфа УТ 10.3. Правила регистрации пиленные. В моделу плана обмена в процедуре "ПередОтправкойПодчиненному" так же стоит контроль на отправляемые данные. Почему при создании начального образа лезут ненужные данные? Что забыл еще сделать?
#1 by Повелитель
Могу ошибаться, но помоему создать начальный образ, не смотрит на отборы. Смотрит только на то какие метаданные включены.
#2 by andreymongol82
Может все-таки не "ПередОтправкойПодчиненном", а "ПриОтправкиДанныхПодчиненному"?
#3 by mzelensky
Походу так и получается, но почему?
#4 by mzelensky
возможно, я не скопировал, а на память писал. Сути это не меняет.
#5 by mzelensky
получается ,что прийдется создавать начальный образ, а потом удалять все ненужные объекты...ну как-то это глупо...
#6 by Ranger_83
В БП 2.0 такое работает
#7 by mzelensky
что ты имеешь ввиду под словом "такое" ?
#8 by andreymongol82
Вот как-то сомнительно, что не цепляются отборы при создании начального образа. Насколько помню, но процедура "ПриОтправкиДанныхПодчиненному" отрабатывает и при создании образа, должны быть и отборы сработать? Можно отладчиком проверить. Да и неплохо бы текст этой процедуры посмотреть
#9 by andreymongol82
+ Опять же кажется есть зависимость от параметра ОтправкаЭлементаДанных (DataItemSend)
#10 by mzelensky
я эту процедуру отладчиком проходил ток при выгрузке данных (уже после создания образа). Работает вроде норм. При создании образа еще не проверял...долгий процесс, но видимо прийдется. По своей логике процедура не отличается от типовой. Я только заменил процедуры получения узлов плана обмена на свои.
#11 by mzelensky
Вот что пишет СП ПланОбменаОбъект.<Имя плана обмена> (ExchangePlanObject.<Имя плана обмена>) ПриОтправкеДанныхПодчиненному (OnSendDataToSlave) Синтаксис: ПриОтправкеДанныхПодчиненному(<ЭлементДанных>, <ОтправкаЭлемента>, <СозданиеНачальногоОбраза>) Параметры: <ЭлементДанных> При вызове обработчика события данный параметр содержит элемент данных, изменение которого зарегистрировано и который должен быть помещен в сообщение обмена данными. Элементами данных могут быть КонстантаМенеджерЗначения.<Имя константы>, объекты базы данных, наборы записей регистров, последовательностей или перерасчетов. Тип: ОтправкаЭлементаДанных. При вызове события данный параметр содержит значение Авто, что означает, что элемент данных будет помещен в сообщение. В обработчике события можно присвоить параметру другое значение. Значение Удалить означает, что в сообщение будет помещено значение, предназначенное для удаления соответствующего элемента данных в той информационной базе, которой адресовано сообщение. В случае объекта базы данных в сообщение будет помещен объект типа УдалениеОбъекта, содержащий ссылку на объект базы данных. В случае набора записей будет помещен пустой набор записей. Однако, в случае элемента данных КонстантаМенеджерЗначения.<Имя константы> действие, производимое значением Удалить не отличается от Авто. Значение Игнорировать означает, что в сообщение не будет помещено ничего, связанного с элементом данных. Значение по умолчанию: Авто <СозданиеНачальногоОбраза> Тип: Булево. Истина - событие вызвано в рамках работы процедуры создания начального образа. В случае выгрузки данных в сообщение обмена значение параметра - Ложь. Описание: Обмен изменениями данных и конфигурации в распределенной информационной базы производится с помощью сообщений обмена данными. Различаются сообщения, с помощью которых производится передача изменений от главного узла подчиненному и от подчиненного главному. Обработчик данного события вызывается перед помещением элемента данных в сообщение обмена данными, отправляемого главным узлом подчиненному. Обработчик вызывается для каждого элемента данных, помещаемого в сообщение.
#12 by mzelensky
Т.е. получается, что процедура должна срабатывать при создании начального образа. Вот код (это типовой код): Т.е. объет должен быть удален. Может поставить еще условие такое:
#13 by mzelensky
аппп
#14 by mzelensky
Блин, так что с этой выгрузкой еще может быть не так?
#15 by mikeA
ну сделай для подчинённого чистую базу из cf главного узла, создай в ней главный узел и переноси данные обменом, раз говоришь, что оно работает.
#16 by mzelensky
Это называется изврат. Мне интересно почему по нормальному не работает. Сейчас открыл типовую БП 2.0, залез в План обмена по организации. Принципиальных отличий не увидел. Все тоже самое...но люди говорят ,что должно нормально создаться...первоначальный образ я имею ввиду.
#17 by andreymongol82
Ну не знаю. Мож в платформе дело, но у меня на 8.2.14 нормально образ создавался
#18 by Холодильник
после того, как создал узел с организациями, базу перезапускал? параметры сеанса, они, знаешь ли, просто так сами не обновятся
#19 by Ranger_83
вот посмотри ради интереса
#20 by hhhh
наверно, в правилах регистрации фигня. В БП 2.0 ведь нет правил регистрации.
#21 by mzelensky
кстати нет...не перезапускал! В параметрах сеанса там вроде ток соответствие узлов проставляется. Что еще?
#22 by mzelensky
Так у меня же косяк с созданием начального образа. Последующая обработка объектов (регистрация нужных данных) проходит нормально.
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С