Некоторая помощь по работе с xml в мобильном приложении

29.05.14

Разработка - Универсальные функции

Это первое мое творчество, не судите строго :)

Столкнулся с проблемой выбора файлов в определенной папке. Погуглив наткнулся на статью //infostart.ru/public/155226/, но так как я только зарегестрировался, скачать это чудо у меня не вышло. Почитав СП нашел интересную функцию НайтиФайлы(). сел, подумал и написал своеобразный выход из ситуации. Были использованны две табличные части, две кнопки и 10 строчек кода.

Смысл моего алгоритма прост: берем конкретную папку и ищем в ней все файлы с расширением xml и записываем их в табличную часть. Потом указав галочкой нужный, парсим его во вторую табличную часть. все просто, а главное работает :) 

Вот код: 

&НаКлиенте
Процедура СозданиеПапки(Команда)

Объект.ДанныеОПути = "\storage\sdcard0\data\"; //"c:\ss\";//
Для Каждого Элем из НайтиФайлы(Объект.ДанныеОПути,"*.xml") Цикл
ОбработкаСпискаВыбора(Элем.Имя);
КонецЦикла;

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

&НаСервере
Процедура ОбработкаСпискаВыбора(Имя)

ТЧ = Объект.Табличка.Добавить();
ТЧ.ИмяФайла = Объект.ДанныеОПути + Имя;

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

&НаКлиенте
Процедура ДругаяКоманда(Команда)
Для Каждого Стр из Объект.Табличка Цикл
Если Стр.Выбор = Истина Тогда

Чтение = Новый ЧтениеXML;
Чтение.ОткрытьФайл(Стр.ИмяФайла);//(ПутьКФайлу);

// чтение осуществляется по одному тегу
Пока Чтение.Прочитать() Цикл
// анализируем тип элемента и его имя
Если Чтение.ТипУзла = ТипУзлаXML.НачалоЭлемента Тогда
Если Чтение.Имя="tovar" Тогда
// создаем новый элемент 
ТЧ = Объект.Данные.Добавить();
// читаем атрибуты
Пока Чтение.ПрочитатьАтрибут() Цикл
Если Чтение.Имя="kod_tovar" Тогда
ТЧ.Код = Чтение.Значение;
ИначеЕсли Чтение.Имя = "naim_tovar" Тогда
ТЧ.Наименование = Чтение.Значение;
ИначеЕсли Чтение.Имя = "cena" Тогда
ТЧ.Цена = Чтение.Значение;
КонецЕсли;
КонецЦикла;
КонецЕсли;
КонецЕсли;

КонецЦикла;
КонецЕсли;
КонецЦикла;
КонецПроцедуры

Надеюсь что это поможет кому-нибудь :)

Вступайте в нашу телеграмм-группу Инфостарт

мобильное приложение выбор xml

См. также

Загрузка и выгрузка в Excel Универсальные функции Программист 1С:Предприятие 8 Россия Бесплатно (free)

Описанный ниже подход позволяет в три шага заполнять формулы в Excel файлы, вне зависимости от ОС сервера (MS Windows Server или Linux). Подход подразумевает отказ от работы с COM-объектом в пользу работы через "объектную модель документа" (DOM).

30.10.2025    3845    Abysswalker    9    

46

Универсальные функции Работа с интерфейсом Программист 1С:Предприятие 8 Бесплатно (free)

Порой необходимо временно отключить расширение 1С, не удаляя его, чтобы не потерять данные. Но в этом случае при каждом запуске всем будет лезть уведомление о неактивном расширении, хотя очевидно, это техническая информация, которой не стоит лишний раз пугать пользователей.

14.05.2025    7222    DeerCven    15    

60

Универсальные функции Программист 1С:Предприятие 8 1C:Бухгалтерия Бесплатно (free)

Благодаря этим пяти строчкам можно больше не заморачиваться с загрузкой из внешних файлов. Пользуюсь везде, всегда и постоянно.

21.05.2024    51308    dimanich70    83    

172

Универсальные функции Программист 1С:Предприятие 8 1C:Бухгалтерия Абонемент ($m)

Задача: вставить картинку из буфера обмена на форму средствами платформы 1С.

1 стартмани

18.03.2024    7528    7    John_d    13    

59

Универсальные функции Программист Стажер 1С:Предприятие 8 1C:Бухгалтерия Бесплатно (free)

Пришлось помучиться с GUID-ами немного, решил поделиться опытом, мало ли кому пригодится.

12.02.2024    65033    atdonya    31    

70

Универсальные функции Программист 1С:Предприятие 8 Бесплатно (free)

На заключительных этапах, когда идет отладка или доработка интерфейса, необходимо много раз переоткрыть внешний объект. Вот один из способов автоматизации этого.

30.11.2023    9411    ke.92@mail.ru    17    

68
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. flyer 232 30.05.14 12:06 Сейчас в теме
вот эта строчка смущает Объект.ДанныеОПути = "\storage\sdcard0\data\";
для какого устройства сделал?
вот если не поленился бы и универсальную написал бы для самых распространенных устройств вот за это спасибо и $m было бы.
2. ololoanonim 3 02.06.14 06:55 Сейчас в теме
(1) flyer, Писал под свой андроид, и эта строка пути была взята для тестирования.
Для отправки сообщения требуется регистрация/авторизация