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

Чтение xml

Автор dimid, 30 сен 2016, 13:33

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

dimid

вот кусок из кода: &НаСервере
Процедура ОткрытьФайлНаСервере()
   ЧтениеXML = Новый ЧтениеXML;
ЧтениеXML.ОткрытьФайл("D:\for_xml\scheta1.xml");
РезультатРазборки = Новый Массив;
Пока ЧтениеXML.Прочитать() Цикл
   Если ЧтениеXML.ТипУзла = ТипУзлаXML.НачалоЭлемента и ЧтениеXML.Имя = "Счет_на_оплату_покупателю" Тогда
      Прервать;
   КонецЕсли;
КонецЦикла;
СтекУзлов = Новый Массив;
ТекущийПуть = "";
Пока ЧтениеXML.Прочитать() Цикл
   Если ЧтениеXML.ТипУзла = ТипУзлаXML.НачалоЭлемента тогда
      СтекУзлов.Добавить(ЧтениеXML.Имя);
      ТекущийПуть = МассивВСтроку (СтекУзлов);
      Если ЧтениеXML.Имя = "Счет" и ТекущийПуть = "Счет" тогда
         ДокументСчет = Новый Структура ("Дата", "Номер", "Организация","Контрагент", "Договор", "счетКасса", "Товар");
         ИначеЕсли ЧтениеXML.Имя = "Товар" и ТекущийПуть = "Счет\Товар" тогда
         СтруктураТовар = новый Структура ("Номенклатура", "Количество", "Ед.изм.", "К.", "Цена", "Руч.ск", "Сумма", "СтавкаНДС", "СуммаНДС", "ЗаказПокупател");
      КонецЕсли;
............
выдает ошибку "Процедура или функция с указанным именем не определена (МассивВСтроку)"
подскажите почему??


dimid

Цитата: dimid от 30 сен 2016, 13:33
вот кусок из кода: &НаСервере
Процедура ОткрытьФайлНаСервере()
   ЧтениеXML = Новый ЧтениеXML;
ЧтениеXML.ОткрытьФайл("D:\for_xml\scheta1.xml");
РезультатРазборки = Новый Массив;
Пока ЧтениеXML.Прочитать() Цикл
   Если ЧтениеXML.ТипУзла = ТипУзлаXML.НачалоЭлемента и ЧтениеXML.Имя = "Счет_на_оплату_покупателю" Тогда
      Прервать;
   КонецЕсли;
КонецЦикла;
СтекУзлов = Новый Массив;
ТекущийПуть = "";
Пока ЧтениеXML.Прочитать() Цикл
   Если ЧтениеXML.ТипУзла = ТипУзлаXML.НачалоЭлемента тогда
      СтекУзлов.Добавить(ЧтениеXML.Имя);
      ТекущийПуть = МассивВСтроку (СтекУзлов);
      Если ЧтениеXML.Имя = "Счет" и ТекущийПуть = "Счет" тогда
         ДокументСчет = Новый Структура ("Дата", "Номер", "Организация","Контрагент", "Договор", "счетКасса", "Товар");
         ИначеЕсли ЧтениеXML.Имя = "Товар" и ТекущийПуть = "Счет\Товар" тогда
         СтруктураТовар = новый Структура ("Номенклатура", "Количество", "Ед.изм.", "К.", "Цена", "Руч.ск", "Сумма", "СтавкаНДС", "СуммаНДС", "ЗаказПокупател");
      КонецЕсли;
............
выдает ошибку "Процедура или функция с указанным именем не определена (МассивВСтроку)"
подскажите почему??
все, разобрался. заменил на "ЗначениеВСтрокуВнутр"

dimid

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

Дальше "Счет" не идет. Т.Е. "счет\Товар" почему-то не читает. В чем ошибка-то??
Добавлено: 03 окт 2016, 09:00


Цитата: dimid от 03 окт 2016, 08:21
вот еще вопрос:
СтекУзлов = Новый Массив;
ТекущийПуть = "";
Пока ЧтениеXML.Прочитать() Цикл
   Если ЧтениеXML.ТипУзла = ТипУзлаXML.НачалоЭлемента тогда
      СтекУзлов.Добавить(ЧтениеXML.Имя);
      ТекущийПуть = ЗначениеВСтрокуВнутр (СтекУзлов);
      Если ЧтениеXML.Имя = "Счет" и ТекущийПуть = "Счет" тогда
         ДокументСчет = Новый Структура ("Дата", "Номер", "Организация","Контрагент", "Договор", "счетКасса", "Товар");
         ИначеЕсли ЧтениеXML.Имя = "Товар" и ТекущийПуть = "Счет\Товар" тогда
         СтруктураТовар = новый Структура ("Номенклатура", "Количество", "Ед.изм.", "К.", "Цена", "Руч.ск", "Сумма", "СтавкаНДС", "СуммаНДС", "ЗаказПокупател");
      КонецЕсли;

Дальше "Счет" не идет. Т.Е. "счет\Товар" почему-то не читает. В чем ошибка-то??
исправлено! но теперь другой вопрос. дата в формате: "02.09.2016 9:24:10" , как правильно прочитать??

Теги:

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

Рейтинг@Mail.ru

Поиск