helpf.pro
Регистрация
 +1 
Распечатать

Как автоматически определить ОбъектXDTO или СписокXDTO мы парсим?

Код 1C v 8.2 УП
 &НаСервере
Процедура ДляКаждогоИзСписокXDTO(СписокXDTO, Делегат)

Если ТипЗнч(СписокXDTO) = Тип("СписокXDTO") Тогда

Для Каждого Строка Из СписокXDTO Цикл

Выполнить(Делегат + "(Строка);");

КонецЦикла;

ИначеЕсли ТипЗнч(СписокXDTO) = Тип("ОбъектXDTO") Тогда

Выполнить(Делегат + "("СписокXDTO);");

КонецЕсли;

КонецПроцедуры



Данный код позволяет автоматически определять тип значения, который мы собираемся распарсить, и вызывает процедуру распознавания значения.

Подобный код может пригодиться при парсинге списков, дело в том, что когда в списке всего 1 элемент, то он имеет тип "ОбъектXDTO", а когда больше 1 элемента, то "СписокXDTO".

Применяется вот таким образом:

Код 1C v 8.2 УП
 // Контрагенты
ДляКаждогоИзСписокXDTO(ПолученныеДанные.Clients.Client, "ЗаписатьСтрокуКонтрагент");


где ПолученныеДанные.Clients.Client - это данные, которые надо распарсить, а ЗаписатьСтрокуКонтрагент - процедура следующего вида:


Код 1C v 8.2 УП
 &НаСервере
Процедура ЗаписатьСтрокуКонтрагент(Client)

СтрокаКонтрагент = ТаблицаКонтрагенты.Добавить();
СтрокаКонтрагент.НаименованиеПолное = ?(ТипЗнч(Client.name) = Тип("Строка"), Client.name, "");
СтрокаКонтрагент.ТелефонКонтрагента = ?(ТипЗнч(Client.phone) = Тип("Строка"), Client.phone, "");

КонецПроцедуры
Разместил:   Версии: | 8.2 УП |  Дата:   Прочитано: 6395
 +1 
Распечатать
Возможно, вас также заинтересует
Как заполнить табличную часть формы программно? 2
Нужно по кнопке Заполнить - сформировать данные для заполнения табличных частей и заполнить их. Форма имеет вид: Рядом с кнопкой Записать и закрыть добавлена кнопка Заполнить документ , код ее команды: // Код...
1C и Google Maps 12
была поставлена задача отображения на географической карте медицинских учреждений. После обзора предлагаемых решений был выбран сервис google. Но так же подобного рода подход будет работать и с картами сервиса yandex. Во...
Google maps : вывод точек на карту и режим панорамы 2
В отличие от яндекс карт в GMaps можно использовать панорамы - за что им большой плюс! Надеюсь в яндексе прочитают этот пост и тоже когда-нибудь это сделают! Для клиента нужно было сделать вывод объектов на карту С...
Microsoft SQL Server Native Client Добавление значения в столбец "datetime" привело к переполнению 0
При формировании отчета на СКД получили ошибку: Microsoft SQL Server Native Client 11.0: Добавление значения в столбец "datetime" привело к переполнению Подробнее текст такой: ... по причине: Ошибка компоновки данных по причине: Ошибка...
ZIP-архив Чтение 0
Для того чтобы прочитать файлы из ZIP-архива необходимо выполнить несколько простых действий: - Открыть необходимый архив - Распаковать файлы Создание объекта ЧтениеZIPФайла можно осуществить двумя путями - создать...
Посмотреть все результаты поиска похожих
Вы не можете отправить комментарий анонимно, пожалуйста войдите или зарегистрируйтесь.