powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Ссылка на справочник в 1С в Lazarus
5 сообщений из 5, страница 1 из 1
Ссылка на справочник в 1С в Lazarus
    #40027394
faska13
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте.
Возникла необходимость работать с 1С из Lazarus. Из Дельфи не хочется. "На коленке" запись поля работает так:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
    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.
...
Рейтинг: 0 / 0
Ссылка на справочник в 1С в Lazarus
    #40027495
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ты не написал самого главного. Как выглядит текст ошибки в оригинале.
...
Рейтинг: 0 / 0
Ссылка на справочник в 1С в Lazarus
    #40027619
faska13
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Нашёл решение. Через TVarData присваивать VDispatch.
...
Рейтинг: 0 / 0
Ссылка на справочник в 1С в Lazarus
    #40027629
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это прекрасно.
...
Рейтинг: 0 / 0
Ссылка на справочник в 1С в Lazarus
    #40069458
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
faska13
Нашёл решение. Через TVarData присваивать VDispatch.

Ты бы написал в чём решение? Или тебе впадлу?
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Ссылка на справочник в 1С в Lazarus
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]