новое событие
Информационный поток
Задания вакансии материалы разработки сообщения форума
mozg_company
Приватное сообщение

УТ11 - добавить условие в разбор XML

Санкт-Петербург(Россия )
20 |  3
13 ноября 2023 в 19:03:54 (1 год 5 недель 4 дня 11 часов назад)
12150
Текст задания
Есть рабочая функция, которая получает данные в формате XML и далее записывает все записи в справочник.

Необходимо добавить 2 условия в код и записывать в справочник записи в которых:
"pickup_places_type" = "А"
"partial_redemption" = "1"

остальные записи пропустить.

Кусок функции который разбирает и записывает данные в справочник:

Пока ОбменXML.Прочитать() Цикл
Если ОбменXML.Имя = "pickup" Тогда
СПАтр=Новый Структура;Значение="";
Пока ОбменXML.Прочитать() Цикл
Если ОбменXML.ТипУзла = ТипУзлаXML.НачалоЭлемента Тогда
ИмяУзла = ОбменXML.Имя;
ИначеЕсли ОбменXML.ТипУзла = ТипУзлаXML.Текст Тогда
Значение=ОбменXML.Значение;
ИначеЕсли ОбменXML.ТипУзла = ТипУзлаXML.КонецЭлемента Тогда
СПАтр.Вставить(ОбменXML.Имя,Значение);
КонецЕсли;
Если ОбменXML.Имя="week_day_7_end" И
ОбменXML.ТипУзла = ТипУзлаXML.КонецЭлемента Тогда
Эл=Справочники.ПВЗ_Шл.НайтиПоКоду(СПАтр["Code_id"]);
Если Эл.Пустая() Тогда
Об=Справочники.ПВЗ_Шл.СоздатьЭлемент();
Иначе
Об=Эл.ПолучитьОбъект();
КонецЕсли;
Об.Актуально=Истина;
Об.Наименование=СПАтр["Name"];
Об.Код=СПАтр["Code_id"];
ЗаполнитьЗначенияСвойств(Об,СПАтр);
Если Об.zip=Об.longitude Тогда
Об.zip="";
КонецЕсли;
Об.Записать();
СПАтр=Новый Структура;
Значение="";
КонецЕсли;
КонецЦикла;
КонецЕсли;
КонецЦикла;

-----

Структура XML
<answer>
<error>0</error>
<pickups>
<pickup>
<city_name>Москва</city_name>
<city_code_id>405065</city_code_id>
<name>Пункт 2 м. Красные ворота</name>
<pickup_places_type>А</pickup_places_type>
<address>м. Красные ворота Каланчевская улица, 13</address>
<proezd_info></proezd_info>
<phone>+7 (925) 006-48-11</phone>
<worktime>ПН-ПТ: 10.00–20.00</worktime>
<srok_dostavki>1</srok_dostavki>
<code_id>663805</code_id>
<latitude>37.746535</latitude>
<longitude>55.648885</longitude>
<trying_on_clothes>0</trying_on_clothes>
<trying_on_shoes>0</trying_on_shoes>
<payment_cards>1</payment_cards>
<receiving_orders>0</receiving_orders>
<partial_redemption>0</partial_redemption>
<return_to_recipient>0</return_to_recipient>
<week_day_1>1</week_day_1>
<week_day_2>1</week_day_2>
<week_day_3>1</week_day_3>
<week_day_4>1</week_day_4>
<week_day_5>1</week_day_5>
<week_day_6>1</week_day_6>
<week_day_7>0</week_day_7>
<week_day_1_start>10</week_day_1_start>
<week_day_1_end>22</week_day_1_end>
<week_day_2_start>10</week_day_2_start>
<week_day_2_end>22</week_day_2_end>
<week_day_3_start>10</week_day_3_start>
<week_day_3_end>22</week_day_3_end>
<week_day_4_start>10</week_day_4_start>
<week_day_4_end>22</week_day_4_end>
<week_day_5_start>10</week_day_5_start>
<week_day_5_end>22</week_day_5_end>
<week_day_6_start>10</week_day_6_start>
<week_day_6_end>22</week_day_6_end>
<week_day_7_start>0</week_day_7_start>
<week_day_7_end>0</week_day_7_end>
</pickup>
................................
................................
................................
</pickups>
</answer>
0
Выбранные исполнители
Отклики