04.11.2002, 11:01 | #1 |
Участник
|
Обмен данными с 1С
Здравствуйте !
Интересна задача интеграции с 1С. Даже подзадача - загрузка данных из 1С - базы в базу Аксапта. Не хотелось бы обращаться напрямую к *.DBF таблицам, к тому же неизвестно , возможно база из которой нужно проимпортировать данные на SQL. Какие средства есть в Аксапта для связи с 1cv7 - приложением ? Кто - нибудь эту задачу решал когда - нибудь ? Нужно что - то вроде : static Job ImportFrom1C () { Com_Object_1C_type app_1c; app_1c= new ("?????????????"); app_1C.init("\\ path to database") ... // после этого можно обращаться через точку к методам объекта app_1c // и делать все что угодно - главное чтобы типы возвращаемые понимались в Х++. } В целом "общение" видится примерно так - подскажите если я не прав. Может быть эта задача уже решалась ? Был бы признателен за кусок кода. Спасибо. |
|
05.11.2002, 10:47 | #2 |
Участник
|
Ответ
По моему есть 2 варианта
1. Использовать таблицы для импорта документов, справочников. Выгружать в эти таблицы соответствующим образом документы и справочники либо из 1С (Аксапты) и затем загружать их в Аксапту (1С). 2. Вызывать через COM методы Аксапты(1С) и импортировать (экспортировать) таким образом все что нужно Было опробовано 1 и 2 (тока не пробовал методы аксапты выхывать из 1С а остальное все нормально работает) на практике. Везде есть свои минусы и плюсы, надо смотреть детали и где что удобнее будет использовать |
|
10.02.2005, 13:32 | #3 |
Участник
|
Можете поделисть ert отчетом 1С для экспорта данных ОС в Axapta
или хотябы в Excel или txt плиииз |
|
15.02.2005, 16:42 | #4 |
Участник
|
В txt - элементарно, в Excel - сложнее.
Вот кусок примерного кода, просто исправьте/добавьте значения, которые нужно выгружать. ТекстДок = СоздатьОбъект("Текст"); ТекстДок.Открыть("catalog.txt"); ТекстДок.ЗаменитьСтроку(52, "Установка оборудования......" + Стоимость); ТекстДок.ВставитьСтроку(53, "Замена оборудования... "); ТекстДок.УдалитьСтроку(10); ТекстДок.ДобавитьСтроку("Конец файла"); ТекстДок2 = СоздатьОбъект("Текст"); ТекстДок2.Шаблон(1); Для н = 1 По ТекстДок.КоличествоСтрок(1) Цикл стр = ТекстДок.ПолучитьСтроку(н); стр2 = "[н]" + стр; ТекстДок2.ДобавитьСтроку(стр2); КонецЦикла; ТекстДок2.Записать("catalog2.txt"); ТекстДок2.ТолькоПросмотр(1); ТекстДок2.Показать(); Пример взят вот отсюда http://mista.ru/tutor_1c/text.htm Там вообще хороший справочник, если под рукой нет документации. Рекомендую. |
|
15.02.2005, 21:58 | #5 |
Участник
|
Re: Обмен данными с 1С
Цитата:
Изначально опубликовано Surok
static Job ImportFrom1C () { Com_Object_1C_type app_1c; обратите внимание, что: 1. 1с не поддерживает раннее связывание, Аксапта позволяет раннее связывание только для размещенных на форме ActiveX-контролов 2. у вас будут проблемы с методом новый, поскольку в Аксапте есть ключевое слово new 3. возникают какие-то совершенно непонятные вещи с передачей опциональных параметров в 1С. ищите на этом форуме и обратите внимание на http://forum.mazzy.ru/index.php?showtopic=2311&hl= |
|
16.02.2005, 09:48 | #6 |
Участник
|
всем спасибо за советы
нашел наконец то на просторах родного инета отчетик... нужный и все сформировалось шоколадно.... |
|