Имя: Пароль:
1C
1С v8
Как правильнее восстановить из xml иерархический справочник
0 suvolod
 
24.02.12
15:00
Нужно написать обмен между двумя конфигурациями. Универсальный обмен данными не подойдет, ввиду того, что одна из конфигураций вообще нетиповая. Хочу запрограммировать такой обмен через Чтение/Запись XML, но возник вопрос с переносом иерархических справочников.

С сохранением никаких проблем вроде нет - для каждого переносимого элемента буду сохранять родителя и уровень вложенности. Но вот как правильнее восстанавливать данные из такого файла? На ум приходит только несколько раз перечитывать XML файл, создавая вначале группы в корне, затем группы 1-го уровня, 2-го, n-1. И уже в конце переносить элементы. Но, с учетом того, что обмен планируется постоянный, а значит каждый раз из общей выгрузки надо будет брать лишь несколько позиций, да еще с многократным последовательным чтением XML, мне такой подход кажется жутко неоптимальным.
1 DexterMorgan
 
24.02.12
15:09
Все равно придешь к КД xD
2 suvolod
 
24.02.12
15:18
это вряд-ли... на самом деле первая конфа - это вообще не 1С, а S-маркет. И с нее мне будут выгружать данные в формате xml. По крайней мере, с разработчиком от s-маркета мы предварительно договорились о таком формате обмена.
3 DrShad
 
24.02.12
15:21
а сделать такой же формат как в КД? но уже в вашем обмене
4 DrShad
 
24.02.12
15:21
и не нужно дважды читать или трижды читать XML - есть рекурсии
5 suvolod
 
24.02.12
15:26
хотелось-бы... но пока договоренности об этом достигнуть не удалось. Все, что нам пообещали - просто "выгрузить все, как получиться", а дальше уже я должен разбираться, группировать, строить иерархию... Ладно, получается, пока других вариантов нет.
6 DrShad
 
24.02.12
15:27
(5) рекурсия тебе чем не подходит?
7 suvolod
 
24.02.12
15:37
поясни про рекурсию? xml-файлы, насколько знаю, можно читать только последовательно. Там рекурсию не замутишь.
Компьютеры — прекрасное средство для решения проблем, которых до их появления не было.