Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
11 дек 2024, 21:27

XDTO поле объекта не обнаружено

Автор skillful, 21 мар 2019, 21:12

0 Пользователей и 1 гость просматривают эту тему.

skillful

В файле выгрузки

<?xml version="1.0" encoding="UTF-8"?>
<Message>
<msg:Header>
<msg:CreationDate>2019-03-21T20:16:30</msg:CreationDate>
</msg:Header>
<Body>
<Документ.РКОРасчетыССотрудниками>
<Комментарий>Касса офиса</Комментарий>
</Документ.РКОРасчетыССотрудниками>
</Body>
</Message>


Иногда в этом файле присутствует

<Body>
<Документ.РКОНаБанковскийСчет>
<Комментарий>Касса офиса</Комментарий>
</Документ.РКОРасчетыССотрудниками>
</Body>


Так вот когда РКОНаБанковскийСчет нету в файле выгрузке возникает ошибка {ВнешняяОбработка.ЗагрузкаДокументовВБП30.Форма.Форма.Форма(749)}: Поле объекта не обнаружено (Документ_РКОНаБанковскийСчет)

Вот код
Чтение = Новый ЧтениеXML;
Чтение.ОткрытьФайл(ПолныйПутьКФайлу);   
Фабрика = Новый ФабрикаXDTO;
ОбXDTO = Фабрика.ПрочитатьXML(Чтение);

Для Каждого Документ из КоллекцияXDTO(ОбXDTO.Body.Документ_РКОНаБанковскийСчет) Цикл //Здесь ошибка!!!


КонецЦикла;


Не могу понять как сделать проверку на существование в файле выгрузки параметра <Документ.РКОНаБанковскийСчет>. Спасибо всем кто понял в чем суть вопроса и всем кто ответил...

Vit1501

Попробуйте конструкцию
Если ОбXDTO.Body.Свойства().Получить("Документ_РКОНаБанковскийСчет") = неопределено Тогда
    //значит нет такого свойства
Иначе
    //обрабатываем
КонецЕсли;

skillful

Цитата: Vit1501 от 22 мар 2019, 09:17
Попробуйте конструкцию
Если ОбXDTO.Body.Свойства().Получить("Документ_РКОНаБанковскийСчет") = неопределено Тогда
    //значит нет такого свойства
Иначе
    //обрабатываем
КонецЕсли;


Да, так работает. Спасибо большое.
Добавлено: 22 мар 2019, 19:31


Цитата: skillful от 22 мар 2019, 18:26
Цитата: Vit1501 от 22 мар 2019, 09:17
Попробуйте конструкцию
Если ОбXDTO.Body.Свойства().Получить("Документ_РКОНаБанковскийСчет") = неопределено Тогда
    //значит нет такого свойства
Иначе
    //обрабатываем
КонецЕсли;


Да, так работает. Спасибо большое.

А не. Оказывается не правильно работает. Всегда срабатывает (//значит нет такого свойства), даже если Докумен.РКОНаБанковскийСчет присутствует
Добавлено: 22 мар 2019, 19:54


Цитата: skillful от 22 мар 2019, 18:26
Цитата: Vit1501 от 22 мар 2019, 09:17
Попробуйте конструкцию
Если ОбXDTO.Body.Свойства().Получить("Документ_РКОНаБанковскийСчет") = неопределено Тогда
    //значит нет такого свойства
Иначе
    //обрабатываем
КонецЕсли;


Да, так работает. Спасибо большое.
Добавлено: 22 мар 2019, 19:55



Да, так работает. Спасибо большое.

Vit1501

Я наверное опечатался в имени поля. Попробуйте так
Если ОбXDTO.Body.Свойства().Получить("Документ.РКОНаБанковскийСчет") = неопределено Тогда
    //значит нет такого свойства
Иначе
    //обрабатываем
КонецЕсли;

skillful

Цитата: Vit1501 от 25 мар 2019, 11:19
Я наверное опечатался в имени поля. Попробуйте так
Если ОбXDTO.Body.Свойства().Получить("Документ.РКОНаБанковскийСчет") = неопределено Тогда
    //значит нет такого свойства
Иначе
    //обрабатываем
КонецЕсли;

Не. Все четко. Это я забыл добавить Body. спасибо еще раз.

skillful

Vit1501,
Если ОбXDTO.Body.Свойства().Получить("Документ.РКОНаБанковскийСчет") = неопределено Тогда
    //значит нет такого свойства
Иначе
    //обрабатываем
    //Как проверить существование параметра <Комментарий>
    <Комментарий>Касса офиса</Комментарий> //Есть или нету?
КонецЕсли;


А как проверить существование параметра <Комментарий>??


Добавлено: 22 июн 2019, 20:48


skillful, Вот так:

Если ОбXDTO.Body.Свойства().Получить("Документ.РКОНаБанковскийСчет") = неопределено Тогда
    //значит нет такого свойства
Иначе
    //обрабатываем
    //Как проверить существование параметра <Комментарий>
    //<Комментарий>Касса офиса</Комментарий> //Есть или нету?
    Для Каждого Документ из КоллекцияXDTO(ОбXDTO.Body.Документ_РКОНаБанковскийСчет) Цикл

        Если Документ.Свойства().Получить("Комментарий") = Неопределено Тогда

        Иначе

        КонецЕсли;

    КонецЦикла;

КонецЕсли;

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск