мета-данные страницы
Различия
Здесь показаны различия между двумя версиями данной страницы.
Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
special_params_in_scripts [15.10.2021 09:49] Lingri [Базовые типы переменных в скриптах] |
special_params_in_scripts [24.02.2022 06:22] (текущий) |
||
---|---|---|---|
Строка 7: | Строка 7: | ||
{{:pasted:20211015-075314.png}} | {{:pasted:20211015-075314.png}} | ||
- | Переменная scriptPercent не объявлена локально. Она попадает в скрипт "извне". После отработки скрипта стоит вывод значения этой переменной. | + | Переменная scriptPercent не объявлена локально. Она попадает в скрипт "извне". После отработки скрипта стоит вывод значения этой переменной. Она используется для отображения [[https://doc.agb.is/calc_info_script|информации о расчёте бонусов за заказ]] |
===== Техническая часть ===== | ===== Техническая часть ===== | ||
Чтобы подобное реализовать, нужно доработать модуль **ScriptFunctions.pas**: | Чтобы подобное реализовать, нужно доработать модуль **ScriptFunctions.pas**: | ||
- В тип TExtScriptResInfo добавляем нужное поле; {{:pasted:20211015-075714.png}} | - В тип TExtScriptResInfo добавляем нужное поле; {{:pasted:20211015-075714.png}} | ||
- | - В процедуре **TScriptExecutor.PSScriptCompile** регистрируем название новой переменной: //Sender.AddRegisteredPTRVariable('scriptItogSum', 'double');// | + | - В процедуре **TScriptExecutor.PSScriptCompile**, являющейся обработчиком PSSCript.OnCompile, регистрируем название новой переменной: //Sender.AddRegisteredPTRVariable('scriptItogSum', 'double');// |
- | - В процедуре **TScriptExecutor.PSScriptExecute** связываем переменную с полем записи **ExtScriptResInfo**: //PSScript.SetPointerToData('scriptItogSum', @ExtScriptResInfo.scriptItogSum, PSScript.FindBaseType(btDouble));// | + | - В процедуре **TScriptExecutor.PSScriptExecute**, являющейся обработчиком PSSCript.OnExecute, связываем переменную с полем записи **ExtScriptResInfo**: //PSScript.SetPointerToData('scriptItogSum', @ExtScriptResInfo.scriptItogSum, PSScript.FindBaseType(btDouble));// |
- | - В процедуре **TScriptExecutor.PSScriptAfterExecute** делаем вывод этой переменных в запись **ExtScriptResInfo**: //ExtScriptResInfo.scriptPercent := VGetInt(PSScript.GetVariable('scriptPercent'));// | + | |
==== Базовые типы переменных в скриптах ==== | ==== Базовые типы переменных в скриптах ==== |