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

Импорт из DBF файла в групповой справочник

Автор Милуччи, 17 янв 2011, 14:18

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

Милуччи

Имеется dbf файл-1.dbf.Его структура следующая:

______________________________________________
|----------------FIO-----------------|--DOLZN------|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|---------------Иванов И.И. ---------|-Программист-|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|----------------Петров П.П.---------| -Бухгалтер---|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|---------------Сидоров С.С---------|-Экономист---|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|-------------Петренко А.А----------|-Программист-|
и т.д

Необходимо содержимое этого файла импортировать в справочник "Сотрудники",причем при импортировании разбить сотрудников по группам(Программист,Экономист,Инженер,Бухгалтер и.т),т.е создать столько групп сколько неповторяющихся должностей в файле в поле "DOLZN ".Я импортировал просто без создания групп.Вот код:

Код:

Файл1=СоздатьОбъект("XBase");   
Файл1.ОткрытьФайл("1.dbf");   
Для ит=1 По Файл1.КоличествоЗаписей() Цикл
         Файл1.Перейти(ит);
         Спр1=СоздатьОбъект("Справочник.Сотрудники");
         Спр1.Новый();
         Спр1.ФИО=Файл1.FIO;
         Спр1.Должность=Файл1.DOLZN;
         Спр1.Записать();
КонецЦикла;
Файл1.ЗакрытьФайл();


Помогите симпортиовать с созданием групп.
Спасибо!

prog1c7.7

потом пишешь обработку заполнения СЗ с должностями без повторений,потом перебор СЗ
и создание. используй СпрСотр.НоваяГруппа();
Дальше разжевать?

Милуччи


prog1c7.7


Милуччи

Разобрался уже.Вот код,если кому понадобится:
Создание группы:

СпрМат = СоздатьОбъект("Справочник.Сотрудники");     
СпрМат.НоваяГруппа();
СпрМат.Код = НомерГруппы;
СпрМат.Наименование = Название;
СпрМат.Записать();


Запись элемента в нужную группу

Файл1=СоздатьОбъект("XBase");   
Файл1.ОткрытьФайл("1.dbf");   
Для ит=1 По Файл1.КоличествоЗаписей() Цикл
         Файл1.Перейти(ит);
         Спр1=СоздатьОбъект("Справочник.Сотрудники");
         Спр1.Новый();
         Спр1.ФИО=Файл1.FIO;
         Спр1.Должность=Файл1.DOLZN;
         Спр1.Родитель= НомерГруппы;
         Спр1.Записать();
КонецЦикла;
Файл1.ЗакрытьФайл();

Милуччи

Назрел другой вопрос:

Как организовать поиск элемента в групповом справочнике по наименованию,которое берется из таблицы значений.Вот это почемуто не работает


Спр1.НайтиПоНаименованию(ТабСот.Наименование);
ДокСот.ПРО=Спр1.ТекущийЭлемент();

Милуччи

Оказалось все просто:



Спр1.НайтиПоНаименованию(ТабСот.Наименование,0);//По умолчанию стоит 1,т.е поиск внутри текущей группы,0-поиск
                                                                            //во всем справочнике независимо от группы.
ДокСот.ПРО=Спр1.ТекущийЭлемент();

Qubex

Доброго времени суток. Вопрос существует ли возможность импорт в 8.2 из других баз??!!

espero2000

Цитата: Qubex от 13 дек 2011, 23:25
Доброго времени суток. Вопрос существует ли возможность импорт в 8.2 из других баз??!!
Почему бы и нет? Можно написать обработку для любого импорта...

Теги:

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

Рейтинг@Mail.ru

Поиск