Commit ad1fa378 by Mac Stephens

Merge branch 'mac3' into cam2

parents dd57ce63 d00d0c68
......@@ -172,7 +172,7 @@ object FData: TFData
SortSettings.HeaderColorTo = clWhite
SortSettings.HeaderMirrorColor = clWhite
SortSettings.HeaderMirrorColorTo = clWhite
Version = '2.8.3.2'
Version = '2.8.3.3'
AutoCreateColumns = True
AutoRemoveColumns = True
Columns = <
......@@ -753,7 +753,7 @@ object FData: TFData
SortSettings.HeaderColorTo = clWhite
SortSettings.HeaderMirrorColor = clWhite
SortSettings.HeaderMirrorColorTo = clWhite
Version = '2.8.3.2'
Version = '2.8.3.3'
AutoCreateColumns = True
AutoRemoveColumns = True
Columns = <
......@@ -1510,7 +1510,7 @@ object FData: TFData
Top = 459
end
object dsGrid2: TDataSource
DataSet = rptOrders.uqOrders
DataSet = rptOrderList.uqOrders
Left = 348
Top = 472
end
......
......@@ -3,7 +3,7 @@
// Authors:
// Cameron Hayes
// Elias Serraf
// Mac ...
// Mac Stephens
unit Data;
interface
......@@ -55,7 +55,7 @@ implementation
{$R *.dfm}
uses uLibrary, rOrders;
uses uLibrary, rOrderList;
procedure TFData.FormCreate(Sender: TObject);
begin
......@@ -100,14 +100,14 @@ end;
procedure TFData.RunOrdersReport(searchOptions: string);
var
rptOrders: TrptOrders;
rptOrderList: TrptOrderList;
begin
rptOrders := TrptOrders.Create(nil);
rptOrderList := TrptOrderList.Create(nil);
try
rptOrders.PrepareReport(searchOptions);
dsGrid2.DataSet := rptOrders.uqOrders;
rptOrderList.PrepareReport(searchOptions);
dsGrid2.DataSet := rptOrderList.uqOrders;
finally
rptOrders.Free;
rptOrderList.Free;
end;
end;
......
......@@ -339,7 +339,8 @@ type
[HttpGet] function GetWebOrder(orderInfo: string): TWebOrder;
[HttpGet] function GetCustomers(): TCustomerList;
[HttpGet] function GetCustomer(ID: string): TCustomerItem;
[HttpGet] function GenerateReportPDF(searchOptions: string): string;
[HttpGet] function GenerateOrderListPDF(searchOptions: string): string;
[HttpGet] function GenerateOrderCorrugatedPDF(orderID: string): string;
function AddUser(userInfo: string): string;
......
......@@ -3,7 +3,7 @@
// file.
// Authors:
// Cameron Hayes
// Mac ...
// Mac Stephens
// Elias Sarraf
unit Lookup.ServiceImpl;
......@@ -19,7 +19,7 @@ uses
iexToolbars, iexUserInteractions, imageenio, imageenproc, QuickRpt, QRCtrls,
dbimageen, Vcl.ExtCtrls, ieview, imageenview, IdBaseComponent, IdComponent,
IdTCPConnection, IdTCPClient, IdExplicitTLSClientServerBase, IdFTP,
iexProcEffects, frxDBSet, frxExportBaseDialog, frCoreClasses, rOrders, Common.Logging;
iexProcEffects, frxDBSet, frxExportBaseDialog, frCoreClasses, rOrderList, rOrderCorrugated, Common.Logging;
type
......@@ -35,7 +35,8 @@ type
function GetCustomers(): TCustomerList;
function GetCustomer(ID: string): TCustomerItem;
function EditUser(const editOptions: string): string;
function GenerateReportPDF(searchOptions: string): string;
function GenerateOrderListPDF(searchOptions: string): string;
function GenerateOrderCorrugatedPDF(orderID: string): string;
function AddUser(userInfo: string): string;
function AddItem(itemInfo: string): string;
function DelUser(username: string): string;
......@@ -137,32 +138,49 @@ begin
end;
function TLookupService.GenerateReportPDF(searchOptions: string): string;
function TLookupService.GenerateOrderListPDF(searchOptions: string): string;
// Generates a report pdf based on the last search (if any) Linked to rOrders
// file which does most of the work.
var
SQL: string;
rptOrders: TrptOrders; // Local instance of rptOrders
rptOrderList: TrptOrderList; // Local instance of rptOrders
begin
// Create instance of rptOrders
rptOrders := TrptOrders.Create(nil);
rptOrderList := TrptOrderList.Create(nil);
try
// Generate SQL dynamically using the existing GetOrders logic
SQL := GenerateOrdersSQL(searchOptions).SQL;
result := rptOrderList.PrepareReport(SQL);
// Prepare the report dataset
result := rptOrders.PrepareReport(SQL);
// Generate the PDF report
//rptOrders.GeneratePDF;
//rptOrderList.GeneratePDF;
// Optionally, log success
Logger.log(5, 'PDF Report successfully generated for searchOptions: ' + searchOptions);
finally
rptOrders.Free;
rptOrderList.Free;
end;
end;
function TLookupService.GenerateOrderCorrugatedPDF(orderID: string): string;
var
SQL: string;
rptOrderCorrugated: TrptOrderCorrugated; // Local instance of the report
begin
rptOrderCorrugated := TrptOrderCorrugated.Create(nil);
try
// Generate SQL query for a single order
SQL := 'SELECT * FROM orders WHERE ORDER_ID = ' + QuotedStr(orderID);
// Prepare the report with the query
Result := rptOrderCorrugated.PrepareReport(SQL);
// Optionally log success
Logger.Log(5, 'PDF Report successfully generated for order ID: ' + orderID);
finally
rptOrderCorrugated.Free;
end;
end;
function TLookupService.generateSubQuery(currStatus: string): string;
// Generates the subquery in order to retrieve all the status due/done dates
// This must be a subquery because there are at most 5 different entries which
......@@ -384,20 +402,30 @@ function TLookupService.getColorCount(colors: string): string;
var
colorObject: TJSONObject;
colorList: TJSONArray;
temp: string;
temp2: string;
begin
if colors = '' then
result := '0'
Result := '0'
else
begin
colorObject := TJSONObject.ParseJSONValue(colors) as TJSONObject;
colorList := TJSONArray(colorObject.GetValue('items'));
//temp := colorList.toString;
result := IntToStr(colorList.Count);
try
if Assigned(colorObject) then
begin
colorList := colorObject.GetValue<TJSONArray>('items');
if Assigned(colorList) then
Result := IntToStr(colorList.Count)
else
Result := '0';
end
else
Result := '0';
finally
colorObject.Free;
end;
end;
end;
function TLookupService.GetOrders(searchOptions: string): TOrderList;
var
SQL: string;
......@@ -405,69 +433,76 @@ var
Order: TOrderItem;
colors: string;
ColorType: string;
SQLArray: TArray<string>;
SQLQuery: TSQLQuery;
begin
SQLQuery := generateOrdersSQL(searchOptions);
TXDataOperationContext.Current.Handler.ManagedObjects.Add(SQLQuery); // Added SQLQuery to ManagedObjects
SQL := SQLQuery.SQL;
whereSQL := SQLQuery.whereSQL;
Result := TOrderList.Create;
try
Result.data := TList<TOrderItem>.Create;
TXDataOperationContext.Current.Handler.ManagedObjects.Add(Result.data);
doQuery(ordersDB.UniQuery1, SQL);
SQL := SQLQuery.SQL;
whereSQL := SQLQuery.whereSQL;
Result:= TOrderList.Create;
Result.data := TList<TOrderItem>.Create;
TXDataOperationContext.Current.Handler.ManagedObjects.Add( Result.data );
while not ordersDB.UniQuery1.Eof do
begin
Order := TOrderItem.Create;
TXDataOperationContext.Current.Handler.ManagedObjects.Add( Order );
Result.data.Add( Order );
order.ID := ordersDB.UniQuery1.FieldByName('ORDER_ID').AsString;
order.companyName := ordersDB.UniQuery1.FieldByName('COMPANY_NAME').AsString;
order.jobName := ordersDB.UniQuery1.FieldByName('JOB_NAME').AsString;
order.orderDate := ordersDB.UniQuery1.FieldByName('ORDER_DATE').AsString;
order.proofDue := ordersDB.UniQuery1.FieldByName('PROOF_DUE').AsString;
order.proofDone := ordersDB.UniQuery1.FieldByName('PROOF_DONE').AsString;
order.artDue := ordersDB.UniQuery1.FieldByName('ART_DUE').AsString;
order.artDone := ordersDB.UniQuery1.FieldByName('ART_DONE').AsString;
order.plateDue := ordersDB.UniQuery1.FieldByName('PLATE_DUE').AsString;
order.plateDone := ordersDB.UniQuery1.FieldByName('PLATE_DONE').AsString;
order.mountDue := ordersDB.UniQuery1.FieldByName('MOUNT_DUE').AsString;
order.mountDone := ordersDB.UniQuery1.FieldByName('MOUNT_DONE').AsString;
order.shipDue := ordersDB.UniQuery1.FieldByName('SHIP_DUE').AsString;
order.shipDone := ordersDB.UniQuery1.FieldByName('SHIP_DONE').AsString;
order.price := ordersDB.UniQuery1.FieldByName('PRICE').AsString;
order.qbRefNum := ordersDB.UniQuery1.FieldByName('QB_REF_NUM').AsString;
order.orderType := ordersDB.UniQuery1.FieldByName('ORDER_TYPE').AsString.Replace('_', ' ');
if ordersDB.UniQuery1.FieldByName('ORDER_TYPE').AsString = 'web_plate' then
begin
colorType := 'quantity_and_colors_qty_colors';
SQL := 'Select quantity_and_colors_qty_colors from web_plate_orders where order_id = ' + order.ID;
end
else
doQuery(ordersDB.UniQuery1, SQL);
while not ordersDB.UniQuery1.Eof do
begin
colorType := 'colors_colors';
SQL := 'Select colors_colors from corrugated_plate_orders where order_id = ' + order.ID;
end;
Order := TOrderItem.Create;
TXDataOperationContext.Current.Handler.ManagedObjects.Add(Order);
Result.data.Add(Order);
Order.ID := ordersDB.UniQuery1.FieldByName('ORDER_ID').AsString;
Order.companyName := ordersDB.UniQuery1.FieldByName('COMPANY_NAME').AsString;
Order.jobName := ordersDB.UniQuery1.FieldByName('JOB_NAME').AsString;
Order.orderDate := ordersDB.UniQuery1.FieldByName('ORDER_DATE').AsString;
Order.proofDue := ordersDB.UniQuery1.FieldByName('PROOF_DUE').AsString;
Order.proofDone := ordersDB.UniQuery1.FieldByName('PROOF_DONE').AsString;
Order.artDue := ordersDB.UniQuery1.FieldByName('ART_DUE').AsString;
Order.artDone := ordersDB.UniQuery1.FieldByName('ART_DONE').AsString;
Order.plateDue := ordersDB.UniQuery1.FieldByName('PLATE_DUE').AsString;
Order.plateDone := ordersDB.UniQuery1.FieldByName('PLATE_DONE').AsString;
Order.mountDue := ordersDB.UniQuery1.FieldByName('MOUNT_DUE').AsString;
Order.mountDone := ordersDB.UniQuery1.FieldByName('MOUNT_DONE').AsString;
Order.shipDue := ordersDB.UniQuery1.FieldByName('SHIP_DUE').AsString;
Order.shipDone := ordersDB.UniQuery1.FieldByName('SHIP_DONE').AsString;
Order.price := ordersDB.UniQuery1.FieldByName('PRICE').AsString;
Order.qbRefNum := ordersDB.UniQuery1.FieldByName('QB_REF_NUM').AsString;
Order.orderType := ordersDB.UniQuery1.FieldByName('ORDER_TYPE').AsString.Replace('_', ' ');
if ordersDB.UniQuery1.FieldByName('ORDER_TYPE').AsString = 'web_plate' then
begin
ColorType := 'quantity_and_colors_qty_colors';
SQL := 'Select quantity_and_colors_qty_colors from web_plate_orders where order_id = ' + Order.ID;
end
else
begin
ColorType := 'colors_colors';
SQL := 'Select colors_colors from corrugated_plate_orders where order_id = ' + Order.ID;
end;
doQuery(ordersDB.UniQuery2, SQL);
colors := ordersDB.UniQuery2.FieldByName(ColorType).AsString;
order.colors := getColorCount(colors);
doQuery(ordersDB.UniQuery2, SQL);
colors := ordersDB.UniQuery2.FieldByName(ColorType).AsString;
Order.colors := GetColorCount(colors);
ordersDB.UniQuery1.Next;
end;
ordersDB.UniQuery1.Next;
end;
ordersDB.UniQuery1.Close;
SQL := 'SELECT COUNT(*) AS total_count ' + whereSQL;
ordersDB.UniQuery1.Close;
doQuery(ordersDB.UniQuery1, SQL);
Result.count := ordersDB.UniQuery1.FieldByName('total_count').AsInteger;
SQL := 'SELECT COUNT(*) AS total_count ' + whereSQL;
doQuery(ordersDB.UniQuery1, SQL);
Result.count := ordersDB.UniQuery1.FieldByName('total_count').AsInteger;
ordersDB.UniQuery1.Close;
ordersDB.UniQuery1.Close;
except
Result.Free; // Cleaned up memory in case of exceptions
end;
end;
function TLookupService.GetOrder(orderInfo: string): TFullOrder;
// Gets on singular order from the database for the order entry page.
// orderInfo: the ORDER_ID.
......@@ -1000,18 +1035,126 @@ begin
ordersDB.UniQuery1.Close;
end;
// -- Keeping this here in case you need to revert to it for some reason.
// -- The new version handles the memory issue on the exception.
//function TLookupService.AddCorrugatedOrder(orderInfo: string): TJSONObject;
//var
// JSONData, ResponseData: TJSONObject;
// SQL: string;
// Pair: TJSONPair;
// Field: TField;
// DateFormat: TFormatSettings;
// ORDER_ID: integer;
// mode: string;
//begin
// DateFormat := TFormatSettings.Create;
// DateFormat.ShortDateFormat := 'yyyy-mm-dd';
// DateFormat.DateSeparator := '-';
// JSONData := TJSONObject.ParseJSONValue(orderInfo) as TJSONObject;
// if JSONData = nil then
// raise Exception.Create('Invalid JSON format'); // If parsing fails, raise an exception
// mode := JSONData.GetValue<string>('mode');
// if mode = 'ADD' then
// SQL := 'select * from corrugated_plate_orders where ORDER_ID = 0 and ORDER_ID <> 0'
// else
// begin
// ORDER_ID := JSONData.GetValue<integer>('ORDER_ID');
// SQL := 'select * from corrugated_plate_orders where ORDER_ID = ' + IntToStr(ORDER_ID);
// end;
// doQuery(ordersDB.UniQuery1, SQL);
// try
// if mode = 'ADD' then
// ordersDB.UniQuery1.Insert
// else
// ordersDB.UniQuery1.Edit;
//
// for Pair in JSONData do
// begin
// Field := ordersDB.UniQuery1.FindField(Pair.JsonString.Value); // Checks if the field exists in the dataset
// if Assigned(Field) then
// begin
// // handles any dates or datetimes
// if (Field is TDateTimeField) and (Pair.JsonValue.Value <> '') then
// TDateTimeField(Field).AsDateTime := StrToDate(Pair.JsonValue.Value)
// else if Pair.JsonValue.Value <> '' then
// Field.AsString := Pair.JsonValue.Value;
// end;
// end;
//
// // Post the record to the database
// ordersDB.UniQuery1.Post;
//
// if mode = 'ADD' then
// begin
// SQL := 'select * from orders where ORDER_ID = 0 and ORDER_ID <> 0';
// doQuery(ordersDB.UniQuery1, SQL);
// ordersDB.UniQuery1.Insert;
// end
// else
// begin
// SQL := 'select * from orders where ORDER_ID = ' + IntToStr(ORDER_ID);
// doQuery(ordersDB.UniQuery1, SQL);
// end;
//
// ordersDB.UniQuery1.FieldByName('COMPANY_ID').AsString := JSONData.GetValue<string>('COMPANY_ID');
// ordersDB.UniQuery1.FieldByName('ORDER_TYPE').AsString := 'corrugated_plate';
//
// if mode = 'ADD' then
// ordersDB.UniQuery1.FieldByName('ORDER_DATE').AsDateTime := Now;
//
// if JSONData.GetValue<string>('staff_fields_price') = '' then
// ordersDB.UniQuery1.FieldByName('PRICE').AsString := '0'
// else
// ordersDB.UniQuery1.FieldByName('PRICE').AsString := JSONData.GetValue<string>('staff_fields_price');
//
// ordersDB.UniQuery1.FieldByName('JOB_NAME').AsString := JSONData.GetValue<string>('staff_fields_job_name');
// ordersDB.UniQuery1.FieldByName('USER_ID').AsString := JSONData.GetValue<string>('USER_ID');
// ordersDB.UniQuery1.FieldByName('LOCATION').AsString := JSONData.GetValue<string>('staff_fields_art_location');
//
// ordersDB.UniQuery1.Post;
//
// ordersDB.UniQuery1.Close;
// if mode = 'ADD' then
// begin
// ordersDB.UniQuery1.SQL.Text := 'SELECT LAST_INSERT_ID() AS OrderID'; // Use database's method to get the last inserted ID
// ordersDB.UniQuery1.Open;
// ORDER_ID := ordersDB.UniQuery1.FieldByName('OrderID').AsInteger;
// end;
//
// if JSONData.GetValue<string>('staff_fields_proof_date') <> '' then
// AddStatusSchedule('PROOF', JSONData, ORDER_ID);
// if JSONData.GetValue<string>('staff_fields_ship_date') <> '' then
// AddStatusSchedule('SHIP', JSONData, ORDER_ID);
// if JSONData.GetValue<string>('staff_fields_art_due') <> '' then
// AddStatusSchedule('ART', JSONData, ORDER_ID);
// if JSONData.GetValue<string>('staff_fields_plate_due') <> '' then
// AddStatusSchedule('PLATE', JSONData, ORDER_ID);
// if JSONData.GetValue<string>('staff_fields_mount_due') <> '' then
// AddStatusSchedule('MOUNT', JSONData, ORDER_ID);
//
// Result := TJSONObject.Create.AddPair('status', 'success');
// TXDataOperationContext.Current.Handler.ManagedObjects.Add(Result);
// except
// on E: Exception do
// begin
// Result := TJSONObject.Create.AddPair('error', E.Message);
// end;
// end;
//end;
function TLookupService.AddCorrugatedOrder(orderInfo: string): TJSONObject;
// Adds corrugated order to the database. This process is done in 3 different
// tables so if any changes are made make sure to check orders, corrugated_plate_orders
// and orders_status_schedule. This also functions as an edit function.
// orderInfo - all the inputted order information from client side.
var
JSONData, ResponseData: TJSONObject;
JSONData: TJSONObject;
SQL: string;
Pair: TJSONPair;
Field: TField;
DateFormat: TFormatSettings;
CurrDate: TDateTime;
ORDER_ID: integer;
mode: string;
temp: string;
......@@ -1019,14 +1162,50 @@ begin
DateFormat := TFormatSettings.Create;
DateFormat.ShortDateFormat := 'yyyy-mm-dd';
DateFormat.DateSeparator := '-';
// Initialize Result object and add it to ManagedObjects upfront
Result := TJSONObject.Create;
TXDataOperationContext.Current.Handler.ManagedObjects.Add(Result);
JSONData := TJSONObject.ParseJSONValue(orderInfo) as TJSONObject;
if JSONData = nil then
raise Exception.Create('Invalid JSON format'); // If parsing fails, raise an exception
begin
Result.AddPair('error', 'Invalid JSON format'); // Populate error in Result
Exit;
end;
mode := JSONData.GetValue<string>('mode');
if mode = 'ADD' then
SQL := 'select * from corrugated_plate_orders where ORDER_ID = 0 and ORDER_ID <> 0'
else
begin
ORDER_ID := JSONData.GetValue<integer>('ORDER_ID');
SQL := 'select * from corrugated_plate_orders where ORDER_ID = ' + IntToStr(ORDER_ID);
end;
try
doQuery(ordersDB.UniQuery1, SQL);
// Add entry to Orders Table to retrieve the order ID
if mode = 'ADD' then
ordersDB.UniQuery1.Insert
else
ordersDB.UniQuery1.Edit;
if mode = 'ADD' then
for Pair in JSONData do
begin
Field := ordersDB.UniQuery1.FindField(Pair.JsonString.Value);
if Assigned(Field) then
begin
if (Field is TDateTimeField) and (Pair.JsonValue.Value <> '') then
TDateTimeField(Field).AsDateTime := StrToDate(Pair.JsonValue.Value, DateFormat)
else if Pair.JsonValue.Value <> '' then
Field.AsString := Pair.JsonValue.Value;
end;
end;
ordersDB.UniQuery1.Post;
if mode = 'ADD' then
begin
SQL := 'select * from orders where ORDER_ID = 0 and ORDER_ID <> 0';
doQuery(ordersDB.UniQuery1, SQL);
......@@ -1061,8 +1240,6 @@ begin
ordersDB.UniQuery1.Post;
ordersDB.UniQuery1.Close;
//Retrieve Order ID
if mode = 'ADD' then
begin
......@@ -1071,61 +1248,66 @@ begin
ORDER_ID := ordersDB.UniQuery1.FieldByName('OrderID').AsInteger;
end;
if mode = 'ADD' then
SQL := 'select * from corrugated_plate_orders where ORDER_ID = 0 and ORDER_ID <> 0'
else
begin
ORDER_ID := JSONData.GetValue<integer>('ORDER_ID');
SQL := 'select * from corrugated_plate_orders where ORDER_ID = ' + IntToStr(ORDER_ID);
end;
doQuery(ordersDB.UniQuery1, SQL);
try
// Second query
if mode = 'ADD' then
ordersDB.UniQuery1.Insert
SQL := 'select * from corrugated_plate_orders where ORDER_ID = 0 and ORDER_ID <> 0'
else
ordersDB.UniQuery1.Edit;
for Pair in JSONData do
begin
Field := ordersDB.UniQuery1.FindField(Pair.JsonString.Value); // Checks if the field exists in the dataset
if Assigned(Field) then
begin
// handles any dates or datetimes
if (Field is TDateTimeField) and (Pair.JsonValue.Value <> '') then
TDateTimeField(Field).AsDateTime := StrToDate(Pair.JsonValue.Value)
else if Pair.JsonValue.Value <> '' then
Field.AsString := Pair.JsonValue.Value;
end;
ORDER_ID := JSONData.GetValue<integer>('ORDER_ID');
SQL := 'select * from corrugated_plate_orders where ORDER_ID = ' + IntToStr(ORDER_ID);
end;
ordersDB.UniQuery1.FieldByName('ORDER_ID').AsInteger := ORDER_ID;
doQuery(ordersDB.UniQuery1, SQL);
// Post the record to the database
ordersDB.UniQuery1.Post;
try
if mode = 'ADD' then
ordersDB.UniQuery1.Insert
else
ordersDB.UniQuery1.Edit;
for Pair in JSONData do
begin
Field := ordersDB.UniQuery1.FindField(Pair.JsonString.Value);
if Assigned(Field) then
begin
if (Field is TDateTimeField) and (Pair.JsonValue.Value <> '') then
TDateTimeField(Field).AsDateTime := StrToDate(Pair.JsonValue.Value)
else if Pair.JsonValue.Value <> '' then
Field.AsString := Pair.JsonValue.Value;
end;
end;
if JSONData.GetValue<string>('staff_fields_proof_date') <> '' then
AddStatusSchedule('PROOF', JSONData, ORDER_ID);
if JSONData.GetValue<string>('staff_fields_ship_date') <> '' then
AddStatusSchedule('SHIP', JSONData, ORDER_ID);
if JSONData.GetValue<string>('staff_fields_art_due') <> '' then
AddStatusSchedule('ART', JSONData, ORDER_ID);
if JSONData.GetValue<string>('staff_fields_plate_due') <> '' then
AddStatusSchedule('PLATE', JSONData, ORDER_ID);
if JSONData.GetValue<string>('staff_fields_mount_due') <> '' then
AddStatusSchedule('MOUNT', JSONData, ORDER_ID);
ordersDB.UniQuery1.FieldByName('ORDER_ID').AsInteger := ORDER_ID;
ordersDB.UniQuery1.Post;
if JSONData.GetValue<string>('staff_fields_proof_date') <> '' then
AddStatusSchedule('PROOF', JSONData, ORDER_ID);
if JSONData.GetValue<string>('staff_fields_ship_date') <> '' then
AddStatusSchedule('SHIP', JSONData, ORDER_ID);
if JSONData.GetValue<string>('staff_fields_art_due') <> '' then
AddStatusSchedule('ART', JSONData, ORDER_ID);
if JSONData.GetValue<string>('staff_fields_plate_due') <> '' then
AddStatusSchedule('PLATE', JSONData, ORDER_ID);
if JSONData.GetValue<string>('staff_fields_mount_due') <> '' then
AddStatusSchedule('MOUNT', JSONData, ORDER_ID);
// Updated so an object isn't being created in the exception for memory control
Result.AddPair('status', 'success');
finally
ordersDB.UniQuery1.Close;
end;
Result := TJSONObject.Create.AddPair('status', 'success');
TXDataOperationContext.Current.Handler.ManagedObjects.Add(Result);
except
except
on E: Exception do
begin
Result := TJSONObject.Create.AddPair('error', E.Message);
Result.AddPair('error', E.Message);
end;
end;
end;
function TLookupService.AddStatusSchedule(StatusType: string; order: TJSONObject; ORDER_ID: integer): string;
// Adds/edits orders_status_schedule table.
// StatusType: name of the status getting added to the schedule.
......
unit Main;
//Authors:
//Elias Sarraf
//Mac ...
//Mac Stephens
//Cameron Hayes
interface
......
object rptOrderCorrugated: TrptOrderCorrugated
Height = 480
Width = 640
object uqOrderCorrugated: TUniQuery
Connection = ucKG
SQL.Strings = (
'SELECT '
' o.*, '
' c.NAME AS COMPANY_NAME '
'FROM corrugated_plate_orders o'
'JOIN customers c ON c.CUSTOMER_ID = o.COMPANY_ID'
'WHERE o.ORDER_ID = 401'
'')
Active = True
Left = 444
Top = 124
object uqOrderCorrugatedORDER_ID: TIntegerField
FieldName = 'ORDER_ID'
Required = True
end
object uqOrderCorrugatedCOMPANY_ID: TIntegerField
FieldName = 'COMPANY_ID'
Required = True
end
object uqOrderCorrugatedUSER_ID: TIntegerField
FieldName = 'USER_ID'
Required = True
end
object uqOrderCorrugatedORDER_DATE: TDateTimeField
FieldName = 'ORDER_DATE'
end
object uqOrderCorrugatedSTART_DATE: TDateField
FieldName = 'START_DATE'
end
object uqOrderCorrugatedEND_DATE: TDateField
FieldName = 'END_DATE'
end
object uqOrderCorrugatedORDER_STATUS: TStringField
FieldName = 'ORDER_STATUS'
Size = 10
end
object uqOrderCorrugatedSCHED_JSON: TStringField
FieldName = 'SCHED_JSON'
Size = 4096
end
object uqOrderCorrugatedstaff_fields_order_date: TDateField
FieldName = 'staff_fields_order_date'
end
object uqOrderCorrugatedstaff_fields_proof_date: TDateField
FieldName = 'staff_fields_proof_date'
end
object uqOrderCorrugatedstaff_fields_ship_date: TDateField
FieldName = 'staff_fields_ship_date'
end
object uqOrderCorrugatedstaff_fields_ship_via: TStringField
FieldName = 'staff_fields_ship_via'
Size = 45
end
object uqOrderCorrugatedstaff_fields_price: TStringField
FieldName = 'staff_fields_price'
Size = 10
end
object uqOrderCorrugatedstaff_fields_invoice_to: TStringField
FieldName = 'staff_fields_invoice_to'
Size = 128
end
object uqOrderCorrugatedstaff_fields_invoice_attention: TStringField
FieldName = 'staff_fields_invoice_attention'
Size = 256
end
object uqOrderCorrugatedstaff_fields_ship_to: TStringField
FieldName = 'staff_fields_ship_to'
Size = 128
end
object uqOrderCorrugatedstaff_fields_ship_attention: TStringField
FieldName = 'staff_fields_ship_attention'
Size = 256
end
object uqOrderCorrugatedstaff_fields_po_number: TStringField
FieldName = 'staff_fields_po_number'
Size = 16
end
object uqOrderCorrugatedstaff_fields_job_name: TStringField
FieldName = 'staff_fields_job_name'
Size = 45
end
object uqOrderCorrugatedstaff_fields_art_due: TDateField
FieldName = 'staff_fields_art_due'
end
object uqOrderCorrugatedstaff_fields_plate_due: TDateField
FieldName = 'staff_fields_plate_due'
end
object uqOrderCorrugatedstaff_fields_mount_due: TDateField
FieldName = 'staff_fields_mount_due'
end
object uqOrderCorrugatedplates_job_number: TStringField
FieldName = 'plates_job_number'
Size = 16
end
object uqOrderCorrugatedsupplied_by_customer_b_w_copy: TStringField
FieldName = 'supplied_by_customer_b_w_copy'
Size = 1
end
object uqOrderCorrugatedsupplied_by_customer_color_copy: TStringField
FieldName = 'supplied_by_customer_color_copy'
Size = 1
end
object uqOrderCorrugatedsupplied_by_customer_plates: TStringField
FieldName = 'supplied_by_customer_plates'
Size = 1
end
object uqOrderCorrugatedsupplied_by_customer_sample_ca: TStringField
FieldName = 'supplied_by_customer_sample_ca'
Size = 1
end
object uqOrderCorrugatedsupplied_by_customer_dimension: TStringField
FieldName = 'supplied_by_customer_dimension'
Size = 64
end
object uqOrderCorrugatedsupplied_by_customer_disk_or_cd: TStringField
FieldName = 'supplied_by_customer_disk_or_cd'
Size = 1
end
object uqOrderCorrugatedsupplied_by_customer_e_mail: TStringField
FieldName = 'supplied_by_customer_e_mail'
Size = 256
end
object uqOrderCorrugatedsupplied_by_customer_ftp: TStringField
FieldName = 'supplied_by_customer_ftp'
Size = 256
end
object uqOrderCorrugatedsupplied_by_customer_other: TStringField
FieldName = 'supplied_by_customer_other'
Size = 96
end
object uqOrderCorrugatedsupplied_by_customer_existing_: TStringField
FieldName = 'supplied_by_customer_existing_'
Size = 16
end
object uqOrderCorrugatedsupplied_by_customer_ref_art_p: TStringField
FieldName = 'supplied_by_customer_ref_art_p'
Size = 256
end
object uqOrderCorrugatedsupplied_by_customer_ref_art_a: TStringField
FieldName = 'supplied_by_customer_ref_art_a'
Size = 256
end
object uqOrderCorrugatedcut_die_cutdier: TStringField
FieldName = 'cut_die_cutdier'
Size = 10
end
object uqOrderCorrugatedcut_die_cutdieb: TStringField
FieldName = 'cut_die_cutdieb'
Size = 10
end
object uqOrderCorrugatedcut_die_cutdief: TStringField
FieldName = 'cut_die_cutdief'
Size = 10
end
object uqOrderCorrugatedcut_die_cutdierkr: TStringField
FieldName = 'cut_die_cutdierkr'
Size = 10
end
object uqOrderCorrugatedcut_die_cutdiefkr: TStringField
FieldName = 'cut_die_cutdiefkr'
Size = 10
end
object uqOrderCorrugatedcut_die_cad_file: TStringField
FieldName = 'cut_die_cad_file'
Size = 128
end
object uqOrderCorrugatedcut_die_attached: TStringField
FieldName = 'cut_die_attached'
Size = 1
end
object uqOrderCorrugatedcut_die_boxpol250: TStringField
FieldName = 'cut_die_boxpol250'
Size = 10
end
object uqOrderCorrugatedcut_die_boxpol155: TStringField
FieldName = 'cut_die_boxpol155'
Size = 10
end
object uqOrderCorrugatedcut_die_boxpol125: TStringField
FieldName = 'cut_die_boxpol125'
Size = 10
end
object uqOrderCorrugatedcut_die_brub: TStringField
FieldName = 'cut_die_brub'
Size = 10
end
object uqOrderCorrugatedproofing_fax: TStringField
FieldName = 'proofing_fax'
Size = 16
end
object uqOrderCorrugatedproofing_fax_attn: TStringField
FieldName = 'proofing_fax_attn'
Size = 256
end
object uqOrderCorrugatedproofing_e_mail: TStringField
FieldName = 'proofing_e_mail'
Size = 256
end
object uqOrderCorrugatedproofing_e_mail_attn: TStringField
FieldName = 'proofing_e_mail_attn'
Size = 256
end
object uqOrderCorrugatedproofing_ship_to: TStringField
FieldName = 'proofing_ship_to'
Size = 1024
end
object uqOrderCorrugatedproofing_full_size_panel: TStringField
FieldName = 'proofing_full_size_panel'
Size = 1
end
object uqOrderCorrugatedproofing_print_card: TStringField
FieldName = 'proofing_print_card'
Size = 1
end
object uqOrderCorrugatedproofing_wide_format: TStringField
FieldName = 'proofing_wide_format'
Size = 1
end
object uqOrderCorrugatedproofing_pdf_file: TStringField
FieldName = 'proofing_pdf_file'
Size = 1
end
object uqOrderCorrugatedproofing_other: TStringField
FieldName = 'proofing_other'
Size = 64
end
object uqOrderCorrugatedproofing_art_approved_as_is: TStringField
FieldName = 'proofing_art_approved_as_is'
Size = 1
end
object uqOrderCorrugatedproofing_approved_date: TDateField
FieldName = 'proofing_approved_date'
end
object uqOrderCorrugatedproofing_changes_required: TStringField
FieldName = 'proofing_changes_required'
Size = 1
end
object uqOrderCorrugatedproofing_changes_date: TDateField
FieldName = 'proofing_changes_date'
end
object uqOrderCorrugatedlayout_rsc_l: TStringField
FieldName = 'layout_rsc_l'
Size = 10
end
object uqOrderCorrugatedlayout_rcs_w: TStringField
FieldName = 'layout_rcs_w'
Size = 10
end
object uqOrderCorrugatedlayout_rcs_d: TStringField
FieldName = 'layout_rcs_d'
Size = 10
end
object uqOrderCorrugatedlayout_die_cut_no: TStringField
FieldName = 'layout_die_cut_no'
Size = 45
end
object uqOrderCorrugatedlayout_accross_no: TStringField
FieldName = 'layout_accross_no'
Size = 10
end
object uqOrderCorrugatedlayout_around_no: TStringField
FieldName = 'layout_around_no'
Size = 10
end
object uqOrderCorrugatedlayout_cad_file: TStringField
FieldName = 'layout_cad_file'
Size = 45
end
object uqOrderCorrugatedlayout_excalibur_die: TStringField
FieldName = 'layout_excalibur_die'
Size = 1
end
object uqOrderCorrugatedmounting_loose: TStringField
FieldName = 'mounting_loose'
Size = 10
end
object uqOrderCorrugatedmounting_sticky_bak: TStringField
FieldName = 'mounting_sticky_bak'
Size = 1
end
object uqOrderCorrugatedmounting_full_mount: TStringField
FieldName = 'mounting_full_mount'
Size = 1
end
object uqOrderCorrugatedmounting_strip_mount: TStringField
FieldName = 'mounting_strip_mount'
Size = 10
end
object uqOrderCorrugatedcolors_cylinder_size: TStringField
FieldName = 'colors_cylinder_size'
Size = 45
end
object uqOrderCorrugatedcolors_machine_ident: TStringField
FieldName = 'colors_machine_ident'
Size = 45
end
object uqOrderCorrugatedmounting_standard_setup: TStringField
FieldName = 'mounting_standard_setup'
Size = 45
end
object uqOrderCorrugatedmounting_custom_backing: TStringField
FieldName = 'mounting_custom_backing'
Size = 96
end
object uqOrderCorrugatedmounting_custom_adhesive: TStringField
FieldName = 'mounting_custom_adhesive'
Size = 45
end
object uqOrderCorrugatedcolors_cross_hairs: TStringField
FieldName = 'colors_cross_hairs'
Size = 10
end
object uqOrderCorrugatedcolors_clemson: TStringField
FieldName = 'colors_clemson'
Size = 10
end
object uqOrderCorrugatedplates_thickness: TStringField
FieldName = 'plates_thickness'
Size = 5
end
object uqOrderCorrugatedplates_plate_material: TStringField
FieldName = 'plates_plate_material'
Size = 16
end
object uqOrderCorrugatedgeneral_special_instructions: TStringField
FieldName = 'general_special_instructions'
Size = 2048
end
object uqOrderCorrugatedcolors_colors: TStringField
FieldName = 'colors_colors'
Size = 4096
end
object uqOrderCorrugatedstaff_fields_quickbooks_item: TStringField
FieldName = 'staff_fields_quickbooks_item'
Size = 45
end
object uqOrderCorrugatedstaff_fields_quantity: TStringField
FieldName = 'staff_fields_quantity'
Size = 10
end
object uqOrderCorrugatedlayout_rsc_style: TStringField
FieldName = 'layout_rsc_style'
Size = 32
end
object uqOrderCorrugatedstaff_fields_art_location: TStringField
FieldName = 'staff_fields_art_location'
Size = 16
end
object uqOrderCorrugatedCOMPANY_NAME: TStringField
FieldName = 'COMPANY_NAME'
ReadOnly = True
Size = 90
end
end
object ucKG: TUniConnection
ProviderName = 'MySQL'
Database = 'kg_order_entry'
Username = 'root'
Server = '192.168.102.130'
Connected = True
LoginPrompt = False
Left = 289
Top = 119
EncryptedPassword = '9AFF92FF8CFF86FF8CFFCFFFCEFF'
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 = 294
Top = 188
end
object frxDBOrderCorrugated: TfrxDBDataset
UserName = 'frxDBOrderCorrugated'
CloseDataSource = False
DataSet = uqOrderCorrugated
BCDToCurrency = False
DataSetOptions = []
Left = 444
Top = 206
FieldDefs = <
item
FieldName = 'ORDER_ID'
end
item
FieldName = 'COMPANY_ID'
end
item
FieldName = 'USER_ID'
end
item
FieldName = 'ORDER_DATE'
FieldType = fftDateTime
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 = 'staff_fields_order_date'
FieldType = fftDateTime
end
item
FieldName = 'staff_fields_proof_date'
FieldType = fftDateTime
end
item
FieldName = 'staff_fields_ship_date'
FieldType = fftDateTime
end
item
FieldName = 'staff_fields_ship_via'
FieldType = fftString
Size = 45
end
item
FieldName = 'staff_fields_price'
FieldType = fftString
end
item
FieldName = 'staff_fields_invoice_to'
FieldType = fftString
Size = 128
end
item
FieldName = 'staff_fields_invoice_attention'
FieldType = fftString
Size = 256
end
item
FieldName = 'staff_fields_ship_to'
FieldType = fftString
Size = 128
end
item
FieldName = 'staff_fields_ship_attention'
FieldType = fftString
Size = 256
end
item
FieldName = 'staff_fields_po_number'
FieldType = fftString
Size = 16
end
item
FieldName = 'staff_fields_job_name'
FieldType = fftString
Size = 45
end
item
FieldName = 'staff_fields_art_due'
FieldType = fftDateTime
end
item
FieldName = 'staff_fields_plate_due'
FieldType = fftDateTime
end
item
FieldName = 'staff_fields_mount_due'
FieldType = fftDateTime
end
item
FieldName = 'plates_job_number'
FieldType = fftString
Size = 16
end
item
FieldName = 'supplied_by_customer_b_w_copy'
FieldType = fftString
end
item
FieldName = 'supplied_by_customer_color_copy'
FieldType = fftString
end
item
FieldName = 'supplied_by_customer_plates'
FieldType = fftString
end
item
FieldName = 'supplied_by_customer_sample_ca'
FieldType = fftString
end
item
FieldName = 'supplied_by_customer_dimension'
FieldType = fftString
Size = 64
end
item
FieldName = 'supplied_by_customer_disk_or_cd'
FieldType = fftString
end
item
FieldName = 'supplied_by_customer_e_mail'
FieldType = fftString
Size = 256
end
item
FieldName = 'supplied_by_customer_ftp'
FieldType = fftString
Size = 256
end
item
FieldName = 'supplied_by_customer_other'
FieldType = fftString
Size = 96
end
item
FieldName = 'supplied_by_customer_existing_'
FieldType = fftString
Size = 16
end
item
FieldName = 'supplied_by_customer_ref_art_p'
FieldType = fftString
Size = 256
end
item
FieldName = 'supplied_by_customer_ref_art_a'
FieldType = fftString
Size = 256
end
item
FieldName = 'cut_die_cutdier'
FieldType = fftString
end
item
FieldName = 'cut_die_cutdieb'
FieldType = fftString
end
item
FieldName = 'cut_die_cutdief'
FieldType = fftString
end
item
FieldName = 'cut_die_cutdierkr'
FieldType = fftString
end
item
FieldName = 'cut_die_cutdiefkr'
FieldType = fftString
end
item
FieldName = 'cut_die_cad_file'
FieldType = fftString
Size = 128
end
item
FieldName = 'cut_die_attached'
FieldType = fftString
end
item
FieldName = 'cut_die_boxpol250'
FieldType = fftString
end
item
FieldName = 'cut_die_boxpol155'
FieldType = fftString
end
item
FieldName = 'cut_die_boxpol125'
FieldType = fftString
end
item
FieldName = 'cut_die_brub'
FieldType = fftString
end
item
FieldName = 'proofing_fax'
FieldType = fftString
Size = 16
end
item
FieldName = 'proofing_fax_attn'
FieldType = fftString
Size = 256
end
item
FieldName = 'proofing_e_mail'
FieldType = fftString
Size = 256
end
item
FieldName = 'proofing_e_mail_attn'
FieldType = fftString
Size = 256
end
item
FieldName = 'proofing_ship_to'
FieldType = fftString
Size = 1024
end
item
FieldName = 'proofing_full_size_panel'
FieldType = fftString
end
item
FieldName = 'proofing_print_card'
FieldType = fftString
end
item
FieldName = 'proofing_wide_format'
FieldType = fftString
end
item
FieldName = 'proofing_pdf_file'
FieldType = fftString
end
item
FieldName = 'proofing_other'
FieldType = fftString
Size = 64
end
item
FieldName = 'proofing_art_approved_as_is'
FieldType = fftString
end
item
FieldName = 'proofing_approved_date'
FieldType = fftDateTime
end
item
FieldName = 'proofing_changes_required'
FieldType = fftString
end
item
FieldName = 'proofing_changes_date'
FieldType = fftDateTime
end
item
FieldName = 'layout_rsc_l'
FieldType = fftString
end
item
FieldName = 'layout_rcs_w'
FieldType = fftString
end
item
FieldName = 'layout_rcs_d'
FieldType = fftString
end
item
FieldName = 'layout_die_cut_no'
FieldType = fftString
Size = 45
end
item
FieldName = 'layout_accross_no'
FieldType = fftString
end
item
FieldName = 'layout_around_no'
FieldType = fftString
end
item
FieldName = 'layout_cad_file'
FieldType = fftString
Size = 45
end
item
FieldName = 'layout_excalibur_die'
FieldType = fftString
end
item
FieldName = 'mounting_loose'
FieldType = fftString
end
item
FieldName = 'mounting_sticky_bak'
FieldType = fftString
end
item
FieldName = 'mounting_full_mount'
FieldType = fftString
end
item
FieldName = 'mounting_strip_mount'
FieldType = fftString
end
item
FieldName = 'colors_cylinder_size'
FieldType = fftString
Size = 45
end
item
FieldName = 'colors_machine_ident'
FieldType = fftString
Size = 45
end
item
FieldName = 'mounting_standard_setup'
FieldType = fftString
Size = 45
end
item
FieldName = 'mounting_custom_backing'
FieldType = fftString
Size = 96
end
item
FieldName = 'mounting_custom_adhesive'
FieldType = fftString
Size = 45
end
item
FieldName = 'colors_cross_hairs'
FieldType = fftString
end
item
FieldName = 'colors_clemson'
FieldType = fftString
end
item
FieldName = 'plates_thickness'
FieldType = fftString
end
item
FieldName = 'plates_plate_material'
FieldType = fftString
Size = 16
end
item
FieldName = 'general_special_instructions'
FieldType = fftString
Size = 2048
end
item
FieldName = 'colors_colors'
FieldType = fftString
Size = 4096
end
item
FieldName = 'staff_fields_quickbooks_item'
FieldType = fftString
Size = 45
end
item
FieldName = 'staff_fields_quantity'
FieldType = fftString
end
item
FieldName = 'layout_rsc_style'
FieldType = fftString
Size = 32
end
item
FieldName = 'staff_fields_art_location'
FieldType = fftString
Size = 16
end
item
FieldName = 'COMPANY_NAME'
FieldType = fftString
Size = 90
end>
end
object frxOrderCorrugated: TfrxReport
Version = '2024.2.1'
DataSet = frxDBOrderCorrugated
DataSetName = 'frxDBOrderCorrugated'
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 = 45691.397221759300000000
ReportOptions.LastChange = 45691.419667534700000000
ScriptLanguage = 'PascalScript'
ScriptText.Strings = (
'begin'
''
'end.')
Left = 290
Top = 270
Datasets = <
item
DataSet = frxDBOrderCorrugated
DataSetName = 'frxDBOrderCorrugated'
end>
Variables = <>
Style = <>
object Data: TfrxDataPage
Height = 1000.000000000000000000
Width = 1000.000000000000000000
end
object Page1: TfrxReportPage
PaperWidth = 215.900000000000000000
PaperHeight = 279.400000000000000000
PaperSize = 1
LeftMargin = 10.000000000000000000
RightMargin = 10.000000000000000000
TopMargin = 10.000000000000000000
BottomMargin = 10.000000000000000000
Frame.Typ = [ftLeft, ftRight, ftTop, ftBottom]
Frame.Width = 3.000000000000000000
MirrorMode = []
object Memo1: TfrxMemoView
AllowVectorExport = True
Width = 204.094619780000000000
Height = 22.677179770000000000
ContentScaleOptions.Constraints.MaxIterationValue = 0
ContentScaleOptions.Constraints.MinIterationValue = 0
Font.Charset = DEFAULT_CHARSET
Font.Color = clBlack
Font.Height = -13
Font.Name = 'Arial'
Font.Style = [fsBold]
Frame.Typ = [ftLeft, ftTop, ftBottom]
HAlign = haCenter
Memo.UTF8W = (
'Order Type: Corrugated Plate')
ParentFont = False
VAlign = vaCenter
end
object Memo2: TfrxMemoView
AllowVectorExport = True
Left = 204.094619750000000000
Top = 0.000000050000000000
Width = 536.693245470000000000
Height = 22.677179290000000000
ContentScaleOptions.Constraints.MaxIterationValue = 0
ContentScaleOptions.Constraints.MinIterationValue = 0
Font.Charset = DEFAULT_CHARSET
Font.Color = clBlack
Font.Height = -13
Font.Name = 'Arial'
Font.Style = [fsBold]
Frame.Typ = [ftRight, ftTop, ftBottom]
HAlign = haRight
Memo.UTF8W = (
'Order ID: [frxDBOrderCorrugated."ORDER_ID"] ')
ParentFont = False
VAlign = vaCenter
end
object TableObject1: TfrxTableObject
AllowVectorExport = True
Left = 8.139315190000000000
Top = 30.236240390000000000
object TableColumn1: TfrxTableColumn
Width = 122.078740157480000000
MaxWidth = 75.590600000000000000
end
object TableColumn2: TfrxTableColumn
Width = 122.078740157480000000
MaxWidth = 75.590600000000000000
end
object TableColumn3: TfrxTableColumn
Width = 122.078740157480000000
MaxWidth = 75.590600000000000000
end
object TableColumn4: TfrxTableColumn
Width = 122.078740157480000000
MaxWidth = 75.590600000000000000
end
object TableColumn5: TfrxTableColumn
Width = 122.078740157480000000
MaxWidth = 75.590600000000000000
end
object TableColumn6: TfrxTableColumn
Width = 56.692913385826800000
MaxWidth = 75.590600000000000000
end
object TableColumn7: TfrxTableColumn
Width = 56.692913385826800000
MaxWidth = 75.590600000000000000
end
object TableRow1: TfrxTableRow
Height = 18.897650000000000000
object TableCell1: TfrxTableCell
AllowVectorExport = True
Restrictions = [rfDontDelete]
ContentScaleOptions.Constraints.MaxIterationValue = 0
ContentScaleOptions.Constraints.MinIterationValue = 0
Font.Charset = DEFAULT_CHARSET
Font.Color = clNone
Font.Height = -11
Font.Name = 'Arial'
Font.Style = [fsBold]
Frame.Typ = [ftLeft, ftRight, ftTop, ftBottom]
Fill.BackColor = cl3DLight
Memo.UTF8W = (
'Order Date')
ParentFont = False
VAlign = vaCenter
end
object TableCell2: TfrxTableCell
AllowVectorExport = True
Restrictions = [rfDontDelete]
ContentScaleOptions.Constraints.MaxIterationValue = 0
ContentScaleOptions.Constraints.MinIterationValue = 0
Font.Charset = DEFAULT_CHARSET
Font.Color = clBlack
Font.Height = -11
Font.Name = 'Arial'
Font.Style = [fsBold]
Frame.Typ = [ftLeft, ftRight, ftTop, ftBottom]
Fill.BackColor = cl3DLight
Memo.UTF8W = (
'Proof Date')
ParentFont = False
VAlign = vaCenter
end
object TableCell3: TfrxTableCell
AllowVectorExport = True
Restrictions = [rfDontDelete]
ContentScaleOptions.Constraints.MaxIterationValue = 0
ContentScaleOptions.Constraints.MinIterationValue = 0
Font.Charset = DEFAULT_CHARSET
Font.Color = clBlack
Font.Height = -11
Font.Name = 'Arial'
Font.Style = [fsBold]
Frame.Typ = [ftLeft, ftRight, ftTop, ftBottom]
Fill.BackColor = cl3DLight
Memo.UTF8W = (
'Ship Date')
ParentFont = False
VAlign = vaCenter
end
object TableCell4: TfrxTableCell
AllowVectorExport = True
Restrictions = [rfDontDelete]
ContentScaleOptions.Constraints.MaxIterationValue = 0
ContentScaleOptions.Constraints.MinIterationValue = 0
Font.Charset = DEFAULT_CHARSET
Font.Color = clBlack
Font.Height = -11
Font.Name = 'Arial'
Font.Style = [fsBold]
Frame.Typ = [ftLeft, ftRight, ftTop, ftBottom]
Fill.BackColor = cl3DLight
Memo.UTF8W = (
'Ship Via')
ParentFont = False
VAlign = vaCenter
end
object TableCell5: TfrxTableCell
AllowVectorExport = True
Restrictions = [rfDontDelete]
ContentScaleOptions.Constraints.MaxIterationValue = 0
ContentScaleOptions.Constraints.MinIterationValue = 0
Font.Charset = DEFAULT_CHARSET
Font.Color = clBlack
Font.Height = -11
Font.Name = 'Arial'
Font.Style = [fsBold]
Frame.Typ = [ftLeft, ftRight, ftTop, ftBottom]
Fill.BackColor = cl3DLight
Memo.UTF8W = (
'Quickbooks Item')
ParentFont = False
VAlign = vaCenter
end
object TableCell26: TfrxTableCell
AllowVectorExport = True
Restrictions = [rfDontDelete]
ContentScaleOptions.Constraints.MaxIterationValue = 0
ContentScaleOptions.Constraints.MinIterationValue = 0
Font.Charset = DEFAULT_CHARSET
Font.Color = clBlack
Font.Height = -11
Font.Name = 'Arial'
Font.Style = [fsBold]
Frame.Typ = [ftLeft, ftRight, ftTop, ftBottom]
Fill.BackColor = cl3DLight
Memo.UTF8W = (
'Quantity')
ParentFont = False
VAlign = vaCenter
end
object TableCell31: TfrxTableCell
AllowVectorExport = True
Restrictions = [rfDontDelete]
ContentScaleOptions.Constraints.MaxIterationValue = 0
ContentScaleOptions.Constraints.MinIterationValue = 0
Font.Charset = DEFAULT_CHARSET
Font.Color = clBlack
Font.Height = -11
Font.Name = 'Arial'
Font.Style = [fsBold]
Frame.Typ = [ftLeft, ftRight, ftTop, ftBottom]
Fill.BackColor = cl3DLight
Memo.UTF8W = (
'Price')
ParentFont = False
VAlign = vaCenter
end
end
object TableRow2: TfrxTableRow
Height = 18.897650000000000000
object TableCell6: TfrxTableCell
AllowVectorExport = True
Restrictions = [rfDontDelete]
ContentScaleOptions.Constraints.MaxIterationValue = 0
ContentScaleOptions.Constraints.MinIterationValue = 0
DataField = 'staff_fields_order_date'
DataSet = frxDBOrderCorrugated
DataSetName = 'frxDBOrderCorrugated'
Frame.Typ = [ftLeft, ftRight, ftTop, ftBottom]
Memo.UTF8W = (
'[frxDBOrderCorrugated."staff_fields_order_date"]')
end
object TableCell7: TfrxTableCell
AllowVectorExport = True
Restrictions = [rfDontDelete]
ContentScaleOptions.Constraints.MaxIterationValue = 0
ContentScaleOptions.Constraints.MinIterationValue = 0
DataField = 'staff_fields_proof_date'
DataSet = frxDBOrderCorrugated
DataSetName = 'frxDBOrderCorrugated'
Frame.Typ = [ftLeft, ftRight, ftTop, ftBottom]
Memo.UTF8W = (
'[frxDBOrderCorrugated."staff_fields_proof_date"]')
end
object TableCell8: TfrxTableCell
AllowVectorExport = True
Restrictions = [rfDontDelete]
ContentScaleOptions.Constraints.MaxIterationValue = 0
ContentScaleOptions.Constraints.MinIterationValue = 0
DataField = 'staff_fields_ship_date'
DataSet = frxDBOrderCorrugated
DataSetName = 'frxDBOrderCorrugated'
Frame.Typ = [ftLeft, ftRight, ftTop, ftBottom]
Memo.UTF8W = (
'[frxDBOrderCorrugated."staff_fields_ship_date"]')
end
object TableCell9: TfrxTableCell
AllowVectorExport = True
Restrictions = [rfDontDelete]
ContentScaleOptions.Constraints.MaxIterationValue = 0
ContentScaleOptions.Constraints.MinIterationValue = 0
DataField = 'staff_fields_ship_via'
DataSet = frxDBOrderCorrugated
DataSetName = 'frxDBOrderCorrugated'
Frame.Typ = [ftLeft, ftRight, ftTop, ftBottom]
Memo.UTF8W = (
'[frxDBOrderCorrugated."staff_fields_ship_via"]')
end
object TableCell10: TfrxTableCell
AllowVectorExport = True
Restrictions = [rfDontDelete]
ContentScaleOptions.Constraints.MaxIterationValue = 0
ContentScaleOptions.Constraints.MinIterationValue = 0
DataField = 'staff_fields_quickbooks_item'
DataSet = frxDBOrderCorrugated
DataSetName = 'frxDBOrderCorrugated'
Frame.Typ = [ftLeft, ftRight, ftTop, ftBottom]
Memo.UTF8W = (
'[frxDBOrderCorrugated."staff_fields_quickbooks_item"]')
end
object TableCell27: TfrxTableCell
AllowVectorExport = True
Restrictions = [rfDontDelete]
ContentScaleOptions.Constraints.MaxIterationValue = 0
ContentScaleOptions.Constraints.MinIterationValue = 0
DataField = 'staff_fields_quantity'
DataSet = frxDBOrderCorrugated
DataSetName = 'frxDBOrderCorrugated'
Frame.Typ = [ftLeft, ftRight, ftTop, ftBottom]
Memo.UTF8W = (
'[frxDBOrderCorrugated."staff_fields_quantity"]')
end
object TableCell32: TfrxTableCell
AllowVectorExport = True
Restrictions = [rfDontDelete]
ContentScaleOptions.Constraints.MaxIterationValue = 0
ContentScaleOptions.Constraints.MinIterationValue = 0
DataField = 'staff_fields_price'
DataSet = frxDBOrderCorrugated
DataSetName = 'frxDBOrderCorrugated'
Frame.Typ = [ftLeft, ftRight, ftTop, ftBottom]
Memo.UTF8W = (
'[frxDBOrderCorrugated."staff_fields_price"]')
end
end
end
object TableObject2: TfrxTableObject
AllowVectorExport = True
Left = 8.139315190000000000
Top = 71.811070390000000000
object TableColumn8: TfrxTableColumn
Width = 361.889763779528000000
MaxWidth = 75.590600000000000000
end
object TableColumn9: TfrxTableColumn
Width = 361.889763779528000000
MaxWidth = 75.590600000000000000
end
object TableRow3: TfrxTableRow
Height = 18.897650000000000000
object TableCell11: TfrxTableCell
AllowVectorExport = True
Restrictions = [rfDontDelete]
ContentScaleOptions.Constraints.MaxIterationValue = 0
ContentScaleOptions.Constraints.MinIterationValue = 0
Font.Charset = DEFAULT_CHARSET
Font.Color = clNone
Font.Height = -11
Font.Name = 'Arial'
Font.Style = [fsBold]
Frame.Typ = [ftLeft, ftRight, ftTop, ftBottom]
Fill.BackColor = cl3DLight
Memo.UTF8W = (
'Invoice To')
ParentFont = False
VAlign = vaCenter
end
object TableCell12: TfrxTableCell
AllowVectorExport = True
Restrictions = [rfDontDelete]
ContentScaleOptions.Constraints.MaxIterationValue = 0
ContentScaleOptions.Constraints.MinIterationValue = 0
Font.Charset = DEFAULT_CHARSET
Font.Color = clBlack
Font.Height = -11
Font.Name = 'Arial'
Font.Style = [fsBold]
Frame.Typ = [ftLeft, ftRight, ftTop, ftBottom]
Fill.BackColor = cl3DLight
Memo.UTF8W = (
'Ship To')
ParentFont = False
VAlign = vaCenter
end
end
object TableRow4: TfrxTableRow
Height = 94.488188976378000000
object TableCell18: TfrxTableCell
AllowVectorExport = True
Restrictions = [rfDontDelete]
ContentScaleOptions.Constraints.MaxIterationValue = 0
ContentScaleOptions.Constraints.MinIterationValue = 0
DataField = 'staff_fields_invoice_to'
DataSet = frxDBOrderCorrugated
DataSetName = 'frxDBOrderCorrugated'
Frame.Typ = [ftLeft, ftRight, ftTop, ftBottom]
Memo.UTF8W = (
'[frxDBOrderCorrugated."staff_fields_invoice_to"]')
end
object TableCell19: TfrxTableCell
AllowVectorExport = True
Restrictions = [rfDontDelete]
ContentScaleOptions.Constraints.MaxIterationValue = 0
ContentScaleOptions.Constraints.MinIterationValue = 0
DataField = 'staff_fields_ship_to'
DataSet = frxDBOrderCorrugated
DataSetName = 'frxDBOrderCorrugated'
Frame.Typ = [ftLeft, ftRight, ftTop, ftBottom]
Memo.UTF8W = (
'[frxDBOrderCorrugated."staff_fields_ship_to"]')
end
end
end
object TableObject3: TfrxTableObject
AllowVectorExport = True
Left = 8.139315190000000000
Top = 188.976500390000000000
object TableColumn10: TfrxTableColumn
Width = 361.889763779528000000
MaxWidth = 75.590600000000000000
end
object TableColumn11: TfrxTableColumn
Width = 361.889763779528000000
MaxWidth = 75.590600000000000000
end
object TableRow5: TfrxTableRow
Height = 18.897650000000000000
object TableCell20: TfrxTableCell
AllowVectorExport = True
Restrictions = [rfDontDelete]
ContentScaleOptions.Constraints.MaxIterationValue = 0
ContentScaleOptions.Constraints.MinIterationValue = 0
Font.Charset = DEFAULT_CHARSET
Font.Color = clNone
Font.Height = -11
Font.Name = 'Arial'
Font.Style = [fsBold]
Frame.Typ = [ftLeft, ftRight, ftTop, ftBottom]
Fill.BackColor = cl3DLight
Memo.UTF8W = (
'PO Number')
ParentFont = False
VAlign = vaCenter
end
object TableCell21: TfrxTableCell
AllowVectorExport = True
Restrictions = [rfDontDelete]
ContentScaleOptions.Constraints.MaxIterationValue = 0
ContentScaleOptions.Constraints.MinIterationValue = 0
Font.Charset = DEFAULT_CHARSET
Font.Color = clBlack
Font.Height = -11
Font.Name = 'Arial'
Font.Style = [fsBold]
Frame.Typ = [ftLeft, ftRight, ftTop, ftBottom]
Fill.BackColor = cl3DLight
Memo.UTF8W = (
'Job Name')
ParentFont = False
VAlign = vaCenter
end
end
object TableRow6: TfrxTableRow
Height = 37.795275590551200000
object TableCell22: TfrxTableCell
AllowVectorExport = True
Restrictions = [rfDontDelete]
ContentScaleOptions.Constraints.MaxIterationValue = 0
ContentScaleOptions.Constraints.MinIterationValue = 0
DataSet = frxDBOrderCorrugated
DataSetName = 'frxDBOrderCorrugated'
Frame.Typ = [ftLeft, ftRight, ftTop, ftBottom]
Memo.UTF8W = (
'[frxDBOrderCorrugated."staff_fields_po_number"]')
end
object TableCell23: TfrxTableCell
AllowVectorExport = True
Restrictions = [rfDontDelete]
ContentScaleOptions.Constraints.MaxIterationValue = 0
ContentScaleOptions.Constraints.MinIterationValue = 0
DataSet = frxDBOrderCorrugated
DataSetName = 'frxDBOrderCorrugated'
Frame.Typ = [ftLeft, ftRight, ftTop, ftBottom]
Memo.UTF8W = (
'[frxDBOrderCorrugated."staff_fields_job_name"]')
end
end
end
end
end
end
unit rOrderCorrugated;
interface
uses
System.SysUtils, System.Classes, Data.DB, MemDS, DBAccess, Uni, Common.Logging,
frxClass, frxExportBaseDialog, frxExportPDF, frCoreClasses, frxDBSet;
type
TrptOrderCorrugated = class(TDataModule)
uqOrderCorrugated: TUniQuery;
ucKG: TUniConnection;
frxPDFExport1: TfrxPDFExport;
frxDBOrderCorrugated: TfrxDBDataset;
uqOrderCorrugatedORDER_ID: TIntegerField;
uqOrderCorrugatedCOMPANY_ID: TIntegerField;
uqOrderCorrugatedUSER_ID: TIntegerField;
uqOrderCorrugatedORDER_DATE: TDateTimeField;
uqOrderCorrugatedSTART_DATE: TDateField;
uqOrderCorrugatedEND_DATE: TDateField;
uqOrderCorrugatedORDER_STATUS: TStringField;
uqOrderCorrugatedSCHED_JSON: TStringField;
uqOrderCorrugatedstaff_fields_order_date: TDateField;
uqOrderCorrugatedstaff_fields_proof_date: TDateField;
uqOrderCorrugatedstaff_fields_ship_date: TDateField;
uqOrderCorrugatedstaff_fields_ship_via: TStringField;
uqOrderCorrugatedstaff_fields_price: TStringField;
uqOrderCorrugatedstaff_fields_invoice_to: TStringField;
uqOrderCorrugatedstaff_fields_invoice_attention: TStringField;
uqOrderCorrugatedstaff_fields_ship_to: TStringField;
uqOrderCorrugatedstaff_fields_ship_attention: TStringField;
uqOrderCorrugatedstaff_fields_po_number: TStringField;
uqOrderCorrugatedstaff_fields_job_name: TStringField;
uqOrderCorrugatedstaff_fields_art_due: TDateField;
uqOrderCorrugatedstaff_fields_plate_due: TDateField;
uqOrderCorrugatedstaff_fields_mount_due: TDateField;
uqOrderCorrugatedplates_job_number: TStringField;
uqOrderCorrugatedsupplied_by_customer_b_w_copy: TStringField;
uqOrderCorrugatedsupplied_by_customer_color_copy: TStringField;
uqOrderCorrugatedsupplied_by_customer_plates: TStringField;
uqOrderCorrugatedsupplied_by_customer_sample_ca: TStringField;
uqOrderCorrugatedsupplied_by_customer_dimension: TStringField;
uqOrderCorrugatedsupplied_by_customer_disk_or_cd: TStringField;
uqOrderCorrugatedsupplied_by_customer_e_mail: TStringField;
uqOrderCorrugatedsupplied_by_customer_ftp: TStringField;
uqOrderCorrugatedsupplied_by_customer_other: TStringField;
uqOrderCorrugatedsupplied_by_customer_existing_: TStringField;
uqOrderCorrugatedsupplied_by_customer_ref_art_p: TStringField;
uqOrderCorrugatedsupplied_by_customer_ref_art_a: TStringField;
uqOrderCorrugatedcut_die_cutdier: TStringField;
uqOrderCorrugatedcut_die_cutdieb: TStringField;
uqOrderCorrugatedcut_die_cutdief: TStringField;
uqOrderCorrugatedcut_die_cutdierkr: TStringField;
uqOrderCorrugatedcut_die_cutdiefkr: TStringField;
uqOrderCorrugatedcut_die_cad_file: TStringField;
uqOrderCorrugatedcut_die_attached: TStringField;
uqOrderCorrugatedcut_die_boxpol250: TStringField;
uqOrderCorrugatedcut_die_boxpol155: TStringField;
uqOrderCorrugatedcut_die_boxpol125: TStringField;
uqOrderCorrugatedcut_die_brub: TStringField;
uqOrderCorrugatedproofing_fax: TStringField;
uqOrderCorrugatedproofing_fax_attn: TStringField;
uqOrderCorrugatedproofing_e_mail: TStringField;
uqOrderCorrugatedproofing_e_mail_attn: TStringField;
uqOrderCorrugatedproofing_ship_to: TStringField;
uqOrderCorrugatedproofing_full_size_panel: TStringField;
uqOrderCorrugatedproofing_print_card: TStringField;
uqOrderCorrugatedproofing_wide_format: TStringField;
uqOrderCorrugatedproofing_pdf_file: TStringField;
uqOrderCorrugatedproofing_other: TStringField;
uqOrderCorrugatedproofing_art_approved_as_is: TStringField;
uqOrderCorrugatedproofing_approved_date: TDateField;
uqOrderCorrugatedproofing_changes_required: TStringField;
uqOrderCorrugatedproofing_changes_date: TDateField;
uqOrderCorrugatedlayout_rsc_l: TStringField;
uqOrderCorrugatedlayout_rcs_w: TStringField;
uqOrderCorrugatedlayout_rcs_d: TStringField;
uqOrderCorrugatedlayout_die_cut_no: TStringField;
uqOrderCorrugatedlayout_accross_no: TStringField;
uqOrderCorrugatedlayout_around_no: TStringField;
uqOrderCorrugatedlayout_cad_file: TStringField;
uqOrderCorrugatedlayout_excalibur_die: TStringField;
uqOrderCorrugatedmounting_loose: TStringField;
uqOrderCorrugatedmounting_sticky_bak: TStringField;
uqOrderCorrugatedmounting_full_mount: TStringField;
uqOrderCorrugatedmounting_strip_mount: TStringField;
uqOrderCorrugatedcolors_cylinder_size: TStringField;
uqOrderCorrugatedcolors_machine_ident: TStringField;
uqOrderCorrugatedmounting_standard_setup: TStringField;
uqOrderCorrugatedmounting_custom_backing: TStringField;
uqOrderCorrugatedmounting_custom_adhesive: TStringField;
uqOrderCorrugatedcolors_cross_hairs: TStringField;
uqOrderCorrugatedcolors_clemson: TStringField;
uqOrderCorrugatedplates_thickness: TStringField;
uqOrderCorrugatedplates_plate_material: TStringField;
uqOrderCorrugatedgeneral_special_instructions: TStringField;
uqOrderCorrugatedcolors_colors: TStringField;
uqOrderCorrugatedstaff_fields_quickbooks_item: TStringField;
uqOrderCorrugatedstaff_fields_quantity: TStringField;
uqOrderCorrugatedlayout_rsc_style: TStringField;
uqOrderCorrugatedstaff_fields_art_location: TStringField;
uqOrderCorrugatedCOMPANY_NAME: TStringField;
frxOrderCorrugated: TfrxReport;
private
{ Private declarations }
public
function PrepareReport(SQL: string): string;
end;
var
rptOrderCorrugated: TrptOrderCorrugated;
implementation
{%CLASSGROUP 'Vcl.Controls.TControl'}
{$R *.dfm}
function TrptOrderCorrugated.PrepareReport(SQL: string): string;
begin
Logger.Log(3, 'Generated SQL for Prepare Report: ' + SQL);
uqOrderCorrugated.Close;
uqOrderCorrugated.SQL.Text := SQL;
uqOrderCorrugated.Open;
// result := GeneratePDF;
Logger.Log(3, 'Report preparation complete.');
end;
end.
object rptOrders: TrptOrders
object rptOrderList: TrptOrderList
OnCreate = DataModuleCreate
Height = 480
Width = 640
object frxOrders: TfrxReport
object frxOrderList: TfrxReport
Version = '2024.2.1'
DotMatrixReport = False
IniFile = '\Software\Fast Reports'
......
unit rOrders;
unit rOrderList;
interface
......@@ -8,8 +8,8 @@ uses
MemDS, frxDBSet, frxTableObject, frCoreClasses, Common.Logging, System.IOUtils, JSON;
type
TrptOrders = class(TDataModule)
frxOrders: TfrxReport;
TrptOrderList = class(TDataModule)
frxOrderList: TfrxReport;
frxPDFExport1: TfrxPDFExport;
ucKG: TUniConnection;
uqOrders: TUniQuery;
......@@ -46,7 +46,7 @@ type
end;
var
rptOrders: TrptOrders;
rptOrderList: TrptOrderList;
implementation
......@@ -57,7 +57,7 @@ uses
{$R *.dfm}
procedure TrptOrders.DataModuleCreate(Sender: TObject);
procedure TrptOrderList.DataModuleCreate(Sender: TObject);
begin
Logger.Log( 3, 'TAuthDatabase.DataModuleCreate' );
LoadDatabaseSettings( ucKG, 'kgOrdersServer.ini' );
......@@ -66,15 +66,15 @@ begin
except
on E: Exception do
begin
Logger.Log(3, '--TrptOrders.DataModuleCreate -Error connecting to database: ' + E.Message);
Logger.Log(3, '--TrptOrderList.DataModuleCreate -Error connecting to database: ' + E.Message);
end;
end;
end;
function TrptOrders.PrepareReport(SQL: string): string;
function TrptOrderList.PrepareReport(SQL: string): string;
begin
Logger.Log(5, 'Generated SQL for Prepare Report: ' + SQL);
Logger.Log(3, 'Generated SQL for Prepare Report: ' + SQL);
uqOrders.Close;
uqOrders.SQL.Text := SQL;
......@@ -83,12 +83,12 @@ begin
result := GeneratePDF;
Logger.Log(5, 'Report preparation complete.');
Logger.Log(3, 'Report preparation complete.');
end;
procedure TrptOrders.uqOrdersCalcFields(DataSet: TDataSet);
procedure TrptOrderList.uqOrdersCalcFields(DataSet: TDataSet);
var
ColorType: string;
SQL: string;
......@@ -119,7 +119,7 @@ begin
end;
//create new field called color count
function TrptOrders.getColorCount(colors: string): string;
function TrptOrderList.getColorCount(colors: string): string;
var
colorObject: TJSONObject;
colorList: TJSONArray;
......@@ -133,12 +133,12 @@ begin
colorList := TJSONArray(colorObject.GetValue('items'));
result := IntToStr(colorList.Count);
finally
colorObject.Free; // Free TJSONObject to avoid leaks
colorObject.Free;
end;
end;
end;
function TrptOrders.GeneratePDF: string;
function TrptOrderList.GeneratePDF: string;
var
ReportDir, ReportFileName: string;
reportURL: string;
......@@ -157,11 +157,11 @@ begin
frxPDFExport1.FileName := ReportFileName;
frxPDFExport1.ShowDialog := False;
try
frxOrders.PrepareReport;
frxOrders.Export(frxPDFExport1);
frxOrderList.PrepareReport;
frxOrderList.Export(frxPDFExport1);
//frxOrders.ShowPreparedReport;
finally
frxOrders.Clear; // Clear the report to avoid memory bloat
frxOrderList.Clear; // Clears the report to avoid memory bloat
end;
Logger.Log(5, 'PDF saved to: ' + ReportFileName);
......
<?xml version="1.0" encoding="utf-8" standalone="no"?>
<TfrxReport Version="2024.2.1" DataSet="frxDBOrderCorrugated" DataSetName="frxDBOrderCorrugated" DotMatrixReport="False" IniFile="\Software\Fast Reports" PreviewOptions.Buttons="167935" PreviewOptions.Zoom="1" PrintOptions.Printer="Default" PrintOptions.PrintOnSheet="0" ReportOptions.CreateDate="45691.3972217593" ReportOptions.Description.Text="" ReportOptions.LastChange="45691.4196675347" ScriptLanguage="PascalScript" ScriptText.Text="begin&#13;&#10;&#13;&#10;end.">
<Datasets>
<item DataSet="frxDBOrderCorrugated" DataSetName="frxDBOrderCorrugated"/>
</Datasets>
<TfrxDataPage Name="Data" HGuides.Text="" VGuides.Text="" Height="1000" Left="0" Top="0" Width="1000"/>
<TfrxReportPage Name="Page1" HGuides.Text="" VGuides.Text="" PaperWidth="215.9" PaperHeight="279.4" PaperSize="1" LeftMargin="10" RightMargin="10" TopMargin="10" BottomMargin="10" ColumnWidth="0" ColumnPositions.Text="" Frame.Typ="15" Frame.Width="3" MirrorMode="0">
<TfrxMemoView Name="Memo1" AllowVectorExport="True" Left="0" Top="0" Width="204.09461978" Height="22.67717977" ContentScaleOptions.Constraints.MaxIterationValue="0" ContentScaleOptions.Constraints.MinIterationValue="0" Font.Charset="1" Font.Color="0" Font.Height="-13" Font.Name="Arial" Font.Style="1" Frame.Typ="13" HAlign="haCenter" ParentFont="False" VAlign="vaCenter" Text="Order Type: Corrugated Plate"/>
<TfrxMemoView Name="Memo2" AllowVectorExport="True" Left="204.09461975" Top="5E-8" Width="536.69324547" Height="22.67717929" ContentScaleOptions.Constraints.MaxIterationValue="0" ContentScaleOptions.Constraints.MinIterationValue="0" Font.Charset="1" Font.Color="0" Font.Height="-13" Font.Name="Arial" Font.Style="1" Frame.Typ="14" HAlign="haRight" ParentFont="False" VAlign="vaCenter" Text="Order ID: [frxDBOrderCorrugated.&#34;ORDER_ID&#34;] "/>
<TfrxTableObject Name="TableObject1" AllowVectorExport="True" Left="8.13931519" Top="30.23624039">
<TfrxTableColumn Name="TableColumn1" Width="122.07874015748" MinWidth="0" MaxWidth="75.5906"/>
<TfrxTableColumn Name="TableColumn2" Width="122.07874015748" MinWidth="0" MaxWidth="75.5906"/>
<TfrxTableColumn Name="TableColumn3" Width="122.07874015748" MinWidth="0" MaxWidth="75.5906"/>
<TfrxTableColumn Name="TableColumn4" Width="122.07874015748" MinWidth="0" MaxWidth="75.5906"/>
<TfrxTableColumn Name="TableColumn5" Width="122.07874015748" MinWidth="0" MaxWidth="75.5906"/>
<TfrxTableColumn Name="TableColumn6" Width="56.6929133858268" MinWidth="0" MaxWidth="75.5906"/>
<TfrxTableColumn Name="TableColumn7" Width="56.6929133858268" MinWidth="0" MaxWidth="75.5906"/>
<TfrxTableRow Name="TableRow1" MinHeight="0" MaxHeight="0" Height="18.89765">
<TfrxTableCell Name="TableCell1" AllowVectorExport="True" Restrictions="8" ContentScaleOptions.Constraints.MaxIterationValue="0" ContentScaleOptions.Constraints.MinIterationValue="0" Font.Charset="1" Font.Color="536870911" Font.Height="-11" Font.Name="Arial" Font.Style="1" Frame.Typ="15" Fill.BackColor="-16777194" ParentFont="False" VAlign="vaCenter" Text="Order Date"/>
<TfrxTableCell Name="TableCell2" AllowVectorExport="True" Restrictions="8" ContentScaleOptions.Constraints.MaxIterationValue="0" ContentScaleOptions.Constraints.MinIterationValue="0" Font.Charset="1" Font.Color="0" Font.Height="-11" Font.Name="Arial" Font.Style="1" Frame.Typ="15" Fill.BackColor="-16777194" ParentFont="False" VAlign="vaCenter" Text="Proof Date"/>
<TfrxTableCell Name="TableCell3" AllowVectorExport="True" Restrictions="8" ContentScaleOptions.Constraints.MaxIterationValue="0" ContentScaleOptions.Constraints.MinIterationValue="0" Font.Charset="1" Font.Color="0" Font.Height="-11" Font.Name="Arial" Font.Style="1" Frame.Typ="15" Fill.BackColor="-16777194" ParentFont="False" VAlign="vaCenter" Text="Ship Date"/>
<TfrxTableCell Name="TableCell4" AllowVectorExport="True" Restrictions="8" ContentScaleOptions.Constraints.MaxIterationValue="0" ContentScaleOptions.Constraints.MinIterationValue="0" Font.Charset="1" Font.Color="0" Font.Height="-11" Font.Name="Arial" Font.Style="1" Frame.Typ="15" Fill.BackColor="-16777194" ParentFont="False" VAlign="vaCenter" Text="Ship Via"/>
<TfrxTableCell Name="TableCell5" AllowVectorExport="True" Restrictions="8" ContentScaleOptions.Constraints.MaxIterationValue="0" ContentScaleOptions.Constraints.MinIterationValue="0" Font.Charset="1" Font.Color="0" Font.Height="-11" Font.Name="Arial" Font.Style="1" Frame.Typ="15" Fill.BackColor="-16777194" ParentFont="False" VAlign="vaCenter" Text="Quickbooks Item"/>
<TfrxTableCell Name="TableCell26" AllowVectorExport="True" Restrictions="8" ContentScaleOptions.Constraints.MaxIterationValue="0" ContentScaleOptions.Constraints.MinIterationValue="0" Font.Charset="1" Font.Color="0" Font.Height="-11" Font.Name="Arial" Font.Style="1" Frame.Typ="15" Fill.BackColor="-16777194" ParentFont="False" VAlign="vaCenter" Text="Quantity"/>
<TfrxTableCell Name="TableCell31" AllowVectorExport="True" Restrictions="8" ContentScaleOptions.Constraints.MaxIterationValue="0" ContentScaleOptions.Constraints.MinIterationValue="0" Font.Charset="1" Font.Color="0" Font.Height="-11" Font.Name="Arial" Font.Style="1" Frame.Typ="15" Fill.BackColor="-16777194" ParentFont="False" VAlign="vaCenter" Text="Price"/>
</TfrxTableRow>
<TfrxTableRow Name="TableRow2" MinHeight="0" MaxHeight="0" Height="18.89765">
<TfrxTableCell Name="TableCell6" AllowVectorExport="True" Restrictions="8" ContentScaleOptions.Constraints.MaxIterationValue="0" ContentScaleOptions.Constraints.MinIterationValue="0" DataField="staff_fields_order_date" DataSet="frxDBOrderCorrugated" DataSetName="frxDBOrderCorrugated" Frame.Typ="15" Text="[frxDBOrderCorrugated.&#34;staff_fields_order_date&#34;]"/>
<TfrxTableCell Name="TableCell7" AllowVectorExport="True" Restrictions="8" ContentScaleOptions.Constraints.MaxIterationValue="0" ContentScaleOptions.Constraints.MinIterationValue="0" DataField="staff_fields_proof_date" DataSet="frxDBOrderCorrugated" DataSetName="frxDBOrderCorrugated" Frame.Typ="15" Text="[frxDBOrderCorrugated.&#34;staff_fields_proof_date&#34;]"/>
<TfrxTableCell Name="TableCell8" AllowVectorExport="True" Restrictions="8" ContentScaleOptions.Constraints.MaxIterationValue="0" ContentScaleOptions.Constraints.MinIterationValue="0" DataField="staff_fields_ship_date" DataSet="frxDBOrderCorrugated" DataSetName="frxDBOrderCorrugated" Frame.Typ="15" Text="[frxDBOrderCorrugated.&#34;staff_fields_ship_date&#34;]"/>
<TfrxTableCell Name="TableCell9" AllowVectorExport="True" Restrictions="8" ContentScaleOptions.Constraints.MaxIterationValue="0" ContentScaleOptions.Constraints.MinIterationValue="0" DataField="staff_fields_ship_via" DataSet="frxDBOrderCorrugated" DataSetName="frxDBOrderCorrugated" Frame.Typ="15" Text="[frxDBOrderCorrugated.&#34;staff_fields_ship_via&#34;]"/>
<TfrxTableCell Name="TableCell10" AllowVectorExport="True" Restrictions="8" ContentScaleOptions.Constraints.MaxIterationValue="0" ContentScaleOptions.Constraints.MinIterationValue="0" DataField="staff_fields_quickbooks_item" DataSet="frxDBOrderCorrugated" DataSetName="frxDBOrderCorrugated" Frame.Typ="15" Text="[frxDBOrderCorrugated.&#34;staff_fields_quickbooks_item&#34;]"/>
<TfrxTableCell Name="TableCell27" AllowVectorExport="True" Restrictions="8" ContentScaleOptions.Constraints.MaxIterationValue="0" ContentScaleOptions.Constraints.MinIterationValue="0" DataField="staff_fields_quantity" DataSet="frxDBOrderCorrugated" DataSetName="frxDBOrderCorrugated" Frame.Typ="15" Text="[frxDBOrderCorrugated.&#34;staff_fields_quantity&#34;]"/>
<TfrxTableCell Name="TableCell32" AllowVectorExport="True" Restrictions="8" ContentScaleOptions.Constraints.MaxIterationValue="0" ContentScaleOptions.Constraints.MinIterationValue="0" DataField="staff_fields_price" DataSet="frxDBOrderCorrugated" DataSetName="frxDBOrderCorrugated" Frame.Typ="15" Text="[frxDBOrderCorrugated.&#34;staff_fields_price&#34;]"/>
</TfrxTableRow>
</TfrxTableObject>
<TfrxTableObject Name="TableObject2" AllowVectorExport="True" Left="8.13931519" Top="71.81107039">
<TfrxTableColumn Name="TableColumn8" Width="361.889763779528" MinWidth="0" MaxWidth="75.5906"/>
<TfrxTableColumn Name="TableColumn9" Width="361.889763779528" MinWidth="0" MaxWidth="75.5906"/>
<TfrxTableRow Name="TableRow3" MinHeight="0" MaxHeight="0" Height="18.89765">
<TfrxTableCell Name="TableCell11" AllowVectorExport="True" Restrictions="8" ContentScaleOptions.Constraints.MaxIterationValue="0" ContentScaleOptions.Constraints.MinIterationValue="0" Font.Charset="1" Font.Color="536870911" Font.Height="-11" Font.Name="Arial" Font.Style="1" Frame.Typ="15" Fill.BackColor="-16777194" ParentFont="False" VAlign="vaCenter" Text="Invoice To"/>
<TfrxTableCell Name="TableCell12" AllowVectorExport="True" Restrictions="8" ContentScaleOptions.Constraints.MaxIterationValue="0" ContentScaleOptions.Constraints.MinIterationValue="0" Font.Charset="1" Font.Color="0" Font.Height="-11" Font.Name="Arial" Font.Style="1" Frame.Typ="15" Fill.BackColor="-16777194" ParentFont="False" VAlign="vaCenter" Text="Ship To"/>
</TfrxTableRow>
<TfrxTableRow Name="TableRow4" MinHeight="0" MaxHeight="0" Height="94.488188976378">
<TfrxTableCell Name="TableCell18" AllowVectorExport="True" Restrictions="8" ContentScaleOptions.Constraints.MaxIterationValue="0" ContentScaleOptions.Constraints.MinIterationValue="0" DataField="staff_fields_invoice_to" DataSet="frxDBOrderCorrugated" DataSetName="frxDBOrderCorrugated" Frame.Typ="15" Text="[frxDBOrderCorrugated.&#34;staff_fields_invoice_to&#34;]"/>
<TfrxTableCell Name="TableCell19" AllowVectorExport="True" Restrictions="8" ContentScaleOptions.Constraints.MaxIterationValue="0" ContentScaleOptions.Constraints.MinIterationValue="0" DataField="staff_fields_ship_to" DataSet="frxDBOrderCorrugated" DataSetName="frxDBOrderCorrugated" Frame.Typ="15" Text="[frxDBOrderCorrugated.&#34;staff_fields_ship_to&#34;]"/>
</TfrxTableRow>
</TfrxTableObject>
<TfrxTableObject Name="TableObject3" AllowVectorExport="True" Left="8.13931519" Top="188.97650039">
<TfrxTableColumn Name="TableColumn10" Width="361.889763779528" MinWidth="0" MaxWidth="75.5906"/>
<TfrxTableColumn Name="TableColumn11" Width="361.889763779528" MinWidth="0" MaxWidth="75.5906"/>
<TfrxTableRow Name="TableRow5" MinHeight="0" MaxHeight="0" Height="18.89765">
<TfrxTableCell Name="TableCell20" AllowVectorExport="True" Restrictions="8" ContentScaleOptions.Constraints.MaxIterationValue="0" ContentScaleOptions.Constraints.MinIterationValue="0" Font.Charset="1" Font.Color="536870911" Font.Height="-11" Font.Name="Arial" Font.Style="1" Frame.Typ="15" Fill.BackColor="-16777194" ParentFont="False" VAlign="vaCenter" Text="PO Number"/>
<TfrxTableCell Name="TableCell21" AllowVectorExport="True" Restrictions="8" ContentScaleOptions.Constraints.MaxIterationValue="0" ContentScaleOptions.Constraints.MinIterationValue="0" Font.Charset="1" Font.Color="0" Font.Height="-11" Font.Name="Arial" Font.Style="1" Frame.Typ="15" Fill.BackColor="-16777194" ParentFont="False" VAlign="vaCenter" Text="Job Name"/>
</TfrxTableRow>
<TfrxTableRow Name="TableRow6" MinHeight="0" MaxHeight="0" Height="37.7952755905512">
<TfrxTableCell Name="TableCell22" AllowVectorExport="True" Restrictions="8" ContentScaleOptions.Constraints.MaxIterationValue="0" ContentScaleOptions.Constraints.MinIterationValue="0" DataSet="frxDBOrderCorrugated" DataSetName="frxDBOrderCorrugated" Frame.Typ="15" Text="[frxDBOrderCorrugated.&#34;staff_fields_po_number&#34;]"/>
<TfrxTableCell Name="TableCell23" AllowVectorExport="True" Restrictions="8" ContentScaleOptions.Constraints.MaxIterationValue="0" ContentScaleOptions.Constraints.MinIterationValue="0" DataSet="frxDBOrderCorrugated" DataSetName="frxDBOrderCorrugated" Frame.Typ="15" Text="[frxDBOrderCorrugated.&#34;staff_fields_job_name&#34;]"/>
</TfrxTableRow>
</TfrxTableObject>
</TfrxReportPage>
</TfrxReport>
<?xml version="1.0" encoding="utf-8" standalone="no"?>
<TfrxReport Version="2024.2.1" DataSet="frxDBOrderCorrugated" DataSetName="frxDBOrderCorrugated" DotMatrixReport="False" IniFile="\Software\Fast Reports" PreviewOptions.Buttons="167935" PreviewOptions.Zoom="1" PrintOptions.Printer="Default" PrintOptions.PrintOnSheet="0" ReportOptions.CreateDate="45691.3972217593" ReportOptions.Description.Text="" ReportOptions.LastChange="45691.4141871296" ScriptLanguage="PascalScript" ScriptText.Text="begin&#13;&#10;&#13;&#10;end.">
<Datasets>
<item DataSet="frxDBOrderCorrugated" DataSetName="frxDBOrderCorrugated"/>
</Datasets>
<TfrxDataPage Name="Data" HGuides.Text="" VGuides.Text="" Height="1000" Left="0" Top="0" Width="1000"/>
<TfrxReportPage Name="Page1" HGuides.Text="" VGuides.Text="" PaperWidth="215.9" PaperHeight="279.4" PaperSize="1" LeftMargin="10" RightMargin="10" TopMargin="10" BottomMargin="10" ColumnWidth="0" ColumnPositions.Text="" Frame.Typ="15" Frame.Width="3" MirrorMode="0">
<TfrxMemoView Name="Memo1" AllowVectorExport="True" Left="0" Top="0" Width="204.09461978" Height="22.67717977" ContentScaleOptions.Constraints.MaxIterationValue="0" ContentScaleOptions.Constraints.MinIterationValue="0" Font.Charset="1" Font.Color="0" Font.Height="-13" Font.Name="Arial" Font.Style="1" Frame.Typ="13" HAlign="haCenter" ParentFont="False" VAlign="vaCenter" Text="Order Type: Corrugated Plate"/>
<TfrxMemoView Name="Memo2" AllowVectorExport="True" Left="204.09461975" Top="5E-8" Width="536.69324547" Height="22.67717929" ContentScaleOptions.Constraints.MaxIterationValue="0" ContentScaleOptions.Constraints.MinIterationValue="0" Font.Charset="1" Font.Color="0" Font.Height="-13" Font.Name="Arial" Font.Style="1" Frame.Typ="14" HAlign="haRight" ParentFont="False" VAlign="vaCenter" Text="Order ID: [frxDBOrderCorrugated.&#34;ORDER_ID&#34;] "/>
<TfrxTableObject Name="TableObject1" AllowVectorExport="True" Left="8.13931519" Top="30.23624039">
<TfrxTableColumn Name="TableColumn1" Width="122.07874015748" MinWidth="0" MaxWidth="75.5906"/>
<TfrxTableColumn Name="TableColumn2" Width="122.07874015748" MinWidth="0" MaxWidth="75.5906"/>
<TfrxTableColumn Name="TableColumn3" Width="122.07874015748" MinWidth="0" MaxWidth="75.5906"/>
<TfrxTableColumn Name="TableColumn4" Width="122.07874015748" MinWidth="0" MaxWidth="75.5906"/>
<TfrxTableColumn Name="TableColumn5" Width="122.07874015748" MinWidth="0" MaxWidth="75.5906"/>
<TfrxTableColumn Name="TableColumn6" Width="56.6929133858268" MinWidth="0" MaxWidth="75.5906"/>
<TfrxTableColumn Name="TableColumn7" Width="56.6929133858268" MinWidth="0" MaxWidth="75.5906"/>
<TfrxTableRow Name="TableRow1" MinHeight="0" MaxHeight="0" Height="18.89765">
<TfrxTableCell Name="TableCell1" AllowVectorExport="True" Restrictions="8" ContentScaleOptions.Constraints.MaxIterationValue="0" ContentScaleOptions.Constraints.MinIterationValue="0" Font.Charset="1" Font.Color="536870911" Font.Height="-11" Font.Name="Arial" Font.Style="1" Frame.Typ="15" Fill.BackColor="-16777194" ParentFont="False" VAlign="vaCenter" Text="Order Date"/>
<TfrxTableCell Name="TableCell2" AllowVectorExport="True" Restrictions="8" ContentScaleOptions.Constraints.MaxIterationValue="0" ContentScaleOptions.Constraints.MinIterationValue="0" Font.Charset="1" Font.Color="0" Font.Height="-11" Font.Name="Arial" Font.Style="1" Frame.Typ="15" Fill.BackColor="-16777194" ParentFont="False" VAlign="vaCenter" Text="Proof Date"/>
<TfrxTableCell Name="TableCell3" AllowVectorExport="True" Restrictions="8" ContentScaleOptions.Constraints.MaxIterationValue="0" ContentScaleOptions.Constraints.MinIterationValue="0" Font.Charset="1" Font.Color="0" Font.Height="-11" Font.Name="Arial" Font.Style="1" Frame.Typ="15" Fill.BackColor="-16777194" ParentFont="False" VAlign="vaCenter" Text="Ship Date"/>
<TfrxTableCell Name="TableCell4" AllowVectorExport="True" Restrictions="8" ContentScaleOptions.Constraints.MaxIterationValue="0" ContentScaleOptions.Constraints.MinIterationValue="0" Font.Charset="1" Font.Color="0" Font.Height="-11" Font.Name="Arial" Font.Style="1" Frame.Typ="15" Fill.BackColor="-16777194" ParentFont="False" VAlign="vaCenter" Text="Ship Via"/>
<TfrxTableCell Name="TableCell5" AllowVectorExport="True" Restrictions="8" ContentScaleOptions.Constraints.MaxIterationValue="0" ContentScaleOptions.Constraints.MinIterationValue="0" Font.Charset="1" Font.Color="0" Font.Height="-11" Font.Name="Arial" Font.Style="1" Frame.Typ="15" Fill.BackColor="-16777194" ParentFont="False" VAlign="vaCenter" Text="Quickbooks Item"/>
<TfrxTableCell Name="TableCell26" AllowVectorExport="True" Restrictions="8" ContentScaleOptions.Constraints.MaxIterationValue="0" ContentScaleOptions.Constraints.MinIterationValue="0" Font.Charset="1" Font.Color="0" Font.Height="-11" Font.Name="Arial" Font.Style="1" Frame.Typ="15" Fill.BackColor="-16777194" ParentFont="False" VAlign="vaCenter" Text="Quantity"/>
<TfrxTableCell Name="TableCell31" AllowVectorExport="True" Restrictions="8" ContentScaleOptions.Constraints.MaxIterationValue="0" ContentScaleOptions.Constraints.MinIterationValue="0" Font.Charset="1" Font.Color="0" Font.Height="-11" Font.Name="Arial" Font.Style="1" Frame.Typ="15" Fill.BackColor="-16777194" ParentFont="False" VAlign="vaCenter" Text="Price"/>
</TfrxTableRow>
<TfrxTableRow Name="TableRow2" MinHeight="0" MaxHeight="0" Height="18.89765">
<TfrxTableCell Name="TableCell6" AllowVectorExport="True" Restrictions="8" ContentScaleOptions.Constraints.MaxIterationValue="0" ContentScaleOptions.Constraints.MinIterationValue="0" DataField="staff_fields_order_date" DataSet="frxDBOrderCorrugated" DataSetName="frxDBOrderCorrugated" Frame.Typ="15" Text="[frxDBOrderCorrugated.&#34;staff_fields_order_date&#34;]"/>
<TfrxTableCell Name="TableCell7" AllowVectorExport="True" Restrictions="8" ContentScaleOptions.Constraints.MaxIterationValue="0" ContentScaleOptions.Constraints.MinIterationValue="0" DataField="staff_fields_proof_date" DataSet="frxDBOrderCorrugated" DataSetName="frxDBOrderCorrugated" Frame.Typ="15" Text="[frxDBOrderCorrugated.&#34;staff_fields_proof_date&#34;]"/>
<TfrxTableCell Name="TableCell8" AllowVectorExport="True" Restrictions="8" ContentScaleOptions.Constraints.MaxIterationValue="0" ContentScaleOptions.Constraints.MinIterationValue="0" DataField="staff_fields_ship_date" DataSet="frxDBOrderCorrugated" DataSetName="frxDBOrderCorrugated" Frame.Typ="15" Text="[frxDBOrderCorrugated.&#34;staff_fields_ship_date&#34;]"/>
<TfrxTableCell Name="TableCell9" AllowVectorExport="True" Restrictions="8" ContentScaleOptions.Constraints.MaxIterationValue="0" ContentScaleOptions.Constraints.MinIterationValue="0" DataField="staff_fields_ship_via" DataSet="frxDBOrderCorrugated" DataSetName="frxDBOrderCorrugated" Frame.Typ="15" Text="[frxDBOrderCorrugated.&#34;staff_fields_ship_via&#34;]"/>
<TfrxTableCell Name="TableCell10" AllowVectorExport="True" Restrictions="8" ContentScaleOptions.Constraints.MaxIterationValue="0" ContentScaleOptions.Constraints.MinIterationValue="0" DataField="staff_fields_quickbooks_item" DataSet="frxDBOrderCorrugated" DataSetName="frxDBOrderCorrugated" Frame.Typ="15" Text="[frxDBOrderCorrugated.&#34;staff_fields_quickbooks_item&#34;]"/>
<TfrxTableCell Name="TableCell27" AllowVectorExport="True" Restrictions="8" ContentScaleOptions.Constraints.MaxIterationValue="0" ContentScaleOptions.Constraints.MinIterationValue="0" DataField="staff_fields_quantity" DataSet="frxDBOrderCorrugated" DataSetName="frxDBOrderCorrugated" Frame.Typ="15" Text="[frxDBOrderCorrugated.&#34;staff_fields_quantity&#34;]"/>
<TfrxTableCell Name="TableCell32" AllowVectorExport="True" Restrictions="8" ContentScaleOptions.Constraints.MaxIterationValue="0" ContentScaleOptions.Constraints.MinIterationValue="0" DataField="staff_fields_price" DataSet="frxDBOrderCorrugated" DataSetName="frxDBOrderCorrugated" Frame.Typ="15" Text="[frxDBOrderCorrugated.&#34;staff_fields_price&#34;]"/>
</TfrxTableRow>
</TfrxTableObject>
<TfrxTableObject Name="TableObject2" AllowVectorExport="True" Left="8.13931519" Top="71.81107039">
<TfrxTableColumn Name="TableColumn8" Width="361.889763779528" MinWidth="0" MaxWidth="75.5906"/>
<TfrxTableColumn Name="TableColumn9" Width="361.889763779528" MinWidth="0" MaxWidth="75.5906"/>
<TfrxTableRow Name="TableRow3" MinHeight="0" MaxHeight="0" Height="18.89765">
<TfrxTableCell Name="TableCell11" AllowVectorExport="True" Restrictions="8" ContentScaleOptions.Constraints.MaxIterationValue="0" ContentScaleOptions.Constraints.MinIterationValue="0" Font.Charset="1" Font.Color="536870911" Font.Height="-11" Font.Name="Arial" Font.Style="1" Frame.Typ="15" Fill.BackColor="-16777194" ParentFont="False" VAlign="vaCenter" Text="Invoice To"/>
<TfrxTableCell Name="TableCell12" AllowVectorExport="True" Restrictions="8" ContentScaleOptions.Constraints.MaxIterationValue="0" ContentScaleOptions.Constraints.MinIterationValue="0" Font.Charset="1" Font.Color="0" Font.Height="-11" Font.Name="Arial" Font.Style="1" Frame.Typ="15" Fill.BackColor="-16777194" ParentFont="False" VAlign="vaCenter" Text="Ship To"/>
</TfrxTableRow>
<TfrxTableRow Name="TableRow4" MinHeight="0" MaxHeight="0" Height="94.488188976378">
<TfrxTableCell Name="TableCell18" AllowVectorExport="True" Restrictions="8" ContentScaleOptions.Constraints.MaxIterationValue="0" ContentScaleOptions.Constraints.MinIterationValue="0" DataField="staff_fields_invoice_to" DataSet="frxDBOrderCorrugated" DataSetName="frxDBOrderCorrugated" Frame.Typ="15" Text="[frxDBOrderCorrugated.&#34;staff_fields_invoice_to&#34;]"/>
<TfrxTableCell Name="TableCell19" AllowVectorExport="True" Restrictions="8" ContentScaleOptions.Constraints.MaxIterationValue="0" ContentScaleOptions.Constraints.MinIterationValue="0" DataField="staff_fields_ship_to" DataSet="frxDBOrderCorrugated" DataSetName="frxDBOrderCorrugated" Frame.Typ="15" Text="[frxDBOrderCorrugated.&#34;staff_fields_ship_to&#34;]"/>
</TfrxTableRow>
</TfrxTableObject>
<TfrxTableObject Name="TableObject3" AllowVectorExport="True" Left="8.13931519" Top="188.97650039">
<TfrxTableColumn Name="TableColumn10" Width="361.889763779528" MinWidth="0" MaxWidth="75.5906"/>
<TfrxTableColumn Name="TableColumn11" Width="361.889763779528" MinWidth="0" MaxWidth="75.5906"/>
<TfrxTableRow Name="TableRow5" MinHeight="0" MaxHeight="0" Height="18.89765">
<TfrxTableCell Name="TableCell20" AllowVectorExport="True" Restrictions="8" ContentScaleOptions.Constraints.MaxIterationValue="0" ContentScaleOptions.Constraints.MinIterationValue="0" Font.Charset="1" Font.Color="536870911" Font.Height="-11" Font.Name="Arial" Font.Style="1" Frame.Typ="15" Fill.BackColor="-16777194" ParentFont="False" VAlign="vaCenter" Text="PO Number"/>
<TfrxTableCell Name="TableCell21" AllowVectorExport="True" Restrictions="8" ContentScaleOptions.Constraints.MaxIterationValue="0" ContentScaleOptions.Constraints.MinIterationValue="0" Font.Charset="1" Font.Color="0" Font.Height="-11" Font.Name="Arial" Font.Style="1" Frame.Typ="15" Fill.BackColor="-16777194" ParentFont="False" VAlign="vaCenter" Text="Job Name"/>
</TfrxTableRow>
<TfrxTableRow Name="TableRow6" MinHeight="0" MaxHeight="0" Height="37.7952755905512">
<TfrxTableCell Name="TableCell22" AllowVectorExport="True" Restrictions="8" ContentScaleOptions.Constraints.MaxIterationValue="0" ContentScaleOptions.Constraints.MinIterationValue="0" DataSet="frxDBOrderCorrugated" DataSetName="frxDBOrderCorrugated" Frame.Typ="15" Text="[frxDBOrderCorrugated.&#34;staff_fields_po_number&#34;]"/>
<TfrxTableCell Name="TableCell23" AllowVectorExport="True" Restrictions="8" ContentScaleOptions.Constraints.MaxIterationValue="0" ContentScaleOptions.Constraints.MinIterationValue="0" DataSet="frxDBOrderCorrugated" DataSetName="frxDBOrderCorrugated" Frame.Typ="15" Text="[frxDBOrderCorrugated.&#34;staff_fields_job_name&#34;]"/>
</TfrxTableRow>
</TfrxTableObject>
</TfrxReportPage>
</TfrxReport>
<?xml version="1.0" encoding="utf-8" standalone="no"?>
<TfrxReport Version="2024.2.1" DataSet="frxDBOrderCorrugated" DataSetName="frxDBOrderCorrugated" DotMatrixReport="False" IniFile="\Software\Fast Reports" PreviewOptions.Buttons="167935" PreviewOptions.Zoom="1" PrintOptions.Printer="Default" PrintOptions.PrintOnSheet="0" ReportOptions.CreateDate="45691.3972217593" ReportOptions.Description.Text="" ReportOptions.LastChange="45691.4088532755" ScriptLanguage="PascalScript" ScriptText.Text="begin&#13;&#10;&#13;&#10;end.">
<Datasets>
<item DataSet="frxDBOrderCorrugated" DataSetName="frxDBOrderCorrugated"/>
</Datasets>
<TfrxDataPage Name="Data" HGuides.Text="" VGuides.Text="" Height="1000" Left="0" Top="0" Width="1000"/>
<TfrxReportPage Name="Page1" HGuides.Text="" VGuides.Text="" PaperWidth="215.9" PaperHeight="279.4" PaperSize="1" LeftMargin="10" RightMargin="10" TopMargin="10" BottomMargin="10" ColumnWidth="0" ColumnPositions.Text="" Frame.Typ="15" Frame.Width="3" MirrorMode="0">
<TfrxMemoView Name="Memo1" AllowVectorExport="True" Left="0" Top="0" Width="204.09461978" Height="22.67717977" ContentScaleOptions.Constraints.MaxIterationValue="0" ContentScaleOptions.Constraints.MinIterationValue="0" Font.Charset="1" Font.Color="0" Font.Height="-13" Font.Name="Arial" Font.Style="1" Frame.Typ="13" HAlign="haCenter" ParentFont="False" VAlign="vaCenter" Text="Order Type: Corrugated Plate"/>
<TfrxMemoView Name="Memo2" AllowVectorExport="True" Left="204.09461975" Top="5E-8" Width="536.69324547" Height="22.67717929" ContentScaleOptions.Constraints.MaxIterationValue="0" ContentScaleOptions.Constraints.MinIterationValue="0" Font.Charset="1" Font.Color="0" Font.Height="-13" Font.Name="Arial" Font.Style="1" Frame.Typ="14" HAlign="haRight" ParentFont="False" VAlign="vaCenter" Text="Order ID: [frxDBOrderCorrugated.&#34;ORDER_ID&#34;] "/>
<TfrxTableObject Name="TableObject1" AllowVectorExport="True" Left="8.13931519" Top="30.23624039">
<TfrxTableColumn Name="TableColumn1" Width="122.07874015748" MinWidth="0" MaxWidth="75.5906"/>
<TfrxTableColumn Name="TableColumn2" Width="122.07874015748" MinWidth="0" MaxWidth="75.5906"/>
<TfrxTableColumn Name="TableColumn3" Width="122.07874015748" MinWidth="0" MaxWidth="75.5906"/>
<TfrxTableColumn Name="TableColumn4" Width="122.07874015748" MinWidth="0" MaxWidth="75.5906"/>
<TfrxTableColumn Name="TableColumn5" Width="122.07874015748" MinWidth="0" MaxWidth="75.5906"/>
<TfrxTableColumn Name="TableColumn6" Width="56.6929133858268" MinWidth="0" MaxWidth="75.5906"/>
<TfrxTableColumn Name="TableColumn7" Width="56.6929133858268" MinWidth="0" MaxWidth="75.5906"/>
<TfrxTableRow Name="TableRow1" MinHeight="0" MaxHeight="0" Height="18.89765">
<TfrxTableCell Name="TableCell1" AllowVectorExport="True" Restrictions="8" ContentScaleOptions.Constraints.MaxIterationValue="0" ContentScaleOptions.Constraints.MinIterationValue="0" Font.Charset="1" Font.Color="536870911" Font.Height="-11" Font.Name="Arial" Font.Style="1" Frame.Typ="15" Fill.BackColor="-16777194" ParentFont="False" VAlign="vaCenter" Text="Order Date"/>
<TfrxTableCell Name="TableCell2" AllowVectorExport="True" Restrictions="8" ContentScaleOptions.Constraints.MaxIterationValue="0" ContentScaleOptions.Constraints.MinIterationValue="0" Font.Charset="1" Font.Color="0" Font.Height="-11" Font.Name="Arial" Font.Style="1" Frame.Typ="15" Fill.BackColor="-16777194" ParentFont="False" VAlign="vaCenter" Text="Proof Date"/>
<TfrxTableCell Name="TableCell3" AllowVectorExport="True" Restrictions="8" ContentScaleOptions.Constraints.MaxIterationValue="0" ContentScaleOptions.Constraints.MinIterationValue="0" Font.Charset="1" Font.Color="0" Font.Height="-11" Font.Name="Arial" Font.Style="1" Frame.Typ="15" Fill.BackColor="-16777194" ParentFont="False" VAlign="vaCenter" Text="Ship Date"/>
<TfrxTableCell Name="TableCell4" AllowVectorExport="True" Restrictions="8" ContentScaleOptions.Constraints.MaxIterationValue="0" ContentScaleOptions.Constraints.MinIterationValue="0" Font.Charset="1" Font.Color="0" Font.Height="-11" Font.Name="Arial" Font.Style="1" Frame.Typ="15" Fill.BackColor="-16777194" ParentFont="False" VAlign="vaCenter" Text="Ship Via"/>
<TfrxTableCell Name="TableCell5" AllowVectorExport="True" Restrictions="8" ContentScaleOptions.Constraints.MaxIterationValue="0" ContentScaleOptions.Constraints.MinIterationValue="0" Font.Charset="1" Font.Color="0" Font.Height="-11" Font.Name="Arial" Font.Style="1" Frame.Typ="15" Fill.BackColor="-16777194" ParentFont="False" VAlign="vaCenter" Text="Quickbooks Item"/>
<TfrxTableCell Name="TableCell26" AllowVectorExport="True" Restrictions="8" ContentScaleOptions.Constraints.MaxIterationValue="0" ContentScaleOptions.Constraints.MinIterationValue="0" Font.Charset="1" Font.Color="0" Font.Height="-11" Font.Name="Arial" Font.Style="1" Frame.Typ="15" Fill.BackColor="-16777194" ParentFont="False" VAlign="vaCenter" Text="Quantity"/>
<TfrxTableCell Name="TableCell31" AllowVectorExport="True" Restrictions="8" ContentScaleOptions.Constraints.MaxIterationValue="0" ContentScaleOptions.Constraints.MinIterationValue="0" Font.Charset="1" Font.Color="0" Font.Height="-11" Font.Name="Arial" Font.Style="1" Frame.Typ="15" Fill.BackColor="-16777194" ParentFont="False" VAlign="vaCenter" Text="Price"/>
</TfrxTableRow>
<TfrxTableRow Name="TableRow2" MinHeight="0" MaxHeight="0" Height="18.89765">
<TfrxTableCell Name="TableCell6" AllowVectorExport="True" Restrictions="8" ContentScaleOptions.Constraints.MaxIterationValue="0" ContentScaleOptions.Constraints.MinIterationValue="0" Frame.Typ="15" Text=""/>
<TfrxTableCell Name="TableCell7" AllowVectorExport="True" Restrictions="8" Frame.Typ="15" Text=""/>
<TfrxTableCell Name="TableCell8" AllowVectorExport="True" Restrictions="8" ContentScaleOptions.Constraints.MaxIterationValue="0" ContentScaleOptions.Constraints.MinIterationValue="0" Frame.Typ="15" Text=""/>
<TfrxTableCell Name="TableCell9" AllowVectorExport="True" Restrictions="8" Frame.Typ="15" Text=""/>
<TfrxTableCell Name="TableCell10" AllowVectorExport="True" Restrictions="8" Frame.Typ="15" Text=""/>
<TfrxTableCell Name="TableCell27" AllowVectorExport="True" Restrictions="8" Frame.Typ="15" Text=""/>
<TfrxTableCell Name="TableCell32" AllowVectorExport="True" Restrictions="8" Frame.Typ="15" Text=""/>
</TfrxTableRow>
</TfrxTableObject>
</TfrxReportPage>
</TfrxReport>
......@@ -7,7 +7,6 @@ uses
procedure LoadDatabaseSettings( uc: TUniConnection; iniFilename: string );
procedure DoQuery( uq: TUniQuery; sql: string );
function CalculateAge( const dob, dt: TDateTime ): Integer;
implementation
......@@ -39,33 +38,5 @@ begin
uq.Open;
end;
function CalculateAge( const dob, dt: TDateTime): Integer;
var
age: Integer;
y1, m1, d1, y2, m2, d2: Word;
begin
Result := 0;
if dt < dob then
Exit;
DecodeDate( dob, y1, m1, d1);
DecodeDate( dt, y2, m2, d2);
age := y2 - y1;
// Feb 29
//if ( (m1=2) and (d1=29) ) and ( not IsLeapYear(y2) ) then
// d1 := 28;
if (m1 = 2) and (d1 = 29) and (not (IsLeapYear (y2))) then
begin
m1 := 3;
d1 := 1;
end;
if (m2 < m1) or ((m2 = m1) and (d2 < d1)) then
Dec(age);
Result := age
end;
end.
......@@ -22,7 +22,8 @@ uses
Lookup.ServiceImpl in 'Source\Lookup.ServiceImpl.pas',
App.Server.Module in 'Source\App.Server.Module.pas' {AppServerModule: TDataModule},
Data in 'Source\Data.pas' {FData},
rOrders in 'Source\rOrders.pas' {rptOrders: TDataModule};
rOrderList in 'Source\rOrderList.pas' {rptOrderList: TDataModule},
rOrderCorrugated in 'Source\rOrderCorrugated.pas' {rptOrderCorrugated: TDataModule};
type
TMemoLogAppender = class( TInterfacedObject, ILogAppender )
......
......@@ -165,8 +165,13 @@
<Form>FData</Form>
<FormType>dfm</FormType>
</DCCReference>
<DCCReference Include="Source\rOrders.pas">
<Form>rptOrders</Form>
<DCCReference Include="Source\rOrderList.pas">
<Form>rptOrderList</Form>
<FormType>dfm</FormType>
<DesignClass>TDataModule</DesignClass>
</DCCReference>
<DCCReference Include="Source\rOrderCorrugated.pas">
<Form>rptOrderCorrugated</Form>
<FormType>dfm</FormType>
<DesignClass>TDataModule</DesignClass>
</DCCReference>
......
[Settings]
MemoLogLevel=4
FileLogLevel=5
LogFileNum=146
LogFileNum=150
webClientVersion=1.0.0
[Database]
Server=192.168.159.132
--Server=192.168.102.130
--Server=192.168.159.132
Server=192.168.102.130
--Server=192.168.75.133
--Database=
--Username=
......
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