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

1С 8.2 УП : Как автоматически определить Объект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 УП |  Дата:   Прочитано: 25374
 +2 
Распечатать
Возможно, вас также заинтересует
Как заполнить табличную часть формы программно? 8
Нужно по кнопке Заполнить - сформировать данные для заполнения табличных частей и заполнить их. Форма имеет вид: Рядом с кнопкой Записать и закрыть добавлена кнопка Заполнить документ , код ее команды: // Код заполнения ТЧ НаСервере П
17 правил для составления оптимального ЗАПРОСа к данным базы 1С 52
Для формирования и выполнения запросов к таблицам базы данных в платформе 1С используется специальный объект языка программирования Запрос . Создается этот объект вызовом конструкции Новый Запрос . Запрос удобно использовать, когда требуется получ
1C и Google Maps 21
была поставлена задача отображения на географической карте медицинских учреждений. После обзора предлагаемых решений был выбран сервис google. Но так же подобного рода подход будет работать и с картами сервиса yandex. Во время решения задачи было реш
Google maps : вывод точек на карту и режим панорамы 9
В отличие от яндекс карт в GMaps можно использовать панорамы - за что им большой плюс! Надеюсь в яндексе прочитают этот пост и тоже когда-нибудь это сделают! Для клиента нужно было сделать вывод объектов на карту С возможностью просмотра панора
Microsoft SQL Server Native Client Добавление значения в столбец "datetime" привело к переполнению 2
При формировании отчета на СКД получили ошибку: Microsoft SQL Server Native Client 11.0: Добавление значения в столбец "datetime" привело к переполнению Подробнее текст такой: ... по причине: Ошибка компоновки данных по причине: Ошибка получени
Посмотреть все результаты поиска похожих
Вы не можете отправить комментарий анонимно, пожалуйста войдите или зарегистрируйтесь.