Из txt в базу данных (1С:Предприятие 8.1)

Новая тема
"Здравствуйте.
Мне необходимо написать обработку текстового документа с целью занесения его в базу данных в иерархический справочник. Вот часть этого документа:
РАЗДЕЛ C ДОБЫЧА ПОЛЕЗНЫХ ИСКОПАЕМЫХ

Подраздел CA ДОБЫЧА ТОПЛИВНО - ЭНЕРГЕТИЧЕСКИХ ПОЛЕЗНЫХ ИСКОПАЕМЫХ

10        Добыча каменного угля, бурого угля и торфа

10.1      Добыча, обогащение и агломерация каменного угля
10.10     Добыча, обогащение и агломерация каменного угля
10.10.1   Добыча каменного угля
10.10.11  Добыча каменного угля открытым способом
10.10.12  Добыча каменного угля подземным способом
10.10.2   Обогащение и агломерация каменного угля
10.10.21  Обогащение каменного угля
10.10.22  Агломерация каменного угля
10.2      Добыча, обогащение и агломерация бурого угля
10.20     Добыча, обогащение и агломерация бурого угля
10.20.1   Добыча бурого угля (лигнита)
10.20.11  Добыча бурого угля открытым способом
10.20.12  Добыча бурого угля подземным способом
10.20.2   Обогащение и агломерация бурого угля
10.20.21  Обогащение бурого угля
10.20.22  Агломерация бурого угля
10.3      Добыча и агломерация торфа
10.30     Добыча и агломерация торфа
10.30.1   Добыча торфа
10.30.2   Агломерация торфа

11        Добыча сырой нефти  и  природного  газа;  предоставление
         услуг в этих областях

11.1      Добыча сырой нефти и природного газа
11.10     Добыча сырой нефти и природного газа
11.10.1   Добыча сырой  нефти  и   нефтяного   (попутного)   газа;
         извлечение фракций из нефтяного (попутного) газа
11.10.11  Добыча сырой нефти и нефтяного (попутного) газа
11.10.12  Разделение и извлечение фракций из нефтяного (попутного)
         газа
Я знаю как текстовый документ загнать в базу а вот в иерархический справочник дело обстоит сложнее тут мне кажется должны понадобиться двумерные массивы.
Заранее спасибо "
Воспользуйтесь ДеревомЗначений. Сначала в него, а потом на его основании создайте справочник.
Если можно разобрать иерархию, то какая разница сразу справочник заполнять или сначала дерево заполнять?
"Думаю, что можно "плясать" от длины кода, если структура всегда укладывается в рамки шаблона "99.99.99.99". Т.е. проверяеть

ТекКод = <получаем код из строки текста>;
ДлинаКода = СтрДлина(ТекКод);

ШаблонИерархии = Новый Структура("1,2,3", "2,5,8");

Если ДлинаКода <= 2 Тогда

Уровень = 0;

ИначеЕсли ДлинаКода > 2 И ДлинаКода < 5 Тогда

Уровень = 1;

ИначеЕсли ДлинаКода > 5 И ДлинаКода < 7 Тогда

Уровень = 2;

/// и так далее

потом

Если Уровень > 0 Тогда

ДлинаКодаРодителя = ШаблонИерархии[Уровень];
ТекРодитель = Справочники.МойСпр.НайтиПоКоду(Лев(ТекКод, ДлинаКодаРодителя));

Иначе

ТекРодитель = Справочники.МойСпр.Пустая();

КонецЕсли;

НовСпр = Справочники.МойСпр.Добавить();
НовСпр.Код = ТекКод;
НовСпр.Наименование = <...>;
НовСпр.Родитель = ТекРодитель;

НовСпр.Записать();"
Читают тему
(гостей: 1)

Быстрый переход