|
|
|
delphi и 1С | ☑ | ||
|---|---|---|---|---|
|
0
Yra
19.10.04
✎
11:38
|
Помогите плиз
onesobj := createoleobject('V77.Application'); if onesobj.initialize(onesobj.rmtrade,'/Dc:\YRA\PrBasic /M /NЖарикова /P123','NO_SPLASH_SHOW')=0 then raise Exception.Create(' '); ware := onesobj.createobject('Справочник.Контрагенты'); Ware.New(); Ware.ПолнНаименвание:=Edit1.Text; Ware.ИИН:=Edit2.Text; Ware.Write(); onesobj := UnAssigned; Пишет нудачная попытка создания обьекта Справочник.Контрагенты |
|||
|
1
kabazЯba
19.10.04
✎
11:59
|
(0) Вот пример на Delphi http://kabazyaba.narod.ru/1C_OLE_from_Delphi.exe (247 кило).
Скорее всего у тебя базу требуется переиндексировать. |
|||
|
2
kabazЯba
19.10.04
✎
12:00
|
(1) Это самораспаковывающийся архив (7zip)
|
|||
|
3
script3
19.10.04
✎
12:07
|
я делал так:
ware.New('',''); |
|||
|
4
Yra
19.10.04
✎
12:15
|
Спасибо,но в том примере вылетает эта же ошибка
и база переиндексована......... |
|||
|
5
MMF
19.10.04
✎
12:20
|
какого типа ware? Раз у тебя ругается на неудачная попытка создания обьекта Справочник.Контрагенты, то или у тебя нет такого справочника или тип не соответствует.
Вместо ware.New() пиши ware.Новый; |
|||
|
6
Yra
19.10.04
✎
12:28
|
onesobj,Ware:Olevariant;
а справочник есть может не Olevariant? |
|||
|
7
script3
19.10.04
✎
12:31
|
если честно то у меня написано так:
ware.Новый('',''); |
|||
|
8
Den
19.10.04
✎
12:33
|
Лучше вообще сделай все что нужно в 1С а из Дельфей вызывай только процедуру глобального модуля, в которую передавай параметры Edit1.Text, Edit2.Text
|
|||
|
9
MMF
19.10.04
✎
12:36
|
(6) выкинь для проверки строку инициализации.
|
|||
|
10
script3
19.10.04
✎
12:38
|
ах сорри, у тебя ошибка создания объекта, это другой разговор.
вот мой код целиком: onesobj := createoleobject('V1CEnterprise.Application'); onesobj.initialize(onesobj.rmtrade,'/DC:\1C\DB /M /N /P',''); ware := onesobj.createobject('Справочник.Номенклатура'); ware.Новый('',''); ware.Наименование:='Какое-то наименование'; ware.Записать('',''); версия 1С - 7.70.021 Delphi 6 - все работет ... |
|||
|
11
Yra
19.10.04
✎
13:29
|
onesobj := createoleobject('V1CEnterprise.Application');
Спасибо onesobj.initialize(onesobj.rmtrade,'/DC:\1C\DB /M /N /P',''); ware := onesobj.createobject('Справочник.Номенклатура'); ware.new(); ware.Наименование:='Какое-то наименование'; ware.write(); а так пишет не совместимость типов |
|||
|
12
romix
19.10.04
✎
13:41
|
В поисковиках можно поискать работающие примеры кода по фрагментам
текста программы. Штук 500 наверняка вылезет. :-) |
|||
|
13
Kostya9
19.10.04
✎
16:52
|
(11) используйте 23 релиз движка. В нем много переделано в плане OLE. На 21-м у меня тоже самое было, с 23-м - все в порядке.
|
|||
|
14
gendalf
20.10.04
✎
16:59
|
Используй 0 в качестве фиктивных параметров.
Например : вместо ware.new(); пиши ware.new(0); Всё будет работать !!! |
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |