AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 27.04.2004, 17:57   #1  
rinugun is offline
rinugun
Участник
Аватар для rinugun
 
26 / 10 (1) +
Регистрация: 04.08.2003
связь с 1С через COM
Читал несколько обсуждений на этом форуме по поводу проблем работы с 1С через COM. Хотелось бы узнать - не нашел ли кто-то действительно работающего решения.

Напомню суть проблемы. Есть код:
PHP код:
static void Connect1C(Args _args)
{
    
COM v77;
    
COM ref;
    
int res;
    
str s;
    ;
    
v77 = new COM("v77.Application");
    
res v77.Initialize(v77.RMTrade(), "/D\"D:\\1C\"  """);
    if( !
res ) throw error("Не соединился!");

    
ref v77.CreateObject("Справочник.Номенклатура");
    if( 
ref == null ) throw error("Не создан объект Справочник.Номенклатура");
    
ref.Новый();
    
"аксапта8";
    
ref.SetAttrib("Description",s);
    
ref.Write();

    
info(ref.Description());
    
info("Выполнено");

В 80% случаев вылетает ошибка "Метод 'SetAttrib' в COM-объекте класса '<unknown>' возвратил код ошибки 0x80070057 (E_INVALIDARG), который означает: Один или более аргументов не верен.".
В 20% случаев код работает правильно.
Аналогичный код, написанный на VB, работает всегда правильно.
Разного роды pause; после каждой строчки вставлял, как было посоветовано, - не помогает.
Старый 27.04.2004, 18:23   #2  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
нет.
с ключом, соболем, соароном 21 релиз не работает.
18 я нашел, но еще не проверял.

помню, что работало. это было давно. был ли это 18 релиз - не помню.
Старый 28.04.2004, 10:52   #3  
Beavis-analitik is offline
Beavis-analitik
Участник
 
7 / 10 (1) +
Регистрация: 31.03.2004
Интересно, а почему официальные локализаторы Аксапты не озаботятся написать интерфейс между ней и 1C-м?
(класс SysOdines вроде SysExcel)
Явно назрело
__________________
- Зацени, Баттхед: я поставил Аксапту!
- Вот клёво! Ну ты даешь, пельмень!
Старый 28.04.2004, 12:41   #4  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
а почему это ДОЛЖНЫ делать официальные локализаторы?
это делают партнеры. в рамках своей основной коммерческой деятельности.
Старый 28.04.2004, 13:18   #5  
Beavis-analitik is offline
Beavis-analitik
Участник
 
7 / 10 (1) +
Регистрация: 31.03.2004
Насколько известно, MS сильно дружит с 1С-ом =>

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

Возможность быстро и надежно прикрутить одинесный бухучет к Аксапте явно бы ей не повредила.

Да и стоит ли решать одну задачу n раз?

Все сказанное - с префиксом IMHO
__________________
- Зацени, Баттхед: я поставил Аксапту!
- Вот клёво! Ну ты даешь, пельмень!
Старый 28.04.2004, 14:39   #6  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
В целом, согласен.

Но обратите внимание, что начали вы с одного "локализатора" а закончили мысль местоимением "они"
Цитата:
Изначально опубликовано Beavis-analitik
они могли бы...
Старый 29.04.2004, 17:52   #7  
rinugun is offline
rinugun
Участник
Аватар для rinugun
 
26 / 10 (1) +
Регистрация: 04.08.2003
А вот так работает!
Извращение, конечно, но жить можно.
Если через Scripting.
PHP код:
static void Connect1C(Args _args)
{
    
COM scr = new COM("ScriptControl");
    ;

    
scr.Language("VBScript");
    
scr.AddCode(
//    info(
                
"Sub sub1() \n" +
                
"dim v77, res, ref \n" +
                
"set v77 = CreateObject(\"v77.Application\") \n" +
                
"res = v77.Initialize(v77.RMTrade, \"/D\"\"D:\\1C\"\"  \", \"\") \n" +
                
"set ref = v77.CreateObject(\"Справочник.Номенклатура\") \n" +
                
"ref.[Новый] \n" +
                
"ref.[Наименование] = \"НаименованиеНовое\" \n" +
                
"ref.[Записать] \n" +
                
"End Sub \n");
    
scr.ExecuteStatement("sub1");


    
info("Выполнено ");

Старый 03.12.2004, 07:48   #8  
djoker is offline
djoker
Участник
Аватар для djoker
 
83 / 10 (1) +
Регистрация: 28.05.2004
Адрес: Красноярск
v77 - чё это такое, компонента 1С????
если да - то почему у меня её нету в Component Serveces наряду с Business Connector????
__________________
Смотрим в книгу - видим фигу.
Старый 03.12.2004, 09:06   #9  
Lazy_Tiger is offline
Lazy_Tiger
NavAx
Axapta Retail User
1C
NavAx Club
 
610 / 31 (3) +++
Регистрация: 17.12.2001
Адрес: Красноярск
потому что в Component Services показываются компоненты СОМ+ и настроенные DCOM, а не все подряд СОМ объекты зарегистрированные в системе.
Маленько разные вещи.
__________________
И все они создания природы...
Старый 03.12.2004, 11:28   #10  
bucken is offline
bucken
Участник
Аватар для bucken
 
259 / 12 (1) ++
Регистрация: 04.09.2003
Адрес: Москва
Цитата:
Изначально опубликовано Beavis-analitik
Интересно, а почему официальные локализаторы Аксапты не озаботятся написать интерфейс между ней и 1C-м?
(класс SysOdines вроде SysExcel)
Явно назрело
Цитата:
а почему это ДОЛЖНЫ делать официальные локализаторы?
Был на семинаре ~месяц назад, представитель от MBS на этот вопрос (Девушка, не помню ФИО), отвтела:
"~ Что вопросы интеграции можно решить сейчас стандартными средвами аксапты" -" т.е. пишите сами. Хотя средвства конечно же есть, COM например, но видиться мне, что разработака и создание "интеграции" все равно занимает не мало времени.
"~ А если будет такая необходимость, то партнеры будут разрабатывать." Как и сказал mazzy.
1) А на самом деле это пойму хорошая ниша, разработать продукт - отдельный модуль. Потому что 1С у нас в стране сильно распространен. А также, что в Axapta бухучет в полном объеме мало кто видет. Следовательно отдельные бухсистемы будут существовать еще длительное время на одном предприятие вместе с Axapta.
2)Рынок оценить можно.... но тут конечно будет досточно сложная система убеждения(не путать с впариванием) клиента о покупке данного решения. Возможно сотрудничество с другими партнерами в рамках субподряда. Да и разработка "интерграции" в среднем, гораздо более легкий и проект, чем "полное внедрение".
3) Можно конечно здесь сказать, что разработка отдельного модуля в отрыве от всего процесса от внедрения(разные партнеры) несет в себе риск. Но можно попробовать составить базовую схему интеграции, базовый перечень стыковычных мест - т.е. определить интерфейсы. и т.д...
__________________
Уточните значение слов и вы избавите человечество от половины его заблуждений. (Рене Декарт) / Axapta 2.5
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Построчный импорт из Excel через COM _and DAX: Программирование 3 05.07.2011 14:05
Kurt Hatlevik: Sneak preview of the WMS E&E Blog bot DAX Blogs 0 20.11.2008 01:10
Работа с Excel через COM и ошибка 0x800A03EC (Range.AutoFilter) gl00mie DAX: Программирование 15 30.03.2007 18:37
Взаимодействие с Аксаптой через COM+ banbery DAX: Программирование 21 25.06.2005 23:49
Чтение Excel-ячейки в Аксапте (2.5) через COM AKIS DAX: Программирование 3 25.03.2004 20:18

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 03:49.