102
правки
Изменения
→Математические функции
== Основные положения ==
В систему «Курьерская служба 2008» «MEASOFT» встроен внутренний интерпретируемый язык программирования. Среда состоит из базовой функциональности, и дополнительно создаваемых объектов. Некоторые объекты автоматически создаются средой перед запуском интерпретатора для предоставления доступа к контексту, в котором работает скрипт. Все типы данных приводятся друг к другу автоматически, иногда при необходимости можно использовать функции приведения типов.
Как интерпретатор приводит типы:
Money(f, CouldBeEmpty, ZeroFill, MakeSpace) - Округляет число f, до двух знаков после запятой. CouldBeEmpty - заменить число меньше 0,0001 на пустую строку. ZeroFill - Следить чтобы после запятой было два знака, если будет один, то добавить ноль. MakeSpace - Разделить разряды пробелом.
''Подсказка: для простого округления используется функция int()''
=== Константы ===
RecordCount – Возвращает количество строк в листе.
RowAutoFit ([y1, y2]) - Устанавливает автоматическую высоту строк. Аргументы y1 и y2 необязательны и если не указаны, то процедура будет выполнена для всей страницы, в ином случае только для строк от y1 до y2.
SetRowHeight(r, h[, cnt]) – Устанавливает высоту cnt строк (по-умолчанию 1) начиная со строки r в h пикселей.
SetFont(Font[, x1, y1[, x2, y2]]) - Устанавливает шрифт Font для ячеек диапазона. Можно указать координаты только одной ячейки, можно - вообще не указать, тогда будет использован последний выделенный диапазон. Шрифт задается как обычно: 'Arial, 16, T, T, T', порядок параметров: Имя шрифта, размер, жирное начертание, курсивное начертание, одиночное подчеркивание. Если параметры не заданы, то у текущего шрифта они меняться не будут. Примеры: SetFont('Arial, 10, T, F, F', 1,1) - в ячейке A1 будет установлен шрифт Arial жирным начертанием (не курсив и без подчеркивания). SetFont(', , , T, F', 2,1) - в ячейке B1 будет поменяется только начертание курсив и будет отменено подчеркивание (если оно было).
SaveValuesOnly - убирает формулы на текущей странице и оставляет лишь их результативные статичные значения.
TextWidth(s) – Возвращает ширину текста s в пикселях без учета многострочности, с учетом текущего шрифта.
Использование шрифта (Font): У объекта TCanvas есть «глобальные» установки шрифта. Однако для некоторых функций возможно указание шрифта, отличающегося от глобального. Параметры шрифта – это текстовая строка, состоящая из 6-ти параметров, разделенных запятыми: Название, размер, жирный, курсив, подчеркнутый, цвет. Например:
== Объект TBaseUtils ==
Предоставляет функции, базирующиеся на БД системы «Курьерская служба 2008»«MEASOFT». По-умолчанию, при создании подключается к основной базе данных модуля, в котором выполняется скрипт, если такая определена контекстом, однако это можно изменить, см SetConnection.
Функции:
'''VoiceReadStr(str)''' – Озвучивает фразу str голосовым уведомлением доступными словами из базы. Может содержать тег "{break_off}" для того, чтобы сделать эту фразу не пропускаемой в очереди воспроизведения.
'''CalcStorageCost(ClientCodes, DateFrom, DateTo, NeedReport[, Store])''' – рассчитывает стоимость хранения на складе для выбранных клиентов (ClientCodes - коды клиентов через запятую), в период дат с DateFrom до DateTo, с прикреплением к корреспонденции отчета в зависимости от выставленного параметра NeedReport. Может содержать параметр Store - код филиала, по умолчанию пустой (расчет выполняется для всех филиалов). Возвращает коды созданных корреспонденций через запятую.
'''WriteOut(DocId, ItemId, Date, Cnt[, BC])''' – производит списание товара со склада. DocId - код (docs.code) документа списания, ItemId - код товара (item.code), Date - дата операции, Cnt - количество списываемого товара, BC- штрих-код товара, для товара с учетом серийных номеров нужно обязательно указывать серийный номер. Если указан BC, то параметр ItemId игнорируется и поиск номенклатуры происходит исключительно по штрих-коду. В случае успеха, функция возвращает строку вида: код номенклатуры, списанное кол-во
== Объект TINIFile ==
'''AttachPDFToText(Code, [TextFileName])''' - преобразует файл PDF из вложений в текст. Code - код вложения (attachment), TextFileName - имя текстового файла, в который записывается результат (если не указан, используется временный файл). Возвращает текст в виде строки.
'''GetActiveForm([SkipFormName])''' - возвращает код активной формы в программе, где происходит сканирование. SkipFormName - не обязательны параметр, имя формы которую нужно пропустить при определении интерфейса.
'''Список интерфейсов''':
0 - неопределенный;
12 - вкладка «Адреса»;
13 - вкладка «Выдача»;
14 - вкладка «Склад»; 15 - Список номенклатуры; 16 - Инвентаризация склада; 17 - Приходная накладная; 18 - Списание товара; 19 - Карточка корреспонденции. '''AddAddressScanLog(Code[, StrBarCode, IsManual, FromInterface, ExtraInfo])''' - добавляет событие сканирование для корреспонденции с кодом Code. Необязательные параметры: StrBarCode - сканируемый ШК корреспонденции (по умолчанию пустой), IsManual - галка ручного сканирования (по умолчанию false), FromInterface - код интерфейса сканирования (StateType=81, по умолчанию 0 - неопределенный), ExtraInfo - текстовый комментарий события.
'''RuleName(alias)''' - Выдает полный путь в дерева прав по псевдониму права.
'''ShowScanError(msg [, Speek])''' - выдает пользователю окно с текстом msg блокируя последующие действия сканирования. Если Speek - истинно, то сообщение проговаривается голосовым движком, по умолчанию выключено.
'''CheckRule(alias)''' - функция проверки разрешения у текущего пользователя системы, alias - псевдоним права. Возвращает 1, если право есть и 0, если права нет.
== Объект 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-тегов текст письма.
== Применение языка формул ==
'''в различных контекстах системы «Курьерская служба 2008» «MEASOFT» и сопутствующих проектах'''
=== Курьерская служба 2008 MEASOFT ===