Форум: "Базы";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.03.28;
Скачать: [xml.tar.bz2];




Вниз

Конвертирование БД 


Sam   (2002-02-20 19:53) [0]

Привет уважаемый All. Вопрос у меня такой: как конвертировать БД из 1С-бухгалтерии (субконто) в какой-нить человеческий формат, понятный под Delphi. Если у кого какие соображения есть по этому поводу, скиньте на мыло, pls.



Владислав   (2002-02-20 19:59) [1]

А при чем здесь Delphi?
Дело в драйверах доступа к БД.
Пробовал "экспериментировать" BDE Administrator"ом?
Я "подключал" эти базы к Access (Файл|Внешние данные|Связь с таблицами...).
Все замечательно работало. Ни что не мешает сделать в этой ситуации импорт.
Какой именно "человеческий" формат интересует?



sniknik   (2002-02-20 20:32) [2]

Дело не в Дельфи а в 1С его формат точно нелюди писали, в смысле не сам формат Dbf или SQL а как там что обзывается и где лежит. Без разбора MD не разберешся.

Sam точнее выражайся, что надо. Например представляеш хоть приблизительно в какой таблице твой (субконто) лежит?



Владислав   (2002-02-20 20:56) [3]

> sniknik © (20.02.02 20:32)

Не столь важно (насколько я понял). Важно то, чтобы с этими данными стало возможным работать под Delphi. Важным моментом является лишь то, как работать с этими данными. В режиме "реального" времени или нет. Если нет, то данные можно преобразовать (в принципе) как угодно и делать с ними все, что угодно.



sniknik   (2002-02-20 23:25) [4]

> Владислав

1C пока использует только 2 формата Dbf и MS SQL. В обоих случаях преобразований не требуется - подключайся и работай. а вот структура данных это проблема, в 1С все обычно меняют "на лету" и если например вам сделают дополнительный отчет и изменят всего одну константу... короче программу придется переписывать. Сами 1С-ники об этом даже не не узнают они обращаются к таблицам, полям по соответствиям в MD, а вам придется работать с таблицами по "птичьим именам" и такими же полями. Или вызывать 1С как OLE для считывания структуры или разбирать MD. И вот это я бы не назвал нормальной работой по "человечески".

Кстати самому Sam-у похоже уже ничего не надо? а мы тут дискусии разводим.



Sam   (2002-02-25 20:07) [5]

Спасибо всем за участие. Мне совсем не все равно, просто я выдержал паузу.
2Skinlink: Чувствуется человек заглядывавший во внутренности 1С-овских БД. Может я не совсем точно выразился, что мне нужно. Мне нужно любым образом изъять данные из файлов типа *.dbf, созданных с помощъю программы 1С-Бухгалтерия и поместить их в файлы формата *.dbf или *.db или *.mdb или ... вообщем любой формат лекго доступный из под Delphi. Нужен конвертер какой-нить. Просто очень приличная база по размерам в 1С-Бух. набита, а функциональности 1С-ки не хватает для реализации некоторых функций, поэтому необходимо перегнать (ну к прнимеру список товаров, реализуемых предприятием) в понятную структуру и потом ее (структуру) юзать.



Fay   (2002-02-25 22:02) [6]

Можно использовать OLE.
Можно выгружать данные в текст или DBF.
Для теккста/DBF можно задавать
кодовою страницу.(Здорово, да! :)
Мне лениво, но можно , наверное, ещё придумать что-нибудь.
Думаю, приятнее выгружать данные из 1С средствами 1С - меньше хлопот.



Sam   (2002-02-27 21:43) [7]

Самый прикол в том, что этих средств то в 1С и нету (версия 96-года) :(



Fay   (2002-02-28 00:12) [8]

Какая версия?



Sam   (2002-02-28 19:51) [9]

6.0 по-моему. Если есть какие соображения, очень хотелось бы услышать, а то скоро придется заставить кого-нить вручную эту базу перенабирать.



Иван Шихалев   (2002-02-28 20:42) [10]

Как вариант:
1. Сделать копию базы и открыть конфигуратором от 7.7
2. На вопрос "А не хочешь ли преобразовать в новый формат?" ответить "ДА!!!".
3. Написать обработку, выгружающую в DBF или TXT уже в том виде, который нужен, или в любой другой формат через ADO или OLEDB, что, безусловно, геморройней.

Или другой вариант: написать отчет, сохранить печатную форму в MXL, затем открыть в 7.7 и сохранить в XLS, к которому подцепиться через OLE, ADO или ODBC.



Fay   (2002-03-01 04:57) [11]

А в шестёрке точно нет объекта Текст или XBase?



fnatali   (2002-03-01 08:21) [12]

По-моему шестёрка позволяет переносить проводки в текстовом виде. Если нужно какие-то конкретные субконто получить - файл 1sbcons.dbf. Выбрать нужные субконто можно по кодам в поле consname, по-моему. Я как-то давно выбирала список сотрудников, например. В шестёрке то всего штук десять dbf-файлов, разобраться не так уж трудно.



Fedorenko Igor   (2002-03-01 10:25) [13]

чтобы получить доступ из Delphi к базе 1С формата dBase :
1) настроить псевдоним на эту базу, используя драйвер БД
Microsoft Visual FoxPro Driver, драйвер языка
dBase RUS cp866.
2) Описание структуры и назначения таблиц найдешь в файле
1Cv7.DD (в общем в зависимости от версии)
3) подключайся и наслаждайся результатом
ЭТО РАБОТАЕТ, Я НЕДАВНО САМ ПОЛЬЗОВАЛСЯ
на доп вопросы по почте ... удачи



Sam   (2002-03-01 21:15) [14]

Спасибо большое, обязательно все попробую.




Форум: "Базы";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.03.28;
Скачать: [xml.tar.bz2];




Наверх





Память: 0.74 MB
Время: 0.019 c
7-91094           BFG                   2001-12-26 23:31  2002.03.28  
Мышь


6-91018           McSimm                2002-01-15 10:35  2002.03.28  
TIdHTTP и cookie


1-90932           lightix               2002-03-13 15:11  2002.03.28  
Подскажите, как запустить Excel и передать в него данные?


1-90856           IgoX                  2002-03-16 23:01  2002.03.28  
dll функции


3-90767           Demon ltd             2002-03-02 00:00  2002.03.28  
Удаление из таблиц