56
правок
Изменения
→Объект TBaseUtils
Len(s) – возвращает количество символов в строке s.
Pos(s, substr[,start]) – возвращает номер первого символа первого включения подстроки substr в строку s, возвращает 0, если включения подстроки отсутствуют. Параметр start - это позиция старта поиска, не обязательный параметр, по умолчанию равен 1. Поиск не чувствителен к регистру.
Param(s, i) – возвращает i-й элемент строки s, разделенной запятыми на элементы.
ParamsCount(s) - возвращает количество элементов строки s, разделенной запятыми на элементы.
SetParam(s, p, i) – заменяет на значение p i-й элемент строки s, разделенной запятыми на элементы.
Left(s, i [,full] ) – возвращает i первых символов строки s. Параметр i, может быть строкой, тогда он считается разделителем и функция, возвращает строку слева от разделителя. Параметр full разрешает функции вернуть всю строку s, если по параметру i ничего не нашли, параметр не обязательный, по умолчанию выключен.
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, возвращает в виде строки. При ошибке чтения вызывает ошибку.
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 параметр - добавляет в заголовок SOAPActionназвание заголовка, 2 параметр - Authorizationзначение. Если значение содержит запятую то его нужно экранировать в двойные кавычки. Reconnects - Количество попыток подключения (по-умолчанию - 2), если больше 100 - это таймаут единственной попытки подключения в милисекундахмиллисекундах.
Функция возвращает ответ сервера. <br>
''Обратите внимание:'' Для имитации отправки данных html-формы методом POST может понадобиться перед передаваемыми параметрами добавить "Data=".
Interpretate(script) - Интерпретирует скрипт указанный в script. Выполнение происходит в текущем инстансе.
LastHttpError - Выводит последний запрос выполненный с ошибкой в функции HttpPost. Содержит подробную информацию по запросу и ответу.
LastHttpResponse - Выводит последний запрос и ответ от сервера после выполнения Http-запроса в функции HttpPost.
== Объект TExcel ==
'''''Ввод данных'''''
LoadFromDB(DB[, Headered=true][, Col=1][, Row=1][, TranslateHeader=False]) – Загружает таблицу из набора данных, открытого в объекте DB типа TADO. Если Headered истинно (по-умолчанию), таблица загружается вместе с заголовками. Если название поля содержит подстроку «_RecNo» - данная подстрока не попадет в заголовок, а все значения поля будут заменены на порядковый номер записи в наборе данных, начиная с «1». В одной таблице допускается не более одного поля с порядковой нумерацией. Поля, названия которых начинаются в символа "-" не выгружаются. Если TranslateHeader истинно, то заголовки таблицы будут автоматически переведены.
MyDB.Open('select * from kurier');
xl.SetVisible(true);
Post2Sheet(DB[, Headered=true][, Col=1][, Row=1][, TranslateHeader=False]) - Почти полный аналог LoadFromDB. В отличии от LoadFromDB если есть открытый файл, выгрузка данных будет выполнена прямо в него.
OpenFile(aFileName) – Выполняет функции SetFileName и Open.
Функции:
{|class="wikitable"
!Функция
!Описание
|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')
,
''
));
|}
Штрихкод должен быть: Для 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 в случае успеха, или текст ошибки, если такая произошла.
'''SavePrintFormToFile(FormType, FormNumber)''' - Сохраняет на диске файл печатной формы и возвращает путь к нему
'''CreateTrans(Address[, Store][, Operator][,Correction])''' - Формирует запись для печати кассового чека для корреспонденции с кодом Address, для выбора кассового аппарата используется код склада Store. Если Store не указано - при исполнении в среде клиентского модуля системы использует склад, указанный пользователем в окне [[Настройка параметров рабочего места|"Настройка" - "Параметры"]], в остальных модулях - код текущего склада из [[Настройка глобальных параметров|переменной]] "CL" ("Текущий филиал"). Поле Operator позволяет указать кассира (передается код справочника сотрудников). Если не указан, в основной системе будет использован код авторизованного пользователя, в других модулях - 1.Поле Correction позволяет указать данные для корректировочного чека, используется в системе Штрих-М. По умолчанию пустая строка. Возвращает идентификаторы записей чеков. Может вернуть пустую строку, если чек создавать не понадобилось, один или несколько кодов через запятую, если создано несколько чеков. В случае ошибки вызывает ошибку, поэтому рекомендуется использовать с функцией Try.
'''CreateReturnTrans(Address)''' - формирует запись для печати чека возврата для корреспонденции с кодом Address. Чек возврата печатается на полную сумму и с теми же атрибутами, что и чек продажи. Возвращает идентификатор записи чека возврата. В случае ошибки вызывает ошибку, поэтому, как и с CreateTrans, рекомендуется использовать с функцией Try.
'''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 [, date_put=CurrDate(), skipajust=false])''' - функция расчета количество доставленных корреспонденций у клиента с кодом client_code за предыдущий месяц от даты date (Или за текущий месяц, подробнее смотри переменную UseCurrentMonthCount) среди внутригородских (is_intown = true) либо междугородних (is_intown = false) корреспонденций, date_put - дата доставки (для альтернативного способа подсчета, включаемого переменной UseDatePutForCalcCnt), skipajust - не учитывать принудительно введенные количества (таблица priceclientadjust типы записей 0 и 1).
'''GetBasePrice''' - возвращает базовую стоимость доставки посчитанную по тарифной сетке клиента в зависимости от :кол-ва заказов,зоны,типа,срочности,массы, расстояния. В системах с выключенными доп. услугами также считает проценты от суммы и страховки.
'''VoiceReadStr(str)''' – Озвучивает фразу str голосовым уведомлением доступными словами из базы. Может содержать тег "{break_off}" для того, чтобы сделать эту фразу не пропускаемой в очереди воспроизведения.
'''CalcStorageCost(ClientCodes, DateFrom, DateTo, NeedReport[, Store])''' – рассчитывает стоимость хранения на складе для выбранных клиентов (ClientCodes - коды клиентов через запятую), в период дат с DateFrom до DateTo, с прикреплением к корреспонденции отчета в зависимости от выставленного параметра NeedReport. Может содержать параметр Store - код филиала, по умолчанию пустой (расчет выполняется для всех филиалов). Возвращает коды созданных корреспонденций через запятую.
== Объект TINIFile ==
==Объект TBase==
'''Функции общего назначения''':
'''FillAdvPriceReport(Excel, AddressCodes, StartLine, StartCol, [ShowSumPrice,InsertColumns,ShowAll]) ''' - добавляет отчёт по дополнительным услугам. В AddressCodes - указаны коды адресов через запятую, каждый код это отдельная строка отчета. Адреса будут показаны в порядке перечисления их в AddressCodes. Если в отчет нужно добавить пустую строку, то можно указать код адреса -1000. StartLine, StartCol - верхний левый угол выгружаемой таблицы. ShowSumPrice - добавить столбец итоговый столбец с суммой всех услуг, по умолчанию выключено. InsertColumns - раздвинуть таблицу перед вставкой отчета, позволяет встраивать отчет посередине выгрузки, по умолчанию выключено. ShowAll - показать все дополнительные услуги, по умолчанию false и показывает только услуги с начислениями. Функция возвращает количество использованных столбцов.
'''PrintSticker(Codes, [ToBoxes=False])'''
'''GetItemByName(Name)'''
'''GetA4Printer ''' - возвращает имя принтера выбранного для печати документов
'''GetStickerPrinter ''' - возвращает имя принтера выбранного для печати стикеров
'''GetDuplexPrinter ''' - возвращает имя принтера выбранного для двусторонней печати, если принтер не выбран, возвращиет возвращает пустую строку
'''PrintAttachPDFPage(Code, FileName, Page, Printer) ''' - печатает страницу из вложенного файла PDF. Code - код вложения (attachment), Page - номер страницы, Printer - 0 = принтер A4, 1 = принтер этикеток.
'''AttachPDFToText(Code, [TextFileName]) ''' - преобразует файл PDF из вложений в текст. Code - код вложения (attachment), TextFileName - имя текстового файла, в который записывается результат (если не указан, используется временный файл). Возвращает текст в виде строки.
'''GetActiveForm''' - возвращает код активной формы в программе, где происходит сканирование.
'''Список интерфейсов''':
0 - неопределенный;
1 - прием корреспонденции на склад;
2 - АПД;
3 - комплектация адресов (ShelfingForm);
4 - доска приема;
9 - вкладка «Манифесты»;
10 - Инвентаризация корреспонденции;
11 - АПК;
12 - вкладка «Адреса»;
13 - вкладка «Выдача»;
14 - вкладка «Склад».
'''RuleName(alias)''' - Выдает полный путь в дерева прав по псевдониму права.
'''CheckRule(alias)''' - функция проверки разрешения у текущего пользователя системы, alias - псевдоним права. Возвращает 1, если право есть и 0, если права нет.
Пример: if(CheckRule('RSE'), ShowMessage('У пользователя есть право изменять счета'), ShowMessage('У пользователя нет права изменять счета'));
'''Функции, работающие только в импорте БД из эксель:'''
Source - код заказчика
== Объект 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-тегов текст письма.
'''Message.HTMLText''' - возвращает оригинальный текст письма со всеми HTML-тегами.
'''Message.Sender''' - возвращает email-адрес отправителя письма.
'''Message.AttachmentsCount''' - возвращает количество вложенных файлов.
'''Message.DateTime''' - возвращает дату и время получения письма.
'''Message.Subject''' - возвращает тему письма.
'''Message.GetAttachmentDataString(Number)''' - возвращает вложенный файл под номером Number в виде строки.
'''Message.GetAttachmentName(Number)''' - возвращает имя вложенного файла под номером Number.
== Применение языка формул ==