Изменения

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

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

5306 байт добавлено, 16 январь
Объект TBase
);
</source>
 
'''AttachDebugger''' - Команда позволяет подключить открытый [[Отладчик_встроенных_скриптов]] к текущему скрипту. Команда AttachDebugger должна быть '''первой командой''' в скрипте. Добавьте её в самое начало скрипта:
 
<source lang="json">
<?>
AttachDebugger;
set($a, 10);
set($b, 20);
set($sum, $a + $b);
showmessage($sum);
</source>
 
'''Как работает:'''
# При выполнении команды AttachDebugger скрипт останавливается.
# Отладчик автоматически подключается к выполняющемуся скрипту.
# Текст скрипта загружается в редактор отладчика.
# Можно ставить точки останова, просматривать переменные и продолжать отладку.
 
'''Важно:'''
* Отладчик должен быть в режиме отслеживания до того, как скрипт дойдёт до команды AttachDebugger.
* Если режим отслеживания не включён, команда `AttachDebugger` игнорируется.
* В режиме отслеживания может работать только один отладчик.
* Команда AttachDebugger должна быть первой командой в скрипте.
=== Строковые функции ===
'''GetItemByName(Name)'''
'''GetA4Printer([GetPrinterPort=False])''' - возвращает имя принтера выбранного для печати документов. GetPrinterPort - попытаться по имени принтера найти порт принтера.  '''GetStickerPrinter([GetPrinterPort=False])''' - возвращает имя принтера выбранного для печати стикеров. GetPrinterPort - попытаться по имени принтера найти порт принтера.
'''GetStickerPrinterGetDuplexPrinter([GetPrinterPort=False])''' - возвращает имя принтера выбранного для двусторонней печати стикеров, если принтер не выбран, возвращает пустую строку.
'''GetDuplexPrinterPrintAttachPDFPage(Code, FileName, Page, Printer)''' - возвращает имя принтера выбранного для двусторонней печатипечатает страницу из вложенного файла PDF. Code - код вложения (attachment) или путь к файлу, Page - номер страницы, если Printer - 0 = принтер не выбранA4, возвращает пустую строку1 = принтер этикеток.
'''PrintAttachPDFPageAttachPDFToText(Code, FileName, Page, Printer[TextFileName])''' - печатает страницу преобразует файл PDF из вложенного файла PDFвложений в текст. Code - код вложения (attachment)или путь к файлу, Page TextFileName - номер страницыимя текстового файла, Printer - 0 = принтер A4в который записывается результат (если не указан, 1 = принтер этикетокиспользуется временный файл). Возвращает текст в виде строки.
'''AttachPDFToTextGhostScript(GScript, Code, [TextFileName])''' - преобразует файл PDF из вложений в текст— функция для выполнения консольных команд утилиты [https://ghostscript.readthedocs.io/en/latest/Use.html ghostscript]. Где, GScript — строка с командами Ghostscript; Code - код вложения (attachment)или путь к PDF-файлу, TextFileName - имя текстового файлапредназначенному для обработки. В командах доступен специальный тег %MeasoftInFile%, в который записывается результат автоматически заменяется на путь к предварительно загруженному файлу (если не указан, используется временный файлCode). Возвращает текст Если в виде строкикоманде необходимо указать путь для сохранения результата обработки, используйте тег %MeasoftOutFile%. В этом случае функция на основании параметра Code автоматически сформирует имя временного выходного файла. После успешного выполнения команд функция возвращает путь к сгенерированному выходному файлу - %MeasoftOutFile%.
'''GetActiveForm([SkipFormName])''' - возвращает код активной формы в программе где происходит сканирование. SkipFormName - не обязательны параметр, имя формы которую нужно пропустить при определении интерфейса.
== Объект TFieldObject ==
Создается только автоматически. Объект для доступа к записям, используется в картах и доп.дополнительных услугах(addressrecord) и событиях карточки корреспонденции (fieldlist).Методы объекта:
_GETTABLEINFO '''_GetTableInfo''' - возвращает данные о полях и примеры данных объекта. '''_Self''' - возвращает ссылку на объект. '''_Set(fieldname, fieldvalue [, DoUpdateForm])''' - Если базовый объект строка. Устаналивает для поля fieldname значение fieldvalue. DoUpdateForm по уолчанию false, если указать true то обновление поля будет не только в объекте но и пользовательском интерфейсе. Обновление работает только в карточке корреспнденции для ограниченного набора полей: vlog, mode, type, date_put, time_put, message, kurier, state1. '''_Set(keyfield, keyvalue, filed, value)''' - Если базовый объект таблица (addressrecord.boxes). Работает перегруженная версия метода _set, cначала происходит поиск строки по ключу, далее меняется значение указанного столбца. keyfield - ключевое поле, keyvalue - искомое значение, filed - имя столбца, value - новое значение столбца. Пример, отключение услуги база:  addressrecord.advprice._Set('priceconf', 1, 'active', 'F') priceconf - поле где записан код услуги; 1 - услуга База; active - поле показывающее включение услуги.
== Объект TMessage ==
'''Add(Value:string)''' - добавляет значение Value в конец списка.
 
'''SetText(Value:string)''' - устанавливает значение списка в значение Value.
'''Insert(Number:integer, Value:string)''' - добавляет строку Value в позицию Number.
=== Недавние изменения ===
{|
||'''Изменено:'''
|2026.0.0.550 Доработка функций интерпретатора GetA4Printer, GetStickerPrinter, GetDuplexPrinter.
|-
||'''Изменено:'''
|2026.0.0.547 Доработка функций ATTACHPDFTOTEXT и PRINTATTACHPDFPAGE, добавлена возможность указать путь к файлу
|-
||'''Добавлено:'''
|2025.0.0.539 Добавлена поддержка отладчика AttachDebugger
|-
||'''Добавлено:'''
|2025.0.0.534 Добавлена поддержка оператора CASE и класса TFunc
538
правок

Навигация