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

Группы из хмл файла

Автор Vasylii, 05 окт 2023, 20:58

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

Vasylii

Проблема в следующем есть ХМЛ файл в нем есть структура групп которая выглядит как на скриншоте, заполняю построчно но при заполнении получается что все в тз едет вниз, не много не понимаю как правильно организовать создание этих папок в тз, советовали через рекурсию но знаний пока что не достаточно что бы реализовать так,
как реализовывал я
Если Путь = "КоммерческаяИнформация/Классификатор/Группа/Ид/" тогда
Группы.Ид4 = ЧтениеXML.Значение;
ИначеЕсли Путь = "КоммерческаяИнформация/Классификатор/Группа/Наименование/" тогда
Группы.Наименование4 = ЧтениеXML.Значение;
ИначеЕсли Путь = "КоммерческаяИнформация/Классификатор/Группы/Группа/Ид/" тогда

Группы.Ид = ЧтениеXML.Значение; 
ИначеЕсли Путь = "КоммерческаяИнформация/Классификатор/Группы/Группа/Наименование/" тогда
Группы[ПоследнийУзел] = ЧтениеXML.Значение;
ИначеЕсли Путь = "КоммерческаяИнформация/Классификатор/Группа/Группы/Группа/Ид/" тогда
Группы[ПоследнийУзел] = ЧтениеXML.Значение;
ИначеЕсли Путь = "КоммерческаяИнформация/Классификатор/Группа/Группы/Группа/Наименование/" тогда
Группы.Наименование5 = ЧтениеXML.Значение;
ИначеЕсли Путь = "КоммерческаяИнформация/Классификатор/Группы/Группы/Группы/Группа/Ид/" тогда
Группы.Ид3 = ЧтениеXML.Значение;
ИначеЕсли Путь = "КоммерческаяИнформация/Классификатор/Группы/Группа/Группы/Группа/Наименование/"тогда
Группы.Наименование1 = ЧтениеXML.Значение;
ИначеЕсли Путь = "КоммерческаяИнформация/Классификатор/Группы/Группа/Группы/Группа/Ид/"тогда
Группы.Ид1 = ЧтениеXML.Значение;
ИначеЕсли Путь = "КоммерческаяИнформация/Классификатор/Группы/Группы/Группы/Группа/Наименование/"тогда
Группы.Наименование3 = ЧтениеXML.Значение;
ИначеЕсли Путь = "КоммерческаяИнформация/Классификатор/Группа/Группы/Группа/Группы/Группа/Наименование/"тогда
Группы.Наименование5 = ЧтениеXML.Значение;
ИначеЕсли Путь = "КоммерческаяИнформация/Классификатор/Группа/Группы/Группа/Группы/Группа/Ид/"тогда
Группы.Ид5 = ЧтениеXML.Значение;
ИначеЕсли Путь = "КоммерческаяИнформация/Классификатор/Группы/Группа/Группы/Группа/Группы/Группа/Ид/"тогда
Группы.Ид2 = ЧтениеXML.Значение;
ИначеЕсли Путь = "КоммерческаяИнформация/Классификатор/Группы/Группа/Группы/Группа/Группы/Группа/Наименование/"тогда
Группы.Наименование2 = ЧтениеXML.Значение;
КонецЕсли;

Vasylii

Vasylii, Забыл Скриншоты

LexaK

Vasylii, а зачем вам ТЗ? что вы с ней собрались делать?
если эти группы из ХМЛ, надо создать в базе, так сразу и создавайте!
если помогло нажмите: Спасибо!

Vasylii

LexaK, так а как сразу создавать из хмл. я обычно запихивал все в тз и все

Vasylii

LexaK, Так же ТЗ используются для проверки, через запрос на уже созданные группы, и в дальнейшем передаю их в функцию создания группы и создание доп реквизитов

LexaK

Vasylii, а зачем вы такую ТЗ сделали
ИД1...п
Наименование1...п

не надо столько повторяющихся колонок
помещайте данные просто в
ИД,
Наименование

получится как раз таблица для запроса

если помогло нажмите: Спасибо!

Vasylii

LexaK, проблема в том что если сувать в одну колонку он перезаписывает значения, тогда это скорее массив какой нибудь или структура, да и в целом нужнен айди что бы наименования присваивать группам номенклатур, потому что по айди мы ищем в тз и тянем наименование, лично я так вижу но не до конца понимаю реализацию такого, и как бы реализовать не через пути а более универсальной сделать?

LexaK

Цитата: Vasylii от 06 окт 2023, 12:48проблема в том что если сувать в одну колонку
все правильно! именно в ОДНУ колонку! но в РАЗНЫЕ строчки! тогда у вас ни чего не перезапишется!  :befhbt:

у вас всего три колонки получается
ИД,
Наименование,
ИДГруппы

(самое простое, поищите у себя похожий пример загрузки и сделайте по подобию)
если помогло нажмите: Спасибо!

Vasylii

LexaK, а как решить проблему с путями тогда , сделать ее более универсальной ибо если брать в пример файл с 150 позициями там не особо сложно хоть и код получается массивным из-за прописи путей, а как быть с файлом в 10 тысяч позиций, там зашиться можно прописывать все эти пути

Vasylii

Цитата: LexaK от 06 окт 2023, 13:04
Цитата: Vasylii от 06 окт 2023, 12:48проблема в том что если сувать в одну колонку
все правильно! именно в ОДНУ колонку! но в РАЗНЫЕ строчки! тогда у вас ни чего не перезапишется!  :befhbt:

у вас всего три колонки получается
ИД,
Наименование,
ИДГруппы

(самое простое, поищите у себя похожий пример загрузки и сделайте по подобию)
плюс из-за того что на одном пути может лежать по 5 айди он будет перезаписывать строку. только если какое то условие делать для этого

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

Рейтинг@Mail.ru

Поиск