Есть у меня проблема, и может быть сможете помочь.
Есть проект в Делфи который через OLE-Automation импортирует данные в 1с версии 7.7.
ИСпользуется компонент Application1C (OMISoft)
Стоит задача: переделать это все под версию 1с 8.0.
Проблема в следующем: когда я пытаюсь использовать аналогичные конструкции для версии 8.0,
система говорит, что данные методы не доступны для OLE-Automation
вот пример:
if(iVer1C = 7) then
begin
vAccount19_3 := Object1C.EvalExpr('AccountByCode("19.3")');
vAccount68_2 := Object1C.EvalExpr('AccountByCode("68.2")');
vAccount60_1 := Object1C.EvalExpr('AccountByCode("60.1")');
vRefNDS := Object1C.EvalExpr('CreateObject("Справочник.СтавкиНДС")');
end else
if(iVer1C = 8) then
begin
vAccount19_3 := Object1C.ПланыСчетов.ПланСчетов2.НайтиПоКоду('19.3');
vAccount68_2 := Object1C.Eval('FindByCode("68.2")');
end;
Здравствуйте, sp79, Вы писали:
S>Есть у меня проблема, и может быть сможете помочь.
S>Есть проект в Делфи который через OLE-Automation импортирует данные в 1с версии 7.7. S>ИСпользуется компонент Application1C (OMISoft) S>Стоит задача: переделать это все под версию 1с 8.0. S>Проблема в следующем: когда я пытаюсь использовать аналогичные конструкции для версии 8.0, S>система говорит, что данные методы не доступны для OLE-Automation S>вот пример:
S> if(iVer1C = 7) then S> begin S> vAccount19_3 := Object1C.EvalExpr('AccountByCode("19.3")'); S> vAccount68_2 := Object1C.EvalExpr('AccountByCode("68.2")'); S> vAccount60_1 := Object1C.EvalExpr('AccountByCode("60.1")'); S> vRefNDS := Object1C.EvalExpr('CreateObject("Справочник.СтавкиНДС")'); S> end else S> if(iVer1C = 8) then S> begin S> vAccount19_3 := Object1C.ПланыСчетов.ПланСчетов2.НайтиПоКоду('19.3'); S> vAccount68_2 := Object1C.Eval('FindByCode("68.2")'); S> end;
Метода Eval, также как и EvalExpr в 1С:Предприятии 8.0 нет и небыло. Тем более чем не нравится НайтиПоКоду?
---------------------------------------------------
May the source be with you, stranger ;)
S>> if(iVer1C = 8) then S>> begin S>> vAccount19_3 := Object1C.ПланыСчетов.ПланСчетов2.НайтиПоКоду('19.3'); S>> vAccount68_2 := Object1C.Eval('FindByCode("68.2")'); S>> end;
FRA>Метода Eval, также как и EvalExpr в 1С:Предприятии 8.0 нет и небыло. Тем более чем не нравится НайтиПоКоду?
Хм.. только что проверил: работает.
Хотя еще вчера ругался что метода ПланСчетов2 нету.
А вы чем пользуетесь(каким компонентом) для доступа к 1с?
Здравствуйте, sp79, Вы писали:
S>Здравствуйте, FRAGman, Вы писали:
S>>> if(iVer1C = 8) then S>>> begin S>>> vAccount19_3 := Object1C.ПланыСчетов.ПланСчетов2.НайтиПоКоду('19.3'); S>>> vAccount68_2 := Object1C.Eval('FindByCode("68.2")'); S>>> end;
FRA>>Метода Eval, также как и EvalExpr в 1С:Предприятии 8.0 нет и небыло. Тем более чем не нравится НайтиПоКоду?
S>Хм.. только что проверил: работает. S>Хотя еще вчера ругался что метода ПланСчетов2 нету. S>А вы чем пользуетесь(каким компонентом) для доступа к 1с?
Я вообще не пользуюсь компонентами для доступа к 1С. Использую технологию внешних компонент. Короче руками все ...
---------------------------------------------------
May the source be with you, stranger ;)
Здравствуйте, sp79, Вы писали:
S>Есть у меня проблема, и может быть сможете помочь.
S>Есть проект в Делфи который через OLE-Automation импортирует данные в 1с версии 7.7. S>ИСпользуется компонент Application1C (OMISoft) S>Стоит задача: переделать это все под версию 1с 8.0. S>Проблема в следующем: когда я пытаюсь использовать аналогичные конструкции для версии 8.0, S>система говорит, что данные методы не доступны для OLE-Automation
Я всегда говорил, что делать надо наоборот: не из Delphi стучаться к 1С, а из 1С к Delphi.
Достоинства:
1. Ты реализуешь объект автоматизации один раз, у себя, а все проблемы его пользования перекладываются на плечи 1С-ников
Пусть спрашивают в своем форуме
2. Впрограммировать твое приложение в нужную конфигурацию проще, чем наоборот
3. Да и бухгалтеру привычнее работать в 1С...
Здравствуйте, Romkin, Вы писали:
R>Здравствуйте, sp79, Вы писали:
S>>Есть у меня проблема, и может быть сможете помочь.
S>>Есть проект в Делфи который через OLE-Automation импортирует данные в 1с версии 7.7. S>>ИСпользуется компонент Application1C (OMISoft) S>>Стоит задача: переделать это все под версию 1с 8.0. S>>Проблема в следующем: когда я пытаюсь использовать аналогичные конструкции для версии 8.0, S>>система говорит, что данные методы не доступны для OLE-Automation
R>Я всегда говорил, что делать надо наоборот: не из Delphi стучаться к 1С, а из 1С к Delphi. R>Достоинства: R>1. Ты реализуешь объект автоматизации один раз, у себя, а все проблемы его пользования перекладываются на плечи 1С-ников R>Пусть спрашивают в своем форуме R>2. Впрограммировать твое приложение в нужную конфигурацию проще, чем наоборот R>3. Да и бухгалтеру привычнее работать в 1С...
Ну на самом деле это зависит от решаемых задач. Если стоит вопрос получения данных извне (SQL Server и т.п.), то конечно проще реализовать компоненту (для 7.7, так как в 8.0 все можно сделать по нормальному через ADO) и стучаться к ней из 1С. А вот если стоит обратная задача (переноса данных из 1С), то тут уж проще стучаться к 1С...
---------------------------------------------------
May the source be with you, stranger ;)