Имя: Пароль:
1C
 
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);

Всё будет работать !!!
Компьютер — устройство, разработанное для ускорения и автоматизации человеческих ошибок.