1. Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie. Узнать больше.

Как Access-ом подключиться к файлу 1С

Тема в разделе "Программирование", создана пользователем DimasShishkin, 01.04.08.

  1. DimasShishkin

    DimasShishkin Активный участник

    1.505
    1
    Кто нибудь знает, как с помошью Access подключиться к файлу 1С базы с расширением .dbf В настоящий момент научился используя "Файл->Внешние Данные -> Импорт " импортировать данные, но получается хрень какая то с кракозябрами, как их победить знает кто нибудь.:(
     
  2. Mix

    Mix Активный участник

    7.768
    0
    DimasShishkin,
    с кодировкой побалуйся.
     
  3. MenBS

    MenBS Активный участник

    3.301
    0

    Как думаешь - нах это надо...
    Мож там { за кракозябры трактуют в сылочных типах
     
  4. Гость7

    Гость7 Гость


    Очень не рекомендую делать такие вещи при работающей 1С. Т.к. если Access заблокирует dbf на какое-то время, и если в этот момент 1с захочет из него чего-нибудь прочитать или в него чего-нибудь записать, то она сделать этого не сможет, и огорчиться, а заодно (при записи) могут возникнуть коллизии с данными.
    Да и вообще, зачем нужно это подключение - непонятно. Если хочется наладить обмен данными с внешним источником - обычно по-другому это делается: из 1С можно через ADO закинуть всю инфу напрямую в базу Access.
     
  5. panda-34

    panda-34 Активный участник

    1.589
    2
    заблокировать dbf ну никак не получится, т.к. dbf уже открыт 1с-ом, заблокировать можно до запуска 1с, но тогда она просто не запустится.

    добавлено через 23 минуты
    DimasShishkin,
    попробуй импортировать через фокспрошный ODBC драйвер
    У тебя кракозябры из-за перекодировки WIN->DOS или Кириллица->Западноевропейская?
     
  6. MenBS

    MenBS Активный участник

    3.301
    0


    Ребят, ничего что в таблицах 1С много данных хранятся как ссылки на другие записи других таблиц, да еще в 36ричной системе исчисления :) :)
    Ну прочитаете вы простые типы - число, строка, дата. Ну и все, собственно. А дальше? посмотрите файл *.DD или .DDS на досуге
     
  7. panda-34

    panda-34 Активный участник

    1.589
    2
    MenBS,
    Про SELECT FROM смотрел? Им можно из разных таблиц одновременно данные получать.:p И даже по ссылкам в 36ричной системе счисления. И думаю даже по 40ричной, хоть она в 1с и не используется.:d Вот если где объект неопределенного вида встречается, то да, тогда заморочки. Но это редкость.
     
  8. MenBS

    MenBS Активный участник

    3.301
    0
    вам понятие "метаданные" знакомо? вы как определите из каких _конкретно_ разных таблиц данные взять? с учетом того что тип данных хранится в метаданных, ссылка хранится в самой таблице без указания типа, а тип хранится в названии поля :) вы хорошо в структуре хранения данных разбираетесь в 1с? вы в курсе что есть два вида идентификаторов - 13 символьный (с типом) и 9 символьный (без типа). или вы просто теоритически заявляете возможность использования select from? вы хоть файлы которые я назвал смотрели-то?
    Флаг вам в руки... сделать можно, конечно, я не спорю... трахайтесь.
     
    Последнее редактирование: 26.06.08
  9. A380

    A380 Активный участник

    851
    0

    а собственно в чем проблема-то? ну смотрели и смотрим. что собственно страшного мы там должны увидеть? обыкновенное описание структуры помогающее правильно написать запрос.
    при чем здесь вообще идентификаторы? а что это за такой тип данных "без типа"(родила царица в ночь не то сына не то дочь??? так что=ли) ? он в базе как хранится? сами-то поняли что написали?
     
  10. MenBS

    MenBS Активный участник

    3.301
    0
    я сам не просто понял... я сам писал такие вещи.
    имхо реально легче писать их из 1с, а не через внешние вещи, вручную отслеживая структуру хранения и взаимосвязи таблиц. но ради бога :) дерзайте.
    про тип без типа. в таблицах 1с ссылки хранятся ввиде 9 символьных ключей. но в какой таблице искать этот ключ определить невозможно без анализа стуктуры таблиц ну или тех самых файлов. ссылку надо искать в нужной таблице,а не просто так. ну и с учетом того что наименования таблиц могут при определенных условиях менятся... то и запрос с жестким указанием номеров таблиц придется переписывать. или писать уневерсальный парсер структуры. тоже можно. но вообще говорят можно гланды через **** лечить... или вот апендецит через влагалище удалили недавно... тож революция в медецине :)

    добавлено через 13 минут
    а ващето в 1с есть такая хрень как пустой объект неопределенного вида... "родила царица в ночь не то сына не то дочь" это как раз про это...
     
    Последнее редактирование: 27.06.08

  11. IMHO, это неправильный подход. Так как из 1ц к базам Access можно легко и просто подключаться через ADO, и передавать туда данные одинэсных баз.