Вход | Регистрация


Форумы на Кубань.Ру


1С:Предприятие ::

Метки:

Импорт из таблиц дбф в справочник

Ø
Я
   soulv
25.11.04 - 13:19
Имеется несколько таблиц (допустим дбф), между ними имеются связи...необходимо из них перенести данные в справочник, структура справочника такая: Код, Наименование, Комментарий....у справочника 5 уровней... С чего начать переносить данные и делать это средствами 1С или пойти другим путем? Как связывать таблицы, в смысле в 1С есть такие средства?
 
 
   NS
1 - 25.11.04 - 13:21
(0) Какие таблицы связывать?
   soulv
2 - 25.11.04 - 13:23
дбф-ные.........из которых мне нужно данные залить в справочник....данные хранятся не в одной таблице, а в 4-х...
   soulv
3 - 25.11.04 - 13:36
?
   NS
4 - 25.11.04 - 13:37
Так они связаны по полю?
Какие могут быть ограничения в 1С? Нельзя типа два ДБФ-а переносить, можно только один?
   soulv
5 - 25.11.04 - 13:42
связаны по полю........каким образом в 1С этот отображается? если в sql можно связать так:
Таблица1.Поле1=Таблица2.Поле1(+)
а в 1С это как будет?
   Diter
6 - 25.11.04 - 13:42
(0) Ты не о том думаешь. Ты думай как ты будешь в разных ДБФ искать данные, которые относятся к одному элементу. Как будешь заполнять реквизиты непростых типов (справочник, перечисление, документ).Как записывать его будешь. А потом как будешь мается с установкой родителей и владельцев. А прочитать данные и понасоздовать новых элементов в справочнике - фигня.
   NS
7 - 25.11.04 - 13:44
Куча способов -
1) Создать индекс
2) Один ДБФ в ТЗ и найтиЗначение
3) Позвать Программиста 1С.
   soulv
8 - 25.11.04 - 13:47
Реквизитов непростых типов нет...
Просто в ДБФ справочник реализован в нескольких таблицах, т.е. если в 1С представлять его как многоуровненвый справочник, будет 5 групп.....
"думай как ты будешь в разных ДБФ искать данные, которые относятся к одному элементу." .......я об этом и думаю...
   soulv
9 - 25.11.04 - 13:49
"Один ДБФ в ТЗ и найтиЗначение".........и что?.....а потом вторую, чтобы найти какой элемент в третьей ей соответствует?
   NS
10 - 25.11.04 - 13:51
(9) У тебя пять уровней хранятся в пяти дбф-ах?
Где такого крутого кодера откопали?
 
 
   Diter
11 - 25.11.04 - 13:54
(8) По моему мнению такая связь не берётся из воздуха. Есть некое поле (не силён в терминологии баз данных), которое имеет одинаковое значение во всех связанных таблицах. ИМХО. Вот его и отлавливай. А что это за дбф-ки такие интересные. И с чего ты взял, что пять файлов это пять уровней 1С? Уровень справочника в 1С это просто группировка элементов по общему родителю - группе.
   Alexaha
12 - 25.11.04 - 14:38
(7) Можно и поиск по ключу с дальнейшим перебором если надо
   soulv
13 - 25.11.04 - 14:59
А как в 1С программно создавать уровни, т.е. мне если у меня в дбф встречается комбинация полей (Поле1=1 Поле2=0)...это первый уровень, если (Поле1=1 Поле2=1) это подуровень, если (Поле1=1 Поле2=2) тоже подуровень, а если (Поле1=0 Поле2=3), т о это уже элемент группы........и т.д...
   Diter
14 - 25.11.04 - 15:04
(13) Читай руководство. наколока - "Родитель" и всё что с ним связано
   NS
15 - 25.11.04 - 15:19
Вечером могу набросать примерчик, сейчас никак.
   soulv
16 - 26.11.04 - 06:19
(15) Очень жажду Вашего примерчика, т.к. у меня так ничего и не вышло...
Как позиционироваться на уже существующей группе и в нее добавлять новый элемент??........чет не доходит......
   soulv
17 - 26.11.04 - 06:47
И еще, мне для группы тоже нужно заполнять поле комментарий, а доступны только код и наименование.....как выкрутится???:(
   soulv
18 - 26.11.04 - 09:26
up
   NS
19 - 26.11.04 - 10:01
(16)спр.найтипокоду(ДБФ.ParentID);
Род=спр.ТекущийЭлемент();
Спр.Новый();
Спр.Родитель=Род;
   soulv
21 - 26.11.04 - 10:13
(20) зачем высылать?:) я ж не прошу "сделайте мне как я хочу!", а прошу меня направить в правильное русло.....пока вроде все ясно, спасибо!:)
   NS
22 - 26.11.04 - 10:21
Что ясно? Ты даже родителя не можешь присвоить, а тебе дерево нужно обойти
   SiAl
23 - 26.11.04 - 10:54
(21) Зачем действительно столько ДБФ-ок, для справочника достаточно 1-ой.
Код | Наименование | ЭтоГруппа | КодРодителя | Дибая другая информация
и все зачем огоро городить.
Получить код родителя = Родитель.Код
Проверить на группу = ЭтоГруппа
При создании
Если ЭтоГруппа = 0 Тогда Новый() Иначе НоваяГруппа() КонецЕсли;
   Chastiser
24 - 26.11.04 - 11:33
(0) Была у меня такая проблема: более 70 огромных dbf-файлов (до 1,9 млн. записей) 5 уровней иерархии по ключевому полю (Владелец в терминах 1С) перенести в базу 1С для дальнейшей обработки уже силами языка 1С. Писал универсальный конвертер, суть такая: создается 5-уровневый справочник "Структура БД" и заполняется кодами соответствующими именам и подчинению файлов, затем создаются справочники с именем соответствующим имени файла, кодом под длину ключевого поля и реквизитами, соответствующими именам dbf-полей (поскольку есть синонимы - старой dbf-структуры после загрузки не видно). Далее запускается конвертер, указывается каталог с dbf-файлами, и он по структуре сверху-вниз через ADO загоняет все данные в справочники 1С один-в-один, включая MEMO. Если нужно, в понедельник смогу выслать готовый рабочий конвертер.
   NS
25 - 26.11.04 - 11:36
Чистейший бред.
ДБФ работает намного быстрее, чем справочники, и обрабатывать ес-но надо сразу в ДБФ.
Смысла для этого использовать что-то кроме XBase нет никакого...
Ес-но за исключением Мемо полей и нестандартных типов.
   Chastiser
26 - 26.11.04 - 11:43
(25) Странно, вроде уважаемый человек, шахматы пишет, а так безаппеляционно выражается, странно...
Переведите работу FoxPro'шной базы под 1G данных с дебильной чисто иерархической структурой (горизонтальных связей нет и структуры одинаковых данных в разных ветках иерархии просто дублируются) на 1С с полной реорганизацией структуры хранения данных чисто методами XBase и можно Вам ставить памятник при жизни ;-)))




Список тем форума

Форум Территория 1С

Рекламное место пустует  
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство.
Фредерик Брукс-младший
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Ветка сдана в архив. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует