added improvements on set proces and minor other improvements

This commit is contained in:
Stefan
2026-07-13 22:40:08 +02:00
parent 5c0fdc6c1d
commit 5f85b75c22
55 changed files with 1170 additions and 357 deletions
@@ -57,7 +57,8 @@ BEGIN
,[UserCreated]
,[DateModified]
,[UserModified]
,[file])
,[file]
,[file_guid])
OUTPUT inserted.*
INTO @OUT
VALUES
@@ -82,7 +83,8 @@ BEGIN
,@authuser
,@now
,@authuser
,NULL);
,NULL
,NEWID());
SELECT TOP(1) @Id = [id] FROM @out;
@@ -0,0 +1,24 @@
-- =============================================
-- Description: Returns the raw field values of a single manually entered
-- banking transaction (TransactionTypeIdCode = 'MAN'), so the
-- "manuelle Buchung ändern" dialog can be pre-filled.
-- =============================================
CREATE PROCEDURE [dbo].[fds__getBankingtransaction_manual]
@taID varchar(10),
@authuser varchar(100)
AS
BEGIN
SET NOCOUNT ON;
IF [dbo].[fis_getModuleAuth]('fds_bam', @authuser) < 1
THROW 60000, N'not authorized', 1;
SELECT
[taID]
, [ValueDate]
, [Amount]
, [NameOfPayer]
, [SepaRemittanceInformation]
FROM [dbo].[fds__bankingtransactions]
WHERE [taID] = @taID
AND [TransactionTypeIdCode] = 'MAN';
END
@@ -0,0 +1,25 @@
-- =============================================
-- Description: Returns the raw field values of a single manually entered
-- banking transaction (TransactionTypeIdCode = 'MAN'), so the
-- "manuelle Buchung ändern" dialog can be pre-filled.
-- =============================================
CREATE PROCEDURE [dbo].[fds__getBankingtransaction_manual]
@taID varchar(10),
@authuser varchar(100)
AS
BEGIN
SET NOCOUNT ON;
IF [dbo].[fis_getModuleAuth]('fds_bam', @authuser) < 1
THROW 60000, N'not authorized', 1;
SELECT
[taID]
, [ValueDate]
, [Amount]
, [NameOfPayer]
, [SepaRemittanceInformation]
FROM [dbo].[fds__bankingtransactions]
WHERE [taID] = @taID
AND [TransactionTypeIdCode] = 'MAN';
END
@@ -54,6 +54,7 @@ BEGIN
, bt.NameOfPayer
, bt.SepaRemittanceInformation
, bt.EndToEndReference
, [IsManual] = CAST(CASE WHEN bt.[TransactionTypeIdCode] = 'MAN' THEN 1 ELSE 0 END AS bit)
, [order] = ROW_NUMBER() OVER (ORDER BY bt.[valuedate] DESC)
FROM
dbo.[fds__bankingtransactions] as bt
@@ -67,7 +68,7 @@ BEGIN
AND NOT (ISNULL(bt.[AccountNumberOfPayer],'') IN ('DE52301502000002091478') AND ISNULL(bt.[SepaRemittanceInformation],'') like ('%umbuchung%'))
AND NOT (ISNULL(bt.[AccountNumberOfPayer],'') IN ('DE23501108006161606386') AND ISNULL(bt.[SepaRemittanceInformation],'') like ('%ebay%'))
AND NOT (ISNULL(bt.[SepaRemittanceInformation],'') like ('%Umsatzsteuer%'))
AND ISNULL(bt.AccountNumberOfPayer ,'') <> ''
AND (ISNULL(bt.AccountNumberOfPayer ,'') <> '' OR bt.[TransactionTypeIdCode] = 'MAN')
) AND
CASE WHEN inv.[InvId] is null THEN 1
WHEN (ISNULL(inv.ispayed,0) = 1 and fds = 1) THEN 0
@@ -44,6 +44,7 @@ BEGIN
,[DateModified]
,[UserModified]
,[file] = CASE WHEN ISNULL(@includefile,0) = 1 THEN [file] else NULL END -- do not return file if not explicitly requested
,[file_guid]
FROM [dbo].[fds__reminder]
WHERE [Id] = @Id AND @Id is not null;
@@ -177,7 +177,7 @@ BEGIN
DECLARE @step [dbo].[fds__tt__mfr_steps];
DECLARE @itm [dbo].[fds__tt__mfr_items];
DECLARE @itm [dbo].[fds__tt__mfr_items+];
DECLARE @company TABLE (
[Id] [bigint] NOT NULL,
[Location#ID] [bigint] NULL,
@@ -207,9 +207,19 @@ BEGIN
INSERT INTO @itm
SELECT
itm.*
, [baseorder] = s.[baseorder], [order] = ROW_NUMBER() OVER (PARTITION BY [ServiceRequestId] ORDER BY [SortOrder], itm.[Id])
from [dbo].[mfr__items] as itm JOIN @SReq as s ON itm.ServiceRequestId = s.[Id]
where itm.[Type] <> 'PartialInvoice';
, [baseorder] = s.[baseorder]
, [order] = ROW_NUMBER() OVER (PARTITION BY itm.[ServiceRequestId] ORDER BY itm.[SortOrder], itm.[Id])
, [SetItmID] = CASE WHEN itm.[Type] = 'Set' AND ISNULL(itm.[Price], 0) > 0 THEN NULL
ELSE MAX(CASE WHEN itm.[Type] = 'Set' AND ISNULL(itm.[Price], 0) > 0 THEN itm.[Id] ELSE NULL END)
OVER (
PARTITION BY itm.[ServiceRequestId]
ORDER BY itm.[SortOrder], itm.[Id]
ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW
)
END
FROM [dbo].[mfr__items] as itm
JOIN @SReq as s ON itm.ServiceRequestId = s.[Id]
WHERE itm.[Type] <> 'PartialInvoice';
DECLARE @NUM_of_int_Invoices int = 0;
@@ -264,6 +274,7 @@ BEGIN
,[UnitString] = 'Pauschal'
,[baseorder] = ai.[baseorder]
, [order] = 10000 + (ROW_NUMBER() OVER (PARTITION BY ai.[mfr__servicerequest] ORDER BY ai.[dateFinalized], ai.DateCreated) * 10)
,[SetItmId] = null
FROM associated_interims as ai
UNION
SELECT
@@ -293,6 +304,7 @@ BEGIN
,[UnitString] = 'Pauschal'
,[baseorder] = ai.[baseorder]
, [order] = 10001 + (ROW_NUMBER() OVER (PARTITION BY ai.[mfr__servicerequest] ORDER BY ai.[dateFinalized], ai.DateCreated) * 10)
,[SetItmId] = null
FROM associated_interims as ai
WHERE ISNULL(ai.open_amount,0.0) > 0.0;
@@ -381,6 +393,7 @@ BEGIN
, itm.[NameOrNumber]
, [Note] = IIF(ISNULL([Discount], 0) > 0, '<b>Rabatt '+ FORMAT([discount]*0.01,'#.0%','de-de') + '</b>', '') + ISNULL(itm.[Note],'')
, [order] = (itm.[baseorder] * 100) + itm.[order]
, [SetItmId]
FROM @itm as itm
LEFT JOIN [dbo].[fds__custom_vat] as vat ON itm.[Id] = vat.[EntityId] and vat.[EntityType] = 'item';
END
@@ -176,7 +176,7 @@ BEGIN
DECLARE @step [dbo].[fds__tt__mfr_steps];
DECLARE @itm [dbo].[fds__tt__mfr_items];
DECLARE @itm [dbo].[fds__tt__mfr_items+];
DECLARE @company TABLE (
[Id] [bigint] NOT NULL,
[Location#ID] [bigint] NULL,
@@ -204,8 +204,19 @@ BEGIN
INSERT INTO @itm
SELECT itm.*, [baseorder] = s.[baseorder], [order] = ROW_NUMBER() OVER (PARTITION BY [ServiceRequestId] ORDER BY [SortOrder], itm.[Id])
from [dbo].[mfr__items] as itm JOIN @SReq as s ON itm.ServiceRequestId = s.[Id];
SELECT itm.*
, [baseorder] = s.[baseorder]
, [order] = ROW_NUMBER() OVER (PARTITION BY itm.[ServiceRequestId] ORDER BY itm.[SortOrder], itm.[Id])
, [SetItmID] = CASE WHEN itm.[Type] = 'Set' AND ISNULL(itm.[Price], 0) > 0 THEN NULL
ELSE MAX(CASE WHEN itm.[Type] = 'Set' AND ISNULL(itm.[Price], 0) > 0 THEN itm.[Id] ELSE NULL END)
OVER (
PARTITION BY itm.[ServiceRequestId]
ORDER BY itm.[SortOrder], itm.[Id]
ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW
)
END
FROM [dbo].[mfr__items] as itm
JOIN @SReq as s ON itm.ServiceRequestId = s.[Id];
DECLARE @NUM_of_int_Invoices int = 0;
@@ -238,7 +249,9 @@ BEGIN
,[CreatorId] = NULL
,[UnitId] = 15825600513
,[UnitString] = 'Pauschal'
,[baseorder] = s.[baseorder], [order] = 10000 + ROW_NUMBER() OVER (PARTITION BY srq.[mfr__servicerequest] ORDER BY inv.[dateFinalized], inv.DateCreated)
,[baseorder] = s.[baseorder]
, [order] = 10000 + ROW_NUMBER() OVER (PARTITION BY srq.[mfr__servicerequest] ORDER BY inv.[dateFinalized], inv.DateCreated)
,[SetItmID] = null
from [dbo].[fds__invoices] as inv
JOIN [dbo].[fds__invoice_servicerequests] as srq ON inv.[Id] = srq.[InvId] AND inv.[InvoiceType] = 'i' --important
JOIN @SReq as s ON srq.[mfr__servicerequest] = s.[Id]
@@ -292,7 +305,9 @@ BEGIN
,[CreatorId] = NULL
,[UnitId] = 15825600513
,[UnitString] = 'Pauschal'
,[baseorder] = 0, [order] = 1
,[baseorder] = 0
, [order] = 1
,[SetItmID] = null
from [dbo].[fds__invoices] as inv
WHERE ISNULL(inv.[isFinal],0) = 1 AND ISNULL(inv.[IsCanceled],0) = 0
AND inv.[Id] = @InvId;
@@ -373,6 +388,7 @@ BEGIN
, itm.[NameOrNumber]
, itm.[Note]
, [order] = (itm.[baseorder] * 100) + itm.[order]
, [SetItmId]
FROM @itm as itm
LEFT JOIN [dbo].[fds__custom_vat] as vat ON itm.[Id] = vat.[EntityId] and vat.[EntityType] = 'item';
END
@@ -0,0 +1,64 @@
CREATE PROCEDURE [dbo].[fds__setBankingtransaction_manual]
@taID varchar(10) = NULL, -- NULL=INSERT, value=UPDATE, value+others NULL=DELETE
@ValueDate date = NULL,
@Amount numeric(9,2) = NULL,
@NameOfPayer nvarchar(140) = NULL,
@SepaRemittanceInformation varchar(200) = NULL,
@authuser varchar(100) = NULL
AS
BEGIN
SET NOCOUNT ON;
IF [dbo].[fis_getModuleAuth]('fds_bam', @authuser) < 2
THROW 60000, N'not authorized', 1;
BEGIN TRY
-- DELETE
IF @taID IS NOT NULL AND @Amount IS NULL
BEGIN
DELETE FROM [dbo].[fds__bankingtransactions]
WHERE [taID] = @taID;
RETURN;
END
-- INSERT
IF @taID IS NULL
BEGIN
INSERT INTO [dbo].[fds__bankingtransactions]
([taID], [AccountIdentification], [ValueDate], [Amount],
[FundsCode], [AccountNumberOfPayer], [BankCodeOfPayer],
[CompensationAmount], [CreditorReference], [CreditorsReferenceParty],
[CustomerReference], [EndToEndReference], [JournalNumber],
[MandateReference], [NameOfPayer], [OriginalAmount],
[OriginatorsIdentificationCode], [PayersReferenceParty],
[PostingText], [SepaRemittanceInformation], [TextKeyAddition],
[TransactionCode], [IsUnstructuredData], [UnstructuredData],
[UnstructuredRemittanceInformation], [DebitCreditMark], [TransactionTypeIdCode])
VALUES
([dbo].[fds__fn_bankingtransaction_id](), '999', @ValueDate, @Amount,
NULL, NULL, NULL,
NULL, NULL, NULL,
NULL, NULL, NULL,
NULL, @NameOfPayer, NULL,
NULL, NULL,
'MANUELLE GUTSCHRIFT', @SepaRemittanceInformation, NULL,
NULL, 0, NULL,
NULL, 'C', 'MAN');
RETURN;
END
-- UPDATE
UPDATE [dbo].[fds__bankingtransactions]
SET
[ValueDate] = @ValueDate,
[Amount] = @Amount,
[NameOfPayer] = @NameOfPayer,
[SepaRemittanceInformation] = @SepaRemittanceInformation
WHERE [taID] = @taID;
END TRY
BEGIN CATCH
THROW;
END CATCH
END
@@ -20,19 +20,19 @@ BEGIN
IF @referencetable = 'mfr__companies'
BEGIN
DELETE p
OUTput deleted.*, @now INTO [dbo].[mfr__d_*PartnerSet]
--OUTput deleted.*, @now INTO [dbo].[mfr__d_*PartnerSet]
FROM [dbo].[mfr__*PartnerSet] as p
WHERE p.Property like 'Company[:]%' AND EXISTS (SELECT * FROM @tmp as tmp where tmp.[id] = p.[EntityId]);
DELETE cv
OUTput deleted.*, @now INTO [dbo].[mfr__d_#customvalues]
--OUTput deleted.*, @now INTO [dbo].[mfr__d_#customvalues]
FROM [dbo].[mfr__#customvalues] as cv
WHERE cv.Property like 'Company[:]%' AND EXISTS (SELECT * FROM @tmp as tmp where tmp.[id] = cv.[EntityId]);
DELETE lc
OUTPUT deleted.*, @now INTO [dbo].[mfr__d_#locations]
--OUTPUT deleted.*, @now INTO [dbo].[mfr__d_#locations]
FROM [dbo].[mfr__#locations] as lc
WHERE lc.Property like 'Company[:]%' AND EXISTS (SELECT * FROM @tmp as tmp where tmp.[id] = lc.[EntityId]);
DELETE cm
OUTPUT deleted.*, @now INTO [dbo].[mfr__d_comments]
--OUTPUT deleted.*, @now INTO [dbo].[mfr__d_comments]
FROM [dbo].[mfr__comments] as cm
WHERE EXISTS (SELECT * FROM @tmp as tmp where tmp.[id] = cm.[CompanyId] AND ISNULL(cm.[ServiceRequestId],0) = 0);
END
@@ -20,19 +20,19 @@ BEGIN
IF @referencetable = 'mfr__serviceobjects'
BEGIN
DELETE p
OUTput deleted.*, @now INTO [dbo].[mfr__d_*PartnerSet]
--OUTput deleted.*, @now INTO [dbo].[mfr__d_*PartnerSet]
FROM [dbo].[mfr__*PartnerSet] as p
WHERE p.Property like 'ServiceObject[:]%' AND EXISTS (SELECT * FROM @tmp as tmp where tmp.[id] = p.[EntityId]);
DELETE cv
OUTput deleted.*, @now INTO [dbo].[mfr__d_#customvalues]
--OUTput deleted.*, @now INTO [dbo].[mfr__d_#customvalues]
FROM [dbo].[mfr__#customvalues] as cv
WHERE cv.Property like 'ServiceObject[:]%' AND EXISTS (SELECT * FROM @tmp as tmp where tmp.[id] = cv.[EntityId]);
DELETE lc
OUTPUT deleted.*, @now INTO [dbo].[mfr__d_#locations]
--OUTPUT deleted.*, @now INTO [dbo].[mfr__d_#locations]
FROM [dbo].[mfr__#locations] as lc
WHERE lc.Property like 'ServiceObject[:]%' AND EXISTS (SELECT * FROM @tmp as tmp where tmp.[id] = lc.[EntityId]);
DELETE itm
OUTPUT deleted.*, @now INTO [dbo].[mfr__d_items]
--OUTPUT deleted.*, @now INTO [dbo].[mfr__d_items]
FROM [dbo].[mfr__items] as itm
WHERE EXISTS (SELECT * FROM @tmp as tmp where tmp.[id] = itm.[ServiceObjectId] and ISNULL(itm.[ServiceRequestId],0) = 0);
END
@@ -24,39 +24,39 @@ BEGIN
IF @referencetable = 'mfr__servicerequests'
BEGIN
DELETE p
OUTput deleted.*, @now INTO [dbo].[mfr__d_*PartnerSet]
--OUTput deleted.*, @now INTO [dbo].[mfr__d_*PartnerSet]
FROM [dbo].[mfr__*PartnerSet] as p
WHERE p.Property like 'ServiceRequest[:]%' AND EXISTS (SELECT * FROM @tmp as tmp where tmp.[id] = p.[EntityId]);
DELETE cv
OUTput deleted.*, @now INTO [dbo].[mfr__d_#customvalues]
--OUTput deleted.*, @now INTO [dbo].[mfr__d_#customvalues]
FROM [dbo].[mfr__#customvalues] as cv
WHERE cv.Property like 'ServiceRequest[:]%' AND EXISTS (SELECT * FROM @tmp as tmp where tmp.[id] = cv.[EntityId]);
DELETE lc
OUTPUT deleted.*, @now INTO [dbo].[mfr__d_#locations]
--OUTPUT deleted.*, @now INTO [dbo].[mfr__d_#locations]
FROM [dbo].[mfr__#locations] as lc
WHERE lc.Property like 'ServiceRequest[:]%' AND EXISTS (SELECT * FROM @tmp as tmp where tmp.[id] = lc.[EntityId]);
DELETE stp
OUTPUT deleted.*, @now INTO [dbo].[mfr__d_steps]
--OUTPUT deleted.*, @now INTO [dbo].[mfr__d_steps]
FROM [dbo].[mfr__steps] as stp
WHERE EXISTS (SELECT * FROM @tmp as tmp where tmp.[id] = stp.[ServiceRequestId] and ISNULL(stp.[StepListTemplateId],0) = 0);
DELETE app
OUTPUT deleted.*, @now INTO [dbo].[mfr__d_appointments]
--OUTPUT deleted.*, @now INTO [dbo].[mfr__d_appointments]
FROM [dbo].[mfr__appointments] as app
WHERE EXISTS (SELECT * FROM @tmp as tmp where tmp.[id] = app.[ServiceRequestId]);
DELETE itm
OUTPUT deleted.*, @now INTO [dbo].[mfr__d_items]
--OUTPUT deleted.*, @now INTO [dbo].[mfr__d_items]
FROM [dbo].[mfr__items] as itm
WHERE EXISTS (SELECT * FROM @tmp as tmp where tmp.[id] = itm.[ServiceRequestId] and ISNULL(itm.[ServiceobjectId],0) = 0);
DELETE te
OUTPUT deleted.*, @now INTO [dbo].[mfr__d_timeevents]
--OUTPUT deleted.*, @now INTO [dbo].[mfr__d_timeevents]
FROM [dbo].[mfr__timeevents] as te
WHERE EXISTS (SELECT * FROM @tmp as tmp where tmp.[id] = te.[ServiceRequestId]);
DELETE sm
OUTPUT deleted.*, @now INTO [dbo].[mfr__d_stockmovements]
--OUTPUT deleted.*, @now INTO [dbo].[mfr__d_stockmovements]
FROM [dbo].[mfr__stockmovements] as sm
WHERE EXISTS (SELECT * FROM @tmp as tmp where tmp.[id] = sm.[ServiceRequestId]);
DELETE cm
OUTPUT deleted.*, @now INTO [dbo].[mfr__d_comments]
--OUTPUT deleted.*, @now INTO [dbo].[mfr__d_comments]
FROM [dbo].[mfr__comments] as cm
WHERE EXISTS (SELECT * FROM @tmp as tmp where tmp.[id] = cm.[ServiceRequestId] AND ISNULL(cm.[CompanyId],0) = 0);
END
@@ -22,7 +22,7 @@ BEGIN
IF @referencetable = 'mfr__steplisttemplates'
BEGIN
DELETE stp
OUTPUT deleted.*, @now INTO [dbo].[mfr__d_steps]
--OUTPUT deleted.*, @now INTO [dbo].[mfr__d_steps]
FROM [dbo].[mfr__steps] as stp
WHERE EXISTS (SELECT * FROM @tmp as tmp where tmp.[id] = stp.[StepListTemplateId] and ISNULL(stp.[ServiceRequestId],0) = 0);
END
@@ -124,26 +124,26 @@ BEGIN
$action, deleted.*
INTO @ARCHIVE;
INSERT INTO [dbo].[mfr__d_steps]
SELECT [Id]
,[MobileId]
,[Version]
,[Name]
,[IsDone]
,[HasError]
,[TrackingId]
,[Type]
,[SortOrder]
,[Data]
,[DateModifiedOffline]
,[ServiceRequestId]
,[Description]
,[Comment]
,[InternalComment]
,[ServiceObjectId]
,[StepListTemplateId]
,[ParentId]
,[DateDeleted] = @now
FROM @ARCHIVE
WHERE [ActionType] IN ( 'DELETE', 'UPDATE' );
--INSERT INTO [dbo].[mfr__d_steps]
-- SELECT [Id]
-- ,[MobileId]
-- ,[Version]
-- ,[Name]
-- ,[IsDone]
-- ,[HasError]
-- ,[TrackingId]
-- ,[Type]
-- ,[SortOrder]
-- ,[Data]
-- ,[DateModifiedOffline]
-- ,[ServiceRequestId]
-- ,[Description]
-- ,[Comment]
-- ,[InternalComment]
-- ,[ServiceObjectId]
-- ,[StepListTemplateId]
-- ,[ParentId]
-- ,[DateDeleted] = @now
-- FROM @ARCHIVE
-- WHERE [ActionType] IN ( 'DELETE', 'UPDATE' );
END
@@ -0,0 +1,29 @@
CREATE TYPE [dbo].[fds__tt__mfr_items+] AS TABLE (
[Id] BIGINT NULL,
[Version] INT NULL,
[QuantityHours] NUMERIC (10, 3) NULL,
[PlannedQuantityHours] NUMERIC (10, 3) NULL,
[ItemTypeId] BIGINT NULL,
[ItemNumber] NVARCHAR (255) NULL,
[TrackingId] NVARCHAR (255) NULL,
[Manufacture] NVARCHAR (255) NULL,
[Price] NUMERIC (10, 3) NULL,
[Costs] NUMERIC (10, 3) NULL,
[NameOrNumber] NVARCHAR (255) NULL,
[CustomValues] NVARCHAR (MAX) NULL,
[Note] NVARCHAR (MAX) NULL,
[ExternalId] NVARCHAR (255) NULL,
[Discount] NUMERIC (10, 3) NULL,
[VAT] NUMERIC (10, 3) NULL,
[IsManual] BIT NULL,
[SortOrder] INT NULL,
[Type] NVARCHAR (255) NULL,
[ServiceRequestId] BIGINT NULL,
[ServiceObjectId] BIGINT NULL,
[CreatorId] BIGINT NULL,
[UnitId] BIGINT NULL,
[UnitString] NVARCHAR (255) NULL,
[baseorder] INT NULL,
[order] INT NULL,
[SetItmId] BIGINT NULL);
@@ -1,27 +1,28 @@
CREATE TYPE [dbo].[fds__tt__reminder_core] AS TABLE (
[Id] VARCHAR (10) NULL,
[Version] INT NULL,
[DocumentName] VARCHAR (100) NULL,
[InvId] VARCHAR (15) NULL,
[CustomerId] BIGINT NULL,
[SendToAddress] NVARCHAR (1000) NULL,
[SendToEmail] NVARCHAR (255) NULL,
[type] VARCHAR (3) NULL,
[amount] NUMERIC (10, 3) NULL,
[amount_payed] NUMERIC (10, 3) NULL,
[amount_open] NUMERIC (10, 3) NULL,
[subject] NVARCHAR (255) NULL,
[text] NVARCHAR (2000) NULL,
[IsSent] BIT NULL,
[IsFinal] BIT NULL,
[CustomValues] NVARCHAR (MAX) NULL,
[DateSent] DATETIME NULL,
[UserSent] VARCHAR (25) NULL,
[DateFinalized] DATETIME NULL,
[UserFinalized] VARCHAR (25) NULL,
[DateCreated] DATETIME NULL,
[UserCreated] VARCHAR (25) NULL,
[DateModified] DATETIME NULL,
[UserModified] VARCHAR (25) NULL,
[file] VARBINARY (MAX) NULL);
[Id] VARCHAR (10) NULL,
[Version] INT NULL,
[DocumentName] VARCHAR (100) NULL,
[InvId] VARCHAR (15) NULL,
[CustomerId] BIGINT NULL,
[SendToAddress] NVARCHAR (1000) NULL,
[SendToEmail] NVARCHAR (255) NULL,
[type] VARCHAR (3) NULL,
[amount] NUMERIC (10, 3) NULL,
[amount_payed] NUMERIC (10, 3) NULL,
[amount_open] NUMERIC (10, 3) NULL,
[subject] NVARCHAR (255) NULL,
[text] NVARCHAR (2000) NULL,
[IsSent] BIT NULL,
[IsFinal] BIT NULL,
[CustomValues] NVARCHAR (MAX) NULL,
[DateSent] DATETIME NULL,
[UserSent] VARCHAR (25) NULL,
[DateFinalized] DATETIME NULL,
[UserFinalized] VARCHAR (25) NULL,
[DateCreated] DATETIME NULL,
[UserCreated] VARCHAR (25) NULL,
[DateModified] DATETIME NULL,
[UserModified] VARCHAR (25) NULL,
[file] VARBINARY (MAX) NULL,
[file_guid] UNIQUEIDENTIFIER NULL);