Изменения

Перейти к: навигация, поиск

Руководство программиста

4522 байта добавлено, 10:17, 24 сентября 2021
м
Объект TBaseUtils
FixedIntToStr(i, len[, char]) - Возвращает целое число i дополненное слева символами char (по-умолчанию - "0") до длины len.
 
Translate(format, [param1, param2, ...]) - Функция перевода строки format в язык пользователя. Строка format может содержать параметры %s, %d - строка и число соответственно.
====Функции перекодировки====
EncodeStr(s, charset) - Производит перекодировку строки s в кодировку charset. Кодировка строки s должна быть CP1251, возможны следующие варианты перекодировки:
KOI8-R, ISO-8859-5, UTF-8, URL, BASE64, QUOTED-PRINTABLE, CP866, UNICODE. Имя кодировки следует передавать в точности без лишних символов. UNICODE не работает с версии 2021, в ней строки по умолчанию в кодировке unicode.
Функции EncodeBase64(s), DecodeBase64(s), UrlEncode(s), UTF8Encode(s), UTF8Decode(s), Str2UTF(s) - устарели, используйте EncodeStr, DecodeStr.
CheckEan(s) - Проверяет строку s, что она является кодом EAN13.
SaveToFile(FileName,s, encoding = '')- Создает текстовый файл по пути, указанному в FileName (если по указанному пути существует файл с указанным именем, он удаляется и создается новый) и производит запись строки s в созданный текстовый файл. encoding - название кодировки, по умолчанию сохраняет в кодировке ANSI. Доступные названия кодировок: KOI8-R, ISO-8859-5, UTF-8, URL, BASE64, QUOTED-PRINTABLE, CP866.
StrFromFile(FileName) - Читает файл FileName, возвращает в виде строки. При ошибке чтения вызывает ошибку.
DownloadAttachment(code, [savefilepath, tablename='attachment', fieldBlob='file', fieldLDtime='ldtime', fieldUID='uid']) - Функция выкачивает аттачмент из базы, по внутреннему коду - Code, всегда возвращает содержимое файла в виде строки, а также может сохранить файл по указанному пути в параметре savefilepath. По умолчанию, функция настроена на таблицу attachment. Code - внутренний код вложения, tablename - название таблицы, fieldBlob - название поля с содержимым файла, fieldLDtime - название поля с временем последнего изменения строки (для работы кэша). Функция использует кэш и умеет выкачивать файлы зауженные на внешние серверы (http, ftp,sftp, measoft). Для выкачивания с сервера measoft обязательно необходимо указывать параметр fieldUID.
DeleteFile(FileName) - Удаляет файл FileName с диска, возвращает истину, если операция прошла успешно и ложь - в противном случае.
Post2Sheet(DB[, Headered=true][, Col=1][, Row=1]) - Почти полный аналог LoadFromDB. В отличии от LoadFromDB если есть открытый файл, выгрузка данных будет выполнена прямо в него.
Align(x1, y1, x2, y2 [,HAlign, VAlign]) - Устанавливает выравнивание данных в указанном диапазоне. HAlign - горизонтальное выравнивание (0 – прижато влево, 1 – вправопо центру , 2 – по центруприжато вправо), VAlign - Вертикальное выравнивание(0 – прижато к верху , 1 – по центру , 2 – прижато к низу).
SetBorders(x1, y1, x2, y2) – Устанавливает границы прямоугольника. Если координаты опущены, или 0 – устанавливает границы всей используемой области.
RowDelete(i[, count]) - Удаляет count (по-умолчанию - 1) строк начиная с номера i.
 
ColumnDelete(i[, count]) - Удаляет count (по-умолчанию - 1) столбцов начиная с номера i.
SheetDelete(i) - Удаляет лист с номером i.
InsertPicture(TPicture, [x=1, y=1, DispX=0, DispY=0]) - Функция вставляет рисунок на текущий активный лист. x, y - координаты ячейки, относительно которых размещается рисунок, DispX, DispY - смещение рисунка относительно верхнего левого угла этой ячейки.
 
InsertFirmLogo(FirmCode, [x=1, y=1, DispX=0, DispY=0]) - Функция вставляет логотип фирмы с кодом FirmCode на текущий активный лист. x, y - координаты ячейки, относительно которых размещается рисунок, DispX, DispY - смещение рисунка относительно верхнего левого угла этой ячейки.
SheetFitPageWidth - устанавливает режим масштабирования печати, чтобы печатная форма помещалась в ширину на один лист.
Любой параметр можно опустить, и тогда вместо него будет использовано значение по-умолчанию: шрифт: arial, размер – 10, не жирный, не курсив, не подчеркнутый, цвет – черный. Например: ', 7' – указывает, что по-умолчанию нужно взять все параметры кроме размера шрифта. Также можно вместо всей строки указать тире ('-') или пустую строку, и шрифт будет использоваться «глобальный».
 
Объект можно создать отдельно, не создавая объект TPrinter. В таком случае объект создастся как ссылка на текущий холст принтера (принтер должен быть запущен и начат новый документ). Такой подход используется в доп. возможности PrintCustomSticker
== Объект TPicture ==
'''GetKurierByStation(station, Mass, Cash, Date_Putn)'''
'''TownByIndex(Index[, PriorityName][, PriorityCountry])''' – Возвращает код города по индексу. В случае ошибки поиска – код текущего города. Если нашлось несколько населенных пунктов, и указано приоритетное название - выбирается населенный пункт, название которого начинается с PriorityName (если есть).
'''TownByName(Name[,NotNeedCL=False, City=0])''' – Возвращает код города по имени. В случае ошибки поиска – возвратит код текущего города. Если параметр NotNeedCL (параметр не обязательный) установить в TRUE, тогда функция возвратит 0, если город не удалось найти. Параметр City (код региона) позволяет ограничить поиск одной областью (не обязательный, по умолчанию не используется).
'''SendToMeasoft(xml)''' - Отправляет запрос в клиентское API Measoft. Автоматически добавляет начальный "<?xml version="1.0" encoding="utf-8"?>".
 
'''InsertFirmAtt(excel, sheet, firmcode)''' - Вставляем на лист эксель по коду фирмы: печать, подпись, подпись бухгалтера, логотип. Тэги <STAMP>, <DIR>, <BUH>, <LOGO> соответственно. После тега можно указать размеры изображения в символах Microsoft Excel. Формат записи: <STAMP> 16, 16
 
'''PreCalcSalary(kurier, addressCodes)''' - Рассчитывает предварительную зарплату. Kurier - код курьера, используется для определения тарифа. addressCodes - коды адресов, через запятую для которых необходимо посчитать зарплату. Результаты расчета будут записаны в таблицу kurierpaydetail, так как расчет предварительный то записи не будут прикреплены к конкретному начислению.
 
select a.code, kpd.price as "туда", kpd2.price as "обратно" from address a
left join kurierpaydetail kpd on kpd.sourcetable=3 and kpd.sourcecode=a.code and kpd.rectype = 1
left join kurierpaydetail kpd2 on kpd2.sourcetable=3 and kpd2.sourcecode=a.code and kpd2.rectype = 2
where a.code in (...)
 
'''CalcSalary(DateTo, [Filter=0, KurierCode = 0, ManagerCode = 0])''' - Полный расчет зарплаты курьерам. DateTo - дата до которой создается начисление. Условия отбора курьеров для начисления. Filter - роль сотрудника: 0 - Все, 1 - курьеры, 2 - менеджеры; KurierCode - код курьера, ограничить расчет зарплаты одним курьером;ManagerCode - код курьера, ограничить расчет зарплаты курьерами указанного менеджера. Внимание фильтры Filter, KurierCode и ManagerCode накладываются друг на друга. Результатом функции является SubSQL с информацией по созданным начислениям.
поля ответа: код курьера, код менеджера, начислено, бонусы, штрафы, аванс, итого;
select kurier, manager, profit, bonus, shtraf, prepay, total [union select ...]
== Объект TINIFile ==
FillAdvPriceReport(Excel, AddressCodes, StartLine, StartCol, [ShowSumPrice,InsertColumns]) - добавляет отчёт по дополнительным услугам. В AddressCodes - указаны коды адресов через запятую, каждый код это отдельная строка отчета. Адреса будут показаны в порядке перечисления их в AddressCodes. Если в отчет нужно добавить пустую строку, то можно указать код адреса -1000. StartLine, StartCol - верхний левый угол выгружаемой таблицы. ShowSumPrice - добавить столбец итоговый столбец с суммой всех услуг, по умолчанию выключено. InsertColumns - раздвинуть таблицу перед вставкой отчета, позволяет встраивать отчет посередине выгрузки, по умолчанию выключено. Функция возвращает количество использованных столбцов.
PrintSticker(Codes, [ToBoxes=False])
GetItemByName(Name)
{|
||'''Добавлено:'''
|В объект TExcel добавлен метод ColumnDelete.
|-
||'''Добавлено:'''
|В объект TBaseUtils добавлена функция InsertFirmAtt.
|-
||'''Добавлено:'''
||В объект TExcel добавлен метод Align.

Навигация