Изменения

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

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

9464 байта добавлено, 30 сентябрь
Объект TBase
Translate(format, [param1, param2, ...]) - Функция перевода строки format в язык пользователя. Строка format может содержать параметры %s, %d - строка и число соответственно.
 
ExtractFileName(FilePath) - возвращает имя файла с расширением из полного пути к файлу FilePath.
====Функции перекодировки====
Money(f, CouldBeEmpty, ZeroFill, MakeSpace) - Округляет число f, до двух знаков после запятой. CouldBeEmpty - заменить число меньше 0,0001 на пустую строку. ZeroFill - Следить чтобы после запятой было два знака, если будет один, то добавить ноль. MakeSpace - Разделить разряды пробелом.
''Подсказка: для простого округления используется функция int()''
Abs(f) - возвращает модуль числа f.
''Подсказка: для простого округления используется функция intMod(x, y)''- возвращает остаток от деления целочисленного числа x на целочисленное число y.
=== Константы ===
RecordCount – Возвращает количество строк в листе.
RowAutoFit ([y1, y2]) - Устанавливает автоматическую высоту строк. Аргументы y1 и y2 необязательны и если не указаны, то процедура будет выполнена для всей страницы, в ином случае только для строк от y1 до y2.
SetRowHeight(r, h[, cnt]) – Устанавливает высоту cnt строк (по-умолчанию 1) начиная со строки r в h пикселей.
 
GetRowHeight(r) – Возвращает высоту строки r в пикселях.
RowInsert(i[, count]) - Вставляет count (по-умолчанию - 1) строк НАД строкой с номером i.
ColumnDelete(i[, count]) - Удаляет count (по-умолчанию - 1) столбцов начиная с номера i.
SetColWidth (c, w) – Устанавливает ширину столбца c в w символовпикселей. GetColWidth (c) – Возвращает ширину столбца c в пикселях.
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 - убирает формулы на текущей странице и оставляет лишь их результативные статичные значения.
Для направления "туда", Функция GetBasePrice вызывается через доп. услугу "База" (при включенных доп. услугах), для направления "Обратно" всегда вызывается напрямую (т.к. доп. услуги работают только в для направления "туда").
На расчет этой функции влияют следующие переменные: "Финансы" -> "Расчет стоимости по адресу", "Финансы" -> "Зона клиента по умолчанию", "Финансы" -> "Подсчет кол-ва отправлений за месяц".
 
'''CalcTownPrice''' - возвращает базовую стоимость междугородней доставки, посчитанную по тарифной сетке клиента в зависимости от :кол-ва заказов, типа, срочности, массы, расстояния.
Описание параметров:
 
*ds - ссылка на объект датасета с основными параметрами расчета цены. Значение по умолчанию доступно в формулах тарифа и доп. услуг, через вызов "dataset.self".
 
*count - количество корреспонденций от клиента. (может показывать кол-во корреспонденции в текущем заказе или за прошлый месяц, в зависимости от выбранной схемы подсчета заказов в тарифе)
*tp - тип корреспонденции;
*mode - режим доставки;
*mass - масса отправления;
*TownFrom - код города отправителя;
*TownTo - код города получателя.
'''CalcAddressPrice(AddressCode, [,ZakazCount])''' - полностью пересчитывает стоимость доставки корреспонденции по тарифу клиента. AddressCode - внутренний код адреса, ZakazCount - не обязательный параметр, кол-во заказов от клиента.
'''CurrentLocation''' – Возвращает код текущего филиала (из таблицы store).
'''FromEmailStr''' - строка, содержащая данные для отправки письма – адрес SMTP-сервера (также к имени сервера можно добавить протокол ssl:// или tls://), порт, логин, пароль и email отправителя, разделенные символом переноса строки. '''FillExcelDoc'''(Excel, Dataset, FormType, FormNumber,Print,[printer]) - Выполняет указанную печатную форму в объекте excel. Excel объект можно не указывать, тогда функция сама создаст объект экселя и разрушит его, полезно когда книгу нужно распечатать или отправить по email (на листе данных в ячейке 1,1 укажите ключевое слово email). Dataset объект с данными для скрипта в печатной форме, может быть null. Dataset передавать можно так db.self, тогда переданный dataset внутри печатной формы будет доступен по имени dataset. Print - печатает книгу на принтере, после печати объект excel разрушается, при использовании параметра не указываете объект excel. Printer - имя принтера, на котором печатать (по умолчанию пустая строка, что означает "печатать на принтере по умолчанию"). Например:
new('TExcel', 'excel');
'''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 игнорируется и поиск номенклатуры происходит исключительно по штрих-коду. В случае успеха, функция возвращает строку вида: код номенклатуры, списанное кол-во. '''IncomePurch(DocId, ItemId, Date, Cnt[, BC, Location = CurrentLocation])''' – производит приход товара на склад. DocId - код (docs.code) приходной накладной, ItemId - код товара (item.code), Date - дата операции, Cnt - количество приходуемого товара, BC- штрих-код товара, для товара с учетом серийных номеров нужно обязательно указывать серийный номер, Location - код склада (store.code). В случае успеха, функция возвращает строку вида: код номенклатуры, введенное кол-во. '''CreateLedgerDoc(Date, Client, UserCode, Type[, ExtNumber, Message])''' - создает складской документ и возвращает код этого документа. Date - дата документа. Client - код клиента. UserCode - код пользователя, создавшего документ. Type - тип документа (statetype = 13). ExtNumber - номер у поставщика для документов прихода и расхода. Message - комментарий к документу. Последние два аргумента не обязательные и могут быть пустыми.
== Объект TINIFile ==
'''PrintSticker(Codes, [ToBoxes=False])'''
 
'''PrintBlanc(Codes, BlancNumber)''' - печатать форму из раздела "Заполнить бланк". Codes - коды корреспонденций, BlancNumber - номер формы из раздела "Бланки для корреспонденции" (3)
'''GetItemByName(Name)'''
'''RuleName(alias)''' - Выдает полный путь в дерева прав по псевдониму права.
'''ShowText(Caption:string, Value:string)''' - показывает пользователю окно с заголовком Caption и с многострочным полем со значением Value. Может быть полезен при отображении логов выполненной операции.  '''ShowScanError(msg [, Speek, Color, Abort])''' - выдает пользователю окно с текстом msg блокируя последующие действия сканирования. Если Speek - истинно, то сообщение проговаривается голосовым движком, по умолчанию выключено. Color - целочисленное число цвета, в который будет окрашен фон сообщения (по умолчанию = -1, стандартный). Abort - прервать выполнение скрипта, не показывая ошибку.
'''CheckRule(alias)''' - функция проверки разрешения у текущего пользователя системы, alias - псевдоним права. Возвращает 1, если право есть и 0, если права нет.
Пример: if(CheckRule('RSE'), ShowMessage('У пользователя есть право изменять счета'), ShowMessage('У пользователя нет права изменять счета'));
 
'''GetKurierMoney(KurierCode, DateEnd, NonCash)''' - возвращает баланс курьера с кодом KurierCode на дату DateEnd. NonCash - булевый флаг, если истинно, то будет рассчитан безнальный баланс;
'''Функции, работающие только в импорте БД из эксель:'''
'''Message.GetAttachmentName(Number)''' - возвращает имя вложенного файла под номером Number.
 
== Объект TStringList ==
Может использоваться для построчной обработки многостраничных файлов либо для организации текстовых данных. Номер строк начинается с 0.
Имеет следующий функционал:
 
'''Count''' - возвращает количество строк в списке.
 
'''Add(Value:string)''' - добавляет значение Value в конец списка.
 
'''Insert(Number:integer, Value:string)''' - добавляет строку Value в позицию Number.
 
'''Delete(Number:integer)''' - удаляет строку из списка в позиции Number.
 
'''Clear''' - очищает элементы списка.
 
'''LoadFromFile(Path:string)''' - загружает текстовый файл по пути Path.
 
'''Strings(Number:integer)''' - возвращает строку с номером Number.
 
'''SetString(Number:integer, Value:string)''' - устанавливает значение строки с номером Number в значение Value.
 
'''Text''' - возвращает полный список строк в виде текста.
 
'''CommaText([Quoted:boolean])''' - возвращает список значений через запятую. Если Quoted = true, то квотирует элементы списка. По умолчанию равен false.
 
'''SetCommaText(Value: string)''' - разбивает значение Value на отдельные строки и кладет в список. Разделитель - запятые.
 
'''IndexOf(Value:string)''' - ищет значение Value среди элементов списка и если находит, то возвращает номер строки. Возвращает -1 если значение не было найдено.
 
'''Sorted(Value:boolean)''' - устанавливает флаг отсортированности списка в Value. Если Value = true, то сразу же его сортирует. По умолчанию Value = false.
 
'''Exchange(Pos1:integer, Pos2:integer)''' - меняет элементы списка с позициями Pos1 и Pos2 местами.
 
'''Duplicates(Value:integer)''' - изменяет параметр управления дубликатами в списке. Если Value = 0 (значение по умолчанию), то список не реагирует на дубликаты. Если Value = 1, то список при добавлении будет игнорировать дубликаты. Если Value = 2, то список будет выдавать исключение, при добавлении дубликата в список.
 
'''ParamName(Number:integer[, Delimiter:string])''' - возвращает текст до первого знака разделителя Delimiter (по умолчанию "=") из строки с номером Number. Если разделителя в строке нет, то возвращает пустоту.
 
'''ParamValue(Number:integer[, Delimiter:string])''' - возвращает текст после первого знака разделителя Delimiter (по умолчанию "=") из строки с номером Number. Если разделителя в строке нет, то возвращает всю строку.
== Применение языка формул ==
523
правки

Навигация