Здравствуйте, подскажите пожалуйста что не так делаю.
Читаю хмл
Суть в чем, человек заказывает товар(Булочка 5 шт 500р, Молоко 2 шт 50р)
В итоге при чтении у меня получается запись в таблице значений всегда на последний товар
Булочку не записывает(но в цикле по ней пробегает)
вот код.
Читаю хмл
Суть в чем, человек заказывает товар(Булочка 5 шт 500р, Молоко 2 шт 50р)
В итоге при чтении у меня получается запись в таблице значений всегда на последний товар
Булочку не записывает(но в цикле по ней пробегает)
вот код.
Парсер = Новый ЧтениеXML;
Парсер.ОткрытьФайл(ПутьДляСохранения);
Построитель = Новый ПостроительDOM;
Документ = Построитель.Прочитать(Парсер);
КС = Новый КвалификаторыСтроки(200);
Массив = Новый Массив;
Массив.Добавить(Тип("Строка"));
ОписаниеТиповС = Новый ОписаниеТипов(Массив, , КС);
число1 = Новый КвалификаторыЧисла(15,3);
ОписаниеЧисла = Новый ОписаниеТипов("Число", число1);
//ОписаниеМассива = Новый ОписаниеТипов("Массив");
//СписокЗ.ТипЗначения = Новый ОписаниеТипов("Строка",КС);
//СписокЗ.Добавить("name");
//СписокЗ.Добавить("quantity");
//СписокЗ.Добавить("price");
//СписокЗ.Добавить("product_id");
ТаблицаСЗаказами = Новый ТаблицаЗначений;
ТаблицаСЗаказами.Колонки.Добавить("acc_nomer", ОписаниеТиповС);
ТаблицаСЗаказами.Колонки.Добавить("client", ОписаниеЧисла);
ТаблицаСЗаказами.Колонки.Добавить("status", ОписаниеТиповС);
ТаблицаСЗаказами.Колонки.Добавить("note", ОписаниеТиповС);
ТаблицаСЗаказами.Колонки.Добавить("total", ОписаниеТиповС);
ТаблицаСЗаказами.Колонки.Добавить("payment_type", ОписаниеТиповС);
ТаблицаСЗаказами.Колонки.Добавить("created_at", ОписаниеТиповС);
ТаблицаСЗаказами.Колонки.Добавить("shipping_address", ОписаниеТиповС);
ТаблицаСЗаказами.Колонки.Добавить("shipping_date_from", ОписаниеТиповС);
ТаблицаСЗаказами.Колонки.Добавить("shipping_date_to", ОписаниеТиповС);
ТаблицаСЗаказами.Колонки.Добавить("order_item_list", ОписаниеТиповС);
ТаблицаСЗаказами.Колонки.Добавить("name", ОписаниеТиповС);
ТаблицаСЗаказами.Колонки.Добавить("quantity", ОписаниеТиповС);
ТаблицаСЗаказами.Колонки.Добавить("price", ОписаниеТиповС);
ТаблицаСЗаказами.Колонки.Добавить("product_id", ОписаниеТиповС);
ТаблицаСЗаказами.Колонки.Добавить("driver", ОписаниеТиповС);
ТаблицаСЗаказами.Колонки.Добавить("delivery_time", ОписаниеТиповС);
ТаблицаСЗаказами.Колонки.Добавить("operator", ОписаниеТиповС);
Для Каждого Элемент0 Из Документ.ЭлементДокумента.ДочерниеУзлы Цикл
Если Элемент0.ИмяУзла = "orders" Тогда
//НовСтр = ТаблицаСКлиентами.Добавить();
КУзлов = Элемент0.ДочерниеУзлы.Количество();
i = 0;
x = 0;
Для счетчик = 1 по КУзлов Цикл
НовСтр = ТаблицаСЗаказами.Добавить();
Для каждого Элемент1 Из Элемент0.ДочерниеУзлы[i].ДочерниеУзлы Цикл
Если Элемент1.ИмяУзла = "order_item_list" Тогда
КТовара = Элемент1.ДочерниеУзлы.Количество();
Для счетчик1 = 1 по КТовара Цикл
Для каждого Элемент2 Из Элемент1.ДочерниеУзлы[x].ДочерниеУзлы Цикл
НовСтр[Элемент2.ИмяУзла] = Элемент2.ТекстовоеСодержимое;
КонецЦикла;
x=x+1;
//Счетчик1 = Счетчик1 +1;
КонецЦикла;
Иначе
НовСтр[Элемент1.ИмяУзла] = Элемент1.ТекстовоеСодержимое;
КонецЕсли;
//счетчик1 = 1;
КонецЦикла;
i=i+1;
x=0;
КонецЦикла;
КонецЕсли;
КонецЦикла;
ПоказатьОтветы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Наверно надо перенести момент добавления строки заказа:
НовСтр = ТаблицаСЗаказами.Добавить();
Для каждого Элемент1 Из Элемент0.ДочерниеУзлы[i].ДочерниеУзлы Цикл
Если Элемент1.ИмяУзла = "order_item_list" Тогда
КТовара = Элемент1.ДочерниеУзлы.Количество();
Для счетчик1 = 1 по КТовара Цикл
Для каждого Элемент2 Из Элемент1.ДочерниеУзлы[x].ДочерниеУзлы Цикл
НовСтр = ТаблицаСЗаказами.Добавить();
Для каждого Элемент1 Из Элемент0.ДочерниеУзлы[i].ДочерниеУзлы Цикл
Если Элемент1.ИмяУзла = "order_item_list" Тогда
КТовара = Элемент1.ДочерниеУзлы.Количество();
Для счетчик1 = 1 по КТовара Цикл
Для каждого Элемент2 Из Элемент1.ДочерниеУзлы[x].ДочерниеУзлы Цикл
НовСтр = ТаблицаСЗаказами.Добавить();
(2)Пробовал, там вообще ахинея получается))Для счетчик1 = 1 по КТовара Цикл
Для каждого Элемент2 Из Элемент1.ДочерниеУзлы[x].ДочерниеУзлы Цикл
это я конкретно по товарам пробегаюсь,
если вынесу туда, то получится тупо значения с товарами, а все остальное, кто заказал и т.д, будет пустым.
Для каждого Элемент2 Из Элемент1.ДочерниеУзлы[x].ДочерниеУзлы Цикл
это я конкретно по товарам пробегаюсь,
если вынесу туда, то получится тупо значения с товарами, а все остальное, кто заказал и т.д, будет пустым.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот