Изменения

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

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

11 000 байт добавлено, 06:05, 12 июля 2022
Прайс лист клиента
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.
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 миллисекунд.
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 с диска, возвращает истину, если операция прошла успешно и ложь - в противном случае.
HTTPPOST(host, PostParams, Proxy, ContentType, HTTPUser, HTTPPass, Method[, CustomHeader], Reconnects) - Отправляет HTTP запрос по адресу host с данными PostParams. Proxy - объект Proxy, задающий прокси-сервер (по-умолчанию - пусто - не использовать прокси). ContentType - Заголовок ContentType. По-умолчанию - "application/x-www-form-urlencoded; Charset=UTF-8". HTTPUser и HTTPPass - данные для http-авторизации на сервере. Method - метод отправки запроса, по-умолчанию - "POST". CustomHeader - дополнение к заголовку, передается в виде списка параметров через запятую: 1 параметр - добавляет в заголовок SOAPAction, 2 параметр - Authorization. Reconnects - Количество попыток подключения (по-умолчанию - 2), если больше 100 - это таймаут единственной попытки подключения в милисекундах.
Функция возвращает ответ сервера. <br>
''Обратите внимание:'' Для имитации отправки данных html-формы методом POST может понадобиться перед передаваемыми параметрами добавить "Data=".
== Объект TExcel ==
Предназначен для доступа к данным документов MS Excel. Требует установленного приложения MS Excel. Для работы без установленного MS Excel предусмотрен объект TDirectExcel.
Функции:
FileName – Возвращает имя текущего файла. SetFileName(aFileName) – Задает значение свойства FileName. 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  FileName прижато влево, 1 – вправо, 2 – по центру), VAlign - Вертикальное выравниваниеВозвращает имя текущего файла.
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 - Устанавливает автоматическую высоту строк.'''''Форматирование'''''
RowInsertAlign(ix1, y1, x2, y2 [, countHAlign, VAlign]) - Вставляет count Устанавливает выравнивание данных в указанном диапазоне. HAlign - горизонтальное выравнивание (0 – прижато влево , 1 – поцентру , 2 – прижато вправо), VAlign -умолчанию - Вертикальное выравнивание (0 – прижато к верху , 1– по центру , 2 – прижато к низу) строк НАД строкой с номером i.
RowDeleteWrapText(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.
ShetFitPageWidth Save(filename) - устанавливает режим масштабирования печатиСохраняет в файл filename. Если файл существует, в основной системе он будет перезаписан, чтобы печатная форма помещалась в ширину на один листдругих проектах - вызовет ошибку "Файл уже существует".
PrintOutSetVisible([copies]b) - Печатает текущий лист на принтере по умолчанию– Устанавливает видимость приложения Excel для пользователя. Параметр, copies По- количество копий, по умолчанию равен 1– 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 ==
Любой параметр можно опустить, и тогда вместо него будет использовано значение по-умолчанию: шрифт: arial, размер – 10, не жирный, не курсив, не подчеркнутый, цвет – черный. Например: ', 7' – указывает, что по-умолчанию нужно взять все параметры кроме размера шрифта. Также можно вместо всей строки указать тире ('-') или пустую строку, и шрифт будет использоваться «глобальный».
 
Объект можно создать отдельно, не создавая объект TPrinter. В таком случае объект создастся как ссылка на текущий холст принтера (принтер должен быть запущен и начат новый документ). Такой подход используется в доп. возможности PrintCustomSticker
== Объект TPicture ==
LoadFromStr($s) – Загружает изображение из строки $s. Возвращает истину, если операция прошла успешно, иначе – ложь.
CreateBar(Width, Height, BarCode, Textless, Type) – Формирует штрих-код шириной Width и высотой Height с типом кодирования Type. BarCode – текст штрих-кода. Булево значение Textless указывает, что в штрих-коде не должно быть человеко-читаемых символов если истинно. Type указывает тип кодирования: 0 (по-умолчанию) CODE128, 1 - EAN-13, 2 - Interleaved 2-5, 3-DataMatrix, 4-QRCode.
Штрихкод должен быть: Для EAN-13 цифровым 12 или 13 символов (13-й, контрольная сумма рассчитывается автоматически), для CODE128 - должен иметь состоять из допустимого для этого кодирования набора символов. Для Interleaved - должен состоять из четного числа цифр, контрольная сумма автоматически не рассчитывается. Если для Interleaved кода указано значение из 14-ти знаков, подпись цифр выводится в формате Почты России.
Внимание! Для кодов EAN-13 и Interleaved ширина штрих-кода Width не является точным значением получаемого на выходе изображения. Ширина изображения рассчитывается как максимальное кратное минимально возможной ширине, но не меньше минимально возможной. Конечную ширину можно получить в соответствующем свойстве объекта. Для кода CODE128 штрих-код на выходе может оказаться пустым, если указанной ширины штрих-кода не достаточно для его формирования.
Tbl.LoadFromDB(MyDB.Self);
Tbl.SetBarcode(1, 1);
Tbl.SetUserHeaderSetCustomHeader(
if($TablePageNo>0,
Prn.Canvas.TextOut(Prn.Canvas.DPIX*0.1, $TableY, 'Продолжение таблицы');
'''GetKurierByStation(station, Mass, Cash, Date_Putn)'''
'''TownByIndex(Index[, PriorityName][, PriorityCountry])''' – Возвращает код города по индексу. В случае ошибки поиска – код текущего города. Если нашлось несколько населенных пунктов, и указано приоритетное название - выбирается населенный пункт, название которого начинается с PriorityName (если есть).
'''TownByName(Name[,NotNeedCL=False, City=0])''' – Возвращает код города по имени. В случае ошибки поиска – возвратит код текущего города. Если параметр NotNeedCL (параметр не обязательный) установить в TRUE, тогда функция возвратит 0, если город не удалось найти. Параметр City (код региона) позволяет ограничить поиск одной областью (не обязательный, по умолчанию не используется).
'''SavePrintFormToFile(FormType, FormNumber)''' - Сохраняет на диске файл печатной формы и возвращает путь к нему
'''CreateTrans(Address[, Store][, Operator])''' - Формирует запись для печати кассового чека для корреспонденции с кодом Address, для выбора кассового аппарата используется код склада Store. Если Store не указано - при исполнении в среде клиентского модуля системы использует склад, указанный пользователем в окне [[Настройка параметров рабочего места|"Настройка" - "Параметры"]], в остальных модулях - код текущего склада из [[Настройка глобальных параметров|переменной]] "CL" ("Текущий филиал"). Поле Operator позволяет указать кассира (передается код справочника сотрудников). Если не указан, в основной системе будет использован код авторизованного пользователя, в других модулях - 1. Возвращает идентификатор записи чекаидентификаторы записей чеков. Может вернуть пустую строку, если чек создавать не понадобилось, один или несколько кодов через запятую, если создано несколько чеков. В случае ошибки вызывает ошибку, поэтому рекомендуется использовать с функцией Try.
'''CreateReturnTrans(Address)''' - формирует запись для печати чека возврата для корреспонденции с кодом Address. Чек возврата печатается на полную сумму и с теми же атрибутами, что и чек продажи. Возвращает идентификатор записи чека возврата. В случае ошибки вызывает ошибку, поэтому, как и с CreateTrans, рекомендуется использовать с функцией Try.
'''CreateSpecialSMA(ClientCode, DateTo)''' - Функция создает исходящий акт передачи денег (АПД). Требует ClientCode - код клиента, DateTo - дату акта. Функция возвращает коды созданных актов. Если возвращаемых параметров два, значит функция пыталась создать два АПД: первым, идет код АПД с наличной оплатой, а вторым с безналичной. Примеры возвращаемого результата: '0'- акт не был создан, отсутствуют корреспонденции; '124' - код созданного акта; '0,0' - пытались создать два акта, но отсутствуют данные; '4556,0' - создан только наличный АПД; '0,445' - создан только безнал.; '4556,445' - созданы нал. и безнал.
'''CreateAddressForActDelivery(ActCode, [Delivery_TomorrowDeliveryDateMode=False0, Delivery=True])''' - Функция создает корреспонденцию на доставку акта. ActCode - код акта; Delivery_Tomorrow DeliveryDateMode: 0 - установить план. дату доставки текущим рабочим днем, 1 - установить план. дату доставки следующим рабочим днем или сегодня (по умолчанию , сегодня)2 - установить план. дату доставки равной планируемой дате оплаты АПД; Delivery - создать корр. на доставку АПД или создать корреспонденцию на забор АПД (по умолчанию, доставка АПД). Возвращает код созданного адреса.
'''CreateAddressTransferAct(ClientCode, Store, DateTo, [AdditionalParam])''' - Функция создает исходящий акт передачи корреспонденции (АПК). Требует ClientCode - код клиента, Store - код филиала, для которого будет создан акт, DateTo - дату, до которой в акт попадут возвраты, AdditionalParam - дополнительный строковый параметр для передачи в системную доп. возможность ExceptionsForAPK, позволяющий отобрать в акт, например, только полные возвраты. Возвращает код созданного акта. ВНИМАНИЕ: при создании АПК используется системная функция ExceptionsForAPK. Если в ней используются интерактивные функции (вывод сообщений, диалоговые окна, выполнение скриптов), то акт сформирован не будет, а функция CREATEADDRESSTRANSFERACT вернет ошибку.
Пример:
GetPolygonByLatLon('55.769064','37.590713','zone is not null and price=0') - пытаемся найти вхождение координат в полигоны, где задана зона, для всех клиентских и курьерских зон.
 
'''GetLatLonByAddress(AddressText, TownCode)''' - возвращает географические координаты вида lat,lon указанного в AddressText адреса. Поиск производится в городе, имеющем код TownCode в таблице Town.
'''CalcAgentPrice(AddressCode, AgentCode, TownFrom, TownTo, Mode, [, Count=1])''' - функция возвращает стоимость доставки рассчитанную по тарифу агента. AddressCode - код адреса, AgenCode - код филиала (агента), TownFrom - код города отправителя, TownTo - код города получателя, Mode - режим срочности, count - тарифная сетку от указанного количества отправлений (по умолчанию 1)
'''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 ...]
 
'''SelDistAddr(s)''' – Возвращает строку для вставки в select запрос, для вывода поля с упрощенным адресом. Принимает один необязательный строковый параметр - алиас таблицы из которой будет упрощаться поле address, по умолчанию "a"
 
'''VoiceReadStr(str)''' – Озвучивает фразу str голосовым уведомлением доступными словами из базы. Может содержать тег "{break_off}" для того, чтобы сделать эту фразу не пропускаемой в очереди воспроизведения.
== Объект TINIFile ==
Для провайдера доступны значения 'mirsms', 'sms16', 'websms', 'epochta', 'zanzara', 'SMSManager', 'f1sms', 'BitCall', 'mirsmsGET', 'AMD' и другие, либо можно указать числовые значения номера протокола, от 1 до <rspoiler text="20">Набор провайдеров все время дополняется, количество и номера можно смотреть в Справочники - Переменные - Подключения - SMS</rspoiler> соответственно. Эти значения соответствуют значениям переменной SMSProtocol таблицы "Value".
SendSMS(Phone, Text, [ID]) – Отправляет SMS с текстом Text на телефон Phone. Для некоторых провайдеров необходим уникальный идентификатор сообщения ID(для провайдера iVoice - идентификатор сценария (кампании)). Возвращает ID провайдера для последующей проверки статуса доставки.
CheckSMS(ProviderID) – Проверяет состояние доставки сообщения с идентификатором ProviderID. Возвращает: 0 – доставляется, 1 – успешно доставлено, 2 – не доставлено.
ReceiveSMS(InboxID, DateFrom, DateTo, NewOnly) - Получает входящие SMS, с ящика InboxID (идентификатор выдаётся провайдером). DateFrom, DateTo - задается временной интервал в котором были приняты сообщения(формат 08.04.2013 18:00:00 'DD.MM.YYYY HH:NN:SS'). Чтобы получать только новые сообщение поле NewOnly должно быть True. Возвращает XML с сообщениями.
ExtraResult([ParamName='']) - Вызывается после CheckSMS, возвращает дополнительную информацию по последнему статусу смс. В настоящее время работает только для провайдера провайдеров BitCall и iVoice. Для BitCall, по умолчанию возвращает кнопки, нажатые абонентом во время работы с голосовым меню. Если в paramname указать 'IdentifyText' то будет возвращен JSON с ответами абонента на заданные вопросы(используется в случае звонков с индивидуальным сценарием).Для iVoice по умолчанию подразумевается параметр 'response', при этом будет возвращен JSON с ответами абонента на заданные вопросы (в зависимости от сценария)
Log - Возвращает последний HTTP запрос и ответ от сервера смс.
GetZip - Возвращает архив в виде строки;
AddFromFile(SrcPath, ZipPath) - Добавляет файл SrcPath в архив и располагает его по пути ZipPath. ZipPath содержит имя файла в архиве, при необходимости можно указать каталог;
AddFromStr(Data, /*ZipPath*/) - '''параметр ZipPath временно не работает'''. Добавляет файл из строки Data в архив и располагает его по пути ZipPath. -ZipPath содержит имя файла в архиве, при необходимости можно указать каталог;
LoadFromFile(path) - Загружает архив из файла path;
FillAdvPriceReport(Excel, AddressCodes, StartLine, StartCol, [ShowSumPrice,InsertColumns]) - добавляет отчёт по дополнительным услугам. В AddressCodes - указаны коды адресов через запятую, каждый код это отдельная строка отчета. Адреса будут показаны в порядке перечисления их в AddressCodes. Если в отчет нужно добавить пустую строку, то можно указать код адреса -1000. StartLine, StartCol - верхний левый угол выгружаемой таблицы. ShowSumPrice - добавить столбец итоговый столбец с суммой всех услуг, по умолчанию выключено. InsertColumns - раздвинуть таблицу перед вставкой отчета, позволяет встраивать отчет посередине выгрузки, по умолчанию выключено. Функция возвращает количество использованных столбцов.
PrintSticker(Codes, [ToBoxes=False])
GetItemByName(Name)
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.
{|
||'''Добавлено:'''
|В объект TExcel добавлен метод ColumnDelete.
|-
||'''Добавлено:'''
|В объект TBaseUtils добавлена функция InsertFirmAtt.
|-
||'''Добавлено:'''
||В объект TExcel добавлен метод Align.
28
правок

Навигация