Подскажите как пропустить чтение XML файла? #519735


#0 by Skazy
Есть РИБ база, нужно от некоторых узлов НЕ ЗАГРУЖАТЬ данные, а просто снимать регистрацию с прошлого пакета и выгружать новые данные. С кодом XML-а не работал, так что прошу Вашего совета. Есть  вот такой код загрузки: Ругается на Не удалось выполнить внешнюю обработку Ошибка при вызове метода контекста (ЗакончитьЧтение): Неправильный формат сообщения Подскажите как можно не читать данные, если они не нужны и правильно закрыть чтение, чтобы снялась регистрация ранее выгруженных объектов?
#1 by Skylark
Попробуй вот это: ПланОбменаОбъект.<Имя плана обмена> (ExchangePlanObject.<Имя плана обмена>) ПриПолученииДанныхОтГлавного (OnReceiveDataFromMaster) Синтаксис: ПриПолученииДанныхОтГлавного(<Элемент данных>, <Получение элемента>, <Отправка назад>) Параметры: <Элемент данных> При вызове обработчика события данный параметр содержит элемент данных, прочитанный из сообщения обмена данными. Элементами данных могут быть КонстантаМенеджерЗначения.<Имя константы>, объекты базы данных, наборы записей регистров, последовательностей или перерасчетов. <Получение элемента> Тип: ПолучениеЭлементаДанных. Значение данного параметра может быть переприсвоено в обработчике. Оно определяет, будет ли прочитанный элемент данных записан в базу данных или нет. При вызове обработчика параметр имеет значение Авто, что для данного события равнозначно значению Принять. Значение параметра Принять означает, что прочитанный элемент данных должен быть принят, то есть записан в базу данных и, если были зарегистрированы изменения элемента данных для узла, от которого получено сообщение, то эта регистрация будет отменена. Значение параметра Игнорировать означает, что прочитанный элемент данных должен быть проигнорирован, то есть запись его в базу данных не производится и никаких изменений в регистрацию изменений не вносится. Значение по умолчанию: Авто <Отправка назад> Тип: Булево. При вызове обработчика данный параметр имеет значение Ложь, что означает, что никаких действий предпринято не будет. Если же обработчик присвоит параметру значение Истина, то это означает, что состояние элемента данных в этом узле распределенной информационной базы должно быть передано узлу-отправителю обрабатываемого сообщения. Таким образом, если изменения элемента данных для узла-отправителя уже зарегистрированы, то никаких действий не производится, а если не зарегистрированы, то производится регистрация изменений. Значение по умолчанию: Ложь Описание: Обмен изменениями данных и конфигурации в распределенной информационной базе производится с помощью сообщений обмена данными. Различаются сообщения, с помощью которых производится передача изменений от главного узла подчиненному и от подчиненного главному. Обработчик данного события вызывается после считывания элемента данных из сообщения, полученного от главного узла и перед записью элемента в базу данных. Обработчик вызывается
#2 by Skazy
Спасибо посмотрю, только вопрос в том что я загружаю данные в главном узле и мне не надо загружать данные от подчиненных, кроме выбранных..
#3 by Skylark
есть совершенно аналогичное событие ПриПолученииДанныхОтПодчиненного(<Элемент данных>, <Получение элемента>, <Отправка назад>)
#4 by Skazy
Спасибо! Уже читаю. А можно ли не читая само тело файла, только прочитать от кого оно и пропустить чтение данных?
#5 by Skazy
А то как-то многовато пропускать приходится, а так раз и пропустил %)
#6 by Skazy
Не подскажите?
#7 by Skylark
ЧтениеСообщения.Отправитель это что по вашему?
#8 by skunk
#9 by skunk
#10 by Skazy
Может я плохо объяснил? Вот мой код: Я хотел бы не читать данные от других узлов, а только от определенного.
#11 by Skazy
ап
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

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