Add function to retrieve company address as JSON and update invoice procedures
- Created a new function `fds__getCompanyAddressJson` to return a company's postal address as a structured JSON object. - Modified stored procedures `fds__createInvoice`, `fds__setInvoice`, and `fds__prepInvoice` to include a new parameter `@SendToAddressJson` for handling the address data. - Updated the invoice table and user-defined types to accommodate the new `SendToAddressJson` field. - Ensured that the address data is properly retrieved and stored in the invoice records.
This commit is contained in:
@@ -17,7 +17,8 @@ CREATE PROCEDURE [dbo].[fds__createInvoice]
|
||||
@ProvisionPeriod varchar(50),
|
||||
@CustomValues nvarchar(max),
|
||||
@authuser varchar(25),
|
||||
@Id varchar(10) OUT
|
||||
@Id varchar(10) OUT,
|
||||
@SendToAddressJson nvarchar(max) = NULL
|
||||
AS
|
||||
BEGIN
|
||||
SET NOCOUNT ON;
|
||||
@@ -64,6 +65,7 @@ BEGIN
|
||||
[IsCanceled] [bit] NULL,
|
||||
[Replaces_InvId] [varchar](10) NULL,
|
||||
[CustomValues] [nvarchar](max) NULL,
|
||||
[SendToAddressJson] [nvarchar](max) NULL,
|
||||
[DateSent] [datetime] NULL,
|
||||
[UserSent] [varchar](25) NULL,
|
||||
[DateFinalized] [datetime] NULL,
|
||||
@@ -104,6 +106,7 @@ BEGIN
|
||||
,[IsPayed]
|
||||
,[IsSent]
|
||||
,[CustomValues]
|
||||
,[SendToAddressJson]
|
||||
,[DateSent]
|
||||
,[UserSent]
|
||||
,[DateFinalized]
|
||||
@@ -143,6 +146,7 @@ BEGIN
|
||||
,0 --<IsPayed, bit,>
|
||||
,0 --<IsSent, bit,>
|
||||
,@CustomValues
|
||||
,@SendToAddressJson
|
||||
, NULL --[DateSent]
|
||||
, NULL --[UserSent]
|
||||
,NULL --<DateFinalized, datetime,>
|
||||
|
||||
@@ -45,6 +45,7 @@ BEGIN
|
||||
,[IsCanceled]
|
||||
,[Replaces_InvId]
|
||||
,[CustomValues]
|
||||
,[SendToAddressJson]
|
||||
,[DateSent]
|
||||
,[UserSent]
|
||||
,[DateFinalized]
|
||||
|
||||
@@ -356,6 +356,7 @@ BEGIN
|
||||
, [paymentterms] = N'10wd'
|
||||
, [invoiceemail] = (SELECT TOP(1) [SupportMail] FROM @company where IsEmailInvoicingActive = 1)
|
||||
, [invoiceaddress] = (SELECT TOP(1) CONCAT([name], CHAR(10), [address]) FROM @company ORDER BY IsEmailInvoicingActive DESC)
|
||||
, [invoiceaddressData] = [dbo].[fds__getCompanyAddressJson]((SELECT TOP(1) [id] FROM @company ORDER BY IsEmailInvoicingActive DESC))
|
||||
, [tax_servicerefund] = 0.2
|
||||
, [CustomerId] = [CustomerId]
|
||||
, [invoicetitle] = CASE WHEN @type = 'i' THEN (CASE WHEN @NUM_of_int_Invoices > 0 THEN CAST((@NUM_of_int_Invoices + 1) as varchar(3)) + '. ' ELSE '' END) + 'Abschlagsrechnung'
|
||||
|
||||
@@ -18,7 +18,8 @@ CREATE PROCEDURE [dbo].[fds__setInvoice]
|
||||
@ProvisionPeriod varchar(50),
|
||||
@CustomValues nvarchar(max),
|
||||
@authuser varchar(25),
|
||||
@Id varchar(10) OUT
|
||||
@Id varchar(10) OUT,
|
||||
@SendToAddressJson nvarchar(max) = NULL
|
||||
AS
|
||||
BEGIN
|
||||
SET NOCOUNT ON;
|
||||
@@ -65,6 +66,7 @@ BEGIN
|
||||
[IsCanceled] [bit] NULL,
|
||||
[Replaces_InvId] [varchar](50) NULL,
|
||||
[CustomValues] [nvarchar](max) NULL,
|
||||
[SendToAddressJson] [nvarchar](max) NULL,
|
||||
[DateSent] [datetime] NULL,
|
||||
[UserSent] [varchar](25) NULL,
|
||||
[DateFinalized] [datetime] NULL,
|
||||
@@ -102,6 +104,7 @@ BEGIN
|
||||
,0 --<IsPayed, bit,>
|
||||
,0 --<IsSent, bit,>
|
||||
,@CustomValues
|
||||
,@SendToAddressJson
|
||||
, NULL --[DateSent]
|
||||
, NULL --[UserSent] [varchar](25) NULL,
|
||||
,NULL --<DateFinalized, datetime,>
|
||||
@@ -133,6 +136,7 @@ BEGIN
|
||||
,[IsPayed]
|
||||
,[IsSent]
|
||||
,[CustomValues]
|
||||
,[SendToAddressJson]
|
||||
,[DateSent]
|
||||
,[UserSent]
|
||||
,[DateFinalized]
|
||||
@@ -163,6 +167,7 @@ BEGIN
|
||||
,[ProvisionPeriod] = SOURCE.[ProvisionPeriod]
|
||||
,[ProvisionLocation] = SOURCE.[ProvisionLocation]
|
||||
,[CustomValues] = SOURCE.[CustomValues]
|
||||
,[SendToAddressJson] = SOURCE.[SendToAddressJson]
|
||||
,[DateModified] = SOURCE.[DateModified]
|
||||
,[UserModified] = SOURCE.[UserModified]
|
||||
OUTPUT inserted.*
|
||||
|
||||
Reference in New Issue
Block a user