Изменения

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

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

78 771 байт добавлено, 21 март
м
Объект TBaseUtils
EXEC(FileName, Params, Wait, WindowState) – Запускает внешнее приложение FileName с параметрами Params. Если Wait истинно – ожидает завершение процесса. Для WindowState доступны следующие числовые значения:
0 - SW_HIDE
1 - SW_SHOWNORMAL(по-умолчанию)
3 - SW_MAXIMIZE
6 - SW_MINIMIZE
В случае успеха, при параметре Wait – истина кладет в переменную $LastResult код завершения приложения.
=== Строковые функции ===
=== Строковые функции ===UpCase(s) – возвращает строку s в верхнем регистре. LCase(s) – возвращает строку s в нижнем регистре.
UPCASELen(s) – возвращает строку количество символов в строке s в верхнем регистре.
LCASEPos(s, substr [,start]) – возвращает номер первого символа первого включения подстроки substr в строку s в нижнем регистре, возвращает 0, если включения подстроки отсутствуют. Параметр start - это позиция старта поиска, не обязательный параметр, по умолчанию равен 1. Поиск не чувствителен к регистру.
LENParam(s, i) – возвращает количество символов в строке i-й элемент строки s, разделенной запятыми на элементы.
POSParamsCount(s, substr) - возвращает номер первого символа первого включения подстроки substr в строку количество элементов строки s, возвращает 0, если включения подстроки отсутствуютразделенной запятыми на элементы.
PARAMSetParam(s, p, i) – возвращает заменяет на значение p i-й элемент строки s, разделенной запятыми на элементы.
LEFTLeft(s, i[,full] ) – возвращает i первых символов строки s. Параметр i, может быть строкой, тогда он считается разделителем и функция, возвращает строку слева от разделителя. Параметр full разрешает функции вернуть всю строку s, если по параметру i ничего не нашли, параметр не обязательный, по умолчанию выключен.
MIDMid(s, i, j) - возвращает подстроку из s начиная с i символа и длиной j символов
RIGHTRight(s, i[,full]) – возвращает i последних символов строки s. Параметр i, может быть строкой, тогда он считается разделителем, функция ищет разделитель с конца строки, и возвращает строку справа от разделителя. Параметр full разрешает функции вернуть всю строку s, если по параметру i ничего не нашли, параметр не обязательный, по умолчанию выключен.
CHARReverse(is) - возвращает символ строку s задом-наперед. Полезно например для поиска с кодом iконца функций Pos().
ORDChar(si) – возвращает код первого символа строки sсимвол с кодом i.
REPLACEOrd(s, s1, s2) – возвращает строку код первого символа строки s, в кот. все включения подстроки s1 заменены строкой s2 (не чувствительно к регистру).
REMSPACEReplace(s, strFind1, strReplace1, [ strFind2, strReplace2, ... ], [caseInsensetive]) - возвращает сроку строку s без начальных , в которой все включения строк strFind заменены строкой strReplace. Параметры поиска и конечных запятых замены всегда должны быть в паре и пробелових может быть несколько. caseInsensetive - неучитывать регистр, не обязательный параметр, а также начальных точекпо умолчанию включен.
QUOTEDSTRRemSpace(s) – квотирует строку возвращает сроку s символом «\» (обратный слеш). Возвращает строку s, помещенную между символами одинарной кавычки, при этом все вхождения в строку s символов: «\», «"» без начальных и конечных запятых и «'» экранируются квотирующим символомпробелов, а символы #0, #10 и #13 заменяются на \0, \n и \r соответственнотакже начальных точек.
FormatTextXMLSumStr(sf [, captions, language]) – Возвращает сумму f, написанную прописью, по умолчанию '''с добавлением валюты'''. Необязательные параметры captions - квотирует строку s для использования позволяет изменить название валюты, формат строки может зависеть от текущего языка(посмотреть формат можно в XML"Справочники"-"Статусы"-"32 Валюты", в разделе "Дополнительная информация"). Производит замены спецLanguage - код языка на котором необходимо вывести сумму прописью. символов для корректности XML-синтаксисаПо умолчанию если не обязательные параметры опущены, используются региональные настройки в переменных.
SUMSTRNumToStrSimple(f[, captions, language]) – Возвращает сумму f, написанную прописью, по умолчанию '''без валюты'''. Параметры идентичны функции SUMSTR.
FullNameToShort(Name) – Возвращает фамилию и инициалы по полному ФИО Name.
MonthName2(m) – Возвращает имя месяца с номером m с большой буквы на русском языке в родительном падеже.
 
STR2UTF(s) - Производит перекодировку строки s из кодировки ANSI в кодировку UTF8.
StrForXML(s) - Подготавливает строку к парсингу как xml: Если находит в строке подстроку "UTF-8" - перекодирует ее из utf-8 в win-1251, убирает начальный знак вопроса, если такой встречается.
FixedIntToStr(i, len[, char]) - Возвращает целое число i дополненное слева символами char (по-умолчанию - "0") до длины len.
 
Translate(format, [param1, param2, ...]) - Функция перевода строки format в язык пользователя. Строка format может содержать параметры %s, %d - строка и число соответственно.
 
====Функции перекодировки====
DecodeStr(s, charset) - Производит перекодировку строки s в кодировку CP1251. Кодировка строки s должна быть заранее известна и может быть :
KOI8-R, ISO-8859-5, UTF-8, URL, BASE64, QUOTED-PRINTABLE, CP866, UNICODE. Имя кодировки следует передавать в точности без лишних символов.
 
EncodeStr(s, charset) - Производит перекодировку строки s в кодировку charset. Кодировка строки s должна быть CP1251, возможны следующие варианты перекодировки:
KOI8-R, ISO-8859-5, UTF-8, URL, BASE64, QUOTED-PRINTABLE, CP866. Имя кодировки следует передавать в точности без лишних символов. UNICODE не работает с версии 2021, в ней строки по умолчанию в кодировке unicode.
 
Функции EncodeBase64(s), DecodeBase64(s), UrlEncode(s), UTF8Encode(s), UTF8Decode(s), Str2UTF(s) - устарели, используйте EncodeStr, DecodeStr.
 
====Транслитерация====
 
Translit(s) - транслитерация строки русского текста s латиницей
 
UnTranslit(s) - транслитерация строки s с латиницы на русский.
 
==== Экранирование ====
 
QUOTEDSTR(s) – квотирует строку s символом «\» (обратный слеш). Возвращает строку s, помещенную между символами одинарной кавычки, при этом все вхождения в строку s символов: «\», «"» и «'» экранируются квотирующим символом, а символы #0, #10 и #13 заменяются на \0, \n и \r соответственно.
 
FormatTextXML(s) - квотирует строку s для использования в XML. Производит замены спец. символов для корректности XML-синтаксиса.
 
FormatTextJSON(s) - переводит строку в формат JSON, экранирует служебные символы.
 
FormatTextBlob(s) - строка s содержит файл, функция перекодирует переданную строку в байты, используется для заполнения полей формата blob.
 
====Хеширование ====
 
HMACHash256(key, text) - создаёт хэш по алгоритму SHA256 для проверки целостности сообщения, key - секретный ключ, text - хэшируемое сообщение
 
MD5Hash(text) - создаёт хеш по алгоритму MD5
 
SignatureUrl(url) - Подписывает переданный URL. Функция возвратит переданный URL с добавленным в конце параметром, в котором будет записана подпись.
=== Функции работы с датой и временем ===
CurrDate – возвращает текущую дату
 
CurrMillisecond - Возвращает количество миллисекунд прошедших с начала текущего года. Используется для точного расчета временных интервалов.
 
Today - возвращает текущую дату в числовом формате.
Day(dt) – возвращает день месяца даты dt.
Year(dt) – возвращает год даты dt.
 
FirstDayOfMonth(dt) – Возвращает первый день месяца в формате DD.MM.YYYY для даты dt в формате DD.MM.YYYY. Пример вызова: Error( FirstDayOfMonth( CurrDate() ) );
 
LastDayOfMonth(dt) – Возвращает последний день месяца в формате DD.MM.YYYY для даты dt в формате DD.MM.YYYY. Пример вызова: Error( LastDayOfMonth( CurrDate() ) );
DaysInMonth(month, year) – Возвращает количество дней в указанном месяце.
IncDay(dt, [count=1]) – Возвращает дату, увеличенную на 1 деньcount дней.
SQLDate(dt) – Пытается конвертировать dt в дату, вернуть в формате «'YYYY-MM-DD'» (с апострофами), если не удается – возвращает «NULL».
DAYSBETWEEN(dt1, dt2) – Возвращает количество дней между датами dt1 и dt2. В случае ошибки приведения dt1 или dt2 к дате возвращает -1000.
SQLFloatTimeBetween(ft1, t2) – Приводит число с плавающей точкой - Возвращает количество минут между временем t1 и t2. Если t1 > t2 то будет показано количество минут между t2 и t1. Параметр t может быть как в формате "HH:MM", так и в числовом. Если один из параметров не удалось привести к видучисловому типу возвращает -1000. WorkDaysBetween(dt1, dt2, [DecreaseFirstDay=0], пригодному для SQL[DefaultHolidayVarNum=1]) -запроса, тВозвращает количество рабочих дней между датами dt1 и dt2.еПараметр DecreaseFirstDay уменьшает dt1 на указанное количество дней (по умолчанию 0). В случае ошибки приведения dt1 или dt2 к тексту с разделителем дробной части – точкадате возвращает -1000.Параметр DefaultHolidayVarNum - использовать для расчета справочник: 1 - выходных дней(по умолчанию); 2 - выходных дней для доставки по городу; 3 - выходных дней для доставки
TimePeriod(time1, time2) - Оформляет временной период. Возвращаемое значение зависит от наличия значения в параметрах. Возможные варианты: "time1 - time2" , "С time1" , "ДО time2".
 
StrDateToFloat(s, [time=false]) - Переводит строку с датой s в числовой тип. Если параметр time включен, то в строке s должно быть указано время. Дата должна быть в формате "DD.MM.YYYY", а время "HH:NN". Если строку перевести не удалось возвращает 0
 
IsAWorkDay(dt) - Когда день dt является рабочим, возвращает true. Если произошла ошибка приведения даты возвращает -1000.
 
IncWorkDay(dt, [count=1],[DefaultHolidayVarNum=1]) - Прибавляет count рабочих дней к дате dt. Возвращает дату в числовом формате, если произошла ошибка приведения даты возвращает -1000. По умолчанию параметр count равен 1 и не является обязательным. Параметр DefaultHolidayVarNum - использовать для расчета справочник: 1 - выходных дней (по умолчанию); 2 - выходных дней для доставки по городу; 3 - выходных дней для доставки
 
Sleep(n) - Задержка выполнения на n миллисекунд.
=== Функции приведения типов ===
Date(v) – возвращает дату, либо пустую строку, если не удается конвертировать v в дату
Time(v) – возвращает время, либо пустую строку, если не удается конвертировать v во время. Понимает числовое представление времени.
=== Математические функции ===
ROUNDDN(f) – округляет число f до ближайшего меньшего по модулю целого числа.
 
Money(f, CouldBeEmpty, ZeroFill, MakeSpace) - Округляет число f, до двух знаков после запятой. CouldBeEmpty - заменить число меньше 0,0001 на пустую строку. ZeroFill - Следить чтобы после запятой было два знака, если будет один, то добавить ноль. MakeSpace - Разделить разряды пробелом.
''Подсказка: для простого округления используется функция int()''
 
=== Константы ===
=== Прочие функции ===
SQLFloat(f) – Приводит число с плавающей точкой к виду, пригодному для SQL-запроса, т.е. к тексту с разделителем дробной части – точка.
SetPhoneParams(CountryCode, TownCode) – Устанавливает глобальные настройки кода телефонных кодов страны и города соответственно. По-умолчанию код страны – 7, код города – 495.
SendEmail(Server, Port, User, Pass, AddressFrom, AddressTo, MsgText, Subject[, FileName]) – Отправляет письмо по e-mail с указанными параметрами. В случае ошибки отправки вызывает ошибку (рекомендуется использовать совместно с TRY).
SendEmail(EmailFromStr, AddressTo, MsgText, Subject[, FileName]) – Отправляет письмо по e-mail с указанными параметрами. В случае ошибки отправки вызывает ошибку (рекомендуется использовать совместно с TRY). EmailFromStr – строка, содержащая данные для отправки письма – адрес SMTP-сервера(также к имени сервера можно добавить протокол ssl:// или tls://), порт, логин, пароль и email отправителя, разделенные символом переноса строки.
GenEan(ID, Code) – Формирует штрих-код EAN 13 Состоящий из идентификатора типа сущности ID и кода сущности Code, Выравнивает до 13-ти символов, первый – «2», последний – контрольная сума.
CheckEan(s) - Проверяет строку s, что она является кодом EAN13. SaveToFile(FileName,s, encoding [, append])- Создает текстовый файл по пути, указанному в FileName (если по указанному пути существует файл с указанным именем, он удаляется и создается новый) и производит запись строки s в созданный текстовый файл. encoding - название кодировки, по умолчанию сохраняет в кодировке ANSI. Доступные названия кодировок: KOI8-R, ISO-8859-5, UTF-8, URL, BASE64, QUOTED-PRINTABLE, CP866. Если append = true, то производится дописывание данных в файл, а не перезаписывание (не обязательный, по умолчанию выключен).
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 - Дополнительные заголовки HTTP запроса, передается в виде списка параметров через запятую и всегда образуют пару: 1 параметр - название заголовка, 2 параметр - значение. Если значение содержит запятую то его нужно экранировать в двойные кавычки. Reconnects - Количество попыток подключения (по-умолчанию - 2), если больше 100 - это таймаут единственной попытки подключения в миллисекундах.Функция возвращает ответ сервера. <br>''Обратите внимание:'' Для имитации отправки данных html-формы методом POST может понадобиться перед передаваемыми параметрами добавить "Data=". FTPPUT(host, User, Pass, FileName[, Active]) - Отправляет файл на FTP/SFTP-сервер. Параметр Host может иметь в себе путь к папке. По-умолчанию работает в пассивном режиме. FTPGET(host, User, Pass, SourceFileName, DestFileName[, Active]) - Загружает файл SourceFileName с FTP/SFTP-сервера, сохраняет его в файл DestFileName. Параметр Host может иметь в себе путь к папке. По-умолчанию работает в пассивном режиме. GetTempDir - Возвращает путь к временной папке. ApplicationDir - Возвращает путь к файлу программы. Interpretate(script) - Интерпретирует скрипт указанный в script. Выполнение происходит в текущем инстансе. LastHttpError - Выводит последний запрос выполненный с ошибкой в функции HttpPost. Содержит подробную информацию по запросу и ответу. LastHttpResponse - Выводит последний запрос и ответ от сервера после выполнения Http-запроса в функции HttpPost.
== Объект TExcel ==
Предназначен для доступа к данным документов MS Excel. Требует установленного приложения MS Excel. Для работы без установленного MS Excel предусмотрен объект TDirectExcel.
Функции:'''''Ввод данных''''' LoadFromDB(DB[, Headered=true][, Col=1][, Row=1][, TranslateHeader=False]) – Загружает таблицу из набора данных, открытого в объекте DB типа TADO. Если Headered истинно (по-умолчанию), таблица загружается вместе с заголовками. Если название поля содержит подстроку «_RecNo» - данная подстрока не попадет в заголовок, а все значения поля будут заменены на порядковый номер записи в наборе данных, начиная с «1». В одной таблице допускается не более одного поля с порядковой нумерацией. Поля, названия которых начинаются в символа "-" не выгружаются. Если TranslateHeader истинно, то заголовки таблицы будут автоматически переведены. MyDB.Open('select * from kurier'); xl.LoadFromDB(MyDB.Self); xl.DoNotDestroy(true); xl.SetVisible(true); Post2Sheet(DB[, Headered=true][, Col=1][, Row=1][, TranslateHeader=False]) - Почти полный аналог LoadFromDB. В отличии от LoadFromDB если есть открытый файл, выгрузка данных будет выполнена прямо в него. OpenFile(aFileName) – Выполняет функции SetFileName и Open.
FileName – Возвращает имя текущего файла.
Open - Открывает файл с именем, заданным свойством FileName. Если имя файла не задано - создает чистую книгу.
OpenFile(aFileName) Close Выполняет функции SetFileName и OpenЗакрывает текущий файл.   '''''Ячейки'''''
LoadFromDB(DB[, Headered=true][, Col=1][, Row=1]) A..ZZ Загружает таблицу из набора данныхВозвращает значение соответствующего поля текущей строки. Может вызываться с целочисленным аргументом, открытого в объекте DB типа TADOуказывающим на сдвиг относительно текущей строки. Если Headered истинно Например: AC(по-умолчанию1), таблица загружается вместе с заголовками– вернет значение столбца AC предыдущей строки. Если название поля содержит подстроку «_RecNo» - данная подстрока не попадет в заголовок, а все значения поля будут заменены на порядковый номер записи в наборе данных, начиная с «1». В одной таблице допускается не более одного поля с порядковой нумерацией. Поля, названия которых начинаются в символа "-" не выгружаютсястроки окажется вне допустимых значений вернет пустую строку.
Post2SheetCell(DB[x, Headered=true][y, text) – Возвращает значение ячейки, заданной координатами x, y. Необязательный булевый параметр text, в случае истинности, указывает на необходимость возврата данных с учетом формата ячейки, Col=1][т.е. то, Row=1]) - Почти полный аналог LoadFromDBчто пользователь видит на экране. В отличии от LoadFromDB Обратите внимание, что если есть открытый файлв ячейке число, и ширина столбца не достаточна для отображения, Excel выводит "#####", выгрузка данных что и будет выполнена прямо в неговозвращено программе, если text=ИСТИНА. Поэтому перед таким использованием рекомендуется выполнить функцию AutoFit.
SetBordersSetCell(x1x, y1y, v[, x2, y2]) – Устанавливает границы прямоугольниказначение ячейки, заданной координатами x и y, в значение v. Если координаты опущенызаданы параметры x2, y2 - объединяет (merge) диапазон ячеек заданных координатами, или 0 – устанавливает границы всей используемой областизначение объединенной ячейки.
DoNotDestroy(b) – При уничтожении объекта TExcel (а он уничтожается, как и все остальные объекты автоматически при завершении выполнения скрипта), приложение Excel уничтожается вместе с ним. DoNotDestroy(true) отключает уничтожение приложения.
SetVisible(b) – Устанавливает видимость приложения Excel для пользователя. По-умолчанию – false (не видимо).'''''Строки'''''
RecNo – Возвращает номер текущей строки. Нумерация строк начинается с 1.
SetRecNo(aRecNo) – Устанавливает значение свойства RecNo.
AFirst – Делает первую запись листа текущей. Next – Увеличивает значение свойства RecNo на единицу в случае, если конец файла не достигнут. Иначе – выставляет свойство EOF в истинуEOF – Возвращает признак достижения конца файла.ZZ  RecordCount – Возвращает значение соответствующего поля текущей строкиколичество строк в листе. RowAutoFit - Устанавливает автоматическую высоту строк. Может вызываться с целочисленным аргументом SetRowHeight(r, h[, указывающим на сдвиг относительно текущей cnt]) – Устанавливает высоту cnt строк (по-умолчанию 1) начиная со строкиr в h пикселей. Например: AC RowInsert(i[, count]) - Вставляет count (по-умолчанию -1) – вернет значение столбца AC предыдущей строкистрок НАД строкой с номером i. Если номер строки окажется вне допустимых значений вернет пустую строку RowDelete(i[, count]) - Удаляет count (по-умолчанию - 1) строк начиная с номера i
Cell(x, y) – Возвращает значение ячейки, заданной координатами.'''''Столбцы'''''
SetCell(x, y, v) – Устанавливает значение ячейки, заданной координатами x и y, ColCount - Возвращает количество столбцов в значение vлисте.
SetSheet(No) AutoFit – Устанавливает номер текущего листаавтоматическую ширину столбцов.
SetSheetNameColumnDelete(Namei[, count]) - Устанавливает название текущего листаУдаляет count (по-умолчанию - 1) столбцов начиная с номера i.
Close SetColWidth (c, w) Закрывает текущий файлУстанавливает ширину столбца c в w символов.
First – Делает первую запись листа текущей.
Next – Увеличивает значение свойства RecNo на единицу в случае, если конец файла не достигнут. Иначе – выставляет свойство EOF в истину.'''''Листы'''''
EOF SetSheet(No) Возвращает признак достижения конца файлаУстанавливает номер текущего листа. Если лист с таким номером не существует - он будет создан (и все листы до него). Нумерация начинается с 1.
RecordCount – Возвращает количество строк в листеSetSheetName(Name) - Устанавливает название текущего листа.
SheetsCount – Возвращает количество листов в книге.
AutoFit CopySheetAfter([SheetFrom[, SheetAfter]]) - Копирует лист SheetFrom (по-умолчанию - текущий), создавая новый лист после листа SheetAfter (по-умолчанию - совпадает с копируемым). SheetDelete(i) - Удаляет лист с номером i.  '''''Форматирование''''' Align(x1, y1, x2, y2 [,HAlign, VAlign]) - Устанавливает выравнивание данных в указанном диапазоне. HAlign - горизонтальное выравнивание (0 – прижато влево , 1 – по центру , 2 Устанавливает автоматическую ширину столбцовприжато вправо), VAlign - Вертикальное выравнивание (0 – прижато к верху , 1 – по центру , 2 – прижато к низу).
RowAutoFit WrapText(x1, y1, x2, y2, value) – Устанавливает перенос текста прямоугольника в значение value. Если координаты опущены, или 0 – устанавливает границы всей используемой области. Для Value значение по- Устанавливает автоматическую ширину строкумолчанию - true.
RowInsertNumberFormat(ix1, y1, x2, y2, Format) - Вставляет на выбранном листе строку ПОД строкой с номером iУстанавливает формат вывода чисел в указанном диапазоне ячеек. Например, если Format='0.00' - числа будут выводиться c обязательными 2 знаками после десятичного разделителя.
SetRowHeightSetBorders(rx1, hy1, x2, y2) – Устанавливает высоту строки 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) - Копирует в буфер экселя
'''''Изображения''''' 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 (не видимо). DoNotDestroy(b) – При уничтожении объекта TExcel (а он уничтожается, как и все остальные объекты автоматически при завершении выполнения скрипта), приложение Excel уничтожается вместе с ним. DoNotDestroy(true) отключает уничтожение приложения.  '''''Пример использования:'''''
new('TExcel', 'myxl');
''Возвращает сумму всех числовых данных столбца C файла 'c:\asdf.xlsx'''
 
== Объект TDirectExcel ==
Объект позволяет работать с файлами Excel напрямую, без установленного пакета MsOffice. Применяется в сервисах и при отсутствии экселя. Он максимально совместим с объектом TExcel, однако некоторые методы могут быть не реализованы.
== Объект TCSVFile ==
Предназначен для доступа к данным документов CSV.Разделителем столбцов является символ точка с запятой ;
Функции:
OpenFile(FileName) – Открывает файл FileName.
LoadFromDB(DB[, Headered=false]) – Загружает таблицу из набора данных, открытого в объекте DB типа TADO. LoadFromText(s) - Загружает таблицу из строки s.
RecNo – Возвращает номер текущей строки. Нумерация строк начинается с 1.
SendEmail(EmailFromStr, AddressTo, MsgText, Subject) – Отправляет письмо по e-mail с указанными параметрами. В случае ошибки отправки вызывает ошибку (рекомендуется использовать совместно с TRY). EmailFromStr – строка, содержащая данные для отправки письма – адрес SMTP-сервера, порт, логин, пароль и email отправителя, разделенные символом переноса строки.
 
SaveToFile(Filename) - Сохраняет в файл с именем filename.
== Объект TADO ==
Функции:
{|class="wikitable"
!Функция
!Описание
|Connect(ConnectionString)
|Подключает к источнику данных. ConnectionString – Строка подключения ADO.
|-
|ConnectMySQL(DBServer, DBPort, DBUser, DBPass, DBName)
|Подключает к базе данных MySQL.
|-
|Open(Query)
|-
|GetSQLValue(Query)
|Выполняет SQL-запрос. Текст запроса должен начинаться с первого символа строки (перед запросом не должно быть пробелов, переносов строк, комментариев и т.д.). Если запрос Insert – возвращает ID вставленной записи. Если запрос – Update, Delete, Replace, Set, Start, Commit, Rollback – возвращает количество измененных записей (RowsAffected), иначе – Select – значение первого поля первой строки результа результата как текст.
|-
|FillText(s)
|Возвращает строку s с замененными названиями полей между знаками процента на соответствующие значения текущей записи. Так же в строке возможно использование интерпретируемого кода, заключенного между тегами "<?>" и ">". При интерпретации система сначала производит замену полей с процентами на значения, потом интерпретирует код. При этом создается новый объект ''Внимание! Функция не создает отельный контекст интерпретатора, поэтому набор переменных а использует существующий, в нем доступны все объекты и объектов в этом контексте не связан с глобальным контекстомпеременные, в котором выполняется функция FillTextвызывающего скрипта. В данном контексте '' Дополнительно автоматически создается объект TSelfADO, подключенный к той же БД, что и контекст, вызвавший функцию, с пустым именем, а так же с именем "dataset".
|-
|Query(Query)
|Self
|Возвращает указатель на подключение к БД для использования в других объектах.
|-
|ParseForIn([FieldName='code'])
|Возвращает через запятую значения всех строк в указанном столбце. По умолчанию, используется столбец с именем code.
|-
|GetSQL
|Для отладки. Возвращает последний SQL запрос переданный в методы Open, Query, GetSQLValue
|-
|ExportExcel
|Для отладки. Выгружает в эксель содержимое датасета. Можно использовать в незнакомом окружении для понимания передаваемых полей в : шаблонах, печатных формах и т.д. Аналог команды %echo% в шаблонах, на случай если она не сработает.
|-
|OnGetText
|Функция подменяет текстовый вывод значения поля при выгрузке в эксель. Первый параметр это имя поля, которое надо подменить. Второй параметр это то что необходимо вывести. Работает только с текстовыми полями.
'''''Пример использования'''''
DB.OnGetText('Зона', IF((DB.FieldByName('-Lat') ! 0) * (DB.FieldByName('-Lon') ! 0),
GetPolygonByLatLon(DB.FieldByName('-Lat'), DB.FieldByName('-Lon'), 'TYPE = 1 AND IFNULL(zone, 0) > 0 AND PRICE = ' + DB.FieldByName('-price'), 'zone')
,
''
));
|}
 
Пример использования – см. TSelfADO
Пример использования:
<code> rem('Копируем данные из «родной» "родной" базы данных в базу MSSQL.'); new('TSelfADO', 'MyDB'); new('TADO', 'MSSQL'); MSSQL.Connect('Provider=SQLOLEDB.1;Password=myPassword;Persist Security Info=True;User ID=myUsername;Initial Catalog=myDataBase;Data Source=myServerAddress'); MyDB.Open('select code, name, passport from kurier where code>'+Int(MSSQL.Query('select max(code) from kurier'))+' order by code'); While(MyDB.EOF=0, MSSQL.Query('insert kurier (code, name, passport) VALUES ('+MyDB.Code+', '+QuotedStr(MyDB.Name)+', '+QuotedStr(MyDB.Passport)+')'); MyDB.Next; )</code>;
== Объект TPrinter ==
SetOrientation(Orientation) – Устанавливает ориентацию страницы. При необходимости начинает новый документ, новую страницу.
ShowDialog – Показывает пользовательский диалог печати. Возвращает истину, если пользователь нажал "OK".
NewPage – Начинает новую страницу
PrintTable(Y, Table) – Выводит на печать таблицу Table типа TTable, начиная с координаты Y. При необходимости таблица печатается на нескольких страницах. Возвращает координату Y конца таблицы.
GetDefaultPrinter - Возвращает имя текущего активного принтера.
SetDefaultPrinter(Printer) – Запоминает предыдущий активный принтер и устанавливает новый текущий принтер. Printer - имя принтера. При необходимости нескольких последовательных вызовов SetDefaultPrinter рекомендуется между вызовами использовать RestoreDefaultPrinter. RestoreDefaultPrinter - Устанавливает активным принтер, который был текущим перед последним вызовом SetDefaultPrinter.
== Объект TCanvas ==
MLTextOut(x1, y1, x2, y2, Alignment, VAlignment, Font, s, Heigth, Indent) – Выводит многострочный текст s в прямоугольнике с координатами x1, y1, x2, y2 с переносом по словам. По горизонтали строки выравниваются в соответствии с Alignment, по вертикали – в соответствии с VAlignment (0 – прижато вверх, 1 – по центру, 2 – прижато вниз). Используя шрифт Font (см описание ниже). Heigth – высота строки. Если опущено или равно нулю – высота определяется автоматически в соответствии с выбранным шрифтом. Indent – отступ по горизонтали, расстояние в пикселях между границей прямоугольника и текстом. Функция возвращает координату Y фактического окончания текста (нижней границы последней строки текста. ''ВНИМАНИЕ! Функция использует координаты прямоугольника для позиционирования текста, однако она не ограничивает его верхней и нижней границами этого прямоугольника!''
DrawPic(x1, y1, x2, y2, Pic, Style, Alignment, Mode) – Прорисовывает изображение Pic (ссылка на изображение TPicture.Self) в прямоугольник заданный координатами x1-y2. Style – стиль масштабирования. 0 – растянуть изображение до границ прямоугольника не сохраняя пропорции, 1 – вписать изображение в прямоугольник сохраняя пропорции – вероятно, останутся поля по вертикали или горизонтали, 2 – вписать сохраняя пропорции, обрезав при необходимости изображение по вертикали или горизонтали. Alignment – выравнивание по горизонтали. Работает только в случае если style=1 и при растягивании изображения получились вертикальные поля. 0 – разместить по центру, 1 – прижать влево, 2 – прижать вправо. Функция возвращает координату X правой стороны изображения кроме случая, когда Style=1 и Alignment=2 – в этом случае возвращается координата левой стороны изображения. Mode - способ наложения изображения. 0 (по-умолчанию) - копирование как есть. 1 - Наложение операцией AND (применяется для получения эффекта прозрачности изображения), 2 - наложение операцией XOR (Применяется для возможности повторной операцией убрать изображение), 3 - Наложение операцией OR.
FillRect(x1, y1, x2, y2) – Закрашивает Рисует прямоугольник '''без границ''' и закрашивает цветом BrashColor
Rect(x1, y1, x2, y2) – Закрашивает Рисует прямоугольник '''c границами''', задаваемыми текущим пером, и закрашивает цветом BrashColor.
SetFont(Font) – Устанавливает шрифт по-умолчанию.
 
SetPen(Width, Color) - Устанавливает параметры "ручки" - толщину и цвет. Если любой параметр опустить, соответствующее значение не будет изменено.
 
SetBrush(Color, Style) - Устанавливает параметры заливки - цвет и стиль. Если любой параметр опустить, соответствующее значение не будет изменено. Стили заливки: 0 - сплошная, 1 - отсутствует (прозрачная), 2-7 - различные виды штриховки (горизонтальные, вертикальные, в клеточку и т.д.).
TextHeight(s) – Возвращает высоту текста s в пикселях без учета многострочности, с учетом текущего шрифта.
Любой параметр можно опустить, и тогда вместо него будет использовано значение по-умолчанию: шрифт: arial, размер – 10, не жирный, не курсив, не подчеркнутый, цвет – черный. Например: ', 7' – указывает, что по-умолчанию нужно взять все параметры кроме размера шрифта. Также можно вместо всей строки указать тире ('-') или пустую строку, и шрифт будет использоваться «глобальный».
Объект можно создать отдельно, не создавая объект TPrinter. В таком случае объект создастся как ссылка на текущий холст принтера (принтер должен быть запущен и начат новый документ). Такой подход используется в доп. возможности PrintCustomSticker
== Объект TPicture ==
Предоставляет функции для работы с графическими изображениями форматов BMP , GIF, JPEG и JpegPNG, а также для формирования штрих-кодов. Обратите внимание, прозрачность изображений не поддерживается, однако в методе TCanvas.DrawPic есть параметр Mode, призванный создавать эффект прозрачности.
Функции:
LoadFromDB(DB, Query) – Загружает изображение из базы данных. DB – ссылка на подключение к базе данных TADO.Self, Query – текст запроса. Запрос должен вернуть в первом поле первой строки BLOB-поле с изображением, все остальные данные возвращаемые запросом игнорируются. Возвращает истину, если операция прошла успешно, иначе – ложь.
CreateEanLoadFromStr(Width, Height, BarCode, Textless$s) – Формирует штрих-код EAN13 c шириной Width и высотой HeightЗагружает изображение из строки $s. BarCode – текст штрих-кода. Должен быть цифровым 12 или 13 символов (13-йВозвращает истину, контрольная сумма рассчитывается автоматически). Булево значение Textless указывает, что в штрих-коде не должно быть человеко-читаемых символов если истинно. Внимание! Ширина штрих-кода Width не является точным значением получаемого на выходе изображения. Ширина изображения рассчитывается как максимальное кратное минимально возможной ширинеоперация прошла успешно, но не меньше минимально возможной. Конечную ширину можно получить в соответствующем свойстве объектаиначе – ложь.
Create128CreateBar(Width, Height, BarCode, Textless, Type) – Формирует штрих-код CODE128 c шириной 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 штрих-код на выходе может оказаться пустым, если указанной ширины штрих-кода не достаточно для его формирования.Для кода DataMatrix можно установить режим для печати скрытых символов с кодами 29(GS) и 232(FCN1), которые требуются для формирования Честного Знака. Для этого необходимо в начале строки указать символ "[" и все разделители 01, 21, 91, 92 так же экранировать этими скобками. Должно получиться [01]02900002317701[21]k3LInNbH_oG0Q[91]EE06[92]YXiyKfiHjE4YE8b+YVMC1O5r8VtpplA3AwcCqrcG9Dk= . При формировании кода, включится режим формирования штрих-кода DataMatrix GS1, в начале будет добавлен символ с кодом 232 (FCN1), а потом будут добавлены разделители с кодом 29 (GS)Функция возвращает 1 в случае успеха, или текст ошибки, если такая произошла. SetSize(Width, Height) - Устанавливает размер изображения. AsString([ImageFormat]) - Возвращает изображение в виде строки с двоичными данными. ImageFormat принимает значения 1 - Bitmap (по-умолчанию), 2 - jpeg, 3 - png, 4 - gif.
Width – Возвращает ширину изображения.
Self – Ссылка на объект с изображением, используется в качестве параметра для функций, работающих с изображениями из данного объекта.
 
Canvas - ссылка на объект TCanvas холста изображения.
== Объект TTable ==
Предоставляет функции для работы с таблицами. Удобен для печати таблицы на принтере. Алгоритм таков: Загружаем датасет в таблицу, настраиваем ее (шрифты, штрих-коды и т.д.), потом выводим на принтер функцией TPrinter.PrintTable.
Функции:
Cell(С, R) – Возвращает значение ячейки таблицы с координатами (C, R). Нумерация строк и столбцов начинается с 1.
 
SetCell(С, R, Value) – Устанавливает значение ячейки таблицы с координатами (C, R) в Value. Нумерация строк и столбцов начинается с 1.
RowCount – Возвращает количество строк в таблице.
SetFont(Font) – Задает шрифт всей таблицы кроме заголовка.
SetColFont(C, Font) - Устанавливает шрифт столбца C. SetIndent(Indent) – Задает отступ от границы ячейки до текста в процентах от ширины страницы.По-умолчанию значение 0.3
SetWidth(С, Width) – Задает значение ширины столбца C в процентах от ширины страницы.
SetMinRowHeght (Heght) – Задает значение минимальной высоты строкив пикселях.
SetBarCode(Col, Type) - Указывает, что данные из столбца Col должны печататься в виде штрих-кода. Тип штрих-кода - Type. Значение '''"1" - EAN13'''. Для кода EAN13 первая строка данных в ячейке должна иметь вид "тип штрих-кода, номер", например "7, 123" (без кавычек, конечно). В этом случае система сформирует штрих-код: "2700000001233". Первая цифра - всегда 2, далее - указанный тип штрих-кода, нули, чтобы получилось 13 символов, номер, указанный в таблице, и один символ - контрольная сумма. Значение '''"2" - CODE128''' (с версии 734). Данные из первой строки ячейки таблицы печатаются в штрих-коде "как есть". Для всех видов штрих-кода (с версии 734) последующие строки печатаются под штрих-кодом в виде текста.
SetColFontSetMultiHeader(Active) - Включает печать заголовка при переносе таблицы на несколько страниц. По умолчанию отключено. SetCustomHeader(script) - Включает печать пользовательского заголовка. Script - это код интерпретатора, который должен печатать заголовок на канву. Печать таблицы может происходить на нескольких листах, по этому скрипт будет вызван для каждого листа. При использовании этого метода, автоматически инициализируются переменные: $TablePageNo - номер страницы, нумерация начинается с нуля; $TableY - координата по оси Y, от которой рисуется заголовок. Чтобы таблица была под заголовком необходимо значение переменной $TableY увеличить на высоту заголовка.
Self – Ссылка на объект с таблицей, используется в качестве параметра для функций, работающих с таблицами из данного объекта.
 
Пример:
<?>
NEW('TPrinter', 'Prn');
If(prn.ShowDialog,
NEW('TTable', 'Tbl');
NEW('TSelfADO', 'MyDB');
MyDB.Open('SELECT concat("7", ", ", a.code, "\r\n", a.client_id, "\r\n", a.zakaz, "-", a.number) as "Штрих-код", a.target AS "Заказик", address, phone, vlog, poruch FROM address a order by code desc limit 10');
Tbl.LoadFromDB(MyDB.Self);
Tbl.SetBarcode(1, 1);
Tbl.SetCustomHeader(
if($TablePageNo>0,
Prn.Canvas.TextOut(Prn.Canvas.DPIX*0.1, $TableY, 'Продолжение таблицы');
set($TableY, $TableY + Prn.Canvas.TextHeight('H'));
,0)
);
Prn.BeginDoc;
Prn.PrintTable(0, Tbl.Self);
Prn.EndDoc
, );
== Объект TBaseUtils ==
Функции:
'''MakeAddress(s[,town]) ''' – возвращает значение, полученное путем преобразований адреса s для приведения его к внутреннему формату программы. В процессе преобразования до нескольких раз происходит замена буквосочетаний по таблице замены (ее редактирование доступно по нажатию кнопки «Автозамена» в интерфейсе импорта БД из Excel системы (см. Руководство пользователя)), поиск улиц по базе КЛАДР с точностью до одного знака, и некоторые другие операции, нацеленные на исправление ошибок в написании адреса. С версии программы 2008.0.0.615, при вызове функции в формулах загрузки реестра, в первую очередь происходит проверка строки s на условия:* в строке s записано число; * строка s начинается с "ПВЗ ". Если одно из этих условий выполняется, то функция пытается установить пункт самовывоза - т.е она сама в загружаемой карточке корреспонденции укажет: адрес ПВЗ, город ПВЗ и установит галку самовывоз. <br/>Правила поиска ПВЗ:* Если s число - считаем его внутренним кодом филиала;* Если s начинается с "ПВЗ " - Например в адресе передана строка "ПВЗ На Ленинском проспекте", то искать будем филиал с названием "На Ленинском проспекте" который подчиненный, активный, с галкой ПВЗ и в городе town. Если город не указан, то ищем филиал во всех городах, и считаем его найденным если найдем только один филиал. * Если филиалы найти не удалось, функция makeaddress работает как обычно и выполняет преобразование адреса. Если адрес не содержит русских букв, только латиница, и курьерская служба находится в одной из стран Россия, Белоруссия, Казахстан или Украина, и город-получатель (второй параметр, town) находится так же в одной из этих стран, функция автоматически делает транслитерацию адреса на русский язык.
GetStationCode(s) – возвращает код станции метро, ассоциированный в системе с адресом s. В случае невозможности идентифицировать станцию метро – возвращает 0.
''SetConnection(DB) – Подключает объект к базе данных DB, где DB – ссылка на объект TADO.Self.'' '''ВРЕМЕННО НЕ РАБОТАЕТ!'''
''SetTown(Town) – Устанавливает код текущего города (используется в некоторых функциях объекта) в значение Town. По-умолчанию текущий город – 1.'' '''ВРЕМЕННО НЕ РАБОТАЕТ!'''
'''SetIndexLength(Length) ''' – Устанавливает длину почтового индекса. По-умолчанию – 6. '''GetIndex(Address)''' – Возвращает почтовый индекс из адреса. '''GetStreet(Address)''' - Возвращает улицу до первой запятой. '''GetHome(Address)''' - Возвращает номер дома до второй запятой, но не более пяти символов. '''GetKurierByStation(station, Mass, Cash, Date_Putn)''' '''TownByIndex(Index[, PriorityName][, PriorityCountry])''' – Возвращает код города по индексу. В случае ошибки поиска – код текущего города. Если нашлось несколько населенных пунктов, и указано приоритетное название - выбирается населенный пункт, название которого начинается с PriorityName (если есть). '''TownByName(Name[,NotNeedCL=False, City=0])''' – Возвращает код города по имени. В случае ошибки поиска – возвратит код текущего города. Если параметр NotNeedCL (параметр не обязательный) установить в TRUE, тогда функция возвратит 0, если город не удалось найти. Параметр City (код региона) позволяет ограничить поиск одной областью (не обязательный, по умолчанию не используется).
LogTable'''FillClientInfo(TableExcel, Codeclient, UserSheet, Row, Col) ''' Добавляет Выводит в журнал истории запись таблицы с кодом Table, с кодом Code. Если запись отсутствует – добавляется запись об удалении пользователем эксель информацию о клиенте с кодом Userclient на лист sheet начиная со строки row и столбца col.
GetIndex'''SavePrintFormToFile(AddressFormType, FormNumber) – Возвращает почтовый индекс из адреса.''' - Сохраняет на диске файл печатной формы и возвращает путь к нему
TownByIndex'''CreateTrans(IndexAddress[, Store][, Operator][,Correction]) ''' - Формирует запись для печати кассового чека для корреспонденции с кодом Address, для выбора кассового аппарата используется код склада Store. Если Store не указано - при исполнении в среде клиентского модуля системы использует склад, указанный пользователем в окне [[Настройка параметров рабочего места|"Настройка" - "Параметры"]], в остальных модулях - код текущего склада из [[Настройка глобальных параметров|переменной]] "CL" ("Текущий филиал"). Поле Operator позволяет указать кассира (передается код справочника сотрудников). Если не указан, в основной системе будет использован код авторизованного пользователя, в других модулях - 1.Поле Correction позволяет указать данные для корректировочного чека, используется в системе Штрих-М. По умолчанию пустая строка. Возвращает код города по индексуидентификаторы записей чеков. Может вернуть пустую строку, если чек создавать не понадобилось, один или несколько кодов через запятую, если создано несколько чеков. В случае ошибки поиска – код текущего городавызывает ошибку, поэтому рекомендуется использовать с функцией Try.
TownByName'''CreateReturnTrans(NameAddress) ''' - формирует запись для печати чека возврата для корреспонденции с кодом Address. Чек возврата печатается на полную сумму и с теми же атрибутами, что и чек продажи. Возвращает код города по имениидентификатор записи чека возврата. В случае ошибки поиска – код текущего городавызывает ошибку, поэтому, как и с CreateTrans, рекомендуется использовать с функцией Try.
FillClientInfo'''CalcTownDeliveryDays(ExcelSource, clientMode, SheetTownTo, Row, ColTownFrom) – Выводит в эксель информацию о клиенте с кодом client ''' - возвращает количество дней необходимых на лист sheet начиная со строки row и столбца colдоставку отправления, только для межгорода. Source - код клиента, Mode - режим срочности, TownFrom - код города отправителя, TownTo - код города получателя.
SavePrintFormToFile'''CalcDeliveryDate(FormTypeSource, FormNumberMode, TownTo, TownFrom, Date_Beg, Time_beg) ''' - Сохраняет на диске файл печатной формы Возвращает планируемую дату доставки с учетом сроков доставки. Работает при городской и междугородней доставке. Для межгорода сроки доставки берутся из зон. Для городской доставки, из дополнительных параметров статуса (17 статус, 1 параметр в доп. информации) Если рассчитать дату планируемой доставки не удалось, возвращает путь к немупустую строку. Параметры: Source - код клиента, Mode - режим срочности, TownTo - город получатель, TownFrom - город отправитель, date_beg - дата заказа (может быть передана строкой в формате DD.MM.YYYY или в числовом), time_beg - время заказа.
CreateTrans'''GenSpecialSMA(Address[DirectExcel, Store]Code) ''' - Формирует запись функция для печати кассового чека для корреспонденции с кодом Address, для выбора кассового аппарата используется код склада Storeгенерации отчета о доставке по акту передачи денег. Если Store не указано - при исполнении в среде клиентского модуля системы использует склад, указанный пользователем в окне [[Настройка параметров рабочего места|"Настройка" Первый параметр - "Параметры"]]указатель на TDirectExcel, в остальных модулях второй параметр - код текущего склада из [[Настройка глобальных параметров|переменной]] "CL" ("Текущий филиал")акта передачи денег. Возвращает идентификатор записи чека. В случае ошибки вызывает ошибку, поэтому рекомендуется использовать с функцией TryАПД выводится на текущий лист объекта TDirectExcel.
== Объект TBaseSupport =='''CreateSpecialSMA(ClientCode, DateTo)''' - Функция создает исходящий акт передачи денег (АПД). Требует ClientCode - код клиента, DateTo - дату акта. Функция возвращает коды созданных актов. Если возвращаемых параметров два, значит функция пыталась создать два АПД: первым, идет код АПД с наличной оплатой, а вторым с безналичной. Примеры возвращаемого результата: '0'- акт не был создан, отсутствуют корреспонденции; '124' - код созданного акта; '0,0' - пытались создать два акта, но отсутствуют данные; '4556,0' - создан только наличный АПД; '0,445' - создан только безнал.; '4556,445' - созданы нал. и безнал.
Предоставляет '''CreateAddressForActDelivery(ActCode, [DeliveryDateMode=0, Delivery=True])''' - Функция создает корреспонденцию на доставку акта. ActCode - код акта; DeliveryDateMode: 0 - установить план. дату доставки текущим рабочим днем, 1 - установить план. дату доставки следующим рабочим днем, 2 - установить план. дату доставки равной планируемой дате оплаты АПД; Delivery - создать корр. на доставку АПД или создать корреспонденцию на забор АПД (по умолчанию, доставка АПД). Работа функции системы «Курьерская служба 2008»может быть изменена системной доп. Создается только автоматически контекстомвозможностью OnCreateAddressForActDelivery.
Функции'''CreateAddressTransferAct(ClientCode, Store, DateTo, [AdditionalParam])''' - Функция создает исходящий акт передачи корреспонденции (АПК). Требует ClientCode - код клиента, Store - код филиала, для которого будет создан акт, DateTo - дату, до которой в акт попадут возвраты, AdditionalParam - дополнительный строковый параметр для передачи в системную доп. возможность ExceptionsForAPK, позволяющий отобрать в акт, например, только полные возвраты. Возвращает код созданного акта. ВНИМАНИЕ: при создании АПК используется системная функция ExceptionsForAPK. Если в ней используются интерактивные функции (вывод сообщений, диалоговые окна, выполнение скриптов), то акт сформирован не будет, а функция CREATEADDRESSTRANSFERACT вернет ошибку.  '''GetPolygonByAddress(Address, TownCode, where[, field='code'])''' - функция возвращает значение связанное с полигоном в который попал адрес. Если полигон найти не удалось, функция возвратит пустую строку. Address - адрес корреспонденции текстом; TownCode - код города; where - SQL условие; field - необязательный параметр, определяет возвращаемое значение при найденном полигоне, по умолчанию равен "code". Пример:GetPolygonByAddress(addressrecord.address, if((addressrecord.number=0)*(addressrecord.strbarcode=<nowiki>''</nowiki>), addressrecord.townfrom, addressrecord.townto), '`schema`=1') - пытаемся найти вхождение адреса в полигоны 1 схемы, при выборе города учитывается корр. на забор, у нее нужно использовать город-отправитель (а для обычной корр. нужен город-получатель). '''GetPolygonByLatLon(Lat, Lon, where[, field='code'])''' - функция возвращает значение связанное с полигоном в который попали GPS координаты. Если полигон найти не удалось, функция возвратит пустую строку. Lat - широта текстом; Lon - долгота текстом; where - SQL условие; field - необязательный параметр, определяет возвращаемое значение при найденном полигоне, по умолчанию равен "code". Пример:GetPolygonByLatLon('55.769064','37.590713','zone is not null and price=0') - пытаемся найти вхождение координат в полигоны, где задана зона, для всех клиентских и курьерских зон. '''GetLatLonByAddress(AddressText, TownCode)''' - возвращает географические координаты вида lat,lon указанного в AddressText адреса. Поиск производится в городе, имеющем код TownCode в таблице Town. '''GetRouteCode(AddressText, TownCode, LatLon[, Lon])''' - для адреса AddressText в городе с кодом TownCode (из таблицы Town) по географическим координатам lat, lon возвращает код роута (записи, хранящей координаты адреса в городе). Если роут не найден (для адреса в городе не найдено записи с указанными координатами) - создает новый роут и возвращает его код, если роут найден (был создан ранее) - обновляет у роута координаты. Если параметр Lon задан, то параметр LatLon должен содержать одну координату, иначе LatLon должен содержать строку вида 'lat, lon'.В случае ошибки возвращает Null. Пример:<br>Set($res, GetRouteCode(address, townto, '55.114034, 36.592397'));<br>Set($res, GetRouteCode('Троицк, Полковника милиции Курочкина ул., 11', 1, '37.467446, 55.740537'));<br>Set($res, GetRouteCode('Обнинск, Маркса пр., 20', TownByName('Обнинск'), 55.114034, 36.592397)); '''CalcAgentPrice(AddressCode, AgentCode, TownFrom, TownTo, Mode, [, Count=1])''' - функция возвращает стоимость доставки рассчитанную по тарифу агента. AddressCode - код адреса, AgenCode - код филиала (агента), TownFrom - код города отправителя, TownTo - код города получателя, Mode - режим срочности, count - тарифная сетку от указанного количества отправлений (по умолчанию 1) '''SetAddrKol_vo(address, getkol_vo)''' - функция делает прием корреспонденции в текущем ответственном филиале. address - внутренний код адреса, getkol_vo - количество принимаемых мест, может принимать значения: "kol_vo" - принять все места, "getKol_vo+1" - принять еще одно место, "число" - сделать количество принятых мест равным указанному числу. '''CalcClientCnt(client_code, date, is_intown)''' - функция расчета количество доставленных корреспонденций у клиента с кодом client_code за предыдущий месяц от даты date (Или за текущий месяц, подробнее смотри переменную UseCurrentMonthCount) среди внутригородских (is_intown = true) либо междугородних (is_intown = false) корреспонденций. '''GetBasePrice''' - возвращает базовую стоимость доставки посчитанную по тарифной сетке клиента в зависимости от :кол-ва заказов,зоны,типа,срочности,массы, расстояния. В системах с выключенными доп. услугами также считает проценты от суммы и страховки. Описание параметров: *ds - ссылка на объект датасета с основными параметрами расчета цены. Значение по умолчанию доступно в формулах тарифа и доп. услуг, через вызов "dataset._self". Описание некоторых полей датасета: pmoney - процент от суммы; pmoneycard - процент от суммы при оплате картой; pricecode - код прайса (таблица Price) ; distarea - район метро получателя (актуально при отключённом едином районировании, как правило район от 200 до 299 является признаком области); region - признак области при включенном едином районировании; distareaFrom и regionFrom - аналог distarea, region только для отправителя; pcncode - код записи таблицы pricecnt "количество от"; Запрос содержит поля таблицы pricelinesnew - начальная стоимость по тарифной сетки, найденные без учета массы,только по типу срочности и режиму. Запрос содержит поля таблицы price. *addressrecord - ссылка на объектную модель карточки корреспонденции, следует использовать уже созданную addressrecord._self*count - количество корреспонденций от клиента. (может показывать кол-во корреспонденции в текущем заказе или за прошлый месяц, в зависимости от выбранной схемы подсчета заказов в тарифе)*type - тип корреспонденции;*mode - режим доставки;*wait - количество минут ожидания (не учитывается при доп. услугах, есть системная услуга "ожидание");*mass - масса отправления; *rur - сумма передаваемых денег (не учитывается при доп. услугах, есть системная услуга "процент от суммы");*inshprice - сумма страховки (не учитывается при доп. услугах, есть системная услуга "процент от объявленной стоимости");*distance - расстояние до места доставки, обычно поле заполняется при доставке в область (регион в едино районировании). Дополнительная наценка к стоимости доставки;*forward - направление доставки: true - туда; false - обратно;*Collection - признак заборной корреспонденции: true - забор, false - доставка (В тарифе есть возможность указать стоимость для забора);*TownFrom - код города отправителя;*TownTo - код города получателя. В тарифе есть возможность указать формулу, которая может влиять на базовый расчет. Формула может объявить служебные переменные, которые:*$FormulaReplace - если true – возвращаемое значение полностью заменяет базовый расчет;*$FormulaKoeff - коэффициент на который будет помножена базовая стоимость.Также внутри формулы объявлены следующие объекты dataset, addressrecord и переменные:*$ForceIntown - Переменная становится истиной, если междугородний расчет был отменен, т.к. адрес попал в нарисованную зону на карте.*а также: $forward, $distance, $Count, $Collection, $Wait, $FormulaKoeff, $PriceCode - описание есть выше. Для направления "туда", Функция GetBasePrice вызывается через доп. услугу "База" (при включенных доп. услугах), для направления "Обратно" всегда вызывается напрямую (т.к. доп. услуги работают только в для направления "туда").На расчет этой функции влияют следующие переменные: "Финансы" -> "Расчет стоимости по адресу", "Финансы" -> "Зона клиента по умолчанию", "Финансы" -> "Подсчет кол-ва отправлений за месяц". '''CalcAddressPrice(AddressCode, [,ZakazCount])''' - полностью пересчитывает стоимость доставки корреспонденции по тарифу клиента. AddressCode - внутренний код адреса, ZakazCount - не обязательный параметр, кол-во заказов от клиента. '''GetStationCode(s [,town])''' – возвращает код станции метро, ассоциированный в системе с адресом s. В случае невозможности идентифицировать станцию метро – возвращает 0. Когда включено районирование по карте, необходим второй параметр "town" - код города в котором нужно искать адрес. Возвращает код района если удалось его найти; код станции меж-города - если адрес удалось геокодировать, но район не нашли; код 0 - когда не удалось геокодировать адрес. '''RecalcSpecialSMA(ActCode)''' - пересчитать акт передачи денег (АПД). Также, у корреспонденций входящих в АПД будет пересчитана стоимость доставки. Для Входящего АПД сумма акта не пересчитывается. Параметр ActCode - внутренний код акта, коды можно перечислять через запятую. '''UserCode''' - Возвращает код текущего пользователя из таблицы «Пользователи» (users). '''UserName''' - Возвращает имя текущего пользователя из таблицы «Пользователи» (users). '''UserPass''' - Возвращает пароль текущего пользователя. '''UserBaseCode''' – Возвращает код текущего пользователя из таблицы «Сотрудники» (kurier). '''UserEmail''' - Возвращает e-mail текущего пользователя. '''CurrentTown''' – Возвращает код текущего города (из таблицы town). '''CurrentCity''' – Возвращает код текущего региона (из таблицы city). '''CurrentLocation''' – Возвращает код текущего филиала (из таблицы store). '''FillExcelDoc'''(Excel, Dataset, FormType, FormNumber) - Выполняет указанную печатную форму в объекте excel. Dataset объект с данными для скрипта в печатной форме, может быть null. Dataset передавать можно так db.self, тогда переданный dataset внутри печатной формы будет доступен по имени dataset. Например:
UserCode - Возвращает код текущего пользователя из таблицы «Пользователи» new(users'TExcel', 'excel'); FillExcelDoc(excel.self, null, 12, 1); excel.DoNotDestroy(true); excel.SetVisible(true); ''Покажет эксель с выполненной печатной формой''
UserName - '''ValutaSign''' – Возвращает имя текущего пользователя из таблицы «Пользователи» (users)название валюты для суммы.
UserBaseCode – Возвращает код текущего пользователя из таблицы «Сотрудники» '''SendToMeasoft(kurierxml)''' - Отправляет запрос в клиентское API Measoft. Автоматически добавляет начальный "<?xml version="1.0" encoding="utf-8"?>".
UserEmail '''InsertFirmAtt(excel, sheet, firmcode)''' - Возвращает e-mail текущего пользователяВставляем на лист эксель по коду фирмы: печать, подпись, подпись бухгалтера, логотип. Тэги <STAMP>, <DIR>, <BUH>, <LOGO> соответственно. После тега можно указать размеры изображения в символах Microsoft Excel.Формат записи: <STAMP> 16, 16
CurrentTown – Возвращает код текущего города '''PreCalcSalary(из таблицы townkurier, addressCodes)''' - Рассчитывает предварительную зарплату. Kurier - код курьера, используется для определения тарифа. addressCodes - коды адресов, через запятую для которых необходимо посчитать зарплату. Результаты расчета будут записаны в таблицу kurierpaydetail, так как расчет предварительный то записи не будут прикреплены к конкретному начислению.
CurrentCity – Возвращает код текущего региона 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 (из таблицы city...).
CurrentLocation – Возвращает код текущего филиала '''CalcSalary(из таблицы storeDateTo, [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 ==
Функции:
IniParam(s[,section='common']) – Существует только если имя экземпляра объекта пустое. Возвращает значение параметра s ini-файла секции «common», изменить секцию можно не обязательным параметром section. В случае отсутствия параметра в файле возвращает пустую строку.
Param(s) – Синоним IniParam с тем отличием, что существует только если имя объекта непустое.
SetText(s) - Загружает ini файл из строки s. Если в файле нет секции «common», то принудительно объявляет ее в начале.
== Объект TSMS ==
Функции:
 
SetProxy(Server, Port, User, Pass) - Устанавливает настройки прокси-сервера.
Connect(Provider, Host, User, Pass, SenderName, SMSPrefix) – Подключает объект к провайдеру provider, используя адрес Host, имя пользователя User и пароль Pass. Значение SMSPrefix предназначено для того, чтобы провайдер мог различить сообщения от разных филиалов, если этими филиалами используется одно подключение. Если необходимости разделять сообщения нет - значение SMSPrefix можно не указывать.
Для провайдера доступны значения 'zanzaramirsms', 'sms16', 'mirsmswebsms', 'websmsepochta', 'epochtazanzara', 'SMSManager', 'f1sms', 'BitCall', 'mirsmsGET', 'AMD' и другие, либо можно указать числовые значения номера протокола, от 1 до 6 <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 запрос и ответ от сервера смс.
== Объект TXML ==
Reset – Делает текущим корневой элемент, возвращает его значение.
 
== Объект TJSON ==
 
Предназачен для парсинга JSON-данных.
 
Функции:
 
SetText(S) – Задает текст JSON документа для парсинга, делает текущим корневой элемент.
 
NodeValue – Возвращает значение текущего элемента.
 
NodeName – Возвращает имя текущего элемента.
 
OpenChild(V) – Ищет дочерний элемент и делает его текущим. Если V – число – ищет по номеру, если V – текст – ищет по названию (регистрозависимый поиск). Возвращает значение найденного элемента, или пустую строку, если элемент не найден. Нумерация элементов начинается с нуля.
 
ChildrenCount – Возвращает количество дочерних элементов.
 
ChildNodeValue(V) – Ищет дочерний элемент и возвращает его значение. Если V – число – ищет по номеру, если V – текст – ищет по названию (регистрозависимый поиск). Можно проверять наличие элементов, если элемента нет, вернется пустая строка.
 
OpenParent – Делает текущим родительский элемент. Возвращает значение найденного элемента.
 
Reset – Делает текущим корневой элемент, возвращает его значение.
 
isArray - Возвращает true, если текущий элемент является массивом (доступ к дочерним элементам возможен только по индексу, нумерация элементов начинается с нуля)
 
==Объект TZip==
Предназначен для работы с Zip архивом.
 
SetZip(s) - Загружает архив в объект из строки s;
 
GetZip - Возвращает архив в виде строки;
 
AddFromFile(SrcPath, ZipPath) - Добавляет файл SrcPath в архив и располагает его по пути ZipPath. ZipPath содержит имя файла в архиве, при необходимости можно указать каталог;
 
AddFromStr(Data, /*ZipPath*/) - '''параметр ZipPath временно не работает'''. Добавляет файл из строки Data в архив и располагает его по пути ZipPath. -ZipPath содержит имя файла в архиве, при необходимости можно указать каталог;
 
LoadFromFile(path) - Загружает архив из файла path;
 
SaveToFile(path) - Сохраняет архив в файл path;
 
Count - Возвращает кол-во файлов в архиве;
 
DataByIndex(index) - Возвращает распакованный файл в виде строки. Index - номер файла в архиве;
 
DataByName(ZipPath) - Возвращает распакованный файл в виде строки. ZipPath - путь к файлу в архиве, может содержать каталоги;
 
FileName(index) - По номеру файла, функция возвращает полный путь файла в архиве.
==Объект TBase==
'''Функции общего назначения''':
execsimplescript'''ExecSimpleScript(Caption, Text) ''' - Выполняет скрипт "Дополнительных возможностей". Возвращаемые значения, введенные пользователем устанавливает в переменные $scriptvar1..$scriptvarN, Значения кодов списочных переменных - в переменных $scriptvar1codes..$scriptvarNcodes. Функция возвращает истину, если пользователь нажал "OK" в диалоговом окне.
FillExcelDoc'''FillAdvPriceReport(Excel, DatasetAddressCodes, FormTypeStartLine, FormNumberStartCol, [ShowSumPrice,InsertColumns,ShowAll]) ''' - Выполняет указанную печатную форму добавляет отчёт по дополнительным услугам. В AddressCodes - указаны коды адресов через запятую, каждый код это отдельная строка отчета. Адреса будут показаны в объекте excelпорядке перечисления их в AddressCodes. Если в отчет нужно добавить пустую строку, то можно указать код адреса -1000. StartLine, StartCol - верхний левый угол выгружаемой таблицы. Dataset объект ShowSumPrice - добавить столбец итоговый столбец с данными для скрипта в печатной формесуммой всех услуг, по умолчанию выключено. InsertColumns - раздвинуть таблицу перед вставкой отчета, позволяет встраивать отчет посередине выгрузки, по умолчанию выключено. ShowAll - показать все дополнительные услуги, может быть nullпо умолчанию false и показывает только услуги с начислениями. Функция возвращает количество использованных столбцов. Например:
new'''PrintSticker(Codes, [ToBoxes=False])''TExcel',  ''excel'GetItemByName(Name);''' FillExcelDoc'''GetA4Printer''' - возвращает имя принтера выбранного для печати документов '''GetStickerPrinter''' - возвращает имя принтера выбранного для печати стикеров '''GetDuplexPrinter''' - возвращает имя принтера выбранного для двусторонней печати, если принтер не выбран, возвращает пустую строку '''PrintAttachPDFPage(excel.selfCode, nullFileName, 12Page, 1Printer); excel''' - печатает страницу из вложенного файла PDF.DoNotDestroyCode - код вложения (trueattachment);, Page - номер страницы, Printer - 0 = принтер A4, 1 = принтер этикеток.   excel.SetVisible'''AttachPDFToText(trueCode, [TextFileName]); ''Покажет эксель с выполненной печатной формой''- преобразует файл PDF из вложений в текст. Code - код вложения (attachment), TextFileName - имя текстового файла, в который записывается результат (если не указан, используется временный файл). Возвращает текст в виде строки.
PrintSticker'''GetActiveForm''' - возвращает код активной формы в программе, где происходит сканирование. '''Список интерфейсов''': 0 - неопределенный; 1 - прием корреспонденции на склад; 2 - АПД; 3 - комплектация адресов (CodesShelfingForm); 4 - доска приема; 9 - вкладка «Манифесты»; 10 - Инвентаризация корреспонденции; 11 - АПК; 12 - вкладка «Адреса»; 13 - вкладка «Выдача»; 14 - вкладка «Склад».
GetItemByName'''RuleName(Namealias)''' - Выдает полный путь в дерева прав по псевдониму права.
GetKurierByStation'''CheckRule(stationalias)''' - функция проверки разрешения у текущего пользователя системы, Massalias - псевдоним права. Возвращает 1, если право есть и 0, если права нет. Пример: if(CheckRule('RSE'), CashShowMessage('У пользователя есть право изменять счета'), Date_PutnShowMessage('У пользователя нет права изменять счета'));
'''Функции, работающие только в импорте БД из эксель:'''
ReplaceAddress
GetItemByCode- Поиск товара по артикулу. Внимание: в пределах одного клиента может быть несколько товаров с одинаковыми артикулами. В этом случае функция найдет последний заведенный товар.
GetPrice
GetNewNumber- используется при импорте реестра, возвращает номер конверта в загружаемом заказе GetNewPos - используется при импорте реестра, возвращает порядковый номер вложения GetNewPackagePos- используется при импорте реестра, возвращает порядковый номер места  Zakaz - возвращает номер заказа куда происходит импорт реестра addresscode - используется при импорте реестра, код созданного адреса Source - код заказчика ClientTown - Узнаем город клиента, через филиал с которым он работает. Сам клиент берется из заказа указанного в окне "Импорт БД из Excel". == Объект TFieldObject ==Объект для доступа к записям, используется в картах и доп.услугах. _GETTABLEINFO - возвращает данные о полях и примеры данных объекта. == Объект TMessage ==Объект используется для скриптовой обработки письма в [https://wiki.courierexe.ru/index.php/%D0%9D%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0_%D0%BC%D0%BE%D0%B4%D1%83%D0%BB%D1%8F_%D0%B0%D0%B2%D1%82%D0%BE%D0%BC%D0%B0%D1%82%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D0%B8#.D0.98.D0.BC.D0.BF.D0.BE.D1.80.D1.82_.D0.B4.D0.B0.D0.BD.D0.BD.D1.8B.D1.85| заданиях импорта данных]. В себе содержит текст письма в очищенном формате и оригинальном формате HTML, отправитель письма, тему письма, дата получения и список прикрепленных файлов. '''Message.Text''' - возвращает очищенный от HTML-тегов текст письма.
GetNewPos'''Message.HTMLText''' - возвращает оригинальный текст письма со всеми HTML-тегами.
Zakaz'''Message.Sender''' - возвращает email-адрес отправителя письма.
addresscode'''Message.AttachmentsCount''' - возвращает количество вложенных файлов.
Source'''Message.DateTime''' - возвращает дату и время получения письма. '''Message.Subject''' - возвращает тему письма. '''Message.GetAttachmentDataString(Number)''' - возвращает вложенный файл под номером Number в виде строки. '''Message.GetAttachmentName(Number)''' - возвращает имя вложенного файла под номером Number.
== Применение языка формул ==
==== Импорт БД из Excel ====
В окружении интерпретатора создается объект ZakazRecord, он является списком со значениями таблицы zakaz. Именно в этот заказ будут загружены данные. Из этого объекта также доступно :<br>
*ZakazRecord.userfields - пользовательские поля заказа;
*ZakazRecord.Clients - данные таблицы clients;
*ZakazRecord.Clients.userfields - пользовательские поля заказчика.
==== Прайс лист клиента ====
''В случае наличия подстроки "Аренда" в адресе заменяет штатное ценообразование на 1500 рублей''
Объект AddressRecord может предоставить доступ к связанным таблицам :* addressrecord.boxes* addressrecord.packages* addressrecord.clients* addressrecord.price* addressrecord.advprice* addressrecord.userfields* addressrecord.addressfld* addressrecord.clients.userfields и boxes* addressrecord.price.userfields* addressrecord.zakaz* addressrecord.zakaz. userfields Чтобы получить доступ к полю VarCode из таблицы userfields необходимо записать AddressRecord.Userfields.VarCode. В присоединённой таблице может быть несколько записей чтобы получить к ним доступ предусмотрены функции _First, _EOF, _Next, _RecordCount, _Set.
НапримерПример:
set($value1, 0); set($value2, 0);
while(AddressRecord.userfields._EOF=0,
int($value1) + int($value2)
Пример делающий тоже самое что и выше но через поиск Locate: set($value1, if(addressrecord.userfields.VarValue('VarCode', 1)='Праздничная упаковка', 150, 0)); set($value2, int(addressrecord.userfields.VarValue('VarCode', 2))); $value1 + $value2  В скрипте доступна доступны переменные: «$FormulaKoeff» - это коэффициент на который умножится конечная цена (по умолчанию равна 1);«$PriceCode» - код прайса;«$CurrentPriceConf» - код услуги;«$BasePrice» - стоимость всех услуг с уровнем (pricelevel) меньше текущего. Для вызова функции CalcBasePrice (Расчёт базовой цены) в скрипте объявленны переменные: $Count,$Collection,$Distance,$Wait. Существует поиск по ключевому полю (поиск регистронезависимый), например чтобы найти в таблице advprice введённое значение для текущей услуги, нужно сделать такую запись addressrecord.advprice.value('priceconf', $CurrentPriceConf) - Первый параметр это ключевое поле, второй искомое значение. Если запись найдётся будет возвращено значение поле value, если нет функция вернёт значение 0. Пример if(addressrecord.advprice.active('priceconf', 3)='T', addressrecord.advprice.price, 0) ''Смотрим включена ли услуга и если да, возвращаем рассчитанную стоимость Чтобы изменить значение записанное в объект addressrecord, нужно воспользоваться методом _set(keyfield, keyvalue, filed, value). Параметр keyfield - ключевое поле, keyvalue - искомое значение, filed - имя столбца, value - новое значение столбца. Сначала происходит поиск строки по ключу, далее меняется значение указанного столбца.Пример, отключение услуги база: addressrecord.advprice._Set('priceconf', 1, 'active', 'F') priceconf - поле где записан код услуги; 1 - услуга База; active - поле показывающее включение услуги. Также существует упрощенный метод _set, с двумя параметрами filed, value - он используется в шаблонах загрузки или в системных доп. возможностях где доступен объект addressrecord.
==== Зарплата курьеров ====
Формула возвращает сумму в основной валюте для каждой единицы корреспонденции, которая добавляется к штатному ценообразованию. Если формула установила в значение «Истина» переменную «$FormulaReplace», то значение, возвращаемое формулой заменяет штатное ценообразование. Переменные «$FormulaTablKoeff» и «$FormulaMoneyKoeff» позволяют установить повышающий или понижающий коэффициент на стоимость доставки (по тарифной сетке) и услуги соответственно (процент от суммы, процент от стоимости доставки, ожидание). Переменная «$UsingZoneName» и «$KurierZone» содержат название и код зоны соответственно, есть возможность поменять название зоны для отчета.
=== Планировщик ===
Все объекты создаются с пустыми именами.
Для записи в лог планировщика нужно использовать функцию Print 
=== Репликатор ===
==История изменений==
 
=== Недавние изменения ===
 
{|
||'''Добавлено:'''
|В объект TExcel добавлен метод ColumnDelete.
|-
||'''Добавлено:'''
|В объект TBaseUtils добавлена функция InsertFirmAtt.
|-
||'''Добавлено:'''
||В объект TExcel добавлен метод Align.
|-
||'''Добавлено:'''
|Функция CheckEan
|-
||'''Добавлено:'''
|В объект функцию FillAdvPriceReport добавлены параметры ShowSumPrice,InsertColumns
|-
||'''Добавлено:'''
|В объект TSMS добавлен метод Log.
|-
||'''Добавлено:'''
|Добавлена функция Money.
|-
||'''Добавлено:'''
|В объект TBaseUtils добавлена функция ValutaSign.
|-
||'''Добавлено:'''
|В объект TBaseUtils добавлена функция GetPolygonByLatLon.
|-
||'''Добавлено:'''
|В объект TTable добавлена функция SetMultiHeader, SetCustomHeader.
|-
||'''Добавлено:'''
|Функция DownloadAttachment
|-
||'''Добавлено:'''
|В функцию SetRowHeight объекта TExcel добавлен параметр cnt.
|-
||'''Добавлено:'''
|В объект TPicture добавлена функция AsString.
|-
||'''Добавлено:'''
|В объект TPicture добавлена функция SetSize.
|-
||'''Добавлено:'''
|В объект TADO добавлена функция ParseForIn.
|-
||'''Изменено:'''
|В объект TBaseUtils из TBase перенесена функция FillExcelDoc.
|-
||'''Добавлено:'''
|В объект TBaseUtils функция CalcAddressPrice
|-
||'''Изменено:'''
|Все функции класса TBaseSupport перенесены в TBaseUtils. Класс TBaseSupport больше не существует.
|-
||'''Добавлено:'''
|В функции RowInsert и RowDelete объекта TExcel добавлен параметр count.
|-
||'''Добавлено:'''
|В объект TBaseUtils функция SendToMeaSoft
|-
||'''Добавлено:'''
|В объект TBaseUtils функция RecalcSpecialSMA
|-
||'''Добавлено:'''
|Новая функция Reverse
|}
 
=== Версия 849 &nbsp; 22.02.2018 ===
{|
||'''Добавлено:'''
|В функцию TBaseUtils.TownByIndex добавлен параметр PriorityName
|-
||'''Добавлено:'''
|В объекте TBase добавлена функция GetNewPackagePos
|-
||'''Добавлено:'''
|В объекте TSMS доработан метод ExtraResult, добавлен параметр ParamName
|-
||'''Добавлено:'''
|В объект TBase добавлена функция CalcAgentPrice
|-
||'''Добавлено:'''
|В объект TBaseUtils добавлена функция CreateAddressForActDelivery
|-
||'''Изменено:'''
|Функция CalcTownDeliveryDate заменена на CalcDeliveryDate
|-
||'''Добавлено:'''
|В объект TBaseUtils добавлена функция CreateSpecialSMA
|-
||'''Добавлено:'''
|Функция SignatureUrl
|-
||'''Добавлено:'''
|В объект TPicture добавлена функция LoadFromStr.
|-
||'''Добавлено:'''
|В объект TCanvas добавлена функция SetPen.
|-
||'''Добавлено:'''
|В объект TCanvas добавлена функция SetBrush.
|-
||'''Добавлено:'''
|В объект TPicture добавлена поддержка чтения в формате PNG.
|-
||'''Добавлено:'''
|В функцию TCanvas.DrawPic параметр Mode
|-
||'''Добавлено:'''
|Свойство TPicture.Canvas
|-
||'''Добавлено:'''
|Функция DeleteFile
|}
 
=== Версия 758 &nbsp; 29.03.2017 ===
{|
||'''Добавлено:'''
|Функция GetPolygonByAddress
|-
||'''Добавлено:'''
|Функция ParamsCount
|-
||'''Добавлено:'''
|Объект TZip
|-
||'''Изменено:'''
|Функции CreateEAN и Create128 заменены одной функцией CreateBar, полностью совместимой с Create128, но добавлена поддержка EAN-13 и Interleaved 2-5 (для Почты России). В системе функции оставлены для обратной совместимости, но более не являются документированными и рекомендованными к использованию.
|-
||'''Добавлено:'''
|Параметр text в функцию Cell объекта TExcel
|-
||'''Добавлено:'''
|Функция UrlEncode
|-
||'''Добавлено:'''
|Функция IncDay теперь может принимать параметр count
|-
||'''Добавлено:'''
|Функции FtpGet, FtpPut, TTable.SetCell()
|}
 
=== Версия 452 &nbsp; 26.02.2014 ===
 
{|
||'''Добавлено:'''
|Функция Time
|-
||'''Добавлено:'''
|Функция FixedIntToStr
|'''Добавлено:'''
|В пользовательские отчеты добавлен тип "FILESTR"
|-
|'''Добавлено:'''
|Расширены возможности объекта addressrecord в формулах тарифов
|}
370
правок

Навигация