OLE інтерфейс WinCalc
Ідентифікатор OLE
- Ідентифікатор виробничоі версії: wincalc.wincalcsrv
- Ідентифікатор дилерської версії: wincalc.wincalcsrvD
Процедури та функції
procedure ExpandFile(const inFile, outFile: WideString);
Розпакування ZLIB файлу.
Дані ZLIB також можливо розпакувати власноруч. Назва алгоритму:
zlib (RFC 1950), deflate (RFC 1951) и gzip (RFC 1952)
Приклади процедур на деяких платформах:
Dart: archive.ZLibEncoder()
Java: java.util.zip.DeflaterInputStream()
Php: gzuncompress()
Delphi: System.ZLib
function SaveOfferToFile(OfferID: Integer; const FileName: WideString): WordBool;
Зберігає замовлення у форматі WXO.
function ExecuteReport(const params: WideString): WideString;
Виконує звіт над поточним замовленням. Значення Params:
<root>
<report_number>1</report_number> // номер звіту
<hide_report>1</hide_report> // не відображати звіт на екрані після виконання
<export_file_name>1.pdf</export_file_name> // назва файлу для збереження, в pdf або fr3
</root>
function ExecQueryO(const SQL: WideString): OleVariant;
Виконує SQL-запит до бази wcoffers.fdb.
Результат (Result) SQL запиту (OleVariant[3]):
- Result[1]: 1
- Result[2]: кількість рядків в результаті
- Result[3]: OleVariant[Result[2] + 1]
- Result[3][0][1..XX]: назва стовпчика у вибірці
- Result[3][1 .. Result[2]][1..XX]: значення стовпчика для рядка 1..XX у вибірці
Наприклад, Result = ExecQueryO('select id, actdate from offers where id = 1'):
- Result[1]: 1
- Result[2]: 1
- Result[3]: OleVariant[2]
- Result[3][0][1]: ID
- Result[3][0][2]: ACTDATE
- Result[3][1][1]: 1
- Result[3][2][2]: 2024-01-01
Приклад обробки на BAS:
функция ЗапросВинКалкВТаблицуЗначений(ЗапросВинКалк) Экспорт
Если ЗапросВинКалк.GetValue(1) = 1 тогда
ТЗ = Новый ТаблицаЗначений;
для й = 1 по ЗапросВинКалк.GetValue(3).GetValue(0).GetUpperBound() цикл
ТЗ.Колонки.Добавить(ЗапросВинКалк.GetValue(3).GetValue(0).GetValue(й));
КонецЦикла;
для ц = 1 по ЗапросВинКалк.GetValue(2) цикл
Строка = ТЗ.Добавить();
для й = 1 по ЗапросВинКалк.GetValue(3).GetValue(0).GetUpperBound() цикл
Строка[й - 1] = ЗапросВинКалк.GetValue(3).GetValue(ц).GetValue(й);
КонецЦикла;
КонецЦикла;
возврат ТЗ;
иначе
возврат Неопределено;
конецесли;
конецфункции