Реклама на этом месте
Форум 1С
Форум 1С
Программистам. Бухгалтерам. Администраторам. Пользователям
Задай вопрос - получи решение проблемы. Без троллинга и флуда.
13 Дек 2017, 20:00
МультиВход
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
 
collapse

Автор Тема: Импорт из DBF файла в групповой справочник  (Прочитано 6272 раз)

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

Оффлайн Милуччи

  • *
  • Сообщений: 14
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2011-01-17
  • Сайт: 
  • Профессия: Программист 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

  • Модератор
  • *****
  • Сообщений: 784
  • РЕПУТАЦИЯ: 260
  • КПД: 33%
  • ну - да , ну - да...
  • Регистрация: 2010-10-20
  • Сайт: 
  • Профессия: Программист 1С
потом пишешь обработку заполнения СЗ с должностями без повторений,потом перебор СЗ
и создание. используй СпрСотр.НоваяГруппа();
Дальше разжевать?

Оффлайн Милуччи

  • *
  • Сообщений: 14
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2011-01-17
  • Сайт: 
  • Профессия: Программист 1С
Разжуйте,если не сложно?!

Оффлайн prog1c7.7

  • Модератор
  • *****
  • Сообщений: 784
  • РЕПУТАЦИЯ: 260
  • КПД: 33%
  • ну - да , ну - да...
  • Регистрация: 2010-10-20
  • Сайт: 
  • Профессия: Программист 1С
в какой части не понятно?

Оффлайн Милуччи

  • *
  • Сообщений: 14
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2011-01-17
  • Сайт: 
  • Профессия: Программист 1С
Разобрался уже.Вот код,если кому понадобится:
Создание группы:
СпрМат = СоздатьОбъект("Справочник.Сотрудники");      
СпрМат.НоваяГруппа();
СпрМат.Код = НомерГруппы;
СпрМат.Наименование = Название;
СпрМат.Записать();

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

Оффлайн Милуччи

  • *
  • Сообщений: 14
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2011-01-17
  • Сайт: 
  • Профессия: Программист 1С
Назрел другой вопрос:

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

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

Оффлайн Милуччи

  • *
  • Сообщений: 14
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2011-01-17
  • Сайт: 
  • Профессия: Программист 1С
Оказалось все просто:


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

Оффлайн Qubex

  • *
  • Сообщений: 2
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2011-12-13
  • Сайт: 
  • Профессия: Ученик 1С
Доброго времени суток. Вопрос существует ли возможность импорт в 8.2 из других баз??!!

Оффлайн espero2000

  • **
  • Сообщений: 79
  • РЕПУТАЦИЯ: 12
  • КПД: 15%
  • Регистрация: 2011-03-11
  • Сайт: 
  • Профессия: Программист 7.7
Доброго времени суток. Вопрос существует ли возможность импорт в 8.2 из других баз??!!
Почему бы и нет? Можно написать обработку для любого импорта...


Теги:
 


* Живое общение

Не устроил ответ?

Зарегистрируйся и задай свой вопрос. Живое общение приносит результат намного быстрее.


Зарегистрироваться

* Реклама

* Поиск

* Последние задачи на разработку (фриланс)

* Реклама

* Последние вакансии

* Топ 10 авторов за месяц

Геннадий ОбьГЭС Геннадий ОбьГЭС
172 Сообщений
ilyay ilyay
75 Сообщений
oleg-x
51 Сообщений
alex0402
49 Сообщений
andron81_81
39 Сообщений
AIFrame
37 Сообщений
MuI_I_Ika MuI_I_Ika
34 Сообщений
BuhRust
30 Сообщений
Golickoff Golickoff
28 Сообщений
Dima Dddd Dima Dddd
26 Сообщений

* Кто онлайн

  • Точка Гостей: 351
  • Точка Скрытых: 0
  • Точка Пользователей: 8
  • Точка Сейчас на форуме:

* Облако тэгов

* Форум 1С с мобильного

* Инструменты

* Дополнительно

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal