Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
K
KGOrders
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Cam Hayes
KGOrders
Commits
95296f5f
Commit
95296f5f
authored
Jun 03, 2025
by
Cam Hayes
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Customers form is complete and linked with quickbooks
parent
45495f71
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
255 additions
and
86 deletions
+255
-86
AddCustomer.pas
kgOrdersClient/AddCustomer.pas
+35
-12
View.AddOrder.dfm
kgOrdersClient/View.AddOrder.dfm
+25
-6
View.AddOrder.pas
kgOrdersClient/View.AddOrder.pas
+3
-0
View.Customers.pas
kgOrdersClient/View.Customers.pas
+0
-1
View.SelectCustomer.dfm
kgOrdersClient/View.SelectCustomer.dfm
+32
-12
View.SelectCustomer.pas
kgOrdersClient/View.SelectCustomer.pas
+22
-9
Data.dfm
kgOrdersServer/Source/Data.dfm
+4
-2
Lookup.ServiceImpl.pas
kgOrdersServer/Source/Lookup.ServiceImpl.pas
+0
-0
qbAPI.dfm
kgOrdersServer/Source/qbAPI.dfm
+0
-0
qbAPI.pas
kgOrdersServer/Source/qbAPI.pas
+130
-40
kgOrdersServer.ini
kgOrdersServer/kgOrdersServer.ini
+4
-4
No files found.
kgOrdersClient/AddCustomer.pas
View file @
95296f5f
...
@@ -117,6 +117,7 @@ type
...
@@ -117,6 +117,7 @@ type
function
VerifyCustomer
():
boolean
;
function
VerifyCustomer
():
boolean
;
function
VerifyAddress
():
boolean
;
function
VerifyAddress
():
boolean
;
procedure
Clear
();
procedure
Clear
();
procedure
ShowSelectCustomerForm
();
var
var
customerID
:
string
;
customerID
:
string
;
notification
:
string
;
notification
:
string
;
...
@@ -134,7 +135,7 @@ implementation
...
@@ -134,7 +135,7 @@ implementation
{$R *.dfm}
{$R *.dfm}
uses
View
.
Main
,
View
.
Customers
;
uses
View
.
Main
,
View
.
Customers
,
View
.
SelectCustomer
;
procedure
TFViewAddCustomer
.
Clear
();
procedure
TFViewAddCustomer
.
Clear
();
// Clears the shipping address fields.
// Clears the shipping address fields.
...
@@ -148,6 +149,28 @@ begin
...
@@ -148,6 +149,28 @@ begin
edtFirstLine
.
Text
:=
''
;
edtFirstLine
.
Text
:=
''
;
end
;
end
;
procedure
TFViewAddCustomer
.
ShowSelectCustomerForm
();
// displays the add order pop-up so the user can choose a customer
var
newform
:
TFSelectCustomer
;
begin
newform
:=
TFSelectCustomer
.
CreateNew
;
newform
.
Caption
:=
'Select Customer and Order Type'
;
newForm
.
Popup
:=
True
;
newForm
.
Border
:=
fbDialog
;
// used to manage Back button handling to close subform
window
.
location
.
hash
:=
'subform'
;
newform
.
ShowModal
(
procedure
(
AValue
:
TModalResult
)
begin
end
);
end
;
procedure
TFViewAddCustomer
.
DelAddress
;
procedure
TFViewAddCustomer
.
DelAddress
;
// Deletes a shipping address.
// Deletes a shipping address.
var
var
...
@@ -210,7 +233,7 @@ end;
...
@@ -210,7 +233,7 @@ end;
procedure
TFViewAddCustomer
.
btnAddClick
(
Sender
:
TObject
);
procedure
TFViewAddCustomer
.
btnAddClick
(
Sender
:
TObject
);
// Takes the user to the Add Customer Page.
// Takes the user to the Add Customer Page.
begin
begin
FViewMain
.
ViewAddCustomer
(
''
,
''
);
ShowSelectCustomerForm
(
);
end
;
end
;
procedure
TFViewAddCustomer
.
btnCancelClick
(
Sender
:
TObject
);
procedure
TFViewAddCustomer
.
btnCancelClick
(
Sender
:
TObject
);
...
@@ -601,16 +624,16 @@ begin
...
@@ -601,16 +624,16 @@ begin
memoAddressBlock
.
Text
:=
string
(
customer
[
'staff_fields_invoice_to'
]);
memoAddressBlock
.
Text
:=
string
(
customer
[
'staff_fields_invoice_to'
]);
if
(
not
xdwdsShipTo
.
IsEmpty
)
then
edtShippingAddress
.
Text
:=
xdwdsShipTo
.
FieldByName
(
'shipping_address'
).
AsString
;
begin
edtShippingCity
.
Text
:=
xdwdsShipTo
.
FieldByName
(
'city'
).
AsString
;
edtShippingAddress
.
Text
:=
xdwdsShipTo
.
FieldByName
(
'shipping_address
'
).
AsString
;
edtShippingState
.
Text
:=
xdwdsShipTo
.
FieldByName
(
'state
'
).
AsString
;
edtShippingCity
.
Text
:=
xdwdsShipTo
.
FieldByName
(
'city
'
).
AsString
;
edtShippingZip
.
Text
:=
xdwdsShipTo
.
FieldByName
(
'zip
'
).
AsString
;
edtShippingState
.
Text
:=
xdwdsShipTo
.
FieldByName
(
'state
'
).
AsString
;
edtShippingContact
.
Text
:=
xdwdsShipTo
.
FieldByName
(
'contact
'
).
AsString
;
edtShippingZip
.
Text
:=
xdwdsShipTo
.
FieldByName
(
'zip
'
).
AsString
;
memoShipBlock
.
Text
:=
xdwdsShipTo
.
FieldByName
(
'ADDRESS
'
).
AsString
;
edtShippingContact
.
Text
:=
xdwdsShipTo
.
FieldByName
(
'contact'
).
AsString
;
if
memoShipBlock
.
Lines
.
Count
>
0
then
memoShipBlock
.
Text
:=
xdwdsShipTo
.
FieldByName
(
'ADDRESS'
).
AsString
;
edtFirstLine
.
Text
:=
memoShipBlock
.
Lines
[
0
]
edtFirstLine
.
Text
:=
memoShipBlock
.
Lines
[
0
];
else
end
;
edtFirstLine
.
Text
:=
''
;
end
;
end
;
...
...
kgOrdersClient/View.AddOrder.dfm
View file @
95296f5f
...
@@ -12,7 +12,7 @@ object FAddOrder: TFAddOrder
...
@@ -12,7 +12,7 @@ object FAddOrder: TFAddOrder
WidthPercent = 100.000000000000000000
WidthPercent = 100.000000000000000000
end
end
object WebLabel2: TWebLabel
object WebLabel2: TWebLabel
Left = 1
43
Left = 1
35
Top = 81
Top = 81
Width = 113
Width = 113
Height = 15
Height = 15
...
@@ -20,6 +20,15 @@ object FAddOrder: TFAddOrder
...
@@ -20,6 +20,15 @@ object FAddOrder: TFAddOrder
HeightPercent = 100.000000000000000000
HeightPercent = 100.000000000000000000
WidthPercent = 100.000000000000000000
WidthPercent = 100.000000000000000000
end
end
object WebLabel3: TWebLabel
Left = 283
Top = 81
Width = 134
Height = 15
Caption = 'Selected Customer Name'
HeightPercent = 100.000000000000000000
WidthPercent = 100.000000000000000000
end
object edtSearch: TWebEdit
object edtSearch: TWebEdit
Left = 4
Left = 4
Top = 102
Top = 102
...
@@ -30,7 +39,7 @@ object FAddOrder: TFAddOrder
...
@@ -30,7 +39,7 @@ object FAddOrder: TFAddOrder
OnChange = edtSearchChange
OnChange = edtSearchChange
end
end
object edtID: TWebEdit
object edtID: TWebEdit
Left = 1
43
Left = 1
35
Top = 102
Top = 102
Width = 142
Width = 142
Height = 22
Height = 22
...
@@ -220,8 +229,8 @@ object FAddOrder: TFAddOrder
...
@@ -220,8 +229,8 @@ object FAddOrder: TFAddOrder
OnClick = cbWebPlateClick
OnClick = cbWebPlateClick
end
end
object btnCancel: TWebButton
object btnCancel: TWebButton
Left =
436
Left =
542
Top = 10
5
Top = 10
1
Width = 96
Width = 96
Height = 25
Height = 25
Caption = 'Cancel'
Caption = 'Cancel'
...
@@ -231,8 +240,8 @@ object FAddOrder: TFAddOrder
...
@@ -231,8 +240,8 @@ object FAddOrder: TFAddOrder
OnClick = btnCancelClick
OnClick = btnCancelClick
end
end
object btnConfirm: TWebButton
object btnConfirm: TWebButton
Left =
328
Left =
436
Top = 10
5
Top = 10
1
Width = 96
Width = 96
Height = 25
Height = 25
Caption = 'Select'
Caption = 'Select'
...
@@ -273,6 +282,16 @@ object FAddOrder: TFAddOrder
...
@@ -273,6 +282,16 @@ object FAddOrder: TFAddOrder
TabOrder = 1
TabOrder = 1
WidthPercent = 100.000000000000000000
WidthPercent = 100.000000000000000000
end
end
object edtName: TWebEdit
Left = 283
Top = 102
Width = 142
Height = 22
ChildOrder = 1
Enabled = False
HeightPercent = 100.000000000000000000
WidthPercent = 100.000000000000000000
end
object XDataWebClient1: TXDataWebClient
object XDataWebClient1: TXDataWebClient
Connection = DMConnection.ApiConnection
Connection = DMConnection.ApiConnection
Left = 780
Left = 780
...
...
kgOrdersClient/View.AddOrder.pas
View file @
95296f5f
...
@@ -33,6 +33,8 @@ type
...
@@ -33,6 +33,8 @@ type
edtNotification
:
TWebEdit
;
edtNotification
:
TWebEdit
;
xdwdsCustomersstaff_fields_invoice_to
:
TStringField
;
xdwdsCustomersstaff_fields_invoice_to
:
TStringField
;
xdwdsCustomersCUSTOMER_ID
:
TIntegerField
;
xdwdsCustomersCUSTOMER_ID
:
TIntegerField
;
WebLabel3
:
TWebLabel
;
edtName
:
TWebEdit
;
procedure
WebFormShow
(
Sender
:
TObject
);
procedure
WebFormShow
(
Sender
:
TObject
);
procedure
edtSearchChange
(
Sender
:
TObject
);
procedure
edtSearchChange
(
Sender
:
TObject
);
procedure
cbCorrugatedPlateClick
(
Sender
:
TObject
);
procedure
cbCorrugatedPlateClick
(
Sender
:
TObject
);
...
@@ -185,6 +187,7 @@ end;
...
@@ -185,6 +187,7 @@ end;
procedure
TFAddOrder
.
TMSFNCGrid1CellClick
(
Sender
:
TObject
;
ACol
,
ARow
:
Integer
);
procedure
TFAddOrder
.
TMSFNCGrid1CellClick
(
Sender
:
TObject
;
ACol
,
ARow
:
Integer
);
begin
begin
edtID
.
Text
:=
TMSFNCGrid1
.
Cells
[
1
,
ARow
];
edtID
.
Text
:=
TMSFNCGrid1
.
Cells
[
1
,
ARow
];
edtName
.
Text
:=
TMSFNCGrid1
.
Cells
[
2
,
ARow
];
DBID
:=
TMSFNCGrid1
.
Cells
[
0
,
ARow
];
DBID
:=
TMSFNCGrid1
.
Cells
[
0
,
ARow
];
end
;
end
;
...
...
kgOrdersClient/View.Customers.pas
View file @
95296f5f
...
@@ -221,7 +221,6 @@ end;
...
@@ -221,7 +221,6 @@ end;
procedure
TFViewCustomers
.
btnAddCustomerClick
(
Sender
:
TObject
);
procedure
TFViewCustomers
.
btnAddCustomerClick
(
Sender
:
TObject
);
begin
begin
ShowSelectCustomerForm
();
ShowSelectCustomerForm
();
//FViewMain.ViewAddCustomer(string(notification['CustomerID']), string(notification['status']));
end
;
end
;
procedure
TFViewCustomers
.
edtFilterChange
(
Sender
:
TObject
);
procedure
TFViewCustomers
.
edtFilterChange
(
Sender
:
TObject
);
...
...
kgOrdersClient/View.SelectCustomer.dfm
View file @
95296f5f
...
@@ -13,7 +13,7 @@ object FSelectCustomer: TFSelectCustomer
...
@@ -13,7 +13,7 @@ object FSelectCustomer: TFSelectCustomer
WidthPercent = 100.000000000000000000
WidthPercent = 100.000000000000000000
end
end
object WebLabel2: TWebLabel
object WebLabel2: TWebLabel
Left =
143
Left =
279
Top = 81
Top = 81
Width = 134
Width = 134
Height = 15
Height = 15
...
@@ -21,6 +21,15 @@ object FSelectCustomer: TFSelectCustomer
...
@@ -21,6 +21,15 @@ object FSelectCustomer: TFSelectCustomer
HeightPercent = 100.000000000000000000
HeightPercent = 100.000000000000000000
WidthPercent = 100.000000000000000000
WidthPercent = 100.000000000000000000
end
end
object WebLabel3: TWebLabel
Left = 131
Top = 81
Width = 113
Height = 15
Caption = 'Selected Customer ID'
HeightPercent = 100.000000000000000000
WidthPercent = 100.000000000000000000
end
object edtSearch: TWebEdit
object edtSearch: TWebEdit
Left = 4
Left = 4
Top = 102
Top = 102
...
@@ -30,8 +39,8 @@ object FSelectCustomer: TFSelectCustomer
...
@@ -30,8 +39,8 @@ object FSelectCustomer: TFSelectCustomer
HeightPercent = 100.000000000000000000
HeightPercent = 100.000000000000000000
WidthPercent = 100.000000000000000000
WidthPercent = 100.000000000000000000
end
end
object edt
ID
: TWebEdit
object edt
Name
: TWebEdit
Left =
143
Left =
279
Top = 102
Top = 102
Width = 142
Width = 142
Height = 22
Height = 22
...
@@ -195,13 +204,11 @@ object FSelectCustomer: TFSelectCustomer
...
@@ -195,13 +204,11 @@ object FSelectCustomer: TFSelectCustomer
LeftCol = 0
LeftCol = 0
ScrollMode = scmItemScrolling
ScrollMode = scmItemScrolling
DesignTimeSampleData = True
DesignTimeSampleData = True
OnCellDblClick = TMSFNCGrid1CellDblClick
OnCellClick = TMSFNCGrid1CellClick
ExplicitLeft = 12
ExplicitTop = 185
end
end
object btnCancel: TWebButton
object btnCancel: TWebButton
Left =
43
6
Left =
55
6
Top = 10
5
Top = 10
1
Width = 96
Width = 96
Height = 25
Height = 25
Caption = 'Cancel'
Caption = 'Cancel'
...
@@ -210,8 +217,8 @@ object FSelectCustomer: TFSelectCustomer
...
@@ -210,8 +217,8 @@ object FSelectCustomer: TFSelectCustomer
WidthPercent = 100.000000000000000000
WidthPercent = 100.000000000000000000
end
end
object btnConfirm: TWebButton
object btnConfirm: TWebButton
Left =
328
Left =
440
Top = 10
5
Top = 10
1
Width = 96
Width = 96
Height = 25
Height = 25
Caption = 'Select'
Caption = 'Select'
...
@@ -241,10 +248,20 @@ object FSelectCustomer: TFSelectCustomer
...
@@ -241,10 +248,20 @@ object FSelectCustomer: TFSelectCustomer
TabOrder = 1
TabOrder = 1
WidthPercent = 100.000000000000000000
WidthPercent = 100.000000000000000000
end
end
object edtID: TWebEdit
Left = 131
Top = 102
Width = 142
Height = 22
ChildOrder = 1
Enabled = False
HeightPercent = 100.000000000000000000
WidthPercent = 100.000000000000000000
end
object XDataWebClient1: TXDataWebClient
object XDataWebClient1: TXDataWebClient
Connection = DMConnection.ApiConnection
Connection = DMConnection.ApiConnection
Left =
56
0
Left =
63
0
Top =
61
Top =
47
end
end
object xdwdsCustomers: TXDataWebDataSet
object xdwdsCustomers: TXDataWebDataSet
Connection = DMConnection.ApiConnection
Connection = DMConnection.ApiConnection
...
@@ -289,6 +306,9 @@ object FSelectCustomer: TFSelectCustomer
...
@@ -289,6 +306,9 @@ object FSelectCustomer: TFSelectCustomer
object xdwdsCustomersBillAddrZip: TStringField
object xdwdsCustomersBillAddrZip: TStringField
FieldName = 'BillAddrZip'
FieldName = 'BillAddrZip'
end
end
object xdwdsCustomersInKGOrders: TBooleanField
FieldName = 'In KGOrders'
end
end
end
object wdsCustomers: TWebDataSource
object wdsCustomers: TWebDataSource
DataSet = xdwdsCustomers
DataSet = xdwdsCustomers
...
...
kgOrdersClient/View.SelectCustomer.pas
View file @
95296f5f
...
@@ -17,7 +17,7 @@ type
...
@@ -17,7 +17,7 @@ type
WebLabel1
:
TWebLabel
;
WebLabel1
:
TWebLabel
;
WebLabel2
:
TWebLabel
;
WebLabel2
:
TWebLabel
;
edtSearch
:
TWebEdit
;
edtSearch
:
TWebEdit
;
edt
ID
:
TWebEdit
;
edt
Name
:
TWebEdit
;
TMSFNCGrid1
:
TTMSFNCGrid
;
TMSFNCGrid1
:
TTMSFNCGrid
;
btnCancel
:
TWebButton
;
btnCancel
:
TWebButton
;
btnConfirm
:
TWebButton
;
btnConfirm
:
TWebButton
;
...
@@ -38,10 +38,14 @@ type
...
@@ -38,10 +38,14 @@ type
xdwdsCustomersBillAddrCity
:
TStringField
;
xdwdsCustomersBillAddrCity
:
TStringField
;
xdwdsCustomersBillAddrState
:
TStringField
;
xdwdsCustomersBillAddrState
:
TStringField
;
xdwdsCustomersBillAddrZip
:
TStringField
;
xdwdsCustomersBillAddrZip
:
TStringField
;
WebLabel3
:
TWebLabel
;
edtID
:
TWebEdit
;
xdwdsCustomersInKGOrders
:
TBooleanField
;
procedure
WebFormCreate
(
Sender
:
TObject
);
procedure
WebFormCreate
(
Sender
:
TObject
);
procedure
WebFormShow
(
Sender
:
TObject
);
procedure
WebFormShow
(
Sender
:
TObject
);
procedure
TMSFNCGrid1CellDblClick
(
Sender
:
TObject
;
ACol
,
ARow
:
Integer
);
procedure
TMSFNCGrid1CellDblClick
(
Sender
:
TObject
;
ACol
,
ARow
:
Integer
);
procedure
btnConfirmClick
(
Sender
:
TObject
);
procedure
btnConfirmClick
(
Sender
:
TObject
);
procedure
TMSFNCGrid1CellClick
(
Sender
:
TObject
;
ACol
,
ARow
:
Integer
);
private
private
{ Private declarations }
{ Private declarations }
[
Async
]
procedure
GetCustomers
();
[
Async
]
procedure
GetCustomers
();
...
@@ -56,8 +60,7 @@ var
...
@@ -56,8 +60,7 @@ var
implementation
implementation
{$R *.dfm
{$R *.dfm}
}
uses
View
.
Main
;
uses
View
.
Main
;
...
@@ -83,7 +86,10 @@ begin
...
@@ -83,7 +86,10 @@ begin
if
edtID
.
Text
=
''
then
if
edtID
.
Text
=
''
then
edtNotification
.
Text
:=
'Please Select a Customer'
edtNotification
.
Text
:=
'Please Select a Customer'
else
else
begin
xdwdsCustomers
.
Locate
(
'Id'
,
edtID
.
Text
,
[]);
SendCustomerToServer
();
SendCustomerToServer
();
end
;
end
;
end
;
[
async
]
procedure
TFSelectCustomer
.
getCustomers
();
[
async
]
procedure
TFSelectCustomer
.
getCustomers
();
...
@@ -124,9 +130,9 @@ begin
...
@@ -124,9 +130,9 @@ begin
TMSFNCGrid1
.
ColumnCount
:=
4
;
TMSFNCGrid1
.
ColumnCount
:=
4
;
TMSFNCGrid1
.
RowCount
:=
1
;
TMSFNCGrid1
.
RowCount
:=
1
;
TMSFNCGrid1
.
Cells
[
0
,
0
]
:=
'Quickbooks ID'
;
TMSFNCGrid1
.
Cells
[
0
,
0
]
:=
'Quickbooks ID'
;
TMSFNCGrid1
.
Cells
[
1
,
0
]
:=
'Customer
ID
'
;
TMSFNCGrid1
.
Cells
[
1
,
0
]
:=
'Customer
Name
'
;
TMSFNCGrid1
.
Cells
[
2
,
0
]
:=
'
Customer Name
'
;
TMSFNCGrid1
.
Cells
[
2
,
0
]
:=
'
Address
'
;
TMSFNCGrid1
.
Cells
[
3
,
0
]
:=
'
Addres
s'
;
TMSFNCGrid1
.
Cells
[
3
,
0
]
:=
'
In KGOrder
s'
;
// Populate the grid with data from the dataset
// Populate the grid with data from the dataset
xdwdsCustomers
.
First
;
xdwdsCustomers
.
First
;
...
@@ -136,9 +142,9 @@ begin
...
@@ -136,9 +142,9 @@ begin
begin
begin
TMSFNCGrid1
.
RowCount
:=
RowIndex
+
1
;
TMSFNCGrid1
.
RowCount
:=
RowIndex
+
1
;
TMSFNCGrid1
.
Cells
[
0
,
RowIndex
]
:=
xdwdsCustomers
.
FieldByName
(
'Id'
).
AsString
;
TMSFNCGrid1
.
Cells
[
0
,
RowIndex
]
:=
xdwdsCustomers
.
FieldByName
(
'Id'
).
AsString
;
// TMSFNCGrid1.Cells[1, RowIndex] := xdwdsCustomers.FieldByName('SHORT_NAME
').AsString;
TMSFNCGrid1
.
Cells
[
1
,
RowIndex
]
:=
xdwdsCustomers
.
FieldByName
(
'CompanyName
'
).
AsString
;
TMSFNCGrid1
.
Cells
[
2
,
RowIndex
]
:=
xdwdsCustomers
.
FieldByName
(
'
CompanyName
'
).
AsString
;
TMSFNCGrid1
.
Cells
[
2
,
RowIndex
]
:=
xdwdsCustomers
.
FieldByName
(
'
BillAddr
'
).
AsString
;
TMSFNCGrid1
.
Cells
[
3
,
RowIndex
]
:=
xdwdsCustomers
.
FieldByName
(
'
BillAddr
'
).
AsString
;
TMSFNCGrid1
.
Cells
[
3
,
RowIndex
]
:=
xdwdsCustomers
.
FieldByName
(
'
In KGOrders
'
).
AsString
;
Inc
(
RowIndex
);
Inc
(
RowIndex
);
xdwdsCustomers
.
Next
;
xdwdsCustomers
.
Next
;
end
;
end
;
...
@@ -148,6 +154,13 @@ begin
...
@@ -148,6 +154,13 @@ begin
end
;
end
;
end
;
end
;
procedure
TFSelectCustomer
.
TMSFNCGrid1CellClick
(
Sender
:
TObject
;
ACol
,
ARow
:
Integer
);
begin
edtID
.
Text
:=
TMSFNCGrid1
.
Cells
[
0
,
ARow
];
edtName
.
Text
:=
TMSFNCGrid1
.
Cells
[
1
,
ARow
];
end
;
procedure
TFSelectCustomer
.
TMSFNCGrid1CellDblClick
(
Sender
:
TObject
;
ACol
,
procedure
TFSelectCustomer
.
TMSFNCGrid1CellDblClick
(
Sender
:
TObject
;
ACol
,
ARow
:
Integer
);
ARow
:
Integer
);
begin
begin
...
...
kgOrdersServer/Source/Data.dfm
View file @
95296f5f
...
@@ -43,6 +43,8 @@ object FData: TFData
...
@@ -43,6 +43,8 @@ object FData: TFData
Lines.Strings = (
Lines.Strings = (
'Memo1')
'Memo1')
TabOrder = 1
TabOrder = 1
ExplicitLeft = -2
ExplicitTop = 435
end
end
object DBAdvGrid1: TDBAdvGrid
object DBAdvGrid1: TDBAdvGrid
Left = 6
Left = 6
...
@@ -1602,8 +1604,8 @@ object FData: TFData
...
@@ -1602,8 +1604,8 @@ object FData: TFData
object uqWeb: TUniQuery
object uqWeb: TUniQuery
SQL.Strings = (
SQL.Strings = (
'select * from web_plate_orders')
'select * from web_plate_orders')
Left = 74
5
Left = 74
3
Top = 4
64
Top = 4
76
object uqWebORDER_ID: TIntegerField
object uqWebORDER_ID: TIntegerField
FieldName = 'ORDER_ID'
FieldName = 'ORDER_ID'
Required = True
Required = True
...
...
kgOrdersServer/Source/Lookup.ServiceImpl.pas
View file @
95296f5f
This diff is collapsed.
Click to expand it.
kgOrdersServer/Source/qbAPI.dfm
View file @
95296f5f
This diff is collapsed.
Click to expand it.
kgOrdersServer/Source/qbAPI.pas
View file @
95296f5f
...
@@ -23,13 +23,104 @@ type
...
@@ -23,13 +23,104 @@ type
asgData
:
TAdvStringGrid
;
asgData
:
TAdvStringGrid
;
Button3
:
TButton
;
Button3
:
TButton
;
Button4
:
TButton
;
Button4
:
TButton
;
Button5
:
TButton
;
uq
:
TUniQuery
;
uqORDER_ID
:
TIntegerField
;
uqCOMPANY_ID
:
TIntegerField
;
uqUSER_ID
:
TIntegerField
;
uqORDER_DATE
:
TDateTimeField
;
uqSTART_DATE
:
TDateField
;
uqEND_DATE
:
TDateField
;
uqORDER_STATUS
:
TStringField
;
uqSCHED_JSON
:
TStringField
;
uqstaff_fields_order_date
:
TDateField
;
uqstaff_fields_proof_date
:
TDateField
;
uqstaff_fields_ship_date
:
TDateField
;
uqstaff_fields_ship_via
:
TStringField
;
uqstaff_fields_price
:
TStringField
;
uqstaff_fields_invoice_to
:
TStringField
;
uqstaff_fields_invoice_attention
:
TStringField
;
uqstaff_fields_ship_to
:
TStringField
;
uqstaff_fields_ship_attention
:
TStringField
;
uqstaff_fields_po_number
:
TStringField
;
uqstaff_fields_job_name
:
TStringField
;
uqstaff_fields_art_due
:
TDateField
;
uqstaff_fields_plate_due
:
TDateField
;
uqplates_job_number
:
TStringField
;
uqsupplied_by_customer_b_w_or_co
:
TStringField
;
uqsupplied_by_customer_plates
:
TStringField
;
uqsupplied_by_customer_sample
:
TStringField
;
uqsupplied_by_customer_dimension
:
TStringField
;
uqsupplied_by_customer_other
:
TStringField
;
uqsupplied_by_customer_disk
:
TStringField
;
uqsupplied_by_customer_e_mail
:
TStringField
;
uqsupplied_by_customer_ftp
:
TStringField
;
uqplates_plate_material
:
TStringField
;
uqplates_thickness
:
TStringField
;
uqsupplied_by_customer_total_inc
:
TStringField
;
uqsupplied_by_customer_sheets_us
:
TStringField
;
uqsupplied_by_customer_initials
:
TStringField
;
uqproofing_pdf
:
TStringField
;
uqproofing_pdf_to
:
TStringField
;
uqproofing_pdf_date_1
:
TDateField
;
uqproofing_pdf_date_2
:
TDateField
;
uqproofing_pdf_date_3
:
TDateField
;
uqproofing_full_size_ink_jet_for
:
TStringField
;
uqproofing_ink_jet_to
:
TStringField
;
uqproofing_ink_jet_to_2
:
TStringField
;
uqproofing_ink_jet_date_1
:
TDateField
;
uqproofing_ink_jet_date_2
:
TDateField
;
uqproofing_ink_jet_date_3
:
TDateField
;
uqproofing_color_contract
:
TStringField
;
uqproofing_color_contrac_to
:
TStringField
;
uqproofing_color_contrac_date_1
:
TDateField
;
uqproofing_color_contrac_date_2
:
TDateField
;
uqproofing_digital_color_key
:
TStringField
;
uqproofing_digital_color_to
:
TStringField
;
uqproofing_digital_color_date_1
:
TDateField
;
uqquantity_and_colors_press_name
:
TStringField
;
uqquantity_and_colors_anilox_info
:
TStringField
;
uqplate_marks_microdots
:
TStringField
;
uqplate_marks_microdots_comments
:
TStringField
;
uqplate_marks_crosshairs
:
TStringField
;
uqplate_marks_crosshairs_comments
:
TStringField
;
uqplate_marks_color_bars
:
TStringField
;
uqplate_marks_color_bars_comments
:
TStringField
;
uqplate_marks_other
:
TStringField
;
uqplate_marks_other_comments
:
TStringField
;
uqprint_orientation_print_orient
:
TStringField
;
uqlayout_around
:
TStringField
;
uqlayout_accross
:
TStringField
;
uqlayout_surface_print
:
TStringField
;
uqlayout_reverse_print
:
TStringField
;
uqlayout_cylinder_repeat
:
TStringField
;
uqlayout_cutoff_dimension
:
TStringField
;
uqlayout_pitch
:
TStringField
;
uqlayout_teeth
:
TStringField
;
uqlayout_bleed
:
TStringField
;
uqlayout_cutback
:
TStringField
;
uqlayout_minimum_trap_dim
:
TStringField
;
uqlayout_maximum_trap_dim
:
TStringField
;
uqupc_size
:
TStringField
;
uqupc_bar_width_reduction
:
TStringField
;
uqquantity_and_colors_qty_colors
:
TStringField
;
uqgeneral_comments
:
TStringField
;
uqstaff_fields_quickbooks_item
:
TStringField
;
uqstaff_fields_quantity
:
TStringField
;
uqupc_distortion_percent
:
TStringField
;
uqupc_distortion_amount
:
TStringField
;
uqstaff_fields_art_location
:
TStringField
;
procedure
Button1Click
(
Sender
:
TObject
);
procedure
Button1Click
(
Sender
:
TObject
);
procedure
FormCreate
(
Sender
:
TObject
);
procedure
FormCreate
(
Sender
:
TObject
);
procedure
Button2Click
(
Sender
:
TObject
);
procedure
Button2Click
(
Sender
:
TObject
);
procedure
Button3Click
(
Sender
:
TObject
);
procedure
Button3Click
(
Sender
:
TObject
);
procedure
Button4Click
(
Sender
:
TObject
);
procedure
Button4Click
(
Sender
:
TObject
);
procedure
Button5Click
(
Sender
:
TObject
);
procedure
FormDestroy
(
Sender
:
TObject
);
private
private
{ Private declarations }
{ Private declarations }
strict
private
ordersDB
:
TApiDatabase
;
httpReqTokenRefresh
:
TWebHttpRequest
;
httpReqTokenRefresh
:
TWebHttpRequest
;
var
var
...
@@ -51,7 +142,7 @@ var
...
@@ -51,7 +142,7 @@ var
implementation
implementation
uses
uses
Common
.
Logging
;
Common
.
Logging
,
uLibrary
;
{$R *.dfm}
{$R *.dfm}
...
@@ -130,13 +221,13 @@ begin
...
@@ -130,13 +221,13 @@ begin
restRequest
.
Execute
;
restRequest
.
Execute
;
memo1
.
Lines
.
Add
(
restresponse
.
Content
);
//
memo1.Lines.Add(restresponse.Content);
jsValue
:=
restResponse
.
JSONValue
;
jsValue
:=
restResponse
.
JSONValue
;
jsObj
:=
TJSONObject
(
jsValue
);
jsObj
:=
TJSONObject
(
jsValue
);
Memo2
.
Lines
.
Add
(
res
);
//
Memo2.Lines.Add(res);
Memo
2
.
Lines
.
Add
(
jsObj
.
Format
(
2
)
);
Memo
1
.
Lines
.
Add
(
jsObj
.
Format
(
2
)
);
// CustomerList := TJSONArray( TJSONObject( jsObj.GetValue('QueryResponse') ).GetValue('Customer')) ;
// CustomerList := TJSONArray( TJSONObject( jsObj.GetValue('QueryResponse') ).GetValue('Customer')) ;
...
@@ -190,13 +281,13 @@ begin
...
@@ -190,13 +281,13 @@ begin
restRequest
.
Execute
;
restRequest
.
Execute
;
memo1
.
Lines
.
Add
(
restresponse
.
Content
);
//
memo1.Lines.Add(restresponse.Content);
jsValue
:=
restResponse
.
JSONValue
;
jsValue
:=
restResponse
.
JSONValue
;
jsObj
:=
TJSONObject
(
jsValue
);
jsObj
:=
TJSONObject
(
jsValue
);
Memo2
.
Lines
.
Add
(
res
);
//
Memo2.Lines.Add(res);
Memo
2
.
Lines
.
Add
(
jsObj
.
Format
(
2
)
);
Memo
1
.
Lines
.
Add
(
jsObj
.
Format
(
2
)
);
//CustomerList := TJSONArray(restResponse.JSONValue);
//CustomerList := TJSONArray(restResponse.JSONValue);
// CustomerList := TJSONArray( TJSONObject( jsObj.GetValue('QueryResponse') ).GetValue('Customer')) ;
// CustomerList := TJSONArray( TJSONObject( jsObj.GetValue('QueryResponse') ).GetValue('Customer')) ;
...
@@ -208,6 +299,27 @@ begin
...
@@ -208,6 +299,27 @@ begin
restResponse
.
Free
;
restResponse
.
Free
;
end
;
end
;
procedure
TfQB
.
Button5Click
(
Sender
:
TObject
);
var
SQL
:
string
;
count
:
integer
;
begin
SQL
:=
'SELECT c.CUSTOMER_ID, c.SHORT_NAME, c.NAME FROM customers c '
+
'WHERE EXISTS (SELECT 1 FROM corrugated_plate_orders cpo WHERE cpo.COMPANY_ID = c.CUSTOMER_ID) '
+
'OR EXISTS (SELECT 1 FROM web_plate_orders wpo WHERE wpo.COMPANY_ID = c.CUSTOMER_ID) ORDER BY c.SHORT_NAME'
;
doQuery
(
ordersDB
.
UniQuery1
,
SQL
);
while
not
ordersDB
.
UniQuery1
.
Eof
do
begin
Memo2
.
Lines
.
Add
(
ordersDB
.
UniQuery1
.
FieldByName
(
'CUSTOMER_ID'
).
AsString
+
', '
+
ordersDB
.
UniQuery1
.
FieldByName
(
'SHORT_NAME'
).
AsString
+
', '
+
ordersDB
.
UniQuery1
.
FieldByName
(
'NAME'
).
AsString
);
OrdersDB
.
UniQuery1
.
Next
;
count
:=
count
+
1
;
end
;
Memo2
.
Lines
.
Add
(
'Showing '
+
IntToStr
(
count
)
+
' entries'
);
end
;
procedure
TfQB
.
getCustomers
();
procedure
TfQB
.
getCustomers
();
var
var
restClient
:
TRESTClient
;
restClient
:
TRESTClient
;
...
@@ -260,43 +372,13 @@ begin
...
@@ -260,43 +372,13 @@ begin
jsValue
:=
restResponse
.
JSONValue
;
jsValue
:=
restResponse
.
JSONValue
;
jsObj
:=
TJSONObject
(
jsValue
);
jsObj
:=
TJSONObject
(
jsValue
);
{
Memo2.Lines.Add(res);
Memo2
.
Lines
.
Add
(
res
);
Memo2.Lines.Add( jsObj.Format(2) );
}
Memo2
.
Lines
.
Add
(
jsObj
.
Format
(
2
)
);
//CustomerList := TJSONArray(restResponse.JSONValue);
//CustomerList := TJSONArray(restResponse.JSONValue);
CustomerList
:=
TJSONArray
(
TJSONObject
(
jsObj
.
GetValue
(
'QueryResponse'
)
).
GetValue
(
'Customer'
))
;
CustomerList
:=
TJSONArray
(
TJSONObject
(
jsObj
.
GetValue
(
'QueryResponse'
)
).
GetValue
(
'Customer'
))
;
ModifiedList
:=
TJSONArray
.
Create
;
LoadJSONArray
(
CustomerList
);
for
I
:=
0
to
CustomerList
.
Count
-
1
do
begin
Customer
:=
CustomerList
.
Items
[
I
]
as
TJSONObject
;
ParsedCustomer
:=
TJSONObject
.
Create
;
try
// Directly add values without cloning
ParsedCustomer
.
AddPair
(
'id'
,
Customer
.
GetValue
(
'Id'
));
ParsedCustomer
.
AddPair
(
'name'
,
Customer
.
GetValue
(
'DisplayName'
));
if
Customer
.
GetValue
(
'BillAddr'
)
<>
nil
then
begin
BillAddr
:=
Customer
.
GetValue
(
'BillAddr'
)
as
TJSONObject
;
ParsedCustomer
.
AddPair
(
'BillAddr_line1'
,
BillAddr
.
GetValue
(
'Line1'
,
''
));
ParsedCustomer
.
AddPair
(
'BillAddr_City'
,
BillAddr
.
GetValue
(
'City'
,
''
));
ParsedCustomer
.
AddPair
(
'BillAddr_State'
,
BillAddr
.
GetValue
(
'CountrySubDivisionCode'
,
''
));
ParsedCustomer
.
AddPair
(
'BillAddr_Zip'
,
BillAddr
.
GetValue
(
'PostalCode'
,
''
));
ParsedCustomer
.
AddPair
(
'BillAddr'
,
BillAddr
.
GetValue
(
'Line1'
,
''
)
+
', '
+
BillAddr
.
GetValue
(
'City'
,
''
)
+
', '
+
BillAddr
.
GetValue
(
'CountrySubDivisionCode'
,
''
)
+
' '
+
BillAddr
.
GetValue
(
'PostalCode'
,
''
)
);
end
;
except
ParsedCustomer
.
Free
;
raise
;
end
;
end
;
LoadJSONArray
(
ModifiedList
);
restClient
.
Free
;
restClient
.
Free
;
restRequest
.
Free
;
restRequest
.
Free
;
...
@@ -326,6 +408,8 @@ procedure TfQB.FormCreate(Sender: TObject);
...
@@ -326,6 +408,8 @@ procedure TfQB.FormCreate(Sender: TObject);
var
var
iniFile
:
TIniFile
;
iniFile
:
TIniFile
;
begin
begin
inherited
;
ordersDB
:=
TApiDatabase
.
Create
(
nil
);
iniFile
:=
TIniFile
.
Create
(
ExtractFilePath
(
Application
.
ExeName
)
+
'kgOrdersServer.ini'
);
iniFile
:=
TIniFile
.
Create
(
ExtractFilePath
(
Application
.
ExeName
)
+
'kgOrdersServer.ini'
);
Client
:=
iniFile
.
ReadString
(
'Quickbooks'
,
'ClientID'
,
''
);
Client
:=
iniFile
.
ReadString
(
'Quickbooks'
,
'ClientID'
,
''
);
Secret
:=
iniFile
.
ReadString
(
'Quickbooks'
,
'ClientSecret'
,
''
);
Secret
:=
iniFile
.
ReadString
(
'Quickbooks'
,
'ClientSecret'
,
''
);
...
@@ -333,6 +417,12 @@ begin
...
@@ -333,6 +417,12 @@ begin
RefreshToken
:=
iniFile
.
ReadString
(
'Quickbooks'
,
'RefreshToken'
,
''
);
RefreshToken
:=
iniFile
.
ReadString
(
'Quickbooks'
,
'RefreshToken'
,
''
);
end
;
end
;
procedure
TfQB
.
FormDestroy
(
Sender
:
TObject
);
begin
ordersDB
.
Free
;
inherited
;
end
;
function
TfQB
.
RefreshAccessToken
:
string
;
function
TfQB
.
RefreshAccessToken
:
string
;
// Refresh Token changes so make sure to save refresh token.
// Refresh Token changes so make sure to save refresh token.
var
var
...
...
kgOrdersServer/kgOrdersServer.ini
View file @
95296f5f
...
@@ -2,7 +2,7 @@
...
@@ -2,7 +2,7 @@
MemoLogLevel
=
3
MemoLogLevel
=
3
FileLogLevel
=
5
FileLogLevel
=
5
webClientVersion
=
0.9.2
webClientVersion
=
0.9.2
LogFileNum
=
596
LogFileNum
=
621
[Database]
[Database]
Server
=
192.168.159.131
Server
=
192.168.159.131
...
@@ -17,6 +17,6 @@ Password=emsys01
...
@@ -17,6 +17,6 @@ Password=emsys01
CompanyID
=
9341454272655710
CompanyID
=
9341454272655710
ClientID
=
ABgO14uvjh8XqLud7spQ8lkb98AUpcdA7HbyMJfCAtl65sQ5yy
ClientID
=
ABgO14uvjh8XqLud7spQ8lkb98AUpcdA7HbyMJfCAtl65sQ5yy
ClientSecret
=
bQ06TRemHeAGFzVHRaTUvUoBU9jpU9itK6MOMgqN
ClientSecret
=
bQ06TRemHeAGFzVHRaTUvUoBU9jpU9itK6MOMgqN
RefreshToken
=
RT1-
208-H0-17567544350xgx6z1cqtacxchwp91p
RefreshToken
=
RT1-
113-H0-1757255538seyqgsf5e04vo9schkoa
AccessToken
=
eyJhbGciOiJkaXIiLCJlbmMiOiJBMTI4Q0JDLUhTMjU2IiwieC5vcmciOiJIMCJ9..
7j1C_IbyEFT7N_dCC4YUMg.PgS3pkfr9Ze_N2m-D-GlXCZOHoAcCyN0Oym1nJpozlVqoMmEr340Oc8Qr3mcvWVyv1OxWx0kiVJMPWZ-gHazOP80IypMLc7e9HZPYm0qYbwex_9JGIfZq0vQX1Y6oJQSTM9h-v_oGIN_5b7hFMLzVPCPLwXMcimXLqaXEN9b-AGX2La-FeahLDz6MmrGL-HoYB-4ZintdaxWE4NYXEg71HgecTrfkxbNlJQBziGQgnXVPmwuyqI0gJKGIL1w3X651nGcZMB_nuY0y__BPH2zOnzuibqGylOwr9ZuFXobkjgvtqllRE0JgMbCD28FArwnA_-BGsz_g6fueCvsI3ewd61tmTLyvW1IWoOoowKd5bicHQPal34KO16wORmM5_RzjCO522w_n94m9gK6JYQbS3Kn-8omnDIBZjwSBnz4mCXm-CTpexrLJRgk5h1f-lx3Ow1d9A_91qriqwNkKln35nUO4ivNvmIkDvqYMaPVXAs.LVOKao4eo0CZQ8sSO9nHoA
AccessToken
=
eyJhbGciOiJkaXIiLCJlbmMiOiJBMTI4Q0JDLUhTMjU2IiwieC5vcmciOiJIMCJ9..
Cqnj0xScf85NYKa6g4lanA.LN1AIU3ZlnDDbIMt-J4vl8V_gvcTfynSjGKYsmbhbfBJovq5IfZU4dHt6cqDAwUfnfOm42l-OpbwN9hWrZvUGlVx8x_3MA-vdtxIOByp7neq5vL2t4XcR5svPKIkX-CqlTsTb2ylBARiXehgk3tVHBysbHcnp0Ka0Ic_Waj64wQMYvE3Z-D19gCu-Xn9WFQwDICn8HSgJmHL2huLvRX-OrcxH6uERzLcQqRLsgT7fx9j68UWDW-KL_KRnzE43ieXlxXCwiCDnaF39Ei5iPHstnh19lGMgo1Z1mlF6tVZ9-8Z1prZutpiX8rzaPzS7Wdqo8pKtYaUqQZP6AGa6ZCqWR2BlF3y-R_FtheERNpafRiXWIDW68jOOrgp8QXc1uKA0sxDMjiLE7Bd0t9QAsIzln-0WiWIXFSlLGLimMd2oxxLoR7fpQvgB851I50b4S3V-c891WA8bHfuzScmjVwp40JxofhviFXwAevLNzRYvGkvIyz4oS9d6U6K_ZWKDB3iYxEgJzkFFwnfuPybWX7iNHwnmvFfAXz61jdaL9KRJM-lCChGuaQuv8_df9z_az_sbUtXJw2I8ivEppmDEQVxv49ZwzJlb6bFbqtnhy6ILO7_ecx3G1d4Utg-BrtgvzsR.oFJV6VBShL1-cERGZEqqkw
LastRefresh
=
5/2
3/2025 3:20:36 P
M
LastRefresh
=
5/2
8/2025 10:46:30 A
M
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment