Skip to main content

I1150

// Generated display declaration:
I1150 = 1150

// Effective Pascal Script type and value:
const I1150: String = '1150';

Example

procedure ScriptEvent(var Value: variant);
var
IssueCode: string;
IssueNum: integer;
begin
IssueCode := I1150; // '1150'
IssueNum := StrToInt(IssueCode); // 1150 for integer issue APIs
Value := IssueCode + ':' + IntToStr(IssueNum);
end;

Usage

I1150 is the script-visible String code '1150' for Issue 1150 (Invoice Line Not Found).

  • Use I1150 for exact string serialisation or comparison; use 1150 or explicit conversion for an integer parameter.
  • Match the issue definition to the exact header/child lookup that failed rather than inferring a nearby number.
  • Put the failed key and parent/application scope in the separate description.

Scope and non-effects

This member identifies an Invoice child row. Its current fresh-build administration route points to Order, which is a navigation-data quirk rather than a change in issue identity.

The constant itself:

  • performs no header, line, package, batch, serial, manifest or related master-data lookup;
  • does not test whether the relevant transaction exists;
  • does not call LogIssue, insert DIssue, update a transaction status or enqueue an event; and
  • carries no failed key, parent identifier, application or partner context beyond the four digits.

The numeric gaps and family offsets are fixed source choices. Do not derive a line code by adding to a header code or treat an unlisted number as supported.

Additional Technical Info

I1150 is the script-visible String constant '1150' for the default VxData Issue definition Invoice Line Not Found. It is a named text code, not an integer lookup result, and assigning it does not query transaction data or create an issue.

The generated index displays I1150 = 1150 without quotes. Product source registers the constant as String and supplies '1150'; the native declaration also stores digit text. The example was source-reviewed and not executed against VxData.

Declaration and fresh-build definition

PropertyDefault/source value
Script type/valueString / '1150'
Integer Issue.Num after conversion1150
Fresh-build Issue.Code1150
Fresh-build descriptionInvoice Line Not Found
Fresh-build Issue.Status3Status_Issue
Fresh-build AdminUrl/Transaction/Order

String versus integer issue parameters

The native comment says the Ixxxx constants are intended when an issue number is needed as text. GetIssueLevel, InvoiceIssue and the reusable Scriptlet's local CreateIssue accept integer issue numbers.

TextCode := I1150; // exact text '1150'
Level := GetIssueLevel(1150); // integer API, preferred literal
Level := GetIssueLevel(StrToInt(I1150)); // explicit shared conversion

Do not depend on implicit String-to-integer coercion. StrToInt(I1150) is deterministic for the compiled constant; arbitrary input still requires normal conversion-error handling.

Live Issue definition

The description, status and AdminUrl above come from the current fresh-build Table_Issue.sql. GetIssueLevel(1150) queries the live VxData Issue.Status on each call, so an upgraded or customised database can return a different status. If the row is absent, the function returns 6 (Error) rather than the compiled default 3 and does not create an Issue Not Found record.

A configured level is data, not behavior embedded in I1150. The current transaction-issue queue retains the greatest numeric configured level among newly queued issues for one record; that numeric comparison is not a separately defined semantic-priority table.

Product use and quirks

The fresh-build AdminUrl is /Transaction/Order, not /Transaction/Invoice. This current source-data mismatch may affect operator navigation but does not change the Invoice Line meaning or Issue.Num.

The reusable Scriptlet's local CreateIssue always calls LogIssue and then inserts the supplied number/description into DIssue only when that dataset is assigned. It does not call GetIssueLevel, so changing Issue.Status does not select the immediate Scriptlet log method.

The separate InvoiceIssue path queries configured severity, queues issue data and persists it later with header-status and notification-event effects. Its documented deferred-save, rollback, queue-retention and multi-record quirks apply only when that API/lifecycle is used; the constant alone has none of those effects.

Related entries

  • GetIssueLevel documents live severity lookup and the missing-row fallback.
  • InvoiceIssue documents one integer issue-consumer lifecycle.
  • Status_Issue is the fresh-build status value 3 used by this definition.

No Delphi or Free Pascal standard-library equivalent exists; this is a Velox-owned scripting identifier.

Created 2026-07-15