I1043
// Generated display declaration:
I1043 = 1043
// Effective Pascal Script type and value:
const I1043: String = '1043';
Example
procedure ScriptEvent(var Value: variant);
var
IssueCode: string;
IssueNum: integer;
begin
IssueCode := I1043; // '1043'
IssueNum := StrToInt(IssueCode); // 1043, for integer issue APIs
Value := IssueCode + ':' + IntToStr(IssueNum);
end;
Usage
I1043 is the script-visible String code '1043' for Issue 1043 (Setting Not Found).
- Use
I1043when serialising, comparing or displaying the exact code as text. - Use numeric literal
1043or explicitStrToInt(I1043)for an integer issue parameter. - Supply a useful issue description separately; never assume the generic database description records the failed value.
What the constant does
- Substitutes the immutable four-character script string
'1043'. - Performs no VxData query and does not verify that an
Issuerow exists. - Does not change flow/log status, cancel processing, add a transaction issue, update a header or enqueue a notification event.
- Carries no description, record key, application, partner or transaction context beyond the decimal code itself.
This member belongs to the master/configuration not-found block. The issue number identifies the failure category; the issue description supplied by the caller must carry the missing key, lookup scope and any relevant application or partner context.
Additional Technical Info
I1043 is the script-visible String constant '1043'. It identifies the default VxData Issue definition Setting Not Found; it is not an integer constant and does not create, find, log or persist an issue by itself.
The generated Code Library index displays I1043 = 1043 without quotes. The product registration is more precise: it adds I1043 with type String and sets its value to '1043'. The example makes the conversion explicit and was source-reviewed, not executed against VxData.
Declaration and runtime value
| Property | Default/source value |
|---|---|
| Script type | String |
| Exact text | '1043' |
| Integer Issue key after conversion | 1043 |
Fresh-build Issue.Num / Issue.Code | 1043 / 1043 |
| Fresh-build description | Setting Not Found |
Fresh-build Issue.Status | 3 — Issue |
Fresh-build AdminUrl | /Administration/Setting |
String versus integer APIs
The native source states that the Ixxxx constants are for cases that need the issue number as text. Public issue functions such as GetIssueLevel and InvoiceIssue formally accept an integer issue number.
Use one of these deliberate forms:
TextCode := I1043; // String context
Level := GetIssueLevel(1043); // Preferred literal in integer context
Level := GetIssueLevel(StrToInt(I1043)); // Explicit conversion when sharing the constant
Do not rely on an undocumented implicit String-to-integer coercion. StrToInt(I1043) is safe for the source-defined value but still expresses a conversion that can raise if replaced with arbitrary text.
Default definition versus live configuration
The table above describes velox-data/1. Database/Table_Issue.sql, the fresh-build database source. At runtime, GetIssueLevel(1043) queries the current VxData Issue.Status value on every call. A customer database may have been upgraded or deliberately configured differently, so source defaults are not a substitute for inspecting the live Issue row when behavior depends on severity.
If the row is missing, GetIssueLevel returns 6 (Error); it does not return 3 from compiled source and does not create issue 1046. Database/query exceptions propagate. A configured Error row and a missing row are therefore indistinguishable through that function alone.
Current deferred transaction-issue aggregation keeps the greatest numeric status queued for one record, not a separately defined semantic priority.
Product use and implementation notes
No representative reusable Scriptlet helper call for 1043 was found at the source baseline. Use it only when the missing item is a governed Setting row, and include the setting code in the detail.
The reusable Scriptlet generally creates issues with numeric literals, not the Ixxxx String constants. Its local CreateIssue helper does not call GetIssueLevel: it always calls LogIssue, then inserts the supplied number and description into DIssue only when that dataset is assigned. Consequently, the Issue row's configured status does not select the immediate Scriptlet log method; later dataset handling belongs to the owning module.
The separate transaction issue API InvoiceIssue does query severity immediately, queue an in-memory issue and persist it later through the owning flow's issue-save lifecycle. Its page documents deferred inserts, header-status updates, notification events, rollback behavior and known queue-retention/multi-record defects.
Related entries
GetIssueLevelreads the live configured status and documents the missing-row fallback.InvoiceIssueshows how an integer issue key is queued and later persisted.Issueis the default status constant corresponding to fresh-build status3.
No Delphi or Free Pascal standard-library equivalent exists; this is a Velox-owned scripting identifier.
Created 2026-07-15