Commit 3ff5c8d6 by Elias Sarraf

Merge remote-tracking branch 'origin/mac'

parents bb05403e 0565250e
...@@ -26,7 +26,6 @@ object FAddOrder: TFAddOrder ...@@ -26,7 +26,6 @@ object FAddOrder: TFAddOrder
Width = 121 Width = 121
Height = 22 Height = 22
HeightPercent = 100.000000000000000000 HeightPercent = 100.000000000000000000
Text = 'edtSearch'
WidthPercent = 100.000000000000000000 WidthPercent = 100.000000000000000000
OnChange = edtSearchChange OnChange = edtSearchChange
end end
...@@ -37,14 +36,14 @@ object FAddOrder: TFAddOrder ...@@ -37,14 +36,14 @@ object FAddOrder: TFAddOrder
Height = 22 Height = 22
ChildOrder = 1 ChildOrder = 1
HeightPercent = 100.000000000000000000 HeightPercent = 100.000000000000000000
Text = 'WebEdit1'
WidthPercent = 100.000000000000000000 WidthPercent = 100.000000000000000000
end end
object TMSFNCGrid1: TTMSFNCGrid object TMSFNCGrid1: TTMSFNCGrid
Left = 0 Left = 0
Top = 166 Top = 146
Width = 871 Width = 871
Height = 303 Height = 331
Align = alBottom
ParentDoubleBuffered = False ParentDoubleBuffered = False
DoubleBuffered = True DoubleBuffered = True
TabOrder = 2 TabOrder = 2
...@@ -242,13 +241,13 @@ object FAddOrder: TFAddOrder ...@@ -242,13 +241,13 @@ object FAddOrder: TFAddOrder
end end
object XDataWebClient1: TXDataWebClient object XDataWebClient1: TXDataWebClient
Connection = DMConnection.ApiConnection Connection = DMConnection.ApiConnection
Left = 728 Left = 730
Top = 109 Top = 93
end end
object xdwdsCustomers: TXDataWebDataSet object xdwdsCustomers: TXDataWebDataSet
Connection = DMConnection.ApiConnection Connection = DMConnection.ApiConnection
Left = 600 Left = 600
Top = 109 Top = 95
object xdwdsCustomersID: TIntegerField object xdwdsCustomersID: TIntegerField
FieldName = 'ID' FieldName = 'ID'
end end
...@@ -265,7 +264,7 @@ object FAddOrder: TFAddOrder ...@@ -265,7 +264,7 @@ object FAddOrder: TFAddOrder
end end
object wdsCustomers: TWebDataSource object wdsCustomers: TWebDataSource
DataSet = xdwdsCustomers DataSet = xdwdsCustomers
Left = 470 Left = 468
Top = 109 Top = 93
end end
end end
...@@ -12,8 +12,8 @@ object FViewOrders: TFViewOrders ...@@ -12,8 +12,8 @@ object FViewOrders: TFViewOrders
OnCreate = WebFormCreate OnCreate = WebFormCreate
OnShow = WebFormShow OnShow = WebFormShow
object lblEntries: TWebLabel object lblEntries: TWebLabel
Left = 68 Left = 59
Top = 333 Top = 113
Width = 77 Width = 77
Height = 13 Height = 13
Caption = 'Showing 0 of ...' Caption = 'Showing 0 of ...'
...@@ -207,8 +207,8 @@ object FViewOrders: TFViewOrders ...@@ -207,8 +207,8 @@ object FViewOrders: TFViewOrders
TabStop = False TabStop = False
WidthPercent = 100.000000000000000000 WidthPercent = 100.000000000000000000
end end
object WebButton2: TWebButton object btnPDF: TWebButton
Left = 328 Left = 332
Top = 79 Top = 79
Width = 96 Width = 96
Height = 25 Height = 25
...@@ -221,73 +221,181 @@ object FViewOrders: TFViewOrders ...@@ -221,73 +221,181 @@ object FViewOrders: TFViewOrders
TabOrder = 8 TabOrder = 8
TabStop = False TabStop = False
WidthPercent = 100.000000000000000000 WidthPercent = 100.000000000000000000
OnClick = btnPDFClick
end
object wdbtcOrders: TWebDBTableControl
Left = 26
Top = 132
Width = 631
Height = 200
ElementClassName = 'table'
ElementId = 'tblPhoneGrid'
BorderColor = clSilver
ChildOrder = 11
ElementFont = efCSS
ElementHeaderClassName = 'thead-light'
ElementPosition = epRelative
ElementTableClassName = 'table table-striped table-hover table-bordered text-sm'
Footer.ButtonActiveElementClassName = 'btn btn-primary'
Footer.ButtonElementClassName = 'btn btn-light'
Footer.DropDownElementClassName = 'form-control'
Footer.InputElementClassName = 'form-control'
Footer.LinkActiveElementClassName = 'link-primary'
Footer.LinkElementClassName = 'link-secondary'
Footer.ListElementClassName = 'pagination'
Footer.ListItemElementClassName = 'page-item'
Footer.ListLinkElementClassName = 'page-link'
Header.ButtonActiveElementClassName = 'btn btn-primary'
Header.ButtonElementClassName = 'btn btn-light'
Header.DropDownElementClassName = 'form-control'
Header.InputElementClassName = 'form-control'
Header.LinkActiveElementClassName = 'link-primary'
Header.LinkElementClassName = 'link-secondary'
Header.ListElementClassName = 'pagination'
Header.ListItemElementClassName = 'page-item'
Header.ListLinkElementClassName = 'page-link'
WordWrap = True
Columns = <
item
DataField = 'ID'
Title = 'ID'
end
item
DataField = 'companyName'
Title = 'Company Name'
end
item
DataField = 'jobName'
Title = 'Job Name'
end
item
DataField = 'orderDate'
Title = 'Order Date'
end
item
DataField = 'proofDue'
Title = 'Proof Due'
end
item
DataField = 'proofDone'
Title = 'Proof Done'
end
item
DataField = 'artDue'
Title = 'Art Due'
end
item
DataField = 'artDone'
Title = 'Art Done'
end
item
DataField = 'mountDue'
Title = 'Mount Due'
end
item
DataField = 'mountDone'
Title = 'Mount Done'
end
item
DataField = 'shipDue'
Title = 'Ship Due'
end
item
DataField = 'shipDone'
Title = 'Ship Done'
end
item
DataField = 'price'
Title = 'Price'
end
item
DataField = 'qbRefNum'
Title = 'Quickbooks Reference Number'
end
item
DataField = 'colors'
Title = 'Colors'
end
item
DataField = 'plateDue'
Title = 'Plate Due'
end
item
DataField = 'plateDone'
Title = 'Plate Done'
end
item
DataField = 'orderType'
Title = 'Order Type'
end>
DataSource = wdsOrders
end end
object XDataWebClient1: TXDataWebClient object XDataWebClient1: TXDataWebClient
Connection = DMConnection.ApiConnection Connection = DMConnection.ApiConnection
Left = 28 Left = 28
Top = 410 Top = 410
end end
object XDataWebDataSet1: TXDataWebDataSet object xdwdsOrders: TXDataWebDataSet
Connection = DMConnection.ApiConnection Connection = DMConnection.ApiConnection
Left = 70 Left = 70
Top = 410 Top = 410
object XDataWebDataSet1ID: TStringField object xdwdsOrdersID: TStringField
FieldName = 'ID' FieldName = 'ID'
end end
object XDataWebDataSet1companyName: TStringField object xdwdsOrderscompanyName: TStringField
FieldName = 'companyName' FieldName = 'companyName'
end end
object XDataWebDataSet1jobName: TStringField object xdwdsOrdersjobName: TStringField
FieldName = 'jobName' FieldName = 'jobName'
end end
object XDataWebDataSet1orderDate: TStringField object xdwdsOrdersorderDate: TStringField
FieldName = 'orderDate' FieldName = 'orderDate'
end end
object XDataWebDataSet1proofDue: TStringField object xdwdsOrdersproofDue: TStringField
FieldName = 'proofDue' FieldName = 'proofDue'
end end
object XDataWebDataSet1proofDone: TStringField object xdwdsOrdersproofDone: TStringField
FieldName = 'proofDone' FieldName = 'proofDone'
end end
object XDataWebDataSet1artDue: TStringField object xdwdsOrdersartDue: TStringField
FieldName = 'artDue' FieldName = 'artDue'
end end
object XDataWebDataSet1artDone: TStringField object xdwdsOrdersartDone: TStringField
FieldName = 'artDone' FieldName = 'artDone'
end end
object XDataWebDataSet1mountDue: TStringField object xdwdsOrdersmountDue: TStringField
FieldName = 'mountDue' FieldName = 'mountDue'
end end
object XDataWebDataSet1mountDone: TStringField object xdwdsOrdersmountDone: TStringField
FieldName = 'mountDone' FieldName = 'mountDone'
end end
object XDataWebDataSet1shipDue: TStringField object xdwdsOrdersshipDue: TStringField
FieldName = 'shipDue' FieldName = 'shipDue'
end end
object XDataWebDataSet1shipDone: TStringField object xdwdsOrdersshipDone: TStringField
FieldName = 'shipDone' FieldName = 'shipDone'
end end
object XDataWebDataSet1price: TStringField object xdwdsOrdersprice: TStringField
FieldName = 'price' FieldName = 'price'
end end
object XDataWebDataSet1qbRefNum: TStringField object xdwdsOrdersqbRefNum: TStringField
FieldName = 'qbRefNum' FieldName = 'qbRefNum'
end end
object XDataWebDataSet1colors: TStringField object xdwdsOrderscolors: TStringField
FieldName = 'colors' FieldName = 'colors'
end end
object XDataWebDataSet1plateDue: TStringField object xdwdsOrdersplateDue: TStringField
FieldName = 'plateDue' FieldName = 'plateDue'
end end
object XDataWebDataSet1plateDone: TStringField object xdwdsOrdersplateDone: TStringField
FieldName = 'plateDone' FieldName = 'plateDone'
end end
object XDataWebDataSet1orderType: TStringField object xdwdsOrdersorderType: TStringField
FieldName = 'orderType' FieldName = 'orderType'
end end
end end
object WebDataSource1: TWebDataSource object wdsOrders: TWebDataSource
DataSet = XDataWebDataSet1 DataSet = xdwdsOrders
Left = 120 Left = 120
Top = 410 Top = 410
end end
......
<div class="container vh-100 d-flex flex-column pb-5" style="max-width: 80%;"> <div class="container h-100 d-flex flex-column mt-0" style="max-width: 95%;">
<!-- Alert Section --> <!-- Alert Section -->
<div class="row"> <div class="row">
<div class="col-sm"> <div class="col-sm">
...@@ -46,7 +45,10 @@ ...@@ -46,7 +45,10 @@
<button id="btnsetstatus" class="btn btn-secondary mt-3">Set Status</button> <button id="btnsetstatus" class="btn btn-secondary mt-3">Set Status</button>
</div> </div>
<div class="col-auto"> <div class="col-auto">
<button id="btngeneratepdf" class="btn btn-secondary mt-3">Generate PDF</button> <button id="btngeneratepdf" class="btn btn-secondary mt-3" type="button">Generate PDF</button>
<div class="invalid-feedback">
No order selected. Please select an order to generate a PDF.
</div>
</div> </div>
<div class="col-auto"> <div class="col-auto">
<button id="btnfilters" class="btn btn-secondary mt-3">Filters</button> <button id="btnfilters" class="btn btn-secondary mt-3">Filters</button>
...@@ -54,57 +56,33 @@ ...@@ -54,57 +56,33 @@
</div> </div>
</div> </div>
<!-- Entries Label Section --> <!-- Entries Label Section -->
<div class="container mt-2"> <div class="d-flex justify-content-between w-100 mt-2">
<div class="row"> <label id="lblentries"></label>
<div class="col">
<label id="lblentries"></label>
</div>
</div>
</div> </div>
<!-- Table Section --> <!-- Table Section -->
<div id="order_table_section" class="overflow-auto mt-2 flex-grow-1"> <div id="order_table_section" class="overflow-auto mt-2"
style="max-height: calc(100vh - 380px); border-bottom: none; padding-bottom: 0;">
<table id="tblPhoneGrid" class="table table-striped table-bordered"> <table id="tblPhoneGrid" class="table table-striped table-bordered">
<thead style="position: sticky; top: 0; z-index: 1; background-color: white; border-bottom: 2px solid #dee2e6;"> <thead class="sticky-top bg-light">
<tr> <tr style="font-size: 0.875rem;">
<th>Order ID</th> <!-- Table headers are dynamically generated -->
<th>Company Name</th>
<th>Job Name</th>
<th>Order Date</th>
<th>Proof Due</th>
<th>Proof Date</th>
<th>Art Due</th>
<th>Art Done</th>
<th>Plate Due</th>
<th>Plate Done</th>
<th>Mount Due</th>
<th>Mount Done</th>
<th>Ship Due</th>
<th>Ship Done</th>
<th>Price</th>
<th>QuickBooks Ref Number</th>
<th>Colors</th>
</tr> </tr>
</thead> </thead>
<tbody> <tbody id="orderTableBody" class="align-middle">
<!-- Rows will be dynamically added --> <!-- Table rows are dynamically generated -->
</tbody> </tbody>
</table> </table>
</div> </div>
<!-- Pagination Section --> <!-- Pagination Section -->
<div class="container mt-4"> <div class="d-flex justify-content-center w-100 mt-4">
<div class="row justify-content-center"> <nav aria-label="Page navigation">
<nav aria-label="Page navigation"> <ul id="pagination" class="pagination">
<ul id="pagination" class="pagination"> <!-- Pagination items added dynamically -->
<!-- Pagination items added dynamically --> </ul>
</ul> </nav>
</nav>
</div>
</div> </div>
</div> </div>
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
// to sort the entries, filter their search, and search for a specific person. // to sort the entries, filter their search, and search for a specific person.
// Authors: // Authors:
// Cameron Hayes // Cameron Hayes
// Mac ... // Mac Stephens
unit View.Orders; unit View.Orders;
...@@ -13,44 +13,45 @@ uses ...@@ -13,44 +13,45 @@ uses
WEBLib.Forms, WEBLib.Dialogs, WEBLib.Menus, WEBLib.ExtCtrls, WEBLib.StdCtrls, WEBLib.Forms, WEBLib.Dialogs, WEBLib.Menus, WEBLib.ExtCtrls, WEBLib.StdCtrls,
WEBLib.JSON, Auth.Service, XData.Web.Client, WebLib.Storage, WEBLib.JSON, Auth.Service, XData.Web.Client, WebLib.Storage,
ConnectionModule, App.Types, Vcl.StdCtrls, Vcl.Controls, WEBLib.DBCtrls, ConnectionModule, App.Types, Vcl.StdCtrls, Vcl.Controls, WEBLib.DBCtrls,
XData.Web.JsonDataset, WEBLib.DB, Data.DB, XData.Web.Dataset, View.AddOrder; XData.Web.JsonDataset, WEBLib.DB, Data.DB, XData.Web.Dataset, View.AddOrder,
WEBLib.Grids;
type type
TFViewOrders = class(TWebForm) TFViewOrders = class(TWebForm)
XDataWebClient1: TXDataWebClient; XDataWebClient1: TXDataWebClient;
XDataWebDataSet1: TXDataWebDataSet; xdwdsOrders: TXDataWebDataSet;
lblEntries: TWebLabel; lblEntries: TWebLabel;
wcbSortBy: TWebComboBox; wcbSortBy: TWebComboBox;
btnApply: TWebButton; btnApply: TWebButton;
edtSearch: TWebEdit; edtSearch: TWebEdit;
WebDataSource1: TWebDataSource; wdsOrders: TWebDataSource;
XDataWebDataSet1companyName: TStringField; xdwdsOrderscompanyName: TStringField;
XDataWebDataSet1jobName: TStringField; xdwdsOrdersjobName: TStringField;
XDataWebDataSet1orderDate: TStringField; xdwdsOrdersorderDate: TStringField;
XDataWebDataSet1proofDue: TStringField; xdwdsOrdersproofDue: TStringField;
XDataWebDataSet1proofDone: TStringField; xdwdsOrdersproofDone: TStringField;
XDataWebDataSet1artDue: TStringField; xdwdsOrdersartDue: TStringField;
XDataWebDataSet1artDone: TStringField; xdwdsOrdersartDone: TStringField;
XDataWebDataSet1mountDue: TStringField; xdwdsOrdersmountDue: TStringField;
XDataWebDataSet1mountDone: TStringField; xdwdsOrdersmountDone: TStringField;
XDataWebDataSet1shipDue: TStringField; xdwdsOrdersshipDue: TStringField;
XDataWebDataSet1shipDone: TStringField; xdwdsOrdersshipDone: TStringField;
XDataWebDataSet1price: TStringField; xdwdsOrdersprice: TStringField;
XDataWebDataSet1ID: TStringField; xdwdsOrdersID: TStringField;
XDataWebDataSet1qbRefNum: TStringField; xdwdsOrdersqbRefNum: TStringField;
XDataWebDataSet1colors: TStringField; xdwdsOrderscolors: TStringField;
btnAddOrder: TWebButton; btnAddOrder: TWebButton;
btnFilters: TWebButton; btnFilters: TWebButton;
dtpStartDate: TWebDateTimePicker; dtpStartDate: TWebDateTimePicker;
dtpEndDate: TWebDateTimePicker; dtpEndDate: TWebDateTimePicker;
XDataWebDataSet1plateDue: TStringField; xdwdsOrdersplateDue: TStringField;
XDataWebDataSet1plateDone: TStringField; xdwdsOrdersplateDone: TStringField;
XDataWebDataSet1orderType: TStringField; xdwdsOrdersorderType: TStringField;
pnlMessage: TWebPanel; pnlMessage: TWebPanel;
lblMessage: TWebLabel; lblMessage: TWebLabel;
btnCloseNotification: TWebButton; btnCloseNotification: TWebButton;
WebButton1: TWebButton; WebButton1: TWebButton;
WebButton2: TWebButton; btnPDF: TWebButton;
wdsCustomers: TWebDataSource; wdsCustomers: TWebDataSource;
xdwdsCustomers: TXDataWebDataSet; xdwdsCustomers: TXDataWebDataSet;
xdwdsCustomersNAME: TStringField; xdwdsCustomersNAME: TStringField;
...@@ -59,6 +60,7 @@ type ...@@ -59,6 +60,7 @@ type
xdwdsSave: TXDataWebDataSet; xdwdsSave: TXDataWebDataSet;
wdsSave: TWebDataSource; wdsSave: TWebDataSource;
xdwdsSaveCURR_ID: TIntegerField; xdwdsSaveCURR_ID: TIntegerField;
wdbtcOrders: TWebDBTableControl;
procedure WebFormCreate(Sender: TObject); procedure WebFormCreate(Sender: TObject);
procedure btnApplyClick(Sender: TObject); procedure btnApplyClick(Sender: TObject);
procedure btnSearchClick(Sender: TObject); procedure btnSearchClick(Sender: TObject);
...@@ -67,9 +69,9 @@ type ...@@ -67,9 +69,9 @@ type
procedure btnCloseNotificationClick(Sender: TObject); procedure btnCloseNotificationClick(Sender: TObject);
procedure WebFormShow(Sender: TObject); procedure WebFormShow(Sender: TObject);
procedure btnConfirmClick(Sender: TObject); procedure btnConfirmClick(Sender: TObject);
procedure btnPDFClick(Sender: TObject);
private private
FChildForm: TWebForm; FChildForm: TWebForm;
procedure AddRowToTable(temp: string);
procedure ClearTable(); procedure ClearTable();
procedure GeneratePagination(TotalPages: Integer); procedure GeneratePagination(TotalPages: Integer);
function GenerateSearchOptions(): string; function GenerateSearchOptions(): string;
...@@ -80,6 +82,8 @@ type ...@@ -80,6 +82,8 @@ type
[async] procedure Search(searchOptions: string); [async] procedure Search(searchOptions: string);
[async] procedure GetOrders(searchOptions: string); [async] procedure GetOrders(searchOptions: string);
[async] procedure getUser(); [async] procedure getUser();
procedure GeneratePDF(OrderID: string);
[async] procedure GenerateReportPDF;
var var
PageNumber: integer; PageNumber: integer;
PageSize: integer; PageSize: integer;
...@@ -105,6 +109,24 @@ uses ...@@ -105,6 +109,24 @@ uses
{$R *.dfm} {$R *.dfm}
procedure TFViewOrders.btnPDFClick(Sender: TObject);
begin
GenerateReportPDF;
end;
[async] procedure TFViewOrders.GenerateReportPDF;
var
searchOptions: string;
begin
searchOptions := GenerateSearchOptions;
// Call the server method to generate the PDF
await(XDataWebClient1.RawInvokeAsync('ILookupService.GenerateReportPDF', [searchOptions]));
ShowMessage('PDF Report Generated Successfully');
end;
procedure TFViewOrders.WebFormCreate(Sender: TObject); procedure TFViewOrders.WebFormCreate(Sender: TObject);
// Initializes important values: // Initializes important values:
// PageNumber: What page number the user is on IE 1: 1-10, 2: 11-20 etc // PageNumber: What page number the user is on IE 1: 1-10, 2: 11-20 etc
...@@ -186,191 +208,7 @@ begin ...@@ -186,191 +208,7 @@ begin
end; end;
procedure TFViewOrders.AddRowToTable(temp: string);
// Adds rows to the table
// PhoneNumber: phone number of the location
// Caller: phone number of the caller
// Duration: duration of the call
// Transcript: transcription of the recording
// MediaUrl: Link to the recording
var
NewRow, Cell, P, Button, Audio: TJSHTMLElement;
colorObject: TJSObject;
colorList: TJSArray;
colorListJSON: TJSONArray;
colors: integer;
ClickHandler: TJSFunction;
id, strColorList: string;
begin
NewRow := TJSHTMLElement(document.createElement('tr'));
NewRow.Attrs['orderType'] := XDataWebDataSet1orderType.Value;
NewRow.addEventListener('click', procedure
begin
orderEntry(NewRow.Attrs['id'], '', 'EDIT');
end);
// Order ID Cell
NewRow.Attrs['id'] := XDataWebDataSet1ID.Value;
Cell := TJSHTMLElement(document.createElement('td'));
Cell.setAttribute('data-label', 'Order ID');
if XDataWebDataSet1ID.Value = '' then
Cell.innerText := 'None'
else
Cell.innerText := XDataWebDataSet1ID.Value;
NewRow.appendChild(Cell);
// Company Name Cell
Cell := TJSHTMLElement(document.createElement('td'));
Cell.setAttribute('data-label', 'Company Name');
if XDataWebDataSet1companyName.Value = '' then
Cell.innerText := 'None'
else
Cell.innerText := XDataWebDataSet1companyName.Value;
NewRow.appendChild(Cell);
// Job Name Cell
Cell := TJSHTMLElement(document.createElement('td'));
Cell.setAttribute('data-label', 'Job Name');
if XDataWebDataSet1jobName.Value = '' then
Cell.innerText := 'None'
else
Cell.innerText := XDataWebDataSet1jobName.Value;
NewRow.appendChild(Cell);
// Order Date Cell
Cell := TJSHTMLElement(document.createElement('td'));
Cell.setAttribute('data-label', 'Order Date');
if XDataWebDataSet1orderDate.Value = '' then
Cell.innerText := 'None'
else
Cell.innerText := XDataWebDataSet1orderDate.Value;
NewRow.appendChild(Cell);
// Proof Due Cell
Cell := TJSHTMLElement(document.createElement('td'));
Cell.setAttribute('data-label', 'Proof Due');
if XDataWebDataSet1proofDue.Value = '' then
Cell.innerText := 'None'
else
Cell.innerText := XDataWebDataSet1proofDue.Value;
NewRow.appendChild(Cell);
// Proof Done Cell
Cell := TJSHTMLElement(document.createElement('td'));
Cell.setAttribute('data-label', 'Proof Done');
if XDataWebDataSet1proofDone.Value = '' then
Cell.innerText := 'None'
else
Cell.innerText := XDataWebDataSet1proofDone.Value;
NewRow.appendChild(Cell);
// Art Due Cell
Cell := TJSHTMLElement(document.createElement('td'));
Cell.setAttribute('data-label', 'Art Due');
if XDataWebDataSet1artDue.Value = '' then
Cell.innerText := 'None'
else
Cell.innerText := XDataWebDataSet1artDue.Value;
NewRow.appendChild(Cell);
// Art Done Cell
Cell := TJSHTMLElement(document.createElement('td'));
Cell.setAttribute('data-label', 'Art Done');
if XDataWebDataSet1artDone.Value = '' then
Cell.innerText := 'None'
else
Cell.innerText := XDataWebDataSet1artDone.Value;
NewRow.appendChild(Cell);
// Plate Due Cell
Cell := TJSHTMLElement(document.createElement('td'));
Cell.setAttribute('data-label', 'Plate Due');
if XDataWebDataSet1plateDue.Value = '' then
Cell.innerText := 'None'
else
Cell.innerText := XDataWebDataSet1plateDue.Value;
NewRow.appendChild(Cell);
// Plate Done Cell
Cell := TJSHTMLElement(document.createElement('td'));
Cell.setAttribute('data-label', 'Plate Done');
if XDataWebDataSet1plateDone.Value = '' then
Cell.innerText := 'None'
else
Cell.innerText := XDataWebDataSet1plateDone.Value;
NewRow.appendChild(Cell);
// Mount Due Cell
Cell := TJSHTMLElement(document.createElement('td'));
Cell.setAttribute('data-label', 'Mount Due');
if XDataWebDataSet1mountDue.Value = '' then
Cell.innerText := 'None'
else
Cell.innerText := XDataWebDataSet1mountDue.Value;
NewRow.appendChild(Cell);
// Mount Done Cell
Cell := TJSHTMLElement(document.createElement('td'));
Cell.setAttribute('data-label', 'Mount Done');
if XDataWebDataSet1mountDone.Value = '' then
Cell.innerText := 'None'
else
Cell.innerText := XDataWebDataSet1mountDone.Value;
NewRow.appendChild(Cell);
// Ship Due Cell
Cell := TJSHTMLElement(document.createElement('td'));
Cell.setAttribute('data-label', 'Ship Due');
if XDataWebDataSet1shipDue.Value = '' then
Cell.innerText := 'None'
else
Cell.innerText := XDataWebDataSet1shipDue.Value;
NewRow.appendChild(Cell);
// Ship Done Cell
Cell := TJSHTMLElement(document.createElement('td'));
Cell.setAttribute('data-label', 'Ship Done');
if XDataWebDataSet1shipDone.Value = '' then
Cell.innerText := 'None'
else
Cell.innerText := XDataWebDataSet1shipDone.Value;
NewRow.appendChild(Cell);
// Price Cell
Cell := TJSHTMLElement(document.createElement('td'));
Cell.setAttribute('data-label', 'Price');
if XDataWebDataSet1price.Value = '' then
Cell.innerText := 'None'
else
Cell.innerText := XDataWebDataSet1price.Value;
NewRow.appendChild(Cell);
// QuickBooks Reference Number Cell
Cell := TJSHTMLElement(document.createElement('td'));
Cell.setAttribute('data-label', 'Quickbooks Reference Number');
if XDataWebDataSet1qbRefNum.Value = '' then
Cell.innerText := 'None'
else
Cell.innerText := XDataWebDataSet1qbRefNum.Value;
NewRow.appendChild(Cell);
// Colors Cell
Cell := TJSHTMLElement(document.createElement('td'));
Cell.setAttribute('data-label', 'Colors');
if XDataWebDataSet1colors.Value = '' then
Cell.innerText := '0'
else
begin
colorObject := TJSObject(TJSJSON.parse(XDataWebDataSet1colors.Value));
colorList := TJSArray(colorObject['items']);
colors := colorList.flength;
Cell.innerText := IntToStr(colors);
end;
NewRow.appendChild(Cell);
// Appends new rows to the table body
TJSHTMLElement(document.getElementById('tblPhoneGrid').getElementsByTagName('tbody')[0]).appendChild(NewRow);
end;
procedure TFViewOrders.GeneratePagination(TotalPages: Integer); procedure TFViewOrders.GeneratePagination(TotalPages: Integer);
// Generates pagination for the table. // Generates pagination for the table.
...@@ -572,63 +410,34 @@ end; ...@@ -572,63 +410,34 @@ end;
procedure TFViewOrders.GetOrders(searchOptions: string); procedure TFViewOrders.GetOrders(searchOptions: string);
// Retrieves list of orders from the server that meet the criteria searchOptions
// searchOptions: information about how to generate the SQL statement based on
// user input.
var var
xdcResponse: TXDataClientResponse; xdcResponse: TXDataClientResponse;
orderList : TJSObject; orderList: TJSObject;
i: integer;
data: TJSArray;
order: TJSObject;
callListLength: integer;
tempString: string;
begin begin
if PageNumber > 0 then if PageNumber > 0 then
begin begin
asm asm
startSpinner(); startSpinner();
end; end;
xdcResponse := await(XDataWebClient1.RawInvokeAsync('ILookupService.GetOrders', xdcResponse := await(XDataWebClient1.RawInvokeAsync('ILookupService.GetOrders', [searchOptions]));
[searchOptions])); orderList := TJSObject(xdcResponse.Result);
orderList := TJSObject(xdcResponse.Result);
data := TJSArray(orderList['data']); // Load data into the dataset
callListLength := integer(orderList['count']); xdwdsOrders.Close;
ClearTable(); xdwdsOrders.SetJsonData(orderList['data']);
XDataWebDataSet1.Close; xdwdsOrders.Open;
XDataWebDataSet1.SetJsonData(orderList['data']);
XDataWebDataSet1.Open;
asm asm
setTimeout(endSpinner, 2000); setTimeout(endSpinner, 2000);
end; end;
for i := 0 to data.Length - 1 do
begin lblEntries.Caption := 'Total entries: ' + IntToStr(integer(orderList['count']));
order := TJSObject(data[i]); // Optional: Continue using pagination if needed
AddRowToTable(tempString); GeneratePagination((integer(orderList['count']) + PageSize - 1) div PageSize);
XDataWebDataSet1.Next;
end;
TotalPages := (callListLength + PageSize - 1) div PageSize;
if callListLength = 0 then
begin
lblEntries.Caption := 'No entries found';
end
else if (PageNumber * PageSize) < callListLength then
begin
lblEntries.Caption := 'Showing entries ' + IntToStr((PageNumber - 1) * PageSize + 1) +
' - ' + IntToStr(PageNumber * PageSize) +
' of ' + IntToStr(callListLength);
end
else if (PageNumber * PageSize) >= callListLength then
begin
lblEntries.Caption := 'Showing entries ' + IntToStr((PageNumber - 1) * PageSize + 1) +
' - ' + IntToStr(callListLength) +
' of ' + IntToStr(callListLength);
end;
GeneratePagination(TotalPages);
end; end;
end; end;
procedure TFViewOrders.btnAddOrderClick(Sender: TObject); procedure TFViewOrders.btnAddOrderClick(Sender: TObject);
begin begin
ShowOrderListForm(); ShowOrderListForm();
...@@ -769,4 +578,24 @@ begin ...@@ -769,4 +578,24 @@ begin
end; end;
procedure TFViewOrders.GeneratePDF(OrderID: string);
var
XDCResponse: TXDataClientResponse;
PDFBase64: string;
PDFBlob: TJSUint8Array;
PDFLink: TJSHTMLElement;
begin
// XDCResponse := await(XDataWebClient1.RawInvokeAsync('ILookupService.GenerateOrderPDF', [OrderID]));
// PDFBase64 := string(XDCResponse.Result);
//
// // Convert Base64 to binary and create a link to download it
// PDFBlob := TJSUint8Array.new(TJSBase64.decodeBase64(PDFBase64));
// PDFLink := TJSHTMLElement(document.createElement('a'));
// PDFLink.setAttribute('href', 'data:application/pdf;base64,' + PDFBase64);
// PDFLink.setAttribute('download', 'Order_' + OrderID + '.pdf');
// PDFLink.click;
end;
end. end.
...@@ -279,6 +279,20 @@ input[type="text"] { ...@@ -279,6 +279,20 @@ input[type="text"] {
color: #fff !important; color: #fff !important;
} }
.card {
border: none !important;
box-shadow: none !important; /* If shadow is causing the issue */
}
.color-column {
width: 200px; /* Fixed width for the column */
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis; /* Adds ellipsis */
}
.grid-container { .grid-container {
position: relative; /* Ensure the container is the reference for child positioning */ position: relative; /* Ensure the container is the reference for child positioning */
......
...@@ -47,7 +47,7 @@ object FData: TFData ...@@ -47,7 +47,7 @@ object FData: TFData
object DBAdvGrid1: TDBAdvGrid object DBAdvGrid1: TDBAdvGrid
Left = 6 Left = 6
Top = 84 Top = 84
Width = 632 Width = 689
Height = 154 Height = 154
ColCount = 11 ColCount = 11
DrawingStyle = gdsClassic DrawingStyle = gdsClassic
...@@ -628,7 +628,7 @@ object FData: TFData ...@@ -628,7 +628,7 @@ object FData: TFData
object DBAdvGrid2: TDBAdvGrid object DBAdvGrid2: TDBAdvGrid
Left = 6 Left = 6
Top = 237 Top = 237
Width = 631 Width = 985
Height = 199 Height = 199
ColCount = 20 ColCount = 20
DrawingStyle = gdsClassic DrawingStyle = gdsClassic
...@@ -1495,6 +1495,15 @@ object FData: TFData ...@@ -1495,6 +1495,15 @@ object FData: TFData
TabOrder = 10 TabOrder = 10
TextHint = 'Email Address' TextHint = 'Email Address'
end end
object btnPDF: TButton
Left = 330
Top = 38
Width = 75
Height = 25
Caption = 'Preview PDF'
TabOrder = 11
OnClick = btnPDFClick
end
object dsUsers: TDataSource object dsUsers: TDataSource
DataSet = uqUsers DataSet = uqUsers
Left = 482 Left = 482
......
...@@ -34,14 +34,15 @@ type ...@@ -34,14 +34,15 @@ type
edtFullName: TEdit; edtFullName: TEdit;
edtPhoneNumber: TEdit; edtPhoneNumber: TEdit;
edtEmailAddress: TEdit; edtEmailAddress: TEdit;
btnPDF: TButton;
procedure FormCreate(Sender: TObject); procedure FormCreate(Sender: TObject);
procedure btnFindClick(Sender: TObject); procedure btnFindClick(Sender: TObject);
procedure btnPDFClick(Sender: TObject);
private private
{ Private declarations }
accountSID: string; accountSID: string;
authHeader: string; authHeader: string;
public public
{ Public declarations } function GetReportPDF(OrderID: string): string;
end; end;
var var
...@@ -51,7 +52,13 @@ implementation ...@@ -51,7 +52,13 @@ implementation
{$R *.dfm} {$R *.dfm}
uses KGOrders.Database, uLibrary; uses KGOrders.Database, uLibrary, rOrders;
procedure TFData.btnPDFClick(Sender: TObject);
begin
GetReportPDF('');
end;
procedure TFData.FormCreate(Sender: TObject); procedure TFData.FormCreate(Sender: TObject);
begin begin
...@@ -76,4 +83,30 @@ begin ...@@ -76,4 +83,30 @@ begin
end; end;
function TFData.GetReportPDF(OrderID: string): string;
var
rptOrders: TrptOrders; // Local instance
OrderIDList: TStringList;
begin
rptOrders := TrptOrders.Create(nil); // Always create locally
try
// Create a list of hardcoded OrderIDs for testing
OrderIDList := TStringList.Create;
try
OrderIDList.Add('18995');
OrderIDList.Add('18994');
OrderIDList.Add('18993'); // Add more OrderIDs as needed
// Generate the PDF Report with the list of OrderIDs
rptOrders.GenerateSimpleReport(350);
finally
OrderIDList.Free; // Free the TStringList
end;
finally
rptOrders.Free; // Ensure rptOrders is freed
end;
end;
end. end.
...@@ -209,6 +209,8 @@ type ...@@ -209,6 +209,8 @@ type
[HttpGet] function GetOrder(orderInfo: string): TFullOrder; [HttpGet] function GetOrder(orderInfo: string): TFullOrder;
[HttpGet] function GetCustomers(): TCustomerList; [HttpGet] function GetCustomers(): TCustomerList;
[HttpGet] function GetCustomer(ID: string): TCustomerItem; [HttpGet] function GetCustomer(ID: string): TCustomerItem;
[HttpGet] procedure GenerateReportPDF(searchOptions: string);
function AddUser(userInfo: string): string; function AddUser(userInfo: string): string;
function AddItem(itemInfo: string): string; function AddItem(itemInfo: string): string;
......
...@@ -11,8 +11,14 @@ interface ...@@ -11,8 +11,14 @@ interface
uses uses
XData.Server.Module, XData.Server.Module,
XData.Service.Common, XData.Service.Common,
KGOrders.Database, Data.DB, KGOrders.Database, Data.DB, frxClass, frxExportPDF,
Lookup.Service, System.Hash, System.Classes, System.JSON; Lookup.Service, System.Hash, System.JSON, Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, MemDS, DBAccess, Uni,
hyiedefs, hyieutils, iexBitmaps, iesettings, iexLayers, iexRulers,
iexToolbars, iexUserInteractions, imageenio, imageenproc, QuickRpt, QRCtrls,
dbimageen, Vcl.ExtCtrls, ieview, imageenview, IdBaseComponent, IdComponent,
IdTCPConnection, IdTCPClient, IdExplicitTLSClientServerBase, IdFTP,
iexProcEffects, frxDBSet, frxExportBaseDialog, frCoreClasses, rOrders, Common.Logging;
type type
...@@ -29,6 +35,8 @@ type ...@@ -29,6 +35,8 @@ type
function GetCustomer(ID: string): TCustomerItem; function GetCustomer(ID: string): TCustomerItem;
function EditUser(const editOptions: string): string; function EditUser(const editOptions: string): string;
function Search(phoneNum: string): TOrderList; function Search(phoneNum: string): TOrderList;
procedure GenerateReportPDF(searchOptions: string);
function BuildOrderQuery(searchOptions: string): string;
function AddUser(userInfo: string): string; function AddUser(userInfo: string): string;
function AddItem(itemInfo: string): string; function AddItem(itemInfo: string): string;
function DelUser(username: string): string; function DelUser(username: string): string;
...@@ -44,7 +52,6 @@ type ...@@ -44,7 +52,6 @@ type
implementation implementation
uses uses
System.SysUtils,
System.Generics.Collections, System.Generics.Collections,
XData.Sys.Exceptions, uLibrary; XData.Sys.Exceptions, uLibrary;
...@@ -156,6 +163,113 @@ begin ...@@ -156,6 +163,113 @@ begin
end; end;
procedure TLookupService.GenerateReportPDF(searchOptions: string);
var
SQL: string;
rptOrders: TrptOrders; // Local instance of rptOrders
begin
// Create instance of rptOrders
rptOrders := TrptOrders.Create(nil);
try
// Generate SQL dynamically using the existing GetOrders logic
SQL := BuildOrderQuery(searchOptions);
// Prepare the report dataset
rptOrders.PrepareReport(SQL);
// Generate the PDF report
rptOrders.GeneratePDF;
// Optionally, log success
Logger.log(5, 'PDF Report successfully generated for searchOptions: ' + searchOptions);
finally
rptOrders.Free; // Ensure proper cleanup
end;
end;
function TLookupService.BuildOrderQuery(searchOptions: string): string;
var
params: TStringList;
PageNum, PageSize: integer;
startDate, endDate, filterType, statusType, statusSuffix: string;
statusTableShort, statusTableLong, whereSQL, SQL: string;
begin
params := TStringList.Create;
try
params.StrictDelimiter := true;
params.Delimiter := '&';
params.DelimitedText := searchOptions;
// Parse parameters
PageNum := StrToIntDef(params.Values['pagenumber'], 1);
PageSize := StrToIntDef(params.Values['pagesize'], 50);
startDate := params.Values['startDate'];
endDate := params.Values['endDate'];
filterType := params.Values['filterType'];
statusType := '';
statusSuffix := '';
if filterType <> '' then
begin
statusType := filterType.Split(['_'])[0];
statusSuffix := filterType.Split(['_'])[1];
filterType := statusType + '_' + statusSuffix;
end;
// Determine status table
if statusSuffix = 'DUE' then
begin
statusTableShort := 'oss';
statusTableLong := 'orders_status_schedule';
end
else
begin
statusTableShort := 'os';
statusTableLong := 'orders_status';
end;
// Build the SELECT query with dynamically generated subqueries
SQL := 'SELECT o.ORDER_ID, c.NAME AS COMPANY_NAME, o.JOB_NAME, o.ORDER_DATE, o.ORDER_TYPE, ';
// Add dynamically generated subqueries
SQL := SQL + generateSubQuery(filterType, statusType, 'PROOF');
SQL := SQL + generateSubQuery(filterType, statusType, 'ART');
SQL := SQL + generateSubQuery(filterType, statusType, 'PLATE');
SQL := SQL + generateSubQuery(filterType, statusType, 'MOUNT');
SQL := SQL + generateSubQuery(filterType, statusType, 'SHIP');
// Include additional static fields
SQL := SQL + 'o.PRICE, qb.QB_REF_NUM ';
// FROM clause
SQL := SQL + 'FROM orders o ' +
'JOIN customers c ON o.COMPANY_ID = c.CUSTOMER_ID ' +
'LEFT JOIN qb_sales_orders qb ON qb.ORDER_ID = o.ORDER_ID ';
// WHERE clause
whereSQL := 'WHERE 1=1 ';
if startDate <> '' then
whereSQL := whereSQL + ' AND o.ORDER_DATE >= ' + QuotedStr(startDate);
if endDate <> '' then
whereSQL := whereSQL + ' AND o.ORDER_DATE <= ' + QuotedStr(endDate);
if statusType <> '' then
whereSQL := whereSQL + ' AND ' + statusTableShort + '.ORDER_STATUS = ' + QuotedStr(statusType);
// Add WHERE and ORDER clauses
SQL := SQL + whereSQL +
' ORDER BY o.ORDER_DATE DESC ' +
' LIMIT ' + IntToStr(PageSize) +
' OFFSET ' + IntToStr((PageNum - 1) * PageSize);
Result := SQL;
Logger.log(5, 'Generated SQL in Build order Query: ' + SQL);
finally
params.Free;
end;
end;
function TLookupService.generateSelectSQL(filterType, startDate, endDate: string): string; function TLookupService.generateSelectSQL(filterType, startDate, endDate: string): string;
begin begin
...@@ -520,11 +634,9 @@ begin ...@@ -520,11 +634,9 @@ begin
result.general_special_instructions := ordersDB.UniQuery1.FieldByName('general_special_instructions').AsString result.general_special_instructions := ordersDB.UniQuery1.FieldByName('general_special_instructions').AsString
else else
//result.specialInstructions := ordersDB.UniQuery1.FieldByName('general_comments').AsString //result.specialInstructions := ordersDB.UniQuery1.FieldByName('general_comments').AsString
end; end;
function TLookupService.GetItems(searchOptions: string): TItemList; function TLookupService.GetItems(searchOptions: string): TItemList;
var var
params: TStringList; params: TStringList;
...@@ -988,6 +1100,8 @@ begin ...@@ -988,6 +1100,8 @@ begin
end; end;
end; end;
initialization initialization
RegisterServiceType(TLookupService); RegisterServiceType(TLookupService);
......
object rptOrders: TrptOrders
OnCreate = DataModuleCreate
Height = 480
Width = 640
object frxOrders: TfrxReport
Version = '2024.2.1'
DotMatrixReport = False
IniFile = '\Software\Fast Reports'
PreviewOptions.Buttons = [pbPrint, pbLoad, pbSave, pbExport, pbZoom, pbFind, pbOutline, pbPageSetup, pbTools, pbEdit, pbNavigator, pbExportQuick, pbCopy, pbSelection]
PreviewOptions.Zoom = 1.000000000000000000
PrintOptions.Printer = 'Default'
PrintOptions.PrintOnSheet = 0
ReportOptions.CreateDate = 45642.449265416670000000
ReportOptions.LastChange = 45642.798259189820000000
ScriptLanguage = 'PascalScript'
ScriptText.Strings = (
'begin'
''
'end.')
Left = 288
Top = 222
Datasets = <
item
DataSet = frxDBOrders
DataSetName = 'frxDBOrders'
end>
Variables = <>
Style = <>
object Data: TfrxDataPage
Height = 1000.000000000000000000
Width = 1000.000000000000000000
end
object Page1: TfrxReportPage
Orientation = poLandscape
PaperWidth = 279.400000000000000000
PaperHeight = 215.900000000000000000
PaperSize = 1
LeftMargin = 10.000000000000000000
RightMargin = 10.000000000000000000
TopMargin = 10.000000000000000000
BottomMargin = 10.000000000000000000
Frame.Typ = []
MirrorMode = []
object ttlMain: TfrxReportTitle
FillType = ftBrush
FillGap.Top = 0
FillGap.Left = 0
FillGap.Bottom = 0
FillGap.Right = 0
Frame.Typ = []
Height = 22.677180000000000000
Top = 18.897650000000000000
Width = 980.410082000000000000
object Memo1: TfrxMemoView
AllowVectorExport = True
Left = 7.559059670000000000
Top = -0.000000230000000000
Width = 102.047313590000000000
Height = 18.897649770000000000
ContentScaleOptions.Constraints.MaxIterationValue = 0
ContentScaleOptions.Constraints.MinIterationValue = 0
Frame.Typ = []
Memo.UTF8W = (
'Order Schedule')
end
object frxDBDataset1COMPANY_NAME: TfrxMemoView
IndexTag = 1
AllowVectorExport = True
Left = 313.700990000000000000
Width = 343.937230000000000000
Height = 18.897650000000000000
ContentScaleOptions.Constraints.MaxIterationValue = 0
ContentScaleOptions.Constraints.MinIterationValue = 0
DataSet = frxDBOrders
DataSetName = 'frxDBOrders'
Frame.Typ = []
Memo.UTF8W = (
'Company Name - [frxDBDataset1."COMPANY_NAME"]')
end
end
object MasterData1: TfrxMasterData
FillType = ftBrush
FillGap.Top = 0
FillGap.Left = 0
FillGap.Bottom = 0
FillGap.Right = 0
Frame.Typ = []
Height = 612.283860000000000000
Top = 102.047310000000000000
Width = 980.410082000000000000
DataSet = frxDBOrders
DataSetName = 'frxDBOrders'
RowCount = 0
object TableObject1: TfrxTableObject
AllowVectorExport = True
Top = -0.000002780000000001
object TableColumn1: TfrxTableColumn
Width = 54.383237222222220000
MaxWidth = 75.590600000000000000
end
object TableColumn2: TfrxTableColumn
Width = 30.383237222222220000
MaxWidth = 75.590600000000000000
end
object TableColumn3: TfrxTableColumn
Width = 62.383237222222220000
MaxWidth = 75.590600000000000000
end
object TableColumn4: TfrxTableColumn
Width = 54.383237222222220000
MaxWidth = 75.590600000000000000
end
object TableColumn5: TfrxTableColumn
Width = 54.383237222222220000
MaxWidth = 75.590600000000000000
end
object TableColumn6: TfrxTableColumn
Width = 54.383237222222220000
MaxWidth = 75.590600000000000000
end
object TableColumn7: TfrxTableColumn
Width = 54.383237222222220000
MaxWidth = 75.590600000000000000
end
object TableColumn8: TfrxTableColumn
Width = 54.383237222222220000
MaxWidth = 75.590600000000000000
end
object TableColumn9: TfrxTableColumn
Width = 54.383237222222220000
MaxWidth = 75.590600000000000000
end
object TableColumn10: TfrxTableColumn
Width = 54.383237222222220000
MaxWidth = 75.590600000000000000
end
object TableColumn11: TfrxTableColumn
Width = 54.383237222222220000
MaxWidth = 75.590600000000000000
end
object TableColumn12: TfrxTableColumn
Width = 54.383237222222220000
MaxWidth = 75.590600000000000000
end
object TableColumn13: TfrxTableColumn
Width = 54.383237222222220000
MaxWidth = 75.590600000000000000
end
object TableColumn14: TfrxTableColumn
Width = 54.383237222222220000
MaxWidth = 75.590600000000000000
end
object TableColumn15: TfrxTableColumn
Width = 54.383237222222220000
MaxWidth = 75.590600000000000000
end
object TableColumn16: TfrxTableColumn
Width = 54.383237222222220000
MaxWidth = 75.590600000000000000
end
object TableColumn17: TfrxTableColumn
Width = 54.383237222222220000
MaxWidth = 75.590600000000000000
end
object TableColumn18: TfrxTableColumn
Width = 54.383237222222220000
MaxWidth = 75.590600000000000000
end
object TableRow1: TfrxTableRow
Height = 125.732364666666700000
object TableCell1: TfrxTableCell
AllowVectorExport = True
Restrictions = [rfDontDelete]
ContentScaleOptions.Constraints.MaxIterationValue = 0
ContentScaleOptions.Constraints.MinIterationValue = 0
Frame.Typ = [ftLeft, ftRight, ftTop, ftBottom]
Memo.UTF8W = (
'Order ID')
end
object TableCell2: TfrxTableCell
AllowVectorExport = True
Restrictions = [rfDontDelete]
ContentScaleOptions.Constraints.MaxIterationValue = 0
ContentScaleOptions.Constraints.MinIterationValue = 0
Frame.Typ = [ftLeft, ftRight, ftTop, ftBottom]
Memo.UTF8W = (
'Loc')
end
object TableCell3: TfrxTableCell
AllowVectorExport = True
Restrictions = [rfDontDelete]
ContentScaleOptions.Constraints.MaxIterationValue = 0
ContentScaleOptions.Constraints.MinIterationValue = 0
Frame.Typ = [ftLeft, ftRight, ftTop, ftBottom]
Memo.UTF8W = (
'Company Name')
end
object TableCell4: TfrxTableCell
AllowVectorExport = True
Restrictions = [rfDontDelete]
ContentScaleOptions.Constraints.MaxIterationValue = 0
ContentScaleOptions.Constraints.MinIterationValue = 0
Frame.Typ = [ftLeft, ftRight, ftTop, ftBottom]
Memo.UTF8W = (
'Job Name')
end
object TableCell5: TfrxTableCell
AllowVectorExport = True
Restrictions = [rfDontDelete]
ContentScaleOptions.Constraints.MaxIterationValue = 0
ContentScaleOptions.Constraints.MinIterationValue = 0
Frame.Typ = [ftLeft, ftRight, ftTop, ftBottom]
Memo.UTF8W = (
'Order Date')
end
object TableCell26: TfrxTableCell
AllowVectorExport = True
Restrictions = [rfDontDelete]
ContentScaleOptions.Constraints.MaxIterationValue = 0
ContentScaleOptions.Constraints.MinIterationValue = 0
Frame.Typ = [ftLeft, ftRight, ftTop, ftBottom]
Memo.UTF8W = (
'Proof Due')
end
object TableCell31: TfrxTableCell
AllowVectorExport = True
Restrictions = [rfDontDelete]
ContentScaleOptions.Constraints.MaxIterationValue = 0
ContentScaleOptions.Constraints.MinIterationValue = 0
Frame.Typ = [ftLeft, ftRight, ftTop, ftBottom]
Memo.UTF8W = (
'Proof Done')
end
object TableCell36: TfrxTableCell
AllowVectorExport = True
Restrictions = [rfDontDelete]
ContentScaleOptions.Constraints.MaxIterationValue = 0
ContentScaleOptions.Constraints.MinIterationValue = 0
Frame.Typ = [ftLeft, ftRight, ftTop, ftBottom]
Memo.UTF8W = (
'Art Due')
end
object TableCell41: TfrxTableCell
AllowVectorExport = True
Restrictions = [rfDontDelete]
ContentScaleOptions.Constraints.MaxIterationValue = 0
ContentScaleOptions.Constraints.MinIterationValue = 0
Frame.Typ = [ftLeft, ftRight, ftTop, ftBottom]
Memo.UTF8W = (
'Art Done')
end
object TableCell46: TfrxTableCell
AllowVectorExport = True
Restrictions = [rfDontDelete]
ContentScaleOptions.Constraints.MaxIterationValue = 0
ContentScaleOptions.Constraints.MinIterationValue = 0
Frame.Typ = [ftLeft, ftRight, ftTop, ftBottom]
Memo.UTF8W = (
'Plate Due')
end
object TableCell51: TfrxTableCell
AllowVectorExport = True
Restrictions = [rfDontDelete]
ContentScaleOptions.Constraints.MaxIterationValue = 0
ContentScaleOptions.Constraints.MinIterationValue = 0
Frame.Typ = [ftLeft, ftRight, ftTop, ftBottom]
Memo.UTF8W = (
'Plate Done')
end
object TableCell56: TfrxTableCell
AllowVectorExport = True
Restrictions = [rfDontDelete]
ContentScaleOptions.Constraints.MaxIterationValue = 0
ContentScaleOptions.Constraints.MinIterationValue = 0
Frame.Typ = [ftLeft, ftRight, ftTop, ftBottom]
Memo.UTF8W = (
'Mount Due')
end
object TableCell61: TfrxTableCell
AllowVectorExport = True
Restrictions = [rfDontDelete]
ContentScaleOptions.Constraints.MaxIterationValue = 0
ContentScaleOptions.Constraints.MinIterationValue = 0
Frame.Typ = [ftLeft, ftRight, ftTop, ftBottom]
Memo.UTF8W = (
'Mount Done')
end
object TableCell66: TfrxTableCell
AllowVectorExport = True
Restrictions = [rfDontDelete]
ContentScaleOptions.Constraints.MaxIterationValue = 0
ContentScaleOptions.Constraints.MinIterationValue = 0
Frame.Typ = [ftLeft, ftRight, ftTop, ftBottom]
Memo.UTF8W = (
'Ship Due')
end
object TableCell71: TfrxTableCell
AllowVectorExport = True
Restrictions = [rfDontDelete]
ContentScaleOptions.Constraints.MaxIterationValue = 0
ContentScaleOptions.Constraints.MinIterationValue = 0
Frame.Typ = [ftLeft, ftRight, ftTop, ftBottom]
Memo.UTF8W = (
'Ship Done')
end
object TableCell76: TfrxTableCell
AllowVectorExport = True
Restrictions = [rfDontDelete]
ContentScaleOptions.Constraints.MaxIterationValue = 0
ContentScaleOptions.Constraints.MinIterationValue = 0
Frame.Typ = [ftLeft, ftRight, ftTop, ftBottom]
Memo.UTF8W = (
'Price')
end
object TableCell81: TfrxTableCell
AllowVectorExport = True
Restrictions = [rfDontDelete]
ContentScaleOptions.Constraints.MaxIterationValue = 0
ContentScaleOptions.Constraints.MinIterationValue = 0
Frame.Typ = [ftLeft, ftRight, ftTop, ftBottom]
Memo.UTF8W = (
'QB Ref Num')
end
object TableCell86: TfrxTableCell
AllowVectorExport = True
Restrictions = [rfDontDelete]
ContentScaleOptions.Constraints.MaxIterationValue = 0
ContentScaleOptions.Constraints.MinIterationValue = 0
Frame.Typ = [ftLeft, ftRight, ftTop, ftBottom]
Memo.UTF8W = (
'Colors')
end
end
object TableRow2: TfrxTableRow
AutoSize = True
Height = 125.732364666666700000
object TableCell6: TfrxTableCell
AllowVectorExport = True
Restrictions = [rfDontDelete]
ContentScaleOptions.Constraints.MaxIterationValue = 0
ContentScaleOptions.Constraints.MinIterationValue = 0
DataField = 'ORDER_ID'
DataSet = frxDBOrders
DataSetName = 'frxDBOrders'
Frame.Typ = [ftLeft, ftRight, ftTop, ftBottom]
Memo.UTF8W = (
'[frxDBOrders."ORDER_ID"]')
end
object TableCell7: TfrxTableCell
AllowVectorExport = True
Restrictions = [rfDontDelete]
ContentScaleOptions.Constraints.MaxIterationValue = 0
ContentScaleOptions.Constraints.MinIterationValue = 0
DataField = 'LOCATION'
DataSet = frxDBOrders
DataSetName = 'frxDBOrders'
Frame.Typ = [ftLeft, ftRight, ftTop, ftBottom]
Memo.UTF8W = (
'[frxDBOrders."LOCATION"]')
end
object TableCell8: TfrxTableCell
AllowVectorExport = True
Restrictions = [rfDontDelete]
ContentScaleOptions.Constraints.MaxIterationValue = 0
ContentScaleOptions.Constraints.MinIterationValue = 0
DataField = 'COMPANY_NAME'
DataSet = frxDBOrders
DataSetName = 'frxDBOrders'
Frame.Typ = [ftLeft, ftRight, ftTop, ftBottom]
Memo.UTF8W = (
'[frxDBOrders."COMPANY_NAME"]')
end
object TableCell9: TfrxTableCell
AllowVectorExport = True
Restrictions = [rfDontDelete]
DataField = 'JOB_NAME'
DataSet = frxDBOrders
DataSetName = 'frxDBOrders'
Frame.Typ = [ftLeft, ftRight, ftTop, ftBottom]
Memo.UTF8W = (
'[frxDBOrders."JOB_NAME"]')
end
object TableCell10: TfrxTableCell
AllowVectorExport = True
Restrictions = [rfDontDelete]
DataField = 'ORDER_DATE'
DataSet = frxDBOrders
DataSetName = 'frxDBOrders'
Frame.Typ = [ftLeft, ftRight, ftTop, ftBottom]
Memo.UTF8W = (
'[frxDBOrders."ORDER_DATE"]')
end
object TableCell27: TfrxTableCell
AllowVectorExport = True
Restrictions = [rfDontDelete]
DataField = 'PROOF_DUE'
DataSet = frxDBOrders
DataSetName = 'frxDBOrders'
Frame.Typ = [ftLeft, ftRight, ftTop, ftBottom]
Memo.UTF8W = (
'[frxDBOrders."PROOF_DUE"]')
end
object TableCell32: TfrxTableCell
AllowVectorExport = True
Restrictions = [rfDontDelete]
DataField = 'PROOF_DONE'
DataSet = frxDBOrders
DataSetName = 'frxDBOrders'
Frame.Typ = [ftLeft, ftRight, ftTop, ftBottom]
Memo.UTF8W = (
'[frxDBOrders."PROOF_DONE"]')
end
object TableCell37: TfrxTableCell
AllowVectorExport = True
Restrictions = [rfDontDelete]
DataField = 'ART_DUE'
DataSet = frxDBOrders
DataSetName = 'frxDBOrders'
Frame.Typ = [ftLeft, ftRight, ftTop, ftBottom]
Memo.UTF8W = (
'[frxDBOrders."ART_DUE"]')
end
object TableCell42: TfrxTableCell
AllowVectorExport = True
Restrictions = [rfDontDelete]
DataField = 'ART_DONE'
DataSet = frxDBOrders
DataSetName = 'frxDBOrders'
Frame.Typ = [ftLeft, ftRight, ftTop, ftBottom]
Memo.UTF8W = (
'[frxDBOrders."ART_DONE"]')
end
object TableCell47: TfrxTableCell
AllowVectorExport = True
Restrictions = [rfDontDelete]
DataField = 'PLATE_DUE'
DataSet = frxDBOrders
DataSetName = 'frxDBOrders'
Frame.Typ = [ftLeft, ftRight, ftTop, ftBottom]
Memo.UTF8W = (
'[frxDBOrders."PLATE_DUE"]')
end
object TableCell52: TfrxTableCell
AllowVectorExport = True
Restrictions = [rfDontDelete]
DataField = 'PLATE_DONE'
DataSet = frxDBOrders
DataSetName = 'frxDBOrders'
Frame.Typ = [ftLeft, ftRight, ftTop, ftBottom]
Memo.UTF8W = (
'[frxDBOrders."PLATE_DONE"]')
end
object TableCell57: TfrxTableCell
AllowVectorExport = True
Restrictions = [rfDontDelete]
ContentScaleOptions.Constraints.MaxIterationValue = 0
ContentScaleOptions.Constraints.MinIterationValue = 0
DataField = 'MOUNT_DUE'
DataSet = frxDBOrders
DataSetName = 'frxDBOrders'
Frame.Typ = [ftLeft, ftRight, ftTop, ftBottom]
Memo.UTF8W = (
'[frxDBOrders."MOUNT_DUE"]')
end
object TableCell62: TfrxTableCell
AllowVectorExport = True
Restrictions = [rfDontDelete]
DataField = 'MOUNT_DONE'
DataSet = frxDBOrders
DataSetName = 'frxDBOrders'
Frame.Typ = [ftLeft, ftRight, ftTop, ftBottom]
Memo.UTF8W = (
'[frxDBOrders."MOUNT_DONE"]')
end
object TableCell67: TfrxTableCell
AllowVectorExport = True
Restrictions = [rfDontDelete]
DataField = 'SHIP_DUE'
DataSet = frxDBOrders
DataSetName = 'frxDBOrders'
Frame.Typ = [ftLeft, ftRight, ftTop, ftBottom]
Memo.UTF8W = (
'[frxDBOrders."SHIP_DUE"]')
end
object TableCell72: TfrxTableCell
AllowVectorExport = True
Restrictions = [rfDontDelete]
DataField = 'SHIP_DONE'
DataSet = frxDBOrders
DataSetName = 'frxDBOrders'
Frame.Typ = [ftLeft, ftRight, ftTop, ftBottom]
Memo.UTF8W = (
'[frxDBOrders."SHIP_DONE"]')
end
object TableCell77: TfrxTableCell
AllowVectorExport = True
Restrictions = [rfDontDelete]
DataField = 'PRICE'
DataSet = frxDBOrders
DataSetName = 'frxDBOrders'
Frame.Typ = [ftLeft, ftRight, ftTop, ftBottom]
Memo.UTF8W = (
'[frxDBOrders."PRICE"]')
end
object TableCell82: TfrxTableCell
AllowVectorExport = True
Restrictions = [rfDontDelete]
DataField = 'QB_REF_NUM'
DataSet = frxDBOrders
DataSetName = 'frxDBOrders'
Frame.Typ = [ftLeft, ftRight, ftTop, ftBottom]
Memo.UTF8W = (
'[frxDBOrders."QB_REF_NUM"]')
end
object TableCell87: TfrxTableCell
AllowVectorExport = True
Restrictions = [rfDontDelete]
DataField = 'COLORS'
DataSet = frxDBOrders
DataSetName = 'frxDBOrders'
Frame.Typ = [ftLeft, ftRight, ftTop, ftBottom]
Memo.UTF8W = (
'[frxDBOrders."COLORS"]')
end
end
object TableRow3: TfrxTableRow
Height = 51.653576666666670000
object TableCell38: TfrxTableCell
AllowVectorExport = True
Restrictions = [rfDontDelete]
Frame.Typ = [ftLeft, ftRight, ftTop, ftBottom]
end
object TableCell39: TfrxTableCell
AllowVectorExport = True
Restrictions = [rfDontDelete]
Frame.Typ = [ftLeft, ftRight, ftTop, ftBottom]
end
object TableCell40: TfrxTableCell
AllowVectorExport = True
Restrictions = [rfDontDelete]
Frame.Typ = [ftLeft, ftRight, ftTop, ftBottom]
end
object TableCell43: TfrxTableCell
AllowVectorExport = True
Restrictions = [rfDontDelete]
Frame.Typ = [ftLeft, ftRight, ftTop, ftBottom]
end
object TableCell44: TfrxTableCell
AllowVectorExport = True
Restrictions = [rfDontDelete]
Frame.Typ = [ftLeft, ftRight, ftTop, ftBottom]
end
object TableCell45: TfrxTableCell
AllowVectorExport = True
Restrictions = [rfDontDelete]
Frame.Typ = [ftLeft, ftRight, ftTop, ftBottom]
end
object TableCell48: TfrxTableCell
AllowVectorExport = True
Restrictions = [rfDontDelete]
Frame.Typ = [ftLeft, ftRight, ftTop, ftBottom]
end
object TableCell49: TfrxTableCell
AllowVectorExport = True
Restrictions = [rfDontDelete]
Frame.Typ = [ftLeft, ftRight, ftTop, ftBottom]
end
object TableCell50: TfrxTableCell
AllowVectorExport = True
Restrictions = [rfDontDelete]
Frame.Typ = [ftLeft, ftRight, ftTop, ftBottom]
end
object TableCell53: TfrxTableCell
AllowVectorExport = True
Restrictions = [rfDontDelete]
Frame.Typ = [ftLeft, ftRight, ftTop, ftBottom]
end
object TableCell54: TfrxTableCell
AllowVectorExport = True
Restrictions = [rfDontDelete]
Frame.Typ = [ftLeft, ftRight, ftTop, ftBottom]
end
object TableCell55: TfrxTableCell
AllowVectorExport = True
Restrictions = [rfDontDelete]
Frame.Typ = [ftLeft, ftRight, ftTop, ftBottom]
end
object TableCell58: TfrxTableCell
AllowVectorExport = True
Restrictions = [rfDontDelete]
Frame.Typ = [ftLeft, ftRight, ftTop, ftBottom]
end
object TableCell59: TfrxTableCell
AllowVectorExport = True
Restrictions = [rfDontDelete]
Frame.Typ = [ftLeft, ftRight, ftTop, ftBottom]
end
object TableCell60: TfrxTableCell
AllowVectorExport = True
Restrictions = [rfDontDelete]
Frame.Typ = [ftLeft, ftRight, ftTop, ftBottom]
end
object TableCell63: TfrxTableCell
AllowVectorExport = True
Restrictions = [rfDontDelete]
Frame.Typ = [ftLeft, ftRight, ftTop, ftBottom]
end
object TableCell64: TfrxTableCell
AllowVectorExport = True
Restrictions = [rfDontDelete]
Frame.Typ = [ftLeft, ftRight, ftTop, ftBottom]
end
object TableCell65: TfrxTableCell
AllowVectorExport = True
Restrictions = [rfDontDelete]
Frame.Typ = [ftLeft, ftRight, ftTop, ftBottom]
end
end
object TableRow4: TfrxTableRow
Height = 51.653576666666670000
object TableCell68: TfrxTableCell
AllowVectorExport = True
Restrictions = [rfDontDelete]
Frame.Typ = [ftLeft, ftRight, ftTop, ftBottom]
end
object TableCell69: TfrxTableCell
AllowVectorExport = True
Restrictions = [rfDontDelete]
Frame.Typ = [ftLeft, ftRight, ftTop, ftBottom]
end
object TableCell70: TfrxTableCell
AllowVectorExport = True
Restrictions = [rfDontDelete]
Frame.Typ = [ftLeft, ftRight, ftTop, ftBottom]
end
object TableCell73: TfrxTableCell
AllowVectorExport = True
Restrictions = [rfDontDelete]
Frame.Typ = [ftLeft, ftRight, ftTop, ftBottom]
end
object TableCell74: TfrxTableCell
AllowVectorExport = True
Restrictions = [rfDontDelete]
Frame.Typ = [ftLeft, ftRight, ftTop, ftBottom]
end
object TableCell75: TfrxTableCell
AllowVectorExport = True
Restrictions = [rfDontDelete]
Frame.Typ = [ftLeft, ftRight, ftTop, ftBottom]
end
object TableCell78: TfrxTableCell
AllowVectorExport = True
Restrictions = [rfDontDelete]
Frame.Typ = [ftLeft, ftRight, ftTop, ftBottom]
end
object TableCell79: TfrxTableCell
AllowVectorExport = True
Restrictions = [rfDontDelete]
Frame.Typ = [ftLeft, ftRight, ftTop, ftBottom]
end
object TableCell80: TfrxTableCell
AllowVectorExport = True
Restrictions = [rfDontDelete]
Frame.Typ = [ftLeft, ftRight, ftTop, ftBottom]
end
object TableCell83: TfrxTableCell
AllowVectorExport = True
Restrictions = [rfDontDelete]
Frame.Typ = [ftLeft, ftRight, ftTop, ftBottom]
end
object TableCell84: TfrxTableCell
AllowVectorExport = True
Restrictions = [rfDontDelete]
Frame.Typ = [ftLeft, ftRight, ftTop, ftBottom]
end
object TableCell85: TfrxTableCell
AllowVectorExport = True
Restrictions = [rfDontDelete]
Frame.Typ = [ftLeft, ftRight, ftTop, ftBottom]
end
object TableCell88: TfrxTableCell
AllowVectorExport = True
Restrictions = [rfDontDelete]
Frame.Typ = [ftLeft, ftRight, ftTop, ftBottom]
end
object TableCell89: TfrxTableCell
AllowVectorExport = True
Restrictions = [rfDontDelete]
Frame.Typ = [ftLeft, ftRight, ftTop, ftBottom]
end
object TableCell90: TfrxTableCell
AllowVectorExport = True
Restrictions = [rfDontDelete]
Frame.Typ = [ftLeft, ftRight, ftTop, ftBottom]
end
object TableCell91: TfrxTableCell
AllowVectorExport = True
Restrictions = [rfDontDelete]
Frame.Typ = [ftLeft, ftRight, ftTop, ftBottom]
end
object TableCell92: TfrxTableCell
AllowVectorExport = True
Restrictions = [rfDontDelete]
Frame.Typ = [ftLeft, ftRight, ftTop, ftBottom]
end
object TableCell93: TfrxTableCell
AllowVectorExport = True
Restrictions = [rfDontDelete]
Frame.Typ = [ftLeft, ftRight, ftTop, ftBottom]
end
end
object TableRow5: TfrxTableRow
Height = 51.653576666666670000
object TableCell94: TfrxTableCell
AllowVectorExport = True
Restrictions = [rfDontDelete]
Frame.Typ = [ftLeft, ftRight, ftTop, ftBottom]
end
object TableCell95: TfrxTableCell
AllowVectorExport = True
Restrictions = [rfDontDelete]
Frame.Typ = [ftLeft, ftRight, ftTop, ftBottom]
end
object TableCell96: TfrxTableCell
AllowVectorExport = True
Restrictions = [rfDontDelete]
Frame.Typ = [ftLeft, ftRight, ftTop, ftBottom]
end
object TableCell97: TfrxTableCell
AllowVectorExport = True
Restrictions = [rfDontDelete]
Frame.Typ = [ftLeft, ftRight, ftTop, ftBottom]
end
object TableCell98: TfrxTableCell
AllowVectorExport = True
Restrictions = [rfDontDelete]
Frame.Typ = [ftLeft, ftRight, ftTop, ftBottom]
end
object TableCell99: TfrxTableCell
AllowVectorExport = True
Restrictions = [rfDontDelete]
Frame.Typ = [ftLeft, ftRight, ftTop, ftBottom]
end
object TableCell100: TfrxTableCell
AllowVectorExport = True
Restrictions = [rfDontDelete]
Frame.Typ = [ftLeft, ftRight, ftTop, ftBottom]
end
object TableCell101: TfrxTableCell
AllowVectorExport = True
Restrictions = [rfDontDelete]
Frame.Typ = [ftLeft, ftRight, ftTop, ftBottom]
end
object TableCell102: TfrxTableCell
AllowVectorExport = True
Restrictions = [rfDontDelete]
Frame.Typ = [ftLeft, ftRight, ftTop, ftBottom]
end
object TableCell103: TfrxTableCell
AllowVectorExport = True
Restrictions = [rfDontDelete]
Frame.Typ = [ftLeft, ftRight, ftTop, ftBottom]
end
object TableCell104: TfrxTableCell
AllowVectorExport = True
Restrictions = [rfDontDelete]
Frame.Typ = [ftLeft, ftRight, ftTop, ftBottom]
end
object TableCell105: TfrxTableCell
AllowVectorExport = True
Restrictions = [rfDontDelete]
Frame.Typ = [ftLeft, ftRight, ftTop, ftBottom]
end
object TableCell106: TfrxTableCell
AllowVectorExport = True
Restrictions = [rfDontDelete]
Frame.Typ = [ftLeft, ftRight, ftTop, ftBottom]
end
object TableCell107: TfrxTableCell
AllowVectorExport = True
Restrictions = [rfDontDelete]
Frame.Typ = [ftLeft, ftRight, ftTop, ftBottom]
end
object TableCell108: TfrxTableCell
AllowVectorExport = True
Restrictions = [rfDontDelete]
Frame.Typ = [ftLeft, ftRight, ftTop, ftBottom]
end
object TableCell109: TfrxTableCell
AllowVectorExport = True
Restrictions = [rfDontDelete]
Frame.Typ = [ftLeft, ftRight, ftTop, ftBottom]
end
object TableCell110: TfrxTableCell
AllowVectorExport = True
Restrictions = [rfDontDelete]
Frame.Typ = [ftLeft, ftRight, ftTop, ftBottom]
end
object TableCell111: TfrxTableCell
AllowVectorExport = True
Restrictions = [rfDontDelete]
Frame.Typ = [ftLeft, ftRight, ftTop, ftBottom]
end
end
object TableRow6: TfrxTableRow
Height = 51.653576666666670000
object TableCell112: TfrxTableCell
AllowVectorExport = True
Restrictions = [rfDontDelete]
Frame.Typ = [ftLeft, ftRight, ftTop, ftBottom]
end
object TableCell113: TfrxTableCell
AllowVectorExport = True
Restrictions = [rfDontDelete]
Frame.Typ = [ftLeft, ftRight, ftTop, ftBottom]
end
object TableCell114: TfrxTableCell
AllowVectorExport = True
Restrictions = [rfDontDelete]
Frame.Typ = [ftLeft, ftRight, ftTop, ftBottom]
end
object TableCell115: TfrxTableCell
AllowVectorExport = True
Restrictions = [rfDontDelete]
Frame.Typ = [ftLeft, ftRight, ftTop, ftBottom]
end
object TableCell116: TfrxTableCell
AllowVectorExport = True
Restrictions = [rfDontDelete]
Frame.Typ = [ftLeft, ftRight, ftTop, ftBottom]
end
object TableCell117: TfrxTableCell
AllowVectorExport = True
Restrictions = [rfDontDelete]
Frame.Typ = [ftLeft, ftRight, ftTop, ftBottom]
end
object TableCell118: TfrxTableCell
AllowVectorExport = True
Restrictions = [rfDontDelete]
Frame.Typ = [ftLeft, ftRight, ftTop, ftBottom]
end
object TableCell119: TfrxTableCell
AllowVectorExport = True
Restrictions = [rfDontDelete]
Frame.Typ = [ftLeft, ftRight, ftTop, ftBottom]
end
object TableCell120: TfrxTableCell
AllowVectorExport = True
Restrictions = [rfDontDelete]
Frame.Typ = [ftLeft, ftRight, ftTop, ftBottom]
end
object TableCell121: TfrxTableCell
AllowVectorExport = True
Restrictions = [rfDontDelete]
Frame.Typ = [ftLeft, ftRight, ftTop, ftBottom]
end
object TableCell122: TfrxTableCell
AllowVectorExport = True
Restrictions = [rfDontDelete]
Frame.Typ = [ftLeft, ftRight, ftTop, ftBottom]
end
object TableCell123: TfrxTableCell
AllowVectorExport = True
Restrictions = [rfDontDelete]
Frame.Typ = [ftLeft, ftRight, ftTop, ftBottom]
end
object TableCell124: TfrxTableCell
AllowVectorExport = True
Restrictions = [rfDontDelete]
Frame.Typ = [ftLeft, ftRight, ftTop, ftBottom]
end
object TableCell125: TfrxTableCell
AllowVectorExport = True
Restrictions = [rfDontDelete]
Frame.Typ = [ftLeft, ftRight, ftTop, ftBottom]
end
object TableCell126: TfrxTableCell
AllowVectorExport = True
Restrictions = [rfDontDelete]
Frame.Typ = [ftLeft, ftRight, ftTop, ftBottom]
end
object TableCell127: TfrxTableCell
AllowVectorExport = True
Restrictions = [rfDontDelete]
Frame.Typ = [ftLeft, ftRight, ftTop, ftBottom]
end
object TableCell128: TfrxTableCell
AllowVectorExport = True
Restrictions = [rfDontDelete]
Frame.Typ = [ftLeft, ftRight, ftTop, ftBottom]
end
object TableCell129: TfrxTableCell
AllowVectorExport = True
Restrictions = [rfDontDelete]
Frame.Typ = [ftLeft, ftRight, ftTop, ftBottom]
end
end
object TableRow7: TfrxTableRow
Height = 51.653576666666670000
object TableCell130: TfrxTableCell
AllowVectorExport = True
Restrictions = [rfDontDelete]
Frame.Typ = [ftLeft, ftRight, ftTop, ftBottom]
end
object TableCell131: TfrxTableCell
AllowVectorExport = True
Restrictions = [rfDontDelete]
Frame.Typ = [ftLeft, ftRight, ftTop, ftBottom]
end
object TableCell132: TfrxTableCell
AllowVectorExport = True
Restrictions = [rfDontDelete]
Frame.Typ = [ftLeft, ftRight, ftTop, ftBottom]
end
object TableCell133: TfrxTableCell
AllowVectorExport = True
Restrictions = [rfDontDelete]
Frame.Typ = [ftLeft, ftRight, ftTop, ftBottom]
end
object TableCell134: TfrxTableCell
AllowVectorExport = True
Restrictions = [rfDontDelete]
Frame.Typ = [ftLeft, ftRight, ftTop, ftBottom]
end
object TableCell135: TfrxTableCell
AllowVectorExport = True
Restrictions = [rfDontDelete]
Frame.Typ = [ftLeft, ftRight, ftTop, ftBottom]
end
object TableCell136: TfrxTableCell
AllowVectorExport = True
Restrictions = [rfDontDelete]
Frame.Typ = [ftLeft, ftRight, ftTop, ftBottom]
end
object TableCell137: TfrxTableCell
AllowVectorExport = True
Restrictions = [rfDontDelete]
Frame.Typ = [ftLeft, ftRight, ftTop, ftBottom]
end
object TableCell138: TfrxTableCell
AllowVectorExport = True
Restrictions = [rfDontDelete]
Frame.Typ = [ftLeft, ftRight, ftTop, ftBottom]
end
object TableCell139: TfrxTableCell
AllowVectorExport = True
Restrictions = [rfDontDelete]
Frame.Typ = [ftLeft, ftRight, ftTop, ftBottom]
end
object TableCell140: TfrxTableCell
AllowVectorExport = True
Restrictions = [rfDontDelete]
Frame.Typ = [ftLeft, ftRight, ftTop, ftBottom]
end
object TableCell141: TfrxTableCell
AllowVectorExport = True
Restrictions = [rfDontDelete]
Frame.Typ = [ftLeft, ftRight, ftTop, ftBottom]
end
object TableCell142: TfrxTableCell
AllowVectorExport = True
Restrictions = [rfDontDelete]
Frame.Typ = [ftLeft, ftRight, ftTop, ftBottom]
end
object TableCell143: TfrxTableCell
AllowVectorExport = True
Restrictions = [rfDontDelete]
Frame.Typ = [ftLeft, ftRight, ftTop, ftBottom]
end
object TableCell144: TfrxTableCell
AllowVectorExport = True
Restrictions = [rfDontDelete]
Frame.Typ = [ftLeft, ftRight, ftTop, ftBottom]
end
object TableCell145: TfrxTableCell
AllowVectorExport = True
Restrictions = [rfDontDelete]
Frame.Typ = [ftLeft, ftRight, ftTop, ftBottom]
end
object TableCell146: TfrxTableCell
AllowVectorExport = True
Restrictions = [rfDontDelete]
Frame.Typ = [ftLeft, ftRight, ftTop, ftBottom]
end
object TableCell147: TfrxTableCell
AllowVectorExport = True
Restrictions = [rfDontDelete]
Frame.Typ = [ftLeft, ftRight, ftTop, ftBottom]
end
end
object TableRow8: TfrxTableRow
Height = 51.653576666666670000
object TableCell148: TfrxTableCell
AllowVectorExport = True
Restrictions = [rfDontDelete]
Frame.Typ = [ftLeft, ftRight, ftTop, ftBottom]
end
object TableCell149: TfrxTableCell
AllowVectorExport = True
Restrictions = [rfDontDelete]
Frame.Typ = [ftLeft, ftRight, ftTop, ftBottom]
end
object TableCell150: TfrxTableCell
AllowVectorExport = True
Restrictions = [rfDontDelete]
Frame.Typ = [ftLeft, ftRight, ftTop, ftBottom]
end
object TableCell151: TfrxTableCell
AllowVectorExport = True
Restrictions = [rfDontDelete]
Frame.Typ = [ftLeft, ftRight, ftTop, ftBottom]
end
object TableCell152: TfrxTableCell
AllowVectorExport = True
Restrictions = [rfDontDelete]
Frame.Typ = [ftLeft, ftRight, ftTop, ftBottom]
end
object TableCell153: TfrxTableCell
AllowVectorExport = True
Restrictions = [rfDontDelete]
Frame.Typ = [ftLeft, ftRight, ftTop, ftBottom]
end
object TableCell154: TfrxTableCell
AllowVectorExport = True
Restrictions = [rfDontDelete]
Frame.Typ = [ftLeft, ftRight, ftTop, ftBottom]
end
object TableCell155: TfrxTableCell
AllowVectorExport = True
Restrictions = [rfDontDelete]
Frame.Typ = [ftLeft, ftRight, ftTop, ftBottom]
end
object TableCell156: TfrxTableCell
AllowVectorExport = True
Restrictions = [rfDontDelete]
Frame.Typ = [ftLeft, ftRight, ftTop, ftBottom]
end
object TableCell157: TfrxTableCell
AllowVectorExport = True
Restrictions = [rfDontDelete]
Frame.Typ = [ftLeft, ftRight, ftTop, ftBottom]
end
object TableCell158: TfrxTableCell
AllowVectorExport = True
Restrictions = [rfDontDelete]
Frame.Typ = [ftLeft, ftRight, ftTop, ftBottom]
end
object TableCell159: TfrxTableCell
AllowVectorExport = True
Restrictions = [rfDontDelete]
Frame.Typ = [ftLeft, ftRight, ftTop, ftBottom]
end
object TableCell160: TfrxTableCell
AllowVectorExport = True
Restrictions = [rfDontDelete]
Frame.Typ = [ftLeft, ftRight, ftTop, ftBottom]
end
object TableCell161: TfrxTableCell
AllowVectorExport = True
Restrictions = [rfDontDelete]
Frame.Typ = [ftLeft, ftRight, ftTop, ftBottom]
end
object TableCell162: TfrxTableCell
AllowVectorExport = True
Restrictions = [rfDontDelete]
Frame.Typ = [ftLeft, ftRight, ftTop, ftBottom]
end
object TableCell163: TfrxTableCell
AllowVectorExport = True
Restrictions = [rfDontDelete]
Frame.Typ = [ftLeft, ftRight, ftTop, ftBottom]
end
object TableCell164: TfrxTableCell
AllowVectorExport = True
Restrictions = [rfDontDelete]
Frame.Typ = [ftLeft, ftRight, ftTop, ftBottom]
end
object TableCell165: TfrxTableCell
AllowVectorExport = True
Restrictions = [rfDontDelete]
Frame.Typ = [ftLeft, ftRight, ftTop, ftBottom]
end
end
object TableRow9: TfrxTableRow
Height = 51.653576666666670000
object TableCell166: TfrxTableCell
AllowVectorExport = True
Restrictions = [rfDontDelete]
Frame.Typ = [ftLeft, ftRight, ftTop, ftBottom]
end
object TableCell167: TfrxTableCell
AllowVectorExport = True
Restrictions = [rfDontDelete]
Frame.Typ = [ftLeft, ftRight, ftTop, ftBottom]
end
object TableCell168: TfrxTableCell
AllowVectorExport = True
Restrictions = [rfDontDelete]
Frame.Typ = [ftLeft, ftRight, ftTop, ftBottom]
end
object TableCell169: TfrxTableCell
AllowVectorExport = True
Restrictions = [rfDontDelete]
Frame.Typ = [ftLeft, ftRight, ftTop, ftBottom]
end
object TableCell170: TfrxTableCell
AllowVectorExport = True
Restrictions = [rfDontDelete]
Frame.Typ = [ftLeft, ftRight, ftTop, ftBottom]
end
object TableCell171: TfrxTableCell
AllowVectorExport = True
Restrictions = [rfDontDelete]
Frame.Typ = [ftLeft, ftRight, ftTop, ftBottom]
end
object TableCell172: TfrxTableCell
AllowVectorExport = True
Restrictions = [rfDontDelete]
Frame.Typ = [ftLeft, ftRight, ftTop, ftBottom]
end
object TableCell173: TfrxTableCell
AllowVectorExport = True
Restrictions = [rfDontDelete]
Frame.Typ = [ftLeft, ftRight, ftTop, ftBottom]
end
object TableCell174: TfrxTableCell
AllowVectorExport = True
Restrictions = [rfDontDelete]
Frame.Typ = [ftLeft, ftRight, ftTop, ftBottom]
end
object TableCell175: TfrxTableCell
AllowVectorExport = True
Restrictions = [rfDontDelete]
Frame.Typ = [ftLeft, ftRight, ftTop, ftBottom]
end
object TableCell176: TfrxTableCell
AllowVectorExport = True
Restrictions = [rfDontDelete]
Frame.Typ = [ftLeft, ftRight, ftTop, ftBottom]
end
object TableCell177: TfrxTableCell
AllowVectorExport = True
Restrictions = [rfDontDelete]
Frame.Typ = [ftLeft, ftRight, ftTop, ftBottom]
end
object TableCell178: TfrxTableCell
AllowVectorExport = True
Restrictions = [rfDontDelete]
Frame.Typ = [ftLeft, ftRight, ftTop, ftBottom]
end
object TableCell179: TfrxTableCell
AllowVectorExport = True
Restrictions = [rfDontDelete]
Frame.Typ = [ftLeft, ftRight, ftTop, ftBottom]
end
object TableCell180: TfrxTableCell
AllowVectorExport = True
Restrictions = [rfDontDelete]
Frame.Typ = [ftLeft, ftRight, ftTop, ftBottom]
end
object TableCell181: TfrxTableCell
AllowVectorExport = True
Restrictions = [rfDontDelete]
Frame.Typ = [ftLeft, ftRight, ftTop, ftBottom]
end
object TableCell182: TfrxTableCell
AllowVectorExport = True
Restrictions = [rfDontDelete]
Frame.Typ = [ftLeft, ftRight, ftTop, ftBottom]
end
object TableCell183: TfrxTableCell
AllowVectorExport = True
Restrictions = [rfDontDelete]
Frame.Typ = [ftLeft, ftRight, ftTop, ftBottom]
end
end
end
end
end
end
object frxPDFExport1: TfrxPDFExport
UseFileCache = True
ShowProgress = True
OverwritePrompt = False
DataOnly = False
EmbedFontsIfProtected = False
InteractiveFormsFontSubset = 'A-Z,a-z,0-9,#43-#47 '
OpenAfterExport = False
PrintOptimized = False
Outline = False
Background = False
HTMLTags = True
Quality = 95
Author = 'FastReport'
Subject = 'FastReport PDF export'
Creator = 'FastReport'
ProtectionFlags = [ePrint, eModify, eCopy, eAnnot]
HideToolbar = False
HideMenubar = False
HideWindowUI = False
FitWindow = False
CenterWindow = False
PrintScaling = False
PdfA = False
PDFStandard = psNone
PDFVersion = pv17
Left = 288
Top = 166
end
object ucKG: TUniConnection
ProviderName = 'MySQL'
Database = 'kg_order_entry'
Username = 'root'
Server = '192.168.102.130'
Connected = True
LoginPrompt = False
Left = 289
Top = 99
EncryptedPassword = '9AFF92FF8CFF86FF8CFFCFFFCEFF'
end
object uqOrders: TUniQuery
Connection = ucKG
SQL.Strings = (
'SELECT '
' 18947 AS ORDER_ID,'
' '#39'B'#39' AS LOCATION,'
' '#39'CHOICE CANNING'#39' AS COMPANY_NAME,'
' '#39'TYOGA CONTAINER'#39' AS JOB_NAME,'
' '#39'2024-12-16'#39' AS ORDER_DATE,'
' '#39'2024-12-03 04:35'#39' AS PROOF_DUE,'
' '#39'2024-11-27 14:17'#39' AS PROOF_DONE,'
' '#39'2024-11-29'#39' AS ART_DUE,'
' '#39'2024-11-26 15:00'#39' AS ART_DONE,'
' '#39'2024-12-02 06:12'#39' AS PLATE_DUE,'
' '#39'2024-12-03 08:58'#39' AS PLATE_DONE,'
' '#39'2024-12-23 08:00'#39' AS MOUNT_DUE,'
' '#39'2024-12-23 15:00'#39' AS MOUNT_DONE,'
' '#39'2024-12-24 08:00'#39' AS SHIP_DUE,'
' '#39'2024-12-24 15:00'#39' AS SHIP_DONE, '
' 323.0 AS PRICE,'
' 1 AS QB_REF_NUM,'
' 3 AS COLORS'
'FROM DUAL'
'')
Active = True
Left = 415
Top = 136
end
object frxReportTableObject1: TfrxReportTableObject
Left = 300
Top = 312
end
object frxDBOrders: TfrxDBDataset
UserName = 'frxDBOrders'
CloseDataSource = False
DataSet = uqOrders
BCDToCurrency = False
DataSetOptions = []
Left = 424
Top = 224
FieldDefs = <
item
FieldName = 'ORDER_ID'
end
item
FieldName = 'COMPANY_ID'
end
item
FieldName = 'USER_ID'
end
item
FieldName = 'ORDER_DATE'
FieldType = fftString
end
item
FieldName = 'START_DATE'
FieldType = fftDateTime
end
item
FieldName = 'END_DATE'
FieldType = fftDateTime
end
item
FieldName = 'ORDER_STATUS'
FieldType = fftString
end
item
FieldName = 'SCHED_JSON'
FieldType = fftString
Size = 4096
end
item
FieldName = 'LOCATION'
FieldType = fftString
end
item
FieldName = 'JOB_NAME'
FieldType = fftString
Size = 15
end
item
FieldName = 'COMPANY_NAME'
FieldType = fftString
Size = 14
end
item
FieldName = 'PROOF_DUE'
FieldType = fftString
Size = 16
end
item
FieldName = 'PROOF_DONE'
FieldType = fftString
Size = 16
end
item
FieldName = 'ART_DUE'
FieldType = fftString
end
item
FieldName = 'ART_DONE'
FieldType = fftString
Size = 16
end
item
FieldName = 'PLATE_DUE'
FieldType = fftString
Size = 16
end
item
FieldName = 'PLATE_DONE'
FieldType = fftString
Size = 16
end
item
FieldName = 'PRICE'
end
item
FieldName = 'QB_REF_NUM'
end
item
FieldName = 'MOUNT_DUE'
FieldType = fftString
Size = 16
end
item
FieldName = 'MOUNT_DONE'
FieldType = fftString
Size = 16
end
item
FieldName = 'SHIP_DUE'
FieldType = fftString
Size = 16
end
item
FieldName = 'SHIP_DONE'
FieldType = fftString
Size = 16
end
item
FieldName = 'COLORS'
end>
end
end
unit rOrders;
interface
uses
System.SysUtils, System.Classes, frxClass, frxExportBaseDialog, frxExportPDF,
Data.DB, DBAccess, Uni, UniProvider, MySQLUniProvider, System.IniFiles, Vcl.Forms,
MemDS, frxDBSet, frxTableObject, frCoreClasses, Common.Logging, System.IOUtils;
type
TrptOrders = class(TDataModule)
frxOrders: TfrxReport;
frxPDFExport1: TfrxPDFExport;
ucKG: TUniConnection;
uqOrders: TUniQuery;
frxReportTableObject1: TfrxReportTableObject;
frxDBOrders: TfrxDBDataset;
procedure DataModuleCreate(Sender: TObject);
private
public
procedure GenerateSimpleReport(OrderID: Integer);
procedure PrepareReport(const SQL: string);
procedure GeneratePDF;
end;
var
rptOrders: TrptOrders;
implementation
{%CLASSGROUP 'Vcl.Controls.TControl'}
{$R *.dfm}
procedure TrptOrders.DataModuleCreate(Sender: TObject);
var
iniFile: TIniFile;
begin
// Load database connection settings from INI file
iniFile := TIniFile.Create(ExtractFilePath(Application.ExeName) + 'kgOrdersServer.ini');
try
ucKG.Server := iniFile.ReadString('Database', 'Server', '');
ucKG.Connect;
finally
iniFile.Free;
end;
end;
procedure TrptOrders.GenerateSimpleReport(OrderID: Integer);
begin
try
Logger.Log(5, 'Generating Report for Order ID: ' + OrderID.ToString);
uqOrders.Close;
uqOrders.SQL.Text := 'SELECT ORDER_ID FROM corrugated_plate_orders WHERE ORDER_ID = :OrderID';
uqOrders.ParamByName('OrderID').AsInteger := OrderID;
try
uqOrders.Open;
except
on E: Exception do
begin
Logger.Log(1, 'Error executing query: ' + E.Message);
Exit;
end;
end;
frxOrders.PrepareReport;
frxOrders.ShowReport;
finally
uqOrders.Close;
frxOrders.Clear;
Logger.Log(5, 'Report generation complete for Order ID: ' + OrderID.ToString);
end;
end;
procedure TrptOrders.PrepareReport(const SQL: string);
begin
// Prepare and load data into the query
uqOrders.Close;
uqOrders.SQL.Text := SQL;
uqOrders.Open;
end;
procedure TrptOrders.GeneratePDF;
var
ReportDir, ReportFileName: string;
begin
ReportDir := 'C:\Projects\KGOrders\Reports';
// Define output file
ReportFileName := TPath.Combine(ReportDir, 'OrderReport_' + FormatDateTime('yyyymmdd_hhnnss', Now) + '.pdf');
// Prepare and export the report
frxOrders.PrepareReport;
frxPDFExport1.FileName := ReportFileName;
frxPDFExport1.ShowDialog := False;
frxOrders.Export(frxPDFExport1);
frxOrders.ShowPreparedReport;
Logger.Log(5, 'PDF saved to: ' + ReportFileName);
end;
end.
<?xml version="1.0" encoding="utf-8" standalone="no"?>
<TfrxReport Version="2024.2.1" DotMatrixReport="False" IniFile="\Software\Fast Reports" PreviewOptions.Buttons="167935" PreviewOptions.Zoom="1" PrintOptions.Printer="Default" PrintOptions.PrintOnSheet="0" ReportOptions.CreateDate="45642.4492654167" ReportOptions.Description.Text="" ReportOptions.LastChange="45642.8021125694" ScriptLanguage="PascalScript" ScriptText.Text="begin&#13;&#10;&#13;&#10;end.">
<Datasets>
<item DataSet="frxDBOrders" DataSetName="frxDBOrders"/>
</Datasets>
<TfrxDataPage Name="Data" HGuides.Text="" VGuides.Text="" Height="1000" Left="0" Top="0" Width="1000"/>
<TfrxReportPage Name="Page1" HGuides.Text="" VGuides.Text="" Orientation="poLandscape" PaperWidth="279.4" PaperHeight="215.9" PaperSize="1" LeftMargin="10" RightMargin="10" TopMargin="10" BottomMargin="10" ColumnWidth="0" ColumnPositions.Text="" Frame.Typ="0" MirrorMode="0">
<TfrxReportTitle Name="ttlMain" FillType="ftBrush" FillGap.Top="0" FillGap.Left="0" FillGap.Bottom="0" FillGap.Right="0" Frame.Typ="0" Height="22.67718" Left="0" Top="18.89765" Width="980.410082">
<TfrxMemoView Name="Memo1" AllowVectorExport="True" Left="7.55905967" Top="-2.3E-7" Width="102.04731359" Height="18.89764977" ContentScaleOptions.Constraints.MaxIterationValue="0" ContentScaleOptions.Constraints.MinIterationValue="0" Frame.Typ="0" Text="Order Schedule"/>
</TfrxReportTitle>
<TfrxMasterData Name="MasterData1" FillType="ftBrush" FillGap.Top="0" FillGap.Left="0" FillGap.Bottom="0" FillGap.Right="0" Frame.Typ="0" Height="612.28386" Left="0" Top="102.04731" Width="980.410082" ColumnWidth="0" ColumnGap="0" DataSet="frxDBOrders" DataSetName="frxDBOrders" RowCount="0">
<TfrxTableObject Name="TableObject1" AllowVectorExport="True" Left="0" Top="-2.78000000000084E-6">
<TfrxTableColumn Name="TableColumn1" Width="54.3832372222222" MinWidth="0" MaxWidth="75.5906"/>
<TfrxTableColumn Name="TableColumn2" Width="30.3832372222222" MinWidth="0" MaxWidth="75.5906"/>
<TfrxTableColumn Name="TableColumn3" Width="62.3832372222222" MinWidth="0" MaxWidth="75.5906"/>
<TfrxTableColumn Name="TableColumn4" Width="54.3832372222222" MinWidth="0" MaxWidth="75.5906"/>
<TfrxTableColumn Name="TableColumn5" Width="54.3832372222222" MinWidth="0" MaxWidth="75.5906"/>
<TfrxTableColumn Name="TableColumn6" Width="54.3832372222222" MinWidth="0" MaxWidth="75.5906"/>
<TfrxTableColumn Name="TableColumn7" Width="54.3832372222222" MinWidth="0" MaxWidth="75.5906"/>
<TfrxTableColumn Name="TableColumn8" Width="54.3832372222222" MinWidth="0" MaxWidth="75.5906"/>
<TfrxTableColumn Name="TableColumn9" Width="54.3832372222222" MinWidth="0" MaxWidth="75.5906"/>
<TfrxTableColumn Name="TableColumn10" Width="54.3832372222222" MinWidth="0" MaxWidth="75.5906"/>
<TfrxTableColumn Name="TableColumn11" Width="54.3832372222222" MinWidth="0" MaxWidth="75.5906"/>
<TfrxTableColumn Name="TableColumn12" Width="54.3832372222222" MinWidth="0" MaxWidth="75.5906"/>
<TfrxTableColumn Name="TableColumn13" Width="54.3832372222222" MinWidth="0" MaxWidth="75.5906"/>
<TfrxTableColumn Name="TableColumn14" Width="54.3832372222222" MinWidth="0" MaxWidth="75.5906"/>
<TfrxTableColumn Name="TableColumn15" Width="54.3832372222222" MinWidth="0" MaxWidth="75.5906"/>
<TfrxTableColumn Name="TableColumn16" Width="54.3832372222222" MinWidth="0" MaxWidth="75.5906"/>
<TfrxTableColumn Name="TableColumn17" Width="54.3832372222222" MinWidth="0" MaxWidth="75.5906"/>
<TfrxTableColumn Name="TableColumn18" Width="54.3832372222222" MinWidth="0" MaxWidth="75.5906"/>
<TfrxTableRow Name="TableRow1" MinHeight="0" MaxHeight="0" Height="125.732364666667">
<TfrxTableCell Name="TableCell1" AllowVectorExport="True" Restrictions="8" ContentScaleOptions.Constraints.MaxIterationValue="0" ContentScaleOptions.Constraints.MinIterationValue="0" Frame.Typ="15" Text="Order ID"/>
<TfrxTableCell Name="TableCell2" AllowVectorExport="True" Restrictions="8" ContentScaleOptions.Constraints.MaxIterationValue="0" ContentScaleOptions.Constraints.MinIterationValue="0" Frame.Typ="15" Text="Loc"/>
<TfrxTableCell Name="TableCell3" AllowVectorExport="True" Restrictions="8" ContentScaleOptions.Constraints.MaxIterationValue="0" ContentScaleOptions.Constraints.MinIterationValue="0" Frame.Typ="15" Text="Company Name"/>
<TfrxTableCell Name="TableCell4" AllowVectorExport="True" Restrictions="8" ContentScaleOptions.Constraints.MaxIterationValue="0" ContentScaleOptions.Constraints.MinIterationValue="0" Frame.Typ="15" Text="Job Name"/>
<TfrxTableCell Name="TableCell5" AllowVectorExport="True" Restrictions="8" ContentScaleOptions.Constraints.MaxIterationValue="0" ContentScaleOptions.Constraints.MinIterationValue="0" Frame.Typ="15" Text="Order Date"/>
<TfrxTableCell Name="TableCell26" AllowVectorExport="True" Restrictions="8" ContentScaleOptions.Constraints.MaxIterationValue="0" ContentScaleOptions.Constraints.MinIterationValue="0" Frame.Typ="15" Text="Proof Due"/>
<TfrxTableCell Name="TableCell31" AllowVectorExport="True" Restrictions="8" ContentScaleOptions.Constraints.MaxIterationValue="0" ContentScaleOptions.Constraints.MinIterationValue="0" Frame.Typ="15" Text="Proof Done"/>
<TfrxTableCell Name="TableCell36" AllowVectorExport="True" Restrictions="8" ContentScaleOptions.Constraints.MaxIterationValue="0" ContentScaleOptions.Constraints.MinIterationValue="0" Frame.Typ="15" Text="Art Due"/>
<TfrxTableCell Name="TableCell41" AllowVectorExport="True" Restrictions="8" ContentScaleOptions.Constraints.MaxIterationValue="0" ContentScaleOptions.Constraints.MinIterationValue="0" Frame.Typ="15" Text="Art Done"/>
<TfrxTableCell Name="TableCell46" AllowVectorExport="True" Restrictions="8" ContentScaleOptions.Constraints.MaxIterationValue="0" ContentScaleOptions.Constraints.MinIterationValue="0" Frame.Typ="15" Text="Plate Due"/>
<TfrxTableCell Name="TableCell51" AllowVectorExport="True" Restrictions="8" ContentScaleOptions.Constraints.MaxIterationValue="0" ContentScaleOptions.Constraints.MinIterationValue="0" Frame.Typ="15" Text="Plate Done"/>
<TfrxTableCell Name="TableCell56" AllowVectorExport="True" Restrictions="8" ContentScaleOptions.Constraints.MaxIterationValue="0" ContentScaleOptions.Constraints.MinIterationValue="0" Frame.Typ="15" Text="Mount Due"/>
<TfrxTableCell Name="TableCell61" AllowVectorExport="True" Restrictions="8" ContentScaleOptions.Constraints.MaxIterationValue="0" ContentScaleOptions.Constraints.MinIterationValue="0" Frame.Typ="15" Text="Mount Done"/>
<TfrxTableCell Name="TableCell66" AllowVectorExport="True" Restrictions="8" ContentScaleOptions.Constraints.MaxIterationValue="0" ContentScaleOptions.Constraints.MinIterationValue="0" Frame.Typ="15" Text="Ship Due"/>
<TfrxTableCell Name="TableCell71" AllowVectorExport="True" Restrictions="8" ContentScaleOptions.Constraints.MaxIterationValue="0" ContentScaleOptions.Constraints.MinIterationValue="0" Frame.Typ="15" Text="Ship Done"/>
<TfrxTableCell Name="TableCell76" AllowVectorExport="True" Restrictions="8" ContentScaleOptions.Constraints.MaxIterationValue="0" ContentScaleOptions.Constraints.MinIterationValue="0" Frame.Typ="15" Text="Price"/>
<TfrxTableCell Name="TableCell81" AllowVectorExport="True" Restrictions="8" ContentScaleOptions.Constraints.MaxIterationValue="0" ContentScaleOptions.Constraints.MinIterationValue="0" Frame.Typ="15" Text="QB Ref Num"/>
<TfrxTableCell Name="TableCell86" AllowVectorExport="True" Restrictions="8" ContentScaleOptions.Constraints.MaxIterationValue="0" ContentScaleOptions.Constraints.MinIterationValue="0" Frame.Typ="15" Text="Colors"/>
</TfrxTableRow>
<TfrxTableRow Name="TableRow2" AutoSize="True" MinHeight="0" MaxHeight="0" Height="125.732364666667">
<TfrxTableCell Name="TableCell6" AllowVectorExport="True" Restrictions="8" ContentScaleOptions.Constraints.MaxIterationValue="0" ContentScaleOptions.Constraints.MinIterationValue="0" DataField="ORDER_ID" DataSet="frxDBOrders" DataSetName="frxDBOrders" Frame.Typ="15" Text="[frxDBOrders.&#34;ORDER_ID&#34;]"/>
<TfrxTableCell Name="TableCell7" AllowVectorExport="True" Restrictions="8" ContentScaleOptions.Constraints.MaxIterationValue="0" ContentScaleOptions.Constraints.MinIterationValue="0" DataField="LOCATION" DataSet="frxDBOrders" DataSetName="frxDBOrders" Frame.Typ="15" Text="[frxDBOrders.&#34;LOCATION&#34;]"/>
<TfrxTableCell Name="TableCell8" AllowVectorExport="True" Restrictions="8" ContentScaleOptions.Constraints.MaxIterationValue="0" ContentScaleOptions.Constraints.MinIterationValue="0" DataField="COMPANY_NAME" DataSet="frxDBOrders" DataSetName="frxDBOrders" Frame.Typ="15" Text="[frxDBOrders.&#34;COMPANY_NAME&#34;]"/>
<TfrxTableCell Name="TableCell9" AllowVectorExport="True" Restrictions="8" DataField="JOB_NAME" DataSet="frxDBOrders" DataSetName="frxDBOrders" Frame.Typ="15" Text="[frxDBOrders.&#34;JOB_NAME&#34;]"/>
<TfrxTableCell Name="TableCell10" AllowVectorExport="True" Restrictions="8" DataField="ORDER_DATE" DataSet="frxDBOrders" DataSetName="frxDBOrders" Frame.Typ="15" Text="[frxDBOrders.&#34;ORDER_DATE&#34;]"/>
<TfrxTableCell Name="TableCell27" AllowVectorExport="True" Restrictions="8" DataField="PROOF_DUE" DataSet="frxDBOrders" DataSetName="frxDBOrders" Frame.Typ="15" Text="[frxDBOrders.&#34;PROOF_DUE&#34;]"/>
<TfrxTableCell Name="TableCell32" AllowVectorExport="True" Restrictions="8" DataField="PROOF_DONE" DataSet="frxDBOrders" DataSetName="frxDBOrders" Frame.Typ="15" Text="[frxDBOrders.&#34;PROOF_DONE&#34;]"/>
<TfrxTableCell Name="TableCell37" AllowVectorExport="True" Restrictions="8" DataField="ART_DUE" DataSet="frxDBOrders" DataSetName="frxDBOrders" Frame.Typ="15" Text="[frxDBOrders.&#34;ART_DUE&#34;]"/>
<TfrxTableCell Name="TableCell42" AllowVectorExport="True" Restrictions="8" DataField="ART_DONE" DataSet="frxDBOrders" DataSetName="frxDBOrders" Frame.Typ="15" Text="[frxDBOrders.&#34;ART_DONE&#34;]"/>
<TfrxTableCell Name="TableCell47" AllowVectorExport="True" Restrictions="8" DataField="PLATE_DUE" DataSet="frxDBOrders" DataSetName="frxDBOrders" Frame.Typ="15" Text="[frxDBOrders.&#34;PLATE_DUE&#34;]"/>
<TfrxTableCell Name="TableCell52" AllowVectorExport="True" Restrictions="8" DataField="PLATE_DONE" DataSet="frxDBOrders" DataSetName="frxDBOrders" Frame.Typ="15" Text="[frxDBOrders.&#34;PLATE_DONE&#34;]"/>
<TfrxTableCell Name="TableCell57" AllowVectorExport="True" Restrictions="8" ContentScaleOptions.Constraints.MaxIterationValue="0" ContentScaleOptions.Constraints.MinIterationValue="0" DataField="MOUNT_DUE" DataSet="frxDBOrders" DataSetName="frxDBOrders" Frame.Typ="15" Text="[frxDBOrders.&#34;MOUNT_DUE&#34;]"/>
<TfrxTableCell Name="TableCell62" AllowVectorExport="True" Restrictions="8" DataField="MOUNT_DONE" DataSet="frxDBOrders" DataSetName="frxDBOrders" Frame.Typ="15" Text="[frxDBOrders.&#34;MOUNT_DONE&#34;]"/>
<TfrxTableCell Name="TableCell67" AllowVectorExport="True" Restrictions="8" DataField="SHIP_DUE" DataSet="frxDBOrders" DataSetName="frxDBOrders" Frame.Typ="15" Text="[frxDBOrders.&#34;SHIP_DUE&#34;]"/>
<TfrxTableCell Name="TableCell72" AllowVectorExport="True" Restrictions="8" DataField="SHIP_DONE" DataSet="frxDBOrders" DataSetName="frxDBOrders" Frame.Typ="15" Text="[frxDBOrders.&#34;SHIP_DONE&#34;]"/>
<TfrxTableCell Name="TableCell77" AllowVectorExport="True" Restrictions="8" DataField="PRICE" DataSet="frxDBOrders" DataSetName="frxDBOrders" Frame.Typ="15" Text="[frxDBOrders.&#34;PRICE&#34;]"/>
<TfrxTableCell Name="TableCell82" AllowVectorExport="True" Restrictions="8" DataField="QB_REF_NUM" DataSet="frxDBOrders" DataSetName="frxDBOrders" Frame.Typ="15" Text="[frxDBOrders.&#34;QB_REF_NUM&#34;]"/>
<TfrxTableCell Name="TableCell87" AllowVectorExport="True" Restrictions="8" DataField="COLORS" DataSet="frxDBOrders" DataSetName="frxDBOrders" Frame.Typ="15" Text="[frxDBOrders.&#34;COLORS&#34;]"/>
</TfrxTableRow>
<TfrxTableRow Name="TableRow3" MinHeight="0" MaxHeight="0" Height="51.6535766666667">
<TfrxTableCell Name="TableCell38" AllowVectorExport="True" Restrictions="8" Frame.Typ="15" Text=""/>
<TfrxTableCell Name="TableCell39" AllowVectorExport="True" Restrictions="8" Frame.Typ="15" Text=""/>
<TfrxTableCell Name="TableCell40" AllowVectorExport="True" Restrictions="8" Frame.Typ="15" Text=""/>
<TfrxTableCell Name="TableCell43" AllowVectorExport="True" Restrictions="8" Frame.Typ="15" Text=""/>
<TfrxTableCell Name="TableCell44" AllowVectorExport="True" Restrictions="8" Frame.Typ="15" Text=""/>
<TfrxTableCell Name="TableCell45" AllowVectorExport="True" Restrictions="8" Frame.Typ="15" Text=""/>
<TfrxTableCell Name="TableCell48" AllowVectorExport="True" Restrictions="8" Frame.Typ="15" Text=""/>
<TfrxTableCell Name="TableCell49" AllowVectorExport="True" Restrictions="8" Frame.Typ="15" Text=""/>
<TfrxTableCell Name="TableCell50" AllowVectorExport="True" Restrictions="8" Frame.Typ="15" Text=""/>
<TfrxTableCell Name="TableCell53" AllowVectorExport="True" Restrictions="8" Frame.Typ="15" Text=""/>
<TfrxTableCell Name="TableCell54" AllowVectorExport="True" Restrictions="8" Frame.Typ="15" Text=""/>
<TfrxTableCell Name="TableCell55" AllowVectorExport="True" Restrictions="8" Frame.Typ="15" Text=""/>
<TfrxTableCell Name="TableCell58" AllowVectorExport="True" Restrictions="8" Frame.Typ="15" Text=""/>
<TfrxTableCell Name="TableCell59" AllowVectorExport="True" Restrictions="8" Frame.Typ="15" Text=""/>
<TfrxTableCell Name="TableCell60" AllowVectorExport="True" Restrictions="8" Frame.Typ="15" Text=""/>
<TfrxTableCell Name="TableCell63" AllowVectorExport="True" Restrictions="8" Frame.Typ="15" Text=""/>
<TfrxTableCell Name="TableCell64" AllowVectorExport="True" Restrictions="8" Frame.Typ="15" Text=""/>
<TfrxTableCell Name="TableCell65" AllowVectorExport="True" Restrictions="8" Frame.Typ="15" Text=""/>
</TfrxTableRow>
<TfrxTableRow Name="TableRow4" MinHeight="0" MaxHeight="0" Height="51.6535766666667">
<TfrxTableCell Name="TableCell68" AllowVectorExport="True" Restrictions="8" Frame.Typ="15" Text=""/>
<TfrxTableCell Name="TableCell69" AllowVectorExport="True" Restrictions="8" Frame.Typ="15" Text=""/>
<TfrxTableCell Name="TableCell70" AllowVectorExport="True" Restrictions="8" Frame.Typ="15" Text=""/>
<TfrxTableCell Name="TableCell73" AllowVectorExport="True" Restrictions="8" Frame.Typ="15" Text=""/>
<TfrxTableCell Name="TableCell74" AllowVectorExport="True" Restrictions="8" Frame.Typ="15" Text=""/>
<TfrxTableCell Name="TableCell75" AllowVectorExport="True" Restrictions="8" Frame.Typ="15" Text=""/>
<TfrxTableCell Name="TableCell78" AllowVectorExport="True" Restrictions="8" Frame.Typ="15" Text=""/>
<TfrxTableCell Name="TableCell79" AllowVectorExport="True" Restrictions="8" Frame.Typ="15" Text=""/>
<TfrxTableCell Name="TableCell80" AllowVectorExport="True" Restrictions="8" Frame.Typ="15" Text=""/>
<TfrxTableCell Name="TableCell83" AllowVectorExport="True" Restrictions="8" Frame.Typ="15" Text=""/>
<TfrxTableCell Name="TableCell84" AllowVectorExport="True" Restrictions="8" Frame.Typ="15" Text=""/>
<TfrxTableCell Name="TableCell85" AllowVectorExport="True" Restrictions="8" Frame.Typ="15" Text=""/>
<TfrxTableCell Name="TableCell88" AllowVectorExport="True" Restrictions="8" Frame.Typ="15" Text=""/>
<TfrxTableCell Name="TableCell89" AllowVectorExport="True" Restrictions="8" Frame.Typ="15" Text=""/>
<TfrxTableCell Name="TableCell90" AllowVectorExport="True" Restrictions="8" Frame.Typ="15" Text=""/>
<TfrxTableCell Name="TableCell91" AllowVectorExport="True" Restrictions="8" Frame.Typ="15" Text=""/>
<TfrxTableCell Name="TableCell92" AllowVectorExport="True" Restrictions="8" Frame.Typ="15" Text=""/>
<TfrxTableCell Name="TableCell93" AllowVectorExport="True" Restrictions="8" Frame.Typ="15" Text=""/>
</TfrxTableRow>
<TfrxTableRow Name="TableRow5" MinHeight="0" MaxHeight="0" Height="51.6535766666667">
<TfrxTableCell Name="TableCell94" AllowVectorExport="True" Restrictions="8" Frame.Typ="15" Text=""/>
<TfrxTableCell Name="TableCell95" AllowVectorExport="True" Restrictions="8" Frame.Typ="15" Text=""/>
<TfrxTableCell Name="TableCell96" AllowVectorExport="True" Restrictions="8" Frame.Typ="15" Text=""/>
<TfrxTableCell Name="TableCell97" AllowVectorExport="True" Restrictions="8" Frame.Typ="15" Text=""/>
<TfrxTableCell Name="TableCell98" AllowVectorExport="True" Restrictions="8" Frame.Typ="15" Text=""/>
<TfrxTableCell Name="TableCell99" AllowVectorExport="True" Restrictions="8" Frame.Typ="15" Text=""/>
<TfrxTableCell Name="TableCell100" AllowVectorExport="True" Restrictions="8" Frame.Typ="15" Text=""/>
<TfrxTableCell Name="TableCell101" AllowVectorExport="True" Restrictions="8" Frame.Typ="15" Text=""/>
<TfrxTableCell Name="TableCell102" AllowVectorExport="True" Restrictions="8" Frame.Typ="15" Text=""/>
<TfrxTableCell Name="TableCell103" AllowVectorExport="True" Restrictions="8" Frame.Typ="15" Text=""/>
<TfrxTableCell Name="TableCell104" AllowVectorExport="True" Restrictions="8" Frame.Typ="15" Text=""/>
<TfrxTableCell Name="TableCell105" AllowVectorExport="True" Restrictions="8" Frame.Typ="15" Text=""/>
<TfrxTableCell Name="TableCell106" AllowVectorExport="True" Restrictions="8" Frame.Typ="15" Text=""/>
<TfrxTableCell Name="TableCell107" AllowVectorExport="True" Restrictions="8" Frame.Typ="15" Text=""/>
<TfrxTableCell Name="TableCell108" AllowVectorExport="True" Restrictions="8" Frame.Typ="15" Text=""/>
<TfrxTableCell Name="TableCell109" AllowVectorExport="True" Restrictions="8" Frame.Typ="15" Text=""/>
<TfrxTableCell Name="TableCell110" AllowVectorExport="True" Restrictions="8" Frame.Typ="15" Text=""/>
<TfrxTableCell Name="TableCell111" AllowVectorExport="True" Restrictions="8" Frame.Typ="15" Text=""/>
</TfrxTableRow>
<TfrxTableRow Name="TableRow6" MinHeight="0" MaxHeight="0" Height="51.6535766666667">
<TfrxTableCell Name="TableCell112" AllowVectorExport="True" Restrictions="8" Frame.Typ="15" Text=""/>
<TfrxTableCell Name="TableCell113" AllowVectorExport="True" Restrictions="8" Frame.Typ="15" Text=""/>
<TfrxTableCell Name="TableCell114" AllowVectorExport="True" Restrictions="8" Frame.Typ="15" Text=""/>
<TfrxTableCell Name="TableCell115" AllowVectorExport="True" Restrictions="8" Frame.Typ="15" Text=""/>
<TfrxTableCell Name="TableCell116" AllowVectorExport="True" Restrictions="8" Frame.Typ="15" Text=""/>
<TfrxTableCell Name="TableCell117" AllowVectorExport="True" Restrictions="8" Frame.Typ="15" Text=""/>
<TfrxTableCell Name="TableCell118" AllowVectorExport="True" Restrictions="8" Frame.Typ="15" Text=""/>
<TfrxTableCell Name="TableCell119" AllowVectorExport="True" Restrictions="8" Frame.Typ="15" Text=""/>
<TfrxTableCell Name="TableCell120" AllowVectorExport="True" Restrictions="8" Frame.Typ="15" Text=""/>
<TfrxTableCell Name="TableCell121" AllowVectorExport="True" Restrictions="8" Frame.Typ="15" Text=""/>
<TfrxTableCell Name="TableCell122" AllowVectorExport="True" Restrictions="8" Frame.Typ="15" Text=""/>
<TfrxTableCell Name="TableCell123" AllowVectorExport="True" Restrictions="8" Frame.Typ="15" Text=""/>
<TfrxTableCell Name="TableCell124" AllowVectorExport="True" Restrictions="8" Frame.Typ="15" Text=""/>
<TfrxTableCell Name="TableCell125" AllowVectorExport="True" Restrictions="8" Frame.Typ="15" Text=""/>
<TfrxTableCell Name="TableCell126" AllowVectorExport="True" Restrictions="8" Frame.Typ="15" Text=""/>
<TfrxTableCell Name="TableCell127" AllowVectorExport="True" Restrictions="8" Frame.Typ="15" Text=""/>
<TfrxTableCell Name="TableCell128" AllowVectorExport="True" Restrictions="8" Frame.Typ="15" Text=""/>
<TfrxTableCell Name="TableCell129" AllowVectorExport="True" Restrictions="8" Frame.Typ="15" Text=""/>
</TfrxTableRow>
<TfrxTableRow Name="TableRow7" MinHeight="0" MaxHeight="0" Height="51.6535766666667">
<TfrxTableCell Name="TableCell130" AllowVectorExport="True" Restrictions="8" Frame.Typ="15" Text=""/>
<TfrxTableCell Name="TableCell131" AllowVectorExport="True" Restrictions="8" Frame.Typ="15" Text=""/>
<TfrxTableCell Name="TableCell132" AllowVectorExport="True" Restrictions="8" Frame.Typ="15" Text=""/>
<TfrxTableCell Name="TableCell133" AllowVectorExport="True" Restrictions="8" Frame.Typ="15" Text=""/>
<TfrxTableCell Name="TableCell134" AllowVectorExport="True" Restrictions="8" Frame.Typ="15" Text=""/>
<TfrxTableCell Name="TableCell135" AllowVectorExport="True" Restrictions="8" Frame.Typ="15" Text=""/>
<TfrxTableCell Name="TableCell136" AllowVectorExport="True" Restrictions="8" Frame.Typ="15" Text=""/>
<TfrxTableCell Name="TableCell137" AllowVectorExport="True" Restrictions="8" Frame.Typ="15" Text=""/>
<TfrxTableCell Name="TableCell138" AllowVectorExport="True" Restrictions="8" Frame.Typ="15" Text=""/>
<TfrxTableCell Name="TableCell139" AllowVectorExport="True" Restrictions="8" Frame.Typ="15" Text=""/>
<TfrxTableCell Name="TableCell140" AllowVectorExport="True" Restrictions="8" Frame.Typ="15" Text=""/>
<TfrxTableCell Name="TableCell141" AllowVectorExport="True" Restrictions="8" Frame.Typ="15" Text=""/>
<TfrxTableCell Name="TableCell142" AllowVectorExport="True" Restrictions="8" Frame.Typ="15" Text=""/>
<TfrxTableCell Name="TableCell143" AllowVectorExport="True" Restrictions="8" Frame.Typ="15" Text=""/>
<TfrxTableCell Name="TableCell144" AllowVectorExport="True" Restrictions="8" Frame.Typ="15" Text=""/>
<TfrxTableCell Name="TableCell145" AllowVectorExport="True" Restrictions="8" Frame.Typ="15" Text=""/>
<TfrxTableCell Name="TableCell146" AllowVectorExport="True" Restrictions="8" Frame.Typ="15" Text=""/>
<TfrxTableCell Name="TableCell147" AllowVectorExport="True" Restrictions="8" Frame.Typ="15" Text=""/>
</TfrxTableRow>
<TfrxTableRow Name="TableRow8" MinHeight="0" MaxHeight="0" Height="51.6535766666667">
<TfrxTableCell Name="TableCell148" AllowVectorExport="True" Restrictions="8" Frame.Typ="15" Text=""/>
<TfrxTableCell Name="TableCell149" AllowVectorExport="True" Restrictions="8" Frame.Typ="15" Text=""/>
<TfrxTableCell Name="TableCell150" AllowVectorExport="True" Restrictions="8" Frame.Typ="15" Text=""/>
<TfrxTableCell Name="TableCell151" AllowVectorExport="True" Restrictions="8" Frame.Typ="15" Text=""/>
<TfrxTableCell Name="TableCell152" AllowVectorExport="True" Restrictions="8" Frame.Typ="15" Text=""/>
<TfrxTableCell Name="TableCell153" AllowVectorExport="True" Restrictions="8" Frame.Typ="15" Text=""/>
<TfrxTableCell Name="TableCell154" AllowVectorExport="True" Restrictions="8" Frame.Typ="15" Text=""/>
<TfrxTableCell Name="TableCell155" AllowVectorExport="True" Restrictions="8" Frame.Typ="15" Text=""/>
<TfrxTableCell Name="TableCell156" AllowVectorExport="True" Restrictions="8" Frame.Typ="15" Text=""/>
<TfrxTableCell Name="TableCell157" AllowVectorExport="True" Restrictions="8" Frame.Typ="15" Text=""/>
<TfrxTableCell Name="TableCell158" AllowVectorExport="True" Restrictions="8" Frame.Typ="15" Text=""/>
<TfrxTableCell Name="TableCell159" AllowVectorExport="True" Restrictions="8" Frame.Typ="15" Text=""/>
<TfrxTableCell Name="TableCell160" AllowVectorExport="True" Restrictions="8" Frame.Typ="15" Text=""/>
<TfrxTableCell Name="TableCell161" AllowVectorExport="True" Restrictions="8" Frame.Typ="15" Text=""/>
<TfrxTableCell Name="TableCell162" AllowVectorExport="True" Restrictions="8" Frame.Typ="15" Text=""/>
<TfrxTableCell Name="TableCell163" AllowVectorExport="True" Restrictions="8" Frame.Typ="15" Text=""/>
<TfrxTableCell Name="TableCell164" AllowVectorExport="True" Restrictions="8" Frame.Typ="15" Text=""/>
<TfrxTableCell Name="TableCell165" AllowVectorExport="True" Restrictions="8" Frame.Typ="15" Text=""/>
</TfrxTableRow>
<TfrxTableRow Name="TableRow9" MinHeight="0" MaxHeight="0" Height="51.6535766666667">
<TfrxTableCell Name="TableCell166" AllowVectorExport="True" Restrictions="8" Frame.Typ="15" Text=""/>
<TfrxTableCell Name="TableCell167" AllowVectorExport="True" Restrictions="8" Frame.Typ="15" Text=""/>
<TfrxTableCell Name="TableCell168" AllowVectorExport="True" Restrictions="8" Frame.Typ="15" Text=""/>
<TfrxTableCell Name="TableCell169" AllowVectorExport="True" Restrictions="8" Frame.Typ="15" Text=""/>
<TfrxTableCell Name="TableCell170" AllowVectorExport="True" Restrictions="8" Frame.Typ="15" Text=""/>
<TfrxTableCell Name="TableCell171" AllowVectorExport="True" Restrictions="8" Frame.Typ="15" Text=""/>
<TfrxTableCell Name="TableCell172" AllowVectorExport="True" Restrictions="8" Frame.Typ="15" Text=""/>
<TfrxTableCell Name="TableCell173" AllowVectorExport="True" Restrictions="8" Frame.Typ="15" Text=""/>
<TfrxTableCell Name="TableCell174" AllowVectorExport="True" Restrictions="8" Frame.Typ="15" Text=""/>
<TfrxTableCell Name="TableCell175" AllowVectorExport="True" Restrictions="8" Frame.Typ="15" Text=""/>
<TfrxTableCell Name="TableCell176" AllowVectorExport="True" Restrictions="8" Frame.Typ="15" Text=""/>
<TfrxTableCell Name="TableCell177" AllowVectorExport="True" Restrictions="8" Frame.Typ="15" Text=""/>
<TfrxTableCell Name="TableCell178" AllowVectorExport="True" Restrictions="8" Frame.Typ="15" Text=""/>
<TfrxTableCell Name="TableCell179" AllowVectorExport="True" Restrictions="8" Frame.Typ="15" Text=""/>
<TfrxTableCell Name="TableCell180" AllowVectorExport="True" Restrictions="8" Frame.Typ="15" Text=""/>
<TfrxTableCell Name="TableCell181" AllowVectorExport="True" Restrictions="8" Frame.Typ="15" Text=""/>
<TfrxTableCell Name="TableCell182" AllowVectorExport="True" Restrictions="8" Frame.Typ="15" Text=""/>
<TfrxTableCell Name="TableCell183" AllowVectorExport="True" Restrictions="8" Frame.Typ="15" Text=""/>
</TfrxTableRow>
</TfrxTableObject>
</TfrxMasterData>
</TfrxReportPage>
</TfrxReport>
...@@ -20,7 +20,8 @@ uses ...@@ -20,7 +20,8 @@ uses
Auth.ServiceImpl in 'Source\Auth.ServiceImpl.pas', Auth.ServiceImpl in 'Source\Auth.ServiceImpl.pas',
Lookup.ServiceImpl in 'Source\Lookup.ServiceImpl.pas', Lookup.ServiceImpl in 'Source\Lookup.ServiceImpl.pas',
App.Server.Module in 'Source\App.Server.Module.pas' {AppServerModule: TDataModule}, App.Server.Module in 'Source\App.Server.Module.pas' {AppServerModule: TDataModule},
Data in 'Source\Data.pas' {FData}; Data in 'Source\Data.pas' {FData},
rOrders in 'Source\rOrders.pas' {rptOrders: TDataModule};
type type
TMemoLogAppender = class( TInterfacedObject, ILogAppender ) TMemoLogAppender = class( TInterfacedObject, ILogAppender )
......
...@@ -164,6 +164,11 @@ ...@@ -164,6 +164,11 @@
<Form>FData</Form> <Form>FData</Form>
<FormType>dfm</FormType> <FormType>dfm</FormType>
</DCCReference> </DCCReference>
<DCCReference Include="Source\rOrders.pas">
<Form>rptOrders</Form>
<FormType>dfm</FormType>
<DesignClass>TDataModule</DesignClass>
</DCCReference>
<BuildConfiguration Include="Base"> <BuildConfiguration Include="Base">
<Key>Base</Key> <Key>Base</Key>
</BuildConfiguration> </BuildConfiguration>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment