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

Прверка на пустоту при записи из xml-файла

Автор natanka123, 23 сен 2022, 12:48

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

LexaK

Цитата: natanka123 от 23 сен 2022, 17:12Почти у Всех контрагентов, Графа Адрес и Телефоны пустые.
вообще отсутствие Адреса и Телефона не должны прерывать загрузку Контрагентов
ИНН и Наименование есть? - этого уже достаточно для создания/загрузки контрагента
если помогло нажмите: Спасибо!

natanka123

LexaK,

antoneus

Процедура ЗаписатьДанныеНаСервере()   Экспорт
   
    ЧтениеXML=Новый ЧтениеXML;
   
    ЧтениеXML.ОткрытьФайл("D:\НоваяПапка\document.xml");
   
    Результат = ФабрикаXDTO.ПрочитатьXML(ЧтениеXML);
   
    Если ТипЗнч(Результат.ЭлементСправочника) = Тип("СписокXDTO") Тогда
        Для Каждого Элемент из Результат.ЭлементСправочника Цикл
            ЗаписатьЭлементСправочника(Элемент)
        КонецЦикла;
    Иначе
        ЗаписатьЭлементСправочника(Результат.ЭлементСправочника)
    КонецЕсли;
   
    Сообщить("Создание контрагентов завершено!");
   
КонецПроцедуры

Процедура ЗаписатьЭлементСправочника(ДанныеXDTO)
   
    Записываем = Истина;       
    Для каждого Свойство Из ДанныеXDTO.Свойства() Цикл
        Если ТипЗнч(ДанныеXDTO[Свойство.Имя]) <> Тип("Строка") Тогда
            Записываем = Ложь;
            Прервать;
        КонецЕсли;
    КонецЦикла;
   
    Если Записываем Тогда
        Если Справочники.Контрагенты.НайтиПоРеквизиту("Телефоны", ДанныеXDTO.Телефоны).Пустая() Тогда
            //записываем контрагента
            Сообщить("Записываем!")
        КонецЕсли;
    КонецЕсли;
   
КонецПроцедуры

natanka123

LexaK, Да, в 1С в Графе Адрес и Телефон появляется текст "ОбьектXDTO"

antoneus

На "пустоту" проверяются все поля, можно добавить проверку на Свойство.Имя = "ЧтоТоТам", если нужно проверять только какие-то определенные.

natanka123

antoneus, Получаю сообщение, что завершено, Контрагенты не появляются.

natanka123

antoneus, Основном у меня только Адреса и телефоны пустые.

natanka123

antoneus, так можно:Элемент.Телефон.Свойство.Адрес(" ") Тогда Продолжить;

LexaK

natanka123, вот простенькая обработка, пример, по загрузке ваших данных в контрагенты
использован код antoneus, с небольшими доработками,
попробуйте, и если что пишитеЗагрузкаКонтрагентов.epf
если помогло нажмите: Спасибо!

LexaK

если помогло нажмите: Спасибо!

Теги:

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

Рейтинг@Mail.ru

Поиск