Изменения

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

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

4314 байт добавлено, 06:05, 12 июля 2022
Прайс лист клиента
FormatTextJSON(s) - переводит строку в формат JSON, экранирует служебные символы.
 
FormatTextBlob(s) - строка s содержит файл, функция перекодирует переданную строку в байты, используется для заполнения полей формата blob.
====Хеширование ====
TimeBetween(t1, t2) - Возвращает количество минут между временем t1 и t2. Если t1 > t2 то будет показано количество минут между t2 и t1. Параметр t может быть как в формате "HH:MM", так и в числовом. Если один из параметров не удалось привести к числовому типу возвращает -1000.
WorkDaysBetween(dt1, dt2, [DecreaseFirstDay=0], [DefaultHolidayVarNum=1]) - Возвращает количество рабочих дней между датами dt1 и dt2. Параметр DecreaseFirstDay уменьшает dt1 на указанное количество дней (по умолчанию 0). В случае ошибки приведения dt1 или dt2 к дате возвращает -1000.Параметр DefaultHolidayVarNum - использовать для расчета справочник: 1 - выходных дней(по умолчанию); 2 - выходных дней для доставки по городу; 3 - выходных дней для доставки
TimePeriod(time1, time2) - Оформляет временной период. Возвращаемое значение зависит от наличия значения в параметрах. Возможные варианты: "time1 - time2" , "С time1" , "ДО time2".
IsAWorkDay(dt) - Когда день dt является рабочим, возвращает true. Если произошла ошибка приведения даты возвращает -1000.
IncWorkDay(dt, [count=1],[DefaultHolidayVarNum=1]) - Прибавляет count рабочих дней к дате dt. Возвращает дату в числовом формате, если произошла ошибка приведения даты возвращает -1000. По умолчанию параметр count равен 1 и не является обязательным.Параметр DefaultHolidayVarNum - использовать для расчета справочник: 1 - выходных дней (по умолчанию); 2 - выходных дней для доставки по городу; 3 - выходных дней для доставки
Sleep(n) - Задержка выполнения на n миллисекунд.
Interpretate(script) - Интерпретирует скрипт указанный в script. Выполнение происходит в текущем инстансе.
 
RuleName(alias) - Выдает полный путь в дерева прав по псевдониму права.
== Объект TExcel ==
Предназначен для доступа к данным документов MS Excel. Требует установленного приложения MS Excel. Функции: FileName – Возвращает имя текущего файла. SetFileName(aFileName) – Задает значение свойства FileNameДля работы без установленного MS Excel предусмотрен объект TDirectExcel.
Open - Открывает файл с именем, заданным свойством FileName. Если имя файла не задано - создает чистую книгу.
OpenFile(aFileName) – Выполняет функции SetFileName и Open. '''''Ввод данных'''''
LoadFromDB(DB[, Headered=true][, Col=1][, Row=1]) – Загружает таблицу из набора данных, открытого в объекте DB типа TADO. Если Headered истинно (по-умолчанию), таблица загружается вместе с заголовками. Если название поля содержит подстроку «_RecNo» - данная подстрока не попадет в заголовок, а все значения поля будут заменены на порядковый номер записи в наборе данных, начиная с «1». В одной таблице допускается не более одного поля с порядковой нумерацией. Поля, названия которых начинаются в символа "-" не выгружаются.
Post2Sheet(DB[, Headered=true][, Col=1][, Row=1]) - Почти полный аналог LoadFromDB. В отличии от LoadFromDB если есть открытый файл, выгрузка данных будет выполнена прямо в него.
AlignOpenFile(x1, y1, x2, y2 [,HAlign, VAlign]aFileName) - Устанавливает выравнивание данных в указанном диапазоне– Выполняет функции SetFileName и Open. HAlign - горизонтальное выравнивание (0 – прижато влево , 1 – по центру , 2 – прижато вправо), VAlign - Вертикальное выравнивание (0  FileName прижато к верху , 1 – по центру , 2 – прижато к низу)Возвращает имя текущего файла.
SetBordersSetFileName(x1, y1, x2, y2aFileName) – Устанавливает границы прямоугольника. Если координаты опущены, или 0 – устанавливает границы всей используемой областиЗадает значение свойства FileName.
DoNotDestroy(b) – При уничтожении объекта TExcel (а он уничтожаетсяOpen - Открывает файл с именем, как и все остальные объекты автоматически при завершении выполнения скрипта), приложение Excel уничтожается вместе с нимзаданным свойством FileName. DoNotDestroy(true) отключает уничтожение приложенияЕсли имя файла не задано - создает чистую книгу.
SetVisible(b) Close Устанавливает видимость приложения Excel для пользователя. По-умолчанию – false (не видимо)Закрывает текущий файл.
RecNo – Возвращает номер текущей строки. Нумерация строк начинается с 1.
SetRecNo(aRecNo) – Устанавливает значение свойства RecNo.'''''Ячейки'''''
A..ZZ – Возвращает значение соответствующего поля текущей строки. Может вызываться с целочисленным аргументом, указывающим на сдвиг относительно текущей строки. Например: AC(-1) – вернет значение столбца AC предыдущей строки. Если номер строки окажется вне допустимых значений вернет пустую строку.
SetCell(x, y, v[, x2, y2]) – Устанавливает значение ячейки, заданной координатами x и y, в значение v. Если заданы параметры x2, y2 - объединяет (merge) диапазон ячеек заданных координатами, устанавливает значение объединенной ячейки.
SetSheet(No) – Устанавливает номер текущего листа.
SetSheetName(Name) - Устанавливает название текущего листа'''''Строки''''' RecNo – Возвращает номер текущей строки. Нумерация строк начинается с 1.
Close SetRecNo(aRecNo) Закрывает текущий файлУстанавливает значение свойства RecNo.
First – Делает первую запись листа текущей.
RecordCount – Возвращает количество строк в листе.
 
RowAutoFit - Устанавливает автоматическую высоту строк.
 
SetRowHeight(r, h[, cnt]) – Устанавливает высоту cnt строк (по-умолчанию 1) начиная со строки r в h пикселей.
 
RowInsert(i[, count]) - Вставляет count (по-умолчанию - 1) строк НАД строкой с номером i.
 
RowDelete(i[, count]) - Удаляет count (по-умолчанию - 1) строк начиная с номера i.
 
 
'''''Столбцы'''''
ColCount - Возвращает количество столбцов в листе.
 
AutoFit – Устанавливает автоматическую ширину столбцов.
 
ColumnDelete(i[, count]) - Удаляет count (по-умолчанию - 1) столбцов начиная с номера i.
 
SetColWidth (c, w) – Устанавливает ширину столбца c в w символов.
 
 
'''''Листы'''''
 
SetSheet(No) – Устанавливает номер текущего листа. Если лист с таким номером не существует - он будет создан (и все листы до него). Нумерация начинается с 1.
 
SetSheetName(Name) - Устанавливает название текущего листа.
SheetsCount – Возвращает количество листов в книге.
AutoFit – Устанавливает автоматическую ширину столбцовCopySheetAfter([SheetFrom[, SheetAfter]]) - Копирует лист SheetFrom (по-умолчанию - текущий), создавая новый лист после листа SheetAfter (по-умолчанию - совпадает с копируемым). SheetDelete(i) - Удаляет лист с номером i.
RowAutoFit - Устанавливает автоматическую высоту строк.
RowInsert(i[, count]) - Вставляет count (по-умолчанию - 1) строк НАД строкой с номером i.'''''Форматирование'''''
RowDeleteAlign(ix1, y1, x2, y2 [, countHAlign, VAlign]) - Удаляет count Устанавливает выравнивание данных в указанном диапазоне. HAlign - горизонтальное выравнивание (0 – прижато влево , 1 – поцентру , 2 – прижато вправо), VAlign -умолчанию - Вертикальное выравнивание (0 – прижато к верху , 1– по центру , 2 – прижато к низу) строк начиная с номера i.
ColumnDeleteWrapText(i[x1, count]y1, x2, y2, value) - Удаляет count (– Устанавливает перенос текста прямоугольника в значение value. Если координаты опущены, или 0 – устанавливает границы всей используемой области. Для Value значение по-умолчанию - 1) столбцов начиная с номера itrue.
SheetDeleteNumberFormat(ix1, y1, x2, y2, Format) - Удаляет лист с номером iУстанавливает формат вывода чисел в указанном диапазоне ячеек. Например, если Format='0.00' - числа будут выводиться c обязательными 2 знаками после десятичного разделителя.
SetRowHeightSetBorders(rx1, h[y1, cnt]x2, y2) – Устанавливает высоту cnt строк (по-умолчанию 1) начиная со строки r в h пикселейграницы прямоугольника. Если координаты опущены, или 0 – устанавливает границы всей используемой области.
SetColWidth SetFont(cFont[, wx1, y1[, x2, y2]]) - Устанавливает ширину столбца c шрифт Font для ячеек диапазона. Можно указать координаты только одной ячейки, можно - вообще не указать, тогда будет использован последний выделенный диапазон. Шрифт задается как обычно: 'Arial, 16, T, T, T', порядок параметров: Имя шрифта, размер, жирное начертание, курсивное начертание, одиночное подчеркивание. Если параметры не заданы, то у текущего шрифта они меняться не будут. Примеры: SetFont('Arial, 10, T, F, F', 1,1) - в ячейке A1 будет установлен шрифт Arial жирным начертанием (не курсив и без подчеркивания). SetFont(', , , T, F', 2,1) - в w символовячейке B1 будет поменяется только начертание курсив и будет отменено подчеркивание (если оно было).
SendEmail(Server, Port, User, Pass, AddressFrom, AddressTo, MsgText, Subject) – Отправляет письмо по e-mail с указанными параметрами. В случае ошибки отправки вызывает ошибку (рекомендуется использовать совместно с TRY). Функция закрывает текущий файл, и не может использоваться для файлов, закрытие которых запрещено.
SendEmail(EmailFromStr, AddressTo, MsgText, Subject) – Отправляет письмо по e-mail с указанными параметрами. В случае ошибки отправки вызывает ошибку (рекомендуется использовать совместно с TRY). EmailFromStr – строка, содержащая данные для отправки письма – адрес SMTP-сервера, порт, логин, пароль и email отправителя, разделенные символом переноса строки. Функция закрывает текущий файл, и не может использоваться для файлов, закрытие которых запрещено.'''''Цвета'''''
SetRowFontColor(Row,Color) - Устанавливает цвет шрифта в строке Row. Color - целое значение (RGB)
GetCellColor(Row,Col) - Возвращает RGB значение цвета фона в ячейке с координатами [Row,Col]
WrapText(x1, y1, x2, y2, value) – Устанавливает перенос текста прямоугольника в значение value. Если координаты опущены, или 0 – устанавливает границы всей используемой области. Для Value значение по-умолчанию - true.
SetOrientation(value) '''''Копи- Устанавливает ориентацию страницы. True (по-умолчанию) - альбомная (ландшафтная), Ложь - портретная.паст'''''
Copy(x1, y1, x2, y2) - Копирует в буфер экселя
PasteStyle(x1, x2, y1, y2) - Вставляет только оформление из буфера экселя (Последовательность использования: Copy - PasteStyle)
SetFont(Font[, x1, y1[, x2, y2]]) - Устанавливает шрифт Font для ячеек диапазона. Можно указать координаты только одной ячейки, можно - вообще не указать, тогда будет использован последний выделенный диапазон. Шрифт задается как обычно: 'Arial, 16, T, T, T', порядок параметров: Имя шрифта, размер, жирное начертание, курсивное начертание, одиночное подчеркивание. Если параметры не заданы, то у текущего шрифта они меняться не будут. Примеры: SetFont('Arial, 10, T, F, F', 1,1) - в ячейке A1 будет установлен шрифт Arial жирным начертанием (не курсив и без подчеркивания). SetFont(', , , T, FИзображения''''', 2,1) - в ячейке B1 будет поменяется только начертание курсив и будет отменено подчеркивание (если оно было).
InsertPicture(TPicture, [x=1, y=1, DispX=0, DispY=0, width=0, height=0]) - Функция вставляет рисунок на текущий активный лист. x, y - координаты ячейки, относительно которых размещается рисунок, DispX, DispY - смещение рисунка относительно верхнего левого угла этой ячейки, width, height (не работает для DirectExcel) - ширина и высота области рисунка в пойнтах-единицах Excel
InsertFirmLogo(FirmCode, [x=1, y=1, DispX=0, DispY=0]) - Функция вставляет логотип фирмы с кодом FirmCode на текущий активный лист. x, y - координаты ячейки, относительно которых размещается рисунок, DispX, DispY - смещение рисунка относительно верхнего левого угла этой ячейки.
 
 
'''''Вывод'''''
 
SendEmail(Server, Port, User, Pass, AddressFrom, AddressTo, MsgText, Subject) – Отправляет письмо по e-mail с указанными параметрами. В случае ошибки отправки вызывает ошибку (рекомендуется использовать совместно с TRY). Функция закрывает текущий файл, и не может использоваться для файлов, закрытие которых запрещено.
 
SendEmail(EmailFromStr, AddressTo, MsgText, Subject) – Отправляет письмо по e-mail с указанными параметрами. В случае ошибки отправки вызывает ошибку (рекомендуется использовать совместно с TRY). EmailFromStr – строка, содержащая данные для отправки письма – адрес SMTP-сервера, порт, логин, пароль и email отправителя, разделенные символом переноса строки. Функция закрывает текущий файл, и не может использоваться для файлов, закрытие которых запрещено.
SheetFitPageWidth - устанавливает режим масштабирования печати, чтобы печатная форма помещалась в ширину на один лист.
SetOrientation(value) - Устанавливает ориентацию страницы. True (по-умолчанию) - альбомная (ландшафтная), Ложь - портретная. PrintOut([copies]) - Печатает текущий лист на принтере по умолчанию. Параметр, copies - количество копий, по умолчанию равен 1. Save(filename) - Сохраняет в файл filename. Если файл существует, в основной системе он будет перезаписан, в других проектах - вызовет ошибку "Файл уже существует". SetVisible(b) – Устанавливает видимость приложения Excel для пользователя. По-умолчанию – false (не видимо).
CopySheetAfterDoNotDestroy([SheetFrom[, SheetAfter]]b) - Копирует лист SheetFrom – При уничтожении объекта TExcel (по-умолчанию - текущийа он уничтожается, как и все остальные объекты автоматически при завершении выполнения скрипта), создавая новый лист после листа SheetAfter приложение Excel уничтожается вместе с ним. DoNotDestroy(по-умолчанию - совпадает с копируемымtrue)отключает уничтожение приложения.
Save(filename) - Сохраняет в файл filename. Если файл существует, в - основной системе он будет перезаписан, в других проектах - вызовет ошибку "Файл уже существует".
'''''Пример использования:'''''
new('TExcel', 'myxl');
|ParseForIn([FieldName='code'])
|Возвращает через запятую значения всех строк в указанном столбце. По умолчанию, используется столбец с именем code.
|-
|GetSQL
|Для отладки. Возвращает последний SQL запрос переданный в методы Open, Query, GetSQLValue
|-
|ExportExcel
|Для отладки. Выгружает в эксель содержимое датасета. Можно использовать в незнакомом окружении для понимания передаваемых полей в : шаблонах, печатных формах и т.д. Аналог команды %echo% в шаблонах, на случай если она не сработает.
|}
 
Пример использования – см. TSelfADO
PrintTable(Y, Table) – Выводит на печать таблицу Table типа TTable, начиная с координаты Y. При необходимости таблица печатается на нескольких страницах. Возвращает координату Y конца таблицы.
 
GetDefaultPrinter - Возвращает имя текущего активного принтера.
 
SetDefaultPrinter(Printer) – Запоминает предыдущий активный принтер и устанавливает новый текущий принтер. Printer - имя принтера. При необходимости нескольких последовательных вызовов SetDefaultPrinter рекомендуется между вызовами использовать RestoreDefaultPrinter.
 
RestoreDefaultPrinter - Устанавливает активным принтер, который был текущим перед последним вызовом SetDefaultPrinter.
== Объект TCanvas ==
'''SelDistAddr(s)''' – Возвращает строку для вставки в select запрос, для вывода поля с упрощенным адресом. Принимает один необязательный строковый параметр - алиас таблицы из которой будет упрощаться поле address, по умолчанию "a"
 
'''VoiceReadStr(str)''' – Озвучивает фразу str голосовым уведомлением доступными словами из базы. Может содержать тег "{break_off}" для того, чтобы сделать эту фразу не пропускаемой в очереди воспроизведения.
== Объект TINIFile ==
GetZip - Возвращает архив в виде строки;
AddFromFile(SrcPath, /*ZipPath*/) - '''параметр ZipPath временно не работает'''. Добавляет файл SrcPath в архив и располагает его по пути ZipPath. - ZipPath содержит имя файла в архиве, при необходимости можно указать каталог;
AddFromStr(Data, /*ZipPath*/) - '''параметр ZipPath временно не работает'''. Добавляет файл из строки Data в архив и располагает его по пути ZipPath. -ZipPath содержит имя файла в архиве, при необходимости можно указать каталог;
GetStickerPrinter - возвращает имя принтера выбранного для печати стикеров
 
GetDuplexPrinter - возвращает имя принтера выбранного для двусторонней печати, если принтер не выбран, возвращиет пустую строку
 
PrintAttachPDFPage(Code, FileName, Page, Printer) - печатает страницу из вложенного файла PDF. Code - код вложения (attachment), Page - номер страницы, Printer - 0 = принтер A4, 1 = принтер этикеток.
 
AttachPDFToText(Code, [TextFileName]) - преобразует файл PDF из вложений в текст. Code - код вложения (attachment), TextFileName - имя текстового файла, в который записывается результат (если не указан, используется временный файл). Возвращает текст в виде строки.
'''ClientTown''' - Узнаем город клиента, через филиал с которым он работает. Сам клиент берется из заказа указанного в окне "Импорт БД из Excel".
 
RuleName(alias) - Выдает полный путь в дерева прав по псевдониму права.
== Объект TFieldObject ==
«$PriceCode» - код прайса;
«$CurrentPriceConf» - код услуги;
«$BasePrice» - стоимость всех услуг с взведённой галкой "+ к Базовой"уровнем (pricelevel) меньше текущего.
Для вызова функции CalcBasePrice (Расчёт базовой цены) в скрипте объявленны переменные: $Count,$Collection,$Distance,$Wait.
28
правок

Навигация