Ссылка на справочник в 1С

Модератор: Модераторы

Ссылка на справочник в 1С

Сообщение faska13 » 12.12.2020 12:58:24

Здравствуйте.
Возникла необходимость работать с 1С. Из Дельфи не хочется. "На коленке" запись поля работает так:
Код: Выделить всё
procedure lcw(const Source: OleVariant; const PropertyName: String; const Value; const DataType: Integer);
var
   Desc: TCallDesc;
begin
   Desc.CallType := DISPATCH_PROPERTYPUT;
   Desc.ArgCount := 1;
   Desc.NamedArgCount := 0;
   Desc.ArgTypes[0] := DataType;
   StrPCopy(@DescArgTyes[1], UTF8ToWinCP(ProperyName));
   VarDispProc(nil, Source, @Desc, @Value);
end;

Имя поля поступает уже в WideString(Utf8ToAnsi()). Всё хорошо, кроме как если надо записать поле с ссылкой. Например, "Организация". Тип OleVariant - varDispatch. При записи ругается. Вероятно надо использовать DISPATCH_PROPERTYPUTREF. Но в этом случае ругается на неверное число параметров. Знает кто как правильно писать ссылки?
P.S. Исходную ссылку получаю похожим образом через DISPATCH_METHOD.
faska13
незнакомец
 
Сообщения: 3
Зарегистрирован: 12.12.2020 12:42:28

Re: Ссылка на справочник в 1С

Сообщение Vadim » 12.12.2020 19:11:24

faska13
А не проще будет напрямую с сервером БД работать? Не знаю как сейчас, давно с 1С не работал, но раньше у неё был специальный справочник соответствия 1С-ных полей с полями реальной БД. В своё время мне это помогло сократить время полугодового отчёта с 8 часов в 1С до 30 мин., делая запрос непосредственно серверу БД.
Vadim
долгожитель
 
Сообщения: 4112
Зарегистрирован: 05.10.2006 08:52:59
Откуда: Красноярск

Re: Ссылка на справочник в 1С

Сообщение faska13 » 12.12.2020 19:46:24

Если бы мог напрямую - вопросов бы не было.
faska13
незнакомец
 
Сообщения: 3
Зарегистрирован: 12.12.2020 12:42:28

Re: Ссылка на справочник в 1С

Сообщение faska13 » 14.12.2020 14:49:26

Нашёл решение. Через TVarData присваивать VDispatch.
faska13
незнакомец
 
Сообщения: 3
Зарегистрирован: 12.12.2020 12:42:28


Вернуться в Базы данных

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1

Рейтинг@Mail.ru