﻿
ALTER TABLE dbo.QuickAccess ADD[FrmEditFactors][bit] NULL;

ALTER TABLE dbo.QuickAccess ADD[FrmEditFactors][bit] NULL;


CREATE UNIQUE NONCLUSTERED INDEX [NonClusteredIndex-20230711-164501] ON [dbo].[Company]([RowName] ASC)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, IGNORE_DUP_KEY = OFF, DROP_EXISTING = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON)

ALTER TABLE dbo.QuickAccess ADD[FrmUnpaidDemand][bit] NULL;

ALTER TABLE dbo.QuickAccess ADD[FrmGotPaidDemand][bit] NULL;

ALTER TABLE dbo.QuickAccess ADD[FrmAccountingBookReport][bit] NULL;

ALTER TABLE dbo.QuickAccess ADD[FrmDayBook][bit] NULL;

ALTER TABLE dbo.QuickAccess ADD[FrmDayBook][bit] NULL;

ALTER TABLE dbo.QuickAccess ADD[FrmWhatsUpToday][bit] NULL;

ALTER TABLE dbo.AppUserSettings ADD[ManualDiscount][bit] NULL;

ALTER TABLE dbo.AppUserSettings ADD[CofferMergeItems][bit] NULL;

ALTER TABLE dbo.AppUserSettings ADD[ClientID][int] NULL;

ALTER TABLE dbo.AppUserSettings ADD[ServerID][int] NULL;

ALTER TABLE dbo.Estate ADD[MeasureUnit_ID][int] NULL;

ALTER TABLE [dbo].[Estate]  WITH CHECK ADD  CONSTRAINT [FK_Estate_EstateLocation] FOREIGN KEY([EstateLocation_ID]) REFERENCES[dbo].[EstateLocation]([RowID]);

ALTER TABLE [dbo].[Estate]  WITH CHECK ADD  CONSTRAINT [FK_Estate_MeasureUnit] FOREIGN KEY([MeasureUnit_ID]) REFERENCES[dbo].[MeasureUnit]([RowID]);

ALTER TABLE dbo.EstateLocationStock ADD[Branch_ID][int] NULL;

ALTER TABLE [dbo].[EstateLocationStock]  WITH CHECK ADD  CONSTRAINT [FK_EstateLocationStock_Branch] FOREIGN KEY([Branch_ID]) REFERENCES[dbo].[Branch]([RowID]);

ALTER TABLE [dbo].[EstateLocationStock] ADD PRIMARY KEY([RowID]);

ALTER TABLE dbo.Systems ADD[AccountingSystem][bit] NULL;

ALTER TABLE dbo.Systems ADD[StoreSaleSystem][bit] NULL;

ALTER TABLE dbo.Systems ADD[IsServer][bit] NULL;

ALTER TABLE dbo.Systems ADD[UserName][nvarchar](200) NULL;

ALTER TABLE dbo.Systems ADD[Password][nvarchar](200) NULL;

ALTER TABLE dbo.AppSettings ADD[FinancialYear_ID][smallint] NULL;

ALTER TABLE dbo.AppSettings ADD[MonetaryUnitID][tinyint] NULL;

ALTER TABLE dbo.AppSettings ADD[CreditSale] [bit] NULL;

ALTER TABLE dbo.ShiftDocH ADD[Temps] [bit] NULL;

ALTER TABLE dbo.ShiftDocH ADD[Steps] [tinyint] NULL;

INSERT [dbo].[Fix_DocHType] ([RowID], [RowName], [RowDesc], [UniqueIdentifierValue]) VALUES (22, N'خرید اموال', NULL, NULL);

INSERT [dbo].[Fix_DocHType] ([RowID], [RowName], [RowDesc], [UniqueIdentifierValue]) VALUES (23, N'فروش اموال', NULL, NULL);

INSERT [dbo].[Fix_AppObject] ([RowID], [Fix_AppObjectType_ID], [RowName], [RowDesc], [UniqueIdentifierValue]) VALUES (2046, 2, N'عملیات - اموال', NULL, NULL);

INSERT [dbo].[Fix_AppObject] ([RowID], [Fix_AppObjectType_ID], [RowName], [RowDesc], [UniqueIdentifierValue]) VALUES (2047, 2, N'عملیات - اموال - ثبت خرید اموال', NULL, NULL);

INSERT [dbo].[Fix_AppObject] ([RowID], [Fix_AppObjectType_ID], [RowName], [RowDesc], [UniqueIdentifierValue]) VALUES (2048, 2, N'عملیات - اموال - ثبت فروش اموال', NULL, NULL);

INSERT [dbo].[Fix_AppObject] ([RowID], [Fix_AppObjectType_ID], [RowName], [RowDesc], [UniqueIdentifierValue]) VALUES (2049, 2, N'عملیات - اموال - ویرایش عملیات اموال', NULL, NULL);

INSERT [dbo].[Fix_AppObject] ([RowID], [Fix_AppObjectType_ID], [RowName], [RowDesc], [UniqueIdentifierValue]) VALUES (5084, 5, N'مجوز افزودن - خرید اموال', NULL, NULL);

INSERT [dbo].[Fix_AppObject] ([RowID], [Fix_AppObjectType_ID], [RowName], [RowDesc], [UniqueIdentifierValue]) VALUES (5085, 5, N'مجوز افزودن - فروش اموال', NULL, NULL);

INSERT [dbo].[Fix_AppObject] ([RowID], [Fix_AppObjectType_ID], [RowName], [RowDesc], [UniqueIdentifierValue]) VALUES (6084, 6, N'مجوز ویرایش - خرید اموال', NULL, NULL);

INSERT [dbo].[Fix_AppObject] ([RowID], [Fix_AppObjectType_ID], [RowName], [RowDesc], [UniqueIdentifierValue]) VALUES (6085, 6, N'مجوز ویرایش - فروش اموال', NULL, NULL);

INSERT [dbo].[Fix_AppObject] ([RowID], [Fix_AppObjectType_ID], [RowName], [RowDesc], [UniqueIdentifierValue]) VALUES (7084, 7, N'مجوز حذف - خرید اموال', NULL, NULL);

INSERT [dbo].[Fix_AppObject] ([RowID], [Fix_AppObjectType_ID], [RowName], [RowDesc], [UniqueIdentifierValue]) VALUES (7085, 7, N'مجوز حذف - فروش اموال', NULL, NULL);

UPDATE dbo.WhDocH SET Branch_ID = 1 WHERE Branch_ID IS NULL;

UPDATE dbo.WhDocD SET Branch_ID = 1 WHERE Branch_ID IS NULL;

ALTER TABLE dbo.ChequePayH ADD[FinancialYear_ID][smallint] NULL;

ALTER TABLE dbo.ChequeRecH ADD[FinancialYear_ID][smallint] NULL;

UPDATE dbo.ChequePayH SET Branch_ID = 1 WHERE Branch_ID IS NULL;

UPDATE dbo.ChequePayD SET Branch_ID = 1 WHERE Branch_ID IS NULL;

UPDATE dbo.ChequeRecH SET Branch_ID = 1 WHERE Branch_ID IS NULL;

UPDATE dbo.ChequeRecD SET Branch_ID = 1 WHERE Branch_ID IS NULL;

INSERT [dbo].[Fix_Acc2Type] ([RowID], [RowName], [RowCode], [RowDesc], [UniqueIdentifierValue]) VALUES (7, N'سرمایه‌گذار', NULL, NULL, NULL);

SET IDENTITY_INSERT dbo.Fix_EhDocType  OFF;

IF NOT EXISTS (SELECT * FROM dbo.Fix_EhDocType WHERE RowID = 3) INSERT [dbo].[Fix_EhDocType] ([RowName], [RowDesc]) VALUES (N'موجودی اول دوره اموال', NULL);

UPDATE [dbo].[ChequePayH] SET FinancialYear_ID = (SELECT MIN(RowID) FROM dbo.FinancialYear) WHERE FinancialYear_ID IS NULL;

UPDATE [dbo].[ChequeRecH] SET FinancialYear_ID = (SELECT MIN(RowID) FROM dbo.FinancialYear) WHERE FinancialYear_ID IS NULL;

ALTER TABLE dbo.EhDocH ADD[Estate_ID][int] NULL;

INSERT [dbo].[Fix_Reports] ([RowID], [RowName], [RowDesc], [sectionid], [Branch_id]) VALUES (35, N'برچسب کالا - نوع یک', N'نوع یک', 15, 1);

INSERT [dbo].[Fix_Reports] ([RowID], [RowName], [RowDesc], [sectionid], [Branch_id]) VALUES (36, N'برچسب کالا - نوع دو', N'نوع دو', 15, 1);

ALTER TABLE dbo.AppUserSettings ADD[CardReaderAutoSettlement][bit] NULL;

ALTER TABLE dbo.AppUserSettings ADD[EditFactors][bit] NULL;


UPDATE dbo.AppUserSettings SET CardReaderAutoSettlement = 'true' WHERE CardReaderAutoSettlement IS NULL;

INSERT [dbo].[Fix_Acc2Type] ([RowID], [RowName]) VALUES (8, N'کارتخوان');

CREATE TABLE [dbo].[CloseCofferH]([RowID] [int] IDENTITY(1,1) NOT NULL, [UserID] [smallint] NOT NULL, [CashSale] [money] NULL, [CardReaderSale] [money] NULL, [Branch_ID] [int] NULL, [Settled] [bit] NOT NULL, [FinancialYear_ID] [smallint] NULL, [FDateInsert] [char](10) NULL, [MDateInsert] [datetime] NULL, [FDateUpdate] [char](10) NULL, [MDateUpdate] [datetime] NULL, [FTimeInsert] [char](5) NULL, [FTimeUpdate] [char](5) NULL, CONSTRAINT [PK_CloseCofferH] PRIMARY KEY CLUSTERED  ([RowID] ASC)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]) ON [PRIMARY]

ALTER TABLE [dbo].[CloseCofferH]  WITH CHECK ADD  CONSTRAINT [FK_CloseCofferH_Branch] FOREIGN KEY([Branch_ID]) REFERENCES [dbo].[Branch] ([RowID])

ALTER TABLE [dbo].[CloseCofferH] CHECK CONSTRAINT [FK_CloseCofferH_Branch]

ALTER TABLE [dbo].[CloseCofferH]  WITH CHECK ADD  CONSTRAINT [FK_CloseCofferH_FinancialYear] FOREIGN KEY([FinancialYear_ID]) REFERENCES [dbo].[FinancialYear] ([RowID])

ALTER TABLE [dbo].[CloseCofferH] CHECK CONSTRAINT [FK_CloseCofferH_FinancialYear]

CREATE TABLE [dbo].[CloseCofferD]([RowID] [int] IDENTITY(1,1) NOT NULL, [Branch_ID] [int] NULL, [CloseCofferH_ID] [int] NOT NULL, [POS_ID] [int] NOT NULL, [Price] [money] NOT NULL, [RowDesc] [nvarchar](500) NULL, CONSTRAINT [PK_CloseCofferD] PRIMARY KEY CLUSTERED ([RowID] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] ) ON [PRIMARY]

ALTER TABLE [dbo].[CloseCofferD] WITH CHECK ADD CONSTRAINT [FK_CloseCofferD_POS] FOREIGN KEY([POS_ID]) REFERENCES [dbo].[POS] ([RowID])

ALTER TABLE [dbo].[CloseCofferD]  WITH CHECK ADD  CONSTRAINT [FK_CloseCofferD_CloseCofferH] FOREIGN KEY([CloseCofferH_ID]) REFERENCES [dbo].[CloseCofferH] ([RowID]) ON DELETE CASCADE

CREATE TABLE [dbo].[CofferSettlementH]([RowID] [int] IDENTITY(1,1) NOT NULL, [TotalCashSale] [money] NULL, [TotalCardReaderSale] [money] NULL, [TotalCashReceived] [money] NULL, [TotalCardReaderReceived] [money] NULL, [Branch_ID] [int] NULL, [FinancialYear_ID] [smallint] NULL, [FDateInsert] [char](10) NULL, [MDateInsert] [datetime] NULL, [FDateUpdate] [char](10) NULL, [MDateUpdate] [datetime] NULL, [FTimeInsert] [char](5) NULL, [FTimeUpdate] [char](5) NULL, CONSTRAINT [PK_CofferSettlementH] PRIMARY KEY CLUSTERED  ([RowID] ASC)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]) ON [PRIMARY]

ALTER TABLE [dbo].[CofferSettlementH]  WITH CHECK ADD  CONSTRAINT [FK_CofferSettlementH_Branch] FOREIGN KEY([Branch_ID]) REFERENCES [dbo].[Branch] ([RowID])

ALTER TABLE [dbo].[CofferSettlementH] CHECK CONSTRAINT [FK_CofferSettlementH_Branch]

ALTER TABLE [dbo].[CofferSettlementH]  WITH CHECK ADD  CONSTRAINT [FK_CofferSettlementH_FinancialYear] FOREIGN KEY([FinancialYear_ID]) REFERENCES [dbo].[FinancialYear] ([RowID])

ALTER TABLE [dbo].[CofferSettlementH] CHECK CONSTRAINT [FK_CofferSettlementH_FinancialYear]

CREATE TABLE [dbo].[CofferSettlementD]([RowID] [int] IDENTITY(1,1) NOT NULL, [CofferSettlementH_ID] [int] NOT NULL, [UserID] [smallint] NOT NULL, [CashSale] [money] NULL, [CardReaderSale] [money] NULL, [CashReceived] [money] NULL, [CardReaderReceived] [money] NULL, [RowDesc] [nvarchar](500) NULL, CONSTRAINT [PK_CofferSettlementD] PRIMARY KEY CLUSTERED  ([RowID] ASC)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]) ON [PRIMARY]

ALTER TABLE [dbo].[CofferSettlementD]  WITH CHECK ADD  CONSTRAINT [FK_CofferSettlementD_CofferSettlementH] FOREIGN KEY([CofferSettlementH_ID]) REFERENCES [dbo].[CofferSettlementH] ([RowID])

ALTER TABLE [dbo].[CofferSettlementD] CHECK CONSTRAINT [FK_CofferSettlementD_CofferSettlementH]

CREATE TABLE [dbo].[CofferSettlementPos]([RowID] [int] IDENTITY(1,1) NOT NULL, [CofferSettlementD_ID] [int] NOT NULL, [POS_ID] [int] NOT NULL, [Price] [money] NOT NULL, [RowDesc] [nvarchar](500) NULL, CONSTRAINT [PK_CofferSettlementPos] PRIMARY KEY CLUSTERED  ([RowID] ASC)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]) ON [PRIMARY]

ALTER TABLE [dbo].[CofferSettlementPos]  WITH CHECK ADD  CONSTRAINT [FK_CofferSettlementPos_CofferSettlementD] FOREIGN KEY([CofferSettlementD_ID]) REFERENCES [dbo].[CofferSettlementD] ([RowID])

ALTER TABLE [dbo].[CofferSettlementPos] CHECK CONSTRAINT [FK_CofferSettlementPos_CofferSettlementD]

ALTER TABLE [dbo].[CofferSettlementPos]  WITH CHECK ADD  CONSTRAINT [FK_CofferSettlementPos_POS] FOREIGN KEY([POS_ID]) REFERENCES [dbo].[POS] ([RowID])

ALTER TABLE [dbo].[CofferSettlementPos] CHECK CONSTRAINT [FK_CofferSettlementPos_POS]

ALTER TABLE [dbo].[CofferSettlementH] ADD[DocNo][bigint] NULL;

ALTER TABLE [dbo].[CofferSettlementH] ADD[DocFDate][char](10) NULL;

ALTER TABLE [dbo].[CofferSettlementH] ADD[DocMDate][datetime] NULL;

ALTER TABLE [dbo].[CofferSettlementH] ADD[RowDesc][nvarchar](500) NULL;

INSERT [dbo].[Fix_Acc2Type] ([RowID], [RowName], [RowCode], [RowDesc], [UniqueIdentifierValue]) VALUES (9, N'کسر و اضافه', 3, NULL, NULL);

ALTER TABLE [dbo].[CloseCofferH] ADD[CashReturnSale][money] NULL;

ALTER TABLE [dbo].[CloseCofferH] ADD[TotalCashSale][money] NULL;

ALTER TABLE [dbo].[CofferSettlementD] ADD[CashReturnSale][money] NULL;

ALTER TABLE [dbo].[CofferSettlementD] ADD[TotalCashSale][money] NULL;

ALTER TABLE [dbo].[CloseCofferH] ADD[Coffer_ID][int] NULL;

ALTER TABLE [dbo].[CofferSettlementD] ADD[Coffer_ID][int] NULL;

INSERT [dbo].[Fix_DocHType] ([RowID], [RowName]) VALUES (24, N'تسویه صندوق');

ALTER TABLE [dbo].[CofferSettlementH] ADD[Treasury_ID][int] NULL;

ALTER TABLE [dbo].[CofferSettlementD] ADD[CloseCofferH_ID][int] NULL;

INSERT [dbo].[Fix_AppObject] ([RowID], [Fix_AppObjectType_ID], [RowName], [RowDesc], [UniqueIdentifierValue]) VALUES (2050, 2, N'عملیات - امور مالی - تسویه صندوق', NULL, NULL);

ALTER TABLE [dbo].[CofferSettlementD] ADD[CloseCofferFDate][nvarchar](100) NULL;

ALTER TABLE [dbo].[ChequePayH] ADD[IsForGuarantee][bit] NULL;

CREATE VIEW [dbo].[AveragePrice] AS SELECT        dbo.WhDocD.Good_ID, CAST(SUM(dbo.WhDocD.PurchaseTotalPrice) / SUM(dbo.WhDocD.CalculatedInputValue) AS int) AS Average, dbo.WhDocH.Fix_WhDocType2_ID, dbo.WhDocD.FinancialYear_ID FROM dbo.WhDocD INNER JOIN dbo.WhDocH ON dbo.WhDocD.WhDocH_ID = dbo.WhDocH.RowID WHERE (dbo.WhDocH.Fix_WhDocType2_ID = 1) GROUP BY dbo.WhDocD.Good_ID, dbo.WhDocH.Fix_WhDocType2_ID, dbo.WhDocD.FinancialYear_ID

CREATE VIEW [dbo].[StockAllWarehouse] AS SELECT SUM(CalculatedInputValue) - SUM(CalculatedOutputValue) AS stock, Good_ID, FinancialYear_ID FROM dbo.WhDocD GROUP BY Good_ID, FinancialYear_ID

CREATE VIEW [dbo].[StockView] AS SELECT        SUM(dbo.WhDocD.CalculatedInputValue) - SUM(dbo.WhDocD.CalculatedOutputValue) AS stock, dbo.WhDocD.Good_ID, dbo.WhDocD.FinancialYear_ID, dbo.WhDocH.Warehouse_ID FROM            dbo.WhDocD INNER JOIN dbo.WhDocH ON dbo.WhDocD.WhDocH_ID = dbo.WhDocH.RowID GROUP BY dbo.WhDocD.Good_ID, dbo.WhDocD.FinancialYear_ID, dbo.WhDocH.Warehouse_ID

ALTER TABLE [dbo].[AppUserSettings] ADD[SkinName][nvarchar](100) NULL;

ALTER TABLE [dbo].[AppUserSettings] ADD[PaletteName][nvarchar](100) NULL;

ALTER TABLE [dbo].[Fix_Acc1] ADD[DefinedBySystem][bit] NOT NULL CONSTRAINT [DF_Fix_Acc1_DefinedBySystem]  DEFAULT ((1));

INSERT [dbo].[Fix_AppObject] ([RowID], [Fix_AppObjectType_ID], [RowName], [RowDesc], [UniqueIdentifierValue]) VALUES (1059, 1, N'تعاریف - حساب‌ها', NULL, NULL);

INSERT [dbo].[Fix_AppObject] ([RowID], [Fix_AppObjectType_ID], [RowName], [RowDesc], [UniqueIdentifierValue]) VALUES (1060, 1, N'تعاریف - حساب‌ها - حساب‌های کل', NULL, NULL);

INSERT [dbo].[Fix_AppObject] ([RowID], [Fix_AppObjectType_ID], [RowName], [RowDesc], [UniqueIdentifierValue]) VALUES (5086, 5, N'مجوز افزودن - حساب‌های کل', NULL, NULL);

INSERT [dbo].[Fix_AppObject] ([RowID], [Fix_AppObjectType_ID], [RowName], [RowDesc], [UniqueIdentifierValue]) VALUES (6086, 6, N'مجوز ویرایش - حساب‌های کل', NULL, NULL);

INSERT [dbo].[Fix_AppObject] ([RowID], [Fix_AppObjectType_ID], [RowName], [RowDesc], [UniqueIdentifierValue]) VALUES (7086, 7, N'مجوز حذف - حساب‌های کل', NULL, NULL);

ALTER TABLE [dbo].[Fix_Acc2Type] ADD[DefinedBySystem][bit] NOT NULL CONSTRAINT [DF_Fix_Acc2Type_DefinedBySystem]  DEFAULT ((1));

ALTER TABLE [dbo].[Fix_Acc2Type] ADD[Fix_Acc1_ID][tinyint] NULL;

ALTER TABLE [dbo].[Fix_Acc2Type] WITH NOCHECK ADD  CONSTRAINT [FK_Fix_Acc2Type_Fix_Acc1] FOREIGN KEY([Fix_Acc1_ID]) REFERENCES [dbo].[Fix_Acc1] ([RowID]) ON DELETE CASCADE;

ALTER TABLE [dbo].[Fix_Acc2Type] NOCHECK CONSTRAINT [Fix_Acc2Type_Fix_Acc1];

INSERT [dbo].[Fix_AppObject] ([RowID], [Fix_AppObjectType_ID], [RowName], [RowDesc], [UniqueIdentifierValue]) VALUES (1061, 1, N'تعاریف - حساب‌ها - حساب‌های معین', NULL, NULL);

INSERT [dbo].[Fix_AppObject] ([RowID], [Fix_AppObjectType_ID], [RowName], [RowDesc], [UniqueIdentifierValue]) VALUES (5087, 5, N'مجوز افزودن - حساب‌های معین', NULL, NULL);

INSERT [dbo].[Fix_AppObject] ([RowID], [Fix_AppObjectType_ID], [RowName], [RowDesc], [UniqueIdentifierValue]) VALUES (6087, 6, N'مجوز ویرایش - حساب‌های معین', NULL, NULL);

INSERT [dbo].[Fix_AppObject] ([RowID], [Fix_AppObjectType_ID], [RowName], [RowDesc], [UniqueIdentifierValue]) VALUES (7087, 7, N'مجوز حذف - حساب‌های معین', NULL, NULL);

CREATE TABLE [dbo].[Fix_Acc3]([RowID] [int] NOT NULL, [RowName] [nvarchar](100) NOT NULL, [Fix_Acc2TypeID] [tinyint] NOT NULL, [RowDesc] [nvarchar](500) NULL, [UniqueIdentifierValue] [uniqueidentifier] NULL, CONSTRAINT [PK_Fix_Acc3] PRIMARY KEY CLUSTERED  ([RowID] ASC)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY], CONSTRAINT [UQ_Fix_Acc3_RowName] UNIQUE NONCLUSTERED ([RowName] ASC)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]) ON [PRIMARY]

ALTER TABLE [dbo].[Fix_Acc3]  WITH CHECK ADD  CONSTRAINT [FK_FixAcc3_FixAcc2Type] FOREIGN KEY([Fix_Acc2TypeID]) REFERENCES [dbo].[Fix_Acc2Type] ([RowID])

ALTER TABLE [dbo].[Fix_Acc3] CHECK CONSTRAINT [FK_FixAcc3_FixAcc2Type]

INSERT [dbo].[Fix_AppObject] ([RowID], [Fix_AppObjectType_ID], [RowName], [RowDesc], [UniqueIdentifierValue]) VALUES (1062, 1, N'تعاریف - حساب‌ها - حساب‌های تفصیلی', NULL, NULL);

INSERT [dbo].[Fix_AppObject] ([RowID], [Fix_AppObjectType_ID], [RowName], [RowDesc], [UniqueIdentifierValue]) VALUES (5088, 5, N'مجوز افزودن - حساب‌های تفصیلی', NULL, NULL);

INSERT [dbo].[Fix_AppObject] ([RowID], [Fix_AppObjectType_ID], [RowName], [RowDesc], [UniqueIdentifierValue]) VALUES (6088, 6, N'مجوز ویرایش - حساب‌های تفصیلی', NULL, NULL);

INSERT [dbo].[Fix_AppObject] ([RowID], [Fix_AppObjectType_ID], [RowName], [RowDesc], [UniqueIdentifierValue]) VALUES (7088, 7, N'مجوز حذف - حساب‌های تفصیلی', NULL, NULL);

CREATE VIEW [dbo].[WhDocDItems] AS SELECT dbo.WhDocD.RowID AS ID, dbo.WhDocH.Fix_WhDocType2_ID, dbo.WhDocH.MDate, dbo.WhDocH.FDate, dbo.WhDocH.RowID AS WhDocHID, dbo.Warehouse.RowName AS Warehouse, dbo.Good.RowName AS GoodName, dbo.Good.RowCode AS GoodCode, { fn IFNULL(dbo.WhDocD.GoodSize, '') } AS GoodSize, COALESCE (CASE WHEN (dbo.WhDocD.InputValue) = 0 THEN (WhDocD.OutputValue) ELSE (WhDocD.InputValue) END, 0) AS Quantity, dbo.WhDocD.UnitPrice, { fn IFNULL(dbo.WhDocD.DiscountPercent, 0) } AS DiscountPercent, { fn IFNULL(dbo.WhDocD.DiscountPrice, 0) } AS DiscountPrice, { fn IFNULL(dbo.WhDocD.TaxPercent, 0) } AS TaxPercent, { fn IFNULL(dbo.WhDocD.TaxPrice, 0) } AS TaxPrice, dbo.WhDocD.TotalPrice, { fn IFNULL(dbo.GoodCategory.RowCode, '') } AS GoodCategoryCode, { fn IFNULL(dbo.GoodCategory.RowName, '') } AS GoodCategoryName, { fn IFNULL(dbo.GoodCategory.FullRowCode, '') } AS GoodCategoryFullCode, { fn IFNULL(dbo.GoodCategory.FullRowName, '') } AS GoodCategoryFullName, { fn IFNULL(dbo.Person.RowCode, '') } AS PersonCode, { fn IFNULL(dbo.Person.RowName, '') } AS PersonName, { fn IFNULL(dbo.PersonCategory.RowName, '') } AS PersonCategory, { fn IFNULL(dbo.Province.RowName, '') } AS Province, { fn IFNULL(dbo.County.RowName, '') } AS County, { fn IFNULL(dbo.City.RowName, '') } AS City, dbo.WhDocD.SerialNumber AS Serial, dbo.WhDocD.RowDesc AS Description, dbo.WhDocH.DocNo, dbo.MeasureUnit.RowName AS MeasureUnit FROM dbo.WhDocD LEFT OUTER JOIN dbo.Good ON dbo.WhDocD.Good_ID = dbo.Good.RowID LEFT OUTER JOIN dbo.GoodCategory ON dbo.Good.GoodCategory_ID = dbo.GoodCategory.RowID INNER JOIN dbo.WhDocH ON dbo.WhDocD.WhDocH_ID = dbo.WhDocH.RowID INNER JOIN dbo.MeasureUnit ON dbo.WhDocD.MeasureUnit_ID = dbo.MeasureUnit.RowID LEFT OUTER JOIN dbo.Person ON dbo.WhDocH.Person_ID = dbo.Person.RowID LEFT OUTER JOIN dbo.PersonCategory ON dbo.Person.PersonCategory_ID = dbo.PersonCategory.RowID LEFT OUTER JOIN dbo.Province ON dbo.Person.Province_ID = dbo.Province.RowID LEFT OUTER JOIN dbo.County ON dbo.Person.County_ID = dbo.County.RowID LEFT OUTER JOIN dbo.City ON dbo.Person.City_ID = dbo.City.RowID LEFT OUTER JOIN dbo.Warehouse ON dbo.WhDocH.Warehouse_ID = dbo.Warehouse.RowID

ALTER TABLE [dbo].[Good] ADD[CostOfGood][money] NULL;

ALTER TABLE [dbo].[WhDocD] ADD[CostOfGood][money] NULL;

ALTER TABLE [dbo].[WhDocH] ADD[FDateWhdoch] char(10) NULL;

ALTER TABLE dbo.AppUserSettings ADD[CofferMergeItemsWeight][bit] NULL;

ALTER TABLE [dbo].[CofferSettlementH] ADD[InsertedBy] [smallint] NULL;

ALTER TABLE [dbo].[CofferSettlementH] ADD[UpdatedBy] [smallint] NULL;

ALTER TABLE [dbo].[CofferSettlementH] ADD[InsertServerDateTime] [datetime] NULL CONSTRAINT [DF_CofferSettlementH_InsertServerDateTime]  DEFAULT (getdate());

ALTER TABLE [dbo].[CofferSettlementH] ADD[UpdateServerDateTime] [datetime] NULL;

ALTER TABLE [dbo].[CofferSettlementH] ADD[RowUpdateVersion] [smallint] NULL CONSTRAINT [DF_CofferSettlementH_RowUpdateVersion]  DEFAULT ((1));

INSERT [dbo].[Fix_AppObject] ([RowID], [Fix_AppObjectType_ID], [RowName], [RowDesc], [UniqueIdentifierValue]) VALUES (8012, 8, N'سایر مجوزها - مجوز ثبت مستقیم کارتخوان در صندوق فروش', NULL, NULL);

INSERT [dbo].[Fix_AppObject] ([RowID], [Fix_AppObjectType_ID], [RowName], [RowDesc], [UniqueIdentifierValue]) VALUES (8013, 8, N'سایر مجوزها - مجوز فروش بدون رسید در صندوق فروش', NULL, NULL);

INSERT [dbo].[Fix_AppObject] ([RowID], [Fix_AppObjectType_ID], [RowName], [RowDesc], [UniqueIdentifierValue]) VALUES (8014, 8, N'سایر مجوزها - مجوز برگشت از فروش در صندوق فروش', NULL, NULL);

ALTER TABLE [dbo].[AppUserSettings] ADD[CofferPosDirectSending][bit] NULL;

ALTER TABLE [dbo].[AppUserSettings] ADD[CofferSalesWithoutReceipts][bit] NULL;

ALTER TABLE [dbo].[AppUserSettings] ADD[CofferReturnSale][bit] NULL;

ALTER TABLE [dbo].[AppUserSettings] ADD[ReturnGood][bit] NULL;

CREATE VIEW [dbo].[WarehouseGoodView] AS SELECT dbo.Good.RowID, dbo.Good.RowName, dbo.Good.RowCode, dbo.Warehouse.RowID AS WarehouseID, dbo.Warehouse.RowName AS WarehouseName, dbo.Good.SalePrice, dbo.Good.Main_MeasureUnit_ID, dbo.MeasureUnit.RowName AS Unit FROM dbo.Warehouse CROSS JOIN dbo.Good INNER JOIN dbo.MeasureUnit ON dbo.Good.Main_MeasureUnit_ID = dbo.MeasureUnit.RowID

CREATE VIEW [dbo].[AllWarehouseQuantityView] AS SELECT dbo.WarehouseGoodView.RowID AS ID, dbo.WarehouseGoodView.RowName AS ProductName, dbo.WarehouseGoodView.RowCode AS ProductBarcode, dbo.WarehouseGoodView.WarehouseID AS Warehouse_ID, dbo.WarehouseGoodView.WarehouseName, { fn IFNULL(dbo.StockView.stock, 0) } AS Quantity, dbo.StockView.FinancialYear_ID, dbo.WarehouseGoodView.SalePrice, dbo.WarehouseGoodView.Unit AS SmallestUnit FROM dbo.WarehouseGoodView LEFT OUTER JOIN dbo.StockView ON dbo.WarehouseGoodView.RowID = dbo.StockView.Good_ID AND dbo.WarehouseGoodView.WarehouseID = dbo.StockView.Warehouse_ID

CREATE TABLE [dbo].[RestaurantTableLocations]([RowID] [int] IDENTITY(1,1) NOT NULL, [RowName] [nvarchar](200) NULL, [RowDesc] [nvarchar](400) NULL, CONSTRAINT [PK_RestaurantTableLocations] PRIMARY KEY CLUSTERED ([RowID] ASC)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]) ON [PRIMARY]

CREATE TABLE [dbo].[RestaurantTables]([RowID] [int] IDENTITY(1,1) NOT NULL, [RowName] [nvarchar](150) NOT NULL, [TableCapacity] [int] NULL, [RowDesc] [nvarchar](400) NULL, [TableLocation_ID] [int] NULL, CONSTRAINT [PK_RestaurantTables] PRIMARY KEY CLUSTERED ([RowID] ASC)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]) ON [PRIMARY]

ALTER TABLE [dbo].[RestaurantTables]  WITH CHECK ADD  CONSTRAINT [FK_RestaurantTables_RestaurantTableLocations] FOREIGN KEY([TableLocation_ID]) REFERENCES [dbo].[RestaurantTableLocations] ([RowID])

ALTER TABLE [dbo].[RestaurantTables] CHECK CONSTRAINT [FK_RestaurantTables_RestaurantTableLocations]

INSERT [dbo].[Fix_AppObject] ([RowID], [Fix_AppObjectType_ID], [RowName], [RowDesc], [UniqueIdentifierValue]) VALUES (1063, 1, N'تعاریف - اطلاعات رستورانی', NULL, NULL);

INSERT [dbo].[Fix_AppObject] ([RowID], [Fix_AppObjectType_ID], [RowName], [RowDesc], [UniqueIdentifierValue]) VALUES (1064, 1, N'تعاریف - اطلاعات رستورانی - مکان‌ها', NULL, NULL);

INSERT [dbo].[Fix_AppObject] ([RowID], [Fix_AppObjectType_ID], [RowName], [RowDesc], [UniqueIdentifierValue]) VALUES (1065, 1, N'تعاریف - اطلاعات رستورانی - میزها', NULL, NULL);

INSERT [dbo].[Fix_AppObject] ([RowID], [Fix_AppObjectType_ID], [RowName], [RowDesc], [UniqueIdentifierValue]) VALUES (5089, 5, N'مجوز افزودن - مکان‌ها (اطلاعات رستورانی)', NULL, NULL);

INSERT [dbo].[Fix_AppObject] ([RowID], [Fix_AppObjectType_ID], [RowName], [RowDesc], [UniqueIdentifierValue]) VALUES (6089, 6, N'مجوز ویرایش - مکان‌ها (اطلاعات رستورانی)', NULL, NULL);

INSERT [dbo].[Fix_AppObject] ([RowID], [Fix_AppObjectType_ID], [RowName], [RowDesc], [UniqueIdentifierValue]) VALUES (7089, 7, N'مجوز حذف - مکان‌ها (اطلاعات رستورانی)', NULL, NULL);

INSERT [dbo].[Fix_AppObject] ([RowID], [Fix_AppObjectType_ID], [RowName], [RowDesc], [UniqueIdentifierValue]) VALUES (5090, 5, N'مجوز افزودن - میز‌ها (اطلاعات رستورانی)', NULL, NULL);

INSERT [dbo].[Fix_AppObject] ([RowID], [Fix_AppObjectType_ID], [RowName], [RowDesc], [UniqueIdentifierValue]) VALUES (6090, 6, N'مجوز ویرایش - میزها (اطلاعات رستورانی)', NULL, NULL);

INSERT [dbo].[Fix_AppObject] ([RowID], [Fix_AppObjectType_ID], [RowName], [RowDesc], [UniqueIdentifierValue]) VALUES (7090, 7, N'مجوز حذف - مبزها (اطلاعات رستورانی)', NULL, NULL);

CREATE TABLE [dbo].[AppSystemSettings]([RowID] [int] IDENTITY(1,1) NOT NULL, [System_ID] [int] NOT NULL, [DefaultPos_ID] [int] NULL, [Printer1] [nvarchar](500) NULL, [Printer2] [nvarchar](500) NULL, CONSTRAINT [PK_AppSystemSettings] PRIMARY KEY CLUSTERED ([RowID] ASC)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]) ON [PRIMARY]

ALTER TABLE [dbo].[AppSystemSettings]  WITH CHECK ADD  CONSTRAINT [FK_AppSystemSettings_POS] FOREIGN KEY([DefaultPos_ID]) REFERENCES [dbo].[POS] ([RowID])

ALTER TABLE [dbo].[AppSystemSettings] CHECK CONSTRAINT [FK_AppSystemSettings_POS]

ALTER TABLE [dbo].[AppSystemSettings]  WITH CHECK ADD  CONSTRAINT [FK_AppSystemSettings_Systems] FOREIGN KEY([System_ID]) REFERENCES [dbo].[Systems] ([RowID])

ALTER TABLE [dbo].[AppSystemSettings] CHECK CONSTRAINT [FK_AppSystemSettings_Systems]

CREATE VIEW [dbo].[GoodChangesPriceView] AS SELECT dbo.ChangePrice.RowID AS ID, dbo.ChangePrice.Good_id AS GoodID, { fn IFNULL(dbo.Good.RowName, '') } AS GoodName, dbo.ChangePrice.oldprice AS OldPrice, dbo.ChangePrice.newprice AS NewPrice, dbo.ChangePrice.Fdate AS FDate, dbo.ChangePrice.Mdate AS MDate, dbo.UserInfo.RowID AS InsertedBy_ID, dbo.UserInfo.RowName AS InsertedBy FROM dbo.ChangePrice LEFT OUTER JOIN dbo.Good ON dbo.ChangePrice.Good_id = dbo.Good.RowID LEFT OUTER JOIN dbo.UserInfo ON dbo.ChangePrice.User_id = dbo.UserInfo.RowID

ALTER TABLE dbo.EhDocH ADD[Coffer_ID][int] NULL;

ALTER TABLE dbo.EhDocH ADD[SettlePrice][money] NULL;

CREATE TABLE [dbo].[EhDocHBankAccount]([RowID] [int] IDENTITY(1,1) NOT NULL, [Branch_ID] [int] NULL, [EhDocH_ID] [int] NOT NULL, [BankAccount_ID] [int] NOT NULL, [SettlePrice] [money] NOT NULL CONSTRAINT [DF_EhDocHBankAccount_SettlePrice]  DEFAULT ((0)), [UniqueIdentifierValue] [uniqueidentifier] NULL, [IsSend] [tinyint] NULL CONSTRAINT [DF_EhDocHBankAccount_IsSend]  DEFAULT ((0)), [POS_ID] [int] NULL, CONSTRAINT [PK_EhDocHBankAccount] PRIMARY KEY CLUSTERED ([RowID] ASC) WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]) ON [PRIMARY]

ALTER TABLE [dbo].[EhDocHBankAccount]  WITH CHECK ADD  CONSTRAINT [FK_EhDocHBankAccount_BankAccount] FOREIGN KEY([BankAccount_ID]) REFERENCES [dbo].[BankAccount] ([RowID])

ALTER TABLE [dbo].[EhDocHBankAccount] CHECK CONSTRAINT [FK_EhDocHBankAccount_BankAccount]

ALTER TABLE [dbo].[EhDocHBankAccount]  WITH CHECK ADD  CONSTRAINT [FK_EhDocHBankAccount_Branch] FOREIGN KEY([Branch_ID]) REFERENCES [dbo].[Branch] ([RowID])

ALTER TABLE [dbo].[EhDocHBankAccount] CHECK CONSTRAINT [FK_EhDocHBankAccount_Branch]

ALTER TABLE [dbo].[EhDocHBankAccount]  WITH CHECK ADD  CONSTRAINT [FK_EhDocHBankAccount_POS] FOREIGN KEY([POS_ID]) REFERENCES [dbo].[POS] ([RowID])

ALTER TABLE [dbo].[EhDocHBankAccount] CHECK CONSTRAINT [FK_EhDocHBankAccount_POS]

ALTER TABLE [dbo].[EhDocHBankAccount]  WITH NOCHECK ADD  CONSTRAINT [FK_EhDocHBankAccount_EhDocH] FOREIGN KEY([EhDocH_ID]) REFERENCES [dbo].[EhDocH] ([RowID]) ON DELETE CASCADE

ALTER TABLE [dbo].[EhDocHBankAccount] NOCHECK CONSTRAINT [FK_EhDocHBankAccount_EhDocH]

CREATE TABLE [dbo].[EhDocHChequePayH]([RowID] [int] IDENTITY(1,1) NOT NULL, [Branch_ID] [int] NULL, [EhDocH_ID] [int] NOT NULL, [ChequePayH_ID] [int] NOT NULL, [UniqueIdentifierValue] [uniqueidentifier] NULL, [IsSend] [tinyint] NULL, CONSTRAINT [PK_EhDocHChequePayH] PRIMARY KEY CLUSTERED ([RowID] ASC)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]) ON [PRIMARY]

ALTER TABLE [dbo].[EhDocHChequePayH] ADD  CONSTRAINT [DF_EhDocHChequePayH_IsSend]  DEFAULT ((0)) FOR [IsSend]

ALTER TABLE [dbo].[EhDocHChequePayH]  WITH CHECK ADD  CONSTRAINT [FK_EhDocHChequePayH_Branch] FOREIGN KEY([Branch_ID]) REFERENCES [dbo].[Branch] ([RowID])

ALTER TABLE [dbo].[EhDocHChequePayH] CHECK CONSTRAINT [FK_EhDocHChequePayH_Branch]

ALTER TABLE [dbo].[EhDocHChequePayH]  WITH CHECK ADD  CONSTRAINT [FK_EhDocHChequePayH_ChequePayH] FOREIGN KEY([ChequePayH_ID]) REFERENCES [dbo].[ChequePayH] ([RowID]) ON DELETE CASCADE

ALTER TABLE [dbo].[EhDocHChequePayH] CHECK CONSTRAINT [FK_EhDocHChequePayH_ChequePayH]

ALTER TABLE [dbo].[EhDocHChequePayH]  WITH NOCHECK ADD  CONSTRAINT [FK_EhDocHChequePayH_EhDocH] FOREIGN KEY([EhDocH_ID]) REFERENCES [dbo].[EhDocH] ([RowID]) ON DELETE CASCADE

ALTER TABLE [dbo].[EhDocHChequePayH] NOCHECK CONSTRAINT [FK_EhDocHChequePayH_EhDocH]

CREATE TABLE [dbo].[EhDocHChequeRecH]([RowID] [int] IDENTITY(1,1) NOT NULL, [Branch_ID] [int] NULL, [EhDocH_ID] [int] NOT NULL, [ChequeRecH_ID] [int] NOT NULL, [ChequeRecD_ID] [int] NULL, [UniqueIdentifierValue] [uniqueidentifier] NULL, [IsSend] [tinyint] NULL, CONSTRAINT [PK_EhDocHChequeRecH] PRIMARY KEY CLUSTERED ([RowID] ASC)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]) ON [PRIMARY]

ALTER TABLE [dbo].[EhDocHChequeRecH] ADD  CONSTRAINT [DF_EhDocHChequeRecH_IsSend]  DEFAULT ((0)) FOR [IsSend]

ALTER TABLE [dbo].[EhDocHChequeRecH]  WITH CHECK ADD  CONSTRAINT [FK_EhDocHChequeRecH_Branch] FOREIGN KEY([Branch_ID]) REFERENCES [dbo].[Branch] ([RowID])

ALTER TABLE [dbo].[EhDocHChequeRecH] CHECK CONSTRAINT [FK_EhDocHChequeRecH_Branch]

ALTER TABLE [dbo].[EhDocHChequeRecH]  WITH CHECK ADD  CONSTRAINT [FK_EhDocHChequeRecH_ChequeRecD] FOREIGN KEY([ChequeRecD_ID]) REFERENCES [dbo].[ChequeRecD] ([RowID]) ON DELETE CASCADE

ALTER TABLE [dbo].[EhDocHChequeRecH] CHECK CONSTRAINT [FK_EhDocHChequeRecH_ChequeRecD]

ALTER TABLE [dbo].[EhDocHChequeRecH]  WITH CHECK ADD  CONSTRAINT [FK_EhDocHChequeRecH_ChequeRecH] FOREIGN KEY([ChequeRecH_ID]) REFERENCES [dbo].[ChequeRecH] ([RowID]) ON DELETE CASCADE

ALTER TABLE [dbo].[EhDocHChequeRecH] CHECK CONSTRAINT [FK_EhDocHChequeRecH_ChequeRecH]

ALTER TABLE [dbo].[EhDocHChequeRecH]  WITH NOCHECK ADD  CONSTRAINT [FK_EhDocHChequeRecH_EhDocH] FOREIGN KEY([EhDocH_ID]) REFERENCES [dbo].[EhDocH] ([RowID]) ON DELETE CASCADE

ALTER TABLE [dbo].[EhDocHChequeRecH] NOCHECK CONSTRAINT [FK_EhDocHChequeRecH_EhDocH]

ALTER TABLE [dbo].[POS_Result] ADD[EhDocHBankAccount_ID][int] NULL;

CREATE TABLE [dbo].[Fix_DeliveryType]([RowID] [tinyint] NOT NULL, [RowName] [nvarchar](100) NOT NULL, [RowDesc] [nvarchar](500) NULL, CONSTRAINT [PK_Fix_DeliveryType] PRIMARY KEY CLUSTERED ([RowID] ASC)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]) ON [PRIMARY]

INSERT [dbo].[Fix_DeliveryType] ([RowID], [RowName], [RowDesc]) VALUES (1, N'حضوری', NULL)

INSERT [dbo].[Fix_DeliveryType] ([RowID], [RowName], [RowDesc]) VALUES (2, N'بیرون‌بر', NULL)

ALTER TABLE [dbo].[WhDocH] ADD[Table_ID][int] NULL;

ALTER TABLE [dbo].[WhDocH] ADD[DeliveryType_ID][tinyint] NULL;

ALTER TABLE [dbo].[WhDocH]  WITH NOCHECK ADD  CONSTRAINT [FK_WhDocH_Fix_DeliveryType] FOREIGN KEY([DeliveryType_ID]) REFERENCES [dbo].[Fix_DeliveryType] ([RowID])

ALTER TABLE [dbo].[WhDocH] NOCHECK CONSTRAINT [FK_WhDocH_Fix_DeliveryType]

ALTER TABLE [dbo].[WhDocH]  WITH NOCHECK ADD  CONSTRAINT [FK_WhDocH_RestaurantTables] FOREIGN KEY([Table_ID]) REFERENCES [dbo].[RestaurantTables] ([RowID])

ALTER TABLE [dbo].[WhDocH] NOCHECK CONSTRAINT [FK_WhDocH_RestaurantTables]

ALTER TABLE [dbo].[Systems] ADD[ActivationCode] [nvarchar](200) NULL;

INSERT [dbo].[Fix_Acc1] ([RowID], [RowName], [RowDesc], [UniqueIdentifierValue], [DefinedBySystem]) VALUES (14, N'اموال', NULL, NULL, 1)

INSERT [dbo].[Fix_Acc1] ([RowID], [RowName], [RowDesc], [UniqueIdentifierValue], [DefinedBySystem]) VALUES (19, N'تسهیلات پرداختی', NULL, NULL, 1)

INSERT [dbo].[Fix_Acc1] ([RowID], [RowName], [RowDesc], [UniqueIdentifierValue], [DefinedBySystem]) VALUES (20, N'سود وام', NULL, NULL, 1)

INSERT [dbo].[Fix_Acc2Type] ([RowID], [RowName], [RowCode], [RowDesc], [UniqueIdentifierValue], [DefinedBySystem], [Fix_Acc1_ID]) VALUES (16, N'تسهیلات پرداختی', NULL, NULL, NULL, 19, NULL)

INSERT [dbo].[Fix_Acc2Type] ([RowID], [RowName], [RowCode], [RowDesc], [UniqueIdentifierValue], [DefinedBySystem], [Fix_Acc1_ID]) VALUES (17, N' سود وام پرداختی', NULL, NULL, NULL, 10, NULL)

INSERT [dbo].[Fix_Acc2Type] ([RowID], [RowName], [RowCode], [RowDesc], [UniqueIdentifierValue], [DefinedBySystem], [Fix_Acc1_ID]) VALUES (10, N'اموال', NULL, NULL, NULL, 1, NULL)

ALTER TABLE [dbo].[Fix_Acc3] ADD[RowCode] [nchar](10) NULL;

ALTER TABLE [dbo].[Good] ADD[MultipleSalePrice] [bit] NULL;

ALTER TABLE [dbo].[TR_ChequePrintPattern] ADD[PrintFile] [image] NULL;

CREATE TABLE [dbo].[DiscountGroupBranch]([RowID] [int] IDENTITY(1,1) NOT NULL, [RowName] [nvarchar](150) NOT NULL, [Branch_ID] [int] NOT NULL, [IsActive] [bit] NOT NULL, [RowDesc] [nvarchar](500) NULL, [UniqueIdentifierValue] [uniqueidentifier] NULL, [IsSend] [tinyint] NULL, CONSTRAINT [PK_DiscountGroupBranch] PRIMARY KEY CLUSTERED ([RowID] ASC)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]) ON [PRIMARY]

ALTER TABLE [dbo].[DiscountGroupBranch]  WITH CHECK ADD  CONSTRAINT [FK_DiscountGroupBranch_Branch] FOREIGN KEY([Branch_ID]) REFERENCES [dbo].[Branch] ([RowID])

ALTER TABLE [dbo].[DiscountGroupBranch] CHECK CONSTRAINT [FK_DiscountGroupBranch_Branch]

CREATE TABLE [dbo].[DiscountGroupBranchGoods]([RowID] [int] IDENTITY(1,1) NOT NULL, [GoodID] [int] NOT NULL, [DiscountPercent] [float] NULL, [DiscountPrice] [money] NULL, [DiscountGroupBranch_ID] [int] NOT NULL, CONSTRAINT [PK_DiscountGroupBranchGoods] PRIMARY KEY CLUSTERED ([RowID] ASC)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]) ON [PRIMARY]

ALTER TABLE [dbo].[DiscountGroupBranchGoods]  WITH CHECK ADD  CONSTRAINT [FK_DiscountGroupBranchGoods_DiscountGroupBranch] FOREIGN KEY([DiscountGroupBranch_ID]) REFERENCES [dbo].[DiscountGroupBranch] ([RowID])

ALTER TABLE [dbo].[DiscountGroupBranchGoods] CHECK CONSTRAINT [FK_DiscountGroupBranchGoods_DiscountGroupBranch]

CREATE VIEW [dbo].[EstateStockView] AS SELECT SUM(dbo.EhDocD.CalculatedInputValue) - SUM(dbo.EhDocD.CalculatedOutputValue) AS Stock, dbo.EhDocD.Estate_ID, dbo.EhDocD.FinancialYear_ID, dbo.EhDocH.EstateLocation_ID FROM dbo.EhDocD INNER JOIN dbo.EhDocH ON dbo.EhDocD.EhDocH_ID = dbo.EhDocH.RowID GROUP BY dbo.EhDocD.Estate_ID, dbo.EhDocD.FinancialYear_ID, dbo.EhDocH.EstateLocation_ID

CREATE VIEW [dbo].[EstateLocationView] AS SELECT dbo.Estate.RowID AS EstateID, dbo.Estate.RowName AS EstateName, dbo.Estate.RowCode AS EstateRowCode, dbo.EstateLocation.RowID AS EstateLocationID, dbo.EstateLocation.RowName AS EstateLocationName, dbo.MeasureUnit.RowID AS UnitID, dbo.MeasureUnit.RowName AS Unit FROM dbo.EstateLocation CROSS JOIN dbo.Estate INNER JOIN dbo.MeasureUnit ON dbo.Estate.MeasureUnit_ID = dbo.MeasureUnit.RowID

CREATE VIEW [dbo].[AllEstateLocationView] AS SELECT dbo.EstateLocationView.EstateID, dbo.EstateLocationView.EstateName, dbo.EstateLocationView.EstateRowCode, dbo.EstateLocationView.EstateLocationID, dbo.EstateLocationView.EstateLocationName, dbo.EstateLocationView.UnitID, dbo.EstateLocationView.Unit, dbo.EstateStockView.FinancialYear_ID, { fn IFNULL(dbo.EstateStockView.Stock, 0) } AS Quantity FROM dbo.EstateLocationView LEFT OUTER JOIN dbo.EstateStockView ON dbo.EstateLocationView.EstateID = dbo.EstateStockView.Estate_ID AND dbo.EstateLocationView.EstateLocationID = dbo.EstateStockView.EstateLocation_ID

CREATE VIEW [dbo].[EstateCardexView] AS SELECT [EhDocD].[Estate_ID], [FDate], [MDate], [DocNo], [EhDocH].[RowID] AS EhDocHID, [Fix_EhDocType].[RowName] AS EhDocHType, [Fix_EhDocType].[RowID] AS EhDocHTypeID, [CalculatedInputValue], [CalculatedOutputValue], [EhDocH].[FinancialYear_ID] AS FinancialYearID, [MeasureUnit].[RowName] AS Unit, [EhDocH].[EstateLocation_ID] FROM dbo.EhDocD INNER JOIN dbo.EhDocH ON dbo.EhDocH.RowID = dbo.EhDocD.EhDocH_ID INNER JOIN dbo.Fix_EhDocType ON dbo.Fix_EhDocType.RowID = dbo.EhDocH.Fix_EhDocType_ID INNER JOIN dbo.Estate ON dbo.Estate.RowID = dbo.EhDocD.Estate_ID INNER JOIN dbo.MeasureUnit ON dbo.MeasureUnit.RowID = dbo.Estate.MeasureUnit_ID

INSERT INTO Fix_AppObject ([RowID], [Fix_AppObjectType_ID], [RowName]) VALUES (1066, 1, N'تعاریف - کالاها و خدمات - گروه تخفیف شعب')

INSERT INTO Fix_AppObject ([RowID], [Fix_AppObjectType_ID], [RowName]) VALUES (5091, 5, N'مجوز افزودن - گروه تخفیف شعب')

INSERT INTO Fix_AppObject ([RowID], [Fix_AppObjectType_ID], [RowName]) VALUES (6091, 6, N'مجوز ویرایش - گروه تخفیف شعب')

INSERT INTO Fix_AppObject ([RowID], [Fix_AppObjectType_ID], [RowName]) VALUES (7091, 7, N'مجوز حذف - گروه تخفیف شعب')

INSERT INTO Fix_AppObject ([RowID], [Fix_AppObjectType_ID], [RowName]) VALUES (3051, 3, N'گزارش‌ها - گزارشات - موجودی اموال')

INSERT INTO Fix_AppObject ([RowID], [Fix_AppObjectType_ID], [RowName]) VALUES (3052, 3, N'گزارش‌ها - گزارشات - پرونده اموال')

DROP VIEW GoodView

CREATE VIEW [dbo].[GoodView] AS SELECT dbo.Good.RowID AS ID, dbo.Good.RowName AS ProductName, dbo.Good.RowCode AS ProductBarcode, dbo.Good.PurchasePrice, dbo.Good.SalePrice, dbo.Good.InterestRate, dbo.Good.ConsumerPrice, dbo.Good.OrderPoint, { fn IFNULL(dbo.Good.RowNameEN, '') } AS LatinProductName, { fn IFNULL(dbo.Good.RowNameAlias, '') } AS ProductNickName, dbo.Good.FirstStock, dbo.Good.DiscountPrice, dbo.Good.FDate AS DateInsert, dbo.Good.RowDesc AS Description, dbo.Good.IsHasSize, dbo.Good.IsActive, dbo.Good.MDate, dbo.Good.Fix_GoodType_ID, dbo.Good.RowCode, dbo.Good.MaxCount, dbo.Good.GoodCategory_ID AS GoodCategoryID, dbo.MeasureUnit.RowName AS SmallestUnit, MeasureUnit_1.RowName AS DefaultUnit, { fn IFNULL(dbo.DiscountGroupGood.RowName, '') } AS DiscountGroupGood, { fn IFNULL(dbo.TaxGroupGood.RowName, '') } AS TaxGroupGood, { fn IFNULL(dbo.GoodCategory.RowName, '') } AS CategoryName, dbo.Good.Reversion, { fn IFNULL(dbo.Good.MultipleSalePrice, 0) } AS MultipleSalePrice FROM dbo.Good INNER JOIN dbo.MeasureUnit ON dbo.Good.Main_MeasureUnit_ID = dbo.MeasureUnit.RowID INNER JOIN dbo.MeasureUnit AS MeasureUnit_1 ON dbo.Good.Default_MeasureUnit_ID = MeasureUnit_1.RowID LEFT OUTER JOIN dbo.DiscountGroupGood ON dbo.Good.DiscountGroupGood_ID = dbo.DiscountGroupGood.RowID LEFT OUTER JOIN dbo.TaxGroupGood ON dbo.Good.TaxGroupGood_ID = dbo.TaxGroupGood.RowID LEFT OUTER JOIN dbo.GoodCategory ON dbo.Good.GoodCategory_ID = dbo.GoodCategory.RowID

INSERT [dbo].[Fix_Reports] ([RowID], [RowName], [ReportFile], [RowDesc], [UniqueIdentifierValue], [sectionid], [reportstring], [Branch_id]) VALUES (37, N'رسید باز کردن صندوق', 0xEFBBBF3C3F786D6C2076657273696F6E3D22312E302220656E636F64696E673D227574662D3822207374616E64616C6F6E653D22796573223F3E0D0A3C53746953657269616C697A65722076657273696F6E3D22312E30322220747970653D224E657422206170706C69636174696F6E3D225374695265706F7274223E0D0A20203C44696374696F6E617279205265663D22312220747970653D2244696374696F6E617279222069734B65793D2274727565223E0D0A202020203C427573696E6573734F626A656374732069734C6973743D22747275652220636F756E743D223022202F3E0D0A202020203C4461746162617365732069734C6973743D22747275652220636F756E743D223022202F3E0D0A202020203C44617461536F75726365732069734C6973743D22747275652220636F756E743D2232223E0D0A2020202020203C696E766F696365686561646572205265663D22322220747970653D225374696D756C736F66742E5265706F72742E44696374696F6E6172792E537469427573696E6573734F626A656374536F75726365222069734B65793D2274727565223E0D0A20202020202020203C416C6961733E696E766F6963656865616465723C2F416C6961733E0D0A20202020202020203C436F6C756D6E732069734C6973743D22747275652220636F756E743D223337223E0D0A202020202020202020203C76616C75653E476F6F6449642C53797374656D2E496E7436343C2F76616C75653E0D0A202020202020202020203C76616C75653E476F6F6443617465676F72792C53797374656D2E537472696E673C2F76616C75653E0D0A202020202020202020203C76616C75653E4D61696E5F4D656173757265556E69742C53797374656D2E537472696E673C2F76616C75653E0D0A202020202020202020203C76616C75653E44656661756C745F4D656173757265556E69742C53797374656D2E537472696E673C2F76616C75653E0D0A202020202020202020203C76616C75653E446973636F756E7447726F7570476F6F642C53797374656D2E537472696E673C2F76616C75653E0D0A202020202020202020203C76616C75653E54617847726F7570476F6F642C53797374656D2E537472696E673C2F76616C75653E0D0A202020202020202020203C76616C75653E426172636F64652C53797374656D2E537472696E673C2F76616C75653E0D0A202020202020202020203C76616C75653E4E616D652C53797374656D2E537472696E673C2F76616C75653E0D0A202020202020202020203C76616C75653E4E616D65454E2C53797374656D2E537472696E673C2F76616C75653E0D0A202020202020202020203C76616C75653E507572636861736550726963652C53797374656D2E446563696D616C3C2F76616C75653E0D0A202020202020202020203C76616C75653E53616C6550726963652C53797374656D2E446563696D616C3C2F76616C75653E0D0A202020202020202020203C76616C75653E4F72646572506F696E742C53797374656D2E446F75626C653C2F76616C75653E0D0A202020202020202020203C76616C75653E466972737453746F636B2C53797374656D2E446F75626C653C2F76616C75653E0D0A202020202020202020203C76616C75653E446973636F756E7450726963652C53797374656D2E446563696D616C3C2F76616C75653E0D0A202020202020202020203C76616C75653E49734163746976652C53797374656D2E426F6F6C65616E3C2F76616C75653E0D0A202020202020202020203C76616C75653E526F77446573632C53797374656D2E537472696E673C2F76616C75653E0D0A202020202020202020203C76616C75653E496E73657274656442792C53797374656D2E496E7431363C2F76616C75653E0D0A202020202020202020203C76616C75653E5570646174656442792C53797374656D2E496E7431363C2F76616C75653E0D0A202020202020202020203C76616C75653E4644617465496E736572742C53797374656D2E537472696E673C2F76616C75653E0D0A202020202020202020203C76616C75653E46446174655570646174652C53797374656D2E537472696E673C2F76616C75653E0D0A202020202020202020203C76616C75653E4654696D65496E736572742C53797374656D2E537472696E673C2F76616C75653E0D0A202020202020202020203C76616C75653E4654696D655570646174652C53797374656D2E537472696E673C2F76616C75653E0D0A202020202020202020203C76616C75653E496E736572745365727665724461746554696D652C53797374656D2E4461746554696D653C2F76616C75653E0D0A202020202020202020203C76616C75653E5570646174655365727665724461746554696D652C53797374656D2E4461746554696D653C2F76616C75653E0D0A202020202020202020203C76616C75653E526F7755706461746556657273696F6E2C53797374656D2E496E7431363C2F76616C75653E0D0A202020202020202020203C76616C75653E50757263686173655072696365417665726167652C53797374656D2E446563696D616C3C2F76616C75653E0D0A202020202020202020203C76616C75653E497348617353697A652C53797374656D2E426F6F6C65616E3C2F76616C75653E0D0A202020202020202020203C76616C75653E46446174652C53797374656D2E537472696E673C2F76616C75653E0D0A202020202020202020203C76616C75653E4D446174652C53797374656D2E4461746554696D653C2F76616C75653E0D0A202020202020202020203C76616C75653E476F6F644E616D65496E646578496E5072696E74496E766F6963652C53797374656D2E496E7431363C2F76616C75653E0D0A202020202020202020203C76616C75653E436F6E73756D657250726963652C53797374656D2E446563696D616C3C2F76616C75653E0D0A202020202020202020203C76616C75653E496E746572657374526174652C53797374656D2E446F75626C653C2F76616C75653E0D0A202020202020202020203C76616C75653E42726965664465736372697074696F6E2C53797374656D2E537472696E673C2F76616C75653E0D0A202020202020202020203C76616C75653E46756C6C4465736372697074696F6E2C53797374656D2E537472696E673C2F76616C75653E0D0A202020202020202020203C76616C75653E49735370656369616C53616C652C53797374656D2E426F6F6C65616E3C2F76616C75653E0D0A202020202020202020203C76616C75653E5F49442C53797374656D2E496E7433323C2F76616C75653E0D0A202020202020202020203C76616C75653E5F43757272656E742C53797374656D2E4F626A6563743C2F76616C75653E0D0A20202020202020203C2F436F6C756D6E733E0D0A20202020202020203C44696374696F6E6172792069735265663D223122202F3E0D0A20202020202020203C4973436C6F75643E46616C73653C2F4973436C6F75643E0D0A20202020202020203C4E616D653E696E766F6963656865616465723C2F4E616D653E0D0A20202020202020203C4E616D65496E536F757263653E696E766F6963656865616465723C2F4E616D65496E536F757263653E0D0A2020202020203C2F696E766F6963656865616465723E0D0A2020202020203C737562696E766F696365205265663D22332220747970653D225374696D756C736F66742E5265706F72742E44696374696F6E6172792E537469427573696E6573734F626A656374536F75726365222069734B65793D2274727565223E0D0A20202020202020203C416C6961733E737562696E766F6963653C2F416C6961733E0D0A20202020202020203C436F6C756D6E732069734C6973743D22747275652220636F756E743D223238223E0D0A202020202020202020203C76616C75653E526F7749442C53797374656D2E496E7433323C2F76616C75653E0D0A202020202020202020203C76616C75653E4272616E63685F49442C53797374656D2E496E7433323C2F76616C75653E0D0A202020202020202020203C76616C75653E46696E616E6369616C596561725F49442C53797374656D2E496E7431363C2F76616C75653E0D0A202020202020202020203C76616C75653E5768446F63485F49442C53797374656D2E496E7433323C2F76616C75653E0D0A202020202020202020203C76616C75653E476F6F645F49442C53797374656D2E496E7433323C2F76616C75653E0D0A202020202020202020203C76616C75653E476F6F642C53797374656D2E537472696E673C2F76616C75653E0D0A202020202020202020203C76616C75653E4D656173757265556E69742C53797374656D2E537472696E673C2F76616C75653E0D0A202020202020202020203C76616C75653E4D61696E5F4D656173757265556E69742C53797374656D2E537472696E673C2F76616C75653E0D0A202020202020202020203C76616C75653E4669785F446973636F756E74547970655F49442C53797374656D2E427974653C2F76616C75653E0D0A202020202020202020203C76616C75653E56616C7565732C53797374656D2E446F75626C653C2F76616C75653E0D0A202020202020202020203C76616C75653E556E697450726963652C53797374656D2E446563696D616C3C2F76616C75653E0D0A202020202020202020203C76616C75653E546F74616C50726963652C53797374656D2E446563696D616C3C2F76616C75653E0D0A202020202020202020203C76616C75653E5175616E74697479496E556E697450726963652C53797374656D2E446563696D616C3C2F76616C75653E0D0A202020202020202020203C76616C75653E446973636F756E7450657263656E742C53797374656D2E446F75626C653C2F76616C75653E0D0A202020202020202020203C76616C75653E446973636F756E7450726963652C53797374656D2E446563696D616C3C2F76616C75653E0D0A202020202020202020203C76616C75653E5075726368617365556E697450726963652C53797374656D2E446563696D616C3C2F76616C75653E0D0A202020202020202020203C76616C75653E5075726368617365546F74616C50726963652C53797374656D2E446563696D616C3C2F76616C75653E0D0A202020202020202020203C76616C75653E54617850657263656E742C53797374656D2E446F75626C653C2F76616C75653E0D0A202020202020202020203C76616C75653E54617850726963652C53797374656D2E446563696D616C3C2F76616C75653E0D0A202020202020202020203C76616C75653E53616C65556E697450726963652C53797374656D2E446563696D616C3C2F76616C75653E0D0A202020202020202020203C76616C75653E526F77446573632C53797374656D2E537472696E673C2F76616C75653E0D0A202020202020202020203C76616C75653E5075726368617365546F74616C5072696365417665726167652C53797374656D2E446563696D616C3C2F76616C75653E0D0A202020202020202020203C76616C75653E476F6F6453697A652C53797374656D2E537472696E673C2F76616C75653E0D0A202020202020202020203C76616C75653E436F6E73756D657250726963652C53797374656D2E446563696D616C3C2F76616C75653E0D0A202020202020202020203C76616C75653E53756D436F6E73756D657250726963652C53797374656D2E446563696D616C3C2F76616C75653E0D0A202020202020202020203C76616C75653E50726F666F726D61485F49442C53797374656D2E496E7433323C2F76616C75653E0D0A202020202020202020203C76616C75653E5F49442C53797374656D2E496E7433323C2F76616C75653E0D0A202020202020202020203C76616C75653E5F43757272656E742C53797374656D2E4F626A6563743C2F76616C75653E0D0A20202020202020203C2F436F6C756D6E733E0D0A20202020202020203C44696374696F6E6172792069735265663D223122202F3E0D0A20202020202020203C4973436C6F75643E46616C73653C2F4973436C6F75643E0D0A20202020202020203C4E616D653E737562696E766F6963653C2F4E616D653E0D0A20202020202020203C4E616D65496E536F757263653E737562696E766F6963653C2F4E616D65496E536F757263653E0D0A2020202020203C2F737562696E766F6963653E0D0A202020203C2F44617461536F75726365733E0D0A202020203C52656C6174696F6E732069734C6973743D22747275652220636F756E743D223022202F3E0D0A202020203C5265706F72742069735265663D223022202F3E0D0A202020203C5661726961626C65732069734C6973743D22747275652220636F756E743D2234223E0D0A2020202020203C76616C75653E2C54696D652C54696D652C53797374656D2E537472696E672C2C46616C73652C46616C73653C2F76616C75653E0D0A2020202020203C76616C75653E2C446174652C446174652C53797374656D2E537472696E672C2C46616C73652C46616C73653C2F76616C75653E0D0A2020202020203C76616C75653E2C436173686965724E616D652C436173686965724E616D652C53797374656D2E537472696E672C2C46616C73652C46616C73653C2F76616C75653E0D0A2020202020203C76616C75653E2C53797374656D4E616D652C53797374656D4E616D652C53797374656D2E537472696E672C2C46616C73652C46616C73653C2F76616C75653E0D0A202020203C2F5661726961626C65733E0D0A20203C2F44696374696F6E6172793E0D0A20203C456E67696E6556657273696F6E3E456E67696E6556323C2F456E67696E6556657273696F6E3E0D0A20203C476C6F62616C697A6174696F6E537472696E67732069734C6973743D22747275652220636F756E743D223022202F3E0D0A20203C4D657461546167732069734C6973743D22747275652220636F756E743D223022202F3E0D0A20203C50616765732069734C6973743D22747275652220636F756E743D2231223E0D0A202020203C5061676531205265663D22342220747970653D2250616765222069734B65793D2274727565223E0D0A2020202020203C426F726465723E4E6F6E653B426C61636B3B323B536F6C69643B46616C73653B343B426C61636B3C2F426F726465723E0D0A2020202020203C42727573683E5472616E73706172656E743C2F42727573683E0D0A2020202020203C436F6D706F6E656E74732069734C6973743D22747275652220636F756E743D2239223E0D0A20202020202020203C5465787431205265663D22352220747970653D2254657874222069734B65793D2274727565223E0D0A202020202020202020203C426F726465723E416C6C3B426C61636B3B313B536F6C69643B46616C73653B343B426C61636B3C2F426F726465723E0D0A202020202020202020203C42727573683E5472616E73706172656E743C2F42727573683E0D0A202020202020202020203C436C69656E7452656374616E676C653E302E332C322E322C312E362C302E353C2F436C69656E7452656374616E676C653E0D0A202020202020202020203C436F6E646974696F6E732069734C6973743D22747275652220636F756E743D223022202F3E0D0A202020202020202020203C466F6E743E417269616C2C31363C2F466F6E743E0D0A202020202020202020203C486F72416C69676E6D656E743E43656E7465723C2F486F72416C69676E6D656E743E0D0A202020202020202020203C4D617267696E733E302C302C302C303C2F4D617267696E733E0D0A202020202020202020203C4E616D653E54657874313C2F4E616D653E0D0A202020202020202020203C506167652069735265663D223422202F3E0D0A202020202020202020203C506172656E742069735265663D223422202F3E0D0A202020202020202020203C546578743E7B54696D657D3C2F546578743E0D0A202020202020202020203C5465787442727573683E426C61636B3C2F5465787442727573683E0D0A202020202020202020203C547970653E45787072657373696F6E3C2F547970653E0D0A202020202020202020203C56657274416C69676E6D656E743E43656E7465723C2F56657274416C69676E6D656E743E0D0A20202020202020203C2F54657874313E0D0A20202020202020203C5465787432205265663D22362220747970653D2254657874222069734B65793D2274727565223E0D0A202020202020202020203C426F726465723E416C6C3B426C61636B3B313B536F6C69643B46616C73653B343B426C61636B3C2F426F726465723E0D0A202020202020202020203C42727573683E5472616E73706172656E743C2F42727573683E0D0A202020202020202020203C436C69656E7452656374616E676C653E312E392C322E322C312E392C302E353C2F436C69656E7452656374616E676C653E0D0A202020202020202020203C436F6E646974696F6E732069734C6973743D22747275652220636F756E743D223022202F3E0D0A202020202020202020203C466F6E743E417269616C2C31363C2F466F6E743E0D0A202020202020202020203C486F72416C69676E6D656E743E43656E7465723C2F486F72416C69676E6D656E743E0D0A202020202020202020203C4D617267696E733E302C302C302C303C2F4D617267696E733E0D0A202020202020202020203C4E616D653E54657874323C2F4E616D653E0D0A202020202020202020203C506167652069735265663D223422202F3E0D0A202020202020202020203C506172656E742069735265663D223422202F3E0D0A202020202020202020203C546578743E7B446174657D3C2F546578743E0D0A202020202020202020203C5465787442727573683E426C61636B3C2F5465787442727573683E0D0A202020202020202020203C547970653E45787072657373696F6E3C2F547970653E0D0A202020202020202020203C56657274416C69676E6D656E743E43656E7465723C2F56657274416C69676E6D656E743E0D0A20202020202020203C2F54657874323E0D0A20202020202020203C5465787433205265663D22372220747970653D2254657874222069734B65793D2274727565223E0D0A202020202020202020203C426F726465723E416C6C3B426C61636B3B313B536F6C69643B46616C73653B343B426C61636B3C2F426F726465723E0D0A202020202020202020203C42727573683E5472616E73706172656E743C2F42727573683E0D0A202020202020202020203C436C69656E7452656374616E676C653E352E362C322E322C312E392C302E353C2F436C69656E7452656374616E676C653E0D0A202020202020202020203C436F6E646974696F6E732069734C6973743D22747275652220636F756E743D223022202F3E0D0A202020202020202020203C466F6E743E417269616C2C31363C2F466F6E743E0D0A202020202020202020203C486F72416C69676E6D656E743E43656E7465723C2F486F72416C69676E6D656E743E0D0A202020202020202020203C4D617267696E733E302C302C302C303C2F4D617267696E733E0D0A202020202020202020203C4E616D653E54657874333C2F4E616D653E0D0A202020202020202020203C506167652069735265663D223422202F3E0D0A202020202020202020203C506172656E742069735265663D223422202F3E0D0A202020202020202020203C546578743E7B436173686965724E616D657D3C2F546578743E0D0A202020202020202020203C5465787442727573683E426C61636B3C2F5465787442727573683E0D0A202020202020202020203C547970653E45787072657373696F6E3C2F547970653E0D0A202020202020202020203C56657274416C69676E6D656E743E43656E7465723C2F56657274416C69676E6D656E743E0D0A20202020202020203C2F54657874333E0D0A20202020202020203C5465787434205265663D22382220747970653D2254657874222069734B65793D2274727565223E0D0A202020202020202020203C426F726465723E416C6C3B426C61636B3B313B536F6C69643B46616C73653B343B426C61636B3C2F426F726465723E0D0A202020202020202020203C42727573683E5472616E73706172656E743C2F42727573683E0D0A202020202020202020203C436C69656E7452656374616E676C653E332E382C322E322C312E382C302E353C2F436C69656E7452656374616E676C653E0D0A202020202020202020203C436F6E646974696F6E732069734C6973743D22747275652220636F756E743D223022202F3E0D0A202020202020202020203C466F6E743E417269616C2C31363C2F466F6E743E0D0A202020202020202020203C486F72416C69676E6D656E743E43656E7465723C2F486F72416C69676E6D656E743E0D0A202020202020202020203C4D617267696E733E302C302C302C303C2F4D617267696E733E0D0A202020202020202020203C4E616D653E54657874343C2F4E616D653E0D0A202020202020202020203C506167652069735265663D223422202F3E0D0A202020202020202020203C506172656E742069735265663D223422202F3E0D0A202020202020202020203C546578743E7B53797374656D4E616D657D3C2F546578743E0D0A202020202020202020203C5465787442727573683E426C61636B3C2F5465787442727573683E0D0A202020202020202020203C547970653E45787072657373696F6E3C2F547970653E0D0A202020202020202020203C56657274416C69676E6D656E743E43656E7465723C2F56657274416C69676E6D656E743E0D0A20202020202020203C2F54657874343E0D0A20202020202020203C5465787435205265663D22392220747970653D2254657874222069734B65793D2274727565223E0D0A202020202020202020203C426F726465723E416C6C3B426C61636B3B313B536F6C69643B46616C73653B343B426C61636B3C2F426F726465723E0D0A202020202020202020203C42727573683E5472616E73706172656E743C2F42727573683E0D0A202020202020202020203C436C69656E7452656374616E676C653E302E332C312E362C312E362C302E353C2F436C69656E7452656374616E676C653E0D0A202020202020202020203C436F6E646974696F6E732069734C6973743D22747275652220636F756E743D223022202F3E0D0A202020202020202020203C466F6E743E417269616C2C31362C426F6C643C2F466F6E743E0D0A202020202020202020203C486F72416C69676E6D656E743E43656E7465723C2F486F72416C69676E6D656E743E0D0A202020202020202020203C4D617267696E733E302C302C302C303C2F4D617267696E733E0D0A202020202020202020203C4E616D653E54657874353C2F4E616D653E0D0A202020202020202020203C506167652069735265663D223422202F3E0D0A202020202020202020203C506172656E742069735265663D223422202F3E0D0A202020202020202020203C546578743ED8B3D8A7D8B9D8AA3C2F546578743E0D0A202020202020202020203C5465787442727573683E426C61636B3C2F5465787442727573683E0D0A202020202020202020203C547970653E45787072657373696F6E3C2F547970653E0D0A202020202020202020203C56657274416C69676E6D656E743E43656E7465723C2F56657274416C69676E6D656E743E0D0A20202020202020203C2F54657874353E0D0A20202020202020203C5465787436205265663D2231302220747970653D2254657874222069734B65793D2274727565223E0D0A202020202020202020203C426F726465723E416C6C3B426C61636B3B313B536F6C69643B46616C73653B343B426C61636B3C2F426F726465723E0D0A202020202020202020203C42727573683E5472616E73706172656E743C2F42727573683E0D0A202020202020202020203C436C69656E7452656374616E676C653E312E392C312E362C312E392C302E353C2F436C69656E7452656374616E676C653E0D0A202020202020202020203C436F6E646974696F6E732069734C6973743D22747275652220636F756E743D223022202F3E0D0A202020202020202020203C466F6E743E417269616C2C31362C426F6C643C2F466F6E743E0D0A202020202020202020203C486F72416C69676E6D656E743E43656E7465723C2F486F72416C69676E6D656E743E0D0A202020202020202020203C4D617267696E733E302C302C302C303C2F4D617267696E733E0D0A202020202020202020203C4E616D653E54657874363C2F4E616D653E0D0A202020202020202020203C506167652069735265663D223422202F3E0D0A202020202020202020203C506172656E742069735265663D223422202F3E0D0A202020202020202020203C546578743ED8AAD8A7D8B1DB8CD8AE3C2F546578743E0D0A202020202020202020203C5465787442727573683E426C61636B3C2F5465787442727573683E0D0A202020202020202020203C547970653E45787072657373696F6E3C2F547970653E0D0A202020202020202020203C56657274416C69676E6D656E743E43656E7465723C2F56657274416C69676E6D656E743E0D0A20202020202020203C2F54657874363E0D0A20202020202020203C5465787437205265663D2231312220747970653D2254657874222069734B65793D2274727565223E0D0A202020202020202020203C426F726465723E416C6C3B426C61636B3B313B536F6C69643B46616C73653B343B426C61636B3C2F426F726465723E0D0A202020202020202020203C42727573683E5472616E73706172656E743C2F42727573683E0D0A202020202020202020203C436C69656E7452656374616E676C653E332E382C312E362C312E382C302E353C2F436C69656E7452656374616E676C653E0D0A202020202020202020203C436F6E646974696F6E732069734C6973743D22747275652220636F756E743D223022202F3E0D0A202020202020202020203C466F6E743E417269616C2C31362C426F6C643C2F466F6E743E0D0A202020202020202020203C486F72416C69676E6D656E743E43656E7465723C2F486F72416C69676E6D656E743E0D0A202020202020202020203C4D617267696E733E302C302C302C303C2F4D617267696E733E0D0A202020202020202020203C4E616D653E54657874373C2F4E616D653E0D0A202020202020202020203C506167652069735265663D223422202F3E0D0A202020202020202020203C506172656E742069735265663D223422202F3E0D0A202020202020202020203C546578743ED8B3DB8CD8B3D8AAD9850D0A3C2F546578743E0D0A202020202020202020203C5465787442727573683E426C61636B3C2F5465787442727573683E0D0A202020202020202020203C547970653E45787072657373696F6E3C2F547970653E0D0A202020202020202020203C56657274416C69676E6D656E743E43656E7465723C2F56657274416C69676E6D656E743E0D0A20202020202020203C2F54657874373E0D0A20202020202020203C5465787438205265663D2231322220747970653D2254657874222069734B65793D2274727565223E0D0A202020202020202020203C426F726465723E416C6C3B426C61636B3B313B536F6C69643B46616C73653B343B426C61636B3C2F426F726465723E0D0A202020202020202020203C42727573683E5472616E73706172656E743C2F42727573683E0D0A202020202020202020203C436C69656E7452656374616E676C653E352E362C312E362C312E392C302E353C2F436C69656E7452656374616E676C653E0D0A202020202020202020203C436F6E646974696F6E732069734C6973743D22747275652220636F756E743D223022202F3E0D0A202020202020202020203C466F6E743E417269616C2C31362C426F6C643C2F466F6E743E0D0A202020202020202020203C486F72416C69676E6D656E743E43656E7465723C2F486F72416C69676E6D656E743E0D0A202020202020202020203C4D617267696E733E302C302C302C303C2F4D617267696E733E0D0A202020202020202020203C4E616D653E54657874383C2F4E616D653E0D0A202020202020202020203C506167652069735265663D223422202F3E0D0A202020202020202020203C506172656E742069735265663D223422202F3E0D0A202020202020202020203C546578743ED986D8A7D98520D8B5D986D8AFD988D982D8AFD8A7D8B13C2F546578743E0D0A202020202020202020203C5465787442727573683E426C61636B3C2F5465787442727573683E0D0A202020202020202020203C547970653E45787072657373696F6E3C2F547970653E0D0A202020202020202020203C56657274416C69676E6D656E743E43656E7465723C2F56657274416C69676E6D656E743E0D0A20202020202020203C2F54657874383E0D0A20202020202020203C5465787439205265663D2231332220747970653D2254657874222069734B65793D2274727565223E0D0A202020202020202020203C42727573683E5472616E73706172656E743C2F42727573683E0D0A202020202020202020203C436C69656E7452656374616E676C653E302E312C302E312C372E352C302E383C2F436C69656E7452656374616E676C653E0D0A202020202020202020203C436F6E646974696F6E732069734C6973743D22747275652220636F756E743D223022202F3E0D0A202020202020202020203C466F6E743E4220546974722C33322C426F6C643C2F466F6E743E0D0A202020202020202020203C486F72416C69676E6D656E743E43656E7465723C2F486F72416C69676E6D656E743E0D0A202020202020202020203C4D617267696E733E302C302C302C303C2F4D617267696E733E0D0A202020202020202020203C4E616D653E54657874393C2F4E616D653E0D0A202020202020202020203C506167652069735265663D223422202F3E0D0A202020202020202020203C506172656E742069735265663D223422202F3E0D0A202020202020202020203C546578743ED8B1D8B3DB8CD8AF20D8A8D8A7D8B220DAA9D8B1D8AFD98620D8B5D986D8AFD988D9820D0A3C2F546578743E0D0A202020202020202020203C5465787442727573683E426C61636B3C2F5465787442727573683E0D0A202020202020202020203C547970653E45787072657373696F6E3C2F547970653E0D0A202020202020202020203C56657274416C69676E6D656E743E43656E7465723C2F56657274416C69676E6D656E743E0D0A20202020202020203C2F54657874393E0D0A2020202020203C2F436F6D706F6E656E74733E0D0A2020202020203C436F6E646974696F6E732069734C6973743D22747275652220636F756E743D223022202F3E0D0A2020202020203C477569643E39626466323563323666653834306164623066646239666165353239656432333C2F477569643E0D0A2020202020203C4D617267696E733E302E33392C302E33392C302E33392C302E33393C2F4D617267696E733E0D0A2020202020203C4E616D653E50616765313C2F4E616D653E0D0A2020202020203C506167654865696768743E31313C2F506167654865696768743E0D0A2020202020203C5061676557696474683E382E353C2F5061676557696474683E0D0A2020202020203C506170657253697A653E4C65747465723C2F506170657253697A653E0D0A2020202020203C5265706F72742069735265663D223022202F3E0D0A2020202020203C57617465726D61726B205265663D2231342220747970653D225374696D756C736F66742E5265706F72742E436F6D706F6E656E74732E53746957617465726D61726B222069734B65793D2274727565223E0D0A20202020202020203C466F6E743E417269616C2C3130303C2F466F6E743E0D0A20202020202020203C5465787442727573683E5B35303A303A303A305D3C2F5465787442727573683E0D0A2020202020203C2F57617465726D61726B3E0D0A202020203C2F50616765313E0D0A20203C2F50616765733E0D0A20203C5072696E74657253657474696E6773205265663D2231352220747970653D225374696D756C736F66742E5265706F72742E5072696E742E5374695072696E74657253657474696E6773222069734B65793D227472756522202F3E0D0A20203C5265666572656E636564417373656D626C6965732069734C6973743D22747275652220636F756E743D2238223E0D0A202020203C76616C75653E53797374656D2E446C6C3C2F76616C75653E0D0A202020203C76616C75653E53797374656D2E44726177696E672E446C6C3C2F76616C75653E0D0A202020203C76616C75653E53797374656D2E57696E646F77732E466F726D732E446C6C3C2F76616C75653E0D0A202020203C76616C75653E53797374656D2E446174612E446C6C3C2F76616C75653E0D0A202020203C76616C75653E53797374656D2E586D6C2E446C6C3C2F76616C75653E0D0A202020203C76616C75653E5374696D756C736F66742E436F6E74726F6C732E446C6C3C2F76616C75653E0D0A202020203C76616C75653E5374696D756C736F66742E426173652E446C6C3C2F76616C75653E0D0A202020203C76616C75653E5374696D756C736F66742E5265706F72742E446C6C3C2F76616C75653E0D0A20203C2F5265666572656E636564417373656D626C6965733E0D0A20203C5265706F7274416C6961733E5265706F72743C2F5265706F7274416C6961733E0D0A20203C5265706F72744368616E6765643E362F32322F323032312031303A35343A313120414D3C2F5265706F72744368616E6765643E0D0A20203C5265706F7274437265617465643E362F32312F3230323120343A31323A343220504D3C2F5265706F7274437265617465643E0D0A20203C5265706F727446696C65202F3E0D0A20203C5265706F7274477569643E33643732666661373637313134636539616561393939366631333930373731653C2F5265706F7274477569643E0D0A20203C5265706F72744E616D653E5265706F72743C2F5265706F72744E616D653E0D0A20203C5265706F7274556E69743E496E636865733C2F5265706F7274556E69743E0D0A20203C5265706F727456657273696F6E3E323031342E332E303C2F5265706F727456657273696F6E3E0D0A20203C5363726970743E7573696E672053797374656D3B0D0A7573696E672053797374656D2E44726177696E673B0D0A7573696E672053797374656D2E57696E646F77732E466F726D733B0D0A7573696E672053797374656D2E446174613B0D0A7573696E67205374696D756C736F66742E436F6E74726F6C733B0D0A7573696E67205374696D756C736F66742E426173652E44726177696E673B0D0A7573696E67205374696D756C736F66742E5265706F72743B0D0A7573696E67205374696D756C736F66742E5265706F72742E4469616C6F67733B0D0A7573696E67205374696D756C736F66742E5265706F72742E436F6D706F6E656E74733B0D0A0D0A6E616D657370616365205265706F7274730D0A7B0D0A202020207075626C696320636C617373205265706F7274203A205374696D756C736F66742E5265706F72742E5374695265706F72740D0A202020207B0D0A20202020202020207075626C6963205265706F7274282920202020202020207B0D0A202020202020202020202020746869732E496E697469616C697A65436F6D706F6E656E7428293B0D0A20202020202020207D0D0A0D0A202020202020202023726567696F6E205374695265706F72742044657369676E65722067656E65726174656420636F6465202D20646F206E6F74206D6F646966790D0A090923656E64726567696F6E205374695265706F72742044657369676E65722067656E65726174656420636F6465202D20646F206E6F74206D6F646966790D0A202020207D0D0A7D0D0A3C2F5363726970743E0D0A20203C5363726970744C616E67756167653E4353686172703C2F5363726970744C616E67756167653E0D0A20203C5374796C65732069734C6973743D22747275652220636F756E743D223022202F3E0D0A3C2F53746953657269616C697A65723E, NULL, NULL, 16, NULL, 1)

INSERT [dbo].[Fix_Reports] ([RowID], [RowName], [ReportFile], [RowDesc], [UniqueIdentifierValue], [sectionid], [reportstring], [Branch_id]) VALUES (38, N'رسید بستن صندوق', 0xEFBBBF3C3F786D6C2076657273696F6E3D22312E302220656E636F64696E673D227574662D3822207374616E64616C6F6E653D22796573223F3E0D0A3C53746953657269616C697A65722076657273696F6E3D22312E30322220747970653D224E657422206170706C69636174696F6E3D225374695265706F7274223E0D0A20203C44696374696F6E617279205265663D22312220747970653D2244696374696F6E617279222069734B65793D2274727565223E0D0A202020203C427573696E6573734F626A656374732069734C6973743D22747275652220636F756E743D223022202F3E0D0A202020203C4461746162617365732069734C6973743D22747275652220636F756E743D223022202F3E0D0A202020203C44617461536F75726365732069734C6973743D22747275652220636F756E743D2232223E0D0A2020202020203C696E766F696365686561646572205265663D22322220747970653D225374696D756C736F66742E5265706F72742E44696374696F6E6172792E537469427573696E6573734F626A656374536F75726365222069734B65793D2274727565223E0D0A20202020202020203C416C6961733E696E766F6963656865616465723C2F416C6961733E0D0A20202020202020203C436F6C756D6E732069734C6973743D22747275652220636F756E743D223337223E0D0A202020202020202020203C76616C75653E476F6F6449642C53797374656D2E496E7436343C2F76616C75653E0D0A202020202020202020203C76616C75653E476F6F6443617465676F72792C53797374656D2E537472696E673C2F76616C75653E0D0A202020202020202020203C76616C75653E4D61696E5F4D656173757265556E69742C53797374656D2E537472696E673C2F76616C75653E0D0A202020202020202020203C76616C75653E44656661756C745F4D656173757265556E69742C53797374656D2E537472696E673C2F76616C75653E0D0A202020202020202020203C76616C75653E446973636F756E7447726F7570476F6F642C53797374656D2E537472696E673C2F76616C75653E0D0A202020202020202020203C76616C75653E54617847726F7570476F6F642C53797374656D2E537472696E673C2F76616C75653E0D0A202020202020202020203C76616C75653E426172636F64652C53797374656D2E537472696E673C2F76616C75653E0D0A202020202020202020203C76616C75653E4E616D652C53797374656D2E537472696E673C2F76616C75653E0D0A202020202020202020203C76616C75653E4E616D65454E2C53797374656D2E537472696E673C2F76616C75653E0D0A202020202020202020203C76616C75653E507572636861736550726963652C53797374656D2E446563696D616C3C2F76616C75653E0D0A202020202020202020203C76616C75653E53616C6550726963652C53797374656D2E446563696D616C3C2F76616C75653E0D0A202020202020202020203C76616C75653E4F72646572506F696E742C53797374656D2E446F75626C653C2F76616C75653E0D0A202020202020202020203C76616C75653E466972737453746F636B2C53797374656D2E446F75626C653C2F76616C75653E0D0A202020202020202020203C76616C75653E446973636F756E7450726963652C53797374656D2E446563696D616C3C2F76616C75653E0D0A202020202020202020203C76616C75653E49734163746976652C53797374656D2E426F6F6C65616E3C2F76616C75653E0D0A202020202020202020203C76616C75653E526F77446573632C53797374656D2E537472696E673C2F76616C75653E0D0A202020202020202020203C76616C75653E496E73657274656442792C53797374656D2E496E7431363C2F76616C75653E0D0A202020202020202020203C76616C75653E5570646174656442792C53797374656D2E496E7431363C2F76616C75653E0D0A202020202020202020203C76616C75653E4644617465496E736572742C53797374656D2E537472696E673C2F76616C75653E0D0A202020202020202020203C76616C75653E46446174655570646174652C53797374656D2E537472696E673C2F76616C75653E0D0A202020202020202020203C76616C75653E4654696D65496E736572742C53797374656D2E537472696E673C2F76616C75653E0D0A202020202020202020203C76616C75653E4654696D655570646174652C53797374656D2E537472696E673C2F76616C75653E0D0A202020202020202020203C76616C75653E496E736572745365727665724461746554696D652C53797374656D2E4461746554696D653C2F76616C75653E0D0A202020202020202020203C76616C75653E5570646174655365727665724461746554696D652C53797374656D2E4461746554696D653C2F76616C75653E0D0A202020202020202020203C76616C75653E526F7755706461746556657273696F6E2C53797374656D2E496E7431363C2F76616C75653E0D0A202020202020202020203C76616C75653E50757263686173655072696365417665726167652C53797374656D2E446563696D616C3C2F76616C75653E0D0A202020202020202020203C76616C75653E497348617353697A652C53797374656D2E426F6F6C65616E3C2F76616C75653E0D0A202020202020202020203C76616C75653E46446174652C53797374656D2E537472696E673C2F76616C75653E0D0A202020202020202020203C76616C75653E4D446174652C53797374656D2E4461746554696D653C2F76616C75653E0D0A202020202020202020203C76616C75653E476F6F644E616D65496E646578496E5072696E74496E766F6963652C53797374656D2E496E7431363C2F76616C75653E0D0A202020202020202020203C76616C75653E436F6E73756D657250726963652C53797374656D2E446563696D616C3C2F76616C75653E0D0A202020202020202020203C76616C75653E496E746572657374526174652C53797374656D2E446F75626C653C2F76616C75653E0D0A202020202020202020203C76616C75653E42726965664465736372697074696F6E2C53797374656D2E537472696E673C2F76616C75653E0D0A202020202020202020203C76616C75653E46756C6C4465736372697074696F6E2C53797374656D2E537472696E673C2F76616C75653E0D0A202020202020202020203C76616C75653E49735370656369616C53616C652C53797374656D2E426F6F6C65616E3C2F76616C75653E0D0A202020202020202020203C76616C75653E5F49442C53797374656D2E496E7433323C2F76616C75653E0D0A202020202020202020203C76616C75653E5F43757272656E742C53797374656D2E4F626A6563743C2F76616C75653E0D0A20202020202020203C2F436F6C756D6E733E0D0A20202020202020203C44696374696F6E6172792069735265663D223122202F3E0D0A20202020202020203C4973436C6F75643E46616C73653C2F4973436C6F75643E0D0A20202020202020203C4E616D653E696E766F6963656865616465723C2F4E616D653E0D0A20202020202020203C4E616D65496E536F757263653E696E766F6963656865616465723C2F4E616D65496E536F757263653E0D0A2020202020203C2F696E766F6963656865616465723E0D0A2020202020203C737562696E766F696365205265663D22332220747970653D225374696D756C736F66742E5265706F72742E44696374696F6E6172792E537469427573696E6573734F626A656374536F75726365222069734B65793D2274727565223E0D0A20202020202020203C416C6961733E737562696E766F6963653C2F416C6961733E0D0A20202020202020203C436F6C756D6E732069734C6973743D22747275652220636F756E743D223238223E0D0A202020202020202020203C76616C75653E526F7749442C53797374656D2E496E7433323C2F76616C75653E0D0A202020202020202020203C76616C75653E4272616E63685F49442C53797374656D2E496E7433323C2F76616C75653E0D0A202020202020202020203C76616C75653E46696E616E6369616C596561725F49442C53797374656D2E496E7431363C2F76616C75653E0D0A202020202020202020203C76616C75653E5768446F63485F49442C53797374656D2E496E7433323C2F76616C75653E0D0A202020202020202020203C76616C75653E476F6F645F49442C53797374656D2E496E7433323C2F76616C75653E0D0A202020202020202020203C76616C75653E476F6F642C53797374656D2E537472696E673C2F76616C75653E0D0A202020202020202020203C76616C75653E4D656173757265556E69742C53797374656D2E537472696E673C2F76616C75653E0D0A202020202020202020203C76616C75653E4D61696E5F4D656173757265556E69742C53797374656D2E537472696E673C2F76616C75653E0D0A202020202020202020203C76616C75653E4669785F446973636F756E74547970655F49442C53797374656D2E427974653C2F76616C75653E0D0A202020202020202020203C76616C75653E56616C7565732C53797374656D2E446F75626C653C2F76616C75653E0D0A202020202020202020203C76616C75653E556E697450726963652C53797374656D2E446563696D616C3C2F76616C75653E0D0A202020202020202020203C76616C75653E546F74616C50726963652C53797374656D2E446563696D616C3C2F76616C75653E0D0A202020202020202020203C76616C75653E5175616E74697479496E556E697450726963652C53797374656D2E446563696D616C3C2F76616C75653E0D0A202020202020202020203C76616C75653E446973636F756E7450657263656E742C53797374656D2E446F75626C653C2F76616C75653E0D0A202020202020202020203C76616C75653E446973636F756E7450726963652C53797374656D2E446563696D616C3C2F76616C75653E0D0A202020202020202020203C76616C75653E5075726368617365556E697450726963652C53797374656D2E446563696D616C3C2F76616C75653E0D0A202020202020202020203C76616C75653E5075726368617365546F74616C50726963652C53797374656D2E446563696D616C3C2F76616C75653E0D0A202020202020202020203C76616C75653E54617850657263656E742C53797374656D2E446F75626C653C2F76616C75653E0D0A202020202020202020203C76616C75653E54617850726963652C53797374656D2E446563696D616C3C2F76616C75653E0D0A202020202020202020203C76616C75653E53616C65556E697450726963652C53797374656D2E446563696D616C3C2F76616C75653E0D0A202020202020202020203C76616C75653E526F77446573632C53797374656D2E537472696E673C2F76616C75653E0D0A202020202020202020203C76616C75653E5075726368617365546F74616C5072696365417665726167652C53797374656D2E446563696D616C3C2F76616C75653E0D0A202020202020202020203C76616C75653E476F6F6453697A652C53797374656D2E537472696E673C2F76616C75653E0D0A202020202020202020203C76616C75653E436F6E73756D657250726963652C53797374656D2E446563696D616C3C2F76616C75653E0D0A202020202020202020203C76616C75653E53756D436F6E73756D657250726963652C53797374656D2E446563696D616C3C2F76616C75653E0D0A202020202020202020203C76616C75653E50726F666F726D61485F49442C53797374656D2E496E7433323C2F76616C75653E0D0A202020202020202020203C76616C75653E5F49442C53797374656D2E496E7433323C2F76616C75653E0D0A202020202020202020203C76616C75653E5F43757272656E742C53797374656D2E4F626A6563743C2F76616C75653E0D0A20202020202020203C2F436F6C756D6E733E0D0A20202020202020203C44696374696F6E6172792069735265663D223122202F3E0D0A20202020202020203C4973436C6F75643E46616C73653C2F4973436C6F75643E0D0A20202020202020203C4E616D653E737562696E766F6963653C2F4E616D653E0D0A20202020202020203C4E616D65496E536F757263653E737562696E766F6963653C2F4E616D65496E536F757263653E0D0A2020202020203C2F737562696E766F6963653E0D0A202020203C2F44617461536F75726365733E0D0A202020203C52656C6174696F6E732069734C6973743D22747275652220636F756E743D223022202F3E0D0A202020203C5265706F72742069735265663D223022202F3E0D0A202020203C5661726961626C65732069734C6973743D22747275652220636F756E743D2234223E0D0A2020202020203C76616C75653E2C436173686965724E616D652C436173686965724E616D652C53797374656D2E537472696E672C2C46616C73652C46616C73653C2F76616C75653E0D0A2020202020203C76616C75653E2C53797374656D4E616D652C53797374656D4E616D652C53797374656D2E537472696E672C2C46616C73652C46616C73653C2F76616C75653E0D0A2020202020203C76616C75653E2C446174652C446174652C53797374656D2E537472696E672C2C46616C73652C46616C73653C2F76616C75653E0D0A2020202020203C76616C75653E2C54696D652C54696D652C53797374656D2E537472696E672C2C46616C73652C46616C73653C2F76616C75653E0D0A202020203C2F5661726961626C65733E0D0A20203C2F44696374696F6E6172793E0D0A20203C456E67696E6556657273696F6E3E456E67696E6556323C2F456E67696E6556657273696F6E3E0D0A20203C476C6F62616C697A6174696F6E537472696E67732069734C6973743D22747275652220636F756E743D223022202F3E0D0A20203C4D657461546167732069734C6973743D22747275652220636F756E743D223022202F3E0D0A20203C50616765732069734C6973743D22747275652220636F756E743D2231223E0D0A202020203C5061676531205265663D22342220747970653D2250616765222069734B65793D2274727565223E0D0A2020202020203C426F726465723E4E6F6E653B426C61636B3B323B536F6C69643B46616C73653B343B426C61636B3C2F426F726465723E0D0A2020202020203C42727573683E5472616E73706172656E743C2F42727573683E0D0A2020202020203C436F6D706F6E656E74732069734C6973743D22747275652220636F756E743D2239223E0D0A20202020202020203C5465787431205265663D22352220747970653D2254657874222069734B65793D2274727565223E0D0A202020202020202020203C426F726465723E416C6C3B426C61636B3B313B536F6C69643B46616C73653B343B426C61636B3C2F426F726465723E0D0A202020202020202020203C42727573683E5472616E73706172656E743C2F42727573683E0D0A202020202020202020203C436C69656E7452656374616E676C653E302E332C322E332C312E362C302E353C2F436C69656E7452656374616E676C653E0D0A202020202020202020203C436F6E646974696F6E732069734C6973743D22747275652220636F756E743D223022202F3E0D0A202020202020202020203C466F6E743E417269616C2C31363C2F466F6E743E0D0A202020202020202020203C477569643E37396233336661333263663134653230616334353735393738376466366461633C2F477569643E0D0A202020202020202020203C486F72416C69676E6D656E743E43656E7465723C2F486F72416C69676E6D656E743E0D0A202020202020202020203C4D617267696E733E302C302C302C303C2F4D617267696E733E0D0A202020202020202020203C4E616D653E54657874313C2F4E616D653E0D0A202020202020202020203C506167652069735265663D223422202F3E0D0A202020202020202020203C506172656E742069735265663D223422202F3E0D0A202020202020202020203C546578743E7B54696D657D3C2F546578743E0D0A202020202020202020203C5465787442727573683E426C61636B3C2F5465787442727573683E0D0A202020202020202020203C547970653E45787072657373696F6E3C2F547970653E0D0A202020202020202020203C56657274416C69676E6D656E743E43656E7465723C2F56657274416C69676E6D656E743E0D0A20202020202020203C2F54657874313E0D0A20202020202020203C5465787432205265663D22362220747970653D2254657874222069734B65793D2274727565223E0D0A202020202020202020203C426F726465723E416C6C3B426C61636B3B313B536F6C69643B46616C73653B343B426C61636B3C2F426F726465723E0D0A202020202020202020203C42727573683E5472616E73706172656E743C2F42727573683E0D0A202020202020202020203C436C69656E7452656374616E676C653E312E392C322E332C312E392C302E353C2F436C69656E7452656374616E676C653E0D0A202020202020202020203C436F6E646974696F6E732069734C6973743D22747275652220636F756E743D223022202F3E0D0A202020202020202020203C466F6E743E417269616C2C31363C2F466F6E743E0D0A202020202020202020203C477569643E39396435326139373763656534613763383135373562633536616330643434303C2F477569643E0D0A202020202020202020203C486F72416C69676E6D656E743E43656E7465723C2F486F72416C69676E6D656E743E0D0A202020202020202020203C4D617267696E733E302C302C302C303C2F4D617267696E733E0D0A202020202020202020203C4E616D653E54657874323C2F4E616D653E0D0A202020202020202020203C506167652069735265663D223422202F3E0D0A202020202020202020203C506172656E742069735265663D223422202F3E0D0A202020202020202020203C546578743E7B446174657D3C2F546578743E0D0A202020202020202020203C5465787442727573683E426C61636B3C2F5465787442727573683E0D0A202020202020202020203C547970653E45787072657373696F6E3C2F547970653E0D0A202020202020202020203C56657274416C69676E6D656E743E43656E7465723C2F56657274416C69676E6D656E743E0D0A20202020202020203C2F54657874323E0D0A20202020202020203C5465787433205265663D22372220747970653D2254657874222069734B65793D2274727565223E0D0A202020202020202020203C426F726465723E416C6C3B426C61636B3B313B536F6C69643B46616C73653B343B426C61636B3C2F426F726465723E0D0A202020202020202020203C42727573683E5472616E73706172656E743C2F42727573683E0D0A202020202020202020203C436C69656E7452656374616E676C653E352E362C322E332C312E392C302E353C2F436C69656E7452656374616E676C653E0D0A202020202020202020203C436F6E646974696F6E732069734C6973743D22747275652220636F756E743D223022202F3E0D0A202020202020202020203C466F6E743E417269616C2C31363C2F466F6E743E0D0A202020202020202020203C477569643E35333965333130343030373234373430616434623463623437333065366333343C2F477569643E0D0A202020202020202020203C486F72416C69676E6D656E743E43656E7465723C2F486F72416C69676E6D656E743E0D0A202020202020202020203C4D617267696E733E302C302C302C303C2F4D617267696E733E0D0A202020202020202020203C4E616D653E54657874333C2F4E616D653E0D0A202020202020202020203C506167652069735265663D223422202F3E0D0A202020202020202020203C506172656E742069735265663D223422202F3E0D0A202020202020202020203C546578743E7B436173686965724E616D657D3C2F546578743E0D0A202020202020202020203C5465787442727573683E426C61636B3C2F5465787442727573683E0D0A202020202020202020203C547970653E45787072657373696F6E3C2F547970653E0D0A202020202020202020203C56657274416C69676E6D656E743E43656E7465723C2F56657274416C69676E6D656E743E0D0A20202020202020203C2F54657874333E0D0A20202020202020203C5465787434205265663D22382220747970653D2254657874222069734B65793D2274727565223E0D0A202020202020202020203C426F726465723E416C6C3B426C61636B3B313B536F6C69643B46616C73653B343B426C61636B3C2F426F726465723E0D0A202020202020202020203C42727573683E5472616E73706172656E743C2F42727573683E0D0A202020202020202020203C436C69656E7452656374616E676C653E332E382C322E332C312E382C302E353C2F436C69656E7452656374616E676C653E0D0A202020202020202020203C436F6E646974696F6E732069734C6973743D22747275652220636F756E743D223022202F3E0D0A202020202020202020203C466F6E743E417269616C2C31363C2F466F6E743E0D0A202020202020202020203C477569643E31633862366466386230393534363633393038626330346539353162343531333C2F477569643E0D0A202020202020202020203C486F72416C69676E6D656E743E43656E7465723C2F486F72416C69676E6D656E743E0D0A202020202020202020203C4D617267696E733E302C302C302C303C2F4D617267696E733E0D0A202020202020202020203C4E616D653E54657874343C2F4E616D653E0D0A202020202020202020203C506167652069735265663D223422202F3E0D0A202020202020202020203C506172656E742069735265663D223422202F3E0D0A202020202020202020203C546578743E7B53797374656D4E616D657D3C2F546578743E0D0A202020202020202020203C5465787442727573683E426C61636B3C2F5465787442727573683E0D0A202020202020202020203C547970653E45787072657373696F6E3C2F547970653E0D0A202020202020202020203C56657274416C69676E6D656E743E43656E7465723C2F56657274416C69676E6D656E743E0D0A20202020202020203C2F54657874343E0D0A20202020202020203C5465787435205265663D22392220747970653D2254657874222069734B65793D2274727565223E0D0A202020202020202020203C426F726465723E416C6C3B426C61636B3B313B536F6C69643B46616C73653B343B426C61636B3C2F426F726465723E0D0A202020202020202020203C42727573683E5472616E73706172656E743C2F42727573683E0D0A202020202020202020203C436C69656E7452656374616E676C653E302E332C312E372C312E362C302E353C2F436C69656E7452656374616E676C653E0D0A202020202020202020203C436F6E646974696F6E732069734C6973743D22747275652220636F756E743D223022202F3E0D0A202020202020202020203C466F6E743E417269616C2C31362C426F6C643C2F466F6E743E0D0A202020202020202020203C477569643E30373732343839313034646234303532613166633464333765373262626538323C2F477569643E0D0A202020202020202020203C486F72416C69676E6D656E743E43656E7465723C2F486F72416C69676E6D656E743E0D0A202020202020202020203C4D617267696E733E302C302C302C303C2F4D617267696E733E0D0A202020202020202020203C4E616D653E54657874353C2F4E616D653E0D0A202020202020202020203C506167652069735265663D223422202F3E0D0A202020202020202020203C506172656E742069735265663D223422202F3E0D0A202020202020202020203C546578743ED8B3D8A7D8B9D8AA3C2F546578743E0D0A202020202020202020203C5465787442727573683E426C61636B3C2F5465787442727573683E0D0A202020202020202020203C547970653E45787072657373696F6E3C2F547970653E0D0A202020202020202020203C56657274416C69676E6D656E743E43656E7465723C2F56657274416C69676E6D656E743E0D0A20202020202020203C2F54657874353E0D0A20202020202020203C5465787436205265663D2231302220747970653D2254657874222069734B65793D2274727565223E0D0A202020202020202020203C426F726465723E416C6C3B426C61636B3B313B536F6C69643B46616C73653B343B426C61636B3C2F426F726465723E0D0A202020202020202020203C42727573683E5472616E73706172656E743C2F42727573683E0D0A202020202020202020203C436C69656E7452656374616E676C653E312E392C312E372C312E392C302E353C2F436C69656E7452656374616E676C653E0D0A202020202020202020203C436F6E646974696F6E732069734C6973743D22747275652220636F756E743D223022202F3E0D0A202020202020202020203C466F6E743E417269616C2C31362C426F6C643C2F466F6E743E0D0A202020202020202020203C477569643E32306161353030623235356434306139383834656566653438326661636532313C2F477569643E0D0A202020202020202020203C486F72416C69676E6D656E743E43656E7465723C2F486F72416C69676E6D656E743E0D0A202020202020202020203C4D617267696E733E302C302C302C303C2F4D617267696E733E0D0A202020202020202020203C4E616D653E54657874363C2F4E616D653E0D0A202020202020202020203C506167652069735265663D223422202F3E0D0A202020202020202020203C506172656E742069735265663D223422202F3E0D0A202020202020202020203C546578743ED8AAD8A7D8B1DB8CD8AE3C2F546578743E0D0A202020202020202020203C5465787442727573683E426C61636B3C2F5465787442727573683E0D0A202020202020202020203C547970653E45787072657373696F6E3C2F547970653E0D0A202020202020202020203C56657274416C69676E6D656E743E43656E7465723C2F56657274416C69676E6D656E743E0D0A20202020202020203C2F54657874363E0D0A20202020202020203C5465787437205265663D2231312220747970653D2254657874222069734B65793D2274727565223E0D0A202020202020202020203C426F726465723E416C6C3B426C61636B3B313B536F6C69643B46616C73653B343B426C61636B3C2F426F726465723E0D0A202020202020202020203C42727573683E5472616E73706172656E743C2F42727573683E0D0A202020202020202020203C436C69656E7452656374616E676C653E332E382C312E372C312E382C302E353C2F436C69656E7452656374616E676C653E0D0A202020202020202020203C436F6E646974696F6E732069734C6973743D22747275652220636F756E743D223022202F3E0D0A202020202020202020203C466F6E743E417269616C2C31362C426F6C643C2F466F6E743E0D0A202020202020202020203C477569643E31353130616131343939343234623136386265356138393366373231323433353C2F477569643E0D0A202020202020202020203C486F72416C69676E6D656E743E43656E7465723C2F486F72416C69676E6D656E743E0D0A202020202020202020203C4D617267696E733E302C302C302C303C2F4D617267696E733E0D0A202020202020202020203C4E616D653E54657874373C2F4E616D653E0D0A202020202020202020203C506167652069735265663D223422202F3E0D0A202020202020202020203C506172656E742069735265663D223422202F3E0D0A202020202020202020203C546578743ED8B3DB8CD8B3D8AAD9850D0A3C2F546578743E0D0A202020202020202020203C5465787442727573683E426C61636B3C2F5465787442727573683E0D0A202020202020202020203C547970653E45787072657373696F6E3C2F547970653E0D0A202020202020202020203C56657274416C69676E6D656E743E43656E7465723C2F56657274416C69676E6D656E743E0D0A20202020202020203C2F54657874373E0D0A20202020202020203C5465787438205265663D2231322220747970653D2254657874222069734B65793D2274727565223E0D0A202020202020202020203C426F726465723E416C6C3B426C61636B3B313B536F6C69643B46616C73653B343B426C61636B3C2F426F726465723E0D0A202020202020202020203C42727573683E5472616E73706172656E743C2F42727573683E0D0A202020202020202020203C436C69656E7452656374616E676C653E352E362C312E372C312E392C302E353C2F436C69656E7452656374616E676C653E0D0A202020202020202020203C436F6E646974696F6E732069734C6973743D22747275652220636F756E743D223022202F3E0D0A202020202020202020203C466F6E743E417269616C2C31362C426F6C643C2F466F6E743E0D0A202020202020202020203C477569643E33353131666463346136376434646637383830323865306462613262666266303C2F477569643E0D0A202020202020202020203C486F72416C69676E6D656E743E43656E7465723C2F486F72416C69676E6D656E743E0D0A202020202020202020203C4D617267696E733E302C302C302C303C2F4D617267696E733E0D0A202020202020202020203C4E616D653E54657874383C2F4E616D653E0D0A202020202020202020203C506167652069735265663D223422202F3E0D0A202020202020202020203C506172656E742069735265663D223422202F3E0D0A202020202020202020203C546578743ED986D8A7D98520D8B5D986D8AFD988D982D8AFD8A7D8B13C2F546578743E0D0A202020202020202020203C5465787442727573683E426C61636B3C2F5465787442727573683E0D0A202020202020202020203C547970653E45787072657373696F6E3C2F547970653E0D0A202020202020202020203C56657274416C69676E6D656E743E43656E7465723C2F56657274416C69676E6D656E743E0D0A20202020202020203C2F54657874383E0D0A20202020202020203C5465787439205265663D2231332220747970653D2254657874222069734B65793D2274727565223E0D0A202020202020202020203C42727573683E5472616E73706172656E743C2F42727573683E0D0A202020202020202020203C436C69656E7452656374616E676C653E302E312C302E322C372E352C302E383C2F436C69656E7452656374616E676C653E0D0A202020202020202020203C436F6E646974696F6E732069734C6973743D22747275652220636F756E743D223022202F3E0D0A202020202020202020203C466F6E743E4220546974722C33322C426F6C643C2F466F6E743E0D0A202020202020202020203C477569643E36616134326464646264623534656465383136366639316637383930343731313C2F477569643E0D0A202020202020202020203C486F72416C69676E6D656E743E43656E7465723C2F486F72416C69676E6D656E743E0D0A202020202020202020203C4D617267696E733E302C302C302C303C2F4D617267696E733E0D0A202020202020202020203C4E616D653E54657874393C2F4E616D653E0D0A202020202020202020203C506167652069735265663D223422202F3E0D0A202020202020202020203C506172656E742069735265663D223422202F3E0D0A202020202020202020203C546578743ED8B1D8B3DB8CD8AF20D8A8D8B3D8AAD98620D8B5D986D8AFD988D9820D0A3C2F546578743E0D0A202020202020202020203C5465787442727573683E426C61636B3C2F5465787442727573683E0D0A202020202020202020203C547970653E45787072657373696F6E3C2F547970653E0D0A202020202020202020203C56657274416C69676E6D656E743E43656E7465723C2F56657274416C69676E6D656E743E0D0A20202020202020203C2F54657874393E0D0A2020202020203C2F436F6D706F6E656E74733E0D0A2020202020203C436F6E646974696F6E732069734C6973743D22747275652220636F756E743D223022202F3E0D0A2020202020203C477569643E64623539386632393965386234396262393830323965303839653161306665303C2F477569643E0D0A2020202020203C4D617267696E733E302E33392C302E33392C302E33392C302E33393C2F4D617267696E733E0D0A2020202020203C4E616D653E50616765313C2F4E616D653E0D0A2020202020203C506167654865696768743E31313C2F506167654865696768743E0D0A2020202020203C5061676557696474683E382E353C2F5061676557696474683E0D0A2020202020203C506170657253697A653E4C65747465723C2F506170657253697A653E0D0A2020202020203C5265706F72742069735265663D223022202F3E0D0A2020202020203C57617465726D61726B205265663D2231342220747970653D225374696D756C736F66742E5265706F72742E436F6D706F6E656E74732E53746957617465726D61726B222069734B65793D2274727565223E0D0A20202020202020203C466F6E743E417269616C2C3130303C2F466F6E743E0D0A20202020202020203C5465787442727573683E5B35303A303A303A305D3C2F5465787442727573683E0D0A2020202020203C2F57617465726D61726B3E0D0A202020203C2F50616765313E0D0A20203C2F50616765733E0D0A20203C5072696E74657253657474696E6773205265663D2231352220747970653D225374696D756C736F66742E5265706F72742E5072696E742E5374695072696E74657253657474696E6773222069734B65793D227472756522202F3E0D0A20203C5265666572656E636564417373656D626C6965732069734C6973743D22747275652220636F756E743D2238223E0D0A202020203C76616C75653E53797374656D2E446C6C3C2F76616C75653E0D0A202020203C76616C75653E53797374656D2E44726177696E672E446C6C3C2F76616C75653E0D0A202020203C76616C75653E53797374656D2E57696E646F77732E466F726D732E446C6C3C2F76616C75653E0D0A202020203C76616C75653E53797374656D2E446174612E446C6C3C2F76616C75653E0D0A202020203C76616C75653E53797374656D2E586D6C2E446C6C3C2F76616C75653E0D0A202020203C76616C75653E5374696D756C736F66742E436F6E74726F6C732E446C6C3C2F76616C75653E0D0A202020203C76616C75653E5374696D756C736F66742E426173652E446C6C3C2F76616C75653E0D0A202020203C76616C75653E5374696D756C736F66742E5265706F72742E446C6C3C2F76616C75653E0D0A20203C2F5265666572656E636564417373656D626C6965733E0D0A20203C5265706F7274416C6961733E5265706F72743C2F5265706F7274416C6961733E0D0A20203C5265706F72744368616E6765643E362F32322F323032312031313A30343A353120414D3C2F5265706F72744368616E6765643E0D0A20203C5265706F7274437265617465643E362F32322F323032312031303A35343A333720414D3C2F5265706F7274437265617465643E0D0A20203C5265706F727446696C65202F3E0D0A20203C5265706F7274477569643E30613562353830613266663234616631613430356463616539363561376135613C2F5265706F7274477569643E0D0A20203C5265706F72744E616D653E5265706F72743C2F5265706F72744E616D653E0D0A20203C5265706F7274556E69743E496E636865733C2F5265706F7274556E69743E0D0A20203C5265706F727456657273696F6E3E323031342E332E303C2F5265706F727456657273696F6E3E0D0A20203C5363726970743E7573696E672053797374656D3B0D0A7573696E672053797374656D2E44726177696E673B0D0A7573696E672053797374656D2E57696E646F77732E466F726D733B0D0A7573696E672053797374656D2E446174613B0D0A7573696E67205374696D756C736F66742E436F6E74726F6C733B0D0A7573696E67205374696D756C736F66742E426173652E44726177696E673B0D0A7573696E67205374696D756C736F66742E5265706F72743B0D0A7573696E67205374696D756C736F66742E5265706F72742E4469616C6F67733B0D0A7573696E67205374696D756C736F66742E5265706F72742E436F6D706F6E656E74733B0D0A0D0A6E616D657370616365205265706F7274730D0A7B0D0A202020207075626C696320636C617373205265706F7274203A205374696D756C736F66742E5265706F72742E5374695265706F72740D0A202020207B0D0A20202020202020207075626C6963205265706F7274282920202020202020207B0D0A202020202020202020202020746869732E496E697469616C697A65436F6D706F6E656E7428293B0D0A20202020202020207D0D0A0D0A202020202020202023726567696F6E205374695265706F72742044657369676E65722067656E65726174656420636F6465202D20646F206E6F74206D6F646966790D0A090923656E64726567696F6E205374695265706F72742044657369676E65722067656E65726174656420636F6465202D20646F206E6F74206D6F646966790D0A202020207D0D0A7D0D0A3C2F5363726970743E0D0A20203C5363726970744C616E67756167653E4353686172703C2F5363726970744C616E67756167653E0D0A20203C5374796C65732069734C6973743D22747275652220636F756E743D223022202F3E0D0A3C2F53746953657269616C697A65723E, NULL, NULL, 16, NULL, 1)

INSERT [dbo].[Fix_Reports] ([RowID], [RowName], [ReportFile], [RowDesc], [UniqueIdentifierValue], [sectionid], [reportstring], [Branch_id]) VALUES (39, N'رسید ارسال فاکتور ', 0xEFBBBF3C3F786D6C2076657273696F6E3D22312E302220656E636F64696E673D227574662D3822207374616E64616C6F6E653D22796573223F3E0D0A3C53746953657269616C697A65722076657273696F6E3D22312E30322220747970653D224E657422206170706C69636174696F6E3D225374695265706F7274223E0D0A20203C44696374696F6E617279205265663D22312220747970653D2244696374696F6E617279222069734B65793D2274727565223E0D0A202020203C427573696E6573734F626A656374732069734C6973743D22747275652220636F756E743D223022202F3E0D0A202020203C4461746162617365732069734C6973743D22747275652220636F756E743D223022202F3E0D0A202020203C44617461536F75726365732069734C6973743D22747275652220636F756E743D2232223E0D0A2020202020203C696E766F696365686561646572205265663D22322220747970653D225374696D756C736F66742E5265706F72742E44696374696F6E6172792E537469427573696E6573734F626A656374536F75726365222069734B65793D2274727565223E0D0A20202020202020203C416C6961733E696E766F6963656865616465723C2F416C6961733E0D0A20202020202020203C436F6C756D6E732069734C6973743D22747275652220636F756E743D223337223E0D0A202020202020202020203C76616C75653E476F6F6449642C53797374656D2E496E7436343C2F76616C75653E0D0A202020202020202020203C76616C75653E476F6F6443617465676F72792C53797374656D2E537472696E673C2F76616C75653E0D0A202020202020202020203C76616C75653E4D61696E5F4D656173757265556E69742C53797374656D2E537472696E673C2F76616C75653E0D0A202020202020202020203C76616C75653E44656661756C745F4D656173757265556E69742C53797374656D2E537472696E673C2F76616C75653E0D0A202020202020202020203C76616C75653E446973636F756E7447726F7570476F6F642C53797374656D2E537472696E673C2F76616C75653E0D0A202020202020202020203C76616C75653E54617847726F7570476F6F642C53797374656D2E537472696E673C2F76616C75653E0D0A202020202020202020203C76616C75653E426172636F64652C53797374656D2E537472696E673C2F76616C75653E0D0A202020202020202020203C76616C75653E4E616D652C53797374656D2E537472696E673C2F76616C75653E0D0A202020202020202020203C76616C75653E4E616D65454E2C53797374656D2E537472696E673C2F76616C75653E0D0A202020202020202020203C76616C75653E507572636861736550726963652C53797374656D2E446563696D616C3C2F76616C75653E0D0A202020202020202020203C76616C75653E53616C6550726963652C53797374656D2E446563696D616C3C2F76616C75653E0D0A202020202020202020203C76616C75653E4F72646572506F696E742C53797374656D2E446F75626C653C2F76616C75653E0D0A202020202020202020203C76616C75653E466972737453746F636B2C53797374656D2E446F75626C653C2F76616C75653E0D0A202020202020202020203C76616C75653E446973636F756E7450726963652C53797374656D2E446563696D616C3C2F76616C75653E0D0A202020202020202020203C76616C75653E49734163746976652C53797374656D2E426F6F6C65616E3C2F76616C75653E0D0A202020202020202020203C76616C75653E526F77446573632C53797374656D2E537472696E673C2F76616C75653E0D0A202020202020202020203C76616C75653E496E73657274656442792C53797374656D2E496E7431363C2F76616C75653E0D0A202020202020202020203C76616C75653E5570646174656442792C53797374656D2E496E7431363C2F76616C75653E0D0A202020202020202020203C76616C75653E4644617465496E736572742C53797374656D2E537472696E673C2F76616C75653E0D0A202020202020202020203C76616C75653E46446174655570646174652C53797374656D2E537472696E673C2F76616C75653E0D0A202020202020202020203C76616C75653E4654696D65496E736572742C53797374656D2E537472696E673C2F76616C75653E0D0A202020202020202020203C76616C75653E4654696D655570646174652C53797374656D2E537472696E673C2F76616C75653E0D0A202020202020202020203C76616C75653E496E736572745365727665724461746554696D652C53797374656D2E4461746554696D653C2F76616C75653E0D0A202020202020202020203C76616C75653E5570646174655365727665724461746554696D652C53797374656D2E4461746554696D653C2F76616C75653E0D0A202020202020202020203C76616C75653E526F7755706461746556657273696F6E2C53797374656D2E496E7431363C2F76616C75653E0D0A202020202020202020203C76616C75653E50757263686173655072696365417665726167652C53797374656D2E446563696D616C3C2F76616C75653E0D0A202020202020202020203C76616C75653E497348617353697A652C53797374656D2E426F6F6C65616E3C2F76616C75653E0D0A202020202020202020203C76616C75653E46446174652C53797374656D2E537472696E673C2F76616C75653E0D0A202020202020202020203C76616C75653E4D446174652C53797374656D2E4461746554696D653C2F76616C75653E0D0A202020202020202020203C76616C75653E476F6F644E616D65496E646578496E5072696E74496E766F6963652C53797374656D2E496E7431363C2F76616C75653E0D0A202020202020202020203C76616C75653E436F6E73756D657250726963652C53797374656D2E446563696D616C3C2F76616C75653E0D0A202020202020202020203C76616C75653E496E746572657374526174652C53797374656D2E446F75626C653C2F76616C75653E0D0A202020202020202020203C76616C75653E42726965664465736372697074696F6E2C53797374656D2E537472696E673C2F76616C75653E0D0A202020202020202020203C76616C75653E46756C6C4465736372697074696F6E2C53797374656D2E537472696E673C2F76616C75653E0D0A202020202020202020203C76616C75653E49735370656369616C53616C652C53797374656D2E426F6F6C65616E3C2F76616C75653E0D0A202020202020202020203C76616C75653E5F49442C53797374656D2E496E7433323C2F76616C75653E0D0A202020202020202020203C76616C75653E5F43757272656E742C53797374656D2E4F626A6563743C2F76616C75653E0D0A20202020202020203C2F436F6C756D6E733E0D0A20202020202020203C44696374696F6E6172792069735265663D223122202F3E0D0A20202020202020203C4973436C6F75643E46616C73653C2F4973436C6F75643E0D0A20202020202020203C4E616D653E696E766F6963656865616465723C2F4E616D653E0D0A20202020202020203C4E616D65496E536F757263653E696E766F6963656865616465723C2F4E616D65496E536F757263653E0D0A2020202020203C2F696E766F6963656865616465723E0D0A2020202020203C737562696E766F696365205265663D22332220747970653D225374696D756C736F66742E5265706F72742E44696374696F6E6172792E537469427573696E6573734F626A656374536F75726365222069734B65793D2274727565223E0D0A20202020202020203C416C6961733E737562696E766F6963653C2F416C6961733E0D0A20202020202020203C436F6C756D6E732069734C6973743D22747275652220636F756E743D223238223E0D0A202020202020202020203C76616C75653E526F7749442C53797374656D2E496E7433323C2F76616C75653E0D0A202020202020202020203C76616C75653E4272616E63685F49442C53797374656D2E496E7433323C2F76616C75653E0D0A202020202020202020203C76616C75653E46696E616E6369616C596561725F49442C53797374656D2E496E7431363C2F76616C75653E0D0A202020202020202020203C76616C75653E5768446F63485F49442C53797374656D2E496E7433323C2F76616C75653E0D0A202020202020202020203C76616C75653E476F6F645F49442C53797374656D2E496E7433323C2F76616C75653E0D0A202020202020202020203C76616C75653E476F6F642C53797374656D2E537472696E673C2F76616C75653E0D0A202020202020202020203C76616C75653E4D656173757265556E69742C53797374656D2E537472696E673C2F76616C75653E0D0A202020202020202020203C76616C75653E4D61696E5F4D656173757265556E69742C53797374656D2E537472696E673C2F76616C75653E0D0A202020202020202020203C76616C75653E4669785F446973636F756E74547970655F49442C53797374656D2E427974653C2F76616C75653E0D0A202020202020202020203C76616C75653E56616C7565732C53797374656D2E446F75626C653C2F76616C75653E0D0A202020202020202020203C76616C75653E556E697450726963652C53797374656D2E446563696D616C3C2F76616C75653E0D0A202020202020202020203C76616C75653E546F74616C50726963652C53797374656D2E446563696D616C3C2F76616C75653E0D0A202020202020202020203C76616C75653E5175616E74697479496E556E697450726963652C53797374656D2E446563696D616C3C2F76616C75653E0D0A202020202020202020203C76616C75653E446973636F756E7450657263656E742C53797374656D2E446F75626C653C2F76616C75653E0D0A202020202020202020203C76616C75653E446973636F756E7450726963652C53797374656D2E446563696D616C3C2F76616C75653E0D0A202020202020202020203C76616C75653E5075726368617365556E697450726963652C53797374656D2E446563696D616C3C2F76616C75653E0D0A202020202020202020203C76616C75653E5075726368617365546F74616C50726963652C53797374656D2E446563696D616C3C2F76616C75653E0D0A202020202020202020203C76616C75653E54617850657263656E742C53797374656D2E446F75626C653C2F76616C75653E0D0A202020202020202020203C76616C75653E54617850726963652C53797374656D2E446563696D616C3C2F76616C75653E0D0A202020202020202020203C76616C75653E53616C65556E697450726963652C53797374656D2E446563696D616C3C2F76616C75653E0D0A202020202020202020203C76616C75653E526F77446573632C53797374656D2E537472696E673C2F76616C75653E0D0A202020202020202020203C76616C75653E5075726368617365546F74616C5072696365417665726167652C53797374656D2E446563696D616C3C2F76616C75653E0D0A202020202020202020203C76616C75653E476F6F6453697A652C53797374656D2E537472696E673C2F76616C75653E0D0A202020202020202020203C76616C75653E436F6E73756D657250726963652C53797374656D2E446563696D616C3C2F76616C75653E0D0A202020202020202020203C76616C75653E53756D436F6E73756D657250726963652C53797374656D2E446563696D616C3C2F76616C75653E0D0A202020202020202020203C76616C75653E50726F666F726D61485F49442C53797374656D2E496E7433323C2F76616C75653E0D0A202020202020202020203C76616C75653E5F49442C53797374656D2E496E7433323C2F76616C75653E0D0A202020202020202020203C76616C75653E5F43757272656E742C53797374656D2E4F626A6563743C2F76616C75653E0D0A20202020202020203C2F436F6C756D6E733E0D0A20202020202020203C44696374696F6E6172792069735265663D223122202F3E0D0A20202020202020203C4973436C6F75643E46616C73653C2F4973436C6F75643E0D0A20202020202020203C4E616D653E737562696E766F6963653C2F4E616D653E0D0A20202020202020203C4E616D65496E536F757263653E737562696E766F6963653C2F4E616D65496E536F757263653E0D0A2020202020203C2F737562696E766F6963653E0D0A202020203C2F44617461536F75726365733E0D0A202020203C52656C6174696F6E732069734C6973743D22747275652220636F756E743D223022202F3E0D0A202020203C5265706F72742069735265663D223022202F3E0D0A202020203C5661726961626C65732069734C6973743D22747275652220636F756E743D2235223E0D0A2020202020203C76616C75653E2C496E766F696365436F64652C496E766F696365436F64652C53797374656D2E537472696E672C2C46616C73652C46616C73653C2F76616C75653E0D0A2020202020203C76616C75653E2C446174652C446174652C53797374656D2E537472696E672C2C46616C73652C46616C73653C2F76616C75653E0D0A2020202020203C76616C75653E2C54696D652C54696D652C53797374656D2E537472696E672C2C46616C73652C46616C73653C2F76616C75653E0D0A2020202020203C76616C75653E2C436173686965724E616D652C436173686965724E616D652C53797374656D2E537472696E672C2C46616C73652C46616C73653C2F76616C75653E0D0A2020202020203C76616C75653E2C53797374656D4E616D652C53797374656D4E616D652C53797374656D2E537472696E672C2C46616C73652C46616C73653C2F76616C75653E0D0A202020203C2F5661726961626C65733E0D0A20203C2F44696374696F6E6172793E0D0A20203C456E67696E6556657273696F6E3E456E67696E6556323C2F456E67696E6556657273696F6E3E0D0A20203C476C6F62616C697A6174696F6E537472696E67732069734C6973743D22747275652220636F756E743D223022202F3E0D0A20203C4D657461546167732069734C6973743D22747275652220636F756E743D223022202F3E0D0A20203C50616765732069734C6973743D22747275652220636F756E743D2231223E0D0A202020203C5061676531205265663D22342220747970653D2250616765222069734B65793D2274727565223E0D0A2020202020203C426F726465723E4E6F6E653B426C61636B3B323B536F6C69643B46616C73653B343B426C61636B3C2F426F726465723E0D0A2020202020203C42727573683E5472616E73706172656E743C2F42727573683E0D0A2020202020203C436F6D706F6E656E74732069734C6973743D22747275652220636F756E743D2233223E0D0A20202020202020203C5265706F72745469746C6542616E6431205265663D22352220747970653D225265706F72745469746C6542616E64222069734B65793D2274727565223E0D0A202020202020202020203C42727573683E5472616E73706172656E743C2F42727573683E0D0A202020202020202020203C436C69656E7452656374616E676C653E302C302E322C372E37322C312E333C2F436C69656E7452656374616E676C653E0D0A202020202020202020203C436F6D706F6E656E74732069734C6973743D22747275652220636F756E743D2231223E0D0A2020202020202020202020203C5465787431205265663D22362220747970653D2254657874222069734B65793D2274727565223E0D0A20202020202020202020202020203C42727573683E5472616E73706172656E743C2F42727573683E0D0A20202020202020202020202020203C436C69656E7452656374616E676C653E302E312C302C372E352C312E313C2F436C69656E7452656374616E676C653E0D0A20202020202020202020202020203C436F6E646974696F6E732069734C6973743D22747275652220636F756E743D223022202F3E0D0A20202020202020202020202020203C466F6E743E4220546974722C33322C426F6C643C2F466F6E743E0D0A20202020202020202020202020203C486F72416C69676E6D656E743E43656E7465723C2F486F72416C69676E6D656E743E0D0A20202020202020202020202020203C4D617267696E733E302C302C302C303C2F4D617267696E733E0D0A20202020202020202020202020203C4E616D653E54657874313C2F4E616D653E0D0A20202020202020202020202020203C506167652069735265663D223422202F3E0D0A20202020202020202020202020203C506172656E742069735265663D223522202F3E0D0A20202020202020202020202020203C546578743ED8B1D8B3DB8CD8AF20D8A7D8B1D8B3D8A7D98420D981D8A7DAA9D8AAD988D8B13C2F546578743E0D0A20202020202020202020202020203C5465787442727573683E426C61636B3C2F5465787442727573683E0D0A20202020202020202020202020203C547970653E45787072657373696F6E3C2F547970653E0D0A20202020202020202020202020203C56657274416C69676E6D656E743E43656E7465723C2F56657274416C69676E6D656E743E0D0A2020202020202020202020203C2F54657874313E0D0A202020202020202020203C2F436F6D706F6E656E74733E0D0A202020202020202020203C436F6E646974696F6E732069734C6973743D22747275652220636F756E743D223022202F3E0D0A202020202020202020203C4E616D653E5265706F72745469746C6542616E64313C2F4E616D653E0D0A202020202020202020203C506167652069735265663D223422202F3E0D0A202020202020202020203C506172656E742069735265663D223422202F3E0D0A20202020202020203C2F5265706F72745469746C6542616E64313E0D0A20202020202020203C4461746142616E6432205265663D22372220747970653D224461746142616E64222069734B65793D2274727565223E0D0A202020202020202020203C42727573683E5472616E73706172656E743C2F42727573683E0D0A202020202020202020203C436C69656E7452656374616E676C653E302C312E392C372E37322C302E383C2F436C69656E7452656374616E676C653E0D0A202020202020202020203C436F6D706F6E656E74732069734C6973743D22747275652220636F756E743D2235223E0D0A2020202020202020202020203C5465787432205265663D22382220747970653D2254657874222069734B65793D2274727565223E0D0A20202020202020202020202020203C426F726465723E546F702C2052696768742C20426F74746F6D3B426C61636B3B313B536F6C69643B46616C73653B343B426C61636B3C2F426F726465723E0D0A20202020202020202020202020203C42727573683E5B3139313A3139313A3139315D3C2F42727573683E0D0A20202020202020202020202020203C436C69656E7452656374616E676C653E362E312C302E312C312E352C302E353C2F436C69656E7452656374616E676C653E0D0A20202020202020202020202020203C436F6E646974696F6E732069734C6973743D22747275652220636F756E743D223022202F3E0D0A20202020202020202020202020203C466F6E743E42204E617A616E696E2C31362C426F6C643C2F466F6E743E0D0A20202020202020202020202020203C486F72416C69676E6D656E743E43656E7465723C2F486F72416C69676E6D656E743E0D0A20202020202020202020202020203C4D617267696E733E302C302C302C303C2F4D617267696E733E0D0A20202020202020202020202020203C4E616D653E54657874323C2F4E616D653E0D0A20202020202020202020202020203C506167652069735265663D223422202F3E0D0A20202020202020202020202020203C506172656E742069735265663D223722202F3E0D0A20202020202020202020202020203C546578743ED8AAD8A7D8B1DB8CD8AE3C2F546578743E0D0A20202020202020202020202020203C5465787442727573683E426C61636B3C2F5465787442727573683E0D0A20202020202020202020202020203C547970653E45787072657373696F6E3C2F547970653E0D0A20202020202020202020202020203C56657274416C69676E6D656E743E43656E7465723C2F56657274416C69676E6D656E743E0D0A2020202020202020202020203C2F54657874323E0D0A2020202020202020202020203C5465787433205265663D22392220747970653D2254657874222069734B65793D2274727565223E0D0A20202020202020202020202020203C426F726465723E546F702C20426F74746F6D3B426C61636B3B313B536F6C69643B46616C73653B343B426C61636B3C2F426F726465723E0D0A20202020202020202020202020203C42727573683E5B3139313A3139313A3139315D3C2F42727573683E0D0A20202020202020202020202020203C436C69656E7452656374616E676C653E342E372C302E312C312E342C302E353C2F436C69656E7452656374616E676C653E0D0A20202020202020202020202020203C436F6E646974696F6E732069734C6973743D22747275652220636F756E743D223022202F3E0D0A20202020202020202020202020203C466F6E743E42204E617A616E696E2C31362C426F6C643C2F466F6E743E0D0A20202020202020202020202020203C486F72416C69676E6D656E743E43656E7465723C2F486F72416C69676E6D656E743E0D0A20202020202020202020202020203C4D617267696E733E302C302C302C303C2F4D617267696E733E0D0A20202020202020202020202020203C4E616D653E54657874333C2F4E616D653E0D0A20202020202020202020202020203C506167652069735265663D223422202F3E0D0A20202020202020202020202020203C506172656E742069735265663D223722202F3E0D0A20202020202020202020202020203C546578743ED8B3D8A7D8B9D8AA3C2F546578743E0D0A20202020202020202020202020203C5465787442727573683E426C61636B3C2F5465787442727573683E0D0A20202020202020202020202020203C547970653E45787072657373696F6E3C2F547970653E0D0A20202020202020202020202020203C56657274416C69676E6D656E743E43656E7465723C2F56657274416C69676E6D656E743E0D0A2020202020202020202020203C2F54657874333E0D0A2020202020202020202020203C5465787434205265663D2231302220747970653D2254657874222069734B65793D2274727565223E0D0A20202020202020202020202020203C426F726465723E546F702C20426F74746F6D3B426C61636B3B313B536F6C69643B46616C73653B343B426C61636B3C2F426F726465723E0D0A20202020202020202020202020203C42727573683E5B3139313A3139313A3139315D3C2F42727573683E0D0A20202020202020202020202020203C436C69656E7452656374616E676C653E332E322C302E312C312E352C302E353C2F436C69656E7452656374616E676C653E0D0A20202020202020202020202020203C436F6E646974696F6E732069734C6973743D22747275652220636F756E743D223022202F3E0D0A20202020202020202020202020203C466F6E743E42204E617A616E696E2C31362C426F6C643C2F466F6E743E0D0A20202020202020202020202020203C486F72416C69676E6D656E743E43656E7465723C2F486F72416C69676E6D656E743E0D0A20202020202020202020202020203C4D617267696E733E302C302C302C303C2F4D617267696E733E0D0A20202020202020202020202020203C4E616D653E54657874343C2F4E616D653E0D0A20202020202020202020202020203C506167652069735265663D223422202F3E0D0A20202020202020202020202020203C506172656E742069735265663D223722202F3E0D0A20202020202020202020202020203C546578743ED986D8A7D98520D8B5D986D8AFD988D982D8AFD8A7D8B13C2F546578743E0D0A20202020202020202020202020203C5465787442727573683E426C61636B3C2F5465787442727573683E0D0A20202020202020202020202020203C547970653E45787072657373696F6E3C2F547970653E0D0A20202020202020202020202020203C56657274416C69676E6D656E743E43656E7465723C2F56657274416C69676E6D656E743E0D0A2020202020202020202020203C2F54657874343E0D0A2020202020202020202020203C5465787435205265663D2231312220747970653D2254657874222069734B65793D2274727565223E0D0A20202020202020202020202020203C426F726465723E546F702C20426F74746F6D3B426C61636B3B313B536F6C69643B46616C73653B343B426C61636B3C2F426F726465723E0D0A20202020202020202020202020203C42727573683E5B3139313A3139313A3139315D3C2F42727573683E0D0A20202020202020202020202020203C436C69656E7452656374616E676C653E312E362C302E312C312E362C302E353C2F436C69656E7452656374616E676C653E0D0A20202020202020202020202020203C436F6E646974696F6E732069734C6973743D22747275652220636F756E743D223022202F3E0D0A20202020202020202020202020203C466F6E743E42204E617A616E696E2C31362C426F6C643C2F466F6E743E0D0A20202020202020202020202020203C486F72416C69676E6D656E743E43656E7465723C2F486F72416C69676E6D656E743E0D0A20202020202020202020202020203C4D617267696E733E302C302C302C303C2F4D617267696E733E0D0A20202020202020202020202020203C4E616D653E54657874353C2F4E616D653E0D0A20202020202020202020202020203C506167652069735265663D223422202F3E0D0A20202020202020202020202020203C506172656E742069735265663D223722202F3E0D0A20202020202020202020202020203C546578743ED8B3DB8CD8B3D8AAD9853C2F546578743E0D0A20202020202020202020202020203C5465787442727573683E426C61636B3C2F5465787442727573683E0D0A20202020202020202020202020203C547970653E45787072657373696F6E3C2F547970653E0D0A20202020202020202020202020203C56657274416C69676E6D656E743E43656E7465723C2F56657274416C69676E6D656E743E0D0A2020202020202020202020203C2F54657874353E0D0A2020202020202020202020203C5465787436205265663D2231322220747970653D2254657874222069734B65793D2274727565223E0D0A20202020202020202020202020203C426F726465723E546F702C204C6566742C20426F74746F6D3B426C61636B3B313B536F6C69643B46616C73653B343B426C61636B3C2F426F726465723E0D0A20202020202020202020202020203C42727573683E5B3139313A3139313A3139315D3C2F42727573683E0D0A20202020202020202020202020203C436C69656E7452656374616E676C653E302E312C302E312C312E352C302E353C2F436C69656E7452656374616E676C653E0D0A20202020202020202020202020203C436F6E646974696F6E732069734C6973743D22747275652220636F756E743D223022202F3E0D0A20202020202020202020202020203C466F6E743E42204E617A616E696E2C31362C426F6C643C2F466F6E743E0D0A20202020202020202020202020203C486F72416C69676E6D656E743E43656E7465723C2F486F72416C69676E6D656E743E0D0A20202020202020202020202020203C4D617267696E733E302C302C302C303C2F4D617267696E733E0D0A20202020202020202020202020203C4E616D653E54657874363C2F4E616D653E0D0A20202020202020202020202020203C506167652069735265663D223422202F3E0D0A20202020202020202020202020203C506172656E742069735265663D223722202F3E0D0A20202020202020202020202020203C546578743EDAA9D8AF20D8AFD8B1DB8CD8A7D981D8AA20D981D8A7DAA9D8AAD988D8B13C2F546578743E0D0A20202020202020202020202020203C5465787442727573683E426C61636B3C2F5465787442727573683E0D0A20202020202020202020202020203C547970653E45787072657373696F6E3C2F547970653E0D0A20202020202020202020202020203C56657274416C69676E6D656E743E43656E7465723C2F56657274416C69676E6D656E743E0D0A2020202020202020202020203C2F54657874363E0D0A202020202020202020203C2F436F6D706F6E656E74733E0D0A202020202020202020203C436F6E646974696F6E732069734C6973743D22747275652220636F756E743D223022202F3E0D0A202020202020202020203C4461746152656C6174696F6E4E616D652069734E756C6C3D227472756522202F3E0D0A202020202020202020203C46696C746572732069734C6973743D22747275652220636F756E743D223022202F3E0D0A202020202020202020203C4E616D653E4461746142616E64323C2F4E616D653E0D0A202020202020202020203C506167652069735265663D223422202F3E0D0A202020202020202020203C506172656E742069735265663D223422202F3E0D0A202020202020202020203C536F72742069734C6973743D22747275652220636F756E743D223022202F3E0D0A20202020202020203C2F4461746142616E64323E0D0A20202020202020203C4461746142616E6431205265663D2231332220747970653D224461746142616E64222069734B65793D2274727565223E0D0A202020202020202020203C42727573683E5472616E73706172656E743C2F42727573683E0D0A202020202020202020203C436C69656E7452656374616E676C653E302C332E312C372E37322C302E373C2F436C69656E7452656374616E676C653E0D0A202020202020202020203C436F6D706F6E656E74732069734C6973743D22747275652220636F756E743D2235223E0D0A2020202020202020202020203C5465787437205265663D2231342220747970653D2254657874222069734B65793D2274727565223E0D0A20202020202020202020202020203C426F726465723E546F702C2052696768742C20426F74746F6D3B426C61636B3B313B536F6C69643B46616C73653B343B426C61636B3C2F426F726465723E0D0A20202020202020202020202020203C42727573683E5B3231393A3232393A3234315D3C2F42727573683E0D0A20202020202020202020202020203C436C69656E7452656374616E676C653E362E312C302E312C312E352C302E353C2F436C69656E7452656374616E676C653E0D0A20202020202020202020202020203C436F6E646974696F6E732069734C6973743D22747275652220636F756E743D223022202F3E0D0A20202020202020202020202020203C466F6E743E42204E617A616E696E2C31342C426F6C643C2F466F6E743E0D0A20202020202020202020202020203C486F72416C69676E6D656E743E43656E7465723C2F486F72416C69676E6D656E743E0D0A20202020202020202020202020203C4D617267696E733E302C302C302C303C2F4D617267696E733E0D0A20202020202020202020202020203C4E616D653E54657874373C2F4E616D653E0D0A20202020202020202020202020203C506167652069735265663D223422202F3E0D0A20202020202020202020202020203C506172656E742069735265663D22313322202F3E0D0A20202020202020202020202020203C546578743E7B446174657D3C2F546578743E0D0A20202020202020202020202020203C5465787442727573683E426C61636B3C2F5465787442727573683E0D0A20202020202020202020202020203C547970653E45787072657373696F6E3C2F547970653E0D0A20202020202020202020202020203C56657274416C69676E6D656E743E43656E7465723C2F56657274416C69676E6D656E743E0D0A2020202020202020202020203C2F54657874373E0D0A2020202020202020202020203C5465787438205265663D2231352220747970653D2254657874222069734B65793D2274727565223E0D0A20202020202020202020202020203C426F726465723E546F702C20426F74746F6D3B426C61636B3B313B536F6C69643B46616C73653B343B426C61636B3C2F426F726465723E0D0A20202020202020202020202020203C42727573683E5B3231393A3232393A3234315D3C2F42727573683E0D0A20202020202020202020202020203C436C69656E7452656374616E676C653E342E372C302E312C312E342C302E353C2F436C69656E7452656374616E676C653E0D0A20202020202020202020202020203C436F6E646974696F6E732069734C6973743D22747275652220636F756E743D223022202F3E0D0A20202020202020202020202020203C466F6E743E42204E617A616E696E2C31342C426F6C643C2F466F6E743E0D0A20202020202020202020202020203C486F72416C69676E6D656E743E43656E7465723C2F486F72416C69676E6D656E743E0D0A20202020202020202020202020203C4D617267696E733E302C302C302C303C2F4D617267696E733E0D0A20202020202020202020202020203C4E616D653E54657874383C2F4E616D653E0D0A20202020202020202020202020203C506167652069735265663D223422202F3E0D0A20202020202020202020202020203C506172656E742069735265663D22313322202F3E0D0A20202020202020202020202020203C546578743E7B54696D657D3C2F546578743E0D0A20202020202020202020202020203C5465787442727573683E426C61636B3C2F5465787442727573683E0D0A20202020202020202020202020203C547970653E45787072657373696F6E3C2F547970653E0D0A20202020202020202020202020203C56657274416C69676E6D656E743E43656E7465723C2F56657274416C69676E6D656E743E0D0A2020202020202020202020203C2F54657874383E0D0A2020202020202020202020203C5465787439205265663D2231362220747970653D2254657874222069734B65793D2274727565223E0D0A20202020202020202020202020203C426F726465723E546F702C20426F74746F6D3B426C61636B3B313B536F6C69643B46616C73653B343B426C61636B3C2F426F726465723E0D0A20202020202020202020202020203C42727573683E5B3231393A3232393A3234315D3C2F42727573683E0D0A20202020202020202020202020203C436C69656E7452656374616E676C653E332E322C302E312C312E352C302E353C2F436C69656E7452656374616E676C653E0D0A20202020202020202020202020203C436F6E646974696F6E732069734C6973743D22747275652220636F756E743D223022202F3E0D0A20202020202020202020202020203C466F6E743E42204E617A616E696E2C31342C426F6C643C2F466F6E743E0D0A20202020202020202020202020203C486F72416C69676E6D656E743E43656E7465723C2F486F72416C69676E6D656E743E0D0A20202020202020202020202020203C4D617267696E733E302C302C302C303C2F4D617267696E733E0D0A20202020202020202020202020203C4E616D653E54657874393C2F4E616D653E0D0A20202020202020202020202020203C506167652069735265663D223422202F3E0D0A20202020202020202020202020203C506172656E742069735265663D22313322202F3E0D0A20202020202020202020202020203C546578743E7B436173686965724E616D657D3C2F546578743E0D0A20202020202020202020202020203C5465787442727573683E426C61636B3C2F5465787442727573683E0D0A20202020202020202020202020203C547970653E45787072657373696F6E3C2F547970653E0D0A20202020202020202020202020203C56657274416C69676E6D656E743E43656E7465723C2F56657274416C69676E6D656E743E0D0A2020202020202020202020203C2F54657874393E0D0A2020202020202020202020203C546578743130205265663D2231372220747970653D2254657874222069734B65793D2274727565223E0D0A20202020202020202020202020203C426F726465723E546F702C20426F74746F6D3B426C61636B3B313B536F6C69643B46616C73653B343B426C61636B3C2F426F726465723E0D0A20202020202020202020202020203C42727573683E5B3231393A3232393A3234315D3C2F42727573683E0D0A20202020202020202020202020203C436C69656E7452656374616E676C653E312E362C302E312C312E362C302E353C2F436C69656E7452656374616E676C653E0D0A20202020202020202020202020203C436F6E646974696F6E732069734C6973743D22747275652220636F756E743D223022202F3E0D0A20202020202020202020202020203C466F6E743E42204E617A616E696E2C31342C426F6C643C2F466F6E743E0D0A20202020202020202020202020203C486F72416C69676E6D656E743E43656E7465723C2F486F72416C69676E6D656E743E0D0A20202020202020202020202020203C4D617267696E733E302C302C302C303C2F4D617267696E733E0D0A20202020202020202020202020203C4E616D653E5465787431303C2F4E616D653E0D0A20202020202020202020202020203C506167652069735265663D223422202F3E0D0A20202020202020202020202020203C506172656E742069735265663D22313322202F3E0D0A20202020202020202020202020203C546578743E7B53797374656D4E616D657D3C2F546578743E0D0A20202020202020202020202020203C5465787442727573683E426C61636B3C2F5465787442727573683E0D0A20202020202020202020202020203C547970653E45787072657373696F6E3C2F547970653E0D0A20202020202020202020202020203C56657274416C69676E6D656E743E43656E7465723C2F56657274416C69676E6D656E743E0D0A2020202020202020202020203C2F5465787431303E0D0A2020202020202020202020203C546578743131205265663D2231382220747970653D2254657874222069734B65793D2274727565223E0D0A20202020202020202020202020203C426F726465723E546F702C204C6566742C20426F74746F6D3B426C61636B3B313B536F6C69643B46616C73653B343B426C61636B3C2F426F726465723E0D0A20202020202020202020202020203C42727573683E5B3231393A3232393A3234315D3C2F42727573683E0D0A20202020202020202020202020203C436C69656E7452656374616E676C653E302E312C302E312C312E352C302E353C2F436C69656E7452656374616E676C653E0D0A20202020202020202020202020203C436F6E646974696F6E732069734C6973743D22747275652220636F756E743D223022202F3E0D0A20202020202020202020202020203C466F6E743E42204E617A616E696E2C31342C426F6C643C2F466F6E743E0D0A20202020202020202020202020203C486F72416C69676E6D656E743E43656E7465723C2F486F72416C69676E6D656E743E0D0A20202020202020202020202020203C4D617267696E733E302C302C302C303C2F4D617267696E733E0D0A20202020202020202020202020203C4E616D653E5465787431313C2F4E616D653E0D0A20202020202020202020202020203C506167652069735265663D223422202F3E0D0A20202020202020202020202020203C506172656E742069735265663D22313322202F3E0D0A20202020202020202020202020203C546578743E7B496E766F696365436F64657D3C2F546578743E0D0A20202020202020202020202020203C5465787442727573683E426C61636B3C2F5465787442727573683E0D0A20202020202020202020202020203C547970653E45787072657373696F6E3C2F547970653E0D0A20202020202020202020202020203C56657274416C69676E6D656E743E43656E7465723C2F56657274416C69676E6D656E743E0D0A2020202020202020202020203C2F5465787431313E0D0A202020202020202020203C2F436F6D706F6E656E74733E0D0A202020202020202020203C436F6E646974696F6E732069734C6973743D22747275652220636F756E743D223022202F3E0D0A202020202020202020203C4461746152656C6174696F6E4E616D652069734E756C6C3D227472756522202F3E0D0A202020202020202020203C46696C746572732069734C6973743D22747275652220636F756E743D223022202F3E0D0A202020202020202020203C4E616D653E4461746142616E64313C2F4E616D653E0D0A202020202020202020203C506167652069735265663D223422202F3E0D0A202020202020202020203C506172656E742069735265663D223422202F3E0D0A202020202020202020203C536F72742069734C6973743D22747275652220636F756E743D223022202F3E0D0A20202020202020203C2F4461746142616E64313E0D0A2020202020203C2F436F6D706F6E656E74733E0D0A2020202020203C436F6E646974696F6E732069734C6973743D22747275652220636F756E743D223022202F3E0D0A2020202020203C477569643E39363836303965313566613434373666383534363939353439346361386466313C2F477569643E0D0A2020202020203C4D617267696E733E302E33392C302E33392C302E33392C302E33393C2F4D617267696E733E0D0A2020202020203C4E616D653E50616765313C2F4E616D653E0D0A2020202020203C506167654865696768743E31313C2F506167654865696768743E0D0A2020202020203C5061676557696474683E382E353C2F5061676557696474683E0D0A2020202020203C506170657253697A653E4C65747465723C2F506170657253697A653E0D0A2020202020203C5265706F72742069735265663D223022202F3E0D0A2020202020203C57617465726D61726B205265663D2231392220747970653D225374696D756C736F66742E5265706F72742E436F6D706F6E656E74732E53746957617465726D61726B222069734B65793D2274727565223E0D0A20202020202020203C466F6E743E417269616C2C3130303C2F466F6E743E0D0A20202020202020203C5465787442727573683E5B35303A303A303A305D3C2F5465787442727573683E0D0A2020202020203C2F57617465726D61726B3E0D0A202020203C2F50616765313E0D0A20203C2F50616765733E0D0A20203C5072696E74657253657474696E6773205265663D2232302220747970653D225374696D756C736F66742E5265706F72742E5072696E742E5374695072696E74657253657474696E6773222069734B65793D227472756522202F3E0D0A20203C5265666572656E636564417373656D626C6965732069734C6973743D22747275652220636F756E743D2238223E0D0A202020203C76616C75653E53797374656D2E446C6C3C2F76616C75653E0D0A202020203C76616C75653E53797374656D2E44726177696E672E446C6C3C2F76616C75653E0D0A202020203C76616C75653E53797374656D2E57696E646F77732E466F726D732E446C6C3C2F76616C75653E0D0A202020203C76616C75653E53797374656D2E446174612E446C6C3C2F76616C75653E0D0A202020203C76616C75653E53797374656D2E586D6C2E446C6C3C2F76616C75653E0D0A202020203C76616C75653E5374696D756C736F66742E436F6E74726F6C732E446C6C3C2F76616C75653E0D0A202020203C76616C75653E5374696D756C736F66742E426173652E446C6C3C2F76616C75653E0D0A202020203C76616C75653E5374696D756C736F66742E5265706F72742E446C6C3C2F76616C75653E0D0A20203C2F5265666572656E636564417373656D626C6965733E0D0A20203C5265706F7274416C6961733E5265706F72743C2F5265706F7274416C6961733E0D0A20203C5265706F72744368616E6765643E362F32322F323032312031323A33303A313720504D3C2F5265706F72744368616E6765643E0D0A20203C5265706F7274437265617465643E362F32322F323032312031313A32373A343020414D3C2F5265706F7274437265617465643E0D0A20203C5265706F727446696C65202F3E0D0A20203C5265706F7274477569643E38633164313134613835613934333030613437336364626363663262623438373C2F5265706F7274477569643E0D0A20203C5265706F72744E616D653E5265706F72743C2F5265706F72744E616D653E0D0A20203C5265706F7274556E69743E496E636865733C2F5265706F7274556E69743E0D0A20203C5265706F727456657273696F6E3E323031342E332E303C2F5265706F727456657273696F6E3E0D0A20203C5363726970743E7573696E672053797374656D3B0D0A7573696E672053797374656D2E44726177696E673B0D0A7573696E672053797374656D2E57696E646F77732E466F726D733B0D0A7573696E672053797374656D2E446174613B0D0A7573696E67205374696D756C736F66742E436F6E74726F6C733B0D0A7573696E67205374696D756C736F66742E426173652E44726177696E673B0D0A7573696E67205374696D756C736F66742E5265706F72743B0D0A7573696E67205374696D756C736F66742E5265706F72742E4469616C6F67733B0D0A7573696E67205374696D756C736F66742E5265706F72742E436F6D706F6E656E74733B0D0A0D0A6E616D657370616365205265706F7274730D0A7B0D0A202020207075626C696320636C617373205265706F7274203A205374696D756C736F66742E5265706F72742E5374695265706F72740D0A202020207B0D0A20202020202020207075626C6963205265706F7274282920202020202020207B0D0A202020202020202020202020746869732E496E697469616C697A65436F6D706F6E656E7428293B0D0A20202020202020207D0D0A0D0A202020202020202023726567696F6E205374695265706F72742044657369676E65722067656E65726174656420636F6465202D20646F206E6F74206D6F646966790D0A090923656E64726567696F6E205374695265706F72742044657369676E65722067656E65726174656420636F6465202D20646F206E6F74206D6F646966790D0A202020207D0D0A7D0D0A3C2F5363726970743E0D0A20203C5363726970744C616E67756167653E4353686172703C2F5363726970744C616E67756167653E0D0A20203C5374796C65732069734C6973743D22747275652220636F756E743D223022202F3E0D0A3C2F53746953657269616C697A65723E, NULL, NULL, 16, NULL, 1)

INSERT [dbo].[Fix_Reports] ([RowID], [RowName], [ReportFile], [RowDesc], [UniqueIdentifierValue], [sectionid], [reportstring], [Branch_id]) VALUES (40, N'رسید دریافت فاکتور', NULL, NULL, NULL, 16, NULL, 1)

CREATE VIEW [dbo].[EstateMergeStocksView] AS SELECT SUM(CalculatedInputValue) - SUM(CalculatedOutputValue) AS Stock, Estate_ID, FinancialYear_ID FROM dbo.EhDocD GROUP BY Estate_ID, FinancialYear_ID

CREATE VIEW [dbo].[AllEstateMergeStocksView] AS SELECT dbo.Estate.RowID AS EstateID, dbo.Estate.RowName AS EstateName, dbo.Estate.RowCode AS EstateRowCode, dbo.Estate.EstateLocation_ID AS EstateLocationID, dbo.EstateLocation.RowName AS EstateLocationName, dbo.Estate.MeasureUnit_ID AS UnitID, dbo.MeasureUnit.RowName AS Unit, dbo.EstateMergeStocksView.FinancialYear_ID, dbo.EstateMergeStocksView.Stock AS Quantity FROM dbo.Estate INNER JOIN dbo.EstateLocation ON dbo.Estate.EstateLocation_ID = dbo.EstateLocation.RowID INNER JOIN dbo.MeasureUnit ON dbo.Estate.MeasureUnit_ID = dbo.MeasureUnit.RowID LEFT OUTER JOIN dbo.EstateMergeStocksView ON dbo.EstateMergeStocksView.Estate_ID = dbo.Estate.RowID

ALTER TABLE dbo.Coffer ADD ServerRowID int NULL

ALTER TABLE dbo.Good ADD ServerRowID int NULL

ALTER TABLE dbo.Person ADD ServerRowID int NULL

ALTER TABLE dbo.AppUserSettings ADD ServerRowID smallint NULL

ALTER TABLE dbo.AppSettings ADD ServerRowID tinyint NULL

ALTER TABLE dbo.UserInfo ADD ServerRowID smallint NULL

ALTER TABLE dbo.Systems ADD ServerRowID int NULL

ALTER TABLE dbo.Systems ADD Reversion int NULL

ALTER TABLE dbo.POS ADD ServerRowID int NULL

ALTER TABLE dbo.POS ADD Reversion int NULL

ALTER TABLE dbo.CodingSystems ADD ServerRowID smallint NULL

ALTER TABLE dbo.CodingSystems ADD Reversion int NULL

ALTER TABLE dbo.GoodCodingSystems ADD ServerRowID int NULL

ALTER TABLE dbo.GoodCodingSystems ADD Reversion int NULL

ALTER TABLE dbo.MeasureUnit ADD ServerRowID int NULL

ALTER TABLE dbo.MeasureUnit ADD Reversion int NULL

ALTER TABLE dbo.GoodMeasureUnit ADD ServerRowID int NULL

ALTER TABLE dbo.GoodMeasureUnit ADD Reversion int NULL

ALTER TABLE dbo.GoodMeasureUnitCodingSystems ADD ServerRowID int NULL

ALTER TABLE dbo.GoodMeasureUnitCodingSystems ADD Reversion int NULL

ALTER TABLE dbo.Table_Discount ADD ServerRowID int NULL

CREATE TABLE [dbo].[WhDocHTemporary]([RowID] [int] IDENTITY(1,1) NOT NULL, [Branch_ID] [int] NULL, [FinancialYear_ID] [smallint] NOT NULL, [Fix_RecordStatusType_ID] [tinyint] NOT NULL, [Fix_WhDocType1_ID] [tinyint] NOT NULL, [Fix_WhDocType2_ID] [tinyint] NOT NULL, [Warehouse_ID] [smallint] NOT NULL, [Fix_DiscountType_ID] [tinyint] NULL, [Coffer_ID] [int] NULL, [Person_ID] [int] NULL, [ManufactureDocH_ID] [int] NULL, [ShiftDocH_ID] [int] NULL, [WarehouseComputationDocH_ID] [int] NULL, [DocNo] [bigint] NOT NULL, [FDate] [char](10) NOT NULL, [MDate] [datetime] NULL, [DiscountPercent] [float] NULL, [DiscountPrice] [money] NULL, [SettlePrice] [money] NULL, [TaxPercent] [float] NULL, [TaxPrice] [money] NULL, [TotalPrice] [money] NULL, [QuantityInUnitPrice] [money] NULL, [TotalDiscountPriceItems] [money] NULL, [TotalTaxPriceItems] [money] NULL, [TotalIncreasePrice] [money] NULL, [TotalDecreasePrice] [money] NULL, [PayablePrice] [money] NULL, [DefinedBySystem] [bit] NOT NULL, [ReferenceValue] [nvarchar](100) NULL, [RowDesc] [nvarchar](500) NULL, [InsertedBy] [smallint] NULL, [UpdatedBy] [smallint] NULL, [FDateInsert] [char](10) NULL, [FDateUpdate] [char](10) NULL, [FTimeInsert] [char](5) NULL, [FTimeUpdate] [char](5) NULL, [InsertServerDateTime] [datetime] NULL, [UpdateServerDateTime] [datetime] NULL, [RowUpdateVersion] [smallint] NULL, [UniqueIdentifierValue] [uniqueidentifier] NULL, [IsSend] [tinyint] NULL, [Good_ID] [int] NULL, [SumPercentPrice] [money] NULL, [FDateSettlementDeadline] [char](10) NULL, [MDateSettlementDeadline] [datetime] NULL, [IsSettled] [bit] NULL, [OrderH_ID] [bigint] NULL, [Times] [time](0) NULL, [Table_ID] [int] NULL, [DeliveryType_ID] [tinyint] NULL, [ClientRowID] [int] NULL CONSTRAINT [PK_WhDocHTemporary] PRIMARY KEY CLUSTERED([RowID] ASC)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY],) ON [PRIMARY]

CREATE TABLE [dbo].[WhDocDTemporary]([RowID] [int] IDENTITY(1,1) NOT NULL,	[Branch_ID] [int] NULL,	[FinancialYear_ID] [smallint] NOT NULL,	[WhDocH_ID] [int] NOT NULL,	[Good_ID] [int] NOT NULL, [MeasureUnit_ID] [int] NULL, [Main_MeasureUnit_ID] [int] NULL, [Fix_DiscountType_ID] [tinyint] NULL, [InputValue] [float] NOT NULL, [CalculatedInputValue] [float] NOT NULL, [OutputValue] [float] NOT NULL, [CalculatedOutputValue] [float] NOT NULL, [UnitPrice] [money] NOT NULL, [TotalPrice] [money] NOT NULL, [QuantityInUnitPrice] [money] NULL, [DiscountPercent] [float] NULL, [DiscountPrice] [money] NULL,	[PurchaseUnitPrice] [money] NULL, [PurchaseTotalPrice] [money] NULL, [TaxPercent] [float] NULL,	[TaxPrice] [money] NULL, [SaleUnitPrice] [money] NULL, [RowDesc] [nvarchar](500) NULL, [UniqueIdentifierValue] [uniqueidentifier] NULL, [IsSend] [tinyint] NULL, [PurchaseTotalPriceAverage] [money] NULL, [GoodSize] [nvarchar](50) NULL, [SortInDocH] [bigint] NULL, [SerialNumber] [nvarchar](50) NULL, [CostOfGood] [money] NULL, [ClientRowID] [int] NULL, CONSTRAINT [PK_WhDocDTemporary] PRIMARY KEY CLUSTERED ([RowID] ASC)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]) ON [PRIMARY]

CREATE TABLE [dbo].[WhDocHBankAccountTemporary]( [RowID] [int] IDENTITY(1,1) NOT NULL, [Branch_ID] [int] NULL, [WhDocH_ID] [int] NOT NULL, [BankAccount_ID] [int] NOT NULL, [SettlePrice] [money] NOT NULL, [UniqueIdentifierValue] [uniqueidentifier] NULL, [IsSend] [tinyint] NULL, [POS_ID] [int] NULL, [ClientRowID] [int] NULL, CONSTRAINT [PK_WhDocHBankAccountTemporary] PRIMARY KEY CLUSTERED ([RowID] ASC)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]) ON [PRIMARY]

ALTER TABLE dbo.WhDocH ADD ClientRowID int NULL

ALTER TABLE dbo.WhDocD ADD ClientRowID int NULL

ALTER TABLE dbo.Coffer ADD ClientRowID int NULL

ALTER TABLE dbo.Good ADD ClientRowID int NULL

ALTER TABLE dbo.Person ADD ClientRowID int NULL

ALTER TABLE dbo.AppUserSettings ADD ClientRowID smallint NULL

ALTER TABLE dbo.AppSettings ADD ClientRowID tinyint NULL

ALTER TABLE dbo.UserInfo ADD ClientRowID smallint NULL

ALTER TABLE dbo.Systems ADD ClientRowID int NULL

ALTER TABLE dbo.POS ADD ClientRowID int NULL

ALTER TABLE dbo.CodingSystems ADD ClientRowID smallint NULL

ALTER TABLE dbo.GoodCodingSystems ADD ClientRowID int NULL

ALTER TABLE dbo.MeasureUnit ADD ClientRowID int NULL

ALTER TABLE dbo.GoodMeasureUnit ADD ClientRowID int NULL

ALTER TABLE dbo.GoodMeasureUnitCodingSystems ADD ClientRowID int NULL

ALTER TABLE dbo.Table_Discount ADD ClientRowID int NULL

ALTER TABLE dbo.POS ADD IsSend tinyint NULL

ALTER TABLE dbo.Systems ADD IsSend tinyint NULL

CREATE TABLE [dbo].[POSTemporary]( [RowID] [int] IDENTITY(1,1) NOT NULL, [RowName] [nvarchar](100) NOT NULL, [SystemID] [int] NOT NULL, [BankAccountID] [int] NOT NULL, [RowIP] [nvarchar](20) NULL, [Terminal] [nvarchar](100) NULL, [Serial] [nvarchar](100) NULL, [AcceptorCode] [nvarchar](100) NULL, [CompanyID] [int] NULL, [Port] [nvarchar](50) NULL, [IsActive] [bit] NULL, [ServerRowID] [int] NULL, [Reversion] [int] NULL, [ClientRowID] [int] NULL, [IsSend] [tinyint] NULL, CONSTRAINT [PK_POSTemporary] PRIMARY KEY CLUSTERED ( [RowID] ASC)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]) ON [PRIMARY]

CREATE TABLE [dbo].[CloseCofferHTemporary]( [RowID] [int] IDENTITY(1,1) NOT NULL, [UserID] [smallint] NOT NULL, [CashSale] [money] NULL, [CardReaderSale] [money] NULL, [Branch_ID] [int] NULL, [Settled] [bit] NOT NULL, [FinancialYear_ID] [smallint] NULL, [FDateInsert] [char](10) NULL, [MDateInsert] [datetime] NULL, [FDateUpdate] [char](10) NULL, [MDateUpdate] [datetime] NULL, [FTimeInsert] [char](5) NULL, [FTimeUpdate] [char](5) NULL, [CashReturnSale] [money] NULL, [TotalCashSale] [money] NULL, [Coffer_ID] [int] NULL, CONSTRAINT [PK_CloseCofferHTemporary] PRIMARY KEY CLUSTERED ( [RowID] ASC)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]) ON [PRIMARY]

CREATE TABLE [dbo].[CloseCofferDTemporary]( [RowID] [int] IDENTITY(1,1) NOT NULL, [Branch_ID] [int] NULL, [CloseCofferH_ID] [int] NOT NULL, [POS_ID] [int] NOT NULL, [Price] [money] NOT NULL, [RowDesc] [nvarchar](500) NULL, CONSTRAINT [PK_CloseCofferDTemporary] PRIMARY KEY CLUSTERED ( [RowID] ASC)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]) ON [PRIMARY]

ALTER TABLE Fix_Reports ADD MainRowID int null

ALTER TABLE Fix_Reports DROP CONSTRAINT UQ_Fix_Reports_RowName

CREATE TABLE [dbo].[FailedBarcodes]( [RowID] [int] IDENTITY(1,1) NOT NULL, [Barcode] [nvarchar](50) NOT NULL, [FDate] [char](10) NULL, [MDate] [date] NULL, [UserID] [smallint] NULL, [SystemID] [int] NULL, [FTime] [char](5) NULL,PRIMARY KEY CLUSTERED ( [RowID] ASC)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]) ON [PRIMARY]

DROP TABLE BMS_BuildingComplex

DROP TABLE BMS_BuildingUnit

DROP TABLE BMS_BuildingUnitLiabilityD

DROP TABLE BMS_BuildingUnitLiabilityH

DROP TABLE BMS_BuildingUnitOwner

DROP TABLE BMS_BuildingUnitPayment

DROP TABLE BMS_BuildingUnitTenant

DROP TABLE BMS_BuildingUnitType

DROP TABLE BMS_ChargeFormula

DROP TABLE BMS_Expense

DROP VIEW [dbo].[ExpenseView];

DROP VIEW [dbo].[Expensehirarchi];

DROP TABLE BMS_ExpenseType

DROP TABLE BMS_Fix_CalculationMethod

DROP TABLE BMS_Fix_PaymentType

DROP TABLE BMS_Floor

DROP TABLE BMS_Income

DROP TABLE BMS_IncomeType

DROP TABLE BMS_MonthlyChargeD

DROP TABLE BMS_MonthlyChargeH

CREATE VIEW [dbo].[GoodOtherUnitView] AS SELECT dbo.Good.RowID AS ID, dbo.Good.RowName AS ProductName, dbo.GoodMeasureUnitCodingSystems.RowCode AS ProductBarcode, dbo.GoodMeasureUnit.PurchasePrice, dbo.GoodMeasureUnit.SalePrice, dbo.Good.InterestRate, dbo.Good.ConsumerPrice, dbo.Good.OrderPoint, { fn IFNULL(dbo.Good.RowNameEN, '') } AS LatinProductName, { fn IFNULL(dbo.Good.RowNameAlias, '') } AS ProductNickName, dbo.Good.FirstStock, dbo.Good.DiscountPrice, dbo.Good.FDate AS DateInsert, dbo.Good.RowDesc AS Description, dbo.Good.IsHasSize, dbo.Good.IsActive, dbo.Good.MDate, dbo.Good.Fix_GoodType_ID, dbo.Good.RowCode, dbo.Good.MaxCount, dbo.Good.GoodCategory_ID AS GoodCategoryID, dbo.MeasureUnit.RowName AS SmallestUnit, { fn IFNULL(dbo.DiscountGroupGood.RowName, '') } AS DiscountGroupGood, { fn IFNULL(dbo.TaxGroupGood.RowName, '') } AS TaxGroupGood, { fn IFNULL(dbo.GoodCategory.RowName, '') } AS CategoryName, dbo.Good.Reversion, { fn IFNULL(dbo.Good.MultipleSalePrice, 0) } AS MultipleSalePrice FROM dbo.GoodMeasureUnit INNER JOIN dbo.Good ON dbo.GoodMeasureUnit.Good_ID = dbo.Good.RowID INNER JOIN dbo.MeasureUnit ON dbo.GoodMeasureUnit.MeasureUnit_ID = dbo.MeasureUnit.RowID LEFT OUTER JOIN dbo.DiscountGroupGood ON dbo.Good.DiscountGroupGood_ID = dbo.DiscountGroupGood.RowID LEFT OUTER JOIN dbo.TaxGroupGood ON dbo.Good.TaxGroupGood_ID = dbo.TaxGroupGood.RowID LEFT OUTER JOIN dbo.GoodCategory ON dbo.Good.GoodCategory_ID = dbo.GoodCategory.RowID INNER JOIN dbo.GoodMeasureUnitCodingSystems ON dbo.GoodMeasureUnit.RowID = dbo.GoodMeasureUnitCodingSystems.GoodMeasureUnit_ID

ALTER VIEW [dbo].[WhDochView] AS SELECT dbo.WhDocH.RowID AS ID, dbo.Fix_WhDocType2.RowName, dbo.Person.RowName AS PersonName, dbo.Person.RowCode AS PersonCode, dbo.Branch.RowID AS BranchID, dbo.Branch.RowName AS BranchName, dbo.WhDocH.DocNo, dbo.WhDocH.FDate, dbo.WhDocH.MDate, dbo.WhDocH.DiscountPercent, dbo.WhDocH.DiscountPrice, { fn IFNULL(dbo.WhDocH.SettlePrice, 0) } AS CashSettlement, dbo.WhDocH.TaxPercent, dbo.WhDocH.TaxPrice, dbo.WhDocH.TotalPrice, { fn IFNULL(dbo.WhDocH.TotalIncreasePrice, 0) } AS IncreasePrice, { fn IFNULL(dbo.WhDocH.TotalDecreasePrice, 0) } AS DecreasePrice, dbo.WhDocH.PayablePrice, dbo.WhDocH.ReferenceValue AS Reference, dbo.WhDocH.RowDesc AS Description, dbo.WhDocH.FDateUpdate AS UpdateDate, dbo.WhDocH.FTimeInsert AS InsertTime, dbo.WhDocH.FTimeUpdate AS UpdateTime, dbo.WhDocH.FDateSettlementDeadline AS SettlementDeadline, dbo.WhDocH.MDateSettlementDeadline, dbo.UserInfo.RowName AS InsertBy, UserInfo_1.RowName AS UpdateBy, dbo.WhDocH.InsertedBy AS InsertByID, { fn IFNULL(dbo.WhDocHSumPos.sumpos, 0) } AS CardReaderSettlement, { fn IFNULL(dbo.WhDocHBankSum.SumBank, 0) } AS BankAccountSettlement, dbo.Warehouse.RowName AS Warehouse, { fn IFNULL(dbo.WhDocH.IsSettled, 0) } AS IsSettled, { fn IFNULL(dbo.WhDocHSumMarketer.MarketerCommission, 0) } AS MarketerCommission, { fn IFNULL(dbo.WhDocHChequeRecSum.ChequeRec, 0) } + { fn IFNULL(dbo.WhDocHChequePaySum.SumChequePay, 0) } AS ChequeSettlement, dbo.FinancialYear.RowName AS FinancialName, dbo.FinancialYear.RowID AS FinancialYear_ID, dbo.Fix_WhDocType2.RowID AS Fix_WhDocType2_ID, dbo.WhDocH.FDateInsert AS InsertDate, dbo.WhDocH.PayablePrice - ({ fn IFNULL(dbo.WhDocHSumPos.sumpos, 0) } + { fn IFNULL(dbo.WhDocHBankSum.SumBank, 0) } + { fn IFNULL(dbo.WhDocHChequeRecSum.ChequeRec, 0) } + { fn IFNULL(dbo.WhDocHChequePaySum.SumChequePay, 0) } + { fn IFNULL(dbo.WhDocH.SettlePrice, 0) }) AS NotSettledRemainder, dbo.WhDocH.RowUpdateVersion FROM dbo.WhDocH INNER JOIN dbo.Person ON dbo.WhDocH.Person_ID = dbo.Person.RowID INNER JOIN dbo.Branch ON dbo.WhDocH.Branch_ID = dbo.Branch.RowID INNER JOIN dbo.Fix_WhDocType2 ON dbo.WhDocH.Fix_WhDocType2_ID = dbo.Fix_WhDocType2.RowID INNER JOIN dbo.UserInfo ON dbo.WhDocH.InsertedBy = dbo.UserInfo.RowID INNER JOIN dbo.Warehouse ON dbo.WhDocH.Warehouse_ID = dbo.Warehouse.RowID INNER JOIN dbo.FinancialYear ON dbo.WhDocH.FinancialYear_ID = dbo.FinancialYear.RowID LEFT OUTER JOIN dbo.UserInfo AS UserInfo_1 ON dbo.WhDocH.UpdatedBy = UserInfo_1.RowID LEFT OUTER JOIN dbo.WhDocHSumPos ON dbo.WhDocH.RowID = dbo.WhDocHSumPos.WhDocH_ID LEFT OUTER JOIN dbo.WhDocHBankSum ON dbo.WhDocH.RowID = dbo.WhDocHBankSum.WhDocH_ID LEFT OUTER JOIN dbo.WhDocHSumMarketer ON dbo.WhDocH.RowID = dbo.WhDocHSumMarketer.WhDocH_ID LEFT OUTER JOIN dbo.WhDocHChequePaySum ON dbo.WhDocH.RowID = dbo.WhDocHChequePaySum.WhDocH_ID LEFT OUTER JOIN dbo.WhDocHChequeRecSum ON dbo.WhDocH.RowID = dbo.WhDocHChequeRecSum.WhDocH_ID

ALTER TABLE dbo.GoodSalePrice ADD ConsumerPrice money null

ALTER TABLE dbo.WhDocHTemporary ADD PersonMobileNumber nvarchar(200)

ALTER TABLE dbo.WhDocHTemporary ADD PersonName nvarchar(150)

CREATE VIEW [dbo].[PersonRemainderView] AS SELECT SUM(dbo.DocD.BedPrice) AS BedPrice, SUM(dbo.DocD.BesPrice) AS BesPrice, dbo.Person.RowID AS PersonID, SUM(dbo.DocD.BedPrice) - SUM(dbo.DocD.BesPrice) AS Remainder,  COALESCE (CASE WHEN SUM(dbo.DocD.BedPrice) - SUM(dbo.DocD.BesPrice) > 0 THEN 1 ELSE 0 END, 1) AS int FROM dbo.DocD INNER JOIN dbo.Person ON dbo.DocD.Acc2RowID = dbo.Person.RowID WHERE (dbo.DocD.Fix_Acc1_ID = 3) AND (dbo.DocD.Fix_Acc2Type_ID = 1) AND (dbo.Person.Fix_PersonType_ID <> 5) GROUP BY dbo.Person.RowID HAVING (SUM(dbo.DocD.BedPrice) - SUM(dbo.DocD.BesPrice) <> 0)

CREATE VIEW [dbo].[PersonAccountView] AS SELECT dbo.Person.RowName AS Name, dbo.Person.RowCode AS Code, dbo.Person.MobileNumber AS Mobile, dbo.Person.PhoneNumber AS Phone, dbo.Person.NationalCode, dbo.Person.AccountNumber1, dbo.Person.AccountNumber2, dbo.Person.AccountNumber3, dbo.Person.Adress AS Address, dbo.Person.MobileForSMS, dbo.Person.FatherName, dbo.Person.EconomicCode, ABS(dbo.PersonRemainderView.Remainder) AS Remainder, dbo.PersonRemainderView.int, dbo.Person.RowID AS PersonID, { fn IFNULL(dbo.Person.FDateLastSMS_ForDebt, '') } AS LastSmsDate, dbo.Person.MDateLastSMS_ForDebt AS LastSmsDateTime FROM dbo.PersonRemainderView INNER JOIN dbo.Person ON dbo.PersonRemainderView.PersonID = dbo.Person.RowID

DROP VIEW SalesFactorProfit

CREATE VIEW [dbo].[SalesFactorProfit] AS SELECT  H.RowID AS ID, H.DocNo, H.FDate, H.MDate, P.RowName AS PersonName, P.RowCode AS PersonCode, { fn IFNULL(SUM(Increase.IncreasePrice), 0) } AS IncreasePrice, { fn IFNULL(SUM(Decrease.DecreasePrice), 0) } AS DecreasePrice, SUM(D.QuantityInUnitPrice) AS SumGoodsPrice, SUM(D.DiscountPrice) AS SumDiscountItems, H.DiscountPrice, SUM(D.PurchaseTotalPrice) AS SumPurchaseTotalPrice, { fn IFNULL(SUM(D.CostOfGood), 0) } AS SumCostOfGood, { fn IFNULL(SUM(D.PurchaseTotalPriceAverage), 0) } AS SumTotalPriceAverage, SUM(D.QuantityInUnitPrice) - (H.DiscountPrice + { fn IFNULL(SUM(D.PurchaseTotalPriceAverage), 0) }) AS FactorProfitOnAverage, SUM(D.QuantityInUnitPrice) - (H.DiscountPrice + SUM(D.PurchaseTotalPrice)) AS FactorProfitOnPurchasePrice, SUM(D.QuantityInUnitPrice) - (H.DiscountPrice + { fn IFNULL(SUM(D.CostOfGood), 0) })  AS FactorProfitOnCostOfGood, SUM(D.QuantityInUnitPrice) - (H.DiscountPrice + SUM(D.DiscountPrice) + { fn IFNULL(SUM(D.PurchaseTotalPriceAverage), 0) }) AS TotalFactorProfitOnAverage, SUM(D.QuantityInUnitPrice) - (H.DiscountPrice + SUM(D.DiscountPrice) + { fn IFNULL(SUM(D.PurchaseTotalPrice), 0) }) AS TotalFactorProfitOnPurchasePrice, SUM(D.QuantityInUnitPrice) - (H.DiscountPrice + SUM(D.DiscountPrice)  + { fn IFNULL(SUM(D.CostOfGood), 0) }) AS TotalFactorProfitOnCostOfGood, H.InsertedBy FROM  dbo.WhDocH AS H LEFT OUTER JOIN dbo.WhDocD AS D ON H.RowID = D.WhDocH_ID LEFT OUTER JOIN dbo.Person AS P ON H.Person_ID = P.RowID LEFT OUTER JOIN dbo.WhDocHInvoiceIncrease AS Increase ON H.RowID = Increase.WhDocH_ID LEFT OUTER JOIN dbo.WhDocHInvoiceDecrease AS Decrease ON H.RowID = Decrease.WhDocH_ID WHERE (H.Fix_WhDocType2_ID = 21) GROUP BY H.RowID, H.FDate, H.DocNo, P.RowName, P.RowCode, H.DiscountPrice, H.MDate, H.InsertedBy

CREATE VIEW [dbo].[GoodFactorsView] AS SELECT g.RowID AS ID, g.RowCode AS GoodCode, g.RowName AS GoodName, CAST(h.MDate AS DATE) AS MDate, COUNT(d.WhDocH_ID) AS FactorsCount, SUM(d.CalculatedOutputValue) AS CalculatedOutputValue, SUM(d.CalculatedInputValue) AS CalculatedInputValue, SUM(d.TotalPrice) AS TotalPrice, g.SalePrice, d.Branch_ID AS BranchID, g.GoodCategory_ID AS CategoryID, m.RowName AS MeasureUnit, h.Fix_WhDocType2_ID AS WhDocType, p.RowCode AS PersonCode, p.RowName AS PersonName, p.RowID AS PersonID, SUM(h.PayablePrice) AS SumFactorsPayablePrice FROM dbo.WhDocD AS d INNER JOIN dbo.Good AS g ON d.Good_ID = g.RowID INNER JOIN dbo.MeasureUnit AS m ON g.Main_MeasureUnit_ID = m.RowID INNER JOIN dbo.WhDocH AS h ON d.WhDocH_ID = h.RowID INNER JOIN dbo.Person AS p ON h.Person_ID = p.RowID GROUP BY d.Good_ID, g.RowID, g.RowCode, g.RowName, CAST(h.MDate AS DATE), g.SalePrice, d.Branch_ID, g.GoodCategory_ID, m.RowName, h.Fix_WhDocType2_ID, p.RowCode, p.RowName, p.RowID

CREATE TABLE [dbo].[SystemsTemporary]([RowID] [int] IDENTITY(1,1) NOT NULL, [RowName] [nvarchar](100) NOT NULL, [RowIP] [nvarchar](20) NULL, [MacAddress] [nvarchar](100) NULL, [Branch_ID] [int] NULL, [Status] [bit] NOT NULL, [FDateInsert] [char](10) NULL, [FDateUpdate] [char](10) NULL, [FTimeInsert] [char](5) NULL, [FTimeUpdate] [char](5) NULL, [Serial] [nvarchar](100) NULL, [IsActive] [bit] NOT NULL, [AccountingSystem] [bit] NULL, [StoreSaleSystem] [bit] NULL, [IsServer] [bit] NULL, [UserName] [nvarchar](200) NULL, [Password] [nvarchar](200) NULL, [ActivationCode] [nvarchar](200) NULL, [ServerRowID] [int] NULL, [Reversion] [int] NULL, [ClientRowID] [int] NULL, [IsSend] [tinyint] NULL, CONSTRAINT [PK_SystemsTemporary] PRIMARY KEY CLUSTERED ([RowID] ASC)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]) ON [PRIMARY]

ALTER VIEW [dbo].[WhDocDItems] AS SELECT dbo.WhDocD.RowID AS ID, dbo.WhDocH.Fix_WhDocType2_ID, dbo.WhDocH.MDate, dbo.WhDocH.FDate, dbo.WhDocH.RowID AS WhDocHID, dbo.Warehouse.RowName AS Warehouse, dbo.Good.RowName AS GoodName, dbo.Good.RowCode AS GoodCode, { fn IFNULL(dbo.WhDocD.GoodSize, '') } AS GoodSize, COALESCE (CASE WHEN (dbo.WhDocD.InputValue) = 0 THEN (WhDocD.OutputValue) ELSE (WhDocD.InputValue) END, 0) AS Quantity, dbo.WhDocD.UnitPrice, { fn IFNULL(dbo.WhDocD.DiscountPercent, 0) } AS DiscountPercent, { fn IFNULL(dbo.WhDocD.DiscountPrice, 0) } AS DiscountPrice, { fn IFNULL(dbo.WhDocD.TaxPercent, 0) } AS TaxPercent, { fn IFNULL(dbo.WhDocD.TaxPrice, 0) } AS TaxPrice, dbo.WhDocD.TotalPrice, { fn IFNULL(dbo.GoodCategory.RowCode, '') } AS GoodCategoryCode, { fn IFNULL(dbo.GoodCategory.RowName, '') } AS GoodCategoryName, { fn IFNULL(dbo.GoodCategory.FullRowCode, '') } AS GoodCategoryFullCode, { fn IFNULL(dbo.GoodCategory.FullRowName, '') } AS GoodCategoryFullName, { fn IFNULL(dbo.Person.RowCode, '') } AS PersonCode, { fn IFNULL(dbo.Person.RowName, '') } AS PersonName, { fn IFNULL(dbo.PersonCategory.RowName, '') } AS PersonCategory, { fn IFNULL(dbo.Province.RowName, '') } AS Province, { fn IFNULL(dbo.County.RowName, '') } AS County, { fn IFNULL(dbo.City.RowName, '') } AS City, dbo.WhDocD.SerialNumber AS Serial, dbo.WhDocD.RowDesc AS Description, dbo.WhDocH.DocNo, dbo.MeasureUnit.RowName AS MeasureUnit, dbo.WhDocH.Branch_ID AS BranchID FROM dbo.WhDocD LEFT OUTER JOIN dbo.Good ON dbo.WhDocD.Good_ID = dbo.Good.RowID LEFT OUTER JOIN dbo.GoodCategory ON dbo.Good.GoodCategory_ID = dbo.GoodCategory.RowID INNER JOIN dbo.WhDocH ON dbo.WhDocD.WhDocH_ID = dbo.WhDocH.RowID INNER JOIN dbo.MeasureUnit ON dbo.WhDocD.MeasureUnit_ID = dbo.MeasureUnit.RowID LEFT OUTER JOIN dbo.Person ON dbo.WhDocH.Person_ID = dbo.Person.RowID LEFT OUTER JOIN dbo.PersonCategory ON dbo.Person.PersonCategory_ID = dbo.PersonCategory.RowID LEFT OUTER JOIN dbo.Province ON dbo.Person.Province_ID = dbo.Province.RowID LEFT OUTER JOIN dbo.County ON dbo.Person.County_ID = dbo.County.RowID LEFT OUTER JOIN dbo.City ON dbo.Person.City_ID = dbo.City.RowID LEFT OUTER JOIN dbo.Warehouse ON dbo.WhDocH.Warehouse_ID = dbo.Warehouse.RowID

IF NOT EXISTS(SELECT * FROM Company WHERE RowName = 'IranKish') INSERT INTO Company ([RowName]) VALUES ('IranKish')

ALTER VIEW [dbo].[WhDocDItems] AS SELECT dbo.WhDocD.RowID AS ID, dbo.WhDocH.Fix_WhDocType2_ID, dbo.WhDocH.MDate, dbo.WhDocH.FDate, dbo.WhDocH.RowID AS WhDocHID, dbo.Warehouse.RowName AS Warehouse, dbo.Good.RowName AS GoodName, dbo.Good.RowCode AS GoodCode, { fn IFNULL(dbo.WhDocD.GoodSize, '') } AS GoodSize, COALESCE (CASE WHEN (dbo.WhDocD.InputValue) = 0 THEN (WhDocD.OutputValue) ELSE (WhDocD.InputValue) END, 0) AS Quantity, dbo.WhDocD.UnitPrice, { fn IFNULL(dbo.WhDocD.DiscountPercent, 0) } AS DiscountPercent, { fn IFNULL(dbo.WhDocD.DiscountPrice, 0) } AS DiscountPrice, { fn IFNULL(dbo.WhDocD.TaxPercent, 0) } AS TaxPercent, { fn IFNULL(dbo.WhDocD.TaxPrice, 0) } AS TaxPrice, dbo.WhDocD.TotalPrice, { fn IFNULL(dbo.GoodCategory.RowCode, '') } AS GoodCategoryCode, { fn IFNULL(dbo.GoodCategory.RowName, '') } AS GoodCategoryName, { fn IFNULL(dbo.GoodCategory.FullRowCode, '') } AS GoodCategoryFullCode, { fn IFNULL(dbo.GoodCategory.FullRowName, '') } AS GoodCategoryFullName, { fn IFNULL(dbo.Person.RowCode, '') } AS PersonCode, { fn IFNULL(dbo.Person.RowName, '') } AS PersonName, { fn IFNULL(dbo.PersonCategory.RowName, '') } AS PersonCategory, { fn IFNULL(dbo.Province.RowName, '') } AS Province, { fn IFNULL(dbo.County.RowName, '') } AS County, { fn IFNULL(dbo.City.RowName, '') } AS City, dbo.WhDocD.SerialNumber AS Serial, dbo.WhDocD.RowDesc AS Description, dbo.WhDocH.DocNo, dbo.MeasureUnit.RowName AS MeasureUnit, dbo.WhDocH.Branch_ID AS BranchID, dbo.Good.RowID AS GoodID FROM dbo.WhDocD LEFT OUTER JOIN dbo.Good ON dbo.WhDocD.Good_ID = dbo.Good.RowID LEFT OUTER JOIN dbo.GoodCategory ON dbo.Good.GoodCategory_ID = dbo.GoodCategory.RowID INNER JOIN dbo.WhDocH ON dbo.WhDocD.WhDocH_ID = dbo.WhDocH.RowID INNER JOIN dbo.MeasureUnit ON dbo.WhDocD.MeasureUnit_ID = dbo.MeasureUnit.RowID LEFT OUTER JOIN dbo.Person ON dbo.WhDocH.Person_ID = dbo.Person.RowID LEFT OUTER JOIN dbo.PersonCategory ON dbo.Person.PersonCategory_ID = dbo.PersonCategory.RowID LEFT OUTER JOIN dbo.Province ON dbo.Person.Province_ID = dbo.Province.RowID LEFT OUTER JOIN dbo.County ON dbo.Person.County_ID = dbo.County.RowID LEFT OUTER JOIN dbo.City ON dbo.Person.City_ID = dbo.City.RowID LEFT OUTER JOIN dbo.Warehouse ON dbo.WhDocH.Warehouse_ID = dbo.Warehouse.RowID

ALTER TABLE Systems ADD RestaurantSystems bit null

CREATE VIEW [dbo].[View_Goods] AS SELECT     dbo.Good.RowID AS RowIDGood, dbo.Good.GoodCategory_ID, dbo.Good.Main_MeasureUnit_ID, dbo.Good.Default_MeasureUnit_ID, dbo.Good.Fix_GoodType_ID,   dbo.Good.DiscountGroupGood_ID, dbo.Good.TaxGroupGood_ID, dbo.Good.RowName, dbo.Good.RowCode, dbo.Good.RowNameEN, dbo.Good.RowNameAlias,  dbo.Good.PurchasePrice, dbo.Good.SalePrice, dbo.Good.IMG_1, dbo.Good.OrderPoint, dbo.Good.FirstStock, dbo.Good.DiscountPrice, dbo.Good.IsActive,  dbo.Good.RowDesc, dbo.Good.InsertedBy, dbo.Good.UpdatedBy, dbo.Good.FDateInsert, dbo.Good.FDateUpdate, dbo.Good.FTimeInsert, dbo.Good.FTimeUpdate,  dbo.Good.InsertServerDateTime, dbo.Good.UpdateServerDateTime, dbo.Good.RowUpdateVersion, dbo.Good.ConvertRowID, dbo.Good.ConvertRowCode,  dbo.GoodCodingSystems.RowID AS RowIDCoding, dbo.GoodCodingSystems.Branch_ID, dbo.GoodCodingSystems.Good_ID,  dbo.GoodCodingSystems.CodingSystems_ID, dbo.GoodCodingSystems.RowCode AS RowCodeCoding, dbo.GoodCodingSystems.UniqueIdentifierValue,dbo.GoodCodingSystems.IsSend, dbo.MeasureUnit.RowName AS RowNameMeasureUnit, dbo.Good.ConsumerPrice FROM         dbo.Good INNER JOIN dbo.MeasureUnit ON dbo.Good.Main_MeasureUnit_ID = dbo.MeasureUnit.RowID AND dbo.Good.Default_MeasureUnit_ID = dbo.MeasureUnit.RowID LEFT OUTER JOIN dbo.GoodCodingSystems ON dbo.Good.RowID = dbo.GoodCodingSystems.Good_ID WHERE  (dbo.GoodCodingSystems.RowCode IS NOT NULL)

CREATE VIEW [dbo].[GoodAllWarehouseStock] AS SELECT dbo.Good.RowID, SUM(dbo.GoodWarehouse.Stock) AS quantity FROM dbo.Good INNER JOIN dbo.GoodWarehouse ON dbo.Good.RowID = dbo.GoodWarehouse.Good_ID GROUP BY dbo.Good.RowID

ALTER TABLE [dbo].[AppSettings] ADD[CofferOpeningPrint][bit] NULL;

ALTER TABLE [dbo].[AppSettings] ADD[Reversion][int] NULL;

ALTER TABLE [dbo].[Branch] ADD[Reversion][int] NULL;

ALTER TABLE [dbo].[Branch] ADD[ServerID][int] NULL;

ALTER TABLE [dbo].[Branch] ADD[ClientID][int] NULL;

ALTER TABLE [dbo].[ActivationCode] ADD[ServerID][int] NULL;

ALTER TABLE [dbo].[ActivationCode] ADD[ClientID][int] NULL;

ALTER TABLE [dbo].[ActivationCode] ADD[Reversion][int] NULL;

ALTER TABLE [dbo].[ActivationCode] ADD[SystemID][int] NULL;

ALTER TABLE [dbo].[AppSettings] ADD[CofferClosingPrint][bit] NULL;

CREATE TABLE [dbo].[GoodPurchasePriceChanges]([RowID] [bigint] IDENTITY(1,1) NOT NULL, [GoodID] [int] NOT NULL, [OldPrice] [money] NULL, [NewPrice] [money] NULL, [FDate] [nvarchar](50) NULL, [MDate] [datetime] NULL, [InsertTime] [char](5) NULL, [UserID] [int] NULL, [BranchID] [int] NULL, CONSTRAINT [PK_GoodPurchasePriceChanges] PRIMARY KEY CLUSTERED ([RowID] ASC) WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]) ON [PRIMARY]

ALTER TABLE [dbo].[GoodPurchasePriceChanges]  WITH CHECK ADD  CONSTRAINT [FK_GoodPurchasePriceChanges_Good] FOREIGN KEY([GoodID]) REFERENCES [dbo].[Good] ([RowID])

ALTER TABLE [dbo].[GoodPurchasePriceChanges] CHECK CONSTRAINT [FK_GoodPurchasePriceChanges_Good]

UPDATE POS SET IsActive = 1 WHERE IsActive IS NULL

INSERT INTO Fix_AppObject VALUES (3053, 3, N'گزارش‌ها - حسابداری - کسر و اضافه صندوقداران', '', NULL)

ALTER VIEW [dbo].[SalesFactorProfit] AS SELECT dbo.WhDocH.RowID AS ID, dbo.WhDocH.FDate, dbo.WhDocH.DocNo, dbo.Person.RowCode AS PersonCode, dbo.Person.RowName AS PersonName, ISNULL(SUM(dbo.WhDocHInvoiceIncrease.IncreasePrice), 0) AS IncreasePrice, ISNULL(SUM(dbo.WhDocHInvoiceDecrease.DecreasePrice), 0) AS DecreasePrice, ISNULL(SUM(dbo.WhDocD.UnitPrice * dbo.WhDocD.OutputValue), 0) AS SumGoodsPrice, ISNULL(SUM(dbo.WhDocD.DiscountPrice), 0) AS SumDiscountItems, dbo.WhDocH.DiscountPrice, ISNULL(SUM(dbo.WhDocHMarketerPercent.PercentPrice), 0) AS MarketerCommission, dbo.WhDocH.MDate, ISNULL(SUM(dbo.AveragePrice.Average), 0) AS SumTotalPriceAverage, ISNULL(SUM(dbo.WhDocD.PurchaseTotalPrice), 0) AS SumPurchaseTotalPrice, ISNULL(SUM(dbo.WhDocD.CostOfGood), 0) AS SumCostOfGood, ISNULL(SUM(dbo.WhDocD.UnitPrice * dbo.WhDocD.OutputValue), 0) - (ISNULL(SUM(dbo.WhDocD.DiscountPrice), 0) + dbo.WhDocH.DiscountPrice + ISNULL(SUM(dbo.AveragePrice.Average), 0)) AS FactorProfitOnAverage, ISNULL(SUM(dbo.WhDocD.UnitPrice * dbo.WhDocD.OutputValue), 0) - (ISNULL(SUM(dbo.WhDocD.DiscountPrice), 0) + dbo.WhDocH.DiscountPrice + ISNULL(SUM(dbo.WhDocD.PurchaseTotalPrice), 0)) AS FactorProfitOnPurchasePrice, ISNULL(SUM(dbo.WhDocD.UnitPrice * dbo.WhDocD.OutputValue), 0) - (ISNULL(SUM(dbo.WhDocD.DiscountPrice), 0) + dbo.WhDocH.DiscountPrice + ISNULL(SUM(dbo.WhDocD.CostOfGood), 0)) AS FactorProfitOnCostOfGood, ISNULL(SUM(dbo.WhDocD.UnitPrice * dbo.WhDocD.OutputValue), 0) - (ISNULL(SUM(dbo.WhDocD.DiscountPrice), 0) + dbo.WhDocH.DiscountPrice + ISNULL(SUM(dbo.AveragePrice.Average), 0) + ISNULL(SUM(dbo.WhDocHMarketerPercent.PercentPrice), 0)) AS TotalFactorProfitOnAverage, ISNULL(SUM(dbo.WhDocD.UnitPrice * dbo.WhDocD.OutputValue), 0) - (ISNULL(SUM(dbo.WhDocD.DiscountPrice), 0) + dbo.WhDocH.DiscountPrice + ISNULL(SUM(dbo.WhDocD.PurchaseTotalPrice), 0) + ISNULL(SUM(dbo.WhDocHMarketerPercent.PercentPrice), 0)) AS TotalFactorProfitOnPurchasePrice, ISNULL(SUM(dbo.WhDocD.UnitPrice * dbo.WhDocD.OutputValue), 0) - (ISNULL(SUM(dbo.WhDocD.DiscountPrice), 0) + dbo.WhDocH.DiscountPrice + ISNULL(SUM(dbo.WhDocD.CostOfGood), 0) + ISNULL(SUM(dbo.WhDocHMarketerPercent.PercentPrice), 0)) AS TotalFactorProfitOnCostOfGood FROM dbo.WhDocH INNER JOIN dbo.Person ON dbo.WhDocH.Person_ID = dbo.Person.RowID LEFT OUTER JOIN dbo.WhDocD ON dbo.WhDocH.RowID = dbo.WhDocD.WhDocH_ID LEFT OUTER JOIN dbo.AveragePrice ON dbo.whdocd.Good_ID = dbo.AveragePrice.Good_ID LEFT OUTER JOIN dbo.WhDocHInvoiceIncrease ON dbo.WhDocH.RowID = dbo.WhDocHInvoiceIncrease.WhDocH_ID LEFT OUTER JOIN dbo.WhDocHInvoiceDecrease ON dbo.WhDocH.RowID = dbo.WhDocHInvoiceDecrease.WhDocH_ID LEFT OUTER JOIN dbo.WhDocHMarketerPercent ON dbo.WhDocH.RowID = dbo.WhDocHMarketerPercent.WhDocH_ID WHERE (dbo.WhDocH.Fix_WhDocType2_ID = 21) GROUP BY dbo.WhDocH.RowID, dbo.WhDocH.FDate, dbo.WhDocH.DocNo, dbo.Person.RowCode, dbo.Person.RowName, dbo.WhDocH.DiscountPrice, dbo.WhDocH.MDate

CREATE VIEW [dbo].[FactorDocNumbers] AS SELECT MAX(dbo.WhDocH.DocNo) AS MaxDocNo, Fix_WhDocType2_ID FROM dbo.WhDocH GROUP BY Fix_WhDocType2_ID

ALTER VIEW [dbo].[AveragePrice] AS SELECT G.RowID GoodID, CAST(SUM(D.PurchaseTotalPrice) / COALESCE (CASE WHEN SUM(D.CalculatedInputValue) = 0 THEN 1 ELSE SUM(D.CalculatedInputValue) END, 1) AS money) PurchaseAverage FROM Good G LEFT OUTER JOIN WhDocD D ON G.RowID = D.Good_ID LEFT OUTER JOIN WhDocH H ON D.WhDocH_ID = H.RowID WHERE (H.Fix_WhDocType2_ID = 1 or H.Fix_WhDocType2_ID = 6) GROUP BY G.RowID

DROP VIEW SalesFactorProfit

CREATE VIEW SalesFactorProfit AS SELECT H.RowID ID, H.DocNo, H.FDate, H.MDate, P.RowName PersonName, P.RowCode PersonCode, {fn IFNULL(SUM(Increase.IncreasePrice), 0)} IncreasePrice, { fn IFNULL(SUM(Decrease.DecreasePrice), 0)} DecreasePrice, SUM(D.QuantityInUnitPrice) SumGoodsPrice, SUM(D.DiscountPrice) SumDiscountItems, H.DiscountPrice, {fn IFNULL(SUM(Marketer.PercentPrice), 0)} MarketerCommission, SUM(D.PurchaseTotalPrice) SumPurchaseTotalPrice, {fn IFNULL(SUM(D.CostOfGood), 0)} SumCostOfGood, { fn IFNULL(SUM(D.PurchaseTotalPriceAverage), 0) } AS SumTotalPriceAverage, SUM(D.QuantityInUnitPrice) - (H.DiscountPrice + {fn IFNULL(SUM(D.PurchaseTotalPriceAverage), 0)}) FactorProfitOnAverage, SUM(D.QuantityInUnitPrice) - (H.DiscountPrice + SUM(D.PurchaseTotalPrice)) FactorProfitOnPurchasePrice, SUM(D.QuantityInUnitPrice) - (H.DiscountPrice + {fn IFNULL(SUM(D.CostOfGood), 0)}) FactorProfitOnCostOfGood, SUM(D.QuantityInUnitPrice) - (H.DiscountPrice + SUM(D.DiscountPrice) + {fn IFNULL(SUM(D.PurchaseTotalPriceAverage), 0)} + {fn IFNULL(SUM(Marketer.PercentPrice), 0)}) TotalFactorProfitOnAverage, SUM(D.QuantityInUnitPrice) - (H.DiscountPrice + SUM(D.DiscountPrice) + {fn IFNULL(SUM(D.PurchaseTotalPrice), 0)} + {fn IFNULL(SUM(Marketer.PercentPrice), 0)}) TotalFactorProfitOnPurchasePrice, SUM(D.QuantityInUnitPrice) - (H.DiscountPrice + SUM(D.DiscountPrice) + {fn IFNULL(SUM(D.CostOfGood), 0)} + {fn IFNULL(SUM(Marketer.PercentPrice), 0)}) TotalFactorProfitOnCostOfGood FROM WhDocH H LEFT OUTER JOIN WhDocD D ON H.RowID = D.WhDocH_ID LEFT OUTER JOIN Person P ON H.Person_ID = P.RowID LEFT OUTER JOIN WhDocHInvoiceIncrease Increase ON H.RowID = Increase.WhDocH_ID LEFT OUTER JOIN WhDocHInvoiceDecrease Decrease ON H.RowID = Decrease.WhDocH_ID LEFT OUTER JOIN WhDocHMarketerPercent Marketer ON H.RowID = Marketer.WhDocH_ID WHERE H.Fix_WhDocType2_ID = 21 GROUP BY H.RowID, H.FDate, H.DocNo, P.RowName, P.RowCode, H.DiscountPrice, H.MDate

DROP VIEW GoodStockReportAllWarehouse;

CREATE VIEW [dbo].[GoodStockReportAllWarehouse] AS SELECT dbo.Good.RowCode AS ProductBarcode, dbo.Good.RowName AS ProductName, { fn IFNULL(dbo.Good.RowNameEN, '') } AS LatinProductName, { fn IFNULL(dbo.Good.RowNameAlias, '') } AS ProductNickName, dbo.Good.RowID AS ID, dbo.MeasureUnit.RowName AS SmallestUnit, { fn IFNULL(dbo.GoodCategory.RowName, '') } AS CategoryName, dbo.Good.SalePrice, dbo.Good.PurchasePrice, dbo.StockAllWarehouse.stock * dbo.Good.SalePrice AS ValueBasedOnSale, dbo.StockAllWarehouse.stock * dbo.Good.PurchasePrice AS ValueBasedOnPurchase, dbo.StockAllWarehouse.stock AS Quantity, dbo.AveragePrice.PurchaseAverage, dbo.StockAllWarehouse.stock * dbo.AveragePrice.PurchaseAverage AS ValueBasedOnAverage, dbo.Good.OrderPoint FROM dbo.Good INNER JOIN dbo.MeasureUnit ON dbo.Good.Main_MeasureUnit_ID = dbo.MeasureUnit.RowID LEFT OUTER JOIN dbo.StockAllWarehouse ON dbo.Good.RowID = dbo.StockAllWarehouse.Good_ID LEFT OUTER JOIN dbo.AveragePrice ON dbo.Good.RowID = dbo.AveragePrice.GoodID LEFT OUTER JOIN dbo.GoodCategory ON dbo.Good.GoodCategory_ID = dbo.GoodCategory.RowID

DROP VIEW SimpleDocsDetails



DROP VIEW GoodStockReport

CREATE VIEW [dbo].[GoodStockReport] AS SELECT dbo.Good.RowCode AS ProductBarcode, dbo.Good.RowName AS ProductName,dbo.Good.Main_MeasureUnit_ID, { fn IFNULL(dbo.Good.RowNameEN, '') } AS LatinProductName, { fn IFNULL(dbo.Good.RowNameAlias, '') } AS ProductNickName, dbo.AllWarehouseQuantityView.Quantity, dbo.Good.RowID AS ID, dbo.MeasureUnit.RowName AS SmallestUnit, dbo.AllWarehouseQuantityView.Warehouse_ID, dbo.AllWarehouseQuantityView.FinancialYear_ID, { fn IFNULL(dbo.GoodCategory.RowName, '') } AS CategoryName, dbo.Good.SalePrice, dbo.Good.PurchasePrice, dbo.AllWarehouseQuantityView.Quantity * dbo.Good.SalePrice AS ValueBasedOnSale, dbo.AllWarehouseQuantityView.Quantity * dbo.Good.PurchasePrice AS ValueBasedOnPurchase, dbo.AveragePrice.PurchaseAverage, dbo.AllWarehouseQuantityView.Quantity * dbo.AveragePrice.PurchaseAverage AS ValueBasedOnAverage, dbo.Warehouse.RowName AS Warehouse, dbo.Good.OrderPoint FROM dbo.Good INNER JOIN dbo.AllWarehouseQuantityView ON dbo.Good.RowID = dbo.AllWarehouseQuantityView.ID INNER JOIN dbo.Warehouse ON dbo.AllWarehouseQuantityView.Warehouse_ID = dbo.Warehouse.RowID INNER JOIN dbo.MeasureUnit ON dbo.Good.Main_MeasureUnit_ID = dbo.MeasureUnit.RowID LEFT OUTER JOIN dbo.AveragePrice ON dbo.Good.RowID = dbo.AveragePrice.GoodID LEFT OUTER JOIN dbo.GoodCategory ON dbo.Good.GoodCategory_ID = dbo.GoodCategory.RowID

ALTER TABLE DocD ADD DocRowDesc nvarchar(500) NULL

UPDATE D SET D.DocRowDesc = {FN IFNULL(W.RowDesc, '')} FROM DocD D INNER JOIN DocH H ON D.DocH_ID = H.RowID LEFT OUTER JOIN WhDocH W ON H.RelateRowID = W.RowID WHERE H.Fix_DocHType_ID >= 1 AND H.Fix_DocHType_ID <= 4

UPDATE D SET D.DocRowDesc = {FN IFNULL(C.RowDesc, '')} FROM DocD D INNER JOIN DocH H ON D.DocH_ID = H.RowID LEFT OUTER JOIN ChequePayD C ON H.RelateRowID = C.RowID WHERE H.Fix_DocHType_ID = 5 OR H.Fix_DocHType_ID = 6

UPDATE D SET D.DocRowDesc = {FN IFNULL(C.RowDesc, '')} FROM DocD D INNER JOIN DocH H ON D.DocH_ID = H.RowID LEFT OUTER JOIN ChequeRecH C ON H.RelateRowID = C.RowID WHERE H.Fix_DocHType_ID = 7

UPDATE D SET D.DocRowDesc = {FN IFNULL(C.RowDesc, '')} FROM DocD D INNER JOIN DocH H ON D.DocH_ID = H.RowID LEFT OUTER JOIN ChequeRecD C ON H.RelateRowID = C.RowID WHERE H.Fix_DocHType_ID >= 8 AND H.Fix_DocHType_ID <= 13

UPDATE D SET D.DocRowDesc = {FN IFNULL(S.RowDesc, '')} FROM DocD D INNER JOIN DocH H ON D.DocH_ID = H.RowID LEFT OUTER JOIN SimpleDoc S ON H.RelateRowID = S.RowID WHERE H.Fix_DocHType_ID = 14

CREATE TABLE [dbo].[DeletedInvoicesH]([RowID] [int] IDENTITY(1,1) NOT NULL, [WhDocHID] [int] NOT NULL, [Branch_ID] [int] NULL, [FinancialYear_ID] [smallint] NOT NULL, [Fix_RecordStatusType_ID] [tinyint] NOT NULL, [Fix_WhDocType1_ID] [tinyint] NOT NULL, [Fix_WhDocType2_ID] [tinyint] NOT NULL, [Warehouse_ID] [smallint] NOT NULL, [Fix_DiscountType_ID] [tinyint] NULL, [Coffer_ID] [int] NULL, [Person_ID] [int] NULL, [ManufactureDocH_ID] [int] NULL, [ShiftDocH_ID] [int] NULL, [WarehouseComputationDocH_ID] [int] NULL, [DocNo] [bigint] NOT NULL, [FDate] [char](10) NOT NULL, [MDate] [datetime] NULL, [DiscountPercent] [float] NULL, [DiscountPrice] [money] NULL, [SettlePrice] [money] NULL, [TaxPercent] [float] NULL, [TaxPrice] [money] NULL, [TotalPrice] [money] NULL, [QuantityInUnitPrice] [money] NULL, [TotalDiscountPriceItems] [money] NULL, [TotalTaxPriceItems] [money] NULL, [TotalIncreasePrice] [money] NULL, [TotalDecreasePrice] [money] NULL, [PayablePrice] [money] NULL, [DefinedBySystem] [bit] NOT NULL, [ReferenceValue] [nvarchar](100) NULL, [RowDesc] [nvarchar](500) NULL, [InsertedBy] [smallint] NULL, [UpdatedBy] [smallint] NULL, [FDateInsert] [char](10) NULL, [FDateUpdate] [char](10) NULL, [FTimeInsert] [char](5) NULL, [FTimeUpdate] [char](5) NULL, [InsertServerDateTime] [datetime] NULL, [UpdateServerDateTime] [datetime] NULL, [RowUpdateVersion] [smallint] NULL, [UniqueIdentifierValue] [uniqueidentifier] NULL, [IsSend] [tinyint] NULL, [Good_ID] [int] NULL, [SumPercentPrice] [money] NULL, [FDateSettlementDeadline] [char](10) NULL, [MDateSettlementDeadline] [datetime] NULL, [IsSettled] [bit] NULL, [OrderH_ID] [bigint] NULL, [Times] [time](0) NULL, [Table_ID] [int] NULL, [DeliveryType_ID] [tinyint] NULL, [ClientRowID] [int] NULL, [DeletedBy] [smallint] NULL, [DeleteFDate] [char](10) NULL, [DeleteMDate] [datetime] NULL, [DeleteTime] [char](5) NULL, CONSTRAINT [PK_DeletedInvoicesH] PRIMARY KEY CLUSTERED ([RowID] ASC)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]) ON [PRIMARY]

CREATE TABLE [dbo].[DeletedInvoicesD]([RowID] [int] IDENTITY(1,1) NOT NULL, [DeletedInvoicesHID] [int] NOT NULL, [Branch_ID] [int] NULL, [FinancialYear_ID] [smallint] NOT NULL, [WhDocH_ID] [int] NOT NULL, [Good_ID] [int] NOT NULL, [MeasureUnit_ID] [int] NULL, [Main_MeasureUnit_ID] [int] NULL, [Fix_DiscountType_ID] [tinyint] NULL, [InputValue] [float] NOT NULL, [CalculatedInputValue] [float] NOT NULL, [OutputValue] [float] NOT NULL, [CalculatedOutputValue] [float] NOT NULL, [UnitPrice] [money] NOT NULL, [TotalPrice] [money] NOT NULL, [QuantityInUnitPrice] [money] NULL, [DiscountPercent] [float] NULL, [DiscountPrice] [money] NULL, [PurchaseUnitPrice] [money] NULL, [PurchaseTotalPrice] [money] NULL, [TaxPercent] [float] NULL, [TaxPrice] [money] NULL, [SaleUnitPrice] [money] NULL, [RowDesc] [nvarchar](500) NULL, [UniqueIdentifierValue] [uniqueidentifier] NULL, [IsSend] [tinyint] NULL, [PurchaseTotalPriceAverage] [money] NULL, [GoodSize] [nvarchar](50) NULL, [SortInDocH] [bigint] NULL, [SerialNumber] [nvarchar](50) NULL, [CostOfGood] [money] NULL, [ClientRowID] [int] NULL, CONSTRAINT [PK_DeletedInvoicesD] PRIMARY KEY CLUSTERED ([RowID] ASC)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]) ON [PRIMARY]

ALTER TABLE [dbo].[DeletedInvoicesD]  WITH CHECK ADD  CONSTRAINT [FK_DeletedInvoicesD_DeletedInvoicesH] FOREIGN KEY([DeletedInvoicesHID]) REFERENCES [dbo].[DeletedInvoicesH] ([RowID])

ALTER TABLE [dbo].[DeletedInvoicesD] CHECK CONSTRAINT [FK_DeletedInvoicesD_DeletedInvoicesH]

CREATE VIEW [dbo].[GoodSaleByCategoryView] AS SELECT g.RowID AS ID, g.RowCode AS GoodCode, g.RowName AS GoodName, CAST(h.MDate AS DATE) AS MDate, COUNT(d.WhDocH_ID) AS FactorsCount, SUM(d.CalculatedOutputValue) AS ItemsCount, SUM(d.TotalPrice) AS TotalPrice, g.SalePrice, d.Branch_ID AS BranchID, g.GoodCategory_ID AS CategoryID, m.RowName AS MeasureUnit, h.Fix_WhDocType2_ID AS WhDocType, p.RowCode AS PersonCode, p.RowName AS PersonName FROM dbo.WhDocD AS d INNER JOIN dbo.Good AS g ON d.Good_ID = g.RowID INNER JOIN dbo.MeasureUnit AS m ON g.Main_MeasureUnit_ID = m.RowID INNER JOIN dbo.WhDocH AS h ON d.WhDocH_ID = h.RowID INNER JOIN dbo.Person AS p ON h.Person_ID = p.RowID GROUP BY d.Good_ID, g.RowID, g.RowCode, g.RowName, CAST(h.MDate AS DATE), g.SalePrice, d.Branch_ID, g.GoodCategory_ID, m.RowName, h.Fix_WhDocType2_ID, p.RowCode, p.RowName

CREATE VIEW [dbo].[SimpleDocsDetails] AS SELECT doc.RowID, doc.FDate, doc.MDate,doc.FinancialYear_ID, doc.DocPrice, type.RowName AS DocType, doc.Regard, doc.RowDesc AS Description, doc.Fix_SimpleDocType_ID AS SimpleDocType_ID, CASE WHEN type.RowID = 1 OR type.RowID = 4 OR type.RowID = 6 OR type.RowID = 17 OR type.RowID = 20 THEN CofferDebt.RowName WHEN type.RowID = 2 OR type.RowID = 3 OR type.RowID = 7 OR type.RowID = 14 OR type.RowID = 18 OR type.RowID = 22 OR type.RowID = 23 OR type.RowID = 25 OR type.RowID = 34 OR type.RowID = 36 THEN PersonDebt.RowName WHEN type.RowID = 5 OR type.RowID = 8 OR type.RowID = 9 OR type.RowID = 13 OR type.RowID = 19 OR type.RowID = 21 OR type.RowID = 27 THEN BankDebt.RowName WHEN type.RowID = 10 OR type.RowID = 11 OR type.RowID = 15 OR type.RowID = 29 THEN ExpenseType.RowName WHEN type.RowID = 16 THEN 'فروش' WHEN type.RowID = 26 OR type.RowID = 28 OR type.RowID = 30 OR type.RowID = 32 OR type.RowID = 33 OR type.RowID = 35 THEN TreasuryDebt.RowName ELSE '' END AS Debtor, CASE WHEN type.RowID = 2 OR type.RowID = 3 OR type.RowID = 5 OR type.RowID = 10 OR type.RowID = 17 OR type.RowID = 22 OR type.RowID = 30 THEN CofferCredit.RowName WHEN type.RowID = 1 OR type.RowID = 4 OR type.RowID = 8 OR type.RowID = 13 OR type.RowID = 16 OR type.RowID = 20 OR type.RowID = 21 OR type.RowID = 26 OR type.RowID = 33 OR type.RowID = 35 THEN PersonCredit.RowName WHEN type.RowID = 6 OR type.RowID = 7 OR type.RowID = 9 OR type.RowID = 11 OR type.RowID = 14 OR type.RowID = 23 OR type.RowID = 28 THEN BankCredit.RowName WHEN type.RowID = 15 THEN 'چک' WHEN type.RowID = 25 OR type.RowID = 27 OR type.RowID = 29 OR type.RowID = 32 OR type.RowID = 34 OR type.RowID = 36 THEN TreasuryCredit.RowName WHEN type.RowID = 18 OR type.RowID = 19 THEN IncomeType.RowName ELSE '' END AS Creditor FROM dbo.SimpleDoc AS doc INNER JOIN dbo.Fix_SimpleDocType AS type ON doc.Fix_SimpleDocType_ID = type.RowID LEFT OUTER JOIN dbo.Coffer AS CofferDebt ON doc.AccID_Debtor = CofferDebt.RowID LEFT OUTER JOIN dbo.Person AS PersonDebt ON doc.AccID_Debtor = PersonDebt.RowID LEFT OUTER JOIN dbo.BankAccount AS BankDebt ON doc.AccID_Debtor = BankDebt.RowID LEFT OUTER JOIN dbo.ExpenseType ON doc.AccID_Debtor = dbo.ExpenseType.RowID LEFT OUTER JOIN dbo.Treasury AS TreasuryDebt ON doc.AccID_Debtor = TreasuryDebt.RowID LEFT OUTER JOIN dbo.IncomeType ON doc.AccID_Creditor = dbo.IncomeType.RowID LEFT OUTER JOIN dbo.Coffer AS CofferCredit ON doc.AccID_Creditor = CofferCredit.RowID LEFT OUTER JOIN dbo.Person AS PersonCredit ON doc.AccID_Creditor = PersonCredit.RowID LEFT OUTER JOIN dbo.BankAccount AS BankCredit ON doc.AccID_Creditor = BankCredit.RowID LEFT OUTER JOIN dbo.Treasury AS TreasuryCredit ON doc.AccID_Creditor = TreasuryCredit.RowID

insert Fix_SimpleDocType (RowID, RowName) values (37, N'پرداخت به طرف حساب ترکیبی')

insert Fix_SimpleDocType (RowID, RowName) values (38, N'دریافت از طرف حساب ترکیبی')

insert Fix_SimpleDocType (RowID, RowName) values (41, N'کارتخوان به صندوق')

insert Fix_SimpleDocType (RowID, RowName) values (42, N'صندوق به کارتخوان')

update Fix_SimpleDocType set RowName = N'دریافت از طرف حساب ترکیبی' where RowID = 38

CREATE TABLE [dbo].[SimpleDocBankAccount]([RowID] [int] IDENTITY(1,1) NOT NULL, [Branch_ID] [int] NULL, [SimpleDoc_ID] [int] NOT NULL, [BankAccount_ID] [int] NOT NULL, [Price] [money] NOT NULL, [UniqueIdentifierValue] [uniqueidentifier] NULL, [IsSend] [tinyint] NULL, [POS_ID] [int] NULL, CONSTRAINT [PK_SimpleDocBankAccount] PRIMARY KEY CLUSTERED ([RowID] ASC)) ON [PRIMARY]

ALTER TABLE [dbo].[SimpleDocBankAccount]  WITH CHECK ADD  CONSTRAINT [FK_SimpleDocBankAccount_BankAccount] FOREIGN KEY([BankAccount_ID]) REFERENCES [dbo].[BankAccount] ([RowID])

ALTER TABLE [dbo].[SimpleDocBankAccount]  WITH CHECK ADD  CONSTRAINT [FK_SimpleDocBankAccount_Branch] FOREIGN KEY([Branch_ID]) REFERENCES [dbo].[Branch] ([RowID])

ALTER TABLE [dbo].[SimpleDocBankAccount]  WITH CHECK ADD  CONSTRAINT [FK_SimpleDocBankAccount_POS] FOREIGN KEY([POS_ID]) REFERENCES [dbo].[POS] ([RowID])

ALTER TABLE [dbo].[SimpleDocBankAccount]  WITH NOCHECK ADD  CONSTRAINT [FK_SimpleDocBankAccount_SimpleDoc] FOREIGN KEY([SimpleDoc_ID]) REFERENCES [dbo].[SimpleDoc] ([RowID]) ON DELETE CASCADE

alter table InvoiceMemory add MeasureUnitID int null

alter table SendInvoiceD add MeasureUnitID int null

CREATE TABLE SimpleDocChequeRecH(RowID int IDENTITY(1,1) NOT NULL, Branch_ID int NULL, SimpleDoc_ID int NULL, ChequeRecH_ID int NULL, ChequeRecD_ID int NULL, UniqueIdentifierValue uniqueidentifier NULL, IsSend tinyint NULL, CONSTRAINT PK_SimpleDocChequeRecH PRIMARY KEY (RowID), CONSTRAINT FK_SimpleDocChequeRecH_Branch FOREIGN KEY (Branch_ID) REFERENCES Branch(RowID), CONSTRAINT FK_SimpleDocChequeRecH_SimpleDoc FOREIGN KEY (SimpleDoc_ID) REFERENCES SimpleDoc(RowID), CONSTRAINT FK_SimpleDocChequeRecH_ChequeRecH FOREIGN KEY (ChequeRecH_ID) REFERENCES ChequeRecH(RowID), CONSTRAINT FK_SimpleDocChequeRecH_ChequeRecD FOREIGN KEY (ChequeRecD_ID) REFERENCES ChequeRecD(RowID));

insert into Fix_AppObject (RowID, Fix_AppObjectType_ID, RowName) values (5092, 5, N'مجوز افزودن - سند پرداخت به طرف حساب ترکیبی')

insert into Fix_AppObject (RowID, Fix_AppObjectType_ID, RowName) values (6092, 6, N'مجوز ویرایش - سند پرداخت به طرف حساب ترکیبی')

insert into Fix_AppObject (RowID, Fix_AppObjectType_ID, RowName) values (7092, 7, N'مجوز حذف - سند پرداخت به طرف حساب ترکیبی')

insert into Fix_AppObject (RowID, Fix_AppObjectType_ID, RowName) values (5093, 5, N'مجوز افزودن - سند دریافت از طرف حساب ترکیبی')

insert into Fix_AppObject (RowID, Fix_AppObjectType_ID, RowName) values (6093, 6, N'مجوز ویرایش - سند دریافت از طرف حساب ترکیبی')

insert into Fix_AppObject (RowID, Fix_AppObjectType_ID, RowName) values (7093, 7, N'مجوز حذف - سند دریافت از طرف حساب ترکیبی')

alter table WhDocH add DailyDocNo bigint null

delete WhDocD where WhDocH_ID = 0

alter table Person add SubscriptionCode nvarchar(100) null

insert Fix_AppObject (RowID, Fix_AppObjectType_ID, RowName) values(3054, 3, N'گزارش‌ها - ترازنامه')

insert Fix_AppObject (RowID, Fix_AppObjectType_ID, RowName) values(3055, 3, N'گزارش‌ها - ترازنامه - تراز آزمایشی')

insert Fix_SimpleDocType (RowID, RowName) values(39, N'سند افتتاحیه')

insert Fix_SimpleDocType (RowID, RowName) values(40, N'سند اختتاحیه')

insert Fix_DocHType (RowID, RowName) values(25, N'افتتاحیه')

insert Fix_Acc1 (RowID, RowName, DefinedBySystem) values(18, N'موجودی کالاها', 1)

alter table DocD add RelateRowID bigint null

CREATE TABLE Fix_CustomerSearchType(RowID tinyint IDENTITY(1,1) NOT NULL, RowName nvarchar(100) NULL, RowDesc nvarchar(500) NULL, UniqueIdentifierValue uniqueidentifier NULL);

ALTER TABLE AppUserSettings ADD CustomerSearchTypeID TINYINT NULL

if not exists (select RowName from Fix_CustomerSearchType where RowName = N'کد اشتراک') insert Fix_CustomerSearchType (RowName) values(N'کد اشتراک')

if not exists (select RowName from Fix_CustomerSearchType where RowName = N'کد ملی') insert Fix_CustomerSearchType (RowName) values(N'کد ملی')

if not exists (select RowName from Fix_CustomerSearchType where RowName = N'شماره همراه') insert Fix_CustomerSearchType (RowName) values(N'شماره همراه')

ALTER TABLE AppUserSettings ADD AllowPersonSearch BIT NULL

ALTER TABLE Person ADD BankName1 NVARCHAR(300) NULL

ALTER TABLE Person ADD BankName2 NVARCHAR(300) NULL

ALTER TABLE Person ADD BankName3 NVARCHAR(300) NULL

ALTER TABLE Person ADD CreditSelling BIT NULL

ALTER TABLE WhDocD ADD Discount1Percent FLOAT NULL

ALTER TABLE WhDocD ADD Discount1Price money NULL

ALTER TABLE WhDocD ADD Discount2Percent FLOAT NULL

ALTER TABLE WhDocD ADD Discount2Price money NULL

UPDATE Good SET MaxCount = 20000 WHERE MaxCount IS NULL

IF NOT EXISTS (SELECT RowName FROM Fix_CustomerSearchType WHERE RowName = N'همه‌ی موارد') INSERT [dbo].[Fix_CustomerSearchType] (RowName) VALUES (N'همه‌ی موارد')

ALTER TABLE Good ADD SpecialCategory BIT NULL

ALTER TABLE Good ADD ShowInStoreInvoice BIT NULL

ALTER VIEW [dbo].[GoodView] AS SELECT dbo.Good.RowID AS ID, dbo.Good.RowName AS ProductName, dbo.Good.RowCode AS ProductBarcode, dbo.Good.PurchasePrice, dbo.Good.SalePrice, dbo.Good.InterestRate, dbo.Good.ConsumerPrice, dbo.Good.OrderPoint, { fn IFNULL(dbo.Good.RowNameEN, '') } AS LatinProductName, { fn IFNULL(dbo.Good.RowNameAlias, '') } AS ProductNickName, dbo.Good.FirstStock, dbo.Good.DiscountPrice, dbo.Good.FDate AS DateInsert, dbo.Good.RowDesc AS Description, dbo.Good.IsHasSize, dbo.Good.IsActive, dbo.Good.MDate, dbo.Good.Fix_GoodType_ID, dbo.Good.RowCode, dbo.Good.MaxCount, dbo.Good.GoodCategory_ID AS GoodCategoryID, dbo.MeasureUnit.RowName AS SmallestUnit, MeasureUnit_1.RowName AS DefaultUnit, { fn IFNULL(dbo.DiscountGroupGood.RowName, '') } AS DiscountGroupGood, { fn IFNULL(dbo.TaxGroupGood.RowName, '') } AS TaxGroupGood, { fn IFNULL(dbo.GoodCategory.RowName, '') } AS CategoryName, dbo.Good.Reversion, { fn IFNULL(dbo.Good.MultipleSalePrice, 0) } AS MultipleSalePrice FROM dbo.Good LEFT OUTER JOIN dbo.MeasureUnit ON dbo.Good.Main_MeasureUnit_ID = dbo.MeasureUnit.RowID LEFT OUTER JOIN dbo.MeasureUnit AS MeasureUnit_1 ON dbo.Good.Default_MeasureUnit_ID = MeasureUnit_1.RowID LEFT OUTER JOIN dbo.DiscountGroupGood ON dbo.Good.DiscountGroupGood_ID = dbo.DiscountGroupGood.RowID LEFT OUTER JOIN dbo.TaxGroupGood ON dbo.Good.TaxGroupGood_ID = dbo.TaxGroupGood.RowID LEFT OUTER JOIN dbo.GoodCategory ON dbo.Good.GoodCategory_ID = dbo.GoodCategory.RowID

ALTER TABLE DocD ADD Color nvarchar(50) NULL

ALTER TABLE [dbo].[CofferSettlementD] ADD [DiscountPrice] money NULL

ALTER VIEW [dbo].[PersonAccountView] AS SELECT dbo.Person.RowName AS Name, dbo.Person.RowCode AS Code, dbo.Person.MobileNumber AS Mobile, dbo.Person.PhoneNumber AS Phone, dbo.Person.NationalCode, dbo.Person.AccountNumber1, dbo.Person.AccountNumber2, dbo.Person.AccountNumber3, dbo.Person.Adress AS Address, dbo.Person.MobileForSMS, dbo.Person.FatherName, dbo.Person.EconomicCode, ABS(dbo.PersonRemainderView.Remainder) AS Remainder, dbo.PersonRemainderView.int, dbo.Person.RowID AS PersonID, { fn IFNULL(dbo.Person.FDateLastSMS_ForDebt, '') } AS LastSmsDate, dbo.Person.MDateLastSMS_ForDebt AS LastSmsDateTime, dbo.Person.Fix_PersonType_ID, dbo.Fix_PersonType.RowName PersonType FROM dbo.PersonRemainderView INNER JOIN dbo.Person ON dbo.PersonRemainderView.PersonID = dbo.Person.RowID LEFT OUTER JOIN dbo.Fix_PersonType ON dbo.Person.Fix_PersonType_ID = dbo.Fix_PersonType.RowID

ALTER TABLE [dbo].[POS] ADD [Protocol] NVARCHAR(100) NULL

INSERT INTO [dbo].[Fix_AppObject] ([RowID], [Fix_AppObjectType_ID], [RowName]) VALUES(2051, 2, N'عملیات - فاکتورها - صندوق فروش رستورانی')

INSERT INTO [dbo].[Fix_AppObject] ([RowID], [Fix_AppObjectType_ID], [RowName]) VALUES(2052, 2, N'عملیات - امور مالی - سند افتتاحیه')

INSERT INTO [dbo].[Fix_AppObject] ([RowID], [Fix_AppObjectType_ID], [RowName]) VALUES(2054, 2, N'عملیات - امور مالی - سند اختتاحیه')

INSERT INTO [dbo].[Fix_AppObject] ([RowID], [Fix_AppObjectType_ID], [RowName]) VALUES(2055, 2, N'عملیات - امور مالی - وام ها')

INSERT INTO [dbo].[Fix_AppObject] ([RowID], [Fix_AppObjectType_ID], [RowName]) VALUES(2053, 2, N'عملیات - امور مالی - سند دستی')

INSERT INTO [dbo].[Fix_AppObject] ([RowID], [Fix_AppObjectType_ID], [RowName]) VALUES(3056, 3, N'گزارش‌ها - فاکتورها - آمار فروش بر اساس مشتری')

INSERT INTO [dbo].[Fix_AppObject] ([RowID], [Fix_AppObjectType_ID], [RowName]) VALUES(3057, 3, N'گزارش‌ها - فاکتورها - آمار فروش کالاها بر اساس دسته‌بندی')

INSERT INTO [dbo].[Fix_AppObject] ([RowID], [Fix_AppObjectType_ID], [RowName]) VALUES(3058, 3, N'گزارش‌ها - چک‌ها - پرونده چک')

INSERT INTO [dbo].[Fix_AppObject] ([RowID], [Fix_AppObjectType_ID], [RowName]) VALUES(3059, 3, N'گزارش‌ها - چک‌ها - هشدار چک‌های پرداختی')

INSERT INTO [dbo].[Fix_AppObject] ([RowID], [Fix_AppObjectType_ID], [RowName]) VALUES(3060, 3, N'گزارش‌ها - چک‌ها - هشدار چک‌های دریافتی')

IF NOT EXISTS(SELECT * FROM Fix_Acc1 WHERE RowName = N'کسر و اضافه') INSERT INTO Fix_Acc1 (RowID, RowName, DefinedBySystem) VALUES(16, N'کسر و اضافه', 1)

UPDATE [dbo].[DocD] SET [Fix_Acc1_ID] = 16, [Fix_Acc2Type_ID] = 0 WHERE Fix_Acc1_ID = 7 AND Fix_Acc2Type_ID = 9

ALTER TABLE [dbo].[CofferSettlementPos] ADD [SystemPrice] money NULL;

ALTER TABLE [dbo].[DocD] ADD [Description] ntext NULL;

CREATE PROCEDURE DeleteDocD(@dochid bigint) AS BEGIN delete from DocD where DocH_ID = @dochid END

DROP VIEW [dbo].[PersonAccountView]

CREATE VIEW [dbo].[PersonAccountView] AS SELECT dbo.Person.RowName AS Name, dbo.Person.RowCode AS Code, dbo.Person.MobileNumber AS Mobile, dbo.Person.PhoneNumber AS Phone, dbo.Person.NationalCode, dbo.Person.AccountNumber1,dbo.Person.AccountNumber2, dbo.Person.AccountNumber3, dbo.Person.Adress AS Address, dbo.Person.MobileForSMS, dbo.Person.FatherName, dbo.Person.EconomicCode, ABS(dbo.PersonRemainderView.Remainder)    AS Remainder, dbo.PersonRemainderView.int, dbo.Person.RowID AS PersonID, { fn IFNULL(dbo.Person.FDateLastSMS_ForDebt, '') } AS LastSmsDate, dbo.Person.MDateLastSMS_ForDebt AS LastSmsDateTime,    dbo.Person.Fix_PersonType_ID, dbo.Fix_PersonType.RowName AS PersonType, dbo.PersonCategory.RowName AS PersonCategory  FROM  dbo.PersonRemainderView INNER JOIN   dbo.Person ON dbo.PersonRemainderView.PersonID = dbo.Person.RowID LEFT OUTER JOIN  dbo.PersonCategory ON dbo.Person.PersonCategory_ID = dbo.PersonCategory.RowID LEFT OUTER JOIN  dbo.Fix_PersonType ON dbo.Person.Fix_PersonType_ID = dbo.Fix_PersonType.RowID 

ALTER TABLE [dbo].[QuickAccess] ADD [FrmBankToCoffer] [bit] null;

ALTER TABLE [dbo].[QuickAccess] ADD [FrmCofferToBank] [bit] null;

ALTER TABLE [dbo].[QuickAccess] ADD [FrmPaymentTheBank] [bit] null;

ALTER TABLE [dbo].[QuickAccess] ADD [FrmPaymentTheCoffer] [bit] null;

ALTER TABLE [dbo].[QuickAccess] ADD [FrmPaymentThetreasury] [bit] null;

ALTER TABLE [dbo].[QuickAccess] ADD [FrmPaymentTheCheq] [bit] null;

ALTER TABLE [dbo].[QuickAccess] ADD [FrmPaymentCombinedAccount] [bit] null;

ALTER TABLE [dbo].[QuickAccess] ADD [FrmReceivedCombinedAccount] [bit] null;

ALTER TABLE [dbo].[QuickAccess] ADD [FrmFinancialDocument] [bit] null;

ALTER TABLE [dbo].[QuickAccess] ADD [FrmSettlementCoffer] [bit] null;

ALTER TABLE [dbo].[QuickAccess] ADD [FrmManualDocument] [bit] null;

ALTER TABLE [dbo].[Fix_Acc3] ADD[RowLevel][int] NULL;

ALTER TABLE [dbo].[Fix_Acc3] ADD[FatherID][int] NULL;

ALTER TABLE [dbo].[Fix_Acc3] ADD[FullName][nvarchar](200) NULL;

ALTER TABLE [dbo].[Fix_Acc3] ADD[FullCode][nvarchar](200) NULL;

ALTER TABLE [dbo].[AppUserSettings] ADD [CofferSale] [bit] null;

ALTER TABLE [dbo].[AppUserSettings] ADD [CofferSaleAlways] [bit] null;

INSERT [dbo].[Fix_AppObject] ([RowID], [Fix_AppObjectType_ID], [RowName], [RowDesc], [UniqueIdentifierValue]) VALUES (3061, 3, N'گزارش ها-سابقه بستن صندوق', NULL, NULL);

CREATE TABLE [dbo].[Fix_CashType]([RowID] [smallint] NOT NULL,[RowName] [nvarchar](50) NULL,[RowDesc] [ntext] NULL,CONSTRAINT [PK_Fix_CashType] PRIMARY KEY CLUSTERED ([RowID] ASC)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]

INSERT [dbo].[Fix_CashType]([RowID],[RowName],[RowDesc]) VALUES(1,N'صندوق',N'صندوق')

CREATE TABLE [dbo].[WhDocHCashPayment]([RowID] [bigint] IDENTITY(1,1) NOT NULL,[WhDoch_ID] [int] NULL,[CashType] [smallint] NULL,[CashAccountID] [int] NULL,[Price] [money] NULL,[RowDesc] [ntext] NULL,[UniqueIdentifierValue] [uniqueidentifier] NULL,[Branch_ID] [int] NULL,CONSTRAINT [PK_WhDocHCashPayment] PRIMARY KEY CLUSTERED ([RowID] ASC)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]

ALTER TABLE [dbo].[WhDocHCashPayment]  WITH CHECK ADD  CONSTRAINT [FK_WhDocHCashPayment_Branch] FOREIGN KEY([Branch_ID])REFERENCES [dbo].[Branch] ([RowID])

ALTER TABLE [dbo].[WhDocHCashPayment] CHECK CONSTRAINT [FK_WhDocHCashPayment_Branch]

ALTER TABLE [dbo].[WhDocHCashPayment]  WITH CHECK ADD  CONSTRAINT [FK_WhDocHCashPayment_Fix_CashType] FOREIGN KEY([CashType])REFERENCES [dbo].[Fix_CashType] ([RowID])

ALTER TABLE [dbo].[WhDocHCashPayment] CHECK CONSTRAINT [FK_WhDocHCashPayment_Fix_CashType]

ALTER TABLE [dbo].[WhDocHCashPayment]  WITH CHECK ADD  CONSTRAINT [FK_WhDocHCashPayment_WhDocH] FOREIGN KEY([WhDoch_ID])REFERENCES [dbo].[WhDocH] ([RowID])

ALTER TABLE [dbo].[WhDocHCashPayment] CHECK CONSTRAINT [FK_WhDocHCashPayment_WhDocH]

ALTER TABLE dbo.WhDocH ADD [RelatedCloseSettlement] NULL;

ALTER TABLE dbo.SimpleDoc ADD [RelatedCloseSettlement] [bigint] NULL;

ALTER TABLE dbo.SimpleDoc ADD[DocumentsPrice] money NULL;

ALTER TABLE dbo.CofferSettlementD ADD[DocumentsPrice] money NULL;

UPDATE Fix_WhDocType2 SET [SortField] = 2 WHERE RowID=1

UPDATE Fix_WhDocType2 SET [SortField] = 4 WHERE RowID=2

UPDATE Fix_WhDocType2 SET [SortField] = 7 WHERE RowID=3

UPDATE Fix_WhDocType2 SET [SortField] = 8 WHERE RowID=4

UPDATE Fix_WhDocType2 SET [SortField] = 6 WHERE RowID=5

UPDATE Fix_WhDocType2 SET [SortField] = 1 WHERE RowID=6

UPDATE Fix_WhDocType2 SET [SortField] = 4 WHERE RowID=21

UPDATE Fix_WhDocType2 SET [SortField] = 3 WHERE RowID=22

UPDATE Fix_WhDocType2 SET [SortField] = 5 WHERE RowID=23

UPDATE Fix_WhDocType2 SET [SortField] = 7 WHERE RowID=24

UPDATE Fix_WhDocType2 SET [SortField] = 9 WHERE RowID=25

UPDATE Fix_WhDocType2 SET [SortField] = 5 WHERE RowID=26

ALTER TABLE dbo.WhDocD ADD [ServiceProvider] [int] NULL;

ALTER TABLE dbo.WhDocH ADD [OfficialBill] [bit] NULL;

ALTER TABLE dbo.AppUserSettings ADD [PaymentPage] [int] NULL;

ALTER TABLE dbo.AppUserSettings ADD [DefultPage] [int] NULL;

DROP VIEW [dbo].[WhDochView]

CREATE VIEW [dbo].[WhDochView] AS SELECT dbo.WhDocH.RowID AS ID, dbo.Fix_WhDocType2.RowName, dbo.Person.RowName AS PersonName, dbo.Person.RowCode AS PersonCode, dbo.Branch.RowID AS BranchID, dbo.Branch.RowName AS BranchName,dbo.WhDocH.DocNo, dbo.WhDocH.FDate, dbo.WhDocH.MDate, dbo.WhDocH.DiscountPercent, dbo.WhDocH.DiscountPrice, { fn IFNULL(dbo.WhDocH.SettlePrice, 0) } AS CashSettlement, dbo.WhDocH.TaxPercent, dbo.WhDocH.TaxPrice, dbo.WhDocH.TotalPrice, { fn IFNULL(dbo.WhDocH.TotalIncreasePrice, 0) } AS IncreasePrice, { fn IFNULL(dbo.WhDocH.TotalDecreasePrice, 0) } AS DecreasePrice, dbo.WhDocH.PayablePrice, dbo.WhDocH.ReferenceValue AS Reference, dbo.WhDocH.RowDesc AS Description, dbo.WhDocH.FDateUpdate AS UpdateDate, dbo.WhDocH.FTimeInsert AS InsertTime, dbo.WhDocH.FTimeUpdate AS UpdateTime, dbo.WhDocH.FDateSettlementDeadline AS SettlementDeadline, dbo.WhDocH.MDateSettlementDeadline, dbo.UserInfo.RowName AS InsertBy, UserInfo_1.RowName AS UpdateBy, dbo.WhDocH.InsertedBy AS InsertByID, { fn IFNULL(dbo.WhDocHSumPos.sumpos, 0) } AS CardReaderSettlement, { fn IFNULL(dbo.WhDocHBankSum.SumBank, 0) } AS BankAccountSettlement, dbo.Warehouse.RowName AS Warehouse, { fn IFNULL(dbo.WhDocH.IsSettled, 0) } AS IsSettled, { fn IFNULL(dbo.WhDocHSumMarketer.MarketerCommission, 0) } AS MarketerCommission, { fn IFNULL(dbo.WhDocHChequeRecSum.ChequeRec, 0)  } + { fn IFNULL(dbo.WhDocHChequePaySum.SumChequePay, 0) } AS ChequeSettlement, dbo.FinancialYear.RowName AS FinancialName, dbo.FinancialYear.RowID AS FinancialYear_ID, dbo.Fix_WhDocType2.RowID AS Fix_WhDocType2_ID, dbo.WhDocH.FDateInsert AS InsertDate, dbo.WhDocH.PayablePrice - ({ fn IFNULL(dbo.WhDocHSumPos.sumpos, 0) } + { fn IFNULL(dbo.WhDocHBankSum.SumBank, 0) } + { fn IFNULL(dbo.WhDocHChequeRecSum.ChequeRec, 0) } + { fn IFNULL(dbo.WhDocHChequePaySum.SumChequePay, 0) } + { fn IFNULL(dbo.WhDocH.SettlePrice, 0) }) AS NotSettledRemainder, dbo.WhDocH.RowUpdateVersion, dbo.WhDocH.OfficialBill FROM  dbo.WhDocH INNER JOIN dbo.Person ON dbo.WhDocH.Person_ID = dbo.Person.RowID INNER JOIN  dbo.Branch ON dbo.WhDocH.Branch_ID = dbo.Branch.RowID INNER JOIN dbo.Fix_WhDocType2 ON dbo.WhDocH.Fix_WhDocType2_ID = dbo.Fix_WhDocType2.RowID INNER JOIN dbo.UserInfo ON dbo.WhDocH.InsertedBy = dbo.UserInfo.RowID INNER JOIN dbo.Warehouse ON dbo.WhDocH.Warehouse_ID = dbo.Warehouse.RowID INNER JOIN dbo.FinancialYear ON dbo.WhDocH.FinancialYear_ID = dbo.FinancialYear.RowID LEFT OUTER JOIN dbo.UserInfo AS UserInfo_1 ON dbo.WhDocH.UpdatedBy = UserInfo_1.RowID LEFT OUTER JOIN dbo.WhDocHSumPos ON dbo.WhDocH.RowID = dbo.WhDocHSumPos.WhDocH_ID LEFT OUTER JOIN  dbo.WhDocHBankSum ON dbo.WhDocH.RowID = dbo.WhDocHBankSum.WhDocH_ID LEFT OUTER JOIN dbo.WhDocHSumMarketer ON dbo.WhDocH.RowID = dbo.WhDocHSumMarketer.WhDocH_ID LEFT OUTER JOIN  dbo.WhDocHChequePaySum ON dbo.WhDocH.RowID = dbo.WhDocHChequePaySum.WhDocH_ID LEFT OUTER JOIN dbo.WhDocHChequeRecSum ON dbo.WhDocH.RowID = dbo.WhDocHChequeRecSum.WhDocH_ID

ALTER TABLE [dbo].[WhDocD]  WITH CHECK ADD  CONSTRAINT [FK_WhDocD_Person] FOREIGN KEY([ServiceProvider]) REFERENCES [dbo].[Person] ([RowID])

ALTER TABLE [dbo].[WhDocD] CHECK CONSTRAINT [FK_WhDocD_Person]

INSERT [dbo].[Fix_AppObject] ([RowID], [Fix_AppObjectType_ID], [RowName], [RowDesc], [UniqueIdentifierValue]) VALUES (3062, 3, N'گزارش ها- انجام دهندگان خدمت', NULL, NULL);

INSERT [dbo].[Fix_AppObject] ([RowID], [Fix_AppObjectType_ID], [RowName], [RowDesc], [UniqueIdentifierValue]) VALUES (3063, 3, N'گزارش ها -گزارش مالیات فاکتورها', NULL, NULL);

ALTER TABLE [dbo].[WhDocH] ADD[CustomerAddress][nvarchar](200) NULL;

ALTER TABLE [dbo].[WhDocH] ADD[DeliveryMan][int] NULL;

ALTER TABLE dbo.AppUserSettings ADD[PicBackGround] [image] NULL;

ALTER TABLE dbo.AppSettings ADD[MineDelay] [float] NULL;

ALTER TABLE dbo.AppSettings ADD[CofferDateTime] [int] NULL;

ALTER TABLE dbo.AppSettings ADD[RegisterType] [int] NULL;

Update dbo.AppSettings set RegisterType = 1;

DROP VIEW [dbo].[DeleteWhcodhView]

CREATE VIEW [dbo].[DeleteWhcodhView] AS SELECT dbo.Fix_WhDocType2.RowName, dbo.Person.RowName AS PersonName, dbo.Person.RowCode AS PersonCode, dbo.Branch.RowID AS BranchID, dbo.Branch.RowName AS BranchName, dbo.DeletedInvoicesH.DocNo,  dbo.DeletedInvoicesH.FDate, dbo.DeletedInvoicesH.MDate, dbo.DeletedInvoicesH.DiscountPercent, dbo.DeletedInvoicesH.DiscountPrice, dbo.DeletedInvoicesH.TaxPercent, dbo.DeletedInvoicesH.TaxPrice,  dbo.DeletedInvoicesH.TotalPrice, dbo.DeletedInvoicesH.PayablePrice, dbo.DeletedInvoicesH.ReferenceValue AS Reference, dbo.DeletedInvoicesH.RowDesc AS Description, dbo.DeletedInvoicesH.FDateUpdate AS UpdateDate,  dbo.DeletedInvoicesH.FTimeInsert AS InsertTime, dbo.DeletedInvoicesH.FTimeUpdate AS UpdateTime, dbo.DeletedInvoicesH.FDateSettlementDeadline AS SettlementDeadline, dbo.DeletedInvoicesH.MDateSettlementDeadline,  dbo.UserInfo.RowName AS InsertBy, UserInfo_2.RowName AS UpdateBy, dbo.DeletedInvoicesH.InsertedBy, dbo.FinancialYear.RowName AS FinancialName, dbo.FinancialYear.RowID AS FinancialYear_ID,  dbo.Fix_WhDocType2.RowID AS Fix_WhDocType2_ID, dbo.DeletedInvoicesH.FDateInsert AS InsertDate, dbo.DeletedInvoicesH.RowUpdateVersion, dbo.DeletedInvoicesH.RowID, dbo.DeletedInvoicesH.DeleteTime, dbo.DeletedInvoicesH.DeleteMDate, dbo.DeletedInvoicesH.DeleteFDate, UserInfo_1.RowName AS deleteby FROM dbo.Person INNER JOIN dbo.DeletedInvoicesH ON dbo.Person.RowID = dbo.DeletedInvoicesH.Person_ID INNER JOIN dbo.Branch ON dbo.DeletedInvoicesH.Branch_ID = dbo.Branch.RowID INNER JOIN dbo.Fix_WhDocType2 ON dbo.DeletedInvoicesH.Fix_WhDocType2_ID = dbo.Fix_WhDocType2.RowID INNER JOIN dbo.FinancialYear ON dbo.DeletedInvoicesH.FinancialYear_ID = dbo.FinancialYear.RowID INNER JOIN dbo.UserInfo ON dbo.DeletedInvoicesH.InsertedBy = dbo.UserInfo.RowID Left outer JOIN dbo.UserInfo AS UserInfo_2 ON dbo.DeletedInvoicesH.UpdatedBy = UserInfo_2.RowID LEFT OUTER JOIN dbo.UserInfo AS UserInfo_1 ON dbo.DeletedInvoicesH.DeletedBy = UserInfo_1.RowID;

ALTER TABLE [dbo].[DeletedInvoicesH]  WITH CHECK ADD  CONSTRAINT [FK_DeletedInvoicesH_Branch] FOREIGN KEY([Branch_ID])REFERENCES [dbo].[Branch] ([RowID]);

ALTER TABLE [dbo].[DeletedInvoicesH] CHECK CONSTRAINT [FK_DeletedInvoicesH_Branch];

ALTER TABLE [dbo].[DeletedInvoicesH]  WITH CHECK ADD  CONSTRAINT [FK_DeletedInvoicesH_FinancialYear] FOREIGN KEY([FinancialYear_ID])REFERENCES [dbo].[FinancialYear] ([RowID]);

ALTER TABLE [dbo].[DeletedInvoicesH] CHECK CONSTRAINT [FK_DeletedInvoicesH_FinancialYear];

ALTER TABLE [dbo].[DeletedInvoicesH]  WITH CHECK ADD  CONSTRAINT [FK_DeletedInvoicesH_Fix_WhDocType2] FOREIGN KEY([Fix_WhDocType2_ID])REFERENCES [dbo].[Fix_WhDocType2] ([RowID]);

ALTER TABLE [dbo].[DeletedInvoicesH] CHECK CONSTRAINT [FK_DeletedInvoicesH_Fix_WhDocType2];

ALTER TABLE [dbo].[DeletedInvoicesH]  WITH CHECK ADD  CONSTRAINT [FK_DeletedInvoicesH_Person] FOREIGN KEY([Person_ID])REFERENCES [dbo].[Person] ([RowID]);

ALTER TABLE [dbo].[DeletedInvoicesH] CHECK CONSTRAINT [FK_DeletedInvoicesH_Person];

ALTER TABLE [dbo].[DeletedInvoicesH]  WITH CHECK ADD  CONSTRAINT [FK_DeletedInvoicesH_UserInfo] FOREIGN KEY([UpdatedBy])REFERENCES [dbo].[UserInfo] ([RowID]);

ALTER TABLE [dbo].[DeletedInvoicesH] CHECK CONSTRAINT [FK_DeletedInvoicesH_UserInfo];

ALTER TABLE [dbo].[DeletedInvoicesH]  WITH CHECK ADD  CONSTRAINT [FK_DeletedInvoicesH_UserInfo1] FOREIGN KEY([DeletedBy])REFERENCES [dbo].[UserInfo] ([RowID]);

ALTER TABLE [dbo].[DeletedInvoicesH] CHECK CONSTRAINT [FK_DeletedInvoicesH_UserInfo1];

ALTER TABLE [dbo].[DeletedInvoicesD]  WITH CHECK ADD  CONSTRAINT [FK_DeletedInvoicesD_DeletedInvoicesH] FOREIGN KEY([DeletedInvoicesHID])REFERENCES [dbo].[DeletedInvoicesH] ([RowID]);

ALTER TABLE [dbo].[DeletedInvoicesD] CHECK CONSTRAINT [FK_DeletedInvoicesD_DeletedInvoicesH];

ALTER TABLE [dbo].[DeletedInvoicesD]  WITH CHECK ADD  CONSTRAINT [FK_DeletedInvoicesD_Good] FOREIGN KEY([Good_ID])REFERENCES [dbo].[Good] ([RowID]);

ALTER TABLE [dbo].[DeletedInvoicesD] CHECK CONSTRAINT [FK_DeletedInvoicesD_Good];

ALTER TABLE [dbo].[DeletedInvoicesD]  WITH CHECK ADD  CONSTRAINT [FK_DeletedInvoicesD_MeasureUnit] FOREIGN KEY([MeasureUnit_ID])REFERENCES [dbo].[MeasureUnit] ([RowID]);

ALTER TABLE [dbo].[DeletedInvoicesD] CHECK CONSTRAINT [FK_DeletedInvoicesD_MeasureUnit];

ALTER TABLE dbo.WhDoch ADD[Color] [nvarchar](50) NULL;

ALTER TABLE dbo.Table_RGfactor ADD[whdochid] [bigint] NULL;

DROP VIEW [dbo].[WhDochView];

CREATE VIEW [dbo].[WhDochView] AS SELECT dbo.WhDocH.RowID AS ID, dbo.Fix_WhDocType2.RowName, dbo.Person.RowName AS PersonName, dbo.Person.RowCode AS PersonCode, dbo.Branch.RowID AS BranchID, dbo.Branch.RowName AS BranchName,  dbo.WhDocH.DocNo, dbo.WhDocH.FDate, dbo.WhDocH.MDate, dbo.WhDocH.DiscountPercent, dbo.WhDocH.DiscountPrice, { fn IFNULL(dbo.WhDocH.SettlePrice, 0) } AS CashSettlement, dbo.WhDocH.TaxPercent,  dbo.WhDocH.TaxPrice, dbo.WhDocH.TotalPrice, { fn IFNULL(dbo.WhDocH.TotalIncreasePrice, 0) } AS IncreasePrice, { fn IFNULL(dbo.WhDocH.TotalDecreasePrice, 0) } AS DecreasePrice, dbo.WhDocH.PayablePrice,  dbo.WhDocH.ReferenceValue AS Reference, dbo.WhDocH.RowDesc AS Description, dbo.WhDocH.FDateUpdate AS UpdateDate, dbo.WhDocH.FTimeInsert AS InsertTime, dbo.WhDocH.FTimeUpdate AS UpdateTime,  dbo.WhDocH.FDateSettlementDeadline AS SettlementDeadline, dbo.WhDocH.MDateSettlementDeadline, dbo.UserInfo.RowName AS InsertBy, UserInfo_1.RowName AS UpdateBy, dbo.WhDocH.InsertedBy AS InsertByID,  { fn IFNULL(dbo.WhDocHSumPos.sumpos, 0) } AS CardReaderSettlement, { fn IFNULL(dbo.WhDocHBankSum.SumBank, 0) } AS BankAccountSettlement, dbo.Warehouse.RowName AS Warehouse,  { fn IFNULL(dbo.WhDocH.IsSettled, 0) } AS IsSettled, { fn IFNULL(dbo.WhDocHSumMarketer.MarketerCommission, 0) } AS MarketerCommission, { fn IFNULL(dbo.WhDocHChequeRecSum.ChequeRec, 0)  } + { fn IFNULL(dbo.WhDocHChequePaySum.SumChequePay, 0) } AS ChequeSettlement, dbo.FinancialYear.RowName AS FinancialName, dbo.FinancialYear.RowID AS FinancialYear_ID,  dbo.Fix_WhDocType2.RowID AS Fix_WhDocType2_ID, dbo.WhDocH.FDateInsert AS InsertDate, dbo.WhDocH.PayablePrice - ({ fn IFNULL(dbo.WhDocHSumPos.sumpos, 0) } + { fn IFNULL(dbo.WhDocHBankSum.SumBank, 0)  } + { fn IFNULL(dbo.WhDocHChequeRecSum.ChequeRec, 0) } + { fn IFNULL(dbo.WhDocHChequePaySum.SumChequePay, 0) } + { fn IFNULL(dbo.WhDocH.SettlePrice, 0) }) AS NotSettledRemainder,  dbo.WhDocH.RowUpdateVersion, dbo.WhDocH.OfficialBill, dbo.WhDocH.Color FROM  dbo.WhDocH INNER JOIN dbo.Person ON dbo.WhDocH.Person_ID = dbo.Person.RowID INNER JOIN dbo.Branch ON dbo.WhDocH.Branch_ID = dbo.Branch.RowID INNER JOIN dbo.Fix_WhDocType2 ON dbo.WhDocH.Fix_WhDocType2_ID = dbo.Fix_WhDocType2.RowID INNER JOIN dbo.UserInfo ON dbo.WhDocH.InsertedBy = dbo.UserInfo.RowID INNER JOIN dbo.Warehouse ON dbo.WhDocH.Warehouse_ID = dbo.Warehouse.RowID INNER JOIN dbo.FinancialYear ON dbo.WhDocH.FinancialYear_ID = dbo.FinancialYear.RowID LEFT OUTER JOIN dbo.UserInfo AS UserInfo_1 ON dbo.WhDocH.UpdatedBy = UserInfo_1.RowID LEFT OUTER JOIN dbo.WhDocHSumPos ON dbo.WhDocH.RowID = dbo.WhDocHSumPos.WhDocH_ID LEFT OUTER JOIN dbo.WhDocHBankSum ON dbo.WhDocH.RowID = dbo.WhDocHBankSum.WhDocH_ID LEFT OUTER JOIN dbo.WhDocHSumMarketer ON dbo.WhDocH.RowID = dbo.WhDocHSumMarketer.WhDocH_ID LEFT OUTER JOIN dbo.WhDocHChequePaySum ON dbo.WhDocH.RowID = dbo.WhDocHChequePaySum.WhDocH_ID LEFT OUTER JOIN dbo.WhDocHChequeRecSum ON dbo.WhDocH.RowID = dbo.WhDocHChequeRecSum.WhDocH_ID;

ALTER TABLE dbo.AppSettings ADD[BackUpPAth] [nvarchar](max) NULL;

CREATE TYPE [dbo].[goodlistnew] AS TABLE([did] [int] NULL,[goodid] [int] NULL,[goodname] [nvarchar](250) NULL,[barcode] [nvarchar](100) NULL,[MeasureUnit] [nvarchar](200) NULL,[MeasureUnitID] [int] NULL,[PurchasePrice] [decimal](18, 0) NULL,[saleprice] [decimal](18, 0) NULL,[sumPurchasePrice] [decimal](18, 0) NULL,[price] [decimal](18, 0) NULL,[DiscountPrice] [decimal](18, 0) NULL,[count] [float] NULL,[calculatedcount] [float] NULL,[sumafterDiscountPrice] [decimal](18, 0) NULL,[sumbeforeDiscountPrice] [decimal](18, 0) NULL)

CREATE TYPE [dbo].[paylist] AS TABLE([rowid] [int] NULL,[bankrowid] [int] NULL,[SettlePrice] [decimal](18, 0) NULL)

drop procedure [dbo].[sp_UseStringList]

Create PROCEDURE [dbo].[sp_UseStringList](@list goodlistnew READONLY,@uid int,@date nvarchar(50),@mdate datetime,@time nvarchar(10),@guid UNIQUEIDENTIFIER,@sum decimal,@cashpay decimal,@quantity decimal,@disc DECIMAL,@DiscountPrice DECIMAL,@pid INT,@bid int,@plist paylist readonly) AS BEGIN begin transaction t1 declare @outputtbl table (rowid int) declare @outputtbl2 table (dochid int) declare @accrid as int , @count as int , @i as int, @countofstock as float,@stcks as float,@branchid as int,@typetasvieh as bit,@bankid as int,@finanal as int,@warehouseid as int, @cofferid as int,@personid as int, @userid as int, @docid as int, @j as int,@goodid as int, @measurementunitid as int, @itemcount as FLOAT,@averages as int, @itemcalculatedcount as FLOAT, @saleprice as decimal, @itemprice as decimal, @itemquantity as decimal, @itemdiscount as decimal, @itempurchase as decimal, @k as int, @browid as int,@spricebank as decimal CREATE TABLE #tempstock ( [did] [int],[goodid] [int],[goodname] [nvarchar](250),[barcode] [nvarchar](100),[MeasureUnit] [nvarchar](200),[MeasureUnitID] [int],[PurchasePrice] [decimal],[saleprice] [decimal],[sumPurchasePrice] [decimal],[price] [decimal], [DiscountPrice] [decimal],[count] [float],[calculatedcount] [float],[sumafterDiscountPrice] [decimal],[sumbeforeDiscountPrice] [decimal],[id] [int] identity ) Begin Try set @accrid=3 set @branchid = @bid set @finanal = (select FinancialYear_ID from appsettings) set @warehouseid = (select Warehouse_ID from AppUserSettings where UserInfo_ID = @uid)  set @cofferid = (select  Coffer_ID from AppUserSettings where UserInfo_ID = @uid) IF(@pid=-1)BEGIN set @personid = (select  DefaultPerson_ID_FactorForosh  from AppUserSettings where UserInfo_ID = @uid) END ELSE BEGIN SET @personid=@pid END set @userid =  @uid insert into #tempstock select * from @list set @i = 1 set @count = (select COUNT(*) from #tempstock) insert into WhDocH (times,branch_id,FinancialYear_ID,Fix_RecordStatusType_ID,Fix_WhDocType1_ID,Fix_WhDocType2_ID,Warehouse_ID,Fix_DiscountType_ID,Coffer_ID,Person_ID,DocNo,FDate,MDate,DiscountPercent,DiscountPrice,SettlePrice,TaxPercent,TaxPrice,TotalPrice,QuantityInUnitPrice,TotalDiscountPriceItems,TotalTaxPriceItems,PayablePrice,DefinedBySystem,InsertedBy,FDateInsert,FTimeInsert,UniqueIdentifierValue,IsSend,IsSettled,SumPercentPrice,TotalIncreasePrice,TotalDecreasePrice) output inserted.RowID into @outputtbl(rowid) values (@time,@branchid,@finanal,1,2,21,@warehouseid,2,@cofferid,@personid,(select max(DocNo) from WhDocH where Fix_WhDocType2_ID = 21) + 1,@date,@mdate,0,@DiscountPrice,@cashpay,0,0,@sum,@quantity,@disc,0,@sum-@DiscountPrice,0,@userid,@date,@time,@guid,0,0,0,0,0) set @docid = (select DocNo from WhDocH where RowID = (select rowid from @outputtbl) and Fix_WhDocType2_ID = 21) set @j = 1 while (@j <= @count) begin set @goodid = (select goodid from #tempstock where id = @j) set @measurementunitid = (select MeasureUnitID from #tempstock where id = @j) set @itemcount = (select [count] from #tempstock where id = @j) set @itemcalculatedcount = (select [calculatedcount] from #tempstock where id = @j) set @saleprice = (select saleprice from #tempstock where id = @j) set @itemprice = (select price from #tempstock where id = @j) set @itemdiscount = (select DiscountPrice from #tempstock where id = @j) set @itempurchase = (select PurchasePrice from #tempstock where id = @j) set @averages = (select PurchaseAverage from AveragePrice where GoodID = @goodid) insert into WhDocD (Branch_Id,FinancialYear_ID,WhDocH_ID,Good_ID,Main_MeasureUnit_ID,MeasureUnit_ID,Fix_DiscountType_ID,InputValue,calculatedinputvalue,OutputValue,CalculatedOutputValue,UnitPrice,TotalPrice,QuantityInUnitPrice,DiscountPercent,DiscountPrice,purchaseunitprice,purchasetotalprice,taxpercent,TaxPrice,SaleUnitPrice,IsSend,PurchaseTotalPriceAverage) values (@branchid,@finanal,(select rowid from @outputtbl),@goodid,@measurementunitid,@measurementunitid,2,0,0,@itemcount,@itemcalculatedcount,@saleprice,(@itemprice * @itemcount),(@saleprice * @itemcount),0,(@itemdiscount * @itemcount),@itempurchase,(@itempurchase * @itemcount),0,0,@saleprice ,0,@averages) set @j = @j + 1 end set @typetasvieh = (select CardReaderAutoSettlement from AppUserSettings where UserInfo_ID = @uid) insert into DocH (branch_id,Fix_DocHType_ID,financialyear_id,RelateRowID,FDate,MDate,RowDesc,UniqueIdentifierValue)  output inserted.RowID into @outputtbl2(dochid) values (@branchid,2,@finanal,(select top(1) rowid from @outputtbl),@date,@mdate,N'فاکتور فروش شماره ' + CAST(@docid as nvarchar) ,@guid) insert into DocD(Branch_ID,doch_id,fix_acc1_id,fix_acc2type_id,Acc2RowID,BedPrice,BesPrice,RowDesc,IsSend) values (@branchid,(select top(1) dochid from @outputtbl2),3,1,@personid,@sum-@DiscountPrice,0,N'فاکتور فروش شماره ' + CAST(@docid as nvarchar),0) insert into DocD(Branch_ID,doch_id,fix_acc1_id,fix_acc2type_id,BedPrice,BesPrice,RowDesc,IsSend)  values (@branchid,(select top(1) dochid from @outputtbl2),2,0,0,@sum-@DiscountPrice,N'فاکتور فروش شماره ' + CAST(@docid as nvarchar),0) if(@cashpay>0) begin insert into DocD(Branch_ID,doch_id,fix_acc1_id,fix_acc2type_id,Acc2RowID,BedPrice,BesPrice,RowDesc,IsSend) values (@branchid,(select top(1) dochid from @outputtbl2),7,3,@cofferid,@cashpay,0,N'فاکتور فروش شماره ' + CAST(@docid as nvarchar)+N'-مبلغ نقدی',0) insert into DocD(Branch_ID,doch_id,fix_acc1_id,fix_acc2type_id,Acc2RowID,BedPrice,BesPrice,RowDesc,IsSend)  values (@branchid,(select top(1) dochid from @outputtbl2),3,1,@personid,0,@cashpay,N'فاکتور فروش شماره ' + CAST(@docid as nvarchar)+N'-مبلغ نقدی',0) end set @k=1 while(@k<=(select COUNT(*) from @plist)) begin set @browid=(select top(1) bankrowid from @plist where rowid=@k)set @spricebank=(select top(1)  SettlePrice from @plist where rowid=@k) if(@typetasvieh = 1) begin insert into DocD(Branch_ID,doch_id,fix_acc1_id,fix_acc2type_id,Acc2RowID,BedPrice,BesPrice,RowDesc,IsSend) values (@branchid,(select top(1) dochid from @outputtbl2),5,2,@browid,@spricebank,0,N'فاکتور فروش شماره ' + CAST(@docid as nvarchar)+N'-مبلغ کارتخوان',0) end else begin insert into DocD(Branch_ID,doch_id,fix_acc1_id,fix_acc2type_id,Acc2RowID,BedPrice,BesPrice,RowDesc,IsSend)  values (@branchid,(select top(1) dochid from @outputtbl2),5,8,@browid,@spricebank,0,N'فاکتور فروش شماره ' + CAST(@docid as nvarchar)+N'-مبلغ کارتخوان',0) end insert into DocD(Branch_ID,doch_id,fix_acc1_id,fix_acc2type_id,Acc2RowID,BedPrice,BesPrice,RowDesc,IsSend)  values (@branchid,(select top(1) dochid from @outputtbl2),3,1,@personid,0,@spricebank,N'فاکتور فروش شماره ' + CAST(@docid as nvarchar)+N'-مبلغ کارتخوان',0) set @bankid = (select BankAccountID from POS where RowID = @browid)insert into WhDocHBankAccount(BankAccount_ID,Branch_ID,SettlePrice,WhDocH_ID,IsSend,POS_ID) values (@bankid,@branchid,@spricebank,(select top(1) rowid from @outputtbl),0,@browid) set @k=@k+1 end DELETE FROM dbo.Table_Lottory WHERE nofactor=@docid INSERT INTO Table_Lottory (nofactor,nolottory,[sum],disc) VALUES(@docid,CAST( CAST(RAND() * 10000 AS INT) AS NVARCHAR(50)) + CAST(@docid AS NVARCHAR(50)),@sum,@DiscountPrice) select DocNo from WhDocH where RowID = (select rowid from @outputtbl)  commit transaction t1 End Try Begin Catch select Error_Message(); rollback transaction t1 return End Catch END

CREATE TABLE [dbo].[WhDocHEdited]([RowID] [int] IDENTITY(1,1) NOT NULL,[Branch_ID] [int] NULL,[FinancialYear_ID] [smallint] NOT NULL,[Fix_RecordStatusType_ID] [tinyint] NOT NULL,[Fix_WhDocType1_ID] [tinyint] NOT NULL,[Fix_WhDocType2_ID] [tinyint] NOT NULL,[Warehouse_ID] [smallint] NOT NULL,[Fix_DiscountType_ID] [tinyint] NULL,[Coffer_ID] [int] NULL,[Person_ID] [int] NULL,[ManufactureDocH_ID] [int] NULL,[ShiftDocH_ID] [int] NULL,[WarehouseComputationDocH_ID] [int] NULL,[DocNo] [bigint] NOT NULL,[FDate] [char](10) NOT NULL,[MDate] [datetime] NULL,[DiscountPercent] [float] NULL,[DiscountPrice] [money] NULL,[SettlePrice] [money] NULL,[TaxPercent] [float] NULL,[TaxPrice] [money] NULL,	[TotalPrice] [money] NULL,[QuantityInUnitPrice] [money] NULL,[TotalDiscountPriceItems] [money] NULL,[TotalTaxPriceItems] [money] NULL,[TotalIncreasePrice] [money] NULL,[TotalDecreasePrice] [money] NULL,[PayablePrice] [money] NULL,[DefinedBySystem] [bit] NOT NULL,[ReferenceValue] [nvarchar](100) NULL,[RowDesc] [nvarchar](500) NULL,[InsertedBy] [smallint] NULL,[UpdatedBy] [smallint] NULL,[FDateInsert] [char](10) NULL,[FDateUpdate] [char](10) NULL,[FTimeInsert] [char](5) NULL,[FTimeUpdate] [char](5) NULL,[InsertServerDateTime] [datetime] NULL,[UpdateServerDateTime] [datetime] NULL,[RowUpdateVersion] [smallint] NULL,[UniqueIdentifierValue] [uniqueidentifier] NULL,[IsSend] [tinyint] NULL,[Good_ID] [int] NULL,[SumPercentPrice] [money] NULL,[FDateSettlementDeadline] [char](10) NULL,[MDateSettlementDeadline] [datetime] NULL,[IsSettled] [bit] NULL,[OrderH_ID] [bigint] NULL,[Times] [time](0) NULL,[Table_ID] [int] NULL,[DeliveryType_ID] [tinyint] NULL,[ClientRowID] [int] NULL,[DailyDocNo] [bigint] NULL,[OfficialBill] [bit] NULL,[CustomerAddress] [nvarchar](200) NULL,[DeliveryMan] [int] NULL,[Color] [nvarchar](50) NULL, CONSTRAINT [PK_WhDocHEdited] PRIMARY KEY CLUSTERED ([RowID] ASC)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]) ON [PRIMARY] ALTER TABLE [dbo].[WhDocHEdited] ADD  CONSTRAINT [DF_WhDocHEdited_Fix_RecordStatusType_ID]  DEFAULT ((1)) FOR [Fix_RecordStatusType_ID] ALTER TABLE [dbo].[WhDocHEdited] ADD  CONSTRAINT [DF_WhDocHEdited_DefinedBySystem]  DEFAULT ((0)) FOR [DefinedBySystem] ALTER TABLE [dbo].[WhDocHEdited] ADD  CONSTRAINT [DF_WhDocHEdited_InsertServerDateTime]  DEFAULT (getdate()) FOR [InsertServerDateTime] ALTER TABLE [dbo].[WhDocHEdited] ADD  CONSTRAINT [DF_WhDocHEdited_RowUpdateVersion]  DEFAULT ((1)) FOR [RowUpdateVersion] ALTER TABLE [dbo].[WhDocHEdited] ADD  CONSTRAINT [DF_WhDocHEdited_IsSend]  DEFAULT ((0)) FOR [IsSend] ALTER TABLE [dbo].[WhDocHEdited]  WITH NOCHECK ADD  CONSTRAINT [FK_WhDocHEdited_Branch] FOREIGN KEY([Branch_ID]) REFERENCES [dbo].[Branch] ([RowID]) ALTER TABLE [dbo].[WhDocHEdited] NOCHECK CONSTRAINT [FK_WhDocHEdited_Branch] ALTER TABLE [dbo].[WhDocHEdited]  WITH NOCHECK ADD  CONSTRAINT [FK_WhDocHEdited_Coffer] FOREIGN KEY([Coffer_ID]) REFERENCES [dbo].[Coffer] ([RowID]) ALTER TABLE [dbo].[WhDocHEdited] NOCHECK CONSTRAINT [FK_WhDocHEdited_Coffer] ALTER TABLE [dbo].[WhDocHEdited]  WITH NOCHECK ADD  CONSTRAINT [FK_WhDocHEdited_FinancialYear] FOREIGN KEY([FinancialYear_ID]) REFERENCES [dbo].[FinancialYear] ([RowID]) ALTER TABLE [dbo].[WhDocHEdited] NOCHECK CONSTRAINT [FK_WhDocHEdited_FinancialYear] ALTER TABLE [dbo].[WhDocHEdited]  WITH NOCHECK ADD  CONSTRAINT [FK_WhDocHEdited_Fix_DeliveryType] FOREIGN KEY([DeliveryType_ID]) REFERENCES [dbo].[Fix_DeliveryType] ([RowID]) ALTER TABLE [dbo].[WhDocHEdited] NOCHECK CONSTRAINT [FK_WhDocHEdited_Fix_DeliveryType] ALTER TABLE [dbo].[WhDocHEdited]  WITH NOCHECK ADD  CONSTRAINT [FK_WhDocHEdited_Fix_DiscountType] FOREIGN KEY([Fix_DiscountType_ID]) REFERENCES [dbo].[Fix_DiscountType] ([RowID]) ALTER TABLE [dbo].[WhDocHEdited] NOCHECK CONSTRAINT [FK_WhDocHEdited_Fix_DiscountType] ALTER TABLE [dbo].[WhDocHEdited]  WITH NOCHECK ADD  CONSTRAINT [FK_WhDocHEdited_Fix_RecordStatusType] FOREIGN KEY([Fix_RecordStatusType_ID]) REFERENCES [dbo].[Fix_RecordStatusType] ([RowID]) ALTER TABLE [dbo].[WhDocHEdited] NOCHECK CONSTRAINT [FK_WhDocHEdited_Fix_RecordStatusType] ALTER TABLE [dbo].[WhDocHEdited]  WITH NOCHECK ADD  CONSTRAINT [FK_WhDocHEdited_Fix_WhDocType1] FOREIGN KEY([Fix_WhDocType1_ID]) REFERENCES [dbo].[Fix_WhDocType1] ([RowID]) ALTER TABLE [dbo].[WhDocHEdited] NOCHECK CONSTRAINT [FK_WhDocHEdited_Fix_WhDocType1] ALTER TABLE [dbo].[WhDocHEdited]  WITH NOCHECK ADD  CONSTRAINT [FK_WhDocHEdited_Fix_WhDocType2] FOREIGN KEY([Fix_WhDocType2_ID]) REFERENCES [dbo].[Fix_WhDocType2] ([RowID]) ALTER TABLE [dbo].[WhDocHEdited] NOCHECK CONSTRAINT [FK_WhDocHEdited_Fix_WhDocType2] ALTER TABLE [dbo].[WhDocHEdited]  WITH NOCHECK ADD  CONSTRAINT [FK_WhDocHEdited_Good] FOREIGN KEY([Good_ID]) REFERENCES [dbo].[Good] ([RowID]) ON DELETE CASCADE ALTER TABLE [dbo].[WhDocHEdited] NOCHECK CONSTRAINT [FK_WhDocHEdited_Good] ALTER TABLE [dbo].[WhDocHEdited]  WITH NOCHECK ADD  CONSTRAINT [FK_WhDocHEdited_ManufactureDocH] FOREIGN KEY([ManufactureDocH_ID]) REFERENCES [dbo].[ManufactureDocH] ([RowID]) ON DELETE CASCADE ALTER TABLE [dbo].[WhDocHEdited] NOCHECK CONSTRAINT [FK_WhDocHEdited_ManufactureDocH] ALTER TABLE [dbo].[WhDocHEdited]  WITH NOCHECK ADD  CONSTRAINT [FK_WhDocHEdited_OrderH] FOREIGN KEY([OrderH_ID]) REFERENCES [dbo].[OrderH] ([RowID]) ALTER TABLE [dbo].[WhDocHEdited] NOCHECK CONSTRAINT [FK_WhDocHEdited_OrderH] ALTER TABLE [dbo].[WhDocHEdited]  WITH NOCHECK ADD  CONSTRAINT [FK_WhDocHEdited_Person] FOREIGN KEY([Person_ID]) REFERENCES [dbo].[Person] ([RowID]) ALTER TABLE [dbo].[WhDocHEdited] NOCHECK CONSTRAINT [FK_WhDocHEdited_Person] ALTER TABLE [dbo].[WhDocHEdited]  WITH NOCHECK ADD  CONSTRAINT [FK_WhDocHEdited_RestaurantTables] FOREIGN KEY([Table_ID]) REFERENCES [dbo].[RestaurantTables] ([RowID]) ALTER TABLE [dbo].[WhDocHEdited] NOCHECK CONSTRAINT [FK_WhDocHEdited_RestaurantTables] ALTER TABLE [dbo].[WhDocHEdited]  WITH NOCHECK ADD  CONSTRAINT [FK_WhDocHEdited_ShiftDocH] FOREIGN KEY([ShiftDocH_ID]) REFERENCES [dbo].[ShiftDocH] ([RowID]) ON DELETE CASCADE ALTER TABLE [dbo].[WhDocHEdited] NOCHECK CONSTRAINT [FK_WhDocHEdited_ShiftDocH] ALTER TABLE [dbo].[WhDocHEdited]  WITH NOCHECK ADD  CONSTRAINT [FK_WhDocHEdited_Warehouse] FOREIGN KEY([Warehouse_ID]) REFERENCES [dbo].[Warehouse] ([RowID]) ALTER TABLE [dbo].[WhDocHEdited] NOCHECK CONSTRAINT [FK_WhDocHEdited_Warehouse]ALTER TABLE [dbo].[WhDocHEdited]  WITH NOCHECK ADD  CONSTRAINT [FK_WhDocHEdited_WarehouseComputationDocH] FOREIGN KEY([WarehouseComputationDocH_ID]) REFERENCES [dbo].[WarehouseComputationDocH] ([RowID]) ON DELETE CASCADE ALTER TABLE [dbo].[WhDocHEdited] NOCHECK CONSTRAINT [FK_WhDocHEdited_WarehouseComputationDocH]

CREATE TABLE [dbo].[WhDocDEdited]([RowID] [int] IDENTITY(1,1) NOT NULL,[Branch_ID] [int] NULL,[FinancialYear_ID] [smallint] NOT NULL,[WhDocH_ID] [int] NOT NULL,[Good_ID] [int] NOT NULL,[MeasureUnit_ID] [int] NULL,[Main_MeasureUnit_ID] [int] NULL,[Fix_DiscountType_ID] [tinyint] NULL,[InputValue] [float] NOT NULL,[CalculatedInputValue] [float] NOT NULL,[OutputValue] [float] NOT NULL,[CalculatedOutputValue] [float] NOT NULL,[UnitPrice] [money] NOT NULL,[TotalPrice] [money] NOT NULL,[QuantityInUnitPrice] [money] NULL,[DiscountPercent] [float] NULL,[DiscountPrice] [money] NULL,[PurchaseUnitPrice] [money] NULL,[PurchaseTotalPrice] [money] NULL,[TaxPercent] [float] NULL,[TaxPrice] [money] NULL,[SaleUnitPrice] [money] NULL,[RowDesc] [nvarchar](500) NULL,[UniqueIdentifierValue] [uniqueidentifier] NULL,[IsSend] [tinyint] NULL,[PurchaseTotalPriceAverage] [money] NULL,[GoodSize] [nvarchar](50) NULL,[SortInDocH] [bigint] NULL,[SerialNumber] [nvarchar](50) NULL,[CostOfGood] [money] NULL,[ClientRowID] [int] NULL,[Discount1Percent] [float] NULL,[Discount1Price] [money] NULL,[Discount2Percent] [float] NULL,[Discount2Price] [money] NULL,[ServiceProvider] [int] NULL,CONSTRAINT [PK_WhDocDEdited] PRIMARY KEY CLUSTERED ([RowID] ASC)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]) ON [PRIMARY] ALTER TABLE [dbo].[WhDocDEdited] ADD  CONSTRAINT [DF_WhDocDEdited_IsSend]  DEFAULT ((0)) FOR [IsSend] ALTER TABLE [dbo].[WhDocDEdited]  WITH NOCHECK ADD  CONSTRAINT [FK_WhDocDEdited_Branch] FOREIGN KEY([Branch_ID]) REFERENCES [dbo].[Branch] ([RowID]) ALTER TABLE [dbo].[WhDocDEdited] NOCHECK CONSTRAINT [FK_WhDocDEdited_Branch] ALTER TABLE [dbo].[WhDocDEdited]  WITH NOCHECK ADD  CONSTRAINT [FK_WhDocDEdited_FinancialYear] FOREIGN KEY([FinancialYear_ID]) REFERENCES [dbo].[FinancialYear] ([RowID]) ALTER TABLE [dbo].[WhDocDEdited] NOCHECK CONSTRAINT [FK_WhDocDEdited_FinancialYear] ALTER TABLE [dbo].[WhDocDEdited]  WITH NOCHECK ADD  CONSTRAINT [FK_WhDocDEdited_Fix_DiscountType] FOREIGN KEY([Fix_DiscountType_ID]) REFERENCES [dbo].[Fix_DiscountType] ([RowID]) ALTER TABLE [dbo].[WhDocDEdited] NOCHECK CONSTRAINT [FK_WhDocDEdited_Fix_DiscountType] ALTER TABLE [dbo].[WhDocDEdited]  WITH NOCHECK ADD  CONSTRAINT [FK_WhDocDEdited_Good] FOREIGN KEY([Good_ID]) REFERENCES [dbo].[Good] ([RowID]) ALTER TABLE [dbo].[WhDocDEdited] NOCHECK CONSTRAINT [FK_WhDocDEdited_Good] ALTER TABLE [dbo].[WhDocDEdited]  WITH NOCHECK ADD  CONSTRAINT [FK_WhDocDEdited_MeasureUnit_1] FOREIGN KEY([MeasureUnit_ID]) REFERENCES [dbo].[MeasureUnit] ([RowID]) ALTER TABLE [dbo].[WhDocDEdited] NOCHECK CONSTRAINT [FK_WhDocDEdited_MeasureUnit_1] ALTER TABLE [dbo].[WhDocDEdited]  WITH NOCHECK ADD  CONSTRAINT [FK_WhDocDEdited_MeasureUnit_2] FOREIGN KEY([Main_MeasureUnit_ID]) REFERENCES [dbo].[MeasureUnit] ([RowID]) ALTER TABLE [dbo].[WhDocDEdited] NOCHECK CONSTRAINT [FK_WhDocDEdited_MeasureUnit_2] ALTER TABLE [dbo].[WhDocDEdited]  WITH CHECK ADD  CONSTRAINT [FK_WhDocDEdited_Person] FOREIGN KEY([ServiceProvider]) REFERENCES [dbo].[Person] ([RowID]) ALTER TABLE [dbo].[WhDocDEdited] CHECK CONSTRAINT [FK_WhDocDEdited_Person] ALTER TABLE [dbo].[WhDocDEdited]  WITH CHECK ADD  CONSTRAINT [FK_WhDocDEdited_WhDocHEdited] FOREIGN KEY([WhDocH_ID]) REFERENCES [dbo].[WhDocHEdited] ([RowID]) ALTER TABLE [dbo].[WhDocDEdited] CHECK CONSTRAINT [FK_WhDocDEdited_WhDocHEdited]

ALTER TABLE dbo.Good ADD[TransforRate] [money] NULL;

ALTER TABLE dbo.Good ADD[AmountSaleLimit] [float] NULL;

ALTER TABLE dbo.DocD ADD[Note] [ntext] NULL;

ALTER TABLE dbo.AppSystemSettings ADD[Design1] [int] NULL;

ALTER TABLE dbo.AppSystemSettings ADD[Design2] [int] NULL;

DROP VIEW [dbo].[GoodView];

CREATE VIEW [dbo].[GoodView] AS SELECT  dbo.Good.RowID AS ID, dbo.Good.RowName AS ProductName, dbo.Good.RowCode AS ProductBarcode, dbo.Good.PurchasePrice, dbo.Good.SalePrice, dbo.Good.InterestRate, dbo.Good.ConsumerPrice, dbo.Good.OrderPoint,{ fn IFNULL(dbo.Good.RowNameEN, '') } AS LatinProductName, { fn IFNULL(dbo.Good.RowNameAlias, '') } AS ProductNickName, dbo.Good.FirstStock, dbo.Good.DiscountPrice, dbo.Good.FDate AS DateInsert, dbo.Good.RowDesc AS Description, dbo.Good.IsHasSize, dbo.Good.IsActive, dbo.Good.MDate, dbo.Good.Fix_GoodType_ID, dbo.Good.RowCode, dbo.Good.MaxCount, dbo.Good.GoodCategory_ID AS GoodCategoryID, dbo.MeasureUnit.RowName AS SmallestUnit, MeasureUnit_1.RowName AS DefaultUnit, { fn IFNULL(dbo.DiscountGroupGood.RowName, '') } AS DiscountGroupGood, { fn IFNULL(dbo.TaxGroupGood.RowName, '') } AS TaxGroupGood, { fn IFNULL(dbo.GoodCategory.RowName, '') } AS CategoryName, dbo.Good.Reversion, { fn IFNULL(dbo.Good.MultipleSalePrice, 0) } AS MultipleSalePrice, dbo.Good.TransforRate FROM  dbo.Good LEFT OUTER JOIN dbo.MeasureUnit ON dbo.Good.Main_MeasureUnit_ID = dbo.MeasureUnit.RowID LEFT OUTER JOIN dbo.MeasureUnit AS MeasureUnit_1 ON dbo.Good.Default_MeasureUnit_ID = MeasureUnit_1.RowID LEFT OUTER JOIN dbo.DiscountGroupGood ON dbo.Good.DiscountGroupGood_ID = dbo.DiscountGroupGood.RowID LEFT OUTER JOIN dbo.TaxGroupGood ON dbo.Good.TaxGroupGood_ID = dbo.TaxGroupGood.RowID LEFT OUTER JOIN dbo.GoodCategory ON dbo.Good.GoodCategory_ID = dbo.GoodCategory.RowID

DROP VIEW [dbo].[PersonRemainderView];

CREATE VIEW [dbo].[PersonRemainderView] AS SELECT  SUM(dbo.DocD.BedPrice) AS BedPrice, SUM(dbo.DocD.BesPrice) AS BesPrice, dbo.Person.RowID AS PersonID, SUM(dbo.DocD.BedPrice) - SUM(dbo.DocD.BesPrice) AS Remainder, COALESCE (CASE WHEN SUM(dbo.DocD.BedPrice) - SUM(dbo.DocD.BesPrice) > 0 THEN 1 ELSE 0 END, 1) AS int, dbo.DocH.FinancialYear_ID FROM  dbo.DocD INNER JOIN dbo.Person ON dbo.DocD.Acc2RowID = dbo.Person.RowID INNER JOIN  dbo.DocH ON dbo.DocD.DocH_ID = dbo.DocH.RowID WHERE (dbo.DocD.Fix_Acc1_ID = 3) AND (dbo.DocD.Fix_Acc2Type_ID = 1) AND (dbo.Person.Fix_PersonType_ID <> 5) GROUP BY dbo.Person.RowID, dbo.DocH.FinancialYear_ID HAVING        (SUM(dbo.DocD.BedPrice) - SUM(dbo.DocD.BesPrice) <> 0)

INSERT [dbo].[Fix_WhDocType2]([RowID],[Fix_WhDocType1_ID],[SortField],[RowName]) VALUES(7,1,1,N'سند افتتاحیه')

INSERT [dbo].[Fix_Acc1]([RowID],[DefinedBySystem],[RowName]) VALUES(18,1,N'موجودی کالا')

INSERT [dbo].[Fix_Acc2Type]([RowID],[DefinedBySystem],[Fix_Acc1_ID],[RowName]) VALUES(15,1,18,N'موجودی کالا')

INSERT [dbo].[Fix_WhDocType2]([RowID],[Fix_WhDocType1_ID],[SortField],[RowDesc],[UniqueIdentifierValue],[RowName]) VALUES(27,1,10,'','',N'انتقال از انبار موقت)

INSERT [dbo].[Fix_WhDocType2]([RowID],[Fix_WhDocType1_ID],[SortField],[RowDesc],[UniqueIdentifierValue],[RowName]) VALUES(28,2,11,'','',N'انتقال به انبار موقت)

DROP VIEW [dbo].[PersonAccountView];

CREATE VIEW [dbo].[PersonAccountView] AS SELECT  dbo.Person.RowName AS Name, dbo.Person.RowCode AS Code, dbo.Person.MobileNumber AS Mobile, dbo.Person.PhoneNumber AS Phone, dbo.Person.NationalCode, dbo.Person.AccountNumber1,    dbo.Person.AccountNumber2, dbo.Person.AccountNumber3,dbo.Person.Adress AS Address, dbo.Person.MobileForSMS, dbo.Person.FatherName, dbo.Person.EconomicCode, ABS(dbo.PersonRemainderView.Remainder)  AS Remainder, dbo.PersonRemainderView.int, dbo.Person.RowID AS PersonID, { fn IFNULL(dbo.Person.FDateLastSMS_ForDebt, '') } AS LastSmsDate, dbo.Person.MDateLastSMS_ForDebt AS LastSmsDateTime, dbo.Person.Fix_PersonType_ID, dbo.Fix_PersonType.RowName AS PersonType, dbo.PersonCategory.RowName AS PersonCategory, dbo.PersonRemainderView.FinancialYear_ID FROM  dbo.PersonRemainderView INNER JOIN  dbo.Person ON dbo.PersonRemainderView.PersonID = dbo.Person.RowID LEFT OUTER JOIN dbo.PersonCategory ON dbo.Person.PersonCategory_ID = dbo.PersonCategory.RowID LEFT OUTER JOIN dbo.Fix_PersonType ON dbo.Person.Fix_PersonType_ID = dbo.Fix_PersonType.RowID

DROP VIEW [dbo].[WhdocDWarehouse];

CREATE VIEW [dbo].[WhdocDWarehouse] AS SELECT SUM(CalculatedInputValue) - SUM(CalculatedOutputValue) AS Stock, Good_ID, FinancialYear_ID FROM dbo.WhDocD GROUP BY FinancialYear_ID, Good_ID

DROP VIEW [dbo].[WarehouseGoodView];

DROP VIEW [dbo].[AllWarehouseQuantityView];

DROP VIEW [dbo].[GoodStockReport];

DROP VIEW [dbo].[StockAllWarehouse];

DROP VIEW [dbo].[GoodStockReportAllWarehouse];

CREATE VIEW [dbo].[WarehouseGoodView] AS SELECT   dbo.Good.RowID, dbo.Good.RowName, dbo.Good.RowCode, dbo.Warehouse.RowID AS WarehouseID, dbo.Warehouse.RowName AS WarehouseName, dbo.Good.SalePrice, dbo.Good.Main_MeasureUnit_ID, dbo.MeasureUnit.RowName AS Unit, dbo.FinancialYear.RowID AS financialid FROM   dbo.Warehouse CROSS JOIN  dbo.Good INNER JOIN dbo.MeasureUnit ON dbo.Good.Main_MeasureUnit_ID = dbo.MeasureUnit.RowID CROSS JOIN  dbo.FinancialYear

CREATE VIEW [dbo].[AllWarehouseQuantityView] AS SELECT  TOP (100) PERCENT dbo.WarehouseGoodView.RowID AS ID, dbo.WarehouseGoodView.RowName AS ProductName, dbo.WarehouseGoodView.RowCode AS ProductBarcode,   dbo.WarehouseGoodView.WarehouseID AS Warehouse_ID, dbo.WarehouseGoodView.WarehouseName, { fn IFNULL(dbo.StockView.stock, 0) } AS Quantity, dbo.StockView.FinancialYear_ID, dbo.WarehouseGoodView.SalePrice,   dbo.WarehouseGoodView.Unit AS SmallestUnit, dbo.WarehouseGoodView.financialid FROM  dbo.WarehouseGoodView LEFT OUTER JOIN dbo.StockView ON dbo.WarehouseGoodView.RowID = dbo.StockView.Good_ID AND dbo.WarehouseGoodView.WarehouseID = dbo.StockView.Warehouse_ID AND  dbo.WarehouseGoodView.financialid = dbo.StockView.FinancialYear_ID ORDER BY productname

CREATE VIEW [dbo].[GoodStockReport] AS SELECT  dbo.Good.RowCode AS ProductBarcode, dbo.Good.RowName AS ProductName, { fn IFNULL(dbo.Good.RowNameEN, '') } AS LatinProductName, { fn IFNULL(dbo.Good.RowNameAlias, '') } AS ProductNickName,  dbo.AllWarehouseQuantityView.Quantity, dbo.Good.RowID AS ID, dbo.MeasureUnit.RowName AS SmallestUnit, dbo.AllWarehouseQuantityView.Warehouse_ID, dbo.AllWarehouseQuantityView.FinancialYear_ID,  { fn IFNULL(dbo.GoodCategory.RowName, '') } AS CategoryName, dbo.Good.SalePrice, dbo.Good.PurchasePrice, dbo.AllWarehouseQuantityView.Quantity * dbo.Good.SalePrice AS ValueBasedOnSale,   dbo.AllWarehouseQuantityView.Quantity * dbo.Good.PurchasePrice AS ValueBasedOnPurchase, dbo.AveragePrice.PurchaseAverage,  dbo.AllWarehouseQuantityView.Quantity * dbo.AveragePrice.PurchaseAverage AS ValueBasedOnAverage, dbo.Warehouse.RowName AS Warehouse, dbo.Good.OrderPoint, dbo.Good.Main_MeasureUnit_ID,   dbo.AllWarehouseQuantityView.financialid FROM  dbo.Good INNER JOIN  dbo.AllWarehouseQuantityView ON dbo.Good.RowID = dbo.AllWarehouseQuantityView.ID INNER JOIN  dbo.Warehouse ON dbo.AllWarehouseQuantityView.Warehouse_ID = dbo.Warehouse.RowID INNER JOIN  dbo.MeasureUnit ON dbo.Good.Main_MeasureUnit_ID = dbo.MeasureUnit.RowID LEFT OUTER JOIN dbo.AveragePrice ON dbo.Good.RowID = dbo.AveragePrice.GoodID LEFT OUTER JOIN dbo.GoodCategory ON dbo.Good.GoodCategory_ID = dbo.GoodCategory.RowID

CREATE VIEW [dbo].[StockAllWarehouse] AS SELECT   TOP (100) PERCENT dbo.WarehouseGoodView.financialid, dbo.WarehouseGoodView.RowID, { fn IFNULL(dbo.WhdocDWarehouse.Stock, 0) } AS stock, dbo.WhdocDWarehouse.Good_ID,dbo.WhdocDWarehouse.FinancialYear_ID FROM dbo.WarehouseGoodView LEFT OUTER JOIN dbo.WhdocDWarehouse ON dbo.WhdocDWarehouse.Good_ID = dbo.WarehouseGoodView.RowID AND dbo.WarehouseGoodView.financialid = dbo.WhdocDWarehouse.FinancialYear_ID GROUP BY dbo.WarehouseGoodView.financialid, dbo.WarehouseGoodView.RowID, dbo.WhdocDWarehouse.Stock, dbo.WhdocDWarehouse.Good_ID, dbo.WhdocDWarehouse.FinancialYear_ID

CREATE VIEW [dbo].[GoodStockReportAllWarehouse] AS SELECT  dbo.Good.RowCode AS ProductBarcode, dbo.Good.RowName AS ProductName, { fn IFNULL(dbo.Good.RowNameEN, '') } AS LatinProductName, { fn IFNULL(dbo.Good.RowNameAlias, '') } AS ProductNickName,   dbo.Good.RowID AS ID, dbo.MeasureUnit.RowName AS SmallestUnit, { fn IFNULL(dbo.GoodCategory.RowName, '') } AS CategoryName, dbo.Good.SalePrice, dbo.Good.PurchasePrice,  dbo.StockAllWarehouse.stock * dbo.Good.SalePrice AS ValueBasedOnSale, dbo.StockAllWarehouse.stock * dbo.Good.PurchasePrice AS ValueBasedOnPurchase, { fn IFNULL(dbo.StockAllWarehouse.stock, 0) } AS Quantity,   dbo.AveragePrice.PurchaseAverage, dbo.StockAllWarehouse.stock * dbo.AveragePrice.PurchaseAverage AS ValueBasedOnAverage, dbo.Good.OrderPoint, dbo.StockAllWarehouse.financialid,   dbo.StockAllWarehouse.financialid AS Expr1, dbo.StockAllWarehouse.RowID FROM    dbo.Good INNER JOIN  dbo.MeasureUnit ON dbo.Good.Main_MeasureUnit_ID = dbo.MeasureUnit.RowID LEFT OUTER JOIN  dbo.StockAllWarehouse ON dbo.Good.RowID = dbo.StockAllWarehouse.RowID LEFT OUTER JOIN  dbo.AveragePrice ON dbo.Good.RowID = dbo.AveragePrice.GoodID LEFT OUTER JOIN  dbo.GoodCategory ON dbo.Good.GoodCategory_ID = dbo.GoodCategory.RowID

DROP VIEW [dbo].[WhDocDItems];

CREATE VIEW [dbo].[WhDocDItems] AS SELECT dbo.WhDocD.RowID AS ID, dbo.WhDocH.Fix_WhDocType2_ID, dbo.WhDocH.MDate, dbo.WhDocH.FDate, dbo.WhDocH.RowID AS WhDocHID, dbo.Warehouse.RowName AS Warehouse, dbo.Good.RowName AS GoodName, dbo.Good.RowCode AS GoodCode, { fn IFNULL(dbo.WhDocD.GoodSize, '') } AS GoodSize, COALESCE (CASE WHEN (dbo.WhDocD.InputValue) = 0 THEN (WhDocD.OutputValue) ELSE (WhDocD.InputValue) END, 0) AS Quantity, dbo.WhDocD.UnitPrice, { fn IFNULL(dbo.WhDocD.DiscountPercent, 0) } AS DiscountPercent, { fn IFNULL(dbo.WhDocD.DiscountPrice, 0) } AS DiscountPrice, { fn IFNULL(dbo.WhDocD.TaxPercent, 0) } AS TaxPercent, { fn IFNULL(dbo.WhDocD.TaxPrice, 0) } AS TaxPrice, dbo.WhDocD.TotalPrice, { fn IFNULL(dbo.GoodCategory.RowCode, '') } AS GoodCategoryCode, { fn IFNULL(dbo.GoodCategory.RowName, '') } AS GoodCategoryName, { fn IFNULL(dbo.GoodCategory.FullRowCode, '') } AS GoodCategoryFullCode, { fn IFNULL(dbo.GoodCategory.FullRowName, '') } AS GoodCategoryFullName, { fn IFNULL(dbo.Person.RowCode, '') } AS PersonCode, { fn IFNULL(dbo.Person.RowName, '') } AS PersonName, { fn IFNULL(dbo.PersonCategory.RowName, '') } AS PersonCategory, { fn IFNULL(dbo.Province.RowName, '') } AS Province, { fn IFNULL(dbo.County.RowName, '') } AS County, { fn IFNULL(dbo.City.RowName, '') } AS City, dbo.WhDocD.SerialNumber AS Serial, dbo.WhDocD.RowDesc AS Description, dbo.WhDocH.DocNo, dbo.MeasureUnit.RowName AS MeasureUnit, dbo.WhDocH.Branch_ID AS BranchID, dbo.Good.RowID AS GoodID, dbo.WhDocD.PurchaseTotalPrice,dbo.Warehouse.RowID FROM dbo.WhDocD LEFT OUTER JOIN dbo.Good ON dbo.WhDocD.Good_ID = dbo.Good.RowID LEFT OUTER JOIN dbo.GoodCategory ON dbo.Good.GoodCategory_ID = dbo.GoodCategory.RowID INNER JOIN  dbo.WhDocH ON dbo.WhDocD.WhDocH_ID = dbo.WhDocH.RowID INNER JOIN dbo.MeasureUnit ON dbo.WhDocD.MeasureUnit_ID = dbo.MeasureUnit.RowID LEFT OUTER JOIN dbo.Person ON dbo.WhDocH.Person_ID = dbo.Person.RowID LEFT OUTER JOIN dbo.PersonCategory ON dbo.Person.PersonCategory_ID = dbo.PersonCategory.RowID LEFT OUTER JOIN dbo.Province ON dbo.Person.Province_ID = dbo.Province.RowID LEFT OUTER JOIN dbo.County ON dbo.Person.County_ID = dbo.County.RowID LEFT OUTER JOIN dbo.City ON dbo.Person.City_ID = dbo.City.RowID LEFT OUTER JOIN dbo.Warehouse ON dbo.WhDocH.Warehouse_ID = dbo.Warehouse.RowID

INSERT [dbo].[Fix_EhDocType]([RowID],[RowName],[RowDesc]) VALUES(4,N'موجودی افتتاحیه','')

ALTER TABLE dbo.AppSettings ADD[Version] [int] NULL;

ALTER TABLE dbo.AppSettings ADD[Updatefile] varbinary(max) NULL;

ALTER TABLE dbo.AppSettings ADD[ChanceSystem] BIT NULL;

ALTER TABLE dbo.AppSettings ADD[SalePoint] [int] NULL;

ALTER TABLE dbo.AppSettings ADD[Panelsmstype] [int] NULL;

ALTER TABLE dbo.AppSettings ADD[Insertmethod] int NULL;

ALTER TABLE dbo.AppSettings ADD[printmethod] int NULL;

ALTER TABLE dbo.AppSettings ADD[CalculatedPoint] smallint NULL;

ALTER TABLE dbo.AppSettings ADD[StartDateChance] datetime2(7) NULL;

ALTER TABLE dbo.AppSettings ADD[Apikey] ntext NULL;

ALTER TABLE dbo.AppSettings ADD[Verfication] BIT NULL;

ALTER TABLE dbo.AppSettings ADD[Direct] BIT NULL;

ALTER TABLE dbo.AppSettings ADD[Token1] INT NULL;

ALTER TABLE dbo.AppSettings ADD[Token2] int NULL;

ALTER TABLE dbo.AppSettings ADD[Token3] int NULL;

ALTER TABLE dbo.AppSettings ADD[Number] nvarchar(50) NULL;

ALTER TABLE dbo.AppSettings ADD[SmsText] ntext NULL;

ALTER TABLE dbo.AppSettings ADD[Verfication2] BIT NULL;

ALTER TABLE dbo.AppSettings ADD[Direct2] BIT NULL;

ALTER TABLE dbo.AppSettings ADD[Token11] INT NULL;

ALTER TABLE dbo.AppSettings ADD[Token12] int NULL;

ALTER TABLE dbo.AppSettings ADD[Token13] int NULL;

ALTER TABLE dbo.AppSettings ADD[Number2] nvarchar(50) NULL;

ALTER TABLE dbo.AppSettings ADD[SmsText2] ntext NULL;

ALTER TABLE dbo.AppSettings ADD[VerficationName] nvarchar(50) NULL;

ALTER TABLE dbo.AppSettings ADD[VerficationName2] nvarchar(50) NULL;

ALTER TABLE dbo.AppSettings ADD[ExpenseID] int NULL;

ALTER TABLE dbo.AppSettings ADD[SaleUnderAmount] BIT NULL;

ALTER TABLE dbo.AppSystemSettings ADD[Printtype] [int] NULL;

ALTER TABLE dbo.WhDocH ADD[RecieptAccept] BIT NULL;

ALTER TABLE dbo.FinancialYear ADD[Reversion] INT NULL;

ALTER TABLE dbo.Fix_Reports ADD[Reversion] INT NULL;

ALTER TABLE dbo.Warehouse ADD[Reversion] INT NULL;

ALTER TABLE dbo.City ADD[Reversion] INT NULL;

ALTER TABLE dbo.County ADD[Reversion] INT NULL;

ALTER TABLE dbo.DiscountGroupPerson ADD[Reversion] INT NULL;

ALTER TABLE dbo.Province ADD[Reversion] INT NULL;

ALTER TABLE dbo.AppSystemSettings ADD[Dualmonitor] [BIT] NULL;

DROP VIEW [dbo].[WhdocDview];

CREATE VIEW [dbo].[WhdocDview] AS SELECT dbo.Good.RowCode AS Barcode, dbo.Good.BriefDescription, dbo.Good.ConsumerPrice, dbo.WhDocD.DiscountPrice, dbo.WhDocH.FTimeInsert, dbo.WhDocH.FDateUpdate, dbo.WhDocH.FDateInsert, dbo.Good.FirstStock,dbo.WhDocH.FTimeUpdate, dbo.Good.FullDescription, dbo.Good.RowID AS GoodID, dbo.GoodCategory.RowName AS GoodCategory, dbo.Good.GoodNameIndexInPrintInvoice, dbo.WhDocH.UpdatedBy, dbo.WhDocH.InsertedBy, dbo.WhDocH.InsertServerDateTime, dbo.Good.InterestRate, dbo.Good.IsHasSize, dbo.Good.IsActive, dbo.Good.IsSpecialSale, dbo.Good.Main_MeasureUnit_ID, dbo.Good.RowName AS Name, dbo.WhDocH.MDate, dbo.Good.RowNameEN AS NameEN, dbo.Good.OrderPoint, dbo.WhDocD.SaleUnitPrice, dbo.WhDocD.UnitPrice, dbo.WhDocD.TotalPrice, dbo.WhDocD.InputValue, dbo.WhDocD.OutputValue, dbo.WhDocH.Fix_WhDocType2_ID, dbo.WhDocH.Fix_WhDocType1_ID, dbo.WhDocD.GoodSize, dbo.WhDocD.PurchaseTotalPriceAverage, dbo.WhDocD.TaxPrice, dbo.WhDocD.TaxPercent, dbo.WhDocD.PurchaseTotalPrice, dbo.WhDocD.PurchaseUnitPrice, dbo.WhDocD.QuantityInUnitPrice, dbo.WhDocD.DiscountPercent, dbo.WhDocD.RowDesc, dbo.Person.RowCode AS PersonCode, dbo.Person.RowName AS PersonName, dbo.Person.RowID, dbo.WhDocH.FDate, dbo.WhDocH.DocNo, MeasureUnit_1.RowName AS MainMeasureUnit, dbo.MeasureUnit.RowName AS MeasureUnit, (CASE WHEN dbo.WhDocD.CalculatedInputValue = 0 THEN dbo.WhDocD.CalculatedOutputValue ELSE dbo.WhDocD.CalculatedInputValue END) AS quantity, dbo.WhDocD.WhDocH_ID FROM  dbo.GoodCategory RIGHT OUTER JOIN dbo.MeasureUnit AS MeasureUnit_1 INNER JOIN dbo.WhDocD INNER JOIN dbo.Good ON dbo.WhDocD.Good_ID = dbo.Good.RowID INNER JOIN dbo.MeasureUnit ON dbo.Good.Default_MeasureUnit_ID = dbo.MeasureUnit.RowID AND dbo.Good.Main_MeasureUnit_ID = dbo.MeasureUnit.RowID ON MeasureUnit_1.RowID = dbo.Good.Default_MeasureUnit_ID INNER JOIN dbo.Person INNER JOIN dbo.WhDocH ON dbo.Person.RowID = dbo.WhDocH.Person_ID ON dbo.WhDocD.WhDocH_ID = dbo.WhDocH.RowID ON dbo.GoodCategory.RowID = dbo.Good.GoodCategory_ID

DROP VIEW [dbo].[SalesFactorProfit];

CREATE VIEW [dbo].[SalesFactorProfit] AS SELECT  H.RowID AS ID, H.DocNo, H.FDate, H.MDate, P.RowName AS PersonName, P.RowCode AS PersonCode, { fn IFNULL(SUM(Increase.IncreasePrice), 0) } AS IncreasePrice, { fn IFNULL(SUM(Decrease.DecreasePrice), 0) } AS DecreasePrice, SUM(D.QuantityInUnitPrice) AS SumGoodsPrice, SUM(D.DiscountPrice) AS SumDiscountItems, H.DiscountPrice, { fn IFNULL(SUM(Marketer.PercentPrice), 0) } AS MarketerCommission, SUM(D.PurchaseTotalPrice) AS SumPurchaseTotalPrice, { fn IFNULL(SUM(D.CostOfGood), 0) } AS SumCostOfGood, { fn IFNULL(SUM(D.PurchaseTotalPriceAverage), 0) } AS SumTotalPriceAverage, SUM(D.QuantityInUnitPrice) - (H.DiscountPrice + { fn IFNULL(SUM(D.PurchaseTotalPriceAverage), 0) }) AS FactorProfitOnAverage, SUM(D.QuantityInUnitPrice) - (H.DiscountPrice + SUM(D.PurchaseTotalPrice)) AS FactorProfitOnPurchasePrice,  SUM(D.QuantityInUnitPrice) - (H.DiscountPrice + { fn IFNULL(SUM(D.CostOfGood), 0) }) AS FactorProfitOnCostOfGood, SUM(D.QuantityInUnitPrice) - (H.DiscountPrice + SUM(D.DiscountPrice) + { fn IFNULL(SUM(D.PurchaseTotalPriceAverage), 0) } + { fn IFNULL(SUM(Marketer.PercentPrice), 0) }) AS TotalFactorProfitOnAverage, SUM(D.QuantityInUnitPrice) - (H.DiscountPrice + SUM(D.DiscountPrice) + { fn IFNULL(SUM(D.PurchaseTotalPrice), 0) } + { fn IFNULL(SUM(Marketer.PercentPrice), 0) }) AS TotalFactorProfitOnPurchasePrice, SUM(D.QuantityInUnitPrice) - (H.DiscountPrice + SUM(D.DiscountPrice) + { fn IFNULL(SUM(D.CostOfGood), 0) } + { fn IFNULL(SUM(Marketer.PercentPrice), 0) }) AS TotalFactorProfitOnCostOfGood, H.InsertedBy FROM  dbo.WhDocH AS H INNER JOIN dbo.WhDocHMarketerPercent AS Marketer ON H.RowID = Marketer.WhDocH_ID LEFT OUTER JOIN dbo.WhDocD AS D ON H.RowID = D.WhDocH_ID LEFT OUTER JOIN dbo.Person AS P ON H.Person_ID = P.RowID LEFT OUTER JOIN dbo.WhDocHInvoiceIncrease AS Increase ON H.RowID = Increase.WhDocH_ID LEFT OUTER JOIN dbo.WhDocHInvoiceDecrease AS Decrease ON H.RowID = Decrease.WhDocH_ID WHERE  (H.Fix_WhDocType2_ID = 21) GROUP BY H.RowID, H.FDate, H.DocNo, P.RowName, P.RowCode, H.DiscountPrice, H.MDate, H.InsertedBy

ALTER TABLE [dbo].AppUserSettings ADD[InsertGoodinvoice] [smallint] NULL;

ALTER TABLE [dbo].AppUserSettings ADD[Defaultbank] int NULL;

ALTER TABLE [dbo].AppUserSettings ADD[ShowReminderInvoice] bit NULL;

ALTER TABLE [dbo].ExpenseType ADD[FatherID] [int] NULL;

ALTER TABLE [dbo].ExpenseType ADD[FullName] [nvarchar](max) NULL;

ALTER TABLE [dbo].AppUserSettings ADD[CofferFastCash] BIT NULL;

ALTER TABLE [dbo].AppUserSettings ADD[CofferFastCard] BIT NULL;

ALTER TABLE [dbo].AppUserSettings ADD[CofferDocumentExpense] BIT NULL;

ALTER TABLE [dbo].AppUserSettings ADD[CofferAddDeAdd] BIT NULL;

ALTER TABLE [dbo].AppUserSettings ADD[CofferDocumentCardCoffer] BIT NULL;

ALTER TABLE [dbo].AppUserSettings ADD[CofferDocumentCofferCard] BIT NULL;

ALTER TABLE [dbo].AppUserSettings ADD[RecivePersonDocumentCoffer] BIT NULL;

ALTER TABLE [dbo].AppUserSettings ADD[CofferDocumentPerson] BIT NULL;

ALTER TABLE [dbo].AppUserSettings ADD[SettingPassword] BIT NULL;

ALTER TABLE [dbo].AppUserSettings ADD[ReminderInCoffer] BIT NULL;

ALTER TABLE [dbo].AppUserSettings ADD[CreditAddInCoffer] BIT NULL;

ALTER TABLE [dbo].AppUserSettings ADD[RecicvePersonDocumentPos] BIT NULL;

ALTER TABLE [dbo].AppUserSettings ADD[PersonDocumentFile] BIT NULL;

ALTER TABLE [dbo].AppSystemSettings ADD[Reversion] bigint NULL;

ALTER TABLE [dbo].WhDocH ADD[ChanceSystemStatus] BIT NULL;

ALTER TABLE [dbo].ChequePayH ADD[PassMDate] datetime NULL;

ALTER TABLE [dbo].ChequePayH ADD[PassFDate] char(10) NULL;

update ExpenseType set FatherID = -1 where FatherID is null

CREATE VIEW [dbo].[Expensehirarchi] AS WITH Hierarchy(RowID, Rowname, FatherID, Parents) AS (SELECT   RowID, RowName, FatherID, CAST('' AS NVARCHAR(MAX)) AS Expr1 FROM dbo.ExpenseType AS FirtGeneration WHERE   (FatherID = '- 1') UNION ALL SELECT   NextGeneration.RowID, NextGeneration.RowName, Parent.FatherID, CAST(CASE WHEN Parent.Parents = '' THEN (CAST(Parent.RowName AS NVARCHAR(MAX))) ELSE (Parent.Parents + ' - ' + CAST(Parent.RowName AS NVARCHAR(MAX))) END AS NVARCHAR(MAX)) AS Expr1 FROM     dbo.ExpenseType AS NextGeneration INNER JOIN Hierarchy AS Parent ON NextGeneration.FatherID = Parent.RowID) SELECT   RowID, Rowname, FatherID, Parents FROM     Hierarchy AS Hierarchy_1

CREATE VIEW [dbo].[ExpenseView] AS SELECT   dbo.ExpenseType.RowID, dbo.ExpenseType.RowName, dbo.Expensehirarchi.Parents, dbo.ExpenseType.RowDesc, dbo.ExpenseType.IsActive, dbo.ExpenseType.Branch_ID FROM dbo.Expensehirarchi INNER JOIN dbo.ExpenseType ON dbo.Expensehirarchi.RowID = dbo.ExpenseType.RowID

DROP TABLE [dbo].[ChanceSystem]

CREATE TABLE [dbo].[ChanceSystem]([RowID] [bigint] IDENTITY(1,1) NOT NULL,[Message] [ntext] NULL,[Cid] [bigint] NULL,[Fdate] [nvarchar](50) NULL,[Ftime] [time](7) NULL,[Mdate] [datetime2](7) NULL,[WhID] [int] NULL,[Status] [bit] NULL,CONSTRAINT [PK_ChanceSystem] PRIMARY KEY CLUSTERED ([RowID] ASC)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]

ALTER TABLE [dbo].[ChanceSystem] ADD[WhID] int null

CONSTRAINT [PK_ChanceSystem] PRIMARY KEY CLUSTERED ([RowID] ASC)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]

ALTER TABLE [dbo].[ChanceSystem]  WITH CHECK ADD  CONSTRAINT [FK_ChanceSystem_WhDocH] FOREIGN KEY([WhID])REFERENCES [dbo].[WhDocH] ([RowID])

ALTER TABLE [dbo].[ChanceSystem] CHECK CONSTRAINT [FK_ChanceSystem_WhDocH]

ALTER TABLE dbo.PersonCategory ADD[Reversion] int NULL;

ALTER TABLE dbo.PersonCategory ADD[ServerID] int NULL;

ALTER TABLE dbo.GoodCategory ADD[Reversion] int NULL;

ALTER TABLE dbo.GoodSalePrice ADD[Reversion] int NULL;

ALTER TABLE dbo.DiscountGroupBranch ADD[Reversion] int NULL;

ALTER TABLE dbo.BankAccount ADD[ClientID] int NULL;

ALTER TABLE dbo.BankAccount ADD[Reversion] int NULL;

ALTER TABLE dbo.BankAccount ADD[SystemID] int NULL;

ALTER TABLE dbo.BankAccount ADD[ServerID] int NULL;

ALTER TABLE dbo.ProductionFormula ADD[CurrentPrice] money NULL;

ALTER TABLE dbo.ProductionFormula ADD[TypePrice] smallint NULL;

ALTER TABLE dbo.ChanceSystem ADD[Point] int NULL;

ALTER TABLE dbo.AppSystemSettings ADD[ServerID] int NULL;

ALTER TABLE dbo.AppSystemSettings ADD[ClientID] int NULL;

ALTER TABLE dbo.AppSystemSettings ADD[Port] [nvarchar](50) NULL;

ALTER TABLE dbo.AppSystemSettings ADD[BaudRate] int NULL;

ALTER TABLE dbo.Branch ADD[Warehouse_ID] int NULL;

ALTER TABLE dbo.AppSystemSettings ADD[BitRate] int NULL;

ALTER TABLE dbo.GoodCategory ADD[ShowInCoffer] bit NULL;

ALTER TABLE dbo.GoodCategory ADD[ShowOrder] int NULL;

ALTER TABLE dbo.InvoiceMemory ADD[GoodPrice] money NULL;

ALTER TABLE dbo.InvoiceMemory ADD[GoodVersion] int NULL;

ALTER TABLE dbo.ProductionFormulaDoc ADD[Doc_Account] bigint NULL;

ALTER TABLE dbo.ProductionFormulaDoc ADD[Doc_Acc1] int NULL;

ALTER TABLE dbo.ProductionFormulaDoc ADD[Doc_Acc2] int NULL;

INSERT INTO [dbo].[Fix_DocHType]([RowID],[RowName],[RowDesc])VALUES(26,N'سند تولید','')

INSERT INTO [dbo].[Fix_DocHType]([RowID],[RowName],[RowDesc])VALUES(27,N'وام','')

ALTER TABLE dbo.AppSettings ADD[BodyScale] bit NULL;

CREATE TABLE [dbo].[DeleteInfo]([RowID] [bigint] IDENTITY(1,1) NOT NULL,[TableName] [nvarchar](150) NULL,[RecordID] [bigint] NULL,[Reversion] [int] NULL,CONSTRAINT [PK_DeleteInfo] PRIMARY KEY CLUSTERED ([RowID] ASC)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]) ON [PRIMARY]

CREATE TABLE [dbo].[ProductionFormulaDoc]([RowID] [int] IDENTITY(1,1) NOT NULL,[Branch_ID] [int] NULL,[Product_Good_ID] [int] NOT NULL,[Primary_Doc_ID] [int] NOT NULL,[ConsumeValue] [float] NOT NULL,[RowDesc] [nvarchar](500) NULL,[InsertedBy] [smallint] NULL,[UpdatedBy] [smallint] NULL,[FDateInsert] [char](10) NULL,[FDateUpdate] [char](10) NULL,[FTimeInsert] [char](5) NULL,[FTimeUpdate] [char](5) NULL,[InsertServerDateTime] [datetime] NULL,[UpdateServerDateTime] [datetime] NULL,[RowUpdateVersion] [smallint] NULL,[UniqueIdentifierValue] [uniqueidentifier] NULL,[IsSend] [tinyint] NULL,[CurrentPrice] [money] NULL,[TypePrice] [smallint] NULL,CONSTRAINT [PK_ProductionFormulaDoc] PRIMARY KEY CLUSTERED ([RowID] ASC)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]) ON [PRIMARY]  SET ANSI_PADDING OFF  ALTER TABLE [dbo].[ProductionFormulaDoc]  WITH CHECK ADD  CONSTRAINT [FK_ProductionFormulaDoc_ExpenseType] FOREIGN KEY([Primary_Doc_ID]) REFERENCES [dbo].[ExpenseType] ([RowID])  ALTER TABLE [dbo].[ProductionFormulaDoc] CHECK CONSTRAINT [FK_ProductionFormulaDoc_ExpenseType]  ALTER TABLE [dbo].[ProductionFormulaDoc]  WITH CHECK ADD  CONSTRAINT [FK_ProductionFormulaDoc_Good] FOREIGN KEY([Product_Good_ID])REFERENCES [dbo].[Good] ([RowID]) ALTER TABLE [dbo].[ProductionFormulaDoc] CHECK CONSTRAINT [FK_ProductionFormulaDoc_Good]

CREATE VIEW [dbo].[MyHirarchi] AS WITH MyCTE AS (SELECT   RowID, RowName, FatherID, 1 AS [Level], CAST(RowID AS nvarchar(100)) AS Hierarchy FROM  dbo.ExpenseType AS t1 WHERE  (FatherID = - 1) UNION ALL SELECT  t2.RowID, t2.RowName, t2.FatherID, M.[level] + 1 AS [Level], CAST(',' + M.Hierarchy + ',' + CAST(t2.RowID AS nvarchar) + ',' AS nvarchar(100)) AS Hierarchy FROM  dbo.ExpenseType AS t2 INNER JOIN  MyCTE AS M ON t2.FatherID = M.RowID) SELECT  RowID, RowName, FatherID, [Level], Hierarchy FROM  MyCTE AS MyCTE_1

CREATE TABLE [dbo].[GoodCategoryGoods]([RowID] [bigint] NOT NULL,[CatID] [int] NULL,[GoodID] [bigint] NULL,CONSTRAINT [PK_GoodCategoryGoods] PRIMARY KEY CLUSTERED ([RowID] ASC)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]) ON [PRIMARY]

update Good set Reversion = (select max(reversion) from Good where Reversion is not null) where Reversion is null

drop procedure searchgood

CREATE PROCEDURE [dbo].[searchgood](@barcode nvarchar(50),@bid int,@index int) AS BEGIN begin transaction t1 declare @outputtbl table (rowid int) declare @outputtbl2 table (dochid int) declare @scalebarcodestart1char as nvarchar(50),@scalebarcodestart2char as nvarchar(50),@scalbarcodelen as nvarchar(50),@boolstart as bit,@goodbarodelen as int,@goodbarcodestartindex as int,@boolstart2 as bit,@code as nvarchar(50),@quantitys as decimal,@quantitystart as int,@quantitylen as int,@quantitynumber as nvarchar(50),@lengh as int,@notweghitbarcode as bit,@goodid as bigint,@tempcount as int,@measurmentid as int,@measurmentunitcount as int,@saleprice as money,@purchaseprice as money, @taxpercent as decimal,@discoutgroupbcount as int,@discountprice as decimal,@discountpercent as decimal,@taxamount as decimal,@dmeasurmentunitname as nvarchar,@dmeasurmentunitid as int,@transforrate as int CREATE TABLE #tempstock ( [RowID] [int]  NOT NULL,[GoodCategory_ID] [int] NULL,[Main_MeasureUnit_ID] [int] NULL,[Default_MeasureUnit_ID] [int] NULL,[Fix_GoodType_ID] [tinyint] NOT NULL,[DiscountGroupGood_ID] [int] NULL,[TaxGroupGood_ID] [int] NULL,[RowCode] [nvarchar](50) NOT NULL,[RowName] [nvarchar](250) NOT NULL,[RowNameEN] [nvarchar](250) NULL,[PurchasePrice] [money] NOT NULL,[SalePrice] [money] NOT NULL,[DiscountPrice] [money] NULL,[IsActive] [bit] NOT NULL,[RowDesc] [nvarchar](500) NULL,[Warehouse_ID] [smallint] NULL,[GoodNameIndexInPrintInvoice] [smallint] NULL,[ConsumerPrice] [money] NULL,[InterestRate] [float] NULL,[IsSpecialSale] [bit] NULL,[MaxCount] [float] NULL,[QuantityInBox] [nvarchar](100) NULL,[MultipleSalePrice] [bit] NULL,[ShowInStoreInvoice] [bit] NULL,[TransforRate] [money] NULL,) CREATE TABLE #tempstock2 ([ID] [int] NOT NULL,[GoodCategory_ID] [int] NULL,[SmallestUnit] [nvarchar](250) NULL,[MainUnitID] [int] NULL,[DefaultUnit] [nvarchar](250) NULL,[DefaultUnitID] [int] NULL,[Fix_GoodType_ID] [tinyint] NOT NULL,[DiscountGroupGood_ID] [int] NULL,[TaxGroupGood_ID] [int] NULL,[ProductBarcode] [nvarchar](50) NOT NULL,[ProductName] [nvarchar](250) NOT NULL,[LatinProductName] [nvarchar](250) NULL,[PurchasePrice] [money] NOT NULL,[SalePrice] [money] NOT NULL,[DiscountPrice] [money] NULL,[IsActive] [bit] NOT NULL,[RowDesc] [nvarchar](500) NULL,[Warehouse_ID] [smallint] NULL,[GoodNameIndexInPrintInvoice] [smallint] NULL,[ConsumerPrice] [money] NULL,[InterestRate] [float] NULL,[IsSpecialSale] [bit] NULL,[MaxCount] [float] NULL,[QuantityInBox] [nvarchar](100) NULL,[MultipleSalePrice] [bit] NULL,[ShowInStoreInvoice] [bit] NULL,[TransforRate] [money] NULL,[SumTotalPrice] [decimal] NULL,[DiscountPercent] [decimal] NULL,[DiscountAmount] [decimal] NULL,[TaxPercent] [decimal] NULL,[TaxAmount] [decimal] NULL,[Amount] [decimal] NULL,[SellUnitPrice] [decimal] NULL,[Index] [int] NULL,[UnitPrice] [decimal] NULL,[TransformRatio] [decimal] Null,[UnitPriceForSell] [decimal] NULL,[Discount] [int] NULL,[DiscountedSalePrice] [decimal] NULL) Begin Try set @quantitys = 1 set @measurmentid = 0 set @discountprice = 0 set @scalebarcodestart1char = (select ScaleBarcode_FirstFixTwoCharacters_1 from AppSettings) set @scalebarcodestart2char = (select ScaleBarcode_FirstFixTwoCharacters_2 from AppSettings) set @scalbarcodelen = (select ScaleBarcode_Length from AppSettings) set @boolstart = (SELECT CAST(CASE WHEN @barcode LIKE  @scalebarcodestart1char + '%' THEN 1 ELSE 0 END AS bit)); set @boolstart2 = (SELECT CAST(CASE WHEN @barcode LIKE  @scalebarcodestart2char + '%' THEN 1 ELSE 0 END AS bit)); set @goodbarcodestartindex = (select ScaleBarcode_GoodBarcodeStartIndex from AppSettings) set @quantitystart = (select ScaleBarcode_QuantityStartIndex from AppSettings) set @taxamount = 0 set @quantitylen = (select ScaleBarcode_QuantityLength from AppSettings) set @goodbarodelen = (select ScaleBarcode_GoodBarcodeLength from AppSettings) if(@scalebarcodestart1char <> '' and (@boolstart = 1 or @boolstart2 = 1) and Len(@barcode) = @scalbarcodelen)  begin set @code = (select SUBSTRING(@barcode,@goodbarcodestartindex -1,@goodbarodelen)) set @quantitys = (select CAST(SUBSTRING(@barcode,@quantitystart - 1,@quantitylen) as decimal)) set @quantitynumber = (select SUBSTRING(@barcode,@quantitystart - 1,@quantitylen)) set @code = CAST(@code as int) set @barcode = CAST(@code as nvarchar) insert into #tempstock(RowID,GoodCategory_ID,Main_MeasureUnit_ID,Default_MeasureUnit_ID,Fix_GoodType_ID,DiscountGroupGood_ID,TaxGroupGood_ID,RowCode,RowName,RowNameEN,PurchasePrice,SalePrice,DiscountPrice,IsActive,RowDesc,Warehouse_ID,GoodNameIndexInPrintInvoice,ConsumerPrice,InterestRate,IsSpecialSale,MaxCount,QuantityInBox,MultipleSalePrice,ShowInStoreInvoice,TransforRate) ((select top(1) RowID,GoodCategory_ID,Main_MeasureUnit_ID,Default_MeasureUnit_ID,Fix_GoodType_ID,DiscountGroupGood_ID,TaxGroupGood_ID,RowCode,RowName,RowNameEN,PurchasePrice,SalePrice,DiscountPrice,IsActive,RowDesc,Warehouse_ID,GoodNameIndexInPrintInvoice,ConsumerPrice, InterestRate,IsSpecialSale,MaxCount,QuantityInBox,MultipleSalePrice,ShowInStoreInvoice,TransforRate from Good where  RowCode = @barcode)) if((select Main_MeasureUnit_ID from #tempstock) = 3) begin set @quantitys = @quantitys / 1000 end if((select Main_MeasureUnit_ID from #tempstock) = 1) begin set @lengh = iif(@goodbarodelen is null,5,@goodbarodelen) set @quantitys = SUBSTRING(@quantitynumber,0,@lengh) if(@quantitys > 1000) begin set @quantitys = @quantitys / 1000 set @notweghitbarcode = 1 end end end else begin insert into #tempstock(RowID,GoodCategory_ID,Main_MeasureUnit_ID,Default_MeasureUnit_ID,Fix_GoodType_ID,DiscountGroupGood_ID,TaxGroupGood_ID,RowCode,RowName,RowNameEN,PurchasePrice,SalePrice,DiscountPrice,IsActive,RowDesc,Warehouse_ID,GoodNameIndexInPrintInvoice,ConsumerPrice,InterestRate,IsSpecialSale,MaxCount,QuantityInBox,MultipleSalePrice,ShowInStoreInvoice,TransforRate) ((select top 1 RowID,GoodCategory_ID,Main_MeasureUnit_ID,Default_MeasureUnit_ID,Fix_GoodType_ID,DiscountGroupGood_ID,TaxGroupGood_ID,RowCode,RowName,RowNameEN,PurchasePrice,SalePrice,DiscountPrice,IsActive,RowDesc,Warehouse_ID,GoodNameIndexInPrintInvoice,ConsumerPrice,InterestRate,IsSpecialSale,MaxCount,QuantityInBox,MultipleSalePrice,ShowInStoreInvoice,TransforRate  from Good where RowCode = @barcode)) end set @tempcount = (select count(*) from #tempstock) set @goodid =(select iif(@tempcount > 0,(select RowID from #tempstock),0)) if(@goodid <> 0) begin set @measurmentunitcount = (select COUNT(*) from GoodMeasureUnitCodingSystems where RowCode = @barcode) if(@measurmentunitcount > 0) begin set @measurmentid= (select COUNT(*) from GoodMeasureUnit where Good_ID = @goodid) end if(@measurmentid <> 0) begin set @measurmentid= (select COUNT(*) from GoodMeasureUnit where Good_ID = @goodid and MeasureUnit_ID = (select Default_MeasureUnit_ID from #tempstock)) end if(@measurmentid <> 0) begin set @saleprice = (select SalePrice from GoodMeasureUnit where Good_ID = @goodid) set @purchaseprice = (select PurchasePrice from GoodMeasureUnit where Good_ID = @goodid) end	else begin set @saleprice = (select SalePrice from #tempstock) set @purchaseprice = (select PurchasePrice from #tempstock) end set @taxpercent = (select taxpercent from TaxGroupGood where RowID = (select TaxGroupGood_ID from #tempstock)) set @discoutgroupbcount = (select COUNT(*) from DiscountGroupBranchGoods where GoodID = @goodid and DiscountGroupBranch_ID = @bid) 	if(@discoutgroupbcount <> 0) begin set @discountpercent = (select DiscountPercent from DiscountGroupBranchGoods where GoodID = @goodid and DiscountGroupBranch_ID = @bid) set @discountprice = iif(@discountpercent <> 0,(@discountpercent / 100) * (@quantitys * @saleprice),(select DiscountPrice from DiscountGroupBranchGoods where GoodID = @goodid and DiscountGroupBranch_ID = @bid)) end else begin set @discountpercent = (select DiscountPercent from DiscountGroupGood where RowID = (select DiscountGroupGood_ID from #tempstock)) set @discountprice = iif(@discountpercent <> 0,(@discountpercent / 100) * (@quantitys * @saleprice),(select DiscountPrice from #tempstock)) end	 set @taxamount = ((@saleprice * @quantitys) - @discountprice) * (@taxpercent / 100) if(@measurmentid <> 0) begin set @dmeasurmentunitname = (select RowName from MeasureUnit where RowID = (select MeasureUnit_ID from GoodMeasureUnit where Good_ID = @goodid)) set @dmeasurmentunitid = (select RowID from GoodMeasureUnit where Good_ID = @goodid) end set @transforrate = (select TransforRate from #tempstock); if(@transforrate <> 0 and @transforrate is not null) begin set @quantitys = @transforrate end if(@discountprice is null) begin set @discountprice = 0 end if(@discountpercent is null) begin set @discountpercent = 0 end if(@taxamount is null) begin set @taxamount = 0 end if(@taxpercent is null) begin set @taxpercent = 0 end insert into #tempstock2(ID,GoodCategory_ID,SmallestUnit,MainUnitID,DefaultUnit,DefaultUnitID,Fix_GoodType_ID,DiscountGroupGood_ID,TaxGroupGood_ID,ProductBarcode,ProductName,LatinProductName,PurchasePrice,SalePrice,DiscountPrice,IsActive,RowDesc,Warehouse_ID,GoodNameIndexInPrintInvoice,ConsumerPrice,InterestRate,IsSpecialSale,MaxCount,QuantityInBox,MultipleSalePrice,ShowInStoreInvoice,TransforRate,SumTotalPrice,DiscountPercent,DiscountAmount,TaxPercent,TaxAmount,Amount,SellUnitPrice,[Index],UnitPrice,TransformRatio,UnitPriceForSell,Discount,DiscountedSalePrice)  values ((select top 1 RowID from #tempstock), (select top 1 GoodCategory_ID from #tempstock),(select top 1 MeasureUnit.RowName from MeasureUnit,Good WHERE Good.Main_MeasureUnit_ID = MeasureUnit.RowID),(SELECT top 1 Main_MeasureUnit_ID FROM #tempstock),@dmeasurmentunitname,@dmeasurmentunitid,(select Fix_GoodType_ID from #tempstock),(select DiscountGroupGood_ID from #tempstock),(select TaxGroupGood_ID from #tempstock),(select RowCode from #tempstock),(select RowName from #tempstock),(select top 1 RowNameEN from #tempstock),@purchaseprice,@saleprice,(select top 1 DiscountPrice from #tempstock),(select top 1 IsActive from #tempstock),(select top 1 RowDesc from #tempstock),(select top 1 Warehouse_ID from #tempstock),(select top 1 GoodNameIndexInPrintInvoice from #tempstock),(select top 1 ConsumerPrice from #tempstock),(select top 1 InterestRate from #tempstock),(select top 1 IsSpecialSale from #tempstock),(select top 1 MaxCount from #tempstock),(select top 1 QuantityInBox from #tempstock),(select top 1 MultipleSalePrice from #tempstock),(select top 1 ShowInStoreInvoice from #tempstock),@transforrate,((@saleprice - @discountprice) + @taxamount) * @quantitys,@discountpercent,@discountprice,@taxpercent,@taxamount,@quantitys,@saleprice,@index + 1,@saleprice,(select top 1 TransformRatio from GoodMeasureUnit where Good_ID = @goodid), (@saleprice - @discountprice) + @taxamount,0,@saleprice - @discountprice)  end	commit transaction t1 select  * from #tempstock2 return End Try Begin Catch select Error_Message(); rollback transaction t1 return End Catch END

DROP VIEW [dbo].[GoodView];

CREATE VIEW [dbo].[GoodView] AS SELECT  dbo.Good.RowID AS ID, dbo.Good.RowName AS ProductName, dbo.Good.RowCode AS ProductBarcode, dbo.Good.PurchasePrice, dbo.Good.SalePrice, dbo.Good.InterestRate, dbo.Good.ConsumerPrice, dbo.Good.OrderPoint, { fn IFNULL(dbo.Good.RowNameEN, '') } AS LatinProductName, { fn IFNULL(dbo.Good.RowNameAlias, '') } AS ProductNickName, dbo.Good.FirstStock, dbo.Good.DiscountPrice, dbo.Good.FDate AS DateInsert, dbo.Good.RowDesc AS Description, dbo.Good.IsHasSize, dbo.Good.IsActive, dbo.Good.MDate, dbo.Good.Fix_GoodType_ID, dbo.Good.RowCode, dbo.Good.MaxCount, dbo.Good.GoodCategory_ID AS GoodCategoryID, dbo.MeasureUnit.RowName AS SmallestUnit, MeasureUnit_1.RowName AS DefaultUnit, { fn IFNULL(dbo.DiscountGroupGood.RowName, '') } AS DiscountGroupGood, { fn IFNULL(dbo.TaxGroupGood.RowName, '') } AS TaxGroupGood, { fn IFNULL(dbo.GoodCategory.RowName, '') } AS CategoryName, dbo.Good.Reversion, { fn IFNULL(dbo.Good.MultipleSalePrice, 0) } AS MultipleSalePrice, dbo.Good.TransforRate, dbo.Good.SpecialCategory,dbo.Good.IMG_1 FROM dbo.Good LEFT OUTER JOIN dbo.MeasureUnit ON dbo.Good.Main_MeasureUnit_ID = dbo.MeasureUnit.RowID LEFT OUTER JOIN dbo.MeasureUnit AS MeasureUnit_1 ON dbo.Good.Default_MeasureUnit_ID = MeasureUnit_1.RowID LEFT OUTER JOIN dbo.DiscountGroupGood ON dbo.Good.DiscountGroupGood_ID = dbo.DiscountGroupGood.RowID LEFT OUTER JOIN dbo.TaxGroupGood ON dbo.Good.TaxGroupGood_ID = dbo.TaxGroupGood.RowID LEFT OUTER JOIN dbo.GoodCategory ON dbo.Good.GoodCategory_ID = dbo.GoodCategory.RowID

drop table LoanPayment

drop table LoanUsance

drop table Loan

CREATE TABLE [dbo].[LoanNew]([RowID] [bigint] IDENTITY(1,1) NOT NULL,[KolPrice] [money] NULL,[ReminderPrice] [money] NULL,[Fdate] [nvarchar](50) NULL,[Mdate] [datetime2](7) NULL,[ProfitType] [int] NULL,[ProfitPercentmonth] [numeric](18, 2) NULL,[Profitpercentyear] [numeric](18, 2) NULL,[FirstDate] [datetime2](7) NULL,[FirstFdate] [nvarchar](50) NULL,[NumberAghsat] [int] NULL,[BetweenAghsat] [int] NULL,[Jarimeh] [money] NULL,[TotalProfit] [money] NULL,[Cid] [int] NULL,[WhID] [bigint] NULL,CONSTRAINT [PK_Loan] PRIMARY KEY CLUSTERED ([RowID] ASC)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]) ON [PRIMARY]

CREATE TABLE [dbo].[SubLoan]([RowID] [bigint] IDENTITY(1,1) NOT NULL,[Fdate] [nvarchar](50) NULL,[Mdate] [datetime2](7) NULL,[Price] [money] NULL,[Jarimeh] [money] NULL,[paydate] [datetime2](7) NULL,[Lid] [bigint] NULL,CONSTRAINT [PK_SubLoan] PRIMARY KEY CLUSTERED ([RowID] ASC)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]) ON [PRIMARY]

ALTER TABLE [dbo].[SubLoan]  WITH CHECK ADD  CONSTRAINT [FK_SubLoan_LoanNew] FOREIGN KEY([Lid]) REFERENCES [dbo].[LoanNew] ([RowID])

ALTER TABLE [dbo].[SubLoan] CHECK CONSTRAINT [FK_SubLoan_LoanNew]

CREATE TABLE [dbo].[LoanPaymentNew]([RowID] [bigint] IDENTITY(1,1) NOT NULL,[Fdate] [nvarchar](50) NULL,[Mdate] [datetime2](7) NULL,[Price] [money] NULL,[Lid] [bigint] NULL,[Slid] [bigint] NULL, CONSTRAINT [PK_LoanPayment] PRIMARY KEY CLUSTERED ([RowID] ASC)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]) ON [PRIMARY]

ALTER TABLE [dbo].[LoanPaymentNew]  WITH CHECK ADD  CONSTRAINT [FK_LoanPayment_Loan] FOREIGN KEY([Lid])REFERENCES [dbo].[LoanNew] ([RowID])

ALTER TABLE [dbo].[LoanPaymentNew] CHECK CONSTRAINT [FK_LoanPayment_Loan]

ALTER TABLE [dbo].[LoanPaymentNew]  WITH CHECK ADD  CONSTRAINT [FK_LoanPayment_SubLoan] FOREIGN KEY([Slid]) REFERENCES [dbo].[SubLoan] ([RowID])

ALTER TABLE [dbo].[LoanPaymentNew] CHECK CONSTRAINT [FK_LoanPayment_SubLoan]

CREATE VIEW [dbo].[LoanView] AS SELECT  dbo.LoanNew.RowID, dbo.LoanNew.KolPrice, dbo.LoanNew.ReminderPrice, dbo.LoanNew.Fdate, dbo.LoanNew.Mdate, dbo.LoanNew.ProfitType, dbo.LoanNew.ProfitPercentmonth, dbo.LoanNew.Profitpercentyear, dbo.LoanNew.FirstDate, dbo.LoanNew.FirstFdate, dbo.LoanNew.NumberAghsat, dbo.LoanNew.BetweenAghsat, dbo.LoanNew.Jarimeh, dbo.LoanNew.TotalProfit, dbo.LoanNew.Cid, dbo.LoanNew.WhID, dbo.Person.RowName, dbo.Person.PhoneNumber, dbo.Person.MobileNumber, dbo.Person.FatherName, dbo.Person.NationalCode FROM  dbo.LoanNew INNER JOIN dbo.Person ON dbo.LoanNew.Cid = dbo.Person.RowID

ALTER TABLE dbo.QuickAccess ADD[FrmChequeTime] BIT NULL;

update ChequeRecH set FinancialYear_ID = (select top(1) RowID from FinancialYear) where FinancialYear_ID is null

ALTER TABLE dbo.QuickAccess ADD[FrmGoodOrderPoint] BIT NULL;

ALTER PROCEDURE [dbo].[sp_UseStringList](@list goodlistnew READONLY,@uid int,@date nvarchar(50),@mdate datetime,@time nvarchar(10),@guid UNIQUEIDENTIFIER,@sum decimal,@cashpay decimal,@quantity decimal,@disc DECIMAL,@DiscountPrice DECIMAL,@pid INT,@bid int,@plist paylist readonly,@alist Additionals readonly,@dlist Decreases readonly) AS BEGIN begin transaction t1 declare @outputtbl table (rowid int) declare @outputtbl2 table (dochid int) declare @accrid as int ,@chancesystem bit, @count as int , @i as int, @countofstock as float,@stcks as float,@branchid as int,@typetasvieh as bit,@bankid as int,@finanal as int,@warehouseid as int,@adict as int,@diact as int, @cofferid as int,@personid as int, @userid as int, @docid as int, @j as int,@goodid as int, @measurementunitid as int, @itemcount as FLOAT,@averages as int, @itemcalculatedcount as FLOAT, @saleprice as decimal, @itemprice as decimal, @itemquantity as decimal, @itemdiscount as decimal, @itempurchase as decimal, @k as int,@a as int,@d as int, @browid as int,@spricebank as decimal CREATE TABLE #tempstock ( [did] [int],[goodid] [int],[goodname] [nvarchar](250),[barcode] [nvarchar](100),[MeasureUnit] [nvarchar](200),[MeasureUnitID] [int],[PurchasePrice] [decimal],[saleprice] [decimal],[sumPurchasePrice] [decimal],[price] [decimal], [DiscountPrice] [decimal],[count] [float],[calculatedcount] [float],[sumafterDiscountPrice] [decimal],[sumbeforeDiscountPrice] [decimal],[id] [int] identity ) Begin Try set @accrid=3 set @branchid = @bid set @finanal = (select FinancialYear_ID from appsettings) set @warehouseid = (select Warehouse_ID from AppUserSettings where UserInfo_ID = @uid)  set @cofferid = (select  Coffer_ID from AppUserSettings where UserInfo_ID = @uid) IF(@pid=-1)BEGIN set @personid = (select  DefaultPerson_ID_FactorForosh  from AppUserSettings where UserInfo_ID = @uid) END ELSE BEGIN SET @personid=@pid END set @userid =  @uid insert into #tempstock select * from @list set @i = 1 set @count = (select COUNT(*) from #tempstock) insert into WhDocH (times,branch_id,FinancialYear_ID,Fix_RecordStatusType_ID,Fix_WhDocType1_ID,Fix_WhDocType2_ID,Warehouse_ID,Fix_DiscountType_ID,Coffer_ID,Person_ID,DocNo,FDate,MDate,DiscountPercent,DiscountPrice,SettlePrice,TaxPercent,TaxPrice,TotalPrice,QuantityInUnitPrice,TotalDiscountPriceItems,TotalTaxPriceItems,PayablePrice,DefinedBySystem,InsertedBy,FDateInsert,FTimeInsert,UniqueIdentifierValue,IsSend,IsSettled,SumPercentPrice,TotalIncreasePrice,TotalDecreasePrice) output inserted.RowID into @outputtbl(rowid) values (@time,@branchid,@finanal,1,2,21,@warehouseid,2,@cofferid,@personid,(select max(DocNo) from WhDocH where Fix_WhDocType2_ID = 21) + 1,@date,@mdate,0,@DiscountPrice,@cashpay,0,0,@sum,@quantity,@disc,0,@sum-@DiscountPrice,0,@userid,@date,@time,@guid,0,0,0,0,0) set @docid = (select DocNo from WhDocH where RowID = (select rowid from @outputtbl) and Fix_WhDocType2_ID = 21) set @j = 1 while (@j <= @count) begin set @goodid = (select goodid from #tempstock where id = @j) set @measurementunitid = (select MeasureUnitID from #tempstock where id = @j) set @itemcount = (select [count] from #tempstock where id = @j) set @itemcalculatedcount = (select [calculatedcount] from #tempstock where id = @j) set @saleprice = (select saleprice from #tempstock where id = @j) set @itemprice = (select price from #tempstock where id = @j) set @itemdiscount = (select DiscountPrice from #tempstock where id = @j) set @itempurchase = (select PurchasePrice from #tempstock where id = @j) set @averages = (select PurchaseAverage from AveragePrice where GoodID = @goodid) insert into WhDocD (Branch_Id,FinancialYear_ID,WhDocH_ID,Good_ID,Main_MeasureUnit_ID,MeasureUnit_ID,Fix_DiscountType_ID,InputValue,calculatedinputvalue,OutputValue,CalculatedOutputValue,UnitPrice,TotalPrice,QuantityInUnitPrice,DiscountPercent,DiscountPrice,purchaseunitprice,purchasetotalprice,taxpercent,TaxPrice,SaleUnitPrice,IsSend,PurchaseTotalPriceAverage) values (@branchid,@finanal,(select rowid from @outputtbl),@goodid,@measurementunitid,@measurementunitid,2,0,0,@itemcount,@itemcalculatedcount,@saleprice,(@itemprice * @itemcount),(@saleprice * @itemcount),0,(@itemdiscount * @itemcount),@itempurchase,(@itempurchase * @itemcount),0,0,@saleprice ,0,@averages) set @j = @j + 1 end set @typetasvieh = (select CardReaderAutoSettlement from AppUserSettings where UserInfo_ID = @uid) insert into DocH (branch_id,Fix_DocHType_ID,financialyear_id,RelateRowID,FDate,MDate,RowDesc,UniqueIdentifierValue)  output inserted.RowID into @outputtbl2(dochid) values (@branchid,2,@finanal,(select top(1) rowid from @outputtbl),@date,@mdate,N'فاکتور فروش شماره ' + CAST(@docid as nvarchar) ,@guid) insert into DocD(Branch_ID,doch_id,fix_acc1_id,fix_acc2type_id,Acc2RowID,BedPrice,BesPrice,RowDesc,IsSend) values (@branchid,(select top(1) dochid from @outputtbl2),3,1,@personid,@sum-@DiscountPrice,0,N'فاکتور فروش شماره ' + CAST(@docid as nvarchar),0) insert into DocD(Branch_ID,doch_id,fix_acc1_id,fix_acc2type_id,BedPrice,BesPrice,RowDesc,IsSend)  values (@branchid,(select top(1) dochid from @outputtbl2),2,0,0,@sum-@DiscountPrice,N'فاکتور فروش شماره ' + CAST(@docid as nvarchar),0) if(@cashpay>0) begin insert into DocD(Branch_ID,doch_id,fix_acc1_id,fix_acc2type_id,Acc2RowID,BedPrice,BesPrice,RowDesc,IsSend) values (@branchid,(select top(1) dochid from @outputtbl2),7,3,@cofferid,@cashpay,0,N'فاکتور فروش شماره ' + CAST(@docid as nvarchar)+N'-مبلغ نقدی',0) insert into DocD(Branch_ID,doch_id,fix_acc1_id,fix_acc2type_id,Acc2RowID,BedPrice,BesPrice,RowDesc,IsSend)  values (@branchid,(select top(1) dochid from @outputtbl2),3,1,@personid,0,@cashpay,N'فاکتور فروش شماره ' + CAST(@docid as nvarchar)+N'-مبلغ نقدی',0) end set @k=1 while(@k<=(select COUNT(*) from @plist)) begin set @browid=(select top(1) bankrowid from @plist where rowid=@k)set @spricebank=(select top(1)  SettlePrice from @plist where rowid=@k) if(@typetasvieh = 1) begin insert into DocD(Branch_ID,doch_id,fix_acc1_id,fix_acc2type_id,Acc2RowID,BedPrice,BesPrice,RowDesc,IsSend) values (@branchid,(select top(1) dochid from @outputtbl2),5,2,@browid,@spricebank,0,N'فاکتور فروش شماره ' + CAST(@docid as nvarchar)+N'-مبلغ کارتخوان',0) end else begin insert into DocD(Branch_ID,doch_id,fix_acc1_id,fix_acc2type_id,Acc2RowID,BedPrice,BesPrice,RowDesc,IsSend)  values (@branchid,(select top(1) dochid from @outputtbl2),5,8,@browid,@spricebank,0,N'فاکتور فروش شماره ' + CAST(@docid as nvarchar)+N'-مبلغ کارتخوان',0) end insert into DocD(Branch_ID,doch_id,fix_acc1_id,fix_acc2type_id,Acc2RowID,BedPrice,BesPrice,RowDesc,IsSend)  values (@branchid,(select top(1) dochid from @outputtbl2),3,1,@personid,0,@spricebank,N'فاکتور فروش شماره ' + CAST(@docid as nvarchar)+N'-مبلغ کارتخوان',0) set @bankid = (select BankAccountID from POS where RowID = @browid)insert into WhDocHBankAccount(BankAccount_ID,Branch_ID,SettlePrice,WhDocH_ID,IsSend,POS_ID) values (@bankid,@branchid,@spricebank,(select top(1) rowid from @outputtbl),0,@browid) set @k=@k+1 end DELETE FROM dbo.Table_Lottory WHERE nofactor=@docid INSERT INTO Table_Lottory (nofactor,nolottory,[sum],disc) VALUES(@docid,CAST( CAST(RAND() * 10000 AS INT) AS NVARCHAR(50)) + CAST(@docid AS NVARCHAR(50)),@sum,@DiscountPrice) select DocNo from WhDocH where RowID = (select rowid from @outputtbl) set @chancesystem = (select top(1) ChanceSystem from AppSettings) if(@chancesystem = 1) begin insert into ChanceSystem(cid,Fdate,Ftime,Mdate,WhID,[Status]) values (@pid,@date,@time,@mdate,(select rowid from @outputtbl),0) end set @adict = (select count(*) from @alist) set @diact = (select count(*) from @dlist) set @a = 0 set @d = 0 while(@a < @adict) begin insert into WhDocHInvoiceIncrease (Branch_ID,Fix_PercentOrPrice_ID,InvoiceIncrease_ID,WhDocH_ID,IncreasePrice,IncreasePercent) values (@branchid,(select top(1) fixorpercent from @alist where [row] = @a),(select top(1) inid from @alist where [row] = @a), (select rowid from @outputtbl),(select top(1) dprice from @alist where [row] = @a),(select top(1) dpercent from @alist where [row] = @a)) set @a = @a + 1 end while(@d < @diact) begin insert into WhDocHInvoiceDecrease(Branch_ID,Fix_PercentOrPrice_ID,InvoiceDecrease_ID,WhDocH_ID,DecreasePrice,DecreasePercent) values (@branchid,(select top(1) fixorpercent from @dlist where [row] = @a),(select top(1) inid from @dlist where [row] = @a),(select rowid from @outputtbl),(select top(1) dprice from @dlist where [row] = @a),(select top(1) dpercent from @dlist where [row] = @a)) set @d = @d + 1 end commit transaction t1 End Try Begin Catch select Error_Message(); rollback transaction t1 return End Catch END

drop procedure [dbo].[sp_UseStringList]

Create PROCEDURE [dbo].[sp_UseStringList](@list goodlistnew READONLY,@uid int,@date nvarchar(50),@mdate datetime,@time nvarchar(10),@guid UNIQUEIDENTIFIER,@sumincrease decimal,@sumdecrease decimal,@sum decimal,@cashpay decimal,@quantity decimal,@disc DECIMAL,@DiscountPrice DECIMAL,@pid INT,@bid int,@plist paylist readonly,@alist Additionals readonly,@dlist Decreases readonly) AS BEGIN begin transaction t1 declare @outputtbl table (rowid int) declare @outputtbl2 table (dochid int) declare @accrid as int ,@chancesystem bit, @count as int , @i as int, @countofstock as float,@stcks as float,@branchid as int,@typetasvieh as bit,@bankid as int,@finanal as int,@warehouseid as int,@adict as int,@diact as int, @cofferid as int,@personid as int, @userid as int, @docid as int, @j as int,@goodid as int, @measurementunitid as int, @itemcount as FLOAT,@averages as int, @itemcalculatedcount as FLOAT, @saleprice as decimal, @itemprice as decimal, @itemquantity as decimal, @itemdiscount as decimal, @itempurchase as decimal, @k as int,@a as int,@d as int, @browid as int,@spricebank as decimal CREATE TABLE #tempstock ( [did] [int],[goodid] [int],[goodname] [nvarchar](250),[barcode] [nvarchar](100),[MeasureUnit] [nvarchar](200),[MeasureUnitID] [int],[PurchasePrice] [decimal],[saleprice] [decimal],[sumPurchasePrice] [decimal],[price] [decimal], [DiscountPrice] [decimal],[count] [float],[calculatedcount] [float],[sumafterDiscountPrice] [decimal],[sumbeforeDiscountPrice] [decimal],[id] [int] identity ) Begin Try set @accrid=3 set @branchid = @bid set @finanal = (select FinancialYear_ID from appsettings) set @warehouseid = (select Warehouse_ID from AppUserSettings where UserInfo_ID = @uid)  set @cofferid = (select  Coffer_ID from AppUserSettings where UserInfo_ID = @uid) IF(@pid=-1)BEGIN set @personid = (select  DefaultPerson_ID_FactorForosh  from AppUserSettings where UserInfo_ID = @uid) END ELSE BEGIN SET @personid=@pid END set @userid =  @uid insert into #tempstock select * from @list set @i = 1 set @count = (select COUNT(*) from #tempstock) insert into WhDocH (times,branch_id,FinancialYear_ID,Fix_RecordStatusType_ID,Fix_WhDocType1_ID,Fix_WhDocType2_ID,Warehouse_ID,Fix_DiscountType_ID,Coffer_ID,Person_ID,DocNo,FDate,MDate,DiscountPercent,DiscountPrice,SettlePrice,TaxPercent,TaxPrice,TotalPrice,QuantityInUnitPrice,TotalDiscountPriceItems,TotalTaxPriceItems,PayablePrice,DefinedBySystem,InsertedBy,FDateInsert,FTimeInsert,UniqueIdentifierValue,IsSend,IsSettled,SumPercentPrice,TotalIncreasePrice,TotalDecreasePrice) output inserted.RowID into @outputtbl(rowid) values (@time,@branchid,@finanal,1,2,21,@warehouseid,2,@cofferid,@personid,(select max(DocNo) from WhDocH where Fix_WhDocType2_ID = 21) + 1,@date,@mdate,0,@DiscountPrice,@cashpay,0,0,@sum,@quantity,@disc,0,@sum-@DiscountPrice,0,@userid,@date,@time,@guid,0,0,0,@sumincrease,@sumdecrease) set @docid = (select DocNo from WhDocH where RowID = (select rowid from @outputtbl) and Fix_WhDocType2_ID = 21) set @j = 1 while (@j <= @count) begin set @goodid = (select goodid from #tempstock where id = @j) set @measurementunitid = (select MeasureUnitID from #tempstock where id = @j) set @itemcount = (select [count] from #tempstock where id = @j) set @itemcalculatedcount = (select [calculatedcount] from #tempstock where id = @j) set @saleprice = (select saleprice from #tempstock where id = @j) set @itemprice = (select price from #tempstock where id = @j) set @itemdiscount = (select DiscountPrice from #tempstock where id = @j) set @itempurchase = (select PurchasePrice from #tempstock where id = @j) set @averages = (select PurchaseAverage from AveragePrice where GoodID = @goodid) insert into WhDocD (Branch_Id,FinancialYear_ID,WhDocH_ID,Good_ID,Main_MeasureUnit_ID,MeasureUnit_ID,Fix_DiscountType_ID,InputValue,calculatedinputvalue,OutputValue,CalculatedOutputValue,UnitPrice,TotalPrice,QuantityInUnitPrice,DiscountPercent,DiscountPrice,purchaseunitprice,purchasetotalprice,taxpercent,TaxPrice,SaleUnitPrice,IsSend,PurchaseTotalPriceAverage) values (@branchid,@finanal,(select rowid from @outputtbl),@goodid,@measurementunitid,@measurementunitid,2,0,0,@itemcount,@itemcalculatedcount,@saleprice,(@itemprice * @itemcount),(@saleprice * @itemcount),0,(@itemdiscount * @itemcount),@itempurchase,(@itempurchase * @itemcount),0,0,@saleprice ,0,@averages) set @j = @j + 1 end set @typetasvieh = (select CardReaderAutoSettlement from AppUserSettings where UserInfo_ID = @uid) insert into DocH (branch_id,Fix_DocHType_ID,financialyear_id,RelateRowID,FDate,MDate,RowDesc,UniqueIdentifierValue)  output inserted.RowID into @outputtbl2(dochid) values (@branchid,2,@finanal,(select top(1) rowid from @outputtbl),@date,@mdate,N'فاکتور فروش شماره ' + CAST(@docid as nvarchar) ,@guid) insert into DocD(Branch_ID,doch_id,fix_acc1_id,fix_acc2type_id,Acc2RowID,BedPrice,BesPrice,RowDesc,IsSend) values (@branchid,(select top(1) dochid from @outputtbl2),3,1,@personid,@sum-@DiscountPrice,0,N'فاکتور فروش شماره ' + CAST(@docid as nvarchar),0) insert into DocD(Branch_ID,doch_id,fix_acc1_id,fix_acc2type_id,BedPrice,BesPrice,RowDesc,IsSend)  values (@branchid,(select top(1) dochid from @outputtbl2),2,0,0,@sum-@DiscountPrice,N'فاکتور فروش شماره ' + CAST(@docid as nvarchar),0) if(@cashpay>0) begin insert into DocD(Branch_ID,doch_id,fix_acc1_id,fix_acc2type_id,Acc2RowID,BedPrice,BesPrice,RowDesc,IsSend) values (@branchid,(select top(1) dochid from @outputtbl2),7,3,@cofferid,@cashpay,0,N'فاکتور فروش شماره ' + CAST(@docid as nvarchar)+N'-مبلغ نقدی',0) insert into DocD(Branch_ID,doch_id,fix_acc1_id,fix_acc2type_id,Acc2RowID,BedPrice,BesPrice,RowDesc,IsSend)  values (@branchid,(select top(1) dochid from @outputtbl2),3,1,@personid,0,@cashpay,N'فاکتور فروش شماره ' + CAST(@docid as nvarchar)+N'-مبلغ نقدی',0) end set @k=1 while(@k<=(select COUNT(*) from @plist)) begin set @browid=(select top(1) bankrowid from @plist where rowid=@k)set @spricebank=(select top(1)  SettlePrice from @plist where rowid=@k) if(@typetasvieh = 1) begin insert into DocD(Branch_ID,doch_id,fix_acc1_id,fix_acc2type_id,Acc2RowID,BedPrice,BesPrice,RowDesc,IsSend) values (@branchid,(select top(1) dochid from @outputtbl2),5,2,@browid,@spricebank,0,N'فاکتور فروش شماره ' + CAST(@docid as nvarchar)+N'-مبلغ کارتخوان',0) end else begin insert into DocD(Branch_ID,doch_id,fix_acc1_id,fix_acc2type_id,Acc2RowID,BedPrice,BesPrice,RowDesc,IsSend)  values (@branchid,(select top(1) dochid from @outputtbl2),5,8,@browid,@spricebank,0,N'فاکتور فروش شماره ' + CAST(@docid as nvarchar)+N'-مبلغ کارتخوان',0) end insert into DocD(Branch_ID,doch_id,fix_acc1_id,fix_acc2type_id,Acc2RowID,BedPrice,BesPrice,RowDesc,IsSend)  values (@branchid,(select top(1) dochid from @outputtbl2),3,1,@personid,0,@spricebank,N'فاکتور فروش شماره ' + CAST(@docid as nvarchar)+N'-مبلغ کارتخوان',0) set @bankid = (select BankAccountID from POS where RowID = @browid)insert into WhDocHBankAccount(BankAccount_ID,Branch_ID,SettlePrice,WhDocH_ID,IsSend,POS_ID) values (@bankid,@branchid,@spricebank,(select top(1) rowid from @outputtbl),0,@browid) set @k=@k+1 end DELETE FROM dbo.Table_Lottory WHERE nofactor=@docid INSERT INTO Table_Lottory (nofactor,nolottory,[sum],disc) VALUES(@docid,CAST( CAST(RAND() * 10000 AS INT) AS NVARCHAR(50)) + CAST(@docid AS NVARCHAR(50)),@sum,@DiscountPrice) select DocNo from WhDocH where RowID = (select rowid from @outputtbl) set @chancesystem = (select top(1) ChanceSystem from AppSettings) if(@chancesystem = 1) begin insert into ChanceSystem(cid,Fdate,Ftime,Mdate,WhID,[Status]) values (@pid,@date,@time,@mdate,(select rowid from @outputtbl),0) end  set @adict = (select count(*) from @alist) set @diact = (select count(*) from @dlist) set @a = 0 set @d = 0 while(@a < @adict) begin insert into WhDocHInvoiceIncrease (Branch_ID,Fix_PercentOrPrice_ID,InvoiceIncrease_ID,WhDocH_ID,IncreasePrice,IncreasePercent) values (@branchid,(select top(1) fixorpercent from @alist where [row] = @a),(select top(1) inid from @alist where [row] = @a), (select rowid from @outputtbl),(select top(1) dprice from @alist where [row] = @a),(select top(1) dpercent from @alist where [row] = @a)) set @a = @a + 1 end while(@d < @diact) begin insert into WhDocHInvoiceDecrease(Branch_ID,Fix_PercentOrPrice_ID,InvoiceDecrease_ID,WhDocH_ID,DecreasePrice,DecreasePercent) values (@branchid,(select top(1) fixorpercent from @dlist where [row] = @d),(select top(1) inid from @dlist where [row] = @d), (select rowid from @outputtbl),(select top(1) dprice from @dlist where [row] = @d),(select top(1) dpercent from @dlist where [row] = @d)) set @d = @d + 1 end commit transaction t1 End Try Begin Catch select Error_Message(); rollback transaction t1 return End Catch END

ALTER TABLE dbo.[LoanNew] ADD[Status] BIT NULL;

ALTER TABLE dbo.[SubLoan] ADD[PayMoney] money NULL;

ALTER TABLE dbo.[SubLoan] ADD[Status] bit NULL;

insert into Fix_AppObject (RowID,Fix_AppObjectType_ID,RowName) values (4010,4,N'امکانات - فاکتورهای حذف شده')


ALTER TABLE dbo.[SubLoan] ADD[PayFDate] [nvarchar](50) NULL;

ALTER TABLE dbo.[WhDocH] ADD[DateWhdoch] [datetime] NULL;

CREATE TABLE [dbo].[MoneyType]([RowID] [int] IDENTITY(1,1) NOT NULL,[RowName] [nvarchar](50) NULL,[RowDesc] [ntext] NULL,[Status] [bit] NULL,[Image] [image] NULL, CONSTRAINT [PK_MoneyType] PRIMARY KEY CLUSTERED ([RowID] ASC)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]

CREATE TABLE [dbo].[CloseCofferMoneyType]([RowID] [bigint] NOT NULL,[MoneyID] [int] NULL,[CloseCofferID] [bigint] NULL,[Amount] [int] NULL,[CofferSettlementID] [bigint] NULL, CONSTRAINT [PK_CloseCofferMoneyType] PRIMARY KEY CLUSTERED ([RowID] ASC)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]) ON [PRIMARY]

CREATE TYPE [dbo].[Decreases] AS TABLE([row] [int] NULL,[inid] [int] NULL,[fixorpercent] [int] NULL,[dpercent] float NULL,[dprice] money NULL,[rdesc] [nvarchar](500) NULL)

CREATE TYPE [dbo].[Additionals] AS TABLE([row] [int] NULL,[inid] [int] NULL,[fixorpercent] [int] NULL,[dpercent] float NULL,[dprice] money NULL,[rdesc] [nvarchar](500) NULL)

ALTER TABLE [dbo].[WhDocH] ADD[ReturnInvoiceID] int NULL;

ALTER TABLE dbo.GoodCategory ADD[CategoryImage] image NULL;

ALTER TABLE dbo.[DocD] ADD[Status] bit NULL;

ALTER TABLE dbo.Person ADD[PercentService][float] NULL;

ALTER TABLE dbo.[InvoiceMemory] ADD[Deletes] tinyint NULL;

ALTER TABLE dbo.[InvoiceMemory] ADD[Person_id] int NULL;

ALTER TABLE [dbo].Person ADD[CardPass] [nvarchar](50) NULL;

ALTER TABLE [dbo].Person ADD[EnablePass] bit NULL;

ALTER TABLE dbo.AppSettings ADD[KioskImage] image NULL;

ALTER TABLE [dbo].Systems ADD[LastOpen] datetime2(7) NULL;

ALTER TABLE [dbo].Systems ADD[LsastOpenFdate] nvarchar(50) NULL;

INSERT [dbo].[Fix_PersonType] ([RowID], [RowName]) VALUES (7, N'نماینده فروش');

ALTER TABLE [dbo].Person ADD[AgentPercent] float NULL;

ALTER TABLE [dbo].WhDocH ADD[AgentID] int NULL;

ALTER TABLE [dbo].AppSettings ADD[AgentSystem] bit NULL;

ALTER TABLE [dbo].LoanNew ADD[AgentID] int NULL;

ALTER TABLE [dbo].[WhDocH] CHECK CONSTRAINT [FK_WhDocH_Person1]

INSERT [dbo].[Fix_Acc1] ([RowID],[DefinedBySystem], [RowName]) VALUES (21,1, N'سهم فروش از طریق نمایندگی')

INSERT [dbo].[Fix_Acc1] ([RowID],[DefinedBySystem], [RowName]) VALUES (22,1, N'فروش نمایندگی')

INSERT [dbo].[Fix_Acc2Type] ([RowCode],[DefinedBySystem],[Fix_Acc1_ID], [RowName]) VALUES (1,1,21, N'سهم نماینده فروش')

INSERT [dbo].[Fix_Acc2Type] ([RowCode],[DefinedBySystem],[Fix_Acc1_ID], [RowName]) VALUES (2,1,21, N'سهم شرکت از فروش')

ALTER TABLE [dbo].WhDocH ADD[AgentPrice] money NULL;

DROP VIEW [dbo].[WhDochView];

CREATE VIEW [dbo].[WhDochView] AS SELECT   dbo.WhDocH.RowID AS ID, dbo.Fix_WhDocType2.RowName, dbo.Person.RowName AS PersonName, dbo.Person.RowCode AS PersonCode, dbo.Branch.RowID AS BranchID, dbo.Branch.RowName AS BranchName, dbo.WhDocH.DocNo, dbo.WhDocH.FDate, dbo.WhDocH.MDate, dbo.WhDocH.DiscountPercent, dbo.WhDocH.DiscountPrice, { fn IFNULL(dbo.WhDocH.SettlePrice, 0) } AS CashSettlement, dbo.WhDocH.TaxPercent, dbo.WhDocH.TaxPrice, dbo.WhDocH.TotalPrice, { fn IFNULL(dbo.WhDocH.TotalIncreasePrice, 0) } AS IncreasePrice, { fn IFNULL(dbo.WhDocH.TotalDecreasePrice, 0) } AS DecreasePrice, dbo.WhDocH.PayablePrice, dbo.WhDocH.ReferenceValue AS Reference, dbo.WhDocH.RowDesc AS Description, dbo.WhDocH.FDateUpdate AS UpdateDate, dbo.WhDocH.FTimeInsert AS InsertTime, dbo.WhDocH.FTimeUpdate AS UpdateTime, dbo.WhDocH.FDateSettlementDeadline AS SettlementDeadline, dbo.WhDocH.MDateSettlementDeadline, dbo.UserInfo.RowName AS InsertBy, UserInfo_1.RowName AS UpdateBy, dbo.WhDocH.InsertedBy AS InsertByID, { fn IFNULL(dbo.WhDocHSumPos.sumpos, 0) } AS CardReaderSettlement, { fn IFNULL(dbo.WhDocHBankSum.SumBank, 0) } AS BankAccountSettlement, dbo.Warehouse.RowName AS Warehouse, { fn IFNULL(dbo.WhDocH.IsSettled, 0) } AS IsSettled, { fn IFNULL(dbo.WhDocHSumMarketer.MarketerCommission, 0) } AS MarketerCommission, { fn IFNULL(dbo.WhDocHChequeRecSum.ChequeRec, 0) } + { fn IFNULL(dbo.WhDocHChequePaySum.SumChequePay, 0) } AS ChequeSettlement, dbo.FinancialYear.RowName AS FinancialName, dbo.FinancialYear.RowID AS FinancialYear_ID, dbo.Fix_WhDocType2.RowID AS Fix_WhDocType2_ID, dbo.WhDocH.FDateInsert AS InsertDate, dbo.WhDocH.PayablePrice - ({ fn IFNULL(dbo.WhDocHSumPos.sumpos, 0) } + { fn IFNULL(dbo.WhDocHBankSum.SumBank, 0) } + { fn IFNULL(dbo.WhDocHChequeRecSum.ChequeRec, 0) } + { fn IFNULL(dbo.WhDocHChequePaySum.SumChequePay, 0) } + { fn IFNULL(dbo.WhDocH.SettlePrice, 0) }) AS NotSettledRemainder, dbo.WhDocH.RowUpdateVersion, dbo.WhDocH.OfficialBill, dbo.WhDocH.Color, dbo.WhDocH.DateWhdoch, dbo.WhDocH.FDateWhdoch, Person_1.RowName AS AgentName, dbo.WhDocH.AgentPrice, dbo.WhDocH.AgentID FROM  dbo.WhDocH INNER JOIN dbo.Person ON dbo.WhDocH.Person_ID = dbo.Person.RowID INNER JOIN dbo.Branch ON dbo.WhDocH.Branch_ID = dbo.Branch.RowID INNER JOIN dbo.Fix_WhDocType2 ON dbo.WhDocH.Fix_WhDocType2_ID = dbo.Fix_WhDocType2.RowID INNER JOIN dbo.UserInfo ON dbo.WhDocH.InsertedBy = dbo.UserInfo.RowID INNER JOIN dbo.Warehouse ON dbo.WhDocH.Warehouse_ID = dbo.Warehouse.RowID INNER JOIN dbo.FinancialYear ON dbo.WhDocH.FinancialYear_ID = dbo.FinancialYear.RowID INNER JOIN dbo.Person AS Person_1 ON dbo.WhDocH.AgentID = Person_1.RowID LEFT OUTER JOIN dbo.UserInfo AS UserInfo_1 ON dbo.WhDocH.UpdatedBy = UserInfo_1.RowID LEFT OUTER JOIN dbo.WhDocHSumPos ON dbo.WhDocH.RowID = dbo.WhDocHSumPos.WhDocH_ID LEFT OUTER JOIN dbo.WhDocHBankSum ON dbo.WhDocH.RowID = dbo.WhDocHBankSum.WhDocH_ID LEFT OUTER JOIN dbo.WhDocHSumMarketer ON dbo.WhDocH.RowID = dbo.WhDocHSumMarketer.WhDocH_ID LEFT OUTER JOIN dbo.WhDocHChequePaySum ON dbo.WhDocH.RowID = dbo.WhDocHChequePaySum.WhDocH_ID LEFT OUTER JOIN dbo.WhDocHChequeRecSum ON dbo.WhDocH.RowID = dbo.WhDocHChequeRecSum.WhDocH_ID

CREATE TABLE [dbo].[PersonFile]([RowID] [bigint] IDENTITY(1,1) NOT NULL,[RowName] [nvarchar](50) NULL,[Mdate] [datetime2](7) NULL,[Files] [image] NULL,[PersonID] [int] NULL,CONSTRAINT [PK_PersonFile] PRIMARY KEY CLUSTERED ([RowID] ASC)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]  ALTER TABLE [dbo].[PersonFile]  WITH CHECK ADD  CONSTRAINT [FK_PersonFile_Person] FOREIGN KEY([PersonID]) REFERENCES [dbo].[Person] ([RowID])  ALTER TABLE [dbo].[PersonFile] CHECK CONSTRAINT [FK_PersonFile_Person] 

ALTER TABLE dbo.LoanNew ADD[DayToJarimeh][int] NULL;

CREATE TABLE [dbo].[LoanFile]([RowID] [bigint] IDENTITY(1,1) NOT NULL,[RowName] [nvarchar](500) NULL,[RowDesc] [ntext] NULL,[Files] [image] NULL,[Mdate] [datetime2](7) NULL,[LoanID] [bigint] NULL,CONSTRAINT [PK_LoanFile] PRIMARY KEY CLUSTERED ([RowID] ASC)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]  ALTER TABLE [dbo].[LoanFile]  WITH CHECK ADD  CONSTRAINT [FK_LoanFile_LoanNew] FOREIGN KEY([LoanID]) REFERENCES [dbo].[LoanNew] ([RowID])  ALTER TABLE [dbo].[LoanFile] CHECK CONSTRAINT [FK_LoanFile_LoanNew] 

CREATE VIEW [dbo].[LoanPayView] AS SELECT dbo.LoanNew.KolPrice, dbo.SubLoan.Fdate, dbo.SubLoan.Price, dbo.SubLoan.Jarimeh, dbo.SubLoan.paydate, dbo.SubLoan.Mdate, dbo.SubLoan.PayMoney, dbo.WhDocH.AgentID, dbo.Person.RowName, dbo.SubLoan.RowID,  dbo.LoanNew.RowID AS number, dbo.LoanNew.Cid, dbo.LoanNew.Jarimeh AS Expr1, dbo.LoanNew.DayToJarimeh, dbo.SubLoan.Status FROM  dbo.Person INNER JOIN dbo.WhDocH ON dbo.Person.RowID = dbo.WhDocH.AgentID RIGHT OUTER JOIN dbo.LoanNew INNER JOIN dbo.SubLoan ON dbo.LoanNew.RowID = dbo.SubLoan.Lid ON dbo.WhDocH.RowID = dbo.LoanNew.WhID

ALTER TABLE [dbo].AppUserSettings ADD[CofferSearch] bit NULL;

CREATE TABLE [dbo].[WhFiles]([RowID] [bigint] IDENTITY(1,1) NOT NULL,[RowName] [nvarchar](50) NULL,[Files] [image] NULL,[Mdate] [datetime2](7) NULL,[RowDesc] [ntext] NULL,[WhID] [int] NULL, CONSTRAINT [PK_WhFiles] PRIMARY KEY CLUSTERED ([RowID] ASC)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] ALTER TABLE [dbo].[WhFiles]  WITH CHECK ADD  CONSTRAINT [FK_WhFiles_WhDocH] FOREIGN KEY([WhID]) REFERENCES [dbo].[WhDocH] ([RowID]) ALTER TABLE [dbo].[WhFiles] CHECK CONSTRAINT [FK_WhFiles_WhDocH]

DROP VIEW [dbo].[LoanPayView];

CREATE VIEW [dbo].[LoanPayView] AS SELECT  dbo.LoanNew.KolPrice, dbo.SubLoan.Fdate, dbo.SubLoan.Price, dbo.SubLoan.Jarimeh, dbo.SubLoan.paydate, dbo.SubLoan.Mdate, dbo.SubLoan.PayMoney, dbo.WhDocH.AgentID, dbo.Person.RowName, dbo.SubLoan.RowID, dbo.LoanNew.RowID AS number, dbo.LoanNew.Cid, dbo.LoanNew.Jarimeh AS Expr1, dbo.LoanNew.DayToJarimeh, dbo.SubLoan.Status, Person_1.RowName AS person FROM  dbo.Person INNER JOIN dbo.WhDocH ON dbo.Person.RowID = dbo.WhDocH.AgentID RIGHT OUTER JOIN dbo.LoanNew INNER JOIN dbo.SubLoan ON dbo.LoanNew.RowID = dbo.SubLoan.Lid ON dbo.WhDocH.RowID = dbo.LoanNew.WhID INNER JOIN dbo.Person AS Person_1 ON dbo.LoanNew.Cid = Person_1.RowID

DROP VIEW [dbo].[WhDochView];

CREATE VIEW [dbo].[WhDochView] AS SELECT dbo.WhDocH.RowID AS ID, dbo.Fix_WhDocType2.RowName, dbo.Person.RowName AS PersonName, dbo.Person.RowCode AS PersonCode, dbo.Branch.RowID AS BranchID, dbo.Branch.RowName AS BranchName,  dbo.WhDocH.DocNo, dbo.WhDocH.FDate, dbo.WhDocH.MDate, dbo.WhDocH.DiscountPercent, dbo.WhDocH.DiscountPrice, { fn IFNULL(dbo.WhDocH.SettlePrice, 0) } AS CashSettlement, dbo.WhDocH.TaxPercent, dbo.WhDocH.TaxPrice, dbo.WhDocH.TotalPrice, { fn IFNULL(dbo.WhDocH.TotalIncreasePrice, 0) } AS IncreasePrice, { fn IFNULL(dbo.WhDocH.TotalDecreasePrice, 0) } AS DecreasePrice, dbo.WhDocH.PayablePrice, dbo.WhDocH.ReferenceValue AS Reference, dbo.WhDocH.RowDesc AS Description, dbo.WhDocH.FDateUpdate AS UpdateDate, dbo.WhDocH.FTimeInsert AS InsertTime, dbo.WhDocH.FTimeUpdate AS UpdateTime,  dbo.WhDocH.FDateSettlementDeadline AS SettlementDeadline, dbo.WhDocH.MDateSettlementDeadline, dbo.UserInfo.RowName AS InsertBy, UserInfo_1.RowName AS UpdateBy, dbo.WhDocH.InsertedBy AS InsertByID, { fn IFNULL(dbo.WhDocHSumPos.sumpos, 0) } AS CardReaderSettlement, { fn IFNULL(dbo.WhDocHBankSum.SumBank, 0) } AS BankAccountSettlement, dbo.Warehouse.RowName AS Warehouse, { fn IFNULL(dbo.WhDocH.IsSettled, 0) } AS IsSettled, { fn IFNULL(dbo.WhDocHSumMarketer.MarketerCommission, 0) } AS MarketerCommission, { fn IFNULL(dbo.WhDocHChequeRecSum.ChequeRec, 0) } + { fn IFNULL(dbo.WhDocHChequePaySum.SumChequePay, 0) } AS ChequeSettlement, dbo.FinancialYear.RowName AS FinancialName, dbo.FinancialYear.RowID AS FinancialYear_ID, dbo.Fix_WhDocType2.RowID AS Fix_WhDocType2_ID, dbo.WhDocH.FDateInsert AS InsertDate, dbo.WhDocH.PayablePrice - ({ fn IFNULL(dbo.WhDocHSumPos.sumpos, 0) } + { fn IFNULL(dbo.WhDocHBankSum.SumBank, 0) } + { fn IFNULL(dbo.WhDocHChequeRecSum.ChequeRec, 0) } + { fn IFNULL(dbo.WhDocHChequePaySum.SumChequePay, 0) } + { fn IFNULL(dbo.WhDocH.SettlePrice, 0) }) AS NotSettledRemainder, dbo.WhDocH.RowUpdateVersion, dbo.WhDocH.OfficialBill, dbo.WhDocH.Color, dbo.WhDocH.DateWhdoch, dbo.WhDocH.FDateWhdoch, Person_1.RowName AS AgentName, dbo.WhDocH.AgentPrice, dbo.WhDocH.AgentID FROM   dbo.WhDocH INNER JOIN dbo.Person ON dbo.WhDocH.Person_ID = dbo.Person.RowID INNER JOIN dbo.Branch ON dbo.WhDocH.Branch_ID = dbo.Branch.RowID INNER JOIN dbo.Fix_WhDocType2 ON dbo.WhDocH.Fix_WhDocType2_ID = dbo.Fix_WhDocType2.RowID INNER JOIN dbo.UserInfo ON dbo.WhDocH.InsertedBy = dbo.UserInfo.RowID INNER JOIN dbo.Warehouse ON dbo.WhDocH.Warehouse_ID = dbo.Warehouse.RowID INNER JOIN dbo.FinancialYear ON dbo.WhDocH.FinancialYear_ID = dbo.FinancialYear.RowID LEFT OUTER JOIN dbo.Person AS Person_1 ON dbo.WhDocH.AgentID = Person_1.RowID LEFT OUTER JOIN dbo.UserInfo AS UserInfo_1 ON dbo.WhDocH.UpdatedBy = UserInfo_1.RowID LEFT OUTER JOIN dbo.WhDocHSumPos ON dbo.WhDocH.RowID = dbo.WhDocHSumPos.WhDocH_ID LEFT OUTER JOIN dbo.WhDocHBankSum ON dbo.WhDocH.RowID = dbo.WhDocHBankSum.WhDocH_ID LEFT OUTER JOIN dbo.WhDocHSumMarketer ON dbo.WhDocH.RowID = dbo.WhDocHSumMarketer.WhDocH_ID LEFT OUTER JOIN dbo.WhDocHChequePaySum ON dbo.WhDocH.RowID = dbo.WhDocHChequePaySum.WhDocH_ID LEFT OUTER JOIN dbo.WhDocHChequeRecSum ON dbo.WhDocH.RowID = dbo.WhDocHChequeRecSum.WhDocH_ID

CREATE TABLE [dbo].[TblLog]([RowID] [bigint] IDENTITY(1,1) NOT NULL,[Message] [ntext] NULL,[InnerMessage] [ntext] NULL,[UserAccess] [int] NULL,[Dates] [datetime2](7) NULL, CONSTRAINT [PK_TblLog] PRIMARY KEY CLUSTERED ([RowID] ASC)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]

DROP VIEW [dbo].[ChanceView];

CREATE VIEW [dbo].[ChanceView] AS SELECT dbo.WhDocH.PayablePrice, dbo.ChanceSystem.Message, dbo.ChanceSystem.Mdate, dbo.ChanceSystem.Ftime, dbo.ChanceSystem.Fdate, dbo.Person.RowName, dbo.ChanceSystem.RowID, dbo.Person.RowID AS personid,  dbo.ChanceSystem.Point FROM  dbo.WhDocH INNER JOIN dbo.ChanceSystem ON dbo.WhDocH.RowID = dbo.ChanceSystem.WhID INNER JOIN dbo.Person ON dbo.ChanceSystem.Cid = dbo.Person.RowID

CREATE TABLE [dbo].[UpdateDatabase]([RowID] [bigint] IDENTITY(1,1) NOT NULL,[Message] [ntext] NULL,[Datetimes] [datetime2](7) NULL,[system] [int] NULL,CONSTRAINT [PK_UpdateDatabase] PRIMARY KEY CLUSTERED ([RowID] ASC)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]

INSERT INTO [dbo].[UpdateDatabase]([Message],[Datetimes],[system])VALUES('updates',SYSDATETIME(),1)

ALTER TABLE [dbo].WhDocD ADD[ExpireDate] datetime2(7) NULL;

ALTER TABLE [dbo].WhDocD ADD[ExpireFdate] nvarchar(50) NULL;

INSERT INTO [dbo].[Fix_Reports]([RowID],[RowName],[RowDesc],[sectionid],[Branch_id]) VALUES(9999,N'بارکد طرح 1',N'بارکد طرح 1',20,1)

INSERT INTO [dbo].[Fix_Reports]([RowID],[RowName],[RowDesc],[sectionid],[Branch_id]) VALUES(9998,N'بارکد طرح 2',N'بارکد طرح 2',21,1)

INSERT INTO [dbo].[Fix_Reports]([RowID],[RowName],[RowDesc],[sectionid],[Branch_id]) VALUES(9997,N'بارکد طرح 3',N'بارکد طرح 3',22,1)

ALTER TABLE [dbo].Person ADD[AddressShop] ntext NULL;

ALTER TABLE [dbo].Person ADD[NameShop] nvarchar(250) NULL;

ALTER TABLE [dbo].Person ADD[ActiveCategory] nvarchar(50) NULL;

ALTER TABLE [dbo].SubLoan ADD[ZoodKard] int NULL;

CREATE VIEW [dbo].[MemoryView] AS SELECT dbo.InvoiceMemory.RowID, dbo.Good.RowName, dbo.UserInfo.RowName AS username, dbo.InvoiceMemory.Quantity, dbo.InvoiceMemory.MemoryName, dbo.InvoiceMemory.FDate, dbo.InvoiceMemory.FTime,  dbo.InvoiceMemory.MDate, dbo.InvoiceMemory.GoodPrice, dbo.InvoiceMemory.Deletes, dbo.MeasureUnit.RowName AS measurement ,dbo.InvoiceMemory.User_ID FROM  dbo.InvoiceMemory INNER JOIN dbo.Good ON dbo.InvoiceMemory.Good_ID = dbo.Good.RowID INNER JOIN dbo.UserInfo ON dbo.InvoiceMemory.User_ID = dbo.UserInfo.RowID INNER JOIN dbo.MeasureUnit ON dbo.Good.Main_MeasureUnit_ID = dbo.MeasureUnit.RowID AND dbo.Good.Default_MeasureUnit_ID = dbo.MeasureUnit.RowID

CREATE TABLE [dbo].[ChanceLottery]([RowID] [bigint] IDENTITY(1,1) NOT NULL,[Tel] [nvarchar](50) NULL,[Point] [int] NULL,CONSTRAINT [PK_ChanceLottery] PRIMARY KEY CLUSTERED ([RowID] ASC)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]) ON [PRIMARY]

CREATE TABLE [dbo].[ChancePointApp]([m] [bigint] NOT NULL,[Point] [int] NULL,[MobileNumber] [nvarchar](50) NULL,[RowID] [int] NULL,CONSTRAINT [PK_ChancePointApp] PRIMARY KEY CLUSTERED ([m] ASC)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]) ON [PRIMARY]

CREATE TABLE [dbo].[PrizeList]([RowID] [int] NOT NULL,[PrizeName] [nvarchar](250) NULL, CONSTRAINT [PK_PrizeList] PRIMARY KEY CLUSTERED ([RowID] ASC)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]) ON [PRIMARY]

INSERT INTO [dbo].[PrizeList]([RowID],[PrizeName]) VALUES(1,N'جایزه 1')

INSERT INTO [dbo].[PrizeList]([RowID],[PrizeName]) VALUES(1,N'جایزه 2')

INSERT INTO [dbo].[PrizeList]([RowID],[PrizeName]) VALUES(1,N'جایزه 3')

INSERT INTO [dbo].[PrizeList]([RowID],[PrizeName]) VALUES(1,N'جایزه 4')

INSERT INTO [dbo].[PrizeList]([RowID],[PrizeName]) VALUES(1,N'جایزه 5')

INSERT INTO [dbo].[PrizeList]([RowID],[PrizeName]) VALUES(1,N'جایزه 6')

INSERT INTO [dbo].[PrizeList]([RowID],[PrizeName]) VALUES(1,N'جایزه 7')

INSERT INTO [dbo].[PrizeList]([RowID],[PrizeName]) VALUES(1,N'جایزه 8')

INSERT INTO [dbo].[PrizeList]([RowID],[PrizeName]) VALUES(1,N'جایزه 9')

INSERT INTO [dbo].[PrizeList]([RowID],[PrizeName]) VALUES(1,N'جایزه 10')

INSERT INTO [dbo].[PrizeList]([RowID],[PrizeName]) VALUES(1,N'جایزه 11')

INSERT INTO [dbo].[PrizeList]([RowID],[PrizeName]) VALUES(1,N'جایزه 12')

INSERT INTO [dbo].[PrizeList]([RowID],[PrizeName]) VALUES(1,N'جایزه 13')

INSERT INTO [dbo].[PrizeList]([RowID],[PrizeName]) VALUES(1,N'جایزه 14')

CREATE TABLE [dbo].[LotteryHeader]([RowID] [bigint] IDENTITY(1,1) NOT NULL,[LotteryDate] [datetime2](7) NULL,[Fdate] [nvarchar](50) NULL,[RowDesc] [ntext] NULL,CONSTRAINT [PK_LotteryHeader] PRIMARY KEY CLUSTERED ([RowID] ASC)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]

CREATE TABLE [dbo].[SubLottery]([RowID] [bigint] IDENTITY(1,1) NOT NULL,[Cid] [int] NULL,[Mobile] [nvarchar](50) NULL,[PrizeName] [nvarchar](250) NULL,[Point] [int] NULL,[Lid] [bigint] NULL,CONSTRAINT [PK_SubLottery] PRIMARY KEY CLUSTERED ([RowID] ASC)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]) ON [PRIMARY] ALTER TABLE [dbo].[SubLottery]  WITH CHECK ADD  CONSTRAINT [FK_SubLottery_LotteryHeader] FOREIGN KEY([Lid]) REFERENCES [dbo].[LotteryHeader] ([RowID]) ALTER TABLE [dbo].[SubLottery] CHECK CONSTRAINT [FK_SubLottery_LotteryHeader]

ALTER TABLE dbo.AppUserSettings ADD[LastInvoice][bit] NULL;

CREATE VIEW [dbo].[ShareHoldersReminderView] AS SELECT SUM(dbo.DocD.BedPrice) AS BedPrice, SUM(dbo.DocD.BesPrice) AS BesPrice, dbo.Person.RowID AS PersonID, SUM(dbo.DocD.BedPrice) - SUM(dbo.DocD.BesPrice) AS Remainder, COALESCE (CASE WHEN SUM(dbo.DocD.BedPrice) - SUM(dbo.DocD.BesPrice) > 0 THEN 1 ELSE 0 END, 1) AS int, dbo.DocH.FinancialYear_ID FROM   dbo.DocD INNER JOIN dbo.Person ON dbo.DocD.Acc2RowID = dbo.Person.RowID INNER JOIN dbo.DocH ON dbo.DocD.DocH_ID = dbo.DocH.RowID WHERE  (dbo.Person.Fix_PersonType_ID = 5) GROUP BY dbo.Person.RowID, dbo.DocH.FinancialYear_ID HAVING  (SUM(dbo.DocD.BedPrice) - SUM(dbo.DocD.BesPrice) <> 0)

CREATE VIEW [dbo].[ShareHoldersView] AS SELECT dbo.Person.RowName AS Name, dbo.Person.RowCode AS Code, dbo.Person.MobileNumber AS Mobile, dbo.Person.PhoneNumber AS Phone, dbo.Person.NationalCode, dbo.Person.AccountNumber1, dbo.Person.AccountNumber2, dbo.Person.AccountNumber3, dbo.Person.Adress AS Address, dbo.Person.MobileForSMS, dbo.Person.FatherName, dbo.Person.EconomicCode, dbo.Person.RowID AS PersonID,  { fn IFNULL(dbo.Person.FDateLastSMS_ForDebt, '') } AS LastSmsDate, dbo.Person.MDateLastSMS_ForDebt AS LastSmsDateTime, dbo.Person.Fix_PersonType_ID, dbo.Fix_PersonType.RowName AS PersonType,  dbo.PersonCategory.RowName AS PersonCategory, dbo.ShareHoldersReminderView.int, dbo.ShareHoldersReminderView.FinancialYear_ID, ABS(dbo.ShareHoldersReminderView.Remainder)  AS Remainder FROM dbo.Person INNER JOIN dbo.ShareHoldersReminderView ON dbo.Person.RowID = dbo.ShareHoldersReminderView.PersonID LEFT OUTER JOIN dbo.PersonCategory ON dbo.Person.PersonCategory_ID = dbo.PersonCategory.RowID LEFT OUTER JOIN dbo.Fix_PersonType ON dbo.Person.Fix_PersonType_ID = dbo.Fix_PersonType.RowID

DROP VIEW [dbo].[PersonAccountView];

CREATE VIEW [dbo].[PersonAccountView] AS SELECT dbo.Person.RowName AS Name, dbo.Person.RowCode AS Code, dbo.Person.MobileNumber AS Mobile, dbo.Person.PhoneNumber AS Phone, dbo.Person.NationalCode, dbo.Person.AccountNumber1, dbo.Person.AccountNumber2, dbo.Person.AccountNumber3, dbo.Person.Adress AS Address, dbo.Person.MobileForSMS, dbo.Person.FatherName, dbo.Person.EconomicCode, ABS(dbo.PersonRemainderView.Remainder)  AS Remainder, dbo.PersonRemainderView.int, dbo.Person.RowID AS PersonID, { fn IFNULL(dbo.Person.FDateLastSMS_ForDebt, '') } AS LastSmsDate, dbo.Person.MDateLastSMS_ForDebt AS LastSmsDateTime,  dbo.Person.Fix_PersonType_ID, dbo.Fix_PersonType.RowName AS PersonType, dbo.PersonCategory.RowName AS PersonCategory, dbo.PersonRemainderView.FinancialYear_ID, dbo.Person.PersonCategory_ID FROM dbo.PersonRemainderView INNER JOIN dbo.Person ON dbo.PersonRemainderView.PersonID = dbo.Person.RowID LEFT OUTER JOIN dbo.PersonCategory ON dbo.Person.PersonCategory_ID = dbo.PersonCategory.RowID LEFT OUTER JOIN dbo.Fix_PersonType ON dbo.Person.Fix_PersonType_ID = dbo.Fix_PersonType.RowID

insert Fix_SimpleDocType (RowID, RowName) values (43, N'سند دستی گروهی اشخاص')

ALTER TABLE dbo.MeasureUnit ADD[WeightOrAmount][tinyint] NULL;

update MeasureUnit set WeightOrAmount = 1 where RowID = 3 or RowID = 2 and WeightOrAmount is null

update MeasureUnit set WeightOrAmount = 2 where RowID <> 3 and RowID <> 2 and WeightOrAmount is null

CREATE VIEW [dbo].[CashierPersonRegister] AS SELECT dbo.UserInfo.RowName, dbo.Person.RowName AS PersonName, dbo.Person.RowCode, dbo.Person.MobileNumber, dbo.Person.FDateInsert, dbo.Person.InsertServerDateTime, dbo.UserInfo.IsCashier,dbo.UserInfo.RowID FROM dbo.Person INNER JOIN dbo.UserInfo ON dbo.Person.InsertedBy = dbo.UserInfo.RowID

ALTER TABLE dbo.Warehouse ADD[Type][bit] NULL;

DROP VIEW [dbo].[WarehouseGoodView];

CREATE VIEW [dbo].[WarehouseGoodView] AS SELECT dbo.Good.RowID, dbo.Good.RowName, dbo.Good.RowCode, dbo.Warehouse.RowID AS WarehouseID, dbo.Warehouse.RowName AS WarehouseName, dbo.Good.SalePrice, dbo.Good.Main_MeasureUnit_ID, dbo.MeasureUnit.RowName AS Unit, dbo.FinancialYear.RowID AS financialid FROM dbo.Warehouse CROSS JOIN dbo.Good INNER JOIN dbo.MeasureUnit ON dbo.Good.Main_MeasureUnit_ID = dbo.MeasureUnit.RowID CROSS JOIN dbo.FinancialYear WHERE (dbo.Warehouse.Type IS NULL) OR (dbo.Warehouse.Type = 0)

DROP VIEW [dbo].[GoodStockReport];

CREATE VIEW [dbo].[GoodStockReport] AS SELECT dbo.Good.RowCode AS ProductBarcode, dbo.Good.RowName AS ProductName, { fn IFNULL(dbo.Good.RowNameEN, '') } AS LatinProductName, { fn IFNULL(dbo.Good.RowNameAlias, '') } AS ProductNickName,  dbo.AllWarehouseQuantityView.Quantity, dbo.Good.RowID AS ID, dbo.MeasureUnit.RowName AS SmallestUnit, dbo.AllWarehouseQuantityView.Warehouse_ID, dbo.AllWarehouseQuantityView.FinancialYear_ID, { fn IFNULL(dbo.GoodCategory.RowName, '') } AS CategoryName, dbo.Good.SalePrice, dbo.Good.PurchasePrice, dbo.AllWarehouseQuantityView.Quantity * dbo.Good.SalePrice AS ValueBasedOnSale,  dbo.AllWarehouseQuantityView.Quantity * dbo.Good.PurchasePrice AS ValueBasedOnPurchase, dbo.AveragePrice.PurchaseAverage,  dbo.AllWarehouseQuantityView.Quantity * dbo.AveragePrice.PurchaseAverage AS ValueBasedOnAverage, dbo.Warehouse.RowName AS Warehouse, dbo.Good.OrderPoint, dbo.Good.Main_MeasureUnit_ID,  dbo.AllWarehouseQuantityView.financialid FROM dbo.Good INNER JOIN dbo.AllWarehouseQuantityView ON dbo.Good.RowID = dbo.AllWarehouseQuantityView.ID INNER JOIN dbo.Warehouse ON dbo.AllWarehouseQuantityView.Warehouse_ID = dbo.Warehouse.RowID INNER JOIN dbo.MeasureUnit ON dbo.Good.Main_MeasureUnit_ID = dbo.MeasureUnit.RowID LEFT OUTER JOIN dbo.AveragePrice ON dbo.Good.RowID = dbo.AveragePrice.GoodID LEFT OUTER JOIN dbo.GoodCategory ON dbo.Good.GoodCategory_ID = dbo.GoodCategory.RowID WHERE (dbo.Warehouse.Type IS NULL) OR (dbo.Warehouse.Type = 0)

ALTER TABLE dbo.WhDocH ADD[FullRecive][bit] NULL;

CREATE TABLE [dbo].[RemittanceH]([RowID] [bigint] IDENTITY(1,1) NOT NULL,[WhID] [bigint] NULL,[Fdate] [nvarchar](50) NULL,[Mdate] [datetime2](7) NULL,[InsertBy] [int] NULL,[InsertDatetime] [datetime2](7) NULL,[FinalCheck] [bit] NULL,[FailCheck] [bit] NULL,[Type] [tinyint] NULL,[ToWarehouse] [int] NULL, CONSTRAINT [PK_RemittanceH] PRIMARY KEY CLUSTERED ([RowID] ASC)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]) ON [PRIMARY]

CREATE TABLE [dbo].[RemittanceD]([RowID] [bigint] IDENTITY(1,1) NOT NULL,[GoodID] [int] NULL,[Quantity] [float] NULL,[Recive] [float] NULL,[RHID] [bigint] NULL,CONSTRAINT [PK_RemittanceD] PRIMARY KEY CLUSTERED ([RowID] ASC)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]) ON [PRIMARY]  ALTER TABLE [dbo].[RemittanceD]  WITH CHECK ADD  CONSTRAINT [FK_RemittanceD_RemittanceH] FOREIGN KEY([RHID]) REFERENCES [dbo].[RemittanceH] ([RowID])  ALTER TABLE [dbo].[RemittanceD] CHECK CONSTRAINT [FK_RemittanceD_RemittanceH]

INSERT INTO [dbo].[Warehouse]([Branch_ID],[RowName],[IsActive],[RowDesc],[UniqueIdentifierValue],[IsSend],[Reversion],[Type]) VALUES (1,N'در انتظار تایید حواله',1,'',null,0,0,1 )

DROP VIEW [dbo].[WhDochView];

CREATE VIEW [dbo].[WhDochView] AS SELECT dbo.WhDocH.RowID AS ID, dbo.Fix_WhDocType2.RowName, dbo.Person.RowName AS PersonName, dbo.Person.RowCode AS PersonCode, dbo.Branch.RowID AS BranchID, dbo.Branch.RowName AS BranchName, dbo.WhDocH.DocNo, dbo.WhDocH.FDate, dbo.WhDocH.MDate, dbo.WhDocH.DiscountPercent, dbo.WhDocH.DiscountPrice, { fn IFNULL(dbo.WhDocH.SettlePrice, 0) } AS CashSettlement, dbo.WhDocH.TaxPercent, dbo.WhDocH.TaxPrice, dbo.WhDocH.TotalPrice, { fn IFNULL(dbo.WhDocH.TotalIncreasePrice, 0) } AS IncreasePrice, { fn IFNULL(dbo.WhDocH.TotalDecreasePrice, 0) } AS DecreasePrice, dbo.WhDocH.PayablePrice, dbo.WhDocH.ReferenceValue AS Reference, dbo.WhDocH.RowDesc AS Description, dbo.WhDocH.FDateUpdate AS UpdateDate, dbo.WhDocH.FTimeInsert AS InsertTime, dbo.WhDocH.FTimeUpdate AS UpdateTime, dbo.WhDocH.FDateSettlementDeadline AS SettlementDeadline, dbo.WhDocH.MDateSettlementDeadline, dbo.UserInfo.RowName AS InsertBy, UserInfo_1.RowName AS UpdateBy, dbo.WhDocH.InsertedBy AS InsertByID, { fn IFNULL(dbo.WhDocHSumPos.sumpos, 0) } AS CardReaderSettlement, { fn IFNULL(dbo.WhDocHBankSum.SumBank, 0) } AS BankAccountSettlement, dbo.Warehouse.RowName AS Warehouse, { fn IFNULL(dbo.WhDocH.IsSettled, 0) } AS IsSettled, { fn IFNULL(dbo.WhDocHSumMarketer.MarketerCommission, 0) } AS MarketerCommission, { fn IFNULL(dbo.WhDocHChequeRecSum.ChequeRec, 0) } + { fn IFNULL(dbo.WhDocHChequePaySum.SumChequePay, 0) } AS ChequeSettlement, dbo.FinancialYear.RowName AS FinancialName, dbo.FinancialYear.RowID AS FinancialYear_ID, dbo.Fix_WhDocType2.RowID AS Fix_WhDocType2_ID, dbo.WhDocH.FDateInsert AS InsertDate, dbo.WhDocH.PayablePrice - ({ fn IFNULL(dbo.WhDocHSumPos.sumpos, 0) } + { fn IFNULL(dbo.WhDocHBankSum.SumBank, 0) } + { fn IFNULL(dbo.WhDocHChequeRecSum.ChequeRec, 0) } + { fn IFNULL(dbo.WhDocHChequePaySum.SumChequePay, 0) } + { fn IFNULL(dbo.WhDocH.SettlePrice, 0) }) AS NotSettledRemainder, dbo.WhDocH.RowUpdateVersion, dbo.WhDocH.OfficialBill, dbo.WhDocH.Color, dbo.WhDocH.DateWhdoch, dbo.WhDocH.FDateWhdoch, Person_1.RowName AS AgentName, dbo.WhDocH.AgentPrice, dbo.WhDocH.AgentID, dbo.LoanNew.KolPrice, dbo.LoanNew.TotalProfit, dbo.LoanNew.KolPrice + dbo.LoanNew.TotalProfit AS TotalLoan FROM  dbo.WhDocH INNER JOIN dbo.Person ON dbo.WhDocH.Person_ID = dbo.Person.RowID INNER JOIN dbo.Branch ON dbo.WhDocH.Branch_ID = dbo.Branch.RowID INNER JOIN dbo.Fix_WhDocType2 ON dbo.WhDocH.Fix_WhDocType2_ID = dbo.Fix_WhDocType2.RowID INNER JOIN dbo.UserInfo ON dbo.WhDocH.InsertedBy = dbo.UserInfo.RowID INNER JOIN dbo.Warehouse ON dbo.WhDocH.Warehouse_ID = dbo.Warehouse.RowID INNER JOIN dbo.FinancialYear ON dbo.WhDocH.FinancialYear_ID = dbo.FinancialYear.RowID LEFT OUTER JOIN dbo.LoanNew ON dbo.WhDocH.RowID = dbo.LoanNew.WhID LEFT OUTER JOIN dbo.Person AS Person_1 ON dbo.WhDocH.AgentID = Person_1.RowID LEFT OUTER JOIN dbo.UserInfo AS UserInfo_1 ON dbo.WhDocH.UpdatedBy = UserInfo_1.RowID LEFT OUTER JOIN dbo.WhDocHSumPos ON dbo.WhDocH.RowID = dbo.WhDocHSumPos.WhDocH_ID LEFT OUTER JOIN dbo.WhDocHBankSum ON dbo.WhDocH.RowID = dbo.WhDocHBankSum.WhDocH_ID LEFT OUTER JOIN dbo.WhDocHSumMarketer ON dbo.WhDocH.RowID = dbo.WhDocHSumMarketer.WhDocH_ID LEFT OUTER JOIN dbo.WhDocHChequePaySum ON dbo.WhDocH.RowID = dbo.WhDocHChequePaySum.WhDocH_ID LEFT OUTER JOIN dbo.WhDocHChequeRecSum ON dbo.WhDocH.RowID = dbo.WhDocHChequeRecSum.WhDocH_ID

ALTER TABLE dbo.Person ADD[Shoppic][image] NULL;

ALTER TABLE dbo.Person ADD[Licensepic][image] NULL;

ALTER TABLE dbo.Person ADD[Shenasnamehpic][image] NULL;

ALTER TABLE dbo.Person ADD[Nationalpic][image] NULL;

drop procedure [dbo].[sp_UseStringList]

Create PROCEDURE [dbo].[sp_UseStringList](@list goodlistnew READONLY,@uid int,@date nvarchar(50),@mdate datetime,@time nvarchar(10),@guid UNIQUEIDENTIFIER,@sumincrease decimal,@sumdecrease decimal,@sum decimal,@cashpay decimal,@quantity decimal,@disc DECIMAL,@DiscountPrice DECIMAL,@pid INT,@bid int,@plist paylist readonly,@alist Additionals readonly,@dlist Decreases readonly) AS BEGIN begin transaction t1 declare @outputtbl table (rowid int) declare @outputtbl2 table (dochid int) declare @accrid as int ,@chancesystem bit, @count as int , @i as int, @countofstock as float,@stcks as float,@branchid as int,@typetasvieh as bit,@bankid as int,@finanal as int,@warehouseid as int,@adict as int,@diact as int, @cofferid as int,@personid as int, @userid as int, @docid as int, @j as int,@goodid as int, @measurementunitid as int, @itemcount as FLOAT,@averages as int, @itemcalculatedcount as FLOAT, @saleprice as decimal, @itemprice as decimal, @itemquantity as decimal, @itemdiscount as decimal, @itempurchase as decimal, @k as int,@a as int,@d as int, @browid as int,@spricebank as decimal CREATE TABLE #tempstock ( [did] [int],[goodid] [int],[goodname] [nvarchar](250),[barcode] [nvarchar](100),[MeasureUnit] [nvarchar](200),[MeasureUnitID] [int],[PurchasePrice] [decimal],[saleprice] [decimal],[sumPurchasePrice] [decimal],[price] [decimal], [DiscountPrice] [decimal],[count] [float],[calculatedcount] [float],[sumafterDiscountPrice] [decimal],[sumbeforeDiscountPrice] [decimal],[id] [int] identity ) Begin Try set @accrid=3 set @branchid = @bid set @finanal = (select FinancialYear_ID from appsettings) set @warehouseid = (select Warehouse_ID from AppUserSettings where UserInfo_ID = @uid)  set @cofferid = (select  Coffer_ID from AppUserSettings where UserInfo_ID = @uid) IF(@pid=-1)BEGIN set @personid = (select  DefaultPerson_ID_FactorForosh  from AppUserSettings where UserInfo_ID = @uid) END ELSE BEGIN SET @personid=@pid END set @userid =  @uid insert into #tempstock select * from @list set @i = 1 set @count = (select COUNT(*) from #tempstock) insert into WhDocH (times,branch_id,FinancialYear_ID,Fix_RecordStatusType_ID,Fix_WhDocType1_ID,Fix_WhDocType2_ID,Warehouse_ID,Fix_DiscountType_ID,Coffer_ID,Person_ID,DocNo,FDate,MDate,DiscountPercent,DiscountPrice,SettlePrice,TaxPercent,TaxPrice,TotalPrice,QuantityInUnitPrice,TotalDiscountPriceItems,TotalTaxPriceItems,PayablePrice,DefinedBySystem,InsertedBy,FDateInsert,FTimeInsert,UniqueIdentifierValue,IsSend,IsSettled,SumPercentPrice,TotalIncreasePrice,TotalDecreasePrice) output inserted.RowID into @outputtbl(rowid) values (@time,@branchid,@finanal,1,2,21,@warehouseid,2,@cofferid,@personid,(select max(DocNo) from WhDocH where Fix_WhDocType2_ID = 21) + 1,@date,@mdate,0,@DiscountPrice,@cashpay,0,0,@sum,@quantity,@disc,0,@sum-@DiscountPrice,0,@userid,@date,@time,@guid,0,0,0,@sumincrease,@sumdecrease) set @docid = (select DocNo from WhDocH where RowID = (select rowid from @outputtbl) and Fix_WhDocType2_ID = 21) set @j = 1 while (@j <= @count) begin set @goodid = (select goodid from #tempstock where id = @j) set @measurementunitid = (select MeasureUnitID from #tempstock where id = @j) set @itemcount = (select [count] from #tempstock where id = @j) set @itemcalculatedcount = (select [calculatedcount] from #tempstock where id = @j) set @saleprice = (select saleprice from #tempstock where id = @j) set @itemprice = (select price from #tempstock where id = @j) set @itemdiscount = (select DiscountPrice from #tempstock where id = @j) set @itempurchase = (select PurchasePrice from #tempstock where id = @j) set @averages = (select PurchaseAverage from AveragePrice where GoodID = @goodid) insert into WhDocD (Branch_Id,FinancialYear_ID,WhDocH_ID,Good_ID,Main_MeasureUnit_ID,MeasureUnit_ID,Fix_DiscountType_ID,InputValue,calculatedinputvalue,OutputValue,CalculatedOutputValue,UnitPrice,TotalPrice,QuantityInUnitPrice,DiscountPercent,DiscountPrice,purchaseunitprice,purchasetotalprice,taxpercent,TaxPrice,SaleUnitPrice,IsSend,PurchaseTotalPriceAverage) values (@branchid,@finanal,(select rowid from @outputtbl),@goodid,@measurementunitid,@measurementunitid,2,0,0,@itemcount,@itemcalculatedcount,@saleprice,(@itemprice * @itemcount),(@saleprice * @itemcount),0,(@itemdiscount * @itemcount),@itempurchase,(@itempurchase * @itemcount),0,0,@saleprice ,0,@averages) set @j = @j + 1 end set @typetasvieh = (select CardReaderAutoSettlement from AppUserSettings where UserInfo_ID = @uid) insert into DocH (branch_id,Fix_DocHType_ID,financialyear_id,RelateRowID,FDate,MDate,RowDesc,UniqueIdentifierValue)  output inserted.RowID into @outputtbl2(dochid) values (@branchid,2,@finanal,(select top(1) rowid from @outputtbl),@date,@mdate,N'فاکتور فروش شماره ' + CAST(@docid as nvarchar) ,@guid) insert into DocD(Branch_ID,doch_id,fix_acc1_id,fix_acc2type_id,Acc2RowID,BedPrice,BesPrice,RowDesc,IsSend) values (@branchid,(select top(1) dochid from @outputtbl2),3,1,@personid,@sum-@DiscountPrice,0,N'فاکتور فروش شماره ' + CAST(@docid as nvarchar),0) insert into DocD(Branch_ID,doch_id,fix_acc1_id,fix_acc2type_id,BedPrice,BesPrice,RowDesc,IsSend)  values (@branchid,(select top(1) dochid from @outputtbl2),2,0,0,@sum-@DiscountPrice,N'فاکتور فروش شماره ' + CAST(@docid as nvarchar),0) if(@cashpay>0) begin insert into DocD(Branch_ID,doch_id,fix_acc1_id,fix_acc2type_id,Acc2RowID,BedPrice,BesPrice,RowDesc,IsSend) values (@branchid,(select top(1) dochid from @outputtbl2),7,3,@cofferid,@cashpay,0,N'فاکتور فروش شماره ' + CAST(@docid as nvarchar)+N'-مبلغ نقدی',0) insert into DocD(Branch_ID,doch_id,fix_acc1_id,fix_acc2type_id,Acc2RowID,BedPrice,BesPrice,RowDesc,IsSend)  values (@branchid,(select top(1) dochid from @outputtbl2),3,1,@personid,0,@cashpay,N'فاکتور فروش شماره ' + CAST(@docid as nvarchar)+N'-مبلغ نقدی',0) end set @k=1 while(@k<=(select COUNT(*) from @plist)) begin set @browid=(select top(1) bankrowid from @plist where rowid=@k)set @spricebank=(select top(1)  SettlePrice from @plist where rowid=@k) if(@typetasvieh = 1) begin insert into DocD(Branch_ID,doch_id,fix_acc1_id,fix_acc2type_id,Acc2RowID,BedPrice,BesPrice,RowDesc,IsSend) values (@branchid,(select top(1) dochid from @outputtbl2),5,2,@browid,@spricebank,0,N'فاکتور فروش شماره ' + CAST(@docid as nvarchar)+N'-مبلغ کارتخوان',0) end else begin insert into DocD(Branch_ID,doch_id,fix_acc1_id,fix_acc2type_id,Acc2RowID,BedPrice,BesPrice,RowDesc,IsSend)  values (@branchid,(select top(1) dochid from @outputtbl2),5,8,@browid,@spricebank,0,N'فاکتور فروش شماره ' + CAST(@docid as nvarchar)+N'-مبلغ کارتخوان',0) end insert into DocD(Branch_ID,doch_id,fix_acc1_id,fix_acc2type_id,Acc2RowID,BedPrice,BesPrice,RowDesc,IsSend)  values (@branchid,(select top(1) dochid from @outputtbl2),3,1,@personid,0,@spricebank,N'فاکتور فروش شماره ' + CAST(@docid as nvarchar)+N'-مبلغ کارتخوان',0) set @bankid = (select BankAccountID from POS where RowID = @browid)insert into WhDocHBankAccount(BankAccount_ID,Branch_ID,SettlePrice,WhDocH_ID,IsSend,POS_ID) values (@bankid,@branchid,@spricebank,(select top(1) rowid from @outputtbl),0,@browid) set @k=@k+1 end DELETE FROM dbo.Table_Lottory WHERE nofactor=@docid INSERT INTO Table_Lottory (nofactor,nolottory,[sum],disc) VALUES(@docid,CAST( CAST(RAND() * 10000 AS INT) AS NVARCHAR(50)) + CAST(@docid AS NVARCHAR(50)),@sum,@DiscountPrice) select DocNo from WhDocH where RowID = (select rowid from @outputtbl) set @chancesystem = (select top(1) ChanceSystem from AppSettings) if(@chancesystem = 1) begin insert into ChanceSystem(cid,Fdate,Ftime,Mdate,WhID,[Status]) values (@pid,@date,@time,@mdate,(select rowid from @outputtbl),0) end  set @adict = (select count(*) from @alist) set @diact = (select count(*) from @dlist) set @a = 0 set @d = 0 while(@a < @adict) begin insert into WhDocHInvoiceIncrease (Branch_ID,Fix_PercentOrPrice_ID,InvoiceIncrease_ID,WhDocH_ID,IncreasePrice,IncreasePercent) values (@branchid,(select top(1) fixorpercent from @alist where [row] = @a),(select top(1) inid from @alist where [row] = @a), (select rowid from @outputtbl),(select top(1) dprice from @alist where [row] = @a),(select top(1) dpercent from @alist where [row] = @a)) set @a = @a + 1 end while(@d < @diact) begin insert into WhDocHInvoiceDecrease(Branch_ID,Fix_PercentOrPrice_ID,InvoiceDecrease_ID,WhDocH_ID,DecreasePrice,DecreasePercent) values (@branchid,(select top(1) fixorpercent from @dlist where [row] = @d),(select top(1) inid from @dlist where [row] = @d), (select rowid from @outputtbl),(select top(1) dprice from @dlist where [row] = @d),(select top(1) dpercent from @dlist where [row] = @d)) set @d = @d + 1 end commit transaction t1 End Try Begin Catch select Error_Message(); rollback transaction t1 return End Catch END

DROP VIEW [dbo].[PersonAccountView];

CREATE VIEW [dbo].[PersonAccountView] AS SELECT dbo.Person.RowName AS Name, dbo.Person.RowCode AS Code, dbo.Person.MobileNumber AS Mobile, dbo.Person.PhoneNumber AS Phone, dbo.Person.NationalCode, dbo.Person.AccountNumber1, dbo.Person.AccountNumber2, dbo.Person.AccountNumber3, dbo.Person.Adress AS Address, dbo.Person.MobileForSMS, dbo.Person.FatherName, dbo.Person.EconomicCode, ABS(dbo.PersonRemainderView.Remainder)  AS Remainder, dbo.PersonRemainderView.int, dbo.Person.RowID AS PersonID, { fn IFNULL(dbo.Person.FDateLastSMS_ForDebt, '') } AS LastSmsDate, dbo.Person.MDateLastSMS_ForDebt AS LastSmsDateTime,  dbo.Person.Fix_PersonType_ID, dbo.Fix_PersonType.RowName AS PersonType, dbo.PersonCategory.RowName AS PersonCategory, dbo.PersonRemainderView.FinancialYear_ID, dbo.Person.PersonCategory_ID FROM dbo.PersonRemainderView INNER JOIN dbo.Person ON dbo.PersonRemainderView.PersonID = dbo.Person.RowID LEFT OUTER JOIN dbo.PersonCategory ON dbo.Person.PersonCategory_ID = dbo.PersonCategory.RowID LEFT OUTER JOIN dbo.Fix_PersonType ON dbo.Person.Fix_PersonType_ID = dbo.Fix_PersonType.RowID

CREATE TABLE [dbo].[SponsorLoan]([RowID] [bigint] IDENTITY(1,1) NOT NULL,[PID] [int] NULL,[LID] [bigint] NULL,[RowDesc] [ntext] NULL, CONSTRAINT [PK_SponsorLoan] PRIMARY KEY CLUSTERED ([RowID] ASC)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] ALTER TABLE [dbo].[SponsorLoan]  WITH CHECK ADD  CONSTRAINT [FK_SponsorLoan_LoanNew] FOREIGN KEY([LID]) REFERENCES [dbo].[LoanNew] ([RowID]) ALTER TABLE [dbo].[SponsorLoan] CHECK CONSTRAINT [FK_SponsorLoan_LoanNew] ALTER TABLE [dbo].[SponsorLoan]  WITH CHECK ADD  CONSTRAINT [FK_SponsorLoan_Person] FOREIGN KEY([PID]) REFERENCES [dbo].[Person] ([RowID]) ALTER TABLE [dbo].[SponsorLoan] CHECK CONSTRAINT [FK_SponsorLoan_Person]

ALTER TABLE dbo.AppSettings ADD[LoanWebSite][bit] NULL;

ALTER TABLE dbo.Person ADD[UserName] nvarchar(250) NULL;

ALTER TABLE dbo.Person ADD[Passwrod] nvarchar(250) NULL;

ALTER TABLE dbo.AppUserSettings ADD[CheckAllPerson] bit NULL;

ALTER TABLE dbo.InvoiceMemory ADD[PersonName] nvarchar(250) NULL;

ALTER TABLE dbo.InvoiceMemory ADD[PersonMobile] nvarchar(50) NULL;

CREATE TABLE [dbo].[InvoiceMemoryPay]([RowID] [bigint] IDENTITY(1,1) NOT NULL,[InvoiceMemName] [nvarchar](50) NULL,[Price] [money] NULL,[PosID] [int] NULL,[PosName] [nvarchar](50) NULL,[Type] [int] NULL,[Deletes] [tinyint] NULL,[Ftime] [char](5) NULL,[FDate] [nvarchar](50) NULL,[UserID] [int] NULL,[BankAccountID] [int] NULL,[PayemntMethod] [nvarchar](50) NULL,[TransactionPrice] [money] NULL,[ExtraRecive] [money] NULL, CONSTRAINT [PK_InvoiceMemoryPay] PRIMARY KEY CLUSTERED ([RowID] ASC)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]) ON [PRIMARY]

ALTER TABLE dbo.InvoiceMemoryPay ADD[CashPayment] bit NULL;

DROP TABLE GN_Desktop;

DROP TABLE GN_Menue;

DROP TABLE GN_ImmediateReport;

DROP TABLE RS_SiteMenu;

DROP TABLE RS_MetaData;

DROP TABLE Events;

DROP TABLE AppPCSettings;

DROP TABLE Calendar;

DROP TABLE GoodWarehouse;

DROP TABLE GoodNumPad;

DROP TABLE GoodNumPadCategory;

DROP TABLE GoodInsertQueue;

DROP TABLE Fix_LoanType1;

DROP TABLE Fix_NumPad;

DROP TABLE DocDSum;

ALTER TABLE [dbo].[WhDocH] ADD[Reversion][bigint] NULL;

drop procedure [dbo].[sp_UseStringList]

Create PROCEDURE [dbo].[sp_UseStringList](@list goodlistnew READONLY,@uid int,@date nvarchar(50),@mdate datetime,@time nvarchar(10),@guid UNIQUEIDENTIFIER,@sumincrease decimal,@sumdecrease decimal,@sum decimal,@cashpay decimal,@quantity decimal,@disc DECIMAL,@DiscountPrice DECIMAL,@pid INT,@bid int,@plist paylist readonly,@alist Additionals readonly,@dlist Decreases readonly) AS BEGIN begin transaction t1 declare @outputtbl table (rowid int) declare @outputtbl2 table (dochid int) declare @accrid as int ,@chancesystem bit,@version as bigint, @count as int , @i as int, @countofstock as float,@stcks as float,@branchid as int,@typetasvieh as bit,@bankid as int,@finanal as int,@warehouseid as int,@adict as int,@diact as int, @cofferid as int,@personid as int, @userid as int, @docid as int, @j as int,@goodid as int, @measurementunitid as int, @itemcount as FLOAT,@averages as int, @itemcalculatedcount as FLOAT, @saleprice as decimal, @itemprice as decimal, @itemquantity as decimal, @itemdiscount as decimal, @itempurchase as decimal, @k as int,@a as int,@d as int, @browid as int,@spricebank as decimal CREATE TABLE #tempstock ( [did] [int],[goodid] [int],[goodname] [nvarchar](250),[barcode] [nvarchar](100),[MeasureUnit] [nvarchar](200),[MeasureUnitID] [int],[PurchasePrice] [decimal],[saleprice] [decimal],[sumPurchasePrice] [decimal],[price] [decimal], [DiscountPrice] [decimal],[count] [float],[calculatedcount] [float],[sumafterDiscountPrice] [decimal],[sumbeforeDiscountPrice] [decimal],[id] [int] identity ) Begin Try set @accrid=3 set @branchid = @bid set @version = (select iif(max(Reversion) is null,1,max(Reversion)) from WhDocH) set @finanal = (select FinancialYear_ID from appsettings) set @warehouseid = (select Warehouse_ID from AppUserSettings where UserInfo_ID = @uid)  set @cofferid = (select  Coffer_ID from AppUserSettings where UserInfo_ID = @uid) IF(@pid=-1)BEGIN set @personid = (select  DefaultPerson_ID_FactorForosh  from AppUserSettings where UserInfo_ID = @uid) END ELSE BEGIN SET @personid=@pid END set @userid =  @uid insert into #tempstock select * from @list set @i = 1 set @count = (select COUNT(*) from #tempstock) insert into WhDocH (times,branch_id,FinancialYear_ID,Fix_RecordStatusType_ID,Fix_WhDocType1_ID,Fix_WhDocType2_ID,Warehouse_ID,Fix_DiscountType_ID,Coffer_ID,Person_ID,DocNo,FDate,MDate,DiscountPercent,DiscountPrice,SettlePrice,TaxPercent,TaxPrice,TotalPrice,QuantityInUnitPrice,TotalDiscountPriceItems,TotalTaxPriceItems,PayablePrice,DefinedBySystem,InsertedBy,FDateInsert,FTimeInsert,UniqueIdentifierValue,IsSend,IsSettled,SumPercentPrice,TotalIncreasePrice,TotalDecreasePrice,reversion) output inserted.RowID into @outputtbl(rowid) values (@time,@branchid,@finanal,1,2,21,@warehouseid,2,@cofferid,@personid,(select COALESCE(max(rowid), 0) from WhDocH where Fix_WhDocType2_ID = 21) + 1,@date,@mdate,0,@DiscountPrice,@cashpay,0,0,@sum,@quantity,@disc,0,@sum-@DiscountPrice,0,@userid,@date,@time,@guid,0,0,0,@sumincrease,@sumdecrease,@version) set @docid = (select DocNo from WhDocH where RowID = (select rowid from @outputtbl) and Fix_WhDocType2_ID = 21) set @j = 1 while (@j <= @count) begin set @goodid = (select goodid from #tempstock where id = @j) set @measurementunitid = (select MeasureUnitID from #tempstock where id = @j) set @itemcount = (select [count] from #tempstock where id = @j) set @itemcalculatedcount = (select [calculatedcount] from #tempstock where id = @j) set @saleprice = (select saleprice from #tempstock where id = @j) set @itemprice = (select price from #tempstock where id = @j) set @itemdiscount = (select DiscountPrice from #tempstock where id = @j) set @itempurchase = (select PurchasePrice from #tempstock where id = @j) set @averages = (select PurchaseAverage from AveragePrice where GoodID = @goodid) insert into WhDocD (Branch_Id,FinancialYear_ID,WhDocH_ID,Good_ID,Main_MeasureUnit_ID,MeasureUnit_ID,Fix_DiscountType_ID,InputValue,calculatedinputvalue,OutputValue,CalculatedOutputValue,UnitPrice,TotalPrice,QuantityInUnitPrice,DiscountPercent,DiscountPrice,purchaseunitprice,purchasetotalprice,taxpercent,TaxPrice,SaleUnitPrice,IsSend,PurchaseTotalPriceAverage) values (@branchid,@finanal,(select rowid from @outputtbl),@goodid,@measurementunitid,@measurementunitid,2,0,0,@itemcount,@itemcalculatedcount,@saleprice,(@itemprice * @itemcount),(@saleprice * @itemcount),0,(@itemdiscount * @itemcount),@itempurchase,(@itempurchase * @itemcount),0,0,@saleprice ,0,@averages) set @j = @j + 1 end set @typetasvieh = (select CardReaderAutoSettlement from AppUserSettings where UserInfo_ID = @uid) insert into DocH (branch_id,Fix_DocHType_ID,financialyear_id,RelateRowID,FDate,MDate,RowDesc,UniqueIdentifierValue)  output inserted.RowID into @outputtbl2(dochid) values (@branchid,2,@finanal,(select top(1) rowid from @outputtbl),@date,@mdate,N'فاکتور فروش شماره ' + CAST(@docid as nvarchar) ,@guid) insert into DocD(Branch_ID,doch_id,fix_acc1_id,fix_acc2type_id,Acc2RowID,BedPrice,BesPrice,RowDesc,IsSend) values (@branchid,(select top(1) dochid from @outputtbl2),3,1,@personid,@sum-@DiscountPrice,0,N'فاکتور فروش شماره ' + CAST(@docid as nvarchar),0) insert into DocD(Branch_ID,doch_id,fix_acc1_id,fix_acc2type_id,BedPrice,BesPrice,RowDesc,IsSend)  values (@branchid,(select top(1) dochid from @outputtbl2),2,0,0,@sum-@DiscountPrice,N'فاکتور فروش شماره ' + CAST(@docid as nvarchar),0) if(@cashpay>0) begin insert into DocD(Branch_ID,doch_id,fix_acc1_id,fix_acc2type_id,Acc2RowID,BedPrice,BesPrice,RowDesc,IsSend) values (@branchid,(select top(1) dochid from @outputtbl2),7,3,@cofferid,@cashpay,0,N'فاکتور فروش شماره ' + CAST(@docid as nvarchar)+N'-مبلغ نقدی',0) insert into DocD(Branch_ID,doch_id,fix_acc1_id,fix_acc2type_id,Acc2RowID,BedPrice,BesPrice,RowDesc,IsSend)  values (@branchid,(select top(1) dochid from @outputtbl2),3,1,@personid,0,@cashpay,N'فاکتور فروش شماره ' + CAST(@docid as nvarchar)+N'-مبلغ نقدی',0) end set @k=1 while(@k<=(select COUNT(*) from @plist)) begin set @browid=(select top(1) bankrowid from @plist where rowid=@k)set @spricebank=(select top(1)  SettlePrice from @plist where rowid=@k) if(@typetasvieh = 1) begin insert into DocD(Branch_ID,doch_id,fix_acc1_id,fix_acc2type_id,Acc2RowID,BedPrice,BesPrice,RowDesc,IsSend) values (@branchid,(select top(1) dochid from @outputtbl2),5,2,@browid,@spricebank,0,N'فاکتور فروش شماره ' + CAST(@docid as nvarchar)+N'-مبلغ کارتخوان',0) end else begin insert into DocD(Branch_ID,doch_id,fix_acc1_id,fix_acc2type_id,Acc2RowID,BedPrice,BesPrice,RowDesc,IsSend)  values (@branchid,(select top(1) dochid from @outputtbl2),5,8,@browid,@spricebank,0,N'فاکتور فروش شماره ' + CAST(@docid as nvarchar)+N'-مبلغ کارتخوان',0) end insert into DocD(Branch_ID,doch_id,fix_acc1_id,fix_acc2type_id,Acc2RowID,BedPrice,BesPrice,RowDesc,IsSend)  values (@branchid,(select top(1) dochid from @outputtbl2),3,1,@personid,0,@spricebank,N'فاکتور فروش شماره ' + CAST(@docid as nvarchar)+N'-مبلغ کارتخوان',0) set @bankid = (select BankAccountID from POS where RowID = @browid)insert into WhDocHBankAccount(BankAccount_ID,Branch_ID,SettlePrice,WhDocH_ID,IsSend,POS_ID) values (@bankid,@branchid,@spricebank,(select top(1) rowid from @outputtbl),0,@browid) set @k=@k+1 end DELETE FROM dbo.Table_Lottory WHERE nofactor=@docid INSERT INTO Table_Lottory (nofactor,nolottory,[sum],disc) VALUES(@docid,CAST( CAST(RAND() * 10000 AS INT) AS NVARCHAR(50)) + CAST(@docid AS NVARCHAR(50)),@sum,@DiscountPrice) select DocNo from WhDocH where RowID = (select rowid from @outputtbl) set @chancesystem = (select top(1) ChanceSystem from AppSettings) if(@chancesystem = 1) begin insert into ChanceSystem(cid,Fdate,Ftime,Mdate,WhID,[Status]) values (@pid,@date,@time,@mdate,(select rowid from @outputtbl),0) end  set @adict = (select count(*) from @alist) set @diact = (select count(*) from @dlist) set @a = 0 set @d = 0 while(@a < @adict) begin insert into WhDocHInvoiceIncrease (Branch_ID,Fix_PercentOrPrice_ID,InvoiceIncrease_ID,WhDocH_ID,IncreasePrice,IncreasePercent) values (@branchid,(select top(1) fixorpercent from @alist where [row] = @a),(select top(1) inid from @alist where [row] = @a), (select rowid from @outputtbl),(select top(1) dprice from @alist where [row] = @a),(select top(1) dpercent from @alist where [row] = @a)) set @a = @a + 1 end while(@d < @diact) begin insert into WhDocHInvoiceDecrease(Branch_ID,Fix_PercentOrPrice_ID,InvoiceDecrease_ID,WhDocH_ID,DecreasePrice,DecreasePercent) values (@branchid,(select top(1) fixorpercent from @dlist where [row] = @d),(select top(1) inid from @dlist where [row] = @d), (select rowid from @outputtbl),(select top(1) dprice from @dlist where [row] = @d),(select top(1) dpercent from @dlist where [row] = @d)) set @d = @d + 1 end commit transaction t1 End Try Begin Catch select Error_Message(); rollback transaction t1 return End Catch END

CREATE TABLE [dbo].[ScaleDB]([ScaleID] [bigint] IDENTITY(1,1) NOT NULL,[Servername] [nvarchar](50) NULL,[DbName] [nvarchar](50) NULL,[username] [nvarchar](50) NULL,[Password] [nvarchar](50) NULL, CONSTRAINT [PK_ScaleDB] PRIMARY KEY CLUSTERED ([ScaleID] ASC)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]) ON [PRIMARY]

ALTER TABLE [dbo].[ScaleDB] ADD[Active] bit NULL;

ALTER TABLE [dbo].[Person] ADD[FBornDate] nvarchar(50) NULL;

ALTER TABLE [dbo].[Person] ADD[MBornDate] [datetime] NULL;

ALTER TABLE dbo.AppSettings ADD[LoanWebSiteurl] nvarchar(MAX) NULL;

ALTER TABLE dbo.Systems ADD[LoanWebSiteLink] bit NULL;

ALTER TABLE dbo.AppSystemSettings ADD[LoanSystemSync] bit NULL;

ALTER TABLE dbo.WhDocD ADD[ConsumerPrice] money NULL;

ALTER TABLE dbo.AppUserSettings ADD[ShowStockNumber] tinyint NULL;

ALTER TABLE dbo.AppUserSettings ADD[ColumnRestaurantGood] int NULL;

ALTER TABLE dbo.WhDocH ADD[MainPageImage] image NULL;

ALTER TABLE dbo.WhDocH ADD[PaymentPageImage] image NULL;

CREATE TABLE [dbo].[PrinterCategorySystem]([RowID] [bigint] IDENTITY(1,1) NOT NULL,[CategoryID] [int] NULL,[Printername] [nvarchar](450) NULL,[SystemID] [int] NULL, CONSTRAINT [PK_PrinterCategorySystem] PRIMARY KEY CLUSTERED ([RowID] ASC)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]) ON [PRIMARY] ALTER TABLE [dbo].[PrinterCategorySystem]  WITH CHECK ADD  CONSTRAINT [FK_PrinterCategorySystem_GoodCategory] FOREIGN KEY([CategoryID]) REFERENCES [dbo].[GoodCategory] ([RowID]) ALTER TABLE [dbo].[PrinterCategorySystem] CHECK CONSTRAINT [FK_PrinterCategorySystem_GoodCategory] ALTER TABLE [dbo].[PrinterCategorySystem]  WITH CHECK ADD  CONSTRAINT [FK_PrinterCategorySystem_Systems] FOREIGN KEY([SystemID]) REFERENCES [dbo].[Systems] ([RowID]) ALTER TABLE [dbo].[PrinterCategorySystem] CHECK CONSTRAINT [FK_PrinterCategorySystem_Systems]

CREATE VIEW [dbo].[GoodCategorySystem] AS SELECT dbo.GoodCategory.RowID, dbo.GoodCategory.RowCode, dbo.GoodCategory.RowName, dbo.Systems.RowID AS sysid FROM dbo.GoodCategory CROSS JOIN dbo.Systems

CREATE VIEW [dbo].[PrinterCategoryView] AS SELECT dbo.PrinterCategorySystem.Printername, dbo.PrinterCategorySystem.CategoryID, dbo.PrinterCategorySystem.SystemID, dbo.PrinterCategorySystem.RowID AS pcid, dbo.GoodCategorySystem.RowName,  dbo.GoodCategorySystem.RowCode, dbo.GoodCategorySystem.sysid, dbo.GoodCategorySystem.RowID FROM dbo.GoodCategorySystem LEFT OUTER JOIN dbo.PrinterCategorySystem ON dbo.PrinterCategorySystem.CategoryID = dbo.GoodCategorySystem.RowID AND dbo.PrinterCategorySystem.SystemID = dbo.GoodCategorySystem.sysid AND  dbo.PrinterCategorySystem.SystemID IS NOT NULL

ALTER TABLE dbo.GoodCategory ADD[CategoryReport] image NULL;

ALTER TABLE dbo.RestaurantTableLocations ADD[IsActive] bit NULL;

ALTER TABLE dbo.RestaurantTables ADD[IsActive] bit NULL;

ALTER TABLE dbo.RestaurantTableLocations ADD[Image] image NULL;

ALTER TABLE dbo.RestaurantTables ADD[Image] image NULL;

ALTER TABLE dbo.WhDocH ADD[WhType] tinyint NULL;

DROP VIEW [dbo].[OrderView];

CREATE VIEW [dbo].[OrderView] AS SELECT dbo.Person.RowName, dbo.RestaurantTables.RowName AS tablename, dbo.WhDocH.DocNo, dbo.WhDocH.MDate, dbo.WhDocH.DailyDocNo, dbo.WhDocH.RowID FROM dbo.WhDocH INNER JOIN dbo.Person ON dbo.WhDocH.Person_ID = dbo.Person.RowID LEFT OUTER JOIN dbo.RestaurantTables ON dbo.WhDocH.Table_ID = dbo.RestaurantTables.RowID WHERE (dbo.WhDocH.WhType = 2)

ALTER TABLE dbo.AppUserSettings ADD[OrderInRestaurant] bit NULL;

DROP VIEW [dbo].[SalesFactorProfit];

CREATE VIEW [dbo].[SalesFactorProfit] AS SELECT  H.RowID AS ID, H.DocNo, H.FDate, H.MDate, P.RowName AS PersonName, P.RowCode AS PersonCode, { fn IFNULL(SUM(Increase.IncreasePrice), 0) } AS IncreasePrice, { fn IFNULL(SUM(Decrease.DecreasePrice), 0) } AS DecreasePrice, SUM(D.QuantityInUnitPrice) AS SumGoodsPrice, SUM(D.DiscountPrice) AS SumDiscountItems, H.DiscountPrice, { fn IFNULL(SUM(Marketer.PercentPrice), 0) } AS MarketerCommission, SUM(D.PurchaseTotalPrice) AS SumPurchaseTotalPrice, { fn IFNULL(SUM(D.CostOfGood), 0) } AS SumCostOfGood, { fn IFNULL(SUM(D.PurchaseTotalPriceAverage), 0) } AS SumTotalPriceAverage, SUM(D.QuantityInUnitPrice) - (H.DiscountPrice + { fn IFNULL(SUM(D.PurchaseTotalPriceAverage), 0) }) AS FactorProfitOnAverage, SUM(D.QuantityInUnitPrice) - (H.DiscountPrice + SUM(D.PurchaseTotalPrice)) AS FactorProfitOnPurchasePrice,  SUM(D.QuantityInUnitPrice) - (H.DiscountPrice + { fn IFNULL(SUM(D.CostOfGood), 0) }) AS FactorProfitOnCostOfGood, SUM(D.QuantityInUnitPrice) - (H.DiscountPrice + SUM(D.DiscountPrice) + { fn IFNULL(SUM(D.PurchaseTotalPriceAverage), 0) } + { fn IFNULL(SUM(Marketer.PercentPrice), 0) }) AS TotalFactorProfitOnAverage, SUM(D.QuantityInUnitPrice) - (H.DiscountPrice + SUM(D.DiscountPrice) + { fn IFNULL(SUM(D.PurchaseTotalPrice), 0) } + { fn IFNULL(SUM(Marketer.PercentPrice), 0) }) AS TotalFactorProfitOnPurchasePrice, SUM(D.QuantityInUnitPrice) - (H.DiscountPrice + SUM(D.DiscountPrice) + { fn IFNULL(SUM(D.CostOfGood), 0) } + { fn IFNULL(SUM(Marketer.PercentPrice), 0) }) AS TotalFactorProfitOnCostOfGood, H.InsertedBy FROM  dbo.WhDocH AS H INNER JOIN dbo.WhDocHMarketerPercent AS Marketer ON H.RowID = Marketer.WhDocH_ID LEFT OUTER JOIN dbo.WhDocD AS D ON H.RowID = D.WhDocH_ID LEFT OUTER JOIN dbo.Person AS P ON H.Person_ID = P.RowID LEFT OUTER JOIN dbo.WhDocHInvoiceIncrease AS Increase ON H.RowID = Increase.WhDocH_ID LEFT OUTER JOIN dbo.WhDocHInvoiceDecrease AS Decrease ON H.RowID = Decrease.WhDocH_ID WHERE  (H.Fix_WhDocType2_ID = 21) GROUP BY H.RowID, H.FDate, H.DocNo, P.RowName, P.RowCode, H.DiscountPrice, H.MDate, H.InsertedBy

ALTER TABLE dbo.WhDocH ADD[Fexpdate] nvarchar(50) NULL;

ALTER TABLE dbo.WhDocH ADD[Mexpdate] datetime NULL;

CREATE TABLE [dbo].[SponserLoanFiles]([RowID] [bigint] IDENTITY(1,1) NOT NULL,[RowName] [nvarchar](500) NULL,[RowDesc] [ntext] NULL,[Files] [image] NULL,[Mdate] [datetime2](7) NULL,[SLID] [bigint] NULL,[Cid] [bigint] NULL,[Lid] [bigint] NULL, CONSTRAINT [PK_SponserLoanFile] PRIMARY KEY CLUSTERED ([RowID] ASC)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]

CREATE VIEW [dbo].[SponserLoanView] AS SELECT dbo.SponsorLoan.LID, dbo.Person.RowName, dbo.LoanNew.NumberAghsat, dbo.LoanNew.BetweenAghsat, dbo.LoanNew.Fdate, dbo.LoanNew.KolPrice, dbo.LoanNew.Status, dbo.SponserLoanFile.Files, dbo.SponsorLoan.RowID FROM dbo.SponsorLoan INNER JOIN dbo.Person ON dbo.SponsorLoan.PID = dbo.Person.RowID INNER JOIN dbo.LoanNew ON dbo.SponsorLoan.LID = dbo.LoanNew.RowID INNER JOIN dbo.SponserLoanFile ON dbo.SponsorLoan.RowID = dbo.SponserLoanFile.SLID

ALTER TABLE [dbo].[WhDocH]  WITH CHECK ADD  CONSTRAINT [FK_WhDocH_Person1] FOREIGN KEY([AgentID]) REFERENCES [dbo].[Person] ([RowID])

ALTER TABLE [dbo].[WhDocH] CHECK CONSTRAINT [FK_WhDocH_Person1]

ALTER TABLE [dbo].[LoanNew]  WITH CHECK ADD  CONSTRAINT [FK_LoanNew_Person] FOREIGN KEY([Cid]) REFERENCES [dbo].[Person] ([RowID])

ALTER TABLE [dbo].[LoanNew] CHECK CONSTRAINT [FK_LoanNew_Person]

DROP VIEW [dbo].[GoodStockReport];

CREATE VIEW [dbo].[GoodStockReport] AS SELECT dbo.Good.RowCode AS ProductBarcode, dbo.Good.RowName AS ProductName, { fn IFNULL(dbo.Good.RowNameEN, '') } AS LatinProductName, { fn IFNULL(dbo.Good.RowNameAlias, '') } AS ProductNickName,  dbo.AllWarehouseQuantityView.Quantity, dbo.Good.RowID AS ID, dbo.MeasureUnit.RowName AS SmallestUnit, dbo.AllWarehouseQuantityView.Warehouse_ID, dbo.AllWarehouseQuantityView.FinancialYear_ID,  { fn IFNULL(dbo.GoodCategory.RowName, '') } AS CategoryName, dbo.Good.SalePrice, dbo.Good.PurchasePrice, dbo.AllWarehouseQuantityView.Quantity * dbo.Good.SalePrice AS ValueBasedOnSale,  dbo.AllWarehouseQuantityView.Quantity * dbo.Good.PurchasePrice AS ValueBasedOnPurchase, dbo.AveragePrice.PurchaseAverage,  dbo.AllWarehouseQuantityView.Quantity * dbo.AveragePrice.PurchaseAverage AS ValueBasedOnAverage, dbo.Warehouse.RowName AS Warehouse, dbo.Good.OrderPoint, dbo.Good.Main_MeasureUnit_ID,  dbo.AllWarehouseQuantityView.financialid, dbo.Good.IsActive FROM  dbo.Good INNER JOIN dbo.AllWarehouseQuantityView ON dbo.Good.RowID = dbo.AllWarehouseQuantityView.ID INNER JOIN dbo.Warehouse ON dbo.AllWarehouseQuantityView.Warehouse_ID = dbo.Warehouse.RowID INNER JOIN dbo.MeasureUnit ON dbo.Good.Main_MeasureUnit_ID = dbo.MeasureUnit.RowID LEFT OUTER JOIN dbo.AveragePrice ON dbo.Good.RowID = dbo.AveragePrice.GoodID LEFT OUTER JOIN dbo.GoodCategory ON dbo.Good.GoodCategory_ID = dbo.GoodCategory.RowID WHERE (dbo.Warehouse.Type IS NULL) OR (dbo.Warehouse.Type = 0)

DROP VIEW [dbo].[GoodStockReportAllWarehouse];

CREATE VIEW [dbo].[GoodStockReportAllWarehouse] AS SELECT dbo.Good.RowCode AS ProductBarcode, dbo.Good.RowName AS ProductName, { fn IFNULL(dbo.Good.RowNameEN, '') } AS LatinProductName, { fn IFNULL(dbo.Good.RowNameAlias, '') } AS ProductNickName,  dbo.Good.RowID AS ID, dbo.MeasureUnit.RowName AS SmallestUnit, { fn IFNULL(dbo.GoodCategory.RowName, '') } AS CategoryName, dbo.Good.SalePrice, dbo.Good.PurchasePrice,  dbo.StockAllWarehouse.stock * dbo.Good.SalePrice AS ValueBasedOnSale, dbo.StockAllWarehouse.stock * dbo.Good.PurchasePrice AS ValueBasedOnPurchase, { fn IFNULL(dbo.StockAllWarehouse.stock, 0) } AS Quantity,  dbo.AveragePrice.PurchaseAverage, dbo.StockAllWarehouse.stock * dbo.AveragePrice.PurchaseAverage AS ValueBasedOnAverage, dbo.Good.OrderPoint, dbo.StockAllWarehouse.financialid,  dbo.StockAllWarehouse.financialid AS Expr1, dbo.StockAllWarehouse.RowID, dbo.Good.IsActive FROM dbo.Good INNER JOIN dbo.MeasureUnit ON dbo.Good.Main_MeasureUnit_ID = dbo.MeasureUnit.RowID LEFT OUTER JOIN dbo.StockAllWarehouse ON dbo.Good.RowID = dbo.StockAllWarehouse.RowID LEFT OUTER JOIN dbo.AveragePrice ON dbo.Good.RowID = dbo.AveragePrice.GoodID LEFT OUTER JOIN dbo.GoodCategory ON dbo.Good.GoodCategory_ID = dbo.GoodCategory.RowID

DROP VIEW [dbo].[WhDochView];

CREATE VIEW [dbo].[WhDochView] AS SELECT dbo.WhDocH.RowID AS ID, dbo.Fix_WhDocType2.RowName, dbo.Person.RowName AS PersonName, dbo.Person.RowCode AS PersonCode, dbo.Branch.RowID AS BranchID, dbo.Branch.RowName AS BranchName,  dbo.WhDocH.DocNo, dbo.WhDocH.FDate, dbo.WhDocH.MDate, dbo.WhDocH.DiscountPercent, dbo.WhDocH.DiscountPrice, { fn IFNULL(dbo.WhDocH.SettlePrice, 0) } AS CashSettlement, dbo.WhDocH.TaxPercent,  dbo.WhDocH.TaxPrice, dbo.WhDocH.TotalPrice, { fn IFNULL(dbo.WhDocH.TotalIncreasePrice, 0) } AS IncreasePrice, { fn IFNULL(dbo.WhDocH.TotalDecreasePrice, 0) } AS DecreasePrice, dbo.WhDocH.PayablePrice,  dbo.WhDocH.ReferenceValue AS Reference, dbo.WhDocH.RowDesc AS Description, dbo.WhDocH.FDateUpdate AS UpdateDate, dbo.WhDocH.FTimeInsert AS InsertTime, dbo.WhDocH.FTimeUpdate AS UpdateTime,  dbo.WhDocH.FDateSettlementDeadline AS SettlementDeadline, dbo.WhDocH.MDateSettlementDeadline, dbo.UserInfo.RowName AS InsertBy, UserInfo_1.RowName AS UpdateBy, dbo.WhDocH.InsertedBy AS InsertByID, { fn IFNULL(dbo.WhDocHSumPos.sumpos, 0) } AS CardReaderSettlement, { fn IFNULL(dbo.WhDocHBankSum.SumBank, 0) } AS BankAccountSettlement, dbo.Warehouse.RowName AS Warehouse, { fn IFNULL(dbo.WhDocH.IsSettled, 0) } AS IsSettled, { fn IFNULL(dbo.WhDocHSumMarketer.MarketerCommission, 0) } AS MarketerCommission, { fn IFNULL(dbo.WhDocHChequeRecSum.ChequeRec, 0) } + { fn IFNULL(dbo.WhDocHChequePaySum.SumChequePay, 0) } AS ChequeSettlement, dbo.FinancialYear.RowName AS FinancialName, dbo.FinancialYear.RowID AS FinancialYear_ID, dbo.Fix_WhDocType2.RowID AS Fix_WhDocType2_ID, dbo.WhDocH.FDateInsert AS InsertDate, dbo.WhDocH.PayablePrice - ({ fn IFNULL(dbo.WhDocHSumPos.sumpos, 0) } + { fn IFNULL(dbo.WhDocHBankSum.SumBank, 0) } + { fn IFNULL(dbo.WhDocHChequeRecSum.ChequeRec, 0) } + { fn IFNULL(dbo.WhDocHChequePaySum.SumChequePay, 0) } + { fn IFNULL(dbo.WhDocH.SettlePrice, 0) }) AS NotSettledRemainder,  dbo.WhDocH.RowUpdateVersion, dbo.WhDocH.OfficialBill, dbo.WhDocH.Color, dbo.WhDocH.DateWhdoch, dbo.WhDocH.FDateWhdoch, Person_1.RowName AS AgentName, dbo.WhDocH.AgentPrice, dbo.WhDocH.AgentID,  dbo.LoanNew.KolPrice, dbo.LoanNew.TotalProfit, dbo.LoanNew.KolPrice + dbo.LoanNew.TotalProfit AS TotalLoan, dbo.WhDocH.Times FROM dbo.WhDocH INNER JOIN dbo.Person ON dbo.WhDocH.Person_ID = dbo.Person.RowID INNER JOIN dbo.Branch ON dbo.WhDocH.Branch_ID = dbo.Branch.RowID INNER JOIN dbo.Fix_WhDocType2 ON dbo.WhDocH.Fix_WhDocType2_ID = dbo.Fix_WhDocType2.RowID INNER JOIN dbo.UserInfo ON dbo.WhDocH.InsertedBy = dbo.UserInfo.RowID INNER JOIN dbo.Warehouse ON dbo.WhDocH.Warehouse_ID = dbo.Warehouse.RowID INNER JOIN dbo.FinancialYear ON dbo.WhDocH.FinancialYear_ID = dbo.FinancialYear.RowID LEFT OUTER JOIN dbo.LoanNew ON dbo.WhDocH.RowID = dbo.LoanNew.WhID LEFT OUTER JOIN dbo.Person AS Person_1 ON dbo.WhDocH.AgentID = Person_1.RowID LEFT OUTER JOIN dbo.UserInfo AS UserInfo_1 ON dbo.WhDocH.UpdatedBy = UserInfo_1.RowID LEFT OUTER JOIN dbo.WhDocHSumPos ON dbo.WhDocH.RowID = dbo.WhDocHSumPos.WhDocH_ID LEFT OUTER JOIN dbo.WhDocHBankSum ON dbo.WhDocH.RowID = dbo.WhDocHBankSum.WhDocH_ID LEFT OUTER JOIN dbo.WhDocHSumMarketer ON dbo.WhDocH.RowID = dbo.WhDocHSumMarketer.WhDocH_ID LEFT OUTER JOIN dbo.WhDocHChequePaySum ON dbo.WhDocH.RowID = dbo.WhDocHChequePaySum.WhDocH_ID LEFT OUTER JOIN dbo.WhDocHChequeRecSum ON dbo.WhDocH.RowID = dbo.WhDocHChequeRecSum.WhDocH_ID

DROP VIEW [dbo].[WhdocDview];

CREATE VIEW [dbo].[WhdocDview] AS SELECT dbo.Good.RowCode AS Barcode, dbo.Good.BriefDescription, dbo.Good.ConsumerPrice, dbo.WhDocD.DiscountPrice, dbo.WhDocH.FTimeInsert, dbo.WhDocH.FDateUpdate, dbo.WhDocH.FDateInsert, dbo.Good.FirstStock, dbo.WhDocH.FTimeUpdate, dbo.Good.FullDescription, dbo.Good.RowID AS GoodID, dbo.GoodCategory.RowName AS GoodCategory, dbo.Good.GoodNameIndexInPrintInvoice, dbo.WhDocH.UpdatedBy, dbo.WhDocH.InsertedBy, dbo.WhDocH.InsertServerDateTime, dbo.Good.InterestRate, dbo.Good.IsHasSize, dbo.Good.IsActive, dbo.Good.IsSpecialSale, dbo.Good.Main_MeasureUnit_ID, dbo.Good.RowName AS Name, dbo.WhDocH.MDate, dbo.Good.RowNameEN AS NameEN, dbo.Good.OrderPoint, dbo.WhDocD.SaleUnitPrice, dbo.WhDocD.UnitPrice, dbo.WhDocD.TotalPrice, dbo.WhDocD.InputValue, dbo.WhDocD.OutputValue, dbo.WhDocH.Fix_WhDocType2_ID, dbo.WhDocH.Fix_WhDocType1_ID, dbo.WhDocD.GoodSize, dbo.WhDocD.PurchaseTotalPriceAverage, dbo.WhDocD.TaxPrice, dbo.WhDocD.TaxPercent, dbo.WhDocD.PurchaseTotalPrice, dbo.WhDocD.PurchaseUnitPrice, dbo.WhDocD.QuantityInUnitPrice, dbo.WhDocD.DiscountPercent, dbo.WhDocD.RowDesc, dbo.Person.RowCode AS PersonCode, dbo.Person.RowName AS PersonName, dbo.Person.RowID, dbo.WhDocH.FDate, dbo.WhDocH.DocNo, MeasureUnit_1.RowName AS MainMeasureUnit, dbo.MeasureUnit.RowName AS MeasureUnit,  (CASE WHEN dbo.WhDocD.CalculatedInputValue = 0 THEN dbo.WhDocD.CalculatedOutputValue ELSE dbo.WhDocD.CalculatedInputValue END) AS quantity, dbo.WhDocD.WhDocH_ID, dbo.WhDocH.Times FROM  dbo.GoodCategory RIGHT OUTER JOIN dbo.MeasureUnit AS MeasureUnit_1 INNER JOIN dbo.WhDocD INNER JOIN dbo.Good ON dbo.WhDocD.Good_ID = dbo.Good.RowID INNER JOIN dbo.MeasureUnit ON dbo.Good.Default_MeasureUnit_ID = dbo.MeasureUnit.RowID AND dbo.Good.Main_MeasureUnit_ID = dbo.MeasureUnit.RowID ON MeasureUnit_1.RowID = dbo.Good.Default_MeasureUnit_ID INNER JOIN dbo.Person INNER JOIN dbo.WhDocH ON dbo.Person.RowID = dbo.WhDocH.Person_ID ON dbo.WhDocD.WhDocH_ID = dbo.WhDocH.RowID ON dbo.GoodCategory.RowID = dbo.Good.GoodCategory_ID

IF NOT EXISTS(SELECT * FROM Company WHERE RowName = 'IranKish') INSERT INTO Company ([RowName]) VALUES ('IranKish')

IF NOT EXISTS(SELECT * FROM Company WHERE RowName = 'TAP') INSERT INTO Company ([RowName]) VALUES ('TAP')

IF NOT EXISTS(SELECT * FROM Company WHERE RowName = 'PEPCO') INSERT INTO Company ([RowName]) VALUES ('PEPCO')

IF NOT EXISTS(SELECT * FROM Company WHERE RowName = 'SamanKish') INSERT INTO Company ([RowName]) VALUES ('SamanKish')

IF NOT EXISTS(SELECT * FROM Company WHERE RowName = 'AsanPardakht') INSERT INTO Company ([RowName]) VALUES ('AsanPardakht')

IF NOT EXISTS(SELECT * FROM Company WHERE RowName = 'BehPardakht') INSERT INTO Company ([RowName]) VALUES ('BehPardakht')

ALTER TABLE [dbo].[SponserLoanFiles]  WITH CHECK ADD  CONSTRAINT [FK_SponserLoanFiles_LoanNew] FOREIGN KEY([Lid])REFERENCES [dbo].[LoanNew] ([RowID])

ALTER TABLE [dbo].[SponserLoanFiles] CHECK CONSTRAINT [FK_SponserLoanFiles_LoanNew]

ALTER TABLE [dbo].[SponserLoanFiles]  WITH CHECK ADD  CONSTRAINT [FK_SponserLoanFiles_SponsorLoan] FOREIGN KEY([SLID]) REFERENCES [dbo].[SponsorLoan] ([RowID])

ALTER TABLE [dbo].[SponserLoanFiles] CHECK CONSTRAINT [FK_SponserLoanFiles_SponsorLoan]

CREATE TABLE [dbo].[Fix_Invoiceagenttype]([RowID] [int] NOT NULL, [RowName] [nvarchar](50) NULL,CONSTRAINT [PK_Fix_Invoiceagenttype] PRIMARY KEY CLUSTERED ([RowID] ASC)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]) ON [PRIMARY]

INSERT INTO [dbo].[Fix_Invoiceagenttype]([RowID],[RowName])VALUES(1,N'ثبت اولیه')

INSERT INTO [dbo].[Fix_Invoiceagenttype]([RowID],[RowName])VALUES(1,N'منتظر تایید صندوق')

INSERT INTO [dbo].[Fix_Invoiceagenttype]([RowID],[RowName])VALUES(1,N'تایید صندوق')

INSERT INTO [dbo].[Fix_Invoiceagenttype]([RowID],[RowName])VALUES(1,N'رد شده')

INSERT INTO [dbo].[Fix_Invoiceagenttype]([RowID],[RowName])VALUES(1,N'منقضی شده')

ALTER TABLE dbo.WhDocH ADD[Fix_InvoiceStatus] tinyint NULL;

DROP VIEW [dbo].[SalesFactorProfit];

CREATE VIEW [dbo].[SalesFactorProfit] AS SELECT H.RowID AS ID, H.DocNo, H.FDate, H.MDate, P.RowName AS PersonName, P.RowCode AS PersonCode, { fn IFNULL(SUM(Increase.IncreasePrice), 0) } AS IncreasePrice, { fn IFNULL(SUM(Decrease.DecreasePrice), 0) } AS DecreasePrice, SUM(D.QuantityInUnitPrice) AS SumGoodsPrice, SUM(D.DiscountPrice) AS SumDiscountItems, H.DiscountPrice, { fn IFNULL(SUM(Marketer.PercentPrice), 0) } AS MarketerCommission, SUM(D.PurchaseTotalPrice) AS SumPurchaseTotalPrice, { fn IFNULL(SUM(D.CostOfGood), 0) } AS SumCostOfGood, { fn IFNULL(SUM(D.PurchaseTotalPriceAverage), 0) } AS SumTotalPriceAverage, SUM(D.QuantityInUnitPrice) - (H.DiscountPrice + { fn IFNULL(SUM(D.PurchaseTotalPriceAverage), 0) }) AS FactorProfitOnAverage, SUM(D.QuantityInUnitPrice) - (H.DiscountPrice + SUM(D.PurchaseTotalPrice)) AS FactorProfitOnPurchasePrice, SUM(D.QuantityInUnitPrice) - (H.DiscountPrice + { fn IFNULL(SUM(D.CostOfGood), 0) }) AS FactorProfitOnCostOfGood, SUM(D.QuantityInUnitPrice) - (H.DiscountPrice + SUM(D.DiscountPrice) + { fn IFNULL(SUM(D.PurchaseTotalPriceAverage), 0) } + { fn IFNULL(SUM(Marketer.PercentPrice), 0) }) AS TotalFactorProfitOnAverage, SUM(D.QuantityInUnitPrice) - (H.DiscountPrice + SUM(D.DiscountPrice) + { fn IFNULL(SUM(D.PurchaseTotalPrice), 0) } + { fn IFNULL(SUM(Marketer.PercentPrice), 0) }) AS TotalFactorProfitOnPurchasePrice, SUM(D.QuantityInUnitPrice) - (H.DiscountPrice + SUM(D.DiscountPrice) + { fn IFNULL(SUM(D.CostOfGood), 0) } + { fn IFNULL(SUM(Marketer.PercentPrice), 0) }) AS TotalFactorProfitOnCostOfGood, H.InsertedBy FROM dbo.WhDocH AS H LEFT OUTER JOIN dbo.WhDocHMarketerPercent AS Marketer ON H.RowID = Marketer.WhDocH_ID LEFT OUTER JOIN dbo.WhDocD AS D ON H.RowID = D.WhDocH_ID LEFT OUTER JOIN dbo.Person AS P ON H.Person_ID = P.RowID LEFT OUTER JOIN dbo.WhDocHInvoiceIncrease AS Increase ON H.RowID = Increase.WhDocH_ID LEFT OUTER JOIN dbo.WhDocHInvoiceDecrease AS Decrease ON H.RowID = Decrease.WhDocH_ID WHERE (H.Fix_WhDocType2_ID = 21) GROUP BY H.RowID, H.FDate, H.DocNo, P.RowName, P.RowCode, H.DiscountPrice, H.MDate, H.InsertedBy

DROP VIEW [dbo].[CashierPersonRegister];

CREATE VIEW [dbo].[CashierPersonRegister] AS SELECT dbo.UserInfo.RowName, dbo.Person.RowName AS PersonName, dbo.Person.RowCode, dbo.Person.MobileNumber, dbo.Person.FDateInsert, dbo.Person.InsertServerDateTime, dbo.UserInfo.IsCashier, dbo.UserInfo.RowID, dbo.Person.MDate FROM dbo.Person INNER JOIN dbo.UserInfo ON dbo.Person.InsertedBy = dbo.UserInfo.RowID

ALTER TABLE dbo.WhDocH ADD[ClientVersion] bigint NULL;

ALTER TABLE dbo.Person ADD[ClientVersion] bigint NULL;

ALTER TABLE dbo.Good ADD[ClientVersion] bigint NULL;

CREATE TABLE [dbo].[CostCenter]([RowID] [bigint] IDENTITY(1,1) NOT NULL,[RowName] [nvarchar](350) NULL,[RowDesc] [ntext] NULL, CONSTRAINT [PK_CostCenter] PRIMARY KEY CLUSTERED ([RowID] ASC)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]

ALTER TABLE dbo.CostCenter ADD[Reversion] bigint NULL;

ALTER TABLE dbo.CostCenter ADD[IsActive] bit NULL;

ALTER TABLE dbo.AppSettings ADD[CostCenter] bit NULL;

ALTER TABLE dbo.AppSettings ADD[Mosharekat] bit NULL;

ALTER TABLE dbo.WhDocH ADD[CostCenter] bigint NULL;

CREATE TABLE [dbo].[PersonInProject]([RowID] [bigint] IDENTITY(1,1) NOT NULL,[Pid] [int] NULL,[PercentTotal] [float] NULL,[PercentAdmin] [float] NULL,[IndividualPrice] [money] NULL,[PercentIndividual] [float] NULL,[Floor] [nvarchar](50) NULL,[Vahed] [nvarchar](50) NULL,[ContractDate] [datetime] NULL,[ContractFdate] [nvarchar](50) NULL,[TotalPrice] [money] NULL,[Earthsahm] [money] NULL,[CSID] [bigint] NULL,CONSTRAINT [PK_PersonInProject] PRIMARY KEY CLUSTERED ([RowID] ASC)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]) ON [PRIMARY]

ALTER TABLE [dbo].[PersonInProject]  WITH CHECK ADD  CONSTRAINT [FK_PersonInProject_CostCenter] FOREIGN KEY([CSID])REFERENCES [dbo].[CostCenter] ([RowID])

ALTER TABLE [dbo].[PersonInProject] CHECK CONSTRAINT [FK_PersonInProject_CostCenter]

ALTER TABLE [dbo].[PersonInProject]  WITH CHECK ADD  CONSTRAINT [FK_PersonInProject_Person] FOREIGN KEY([Pid]) REFERENCES [dbo].[Person] ([RowID])

ALTER TABLE [dbo].[PersonInProject] CHECK CONSTRAINT [FK_PersonInProject_Person]

drop procedure [dbo].[sp_returngood]

Create PROCEDURE [dbo].[sp_returngood](@list goodlistnew READONLY,@uid int,@date nvarchar(50),@mdate datetime,@time nvarchar(10),@guid UNIQUEIDENTIFIER,@sum decimal,@quantity decimal,@disc DECIMAL,@DiscountPrice DECIMAL,@pid INT,@bid int,@finacial int, @branchid as int) AS BEGIN begin transaction t1 declare @outputtbl table (rowid int) declare @outputtbl2 table (dochid int) declare @count as int ,@i as int,@warehouseid as int,@cofferid as int,@personid as int,@userid as int,@docid as int,@j as int,@goodid as int,@measurementunitid as int,@itemcount as FLOAT,@saleprice as decimal,@itemprice as decimal,@itemquantity as decimal,@itemdiscount as decimal,@itempurchase as decimal CREATE TABLE #tempstock([did] [int],[goodid] [int],[goodname] [nvarchar](250),[barcode] [nvarchar](100),[MeasureUnit] [nvarchar](200),[MeasureUnitID] [int],[PurchasePrice] [decimal],[saleprice] [decimal],[sumPurchasePrice] [decimal],[price] [decimal],[DiscountPrice] [decimal],[count] [float], [calculatedcount] [float],[sumafterDiscountPrice] [decimal],[sumbeforeDiscountPrice] [decimal],[id] [int] identity) Begin Try set @branchid = @bid set @warehouseid = (select Warehouse_ID from AppUserSettings where UserInfo_ID = @uid) set @cofferid = (select Coffer_ID from AppUserSettings where UserInfo_ID = @uid) IF(@pid=-1) BEGIN set @personid = (select  DefaultPerson_ID_FactorForosh  from AppUserSettings where UserInfo_ID = @uid) END ELSE BEGIN SET @personid=@pid END set @userid = @uid insert into #tempstock select * from @list set @i = 1 set @count = (select COUNT(*) from #tempstock) insert into WhDocH (branch_id,FinancialYear_ID,Fix_RecordStatusType_ID,Fix_WhDocType1_ID,Fix_WhDocType2_ID,Warehouse_ID,Fix_DiscountType_ID,Coffer_ID,Person_ID,DocNo,FDate,MDate,DiscountPercent,DiscountPrice,SettlePrice,TaxPercent,TaxPrice,TotalPrice,QuantityInUnitPrice,TotalDiscountPriceItems,TotalTaxPriceItems,PayablePrice,DefinedBySystem,InsertedBy,FDateInsert,FTimeInsert,UniqueIdentifierValue,IsSend) output inserted.RowID into @outputtbl(rowid) values (@branchid,@finacial,1,1,2,@warehouseid,2,@cofferid,@personid,(select max(DocNo) from WhDocH  where Fix_WhDocType2_ID = 2 and Fix_WhDocType1_ID = 1) + 1,@date,@mdate,0,@DiscountPrice,@sum,0,0,@sum,@quantity,@disc,0,@sum,0,@userid,@date,@time,@guid,0) set @docid = (select DocNo from WhDocH where RowID = (select rowid from @outputtbl)) set @j = 1 while (@j <= @count) begin set @goodid = (select goodid from #tempstock where id = @j) set @measurementunitid = (select MeasureUnitID from #tempstock where id = @j) set @itemcount = (select [count] from #tempstock where id = @j) set @saleprice = (select saleprice from #tempstock where id = @j) set @itemprice = (select price from #tempstock where id = @j) set @itemdiscount = (select DiscountPrice from #tempstock where id = @j) set @itempurchase = (select PurchasePrice from #tempstock where id = @j) insert into WhDocD (Branch_Id,FinancialYear_ID,WhDocH_ID,Good_ID,Main_MeasureUnit_ID,MeasureUnit_ID,Fix_DiscountType_ID,InputValue,calculatedinputvalue,OutputValue,CalculatedOutputValue,UnitPrice,TotalPrice,QuantityInUnitPrice,DiscountPercent,DiscountPrice,purchaseunitprice,purchasetotalprice,taxpercent,TaxPrice,SaleUnitPrice,IsSend) values (@branchid,@finacial,(select rowid from @outputtbl),@goodid,@measurementunitid,@measurementunitid,2,@itemcount,@itemcount,0,0,@saleprice,(@itemprice * @itemcount),(@saleprice * @itemcount),0,(@itemdiscount * @itemcount),@itempurchase,(@itempurchase * @itemcount),0,0,(@saleprice * @itemcount),0) set @j = @j + 1 end insert into DocH (branch_id,Fix_DocHType_ID,financialyear_id,RelateRowID,FDate,MDate,RowDesc,UniqueIdentifierValue) output inserted.RowID into @outputtbl2(dochid) values(@branchid,4,@finacial,(select rowid from @outputtbl),@date,@mdate,'فاکتور برگشت از فروش شماره ' + CAST(@docid as nvarchar) ,@guid) insert into DocD(Branch_ID,doch_id,fix_acc1_id,fix_acc2type_id,Acc2RowID,BedPrice,BesPrice,RowDesc,IsSend)  values (@branchid,(select dochid from @outputtbl2),2,0,NULL,@sum,0,'فاکتور برگشت از فروش شماره ' + CAST(@docid as nvarchar),0) insert into DocD(Branch_ID,doch_id,fix_acc1_id,fix_acc2type_id,BedPrice,BesPrice,RowDesc,IsSend,Acc2RowID)  values (@branchid,(select dochid from @outputtbl2),3,1,0,@sum,'فاکتور برگشت از فروش شماره ' + CAST(@docid as nvarchar),0,7) insert into DocD(Branch_ID,doch_id,fix_acc1_id,fix_acc2type_id,Acc2RowID,BedPrice,BesPrice,RowDesc,IsSend)  values (@branchid,(select dochid from @outputtbl2),3,1,7,@sum,7,'فاکتور برگشت از فروش شماره ' + CAST(@docid as nvarchar)+'-مبلغ نقدي',0)	insert into DocD(Branch_ID,doch_id,fix_acc1_id,fix_acc2type_id,Acc2RowID,BedPrice,BesPrice,RowDesc,IsSend)  values (@branchid,(select dochid from @outputtbl2),7,3,@cofferid,0,@sum,'فاکتور برگشت از فروش شماره ' + CAST(@docid as nvarchar)+'-مبلغ نقدي',0) select DocNo from WhDocH where RowID = (select rowid from @outputtbl) commit transaction t1 End Try Begin Catch select Error_Message(); rollback transaction t1 return End Catch END

ALTER TABLE dbo.DocD ADD[CostCenterID] bigint NULL;

ALTER TABLE dbo.SimpleDoc ADD[CostCenterID] bigint NULL;

ALTER TABLE dbo.ChequePayH ADD[CostCenterID] bigint NULL;

ALTER TABLE dbo.CostCenterID ADD[CostCenterID] bigint NULL;

ALTER TABLE dbo.WhDocH ADD[SystemID] int NULL;

ALTER TABLE dbo.WhDocH ADD[UniqueCode] uniqueidentifier NULL;

ALTER TABLE dbo.Warehouse ADD[BranchID] int NULL;

ALTER TABLE dbo.UserInfo ADD[BranchID] int NULL;

CREATE TABLE [dbo].[BranchWarehouse]([RowID] [bigint] IDENTITY(1,1) NOT NULL,[Wid] [smallint] NULL,[Bid] [int] NULL,CONSTRAINT [PK_BranchWarehouse] PRIMARY KEY CLUSTERED ([RowID] ASC)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]) ON [PRIMARY]

ALTER TABLE [dbo].[BranchWarehouse]  WITH CHECK ADD  CONSTRAINT [FK_BranchWarehouse_Branch] FOREIGN KEY([Bid]) REFERENCES [dbo].[Branch] ([RowID])

ALTER TABLE [dbo].[BranchWarehouse] CHECK CONSTRAINT [FK_BranchWarehouse_Branch]

ALTER TABLE [dbo].[BranchWarehouse]  WITH CHECK ADD  CONSTRAINT [FK_BranchWarehouse_Warehouse] FOREIGN KEY([Wid]) REFERENCES [dbo].[Warehouse] ([RowID])

ALTER TABLE [dbo].[BranchWarehouse] CHECK CONSTRAINT [FK_BranchWarehouse_Warehouse]

CREATE TABLE [dbo].[UserWarehouse]([RowID] [bigint] IDENTITY(1,1) NOT NULL,[Wid] [smallint] NULL,[userid] [smallint] NULL,CONSTRAINT [PK_UserWarehouse] PRIMARY KEY CLUSTERED ([RowID] ASC)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]) ON [PRIMARY]

ALTER TABLE [dbo].[UserWarehouse]  WITH CHECK ADD  CONSTRAINT [FK_UserWarehouse_UserInfo] FOREIGN KEY([userid])REFERENCES [dbo].[UserInfo] ([RowID])

ALTER TABLE [dbo].[UserWarehouse] CHECK CONSTRAINT [FK_UserWarehouse_UserInfo]

ALTER TABLE [dbo].[UserWarehouse]  WITH CHECK ADD  CONSTRAINT [FK_UserWarehouse_UserInfo1] FOREIGN KEY([userid])REFERENCES [dbo].[UserInfo] ([RowID])

ALTER TABLE [dbo].[UserWarehouse] CHECK CONSTRAINT [FK_UserWarehouse_UserInfo1]

ALTER TABLE [dbo].[UserWarehouse]  WITH CHECK ADD  CONSTRAINT [FK_UserWarehouse_Warehouse] FOREIGN KEY([Wid])REFERENCES [dbo].[Warehouse] ([RowID])

ALTER TABLE [dbo].[UserWarehouse] CHECK CONSTRAINT [FK_UserWarehouse_Warehouse]

ALTER TABLE dbo.UserWarehouse ADD[Reversion] bigint NULL;

ALTER TABLE dbo.BranchWarehouse ADD[Reversion] bigint NULL;

CREATE TABLE [dbo].[BranchUser]([RowID] [bigint] IDENTITY(1,1) NOT NULL,[UserID] [smallint] NULL,[Branchid] [int] NULL,CONSTRAINT [PK_BranchUser] PRIMARY KEY CLUSTERED ([RowID] ASC)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]) ON [PRIMARY]

ALTER TABLE [dbo].[BranchUser]  WITH CHECK ADD  CONSTRAINT [FK_BranchUser_Branch] FOREIGN KEY([Branchid]) REFERENCES [dbo].[Branch] ([RowID])

ALTER TABLE [dbo].[BranchUser] CHECK CONSTRAINT [FK_BranchUser_Branch]

ALTER TABLE [dbo].[BranchUser]  WITH CHECK ADD  CONSTRAINT [FK_BranchUser_UserInfo] FOREIGN KEY([UserID]) REFERENCES [dbo].[UserInfo] ([RowID])

ALTER TABLE [dbo].[BranchUser] CHECK CONSTRAINT [FK_BranchUser_UserInfo]

ALTER TABLE dbo.Branch ADD[MainBranch] bit NULL;

delete from warehouse where type = 1

ALTER TABLE dbo.POS ADD[Branch_ID] int NULL;

ALTER TABLE [dbo].[POS]  WITH CHECK ADD  CONSTRAINT [FK_POS_Branch] FOREIGN KEY([Branch_ID])REFERENCES [dbo].[Branch] ([RowID])

ALTER TABLE [dbo].[POS] CHECK CONSTRAINT [FK_POS_Branch]

DROP VIEW [dbo].[GoodView];

CREATE VIEW [dbo].[GoodView] AS SELECT dbo.Good.RowID AS ID, dbo.Good.RowName AS ProductName, dbo.Good.RowCode AS ProductBarcode, dbo.Good.PurchasePrice, dbo.Good.SalePrice, dbo.Good.InterestRate, dbo.Good.ConsumerPrice, dbo.Good.OrderPoint, { fn IFNULL(dbo.Good.RowNameEN, '') } AS LatinProductName, { fn IFNULL(dbo.Good.RowNameAlias, '') } AS ProductNickName, dbo.Good.FirstStock, dbo.Good.DiscountPrice, dbo.Good.FDate AS DateInsert, dbo.Good.RowDesc AS Description, dbo.Good.IsHasSize, dbo.Good.IsActive, dbo.Good.MDate, dbo.Good.Fix_GoodType_ID, dbo.Good.RowCode, dbo.Good.MaxCount, dbo.Good.GoodCategory_ID AS GoodCategoryID, dbo.MeasureUnit.RowName AS SmallestUnit, MeasureUnit_1.RowName AS DefaultUnit, { fn IFNULL(dbo.DiscountGroupGood.RowName, '') } AS DiscountGroupGood, { fn IFNULL(dbo.TaxGroupGood.RowName, '') } AS TaxGroupGood, { fn IFNULL(dbo.GoodCategory.RowName, '') } AS CategoryName, dbo.Good.Reversion, { fn IFNULL(dbo.Good.MultipleSalePrice, 0) } AS MultipleSalePrice, dbo.Good.TransforRate, dbo.Good.SpecialCategory,dbo.Good.IMG_1, dbo.Good.Branch_ID FROM  dbo.Good LEFT OUTER JOIN dbo.MeasureUnit ON dbo.Good.Main_MeasureUnit_ID = dbo.MeasureUnit.RowID LEFT OUTER JOIN dbo.MeasureUnit AS MeasureUnit_1 ON dbo.Good.Default_MeasureUnit_ID = MeasureUnit_1.RowID LEFT OUTER JOIN dbo.DiscountGroupGood ON dbo.Good.DiscountGroupGood_ID = dbo.DiscountGroupGood.RowID LEFT OUTER JOIN dbo.TaxGroupGood ON dbo.Good.TaxGroupGood_ID = dbo.TaxGroupGood.RowID LEFT OUTER JOIN dbo.GoodCategory ON dbo.Good.GoodCategory_ID = dbo.GoodCategory.RowID

ALTER TABLE dbo.RestaurantTableLocations ADD[Branch_ID] int NULL;

ALTER TABLE dbo.RestaurantTables ADD[Branch_ID] int NULL;

ALTER TABLE [dbo].[RestaurantTableLocations]  WITH CHECK ADD  CONSTRAINT [FK_RestaurantTableLocations_Branch] FOREIGN KEY([RowID]) REFERENCES [dbo].[Branch] ([RowID])

ALTER TABLE [dbo].[RestaurantTableLocations] CHECK CONSTRAINT [FK_RestaurantTableLocations_Branch]

ALTER TABLE [dbo].[RestaurantTables]  WITH CHECK ADD  CONSTRAINT [FK_RestaurantTables_Branch] FOREIGN KEY([Branch_ID])REFERENCES [dbo].[Branch] ([RowID])

ALTER TABLE [dbo].[RestaurantTables] CHECK CONSTRAINT [FK_RestaurantTables_Branch]

ALTER TABLE dbo.Estate ADD[Branch_ID] int NULL;

ALTER TABLE dbo.EstateLocation ADD[Branch_ID] int NULL;

ALTER TABLE [dbo].[Estate]  WITH CHECK ADD  CONSTRAINT [FK_Estate_Branch] FOREIGN KEY([Branch_ID])REFERENCES [dbo].[Branch] ([RowID])

ALTER TABLE [dbo].[Estate] CHECK CONSTRAINT [FK_Estate_Branch]

ALTER TABLE [dbo].[EstateLocation]  WITH CHECK ADD  CONSTRAINT [FK_EstateLocation_Branch] FOREIGN KEY([Branch_ID])REFERENCES [dbo].[Branch] ([RowID])

ALTER TABLE [dbo].[EstateLocation] CHECK CONSTRAINT [FK_EstateLocation_Branch]

CREATE TABLE [dbo].[BranchAccessGood]([RowID] [int] IDENTITY(1,1) NOT NULL,[BID] [int] NULL,[MainBranch] [int] NULL,CONSTRAINT [PK_BranchAccessGood] PRIMARY KEY CLUSTERED ([RowID] ASC)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]) ON [PRIMARY]

ALTER TABLE [dbo].[GoodBranch]  WITH CHECK ADD  CONSTRAINT [FK_GoodBranch_Branch] FOREIGN KEY([BranchID])REFERENCES [dbo].[Branch] ([RowID])

ALTER TABLE [dbo].[GoodBranch] CHECK CONSTRAINT [FK_GoodBranch_Branch]

ALTER TABLE [dbo].[GoodBranch]  WITH CHECK ADD  CONSTRAINT [FK_GoodBranch_Good] FOREIGN KEY([GoodID])REFERENCES [dbo].[Good] ([RowID])

ALTER TABLE [dbo].[GoodBranch] CHECK CONSTRAINT [FK_GoodBranch_Good]

ALTER TABLE [dbo].[BranchAccessGood]  WITH CHECK ADD  CONSTRAINT [FK_BranchAccessGood_Branch] FOREIGN KEY([BID])REFERENCES [dbo].[Branch] ([RowID])

ALTER TABLE [dbo].[BranchAccessGood] CHECK CONSTRAINT [FK_BranchAccessGood_Branch]

ALTER TABLE [dbo].[BranchAccessGood]  WITH CHECK ADD  CONSTRAINT [FK_BranchAccessGood_Branch1] FOREIGN KEY([MainBranch])REFERENCES [dbo].[Branch] ([RowID])

ALTER TABLE [dbo].[BranchAccessGood] CHECK CONSTRAINT [FK_BranchAccessGood_Branch1]

CREATE TABLE [dbo].[BranchWarehouseRequestGood]([RowID] [bigint] IDENTITY(1,1) NOT NULL,[Wid] [smallint] NULL,[Bid] [int] NULL,[QuantityShow] [bit] NULL,CONSTRAINT [PK_BranchWarehouseRequestGood] PRIMARY KEY CLUSTERED ([RowID] ASC)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]) ON [PRIMARY]

ALTER TABLE [dbo].[BranchWarehouseRequestGood]  WITH CHECK ADD  CONSTRAINT [FK_BranchWarehouseRequestGood_Branch] FOREIGN KEY([Bid])REFERENCES [dbo].[Branch] ([RowID])

ALTER TABLE [dbo].[BranchWarehouseRequestGood] CHECK CONSTRAINT [FK_BranchWarehouseRequestGood_Branch]

ALTER TABLE [dbo].[BranchWarehouseRequestGood]  WITH CHECK ADD  CONSTRAINT [FK_BranchWarehouseRequestGood_Warehouse] FOREIGN KEY([Wid])REFERENCES [dbo].[Warehouse] ([RowID])

ALTER TABLE [dbo].[BranchWarehouseRequestGood] CHECK CONSTRAINT [FK_BranchWarehouseRequestGood_Warehouse]

ALTER TABLE dbo.RemittanceH ADD[Branch_ID] int NULL;

ALTER TABLE dbo.RemittanceH ADD[DocNo] bigint NULL;

ALTER TABLE dbo.RemittanceH ADD[Branch_ID] bigint NULL;

ALTER TABLE dbo.RemittanceH ADD[FromWarehouse] bigint NULL;

ALTER TABLE dbo.RemittanceH ADD[RowDesc] ntext NULL;

ALTER TABLE dbo.RemittanceD ADD[MeasurmentID] int NULL;

ALTER TABLE RemittanceH ALTER COLUMN FromWarehouse smallint; 

ALTER TABLE RemittanceH ALTER COLUMN ToWarehouse smallint; 

ALTER TABLE [dbo].[RemittanceH]  WITH CHECK ADD  CONSTRAINT [FK_RemittanceH_Branch] FOREIGN KEY([Branch_ID])REFERENCES [dbo].[Branch] ([RowID])

ALTER TABLE [dbo].[RemittanceH] CHECK CONSTRAINT [FK_RemittanceH_Branch]

ALTER TABLE [dbo].[RemittanceH]  WITH CHECK ADD  CONSTRAINT [FK_RemittanceH_Warehouse] FOREIGN KEY([FromWarehouse])REFERENCES [dbo].[Warehouse] ([RowID])

ALTER TABLE [dbo].[RemittanceH] CHECK CONSTRAINT [FK_RemittanceH_Warehouse]

ALTER TABLE [dbo].[RemittanceH]  WITH CHECK ADD  CONSTRAINT [FK_RemittanceH_Warehouse1] FOREIGN KEY([ToWarehouse])REFERENCES [dbo].[Warehouse] ([RowID])

ALTER TABLE [dbo].[RemittanceH] CHECK CONSTRAINT [FK_RemittanceH_Warehouse1]

ALTER TABLE [dbo].[RemittanceD]  WITH CHECK ADD  CONSTRAINT [FK_RemittanceD_Good] FOREIGN KEY([GoodID])REFERENCES [dbo].[Good] ([RowID])

ALTER TABLE [dbo].[RemittanceD] CHECK CONSTRAINT [FK_RemittanceD_Good]

ALTER TABLE [dbo].[RemittanceD]  WITH CHECK ADD  CONSTRAINT [FK_RemittanceD_MeasureUnit] FOREIGN KEY([MeasurmentID])REFERENCES [dbo].[MeasureUnit] ([RowID])

ALTER TABLE [dbo].[RemittanceD] CHECK CONSTRAINT [FK_RemittanceD_MeasureUnit]

ALTER TABLE dbo.RemittanceH ADD[FinancialID] smallint NULL;

insert into Fix_AppObject (RowID,Fix_AppObjectType_ID,RowName) values (8015,8,N'سایر مجوزها - امکان تخصیص انبار به شعبه')
    
insert into Fix_AppObject (RowID,Fix_AppObjectType_ID,RowName) values (8016,8,N'سایر مجوزها - امکان تخصیص کالاها به شعبه')
	  
insert into Fix_AppObject (RowID,Fix_AppObjectType_ID,RowName) values (8017,8,N'سایر مجوزها - امکان تخصیص انبار دخواست کالا به شعبه')
	   
insert into Fix_AppObject (RowID,Fix_AppObjectType_ID,RowName) values (2056,2,N'عملیات - وام')
	   	  		    
insert into Fix_AppObject (RowID,Fix_AppObjectType_ID,RowName) values (2057,2,N'عملیات - وام ها - افزودن وام')
			 
insert into Fix_AppObject (RowID,Fix_AppObjectType_ID,RowName) values (2058,2,N'عملیات - وام ها -  مدیریت وام')
	   
insert into Fix_AppObject (RowID,Fix_AppObjectType_ID,RowName) values (5094,5,N'مجوز افزودن - امکان افزودن وام')
		  
insert into Fix_AppObject (RowID,Fix_AppObjectType_ID,RowName) values (5094,5,N'مجوز افزودن - امکان افزودن وام')
		    
insert into Fix_AppObject (RowID,Fix_AppObjectType_ID,RowName) values (6094,5,N'مجوز ویرایش - امکان ویرایش وام')
			 	
insert into Fix_AppObject (RowID,Fix_AppObjectType_ID,RowName) values (7094,5,N'مجوز حذف - امکان حذف وام')

CREATE TABLE [dbo].[ShiftRemittance]([RSID] [bigint] IDENTITY(1,1) NOT NULL,[ShiftID] [int] NULL,[RMID] [bigint] NULL,CONSTRAINT [PK_ShiftRemittance] PRIMARY KEY CLUSTERED ([RSID] ASC)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]) ON [PRIMARY]

ALTER TABLE [dbo].[ShiftRemittance]  WITH CHECK ADD  CONSTRAINT [FK_ShiftRemittance_RemittanceH] FOREIGN KEY([RMID])REFERENCES [dbo].[RemittanceH] ([RowID])

ALTER TABLE [dbo].[ShiftRemittance] CHECK CONSTRAINT [FK_ShiftRemittance_RemittanceH]

ALTER TABLE [dbo].[ShiftRemittance]  WITH CHECK ADD  CONSTRAINT [FK_ShiftRemittance_ShiftDocH] FOREIGN KEY([ShiftID])REFERENCES [dbo].[ShiftDocH] ([RowID])

ALTER TABLE [dbo].[ShiftRemittance] CHECK CONSTRAINT [FK_ShiftRemittance_ShiftDocH]

ALTER TABLE dbo.ProductionFormula ADD[AutoDoc] bit NULL;

ALTER TABLE dbo.ProductionFormulaDoc ADD[AutoDoc] bit NULL;

ALTER TABLE dbo.ManufactureDocH ADD[WhID] int NULL;

ALTER TABLE dbo.ShiftDocH ADD[RequestID] int NULL;

DROP VIEW [dbo].[MyHirarchi];

CREATE VIEW [dbo].[MyHirarchi] AS WITH MyCTE AS (SELECT RowID, RowName, FatherID, Branch_ID, 1 AS [Level], CAST(RowID AS nvarchar(100)) AS Hierarchy FROM dbo.ExpenseType AS t1 WHERE (FatherID = - 1) UNION ALL SELECT t2.RowID, t2.RowName, t2.FatherID, t2.Branch_ID, M.[Level] + 1 AS [Level], CAST(',' + M.Hierarchy + ',' + CAST(t2.RowID AS nvarchar) + ',' AS nvarchar(100)) AS Hierarchy FROM  dbo.ExpenseType AS t2 INNER JOIN MyCTE AS M ON t2.FatherID = M.RowID) SELECT RowID, RowName, FatherID, Branch_ID, [Level], Hierarchy FROM MyCTE AS MyCTE_1

ALTER TABLE dbo.ShiftDocH ADD[AcceptorID] int NULL;

DROP VIEW SimpleDocsDetails

CREATE VIEW [dbo].[SimpleDocsDetails] AS SELECT doc.RowID, doc.FDate, doc.MDate,doc.FinancialYear_ID, doc.DocPrice, type.RowName AS DocType, doc.Regard, doc.RowDesc AS Description, doc.Fix_SimpleDocType_ID AS SimpleDocType_ID, CASE WHEN type.RowID = 1 OR type.RowID = 4 OR type.RowID = 6 OR type.RowID = 17 OR type.RowID = 20 THEN CofferDebt.RowName WHEN type.RowID = 2 OR type.RowID = 3 OR type.RowID = 7 OR type.RowID = 14 OR type.RowID = 18 OR type.RowID = 22 OR type.RowID = 23 OR type.RowID = 25 OR type.RowID = 34 OR type.RowID = 36 THEN PersonDebt.RowName WHEN type.RowID = 5 OR type.RowID = 8 OR type.RowID = 9 OR type.RowID = 13 OR type.RowID = 19 OR type.RowID = 21 OR type.RowID = 27 THEN BankDebt.RowName WHEN type.RowID = 10 OR type.RowID = 11 OR type.RowID = 15 OR type.RowID = 29 THEN ExpenseType.RowName WHEN type.RowID = 16 THEN 'فروش' WHEN type.RowID = 26 OR type.RowID = 28 OR type.RowID = 30 OR type.RowID = 32 OR type.RowID = 33 OR type.RowID = 35 THEN TreasuryDebt.RowName ELSE '' END AS Debtor, CASE WHEN type.RowID = 2 OR type.RowID = 3 OR type.RowID = 5 OR type.RowID = 10 OR type.RowID = 17 OR type.RowID = 22 OR type.RowID = 30 THEN CofferCredit.RowName WHEN type.RowID = 1 OR type.RowID = 4 OR type.RowID = 8 OR type.RowID = 13 OR type.RowID = 16 OR type.RowID = 20 OR type.RowID = 21 OR type.RowID = 26 OR type.RowID = 33 OR type.RowID = 35 THEN PersonCredit.RowName WHEN type.RowID = 6 OR type.RowID = 7 OR type.RowID = 9 OR type.RowID = 11 OR type.RowID = 14 OR type.RowID = 23 OR type.RowID = 28 THEN BankCredit.RowName WHEN type.RowID = 15 THEN 'چک' WHEN type.RowID = 25 OR type.RowID = 27 OR type.RowID = 29 OR type.RowID = 32 OR type.RowID = 34 OR type.RowID = 36 THEN TreasuryCredit.RowName WHEN type.RowID = 18 OR type.RowID = 19 THEN IncomeType.RowName ELSE '' END AS Creditor,doc.Branch_ID FROM dbo.SimpleDoc AS doc INNER JOIN dbo.Fix_SimpleDocType AS type ON doc.Fix_SimpleDocType_ID = type.RowID LEFT OUTER JOIN dbo.Coffer AS CofferDebt ON doc.AccID_Debtor = CofferDebt.RowID LEFT OUTER JOIN dbo.Person AS PersonDebt ON doc.AccID_Debtor = PersonDebt.RowID LEFT OUTER JOIN dbo.BankAccount AS BankDebt ON doc.AccID_Debtor = BankDebt.RowID LEFT OUTER JOIN dbo.ExpenseType ON doc.AccID_Debtor = dbo.ExpenseType.RowID LEFT OUTER JOIN dbo.Treasury AS TreasuryDebt ON doc.AccID_Debtor = TreasuryDebt.RowID LEFT OUTER JOIN dbo.IncomeType ON doc.AccID_Creditor = dbo.IncomeType.RowID LEFT OUTER JOIN dbo.Coffer AS CofferCredit ON doc.AccID_Creditor = CofferCredit.RowID LEFT OUTER JOIN dbo.Person AS PersonCredit ON doc.AccID_Creditor = PersonCredit.RowID LEFT OUTER JOIN dbo.BankAccount AS BankCredit ON doc.AccID_Creditor = BankCredit.RowID LEFT OUTER JOIN dbo.Treasury AS TreasuryCredit ON doc.AccID_Creditor = TreasuryCredit.RowID

ALTER TABLE dbo.AppSettings ADD[Branch_ID] int NULL;

ALTER TABLE dbo.AppSettings ADD[MainSetting] bit NULL;

ALTER TABLE dbo.GoodMeasureUnit ADD[ConsumerPrice] money NULL;

ALTER TABLE dbo.ShiftDocH ADD[SendDate] datetime NULL;

ALTER TABLE dbo.ShiftDocH ADD[SendFdate] nvarchar(50) NULL;

ALTER TABLE dbo.ShiftDocH ADD[ReciveDate] datetime NULL;

ALTER TABLE dbo.ShiftDocH ADD[REciveFdate] nvarchar(50) NULL;

ALTER TABLE [dbo].[ShiftDocH]  WITH CHECK ADD  CONSTRAINT [FK_ShiftDocH_UserInfo] FOREIGN KEY([AcceptorID])REFERENCES [dbo].[UserInfo] ([RowID])

ALTER TABLE [dbo].[ShiftDocH] CHECK CONSTRAINT [FK_ShiftDocH_UserInfo]

ALTER TABLE dbo.ProformaH ADD[Fix_ProformaType] tinyint NULL;

ALTER TABLE dbo.DiscountGroupGood ADD[Reversion] bigint NULL;

ALTER TABLE dbo.TaxGroupGood ADD[Reversion] bigint NULL;

ALTER TABLE dbo.Producers ADD[Reversion] bigint NULL;

ALTER TABLE dbo.Systems ADD[LastOnline] datetime NULL;

ALTER TABLE dbo.Systems ADD[LastOffline] datetime NULL;

ALTER TABLE dbo.SalePriceType ADD[Reversion] bigint NULL;

ALTER TABLE dbo.BranchAccessGood ADD[Reversion] bigint NULL;

ALTER TABLE dbo.DiscountGroupBranchGoods ADD[Reversion] bigint NULL;

ALTER TABLE dbo.DiscountGroupPersonGoods ADD[Reversion] bigint NULL;

ALTER TABLE dbo.POS_Result ADD[ServerID] int NULL;

ALTER TABLE dbo.POS_Result ADD[ClientID] int NULL;

ALTER TABLE dbo.ProductionFormula ADD[Reversion] bigint NULL;

ALTER TABLE dbo.ProductionFormula ADD[Reversion] int NULL;

ALTER TABLE dbo.ProductionFormula ADD[Reversion] int NULL;

ALTER TABLE dbo.ProductionFormulaDoc ADD[Reversion] bigint NULL;

ALTER TABLE dbo.ProductionFormulaDoc ADD[Reversion] int NULL;

ALTER TABLE dbo.ProductionFormulaDoc ADD[Reversion] int NULL;

ALTER TABLE dbo.ExpenseType ADD[Reversion] bigint NULL;

ALTER TABLE dbo.WhDocH ADD[ServerID] int NULL;

ALTER TABLE dbo.POS_Result ADD[ISSend] tinyint NULL;

ALTER TABLE dbo.WhDocH ADD[DocNoOffline] bigint NULL;

DROP PROCEDURE warehousecount;

CREATE PROCEDURE [dbo].[warehousecount](@wid nvarchar) AS BEGIN begin transaction t1 create table #tempstock([financialid] [smallint],[RowID] [int],[stock] [float],[Good_ID] [int],[FinancialYear_ID] [smallint]) begin try insert into #tempstock SELECT  TOP (100) PERCENT dbo.WarehouseGoodView.financialid, dbo.WarehouseGoodView.RowID, { fn IFNULL(dbo.WhdocDWarehouse.Stock, 0) } AS stock, dbo.WhdocDWarehouse.Good_ID, dbo.WhdocDWarehouse.FinancialYear_ID FROM dbo.WarehouseGoodView LEFT OUTER JOIN dbo.WhdocDWarehouse ON dbo.WhdocDWarehouse.Good_ID = dbo.WarehouseGoodView.RowID AND dbo.WarehouseGoodView.financialid = dbo.WhdocDWarehouse.FinancialYear_ID where WarehouseGoodView.WarehouseID in (@wid) GROUP BY dbo.WarehouseGoodView.financialid, dbo.WarehouseGoodView.RowID, dbo.WhdocDWarehouse.Stock, dbo.WhdocDWarehouse.Good_ID, dbo.WhdocDWarehouse.FinancialYear_ID SELECT dbo.Good.RowCode AS ProductBarcode, dbo.Good.RowName AS ProductName, { fn IFNULL(dbo.Good.RowNameEN, '') } AS LatinProductName, { fn IFNULL(dbo.Good.RowNameAlias, '') } AS ProductNickName, dbo.Good.RowID AS ID, dbo.MeasureUnit.RowName AS SmallestUnit, { fn IFNULL(dbo.GoodCategory.RowName, '') } AS CategoryName, dbo.Good.SalePrice, dbo.Good.PurchasePrice, #tempstock.stock * dbo.Good.SalePrice AS ValueBasedOnSale, #tempstock.stock * dbo.Good.PurchasePrice AS ValueBasedOnPurchase, { fn IFNULL(#tempstock.stock, 0) } AS Quantity,dbo.AveragePrice.PurchaseAverage, #tempstock.stock * dbo.AveragePrice.PurchaseAverage AS ValueBasedOnAverage, dbo.Good.OrderPoint, #tempstock.financialid, #tempstock.financialid AS Expr1, #tempstock.RowID, dbo.Good.IsActive FROM dbo.Good INNER JOIN dbo.MeasureUnit ON dbo.Good.Main_MeasureUnit_ID = dbo.MeasureUnit.RowID LEFT OUTER JOIN #tempstock ON dbo.Good.RowID = #tempstock.RowID LEFT OUTER JOIN dbo.AveragePrice ON dbo.Good.RowID = dbo.AveragePrice.GoodID LEFT OUTER JOIN dbo.GoodCategory ON dbo.Good.GoodCategory_ID = dbo.GoodCategory.RowID commit transaction t1 end try begin catch select Error_Message();rollback transaction t1 return end catch END

ALTER TABLE dbo.DeleteInfo ADD[Flags] bit NULL;

ALTER TABLE dbo.ProductionFormula ADD[ClientID] int NULL;

ALTER TABLE dbo.ProductionFormula ADD[ServerID] int NULL;

ALTER TABLE dbo.ProductionFormulaDoc ADD[ClientID] int NULL;

ALTER TABLE dbo.ProductionFormulaDoc ADD[ServerID] int NULL;

ALTER TABLE dbo.GoodPurchasePriceChanges ADD[Reversion] bigint NULL;

ALTER TABLE dbo.ChangePrice ADD[Reversion] bigint NULL;

update CodingSystems set Reversion = 2 where Reversion is null

update Warehouse set Reversion = 2 where Reversion is null

update AppSettings set Reversion = 2 where Reversion is null

update Producers set Reversion = 2 where Reversion is null

update Coffer set Reversion = 2 where Reversion is null

update BankAccount set Reversion = 2 where Reversion is null

update FinancialYear set Reversion = 2 where Reversion is null

update MeasureUnit set Reversion = 2 where Reversion is null

update GoodCategory set Reversion = 2 where Reversion is null

update Province set Reversion = 2 where Reversion is null

update County set Reversion = 2 where Reversion is null

update City set Reversion = 2 where Reversion is null

update FinancialYear set Reversion = 2 where Reversion is null

update SalePriceType set Reversion = 2 where Reversion is null

update DiscountGroupGood set Reversion = 2 where Reversion is null

update UserInfo set Reversion = 2 where Reversion is null

update AppUserSettings set Reversion = 2 where Reversion is null

update Table_Discount set Reversion = 2 where Reversion is null

update POS set Reversion = 2 where Reversion is null

update Person set Reversion = 2 where Reversion is null

update DiscountGroupBranch set Reversion = 2 where Reversion is null

update Good set Reversion = 2 where Reversion is null

update GoodCodingSystems set Reversion = 2 where Reversion is null

update GoodSalePrice set Reversion = 2 where Reversion is null

update GoodMeasureUnit set Reversion = 2 where Reversion is null

update GoodMeasureUnitCodingSystems set Reversion = 2 where Reversion is null

update BranchAccessGood set Reversion = 2 where Reversion is null

update DiscountGroupBranchGoods set Reversion = 2 where Reversion is null

update DiscountGroupPersonGoods set Reversion = 2 where Reversion is null

update ExpenseType set Reversion = 2 where Reversion is null

update ProductionFormulaDoc set Reversion = 2 where Reversion is null

update DeleteInfo set Reversion = 2 where Reversion is null

update PersonCategory set Reversion = 2 where Reversion is null

update DiscountGroupPerson set Reversion = 2 where Reversion is null

update TaxGroupGood set Reversion = 2 where Reversion is null

update Fix_Reports set Reversion = 2 where Reversion is null

delete from ChangePrice where Reversion is null

update WhDocH set UniqueCode = NEWID() where UniqueCode is null

CREATE UNIQUE NONCLUSTERED INDEX [NonClusteredIndex-20230729-105804] ON [dbo].[WhDocH]([UniqueCode] ASC)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, IGNORE_DUP_KEY = OFF, DROP_EXISTING = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON)

ALTER TABLE dbo.POS_Result ADD[ISSend] tinyint NULL;

ALTER PROCEDURE [dbo].[sp_returngood](@list goodlistnew READONLY,@clientrow bigint,@systemid bigint,@uid int,@date nvarchar(50),@mdate datetime,@time nvarchar(10),@guid UNIQUEIDENTIFIER,@sum decimal,@quantity decimal,@disc DECIMAL,@DiscountPrice DECIMAL,@pid INT,@bid int,@finacial int, @branchid as int) AS BEGIN begin transaction t1 declare @outputtbl table (rowid int) declare @outputtbl2 table (dochid int) declare @count as int ,@i as int,@warehouseid as int,@cofferid as int,@personid as int,@userid as int,@docid as int,@j as int,@goodid as int,@measurementunitid as int,@itemcount as FLOAT,@saleprice as decimal,@itemprice as decimal,@itemquantity as decimal,@itemdiscount as decimal,@itempurchase as decimal CREATE TABLE #tempstock([did] [int],[goodid] [int],[goodname] [nvarchar](250),[barcode] [nvarchar](100),[MeasureUnit] [nvarchar](200),[MeasureUnitID] [int],[PurchasePrice] [decimal],[saleprice] [decimal],[sumPurchasePrice] [decimal],[price] [decimal],[DiscountPrice] [decimal],[count] [float], [calculatedcount] [float],[sumafterDiscountPrice] [decimal],[sumbeforeDiscountPrice] [decimal],[id] [int] identity) Begin Try set @branchid = @bid set @warehouseid = (select Warehouse_ID from AppUserSettings where UserInfo_ID = @uid) set @cofferid = (select Coffer_ID from AppUserSettings where UserInfo_ID = @uid) IF(@pid=-1) BEGIN set @personid = (select  DefaultPerson_ID_FactorForosh  from AppUserSettings where UserInfo_ID = @uid) END ELSE BEGIN SET @personid=@pid END set @userid = @uid insert into #tempstock select * from @list set @i = 1 set @count = (select COUNT(*) from #tempstock) insert into WhDocH (SystemID,ClientVersion,UniqueCode,branch_id,FinancialYear_ID,Fix_RecordStatusType_ID,Fix_WhDocType1_ID,Fix_WhDocType2_ID,Warehouse_ID,Fix_DiscountType_ID,Coffer_ID,Person_ID,DocNo,FDate,MDate,DiscountPercent,DiscountPrice,SettlePrice,TaxPercent,TaxPrice,TotalPrice,QuantityInUnitPrice,TotalDiscountPriceItems,TotalTaxPriceItems,PayablePrice,DefinedBySystem,InsertedBy,FDateInsert,FTimeInsert,UniqueIdentifierValue,IsSend) output inserted.RowID into @outputtbl(rowid) values (@clientrow,@systemid,@guid,@branchid,@finacial,1,1,2,@warehouseid,2,@cofferid,@personid,(select max(DocNo) from WhDocH  where Fix_WhDocType2_ID = 2 and Fix_WhDocType1_ID = 1) + 1,@date,@mdate,0,@DiscountPrice,@sum,0,0,@sum,@quantity,@disc,0,@sum,0,@userid,@date,@time,@guid,0) set @docid = (select DocNo from WhDocH where RowID = (select rowid from @outputtbl)) set @j = 1 while (@j <= @count) begin set @goodid = (select goodid from #tempstock where id = @j) set @measurementunitid = (select MeasureUnitID from #tempstock where id = @j) set @itemcount = (select [count] from #tempstock where id = @j) set @saleprice = (select saleprice from #tempstock where id = @j) set @itemprice = (select price from #tempstock where id = @j) set @itemdiscount = (select DiscountPrice from #tempstock where id = @j) set @itempurchase = (select PurchasePrice from #tempstock where id = @j) insert into WhDocD (Branch_Id,FinancialYear_ID,WhDocH_ID,Good_ID,Main_MeasureUnit_ID,MeasureUnit_ID,Fix_DiscountType_ID,InputValue,calculatedinputvalue,OutputValue,CalculatedOutputValue,UnitPrice,TotalPrice,QuantityInUnitPrice,DiscountPercent,DiscountPrice,purchaseunitprice,purchasetotalprice,taxpercent,TaxPrice,SaleUnitPrice,IsSend) values (@branchid,@finacial,(select rowid from @outputtbl),@goodid,@measurementunitid,@measurementunitid,2,@itemcount,@itemcount,0,0,@saleprice,(@itemprice * @itemcount),(@saleprice * @itemcount),0,(@itemdiscount * @itemcount),@itempurchase,(@itempurchase * @itemcount),0,0,(@saleprice * @itemcount),0) set @j = @j + 1 end insert into DocH (branch_id,Fix_DocHType_ID,financialyear_id,RelateRowID,FDate,MDate,RowDesc,UniqueIdentifierValue) output inserted.RowID into @outputtbl2(dochid) values(@branchid,4,@finacial,(select rowid from @outputtbl),@date,@mdate,'فاکتور برگشت از فروش شماره ' + CAST(@docid as nvarchar) ,@guid) insert into DocD(Branch_ID,doch_id,fix_acc1_id,fix_acc2type_id,Acc2RowID,BedPrice,BesPrice,RowDesc,IsSend)  values (@branchid,(select dochid from @outputtbl2),2,0,NULL,@sum,0,'فاکتور برگشت از فروش شماره ' + CAST(@docid as nvarchar),0) insert into DocD(Branch_ID,doch_id,fix_acc1_id,fix_acc2type_id,BedPrice,BesPrice,RowDesc,IsSend,Acc2RowID)  values (@branchid,(select dochid from @outputtbl2),3,1,0,@sum,'فاکتور برگشت از فروش شماره ' + CAST(@docid as nvarchar),0,7) insert into DocD(Branch_ID,doch_id,fix_acc1_id,fix_acc2type_id,Acc2RowID,BedPrice,BesPrice,RowDesc,IsSend)  values (@branchid,(select dochid from @outputtbl2),3,1,7,@sum,7,'فاکتور برگشت از فروش شماره ' + CAST(@docid as nvarchar)+'-مبلغ نقدي',0)	insert into DocD(Branch_ID,doch_id,fix_acc1_id,fix_acc2type_id,Acc2RowID,BedPrice,BesPrice,RowDesc,IsSend)  values (@branchid,(select dochid from @outputtbl2),7,3,@cofferid,0,@sum,'فاکتور برگشت از فروش شماره ' + CAST(@docid as nvarchar)+'-مبلغ نقدي',0) select DocNo from WhDocH where RowID = (select rowid from @outputtbl) commit transaction t1 End Try Begin Catch select Error_Message(); rollback transaction t1 return End Catch END

update Branch set MainBranch = 1 where (select COUNT(*) from branch) = 1

ALTER TABLE dbo.Table_RGfactor ADD[Reversion] bigint NULL;

ALTER TABLE dbo.Table_RGfactor ADD[issend] tinyint NULL;

update Table_RGfactor set reversion = 2 where reversion is null

ALTER TABLE dbo.Table_RGfactor ADD[MainSystem] int NULL;

ALTER TABLE dbo.Table_RGfactor ADD[ReturnSystem] int NULL;

ALTER TABLE dbo.AppSettings ADD[Offlineurl] ntext NULL;

ALTER TABLE dbo.Branch ADD[ApiKey] ntext NULL;

ALTER TABLE dbo.Person ADD[HyperPerson] bit NULL;

update Person set HyperPerson = 0 where HyperPerson is null

ALTER TABLE dbo.ShiftDocH alter column AcceptorID smallint

ALTER PROCEDURE [dbo].[sp_UseStringList](@list goodlistnew READONLY,@clientrow bigint,@systemid int,@uid int,@date nvarchar(50),@mdate datetime,@time nvarchar(10),@guid UNIQUEIDENTIFIER,@sumincrease decimal,@sumdecrease decimal,@sum decimal,@cashpay decimal,@quantity decimal,@disc DECIMAL,@DiscountPrice DECIMAL,@pid INT,@bid int,@plist paylist readonly,@alist Additionals readonly,@dlist Decreases readonly) AS BEGIN begin transaction t1 declare @outputtbl table (rowid int) declare @outputtbl2 table (dochid int) declare @outputtbl3 table (rowid int) declare @outputtbl4 table (rowid int) declare @outputtbl5 table (rowid int)  declare @outputtbl6 table (rowid int)  declare @manufactcount as int,@manufactorexoence as int,@p as int,@l as int,@consumevalue as decimal,@goodrow as int,@accrid as int,@doc1 as int,@doc2 as int,@doc3 as int,@docexid as int,@err as int,@numbermanufac as int,@auto as bit,@chancesystem as bit,@version as bigint, @count as int , @i as int, @countofstock as float,@stcks as float,@branchid as int,@typetasvieh as bit,@bankid as int,@finanal as int,@warehouseid as int,@adict as int,@diact as int, @cofferid as int,@personid as int, @userid as int, @docid as int, @j as int,@goodid as int, @measurementunitid as int,@itemcount as FLOAT,@averages as int, @itemcalculatedcount as FLOAT, @saleprice as decimal, @itemprice as decimal, @itemquantity as decimal, @itemdiscount as decimal, @itempurchase as decimal,@k as int,@a as int,@d as int, @browid as int,@spricebank as decimal  CREATE TABLE #tempstock ([did] [int],[goodid] [int],[goodname] [nvarchar](250),[barcode] [nvarchar](100),[MeasureUnit] [nvarchar](200),[MeasureUnitID] [int],[PurchasePrice] [decimal],[saleprice] [decimal],[sumPurchasePrice] [decimal],[price] [decimal], [DiscountPrice] [decimal],[count] [float],[calculatedcount] [float],[sumafterDiscountPrice] [decimal],[sumbeforeDiscountPrice] [decimal],[id] [int] identity ) CREATE TABLE #tempstock2 ([RowID] [int],[Branch_ID] [int],[Product_Good_ID] [int],[Primary_Good_ID] [int],[ConsumeValue] [float],[RowDesc] [nvarchar](500),[InsertedBy] [smallint],[UpdatedBy] [smallint],[FDateInsert] [char](10),[FDateUpdate] [char](10),[FTimeInsert] [char](5),[FTimeUpdate] [char](5),[InsertServerDateTime] [datetime],[UpdateServerDateTime] [datetime],[RowUpdateVersion] [smallint],[UniqueIdentifierValue] [uniqueidentifier],[IsSend] [tinyint],[CurrentPrice] [money],[TypePrice] [smallint],[AutoDoc] [bit]) CREATE TABLE #tempstock3 ([RowID] [int],[Branch_ID] [int],[Product_Good_ID] [int],[Primary_Doc_ID] [int],[ConsumeValue] [float],[RowDesc] [nvarchar](500),[InsertedBy] [smallint],[UpdatedBy] [smallint],[FDateInsert] [char](10),[FDateUpdate] [char](10),[FTimeInsert] [char](5),[FTimeUpdate] [char](5),[InsertServerDateTime] [datetime],[UpdateServerDateTime] [datetime],[RowUpdateVersion] [smallint],[UniqueIdentifierValue] [uniqueidentifier],[IsSend] [tinyint],[CurrentPrice] [money],[TypePrice] [smallint],[Doc_Account] [bigint],[Doc_Acc1] [int],[Doc_Acc2] [int],[AutoDoc] [bit])  Begin Try set @accrid=3 set @branchid = @bid set @version = (select iif(max(Reversion) is null,1,max(Reversion)) from WhDocH) set @finanal = (select FinancialYear_ID from appsettings) set @warehouseid = (select Warehouse_ID from AppUserSettings where UserInfo_ID = @uid)  set @cofferid = (select  Coffer_ID from AppUserSettings where UserInfo_ID = @uid) IF(@pid=-1)BEGIN set @personid = (select  DefaultPerson_ID_FactorForosh  from AppUserSettings where UserInfo_ID = @uid) END ELSE BEGIN SET @personid=@pid END set @userid =  @uid insert into #tempstock select * from @list  set @i = 1 set @count = (select COUNT(*) from #tempstock) insert into WhDocH (ClientRowID,SystemID,times,branch_id,FinancialYear_ID,Fix_RecordStatusType_ID,Fix_WhDocType1_ID,Fix_WhDocType2_ID,Warehouse_ID,Fix_DiscountType_ID,Coffer_ID,Person_ID,DocNo,FDate,MDate,DiscountPercent,DiscountPrice,SettlePrice,TaxPercent,TaxPrice,TotalPrice,QuantityInUnitPrice,TotalDiscountPriceItems,TotalTaxPriceItems,PayablePrice,DefinedBySystem,InsertedBy,FDateInsert,FTimeInsert,UniqueIdentifierValue,IsSend,IsSettled,SumPercentPrice,TotalIncreasePrice,TotalDecreasePrice,reversion,UniqueCode)  output inserted.RowID into @outputtbl(rowid) values (@clientrow,@systemid,@time,@branchid,@finanal,1,2,21,@warehouseid,2,@cofferid,@personid,(select COALESCE(max(docno), 0) from WhDocH where Fix_WhDocType2_ID = 21) + 1,@date,@mdate,0,@DiscountPrice,@cashpay,0,0,@sum,@quantity,@disc,0,@sum-@DiscountPrice,0,@userid,@date,@time,@guid,0,0,0,@sumincrease,@sumdecrease,@version,@guid)  set @docid = (select DocNo from WhDocH where RowID = (select rowid from @outputtbl) and Fix_WhDocType2_ID = 21)  set @j = 1  while (@j <= @count) begin set @goodid = (select goodid from #tempstock where id = @j) set @measurementunitid = (select MeasureUnitID from #tempstock where id = @j) set @itemcount = (select [count] from #tempstock where id = @j) set @itemcalculatedcount = (select [calculatedcount] from #tempstock where id = @j) set @saleprice = (select saleprice from #tempstock where id = @j) set @itemprice = (select price from #tempstock where id = @j) set @itemdiscount = (select DiscountPrice from #tempstock where id = @j) set @itempurchase = (select PurchasePrice from #tempstock where id = @j) set @averages = (select PurchaseAverage from AveragePrice where GoodID = @goodid) set @auto = (select top(1) AutoDoc from ProductionFormula where ProductionFormula.Product_Good_ID = @goodid) if(@auto = 1) begin set @numbermanufac = (select COALESCE(max(docno), 0) from ManufactureDocH )+ 1 insert into ManufactureDocH(WhID,Branch_ID,FinancialYear_ID,Fix_RecordStatusType_ID,Warehouse_ID,DocNo,MDate,FDate,InsertedBy,InsertServerDateTime,FDateInsert,FTimeInsert,RowUpdateVersion) output inserted.RowID into @outputtbl3(rowid) values((select top(1) rowid from @outputtbl),@branchid,@finanal,2,@warehouseid,@numbermanufac,GETDATE(),@date,@userid,GETDATE(),@date,@time,1) set @err = 1 insert into ManufactureDocD (Branch_ID,FinancialYear_ID,ManufactureDocH_ID,Good_ID,Main_MeasureUnit_ID,MeasureUnit_ID,Quantity,CalculatedQuantity) values (@branchid,@finanal,(select top(1) rowid from @outputtbl3),@goodid,@measurementunitid,@measurementunitid,@itemcount,@itemcalculatedcount) insert into WhDocH (ManufactureDocH_ID,times,branch_id,FinancialYear_ID,Fix_RecordStatusType_ID,Fix_WhDocType1_ID,Fix_WhDocType2_ID,Warehouse_ID,DocNo,FDate,MDate,TotalPrice,InsertedBy,FDateInsert,FTimeInsert,UniqueIdentifierValue,IsSend,IsSettled,reversion,UniqueCode) output inserted.RowID into @outputtbl4(rowid) values ((select top(1) rowid from @outputtbl3),@time,@branchid,@finanal,1,1,3,@warehouseid,(select top(1) DocNo from ManufactureDocH where RowID =(select top(1) rowid from @outputtbl3)) + 1,@date,@mdate,@itemcalculatedcount * @itempurchase,@userid,@date,@time,@guid,0,0,@version,@guid)  insert into WhDocD (Branch_Id,FinancialYear_ID,WhDocH_ID,Good_ID,Main_MeasureUnit_ID,MeasureUnit_ID,InputValue,calculatedinputvalue,OutputValue,CalculatedOutputValue,UnitPrice,TotalPrice,purchaseunitprice,purchasetotalprice,IsSend) values (@branchid,@finanal,(select top(1) rowid from @outputtbl4),@goodid,@measurementunitid,@measurementunitid,@itemcount,@itemcalculatedcount,0,0,@itempurchase,(@itempurchase * @itemcount),@itempurchase,(@itempurchase * @itemcount),0) set @manufactcount = (select count(*) from ProductionFormula where Product_Good_ID = @goodid) set @manufactorexoence = (select count(*) from ProductionFormulaDoc where Product_Good_ID = @goodid) set @p = 1 set @l = 1 if(@manufactcount > 0) begin insert into #tempstock2 select * from ProductionFormula where Product_Good_ID = @goodid insert into WhDocH (ManufactureDocH_ID,times,branch_id,FinancialYear_ID,Fix_RecordStatusType_ID,Fix_WhDocType1_ID,Fix_WhDocType2_ID,Warehouse_ID,DocNo,FDate,MDate,TotalPrice,InsertedBy,FDateInsert,FTimeInsert,UniqueIdentifierValue,IsSend,IsSettled,reversion,UniqueCode) output inserted.RowID into @outputtbl5(rowid) values ((select top(1) rowid from @outputtbl3),@time,@branchid,@finanal,1,2,24,@warehouseid,(select top(1) DocNo from ManufactureDocH where RowID =(select top(1) rowid from @outputtbl3)) + 1,@date,@mdate,@sum,@userid,@date,@time,@guid,0,0,@version,@guid) while(@manufactcount >= @p) begin set @goodrow = (Select top(1) Primary_Good_ID From (Select Row_Number() Over (Order By Primary_Good_ID) As RowNum, * From #tempstock2) t2 Where RowNum = @p) set @consumevalue = (select top(1) ConsumeValue from ProductionFormula where Primary_Good_ID = @goodrow  and Product_Good_ID = @goodid) insert into WhDocD (Branch_Id,FinancialYear_ID,WhDocH_ID,Good_ID,Main_MeasureUnit_ID,MeasureUnit_ID,InputValue,calculatedinputvalue,OutputValue,CalculatedOutputValue,UnitPrice,TotalPrice,purchaseunitprice,purchasetotalprice,IsSend) values (@branchid,@finanal,(select top(1) rowid from @outputtbl4),@goodrow,@measurementunitid,@measurementunitid,0,0,@itemcount * @consumevalue,@itemcalculatedcount * @consumevalue,@itempurchase,(@itempurchase * @itemcalculatedcount * @consumevalue),@itempurchase,(@itempurchase * @itemcalculatedcount * @consumevalue),0) set @p = (@p + 1) end end if(@manufactorexoence > 0) begin insert into #tempstock3 select * from ProductionFormulaDoc where Product_Good_ID = @goodid insert into DocH (FinancialYear_ID,Branch_ID,Fix_DocHType_ID,FDate,MDate,RelateRowID,RowDesc) output inserted.RowID into @outputtbl5(rowid)  values (@finanal,@branchid,26,@date,@mdate,(select top(1) rowid from @outputtbl3),N'هزینه بابت سند تولید') while(@manufactorexoence >= @l) begin set @docexid =(Select top(1) Primary_Doc_ID From (Select Row_Number() Over (Order By Primary_Doc_ID) As RowNum, * From #tempstock3) t2 Where RowNum = @l) set @consumevalue = (Select top(1) ConsumeValue From (Select Row_Number() Over (Order By Primary_Doc_ID) As RowNum, * From #tempstock3) t2 Where RowNum = @l) set @doc1 =  (Select top(1) Doc_Acc1 From (Select Row_Number() Over (Order By Primary_Doc_ID) As RowNum, * From #tempstock3) t2 Where RowNum = @l) set @doc2 =  (Select top(1) Doc_Acc2 From (Select Row_Number() Over (Order By Primary_Doc_ID) As RowNum, * From #tempstock3) t2 Where RowNum = @l) set @doc3 =  (Select top(1) Doc_Account From (Select Row_Number() Over (Order By Primary_Doc_ID) As RowNum, * From #tempstock3) t2 Where RowNum = @l) insert into DocD (DocRowDesc,Acc2RowID,Fix_Acc2Type_ID,Fix_Acc1_ID,Branch_ID,IsSend,BedPrice,BesPrice,RelateRowID,RowDesc) values (N'هزینه از بابت سند تولید',@docexid,4,8,@branchid,0,@consumevalue * @itemcalculatedcount,0,(select top(1) rowid from @outputtbl3),N'هزینه بابت سند تولید') insert into DocD (DocRowDesc,Acc2RowID,Fix_Acc2Type_ID,Fix_Acc1_ID,Branch_ID,IsSend,BedPrice,BesPrice,RelateRowID,RowDesc) values (N'بابت ثبت سند هزینه شماره' + ' ' +(select top(1) rowid from @outputtbl3) ,@doc3,@doc1,@doc2,@branchid,@consumevalue * @itemcalculatedcount,0,0,(select top(1) rowid from @outputtbl3),N'بابت ثبت سند تولید') set @l = (@l + 1) end end end insert into WhDocD (Branch_Id,FinancialYear_ID,WhDocH_ID,Good_ID,Main_MeasureUnit_ID,MeasureUnit_ID,Fix_DiscountType_ID,InputValue,calculatedinputvalue,OutputValue,CalculatedOutputValue,UnitPrice,TotalPrice,QuantityInUnitPrice,DiscountPercent,DiscountPrice,purchaseunitprice,purchasetotalprice,taxpercent,TaxPrice,SaleUnitPrice,IsSend,PurchaseTotalPriceAverage) values (@branchid,@finanal,(select rowid from @outputtbl),@goodid,@measurementunitid,@measurementunitid,2,0,0,@itemcount,@itemcalculatedcount,@saleprice,(@itemprice * @itemcount),(@saleprice * @itemcount),0,(@itemdiscount * @itemcount),@itempurchase,(@itempurchase * @itemcount),0,0,@saleprice ,0,@averages) set @j = @j + 1 end set @typetasvieh = (select CardReaderAutoSettlement from AppUserSettings where UserInfo_ID = @uid) insert into DocH (branch_id,Fix_DocHType_ID,financialyear_id,RelateRowID,FDate,MDate,RowDesc,UniqueIdentifierValue)  output inserted.RowID into @outputtbl2(dochid) values (@branchid,2,@finanal,(select top(1) rowid from @outputtbl),@date,@mdate,N'فاکتور فروش شماره ' + CAST(@docid as nvarchar) ,@guid) insert into DocD(Branch_ID,doch_id,fix_acc1_id,fix_acc2type_id,Acc2RowID,BedPrice,BesPrice,RowDesc,IsSend) values (@branchid,(select top(1) dochid from @outputtbl2),3,1,@personid,@sum-@DiscountPrice,0,N'فاکتور فروش شماره ' + CAST(@docid as nvarchar),0) insert into DocD(Branch_ID,doch_id,fix_acc1_id,fix_acc2type_id,BedPrice,BesPrice,RowDesc,IsSend)  values (@branchid,(select top(1) dochid from @outputtbl2),2,0,0,@sum-@DiscountPrice,N'فاکتور فروش شماره ' + CAST(@docid as nvarchar),0) if(@cashpay>0) begin insert into DocD(Branch_ID,doch_id,fix_acc1_id,fix_acc2type_id,Acc2RowID,BedPrice,BesPrice,RowDesc,IsSend) values (@branchid,(select top(1) dochid from @outputtbl2),7,3,@cofferid,@cashpay,0,N'فاکتور فروش شماره ' + CAST(@docid as nvarchar)+N'-مبلغ نقدی',0) insert into DocD(Branch_ID,doch_id,fix_acc1_id,fix_acc2type_id,Acc2RowID,BedPrice,BesPrice,RowDesc,IsSend)  values (@branchid,(select top(1) dochid from @outputtbl2),3,1,@personid,0,@cashpay,N'فاکتور فروش شماره ' + CAST(@docid as nvarchar)+N'-مبلغ نقدی',0) end set @k=1 while(@k<=(select COUNT(*) from @plist)) begin set @browid=(select top(1) bankrowid from @plist where rowid=@k)set @spricebank=(select top(1)  SettlePrice from @plist where rowid=@k) if(@typetasvieh = 1) begin insert into DocD(Branch_ID,doch_id,fix_acc1_id,fix_acc2type_id,Acc2RowID,BedPrice,BesPrice,RowDesc,IsSend) values (@branchid,(select top(1) dochid from @outputtbl2),5,2,@browid,@spricebank,0,N'فاکتور فروش شماره ' + CAST(@docid as nvarchar)+N'-مبلغ کارتخوان',0) end else begin insert into DocD(Branch_ID,doch_id,fix_acc1_id,fix_acc2type_id,Acc2RowID,BedPrice,BesPrice,RowDesc,IsSend)  values (@branchid,(select top(1) dochid from @outputtbl2),5,8,@browid,@spricebank,0,N'فاکتور فروش شماره ' + CAST(@docid as nvarchar)+N'-مبلغ کارتخوان',0) end insert into DocD(Branch_ID,doch_id,fix_acc1_id,fix_acc2type_id,Acc2RowID,BedPrice,BesPrice,RowDesc,IsSend)  values (@branchid,(select top(1) dochid from @outputtbl2),3,1,@personid,0,@spricebank,N'فاکتور فروش شماره ' + CAST(@docid as nvarchar)+N'-مبلغ کارتخوان',0) set @bankid = (select BankAccountID from POS where RowID = @browid)insert into WhDocHBankAccount(BankAccount_ID,Branch_ID,SettlePrice,WhDocH_ID,IsSend,POS_ID) values (@bankid,@branchid,@spricebank,(select top(1) rowid from @outputtbl),0,@browid) set @k=@k+1 end DELETE FROM dbo.Table_Lottory WHERE nofactor=@docid INSERT INTO Table_Lottory (nofactor,nolottory,[sum],disc) VALUES(@docid,CAST( CAST(RAND() * 10000 AS INT) AS NVARCHAR(50)) + CAST(@docid AS NVARCHAR(50)),@sum,@DiscountPrice) select DocNo from WhDocH where RowID = (select rowid from @outputtbl) set @chancesystem = (select top(1) ChanceSystem from AppSettings) if(@chancesystem = 1) begin insert into ChanceSystem(cid,Fdate,Ftime,Mdate,WhID,[Status]) values (@pid,@date,@time,@mdate,(select rowid from @outputtbl),0) end  set @adict = (select count(*) from @alist) set @diact = (select count(*) from @dlist) set @a = 0 set @d = 0 while(@a < @adict) begin insert into WhDocHInvoiceIncrease (Branch_ID,Fix_PercentOrPrice_ID,InvoiceIncrease_ID,WhDocH_ID,IncreasePrice,IncreasePercent) values (@branchid,(select top(1) fixorpercent from @alist where [row] = @a),(select top(1) inid from @alist where [row] = @a), (select rowid from @outputtbl),(select top(1) dprice from @alist where [row] = @a),(select top(1) dpercent from @alist where [row] = @a)) set @a = @a + 1 end while(@d < @diact) begin insert into WhDocHInvoiceDecrease(Branch_ID,Fix_PercentOrPrice_ID,InvoiceDecrease_ID,WhDocH_ID,DecreasePrice,DecreasePercent) values (@branchid,(select top(1) fixorpercent from @dlist where [row] = @d),(select top(1) inid from @dlist where [row] = @d), (select rowid from @outputtbl),(select top(1) dprice from @dlist where [row] = @d),(select top(1) dpercent from @dlist where [row] = @d)) set @d = @d + 1 end commit transaction t1 End Try Begin Catch select Error_Message() + @err; rollback transaction t1 return End Catch END

ALTER PROCEDURE [dbo].[sp_returngood](@list goodlistnew READONLY,@clientrow bigint,@systemid bigint,@uid int,@date nvarchar(50),@mdate datetime,@time nvarchar(10),@guid UNIQUEIDENTIFIER,@sum decimal,@quantity decimal,@disc DECIMAL,@DiscountPrice DECIMAL,@pid INT,@bid int,@finacial int, @branchid as int) AS BEGIN begin transaction t1 declare @outputtbl table (rowid int) declare @outputtbl2 table (dochid int) declare @count as int ,@i as int,@warehouseid as int,@cofferid as int,@userid as int,@docid as int,@j as int,@goodid as int,@measurementunitid as int,@itemcount as FLOAT,@saleprice as decimal,@itemprice as decimal,@itemquantity as decimal,@itemdiscount as decimal,@itempurchase as decimal CREATE TABLE #tempstock([did] [int],[goodid] [int],[goodname] [nvarchar](250),[barcode] [nvarchar](100),[MeasureUnit] [nvarchar](200),[MeasureUnitID] [int],[PurchasePrice] [decimal],[saleprice] [decimal],[sumPurchasePrice] [decimal],[price] [decimal],[DiscountPrice] [decimal],[count] [float], [calculatedcount] [float],[sumafterDiscountPrice] [decimal],[sumbeforeDiscountPrice] [decimal],[id] [int] identity) Begin Try set @branchid = @bid set @warehouseid = (select Warehouse_ID from AppUserSettings where UserInfo_ID = @uid) set @cofferid = (select Coffer_ID from AppUserSettings where UserInfo_ID = @uid)  set @userid = @uid insert into #tempstock select * from @list set @i = 1 set @count = (select COUNT(*) from #tempstock) insert into WhDocH (SystemID,ClientVersion,UniqueCode,branch_id,FinancialYear_ID,Fix_RecordStatusType_ID,Fix_WhDocType1_ID,Fix_WhDocType2_ID,Warehouse_ID,Fix_DiscountType_ID,Coffer_ID,Person_ID,DocNo,FDate,MDate,DiscountPercent,DiscountPrice,SettlePrice,TaxPercent,TaxPrice,TotalPrice,QuantityInUnitPrice,TotalDiscountPriceItems,TotalTaxPriceItems,PayablePrice,DefinedBySystem,InsertedBy,FDateInsert,FTimeInsert,UniqueIdentifierValue,IsSend) output inserted.RowID into @outputtbl(rowid) values (@clientrow,@systemid,@guid,@branchid,@finacial,1,1,2,@warehouseid,2,@cofferid,@pid,ISNULL(((select max(DocNo) from WhDocH  where Fix_WhDocType2_ID = 2 and Fix_WhDocType1_ID = 1) + 1),1),@date,@mdate,0,@DiscountPrice,@sum,0,0,@sum,@quantity,@disc,0,@sum,0,@userid,@date,@time,@guid,0) set @docid = (select DocNo from WhDocH where RowID = (select rowid from @outputtbl)) set @j = 1 while (@j <= @count) begin set @goodid = (select goodid from #tempstock where id = @j) set @measurementunitid = (select MeasureUnitID from #tempstock where id = @j) set @itemcount = (select [count] from #tempstock where id = @j) set @saleprice = (select saleprice from #tempstock where id = @j) set @itemprice = (select price from #tempstock where id = @j) set @itemdiscount = (select DiscountPrice from #tempstock where id = @j) set @itempurchase = (select PurchasePrice from #tempstock where id = @j) insert into WhDocD (Branch_Id,FinancialYear_ID,WhDocH_ID,Good_ID,Main_MeasureUnit_ID,MeasureUnit_ID,Fix_DiscountType_ID,InputValue,calculatedinputvalue,OutputValue,CalculatedOutputValue,UnitPrice,TotalPrice,QuantityInUnitPrice,DiscountPercent,DiscountPrice,purchaseunitprice,purchasetotalprice,taxpercent,TaxPrice,SaleUnitPrice,IsSend) values (@branchid,@finacial,(select rowid from @outputtbl),@goodid,@measurementunitid,@measurementunitid,2,@itemcount,@itemcount,0,0,@saleprice,(@itemprice * @itemcount),(@saleprice * @itemcount),0,(@itemdiscount * @itemcount),@itempurchase,(@itempurchase * @itemcount),0,0,(@saleprice * @itemcount),0) set @j = @j + 1 end insert into DocH (branch_id,Fix_DocHType_ID,financialyear_id,RelateRowID,FDate,MDate,RowDesc,UniqueIdentifierValue) output inserted.RowID into @outputtbl2(dochid) values(@branchid,4,@finacial,(select rowid from @outputtbl),@date,@mdate,N'فاکتور برگشت از فروش شماره ' + CAST(@docid as nvarchar) ,@guid) insert into DocD(Branch_ID,doch_id,fix_acc1_id,fix_acc2type_id,Acc2RowID,BedPrice,BesPrice,RowDesc,IsSend)  values (@branchid,(select dochid from @outputtbl2),2,0,NULL,@sum,0,N'فاکتور برگشت از فروش شماره ' + CAST(@docid as nvarchar),0) insert into DocD(Branch_ID,doch_id,fix_acc1_id,fix_acc2type_id,BedPrice,BesPrice,RowDesc,IsSend,Acc2RowID)  values (@branchid,(select dochid from @outputtbl2),3,1,0,@sum,N'فاکتور برگشت از فروش شماره ' + CAST(@docid as nvarchar),0,7) insert into DocD(Branch_ID,doch_id,fix_acc1_id,fix_acc2type_id,Acc2RowID,BedPrice,BesPrice,RowDesc,IsSend)  values (@branchid,(select dochid from @outputtbl2),3,1,7,@sum,7,N'فاکتور برگشت از فروش شماره ' + CAST(@docid as nvarchar)+'-مبلغ نقدي',0)	insert into DocD(Branch_ID,doch_id,fix_acc1_id,fix_acc2type_id,Acc2RowID,BedPrice,BesPrice,RowDesc,IsSend)  values (@branchid,(select dochid from @outputtbl2),7,3,@cofferid,0,@sum,N'فاکتور برگشت از فروش شماره ' + CAST(@docid as nvarchar)+'-مبلغ نقدي',0) select DocNo from WhDocH where RowID = (select rowid from @outputtbl) commit transaction t1 End Try Begin Catch select Error_Message(); rollback transaction t1 return End Catch END

ALTER PROCEDURE [dbo].[sp_UseStringList](@list goodlistnew READONLY,@clientrow bigint,@systemid int,@uid int,@date nvarchar(50),@mdate datetime,@time nvarchar(10),@guid UNIQUEIDENTIFIER,@sumincrease decimal,@sumdecrease decimal,@sum decimal,@cashpay decimal,@quantity decimal,@disc DECIMAL,@DiscountPrice DECIMAL,@pid INT,@bid int,@plist paylist readonly,@alist Additionals readonly,@dlist Decreases readonly) AS BEGIN begin transaction t1 declare @outputtbl table (rowid int) declare @outputtbl2 table (dochid int) declare @outputtbl3 table (rowid int) declare @outputtbl4 table (rowid int) declare @outputtbl5 table (rowid int)  declare @outputtbl6 table (rowid int)  declare @manufactcount as int,@manufactorexoence as int,@p as int,@l as int,@consumevalue as decimal,@goodrow as int,@accrid as int,@doc1 as int,@doc2 as int,@doc3 as int,@docexid as int,@err as int,@numbermanufac as int,@auto as bit,@chancesystem as bit,@version as bigint, @count as int , @i as int, @countofstock as float,@stcks as float,@branchid as int,@typetasvieh as bit,@bankid as int,@finanal as int,@warehouseid as int,@adict as int,@diact as int, @cofferid as int,@personid as int, @userid as int, @docid as int, @j as int,@goodid as int, @measurementunitid as int,@itemcount as FLOAT,@averages as int, @itemcalculatedcount as FLOAT, @saleprice as decimal, @itemprice as decimal, @itemquantity as decimal, @itemdiscount as decimal, @itempurchase as decimal,@k as int,@a as int,@d as int, @browid as int,@spricebank as decimal  CREATE TABLE #tempstock ([did] [int],[goodid] [int],[goodname] [nvarchar](250),[barcode] [nvarchar](100),[MeasureUnit] [nvarchar](200),[MeasureUnitID] [int],[PurchasePrice] [decimal],[saleprice] [decimal],[sumPurchasePrice] [decimal],[price] [decimal], [DiscountPrice] [decimal],[count] [float],[calculatedcount] [float],[sumafterDiscountPrice] [decimal],[sumbeforeDiscountPrice] [decimal],[id] [int] identity ) CREATE TABLE #tempstock2 ([RowID] [int],[Branch_ID] [int],[Product_Good_ID] [int],[Primary_Good_ID] [int],[ConsumeValue] [float],[RowDesc] [nvarchar](500),[InsertedBy] [smallint],[UpdatedBy] [smallint],[FDateInsert] [char](10),[FDateUpdate] [char](10),[FTimeInsert] [char](5),[FTimeUpdate] [char](5),[InsertServerDateTime] [datetime],[UpdateServerDateTime] [datetime],[RowUpdateVersion] [smallint],[UniqueIdentifierValue] [uniqueidentifier],[IsSend] [tinyint],[CurrentPrice] [money],[TypePrice] [smallint],[AutoDoc] [bit],[Reversion] [bigint],[ClientID]  [int],[ServerID] [int]) CREATE TABLE #tempstock3 ([RowID] [int],[Branch_ID] [int],[Product_Good_ID] [int],[Primary_Doc_ID] [int],[ConsumeValue] [float],[RowDesc] [nvarchar](500),[InsertedBy] [smallint],[UpdatedBy] [smallint],[FDateInsert] [char](10),[FDateUpdate] [char](10),[FTimeInsert] [char](5),[FTimeUpdate] [char](5),[InsertServerDateTime] [datetime],[UpdateServerDateTime] [datetime],[RowUpdateVersion] [smallint],[UniqueIdentifierValue] [uniqueidentifier],[IsSend] [tinyint],[CurrentPrice] [money],[TypePrice] [smallint],[Doc_Account] [bigint],[Doc_Acc1] [int],[Doc_Acc2] [int],[AutoDoc] [bit],[Reversion] [bigint],[ClientID]  [int],[ServerID] [int])  Begin Try set @accrid=3 set @branchid = @bid set @version = (select iif(max(Reversion) is null,1,max(Reversion)) from WhDocH) set @finanal = (select FinancialYear_ID from appsettings) set @warehouseid = (select Warehouse_ID from AppUserSettings where UserInfo_ID = @uid)  set @cofferid = (select  Coffer_ID from AppUserSettings where UserInfo_ID = @uid) IF(@pid=-1) BEGIN set @personid = (select  DefaultPerson_ID_FactorForosh  from AppUserSettings where UserInfo_ID = @uid) END ELSE BEGIN SET @personid=@pid END set @userid =  @uid insert into #tempstock select * from @list  set @i = 1 set @count = (select COUNT(*) from #tempstock) insert into WhDocH (ClientRowID,SystemID,times,branch_id,FinancialYear_ID,Fix_RecordStatusType_ID,Fix_WhDocType1_ID,Fix_WhDocType2_ID,Warehouse_ID,Fix_DiscountType_ID,Coffer_ID,Person_ID,DocNo,FDate,MDate,DiscountPercent,DiscountPrice,SettlePrice,TaxPercent,TaxPrice,TotalPrice,QuantityInUnitPrice,TotalDiscountPriceItems,TotalTaxPriceItems,PayablePrice,DefinedBySystem,InsertedBy,FDateInsert,FTimeInsert,UniqueIdentifierValue,IsSend,IsSettled,SumPercentPrice,TotalIncreasePrice,TotalDecreasePrice,reversion,UniqueCode)  output inserted.RowID into @outputtbl(rowid) values (@clientrow,@systemid,@time,@branchid,@finanal,1,2,21,@warehouseid,2,@cofferid,@personid,(select COALESCE(max(docno), 0) from WhDocH where Fix_WhDocType2_ID = 21) + 1,@date,@mdate,0,@DiscountPrice,@cashpay,0,0,@sum,@quantity,@disc,0,@sum-@DiscountPrice,0,@userid,@date,@time,@guid,0,0,0,@sumincrease,@sumdecrease,@version,@guid)  set @docid = (select DocNo from WhDocH where RowID = (select rowid from @outputtbl) and Fix_WhDocType2_ID = 21)  set @j = 1  while (@j <= @count) begin set @goodid = (select goodid from #tempstock where id = @j) set @measurementunitid = (select MeasureUnitID from #tempstock where id = @j) set @itemcount = (select [count] from #tempstock where id = @j) set @itemcalculatedcount = (select [calculatedcount] from #tempstock where id = @j) set @saleprice = (select saleprice from #tempstock where id = @j) set @itemprice = (select price from #tempstock where id = @j) set @itemdiscount = (select DiscountPrice from #tempstock where id = @j) set @itempurchase = (select PurchasePrice from #tempstock where id = @j) set @averages = (select PurchaseAverage from AveragePrice where GoodID = @goodid) set @auto = (select top(1) AutoDoc from ProductionFormula where ProductionFormula.Product_Good_ID = @goodid) if(@auto = 1) begin set @numbermanufac = (select COALESCE(max(docno), 0) from ManufactureDocH )+ 1 insert into ManufactureDocH(WhID,Branch_ID,FinancialYear_ID,Fix_RecordStatusType_ID,Warehouse_ID,DocNo,MDate,FDate,InsertedBy,InsertServerDateTime,FDateInsert,FTimeInsert,RowUpdateVersion) output inserted.RowID into @outputtbl3(rowid) values((select top(1) rowid from @outputtbl),@branchid,@finanal,2,@warehouseid,@numbermanufac,GETDATE(),@date,@userid,GETDATE(),@date,@time,1) set @err = 1 insert into ManufactureDocD (Branch_ID,FinancialYear_ID,ManufactureDocH_ID,Good_ID,Main_MeasureUnit_ID,MeasureUnit_ID,Quantity,CalculatedQuantity) values (@branchid,@finanal,(select top(1) rowid from @outputtbl3),@goodid,@measurementunitid,@measurementunitid,@itemcount,@itemcalculatedcount) insert into WhDocH (ManufactureDocH_ID,times,branch_id,FinancialYear_ID,Fix_RecordStatusType_ID,Fix_WhDocType1_ID,Fix_WhDocType2_ID,Warehouse_ID,DocNo,FDate,MDate,TotalPrice,InsertedBy,FDateInsert,FTimeInsert,UniqueIdentifierValue,IsSend,IsSettled,reversion,UniqueCode) output inserted.RowID into @outputtbl4(rowid) values ((select top(1) rowid from @outputtbl3),@time,@branchid,@finanal,1,1,3,@warehouseid,(select top(1) DocNo from ManufactureDocH where RowID =(select top(1) rowid from @outputtbl3)) + 1,@date,@mdate,@itemcalculatedcount * @itempurchase,@userid,@date,@time,(SELECT NEWID()),0,0,@version,(SELECT NEWID())) insert into WhDocD (Branch_Id,FinancialYear_ID,WhDocH_ID,Good_ID,Main_MeasureUnit_ID,MeasureUnit_ID,InputValue,calculatedinputvalue,OutputValue,CalculatedOutputValue,UnitPrice,TotalPrice,purchaseunitprice,purchasetotalprice,IsSend) values (@branchid,@finanal,(select top(1) rowid from @outputtbl4),@goodid,@measurementunitid,@measurementunitid,@itemcount,@itemcalculatedcount,0,0,@itempurchase,(@itempurchase * @itemcount),@itempurchase,(@itempurchase * @itemcount),0) set @manufactcount = (select count(*) from ProductionFormula where Product_Good_ID = @goodid) set @manufactorexoence = (select count(*) from ProductionFormulaDoc where Product_Good_ID = @goodid) set @p = 1 set @l = 1 if(@manufactcount > 0) begin insert into #tempstock2 select * from ProductionFormula where Product_Good_ID = @goodid insert into WhDocH (ManufactureDocH_ID,times,branch_id,FinancialYear_ID,Fix_RecordStatusType_ID,Fix_WhDocType1_ID,Fix_WhDocType2_ID,Warehouse_ID,DocNo,FDate,MDate,TotalPrice,InsertedBy,FDateInsert,FTimeInsert,UniqueIdentifierValue,IsSend,IsSettled,reversion,UniqueCode) output inserted.RowID into @outputtbl5(rowid) values ((select top(1) rowid from @outputtbl3),@time,@branchid,@finanal,1,2,24,@warehouseid,(select top(1) DocNo from ManufactureDocH where RowID =(select top(1) rowid from @outputtbl3)) + 1,@date,@mdate,@sum,@userid,@date,@time,(SELECT NEWID()),0,0,@version,(SELECT NEWID())) while(@manufactcount >= @p) begin set @goodrow = (Select top(1) Primary_Good_ID From (Select Row_Number() Over (Order By Primary_Good_ID) As RowNum, * From #tempstock2) t2 Where RowNum = @p) set @consumevalue = (select top(1) ConsumeValue from ProductionFormula where Primary_Good_ID = @goodrow  and Product_Good_ID = @goodid) insert into WhDocD (Branch_Id,FinancialYear_ID,WhDocH_ID,Good_ID,Main_MeasureUnit_ID,MeasureUnit_ID,InputValue,calculatedinputvalue,OutputValue,CalculatedOutputValue,UnitPrice,TotalPrice,purchaseunitprice,purchasetotalprice,IsSend) values (@branchid,@finanal,(select top(1) rowid from @outputtbl4),@goodrow,@measurementunitid,@measurementunitid,0,0,@itemcount * @consumevalue,@itemcalculatedcount * @consumevalue,@itempurchase,(@itempurchase * @itemcalculatedcount * @consumevalue),@itempurchase,(@itempurchase * @itemcalculatedcount * @consumevalue),0) set @p = (@p + 1) end end if(@manufactorexoence > 0) begin insert into #tempstock3 select * from ProductionFormulaDoc where Product_Good_ID = @goodid insert into DocH (FinancialYear_ID,Branch_ID,Fix_DocHType_ID,FDate,MDate,RelateRowID,RowDesc) output inserted.RowID into @outputtbl5(rowid) values (@finanal,@branchid,26,@date,@mdate,(select top(1) rowid from @outputtbl3),N'هزینه بابت سند تولید') while(@manufactorexoence >= @l) begin set @docexid =(Select top(1) Primary_Doc_ID From (Select Row_Number() Over (Order By Primary_Doc_ID) As RowNum, * From #tempstock3) t2 Where RowNum = @l) set @consumevalue = (Select top(1) ConsumeValue From (Select Row_Number() Over (Order By Primary_Doc_ID) As RowNum, * From #tempstock3) t2 Where RowNum = @l) set @doc1 =  (Select top(1) Doc_Acc1 From (Select Row_Number() Over (Order By Primary_Doc_ID) As RowNum, * From #tempstock3) t2 Where RowNum = @l) set @doc2 =  (Select top(1) Doc_Acc2 From (Select Row_Number() Over (Order By Primary_Doc_ID) As RowNum, * From #tempstock3) t2 Where RowNum = @l) set @doc3 =  (Select top(1) Doc_Account From (Select Row_Number() Over (Order By Primary_Doc_ID) As RowNum, * From #tempstock3) t2 Where RowNum = @l) insert into DocD (DocRowDesc,Acc2RowID,Fix_Acc2Type_ID,Fix_Acc1_ID,Branch_ID,IsSend,BedPrice,BesPrice,RelateRowID,RowDesc) values (N'هزینه از بابت سند تولید',@docexid,4,8,@branchid,0,@consumevalue * @itemcalculatedcount,0,(select top(1) rowid from @outputtbl3),N'هزینه بابت سند تولید') insert into DocD (DocRowDesc,Acc2RowID,Fix_Acc2Type_ID,Fix_Acc1_ID,Branch_ID,IsSend,BedPrice,BesPrice,RelateRowID,RowDesc) values (N'بابت ثبت سند هزینه شماره' + ' ' +(select top(1) rowid from @outputtbl3) ,@doc3,@doc1,@doc2,@branchid,@consumevalue * @itemcalculatedcount,0,0,(select top(1) rowid from @outputtbl3),N'بابت ثبت سند تولید') set @l = (@l + 1) end end end insert into WhDocD (Branch_Id,FinancialYear_ID,WhDocH_ID,Good_ID,Main_MeasureUnit_ID,MeasureUnit_ID,Fix_DiscountType_ID,InputValue,calculatedinputvalue,OutputValue,CalculatedOutputValue,UnitPrice,TotalPrice,QuantityInUnitPrice,DiscountPercent,DiscountPrice,purchaseunitprice,purchasetotalprice,taxpercent,TaxPrice,SaleUnitPrice,IsSend,PurchaseTotalPriceAverage) values (@branchid,@finanal,(select rowid from @outputtbl),@goodid,@measurementunitid,@measurementunitid,2,0,0,@itemcount,@itemcalculatedcount,@saleprice,(@itemprice * @itemcount),(@saleprice * @itemcount),0,(@itemdiscount * @itemcount),@itempurchase,(@itempurchase * @itemcount),0,0,@saleprice ,0,@averages) set @j = @j + 1 end set @typetasvieh = (select CardReaderAutoSettlement from AppUserSettings where UserInfo_ID = @uid) insert into DocH (branch_id,Fix_DocHType_ID,financialyear_id,RelateRowID,FDate,MDate,RowDesc,UniqueIdentifierValue)  output inserted.RowID into @outputtbl2(dochid) values (@branchid,2,@finanal,(select top(1) rowid from @outputtbl),@date,@mdate,N'فاکتور فروش شماره ' + CAST(@docid as nvarchar) ,@guid) insert into DocD(Branch_ID,doch_id,fix_acc1_id,fix_acc2type_id,Acc2RowID,BedPrice,BesPrice,RowDesc,IsSend) values (@branchid,(select top(1) dochid from @outputtbl2),3,1,@personid,@sum-@DiscountPrice,0,N'فاکتور فروش شماره ' + CAST(@docid as nvarchar),0) insert into DocD(Branch_ID,doch_id,fix_acc1_id,fix_acc2type_id,BedPrice,BesPrice,RowDesc,IsSend)  values (@branchid,(select top(1) dochid from @outputtbl2),2,0,0,@sum-@DiscountPrice,N'فاکتور فروش شماره ' + CAST(@docid as nvarchar),0) if(@cashpay>0) begin insert into DocD(Branch_ID,doch_id,fix_acc1_id,fix_acc2type_id,Acc2RowID,BedPrice,BesPrice,RowDesc,IsSend) values (@branchid,(select top(1) dochid from @outputtbl2),7,3,@cofferid,@cashpay,0,N'فاکتور فروش شماره ' + CAST(@docid as nvarchar)+N'-مبلغ نقدی',0) insert into DocD(Branch_ID,doch_id,fix_acc1_id,fix_acc2type_id,Acc2RowID,BedPrice,BesPrice,RowDesc,IsSend)  values (@branchid,(select top(1) dochid from @outputtbl2),3,1,@personid,0,@cashpay,N'فاکتور فروش شماره ' + CAST(@docid as nvarchar)+N'-مبلغ نقدی',0) end set @k=1 while(@k<=(select COUNT(*) from @plist)) begin set @browid=(select top(1) bankrowid from @plist where rowid=@k)set @spricebank=(select top(1)  SettlePrice from @plist where rowid=@k) if(@typetasvieh = 1) begin insert into DocD(Branch_ID,doch_id,fix_acc1_id,fix_acc2type_id,Acc2RowID,BedPrice,BesPrice,RowDesc,IsSend) values (@branchid,(select top(1) dochid from @outputtbl2),5,2,@browid,@spricebank,0,N'فاکتور فروش شماره ' + CAST(@docid as nvarchar)+N'-مبلغ کارتخوان',0) end else begin insert into DocD(Branch_ID,doch_id,fix_acc1_id,fix_acc2type_id,Acc2RowID,BedPrice,BesPrice,RowDesc,IsSend)  values (@branchid,(select top(1) dochid from @outputtbl2),5,8,@browid,@spricebank,0,N'فاکتور فروش شماره ' + CAST(@docid as nvarchar)+N'-مبلغ کارتخوان',0) end insert into DocD(Branch_ID,doch_id,fix_acc1_id,fix_acc2type_id,Acc2RowID,BedPrice,BesPrice,RowDesc,IsSend)  values (@branchid,(select top(1) dochid from @outputtbl2),3,1,@personid,0,@spricebank,N'فاکتور فروش شماره ' + CAST(@docid as nvarchar)+N'-مبلغ کارتخوان',0) set @bankid = (select BankAccountID from POS where RowID = @browid) insert into WhDocHBankAccount(BankAccount_ID,Branch_ID,SettlePrice,WhDocH_ID,IsSend,POS_ID) values (@bankid,@branchid,@spricebank,(select top(1) rowid from @outputtbl),0,@browid) set @k=@k+1 end DELETE FROM dbo.Table_Lottory WHERE nofactor=@docid INSERT INTO Table_Lottory (nofactor,nolottory,[sum],disc) VALUES(@docid,CAST( CAST(RAND() * 10000 AS INT) AS NVARCHAR(50)) + CAST(@docid AS NVARCHAR(50)),@sum,@DiscountPrice) select DocNo from WhDocH where RowID = (select rowid from @outputtbl) set @chancesystem = (select top(1) ChanceSystem from AppSettings) if(@chancesystem = 1) begin insert into ChanceSystem(cid,Fdate,Ftime,Mdate,WhID,[Status]) values (@pid,@date,@time,@mdate,(select rowid from @outputtbl),0) end set @adict = (select count(*) from @alist) set @diact = (select count(*) from @dlist) set @a = 0 set @d = 0 while(@a < @adict) begin insert into WhDocHInvoiceIncrease (Branch_ID,Fix_PercentOrPrice_ID,InvoiceIncrease_ID,WhDocH_ID,IncreasePrice,IncreasePercent) values (@branchid,(select top(1) fixorpercent from @alist where [row] = @a),(select top(1) inid from @alist where [row] = @a), (select rowid from @outputtbl),(select top(1) dprice from @alist where [row] = @a),(select top(1) dpercent from @alist where [row] = @a)) set @a = @a + 1 end while(@d < @diact) begin insert into WhDocHInvoiceDecrease(Branch_ID,Fix_PercentOrPrice_ID,InvoiceDecrease_ID,WhDocH_ID,DecreasePrice,DecreasePercent) values (@branchid,(select top(1) fixorpercent from @dlist where [row] = @d),(select top(1) inid from @dlist where [row] = @d), (select rowid from @outputtbl),(select top(1) dprice from @dlist where [row] = @d),(select top(1) dpercent from @dlist where [row] = @d)) set @d = @d + 1 end commit transaction t1 End try Begin Catch select Error_Message() + @err; rollback transaction t1 return End Catch END

INSERT [dbo].[Fix_AppObject] ([RowID], [Fix_AppObjectType_ID], [RowName], [RowDesc], [UniqueIdentifierValue]) VALUES (1067, 1, N'تعاریف - مرکز هزینه', NULL, NULL)

INSERT [dbo].[Fix_AppObject] ([RowID], [Fix_AppObjectType_ID], [RowName], [RowDesc], [UniqueIdentifierValue]) VALUES (2059, 2, N'عملیات - درخواست کالا', NULL, NULL)

INSERT [dbo].[Fix_AppObject] ([RowID], [Fix_AppObjectType_ID], [RowName], [RowDesc], [UniqueIdentifierValue]) VALUES (2060, 2, N'عملیات - انبار - ویرایش درخواست های انبار', NULL, NULL)

INSERT [dbo].[Fix_AppObject] ([RowID], [Fix_AppObjectType_ID], [RowName], [RowDesc], [UniqueIdentifierValue]) VALUES (2061, 2, N'عملیات - انبار - حواله های در انتظار ارسال', NULL, NULL)

INSERT [dbo].[Fix_AppObject] ([RowID], [Fix_AppObjectType_ID], [RowName], [RowDesc], [UniqueIdentifierValue]) VALUES (2062, 2, N'عملیات- انبار - لیست حواله های ارسالی', NULL, NULL)

INSERT [dbo].[Fix_AppObject] ([RowID], [Fix_AppObjectType_ID], [RowName], [RowDesc], [UniqueIdentifierValue]) VALUES (2063, 2, N'عملیات - انبار - حواله های در انتظار دریافت', NULL, NULL)

INSERT [dbo].[Fix_AppObject] ([RowID], [Fix_AppObjectType_ID], [RowName], [RowDesc], [UniqueIdentifierValue]) VALUES (3066, 3, N'گزارشها- گزارش فروش بر اساس مشتریان', NULL, NULL)

INSERT [dbo].[Fix_AppObject] ([RowID], [Fix_AppObjectType_ID], [RowName], [RowDesc], [UniqueIdentifierValue]) VALUES (3067, 3, N'گزارش ها - لیست امتیازات', NULL, NULL)

INSERT [dbo].[Fix_AppObject] ([RowID], [Fix_AppObjectType_ID], [RowName], [RowDesc], [UniqueIdentifierValue]) VALUES (3068, 3, N'گزارش ها - آمار ثبت مشتریان توسط کاربران', NULL, NULL)

INSERT [dbo].[Fix_AppObject] ([RowID], [Fix_AppObje0c.tType_ID], [RowName], [RowDesc], [UniqueIdentifierValue]) VALUES (1068, 1, N'تعاریف - کالاها - چاپ برچسب کالا', NULL, NULL)

INSERT [dbo].[Fix_AppObject] ([RowID], [Fix_AppObjectType_ID], [RowName], [RowDesc], [UniqueIdentifierValue]) VALUES (3069, 3, N'گزارشات - کالاهای بدون گردش', NULL, NULL)

INSERT [dbo].[Fix_AppObject] ([RowID], [Fix_AppObjectType_ID], [RowName], [RowDesc], [UniqueIdentifierValue]) VALUES (2064, 2, N'عملیات - امور مالی - سند گروهی اشخاص', NULL, NULL)

CREATE VIEW [dbo].[WhdocDAverage] AS SELECT dbo.WhDocD.Good_ID, dbo.AveragePrice.PurchaseAverage, dbo.WhDocH.Branch_ID, dbo.WhDocH.FDate, dbo.WhDocH.MDate, dbo.WhDocD.RowID, dbo.WhDocD.UnitPrice, dbo.WhDocD.TotalPrice FROM dbo.WhDocD INNER JOIN dbo.AveragePrice ON dbo.WhDocD.Good_ID = dbo.AveragePrice.GoodID INNER JOIN dbo.WhDocH ON dbo.WhDocD.WhDocH_ID = dbo.WhDocH.RowID

INSERT [dbo].[Fix_AppObject] ([RowID], [Fix_AppObjectType_ID], [RowName], [RowDesc], [UniqueIdentifierValue]) VALUES (8018, 8, N'سایر مجوزها - امکان مشاهده قیمت خرید', NULL, NULL)

INSERT [dbo].[Fix_AppObject] ([RowID], [Fix_AppObjectType_ID], [RowName], [RowDesc], [UniqueIdentifierValue]) VALUES (8019, 8, N'سایر مجوزها - امکان ویرایش کالاهای سایر شعب', NULL, NULL)

ALTER TABLE [dbo].[ProformaH] DROP CONSTRAINT [UQ_ProformaH_DocNo]

CREATE UNIQUE NONCLUSTERED INDEX [NonClusteredIndex-20230821-131225] ON [dbo].[ProformaH]([Fix_WhDocType2_ID] ASC,[DocNo] ASC,[Fix_ProformaType] ASC)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, IGNORE_DUP_KEY = OFF, DROP_EXISTING = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON)

INSERT [dbo].[Fix_AppObject] ([RowID], [Fix_AppObjectType_ID], [RowName], [RowDesc], [UniqueIdentifierValue]) VALUES (6095, 6, N'مجوز ویرایش - امکان ویرایش مجوز خرید', NULL, NULL)

INSERT [dbo].[Fix_AppObject] ([RowID], [Fix_AppObjectType_ID], [RowName], [RowDesc], [UniqueIdentifierValue]) VALUES (2065, 2, N'عملیات - فاکتورها - مجوزها و حواله ها', NULL, NULL)

update ProformaH set Fix_ProformaType = 1 where Fix_ProformaType is null

ALTER TABLE dbo.WhDocH ADD[ProFormaID] int NULL;

ALTER TABLE dbo.ProformaH ADD[WhDocNo] bigint NULL;

ALTER TABLE dbo.ProformaH ADD[Warehouseid] int NULL;

ALTER TABLE dbo.ProformaH ADD[DriverName] nvarchar(500) NULL;

ALTER TABLE dbo.ProformaH ADD[DriverTel] nvarchar(50) NULL;

ALTER TABLE dbo.ProformaH ADD[Barnameh] nvarchar(50) NULL;

ALTER TABLE dbo.ProformaH ADD[p1] nchar(10) NULL;

ALTER TABLE dbo.ProformaH ADD[p2] nchar(10) NULL;

ALTER TABLE dbo.ProformaH ADD[p3] nchar(10) NULL;

ALTER TABLE dbo.ProformaH ADD[p4] nchar(10) NULL;

CREATE VIEW [dbo].[RemmitanceView] AS SELECT dbo.ShiftDocH.RowID, dbo.ShiftDocH.Branch_ID, dbo.ShiftDocH.FinancialYear_ID, dbo.ShiftDocH.Fix_RecordStatusType_ID, dbo.ShiftDocH.Warehouse_ID_From, dbo.ShiftDocH.Warehouse_ID_To, dbo.ShiftDocH.DocNo, dbo.ShiftDocH.FDate, dbo.ShiftDocH.MDate, dbo.ShiftDocH.RowDesc, dbo.ShiftDocH.InsertedBy, dbo.ShiftDocH.UpdatedBy, dbo.ShiftDocH.FDateInsert, dbo.ShiftDocH.FDateUpdate, dbo.ShiftDocH.FTimeInsert, dbo.ShiftDocH.FTimeUpdate, dbo.ShiftDocH.InsertServerDateTime, dbo.ShiftDocH.UpdateServerDateTime, dbo.ShiftDocH.RowUpdateVersion, dbo.ShiftDocH.UniqueIdentifierValue, dbo.ShiftDocH.IsSend, dbo.ShiftDocH.Temps,  dbo.ShiftDocH.Steps, dbo.ShiftDocH.RequestID, dbo.ShiftDocH.AcceptorID, dbo.ShiftDocH.SendDate, dbo.ShiftDocH.SendFdate, dbo.ShiftDocH.ReciveDate, dbo.ShiftDocH.REciveFdate, dbo.RemittanceH.DocNo AS Havaleh,  dbo.Warehouse.RowName AS fromwarehouse, Warehouse_1.RowName AS towarehouse FROM dbo.RemittanceH INNER JOIN dbo.ShiftDocH ON dbo.RemittanceH.RowID = dbo.ShiftDocH.RequestID INNER JOIN dbo.Warehouse ON dbo.ShiftDocH.Warehouse_ID_From = dbo.Warehouse.RowID INNER JOIN dbo.Warehouse AS Warehouse_1 ON dbo.ShiftDocH.Warehouse_ID_To = Warehouse_1.RowID

ALTER TABLE dbo.RemittanceH ADD[DriverName] nvarchar(500) NULL;

ALTER TABLE dbo.RemittanceH ADD[DriverTel] nvarchar(50) NULL;

ALTER TABLE dbo.RemittanceH ADD[Barnameh] nvarchar(50) NULL;

ALTER TABLE dbo.RemittanceH ADD[p1] nchar(10) NULL;

ALTER TABLE dbo.RemittanceH ADD[p2] nchar(10) NULL;

ALTER TABLE dbo.RemittanceH ADD[p3] nchar(10) NULL;

ALTER TABLE dbo.RemittanceH ADD[p4] nchar(10) NULL;

ALTER TABLE dbo.ShiftDocH ADD[DriverName] nvarchar(500) NULL;

ALTER TABLE dbo.ShiftDocH ADD[DriverTel] nvarchar(50) NULL;

ALTER TABLE dbo.ShiftDocH ADD[Barnameh] nvarchar(50) NULL;

ALTER TABLE dbo.ShiftDocH ADD[p1] nchar(10) NULL;

ALTER TABLE dbo.ShiftDocH ADD[p2] nchar(10) NULL;

ALTER TABLE dbo.ShiftDocH ADD[p3] nchar(10) NULL;

ALTER TABLE dbo.ShiftDocH ADD[p4] nchar(10) NULL;

CREATE VIEW [dbo].[GoodViewStock] AS SELECT dbo.GoodView.*, dbo.GoodStockReport.Quantity FROM dbo.GoodView INNER JOIN dbo.GoodStockReport ON dbo.GoodView.ID = dbo.GoodStockReport.ID

ALTER PROCEDURE [dbo].[sp_UseStringList](@list goodlistnew READONLY,@clientrow bigint,@systemid int,@uid int,@date nvarchar(50),@mdate datetime,@time nvarchar(10),@guid UNIQUEIDENTIFIER,@sumincrease decimal,@sumdecrease decimal,@sum decimal,@cashpay decimal,@quantity decimal,@disc DECIMAL,@DiscountPrice DECIMAL,@pid INT,@bid int,@plist paylist readonly,@alist Additionals readonly,@dlist Decreases readonly)  AS BEGIN begin transaction t1 declare @outputtbl table (rowid int) declare @outputtbl2 table (dochid int) declare @outputtbl3 table (rowid int) declare @outputtbl4 table (rowid int) declare @outputtbl5 table (rowid int)  declare @outputtbl6 table (rowid int)  declare @manufactcount as int,@manufactorexoence as int,@p as int,@l as int,@consumevalue as decimal,@goodrow as int,@accrid as int,@doc1 as int,@doc2 as int,@doc3 as int,@docexid as int,@err as int,@numbermanufac as int,@auto as bit,@chancesystem as bit,@version as bigint, @count as int , @i as int, @countofstock as float,@stcks as float,@branchid as int,@typetasvieh as bit,@bankid as int,@finanal as int,@warehouseid as int,@adict as int,@diact as int, @cofferid as int,@personid as int, @userid as int, @docid as int, @j as int,@goodid as int, @measurementunitid as int,@itemcount as FLOAT,@averages as int, @itemcalculatedcount as FLOAT, @saleprice as decimal, @itemprice as decimal, @itemquantity as decimal, @itemdiscount as decimal, @itempurchase as decimal,@k as int,@a as int,@d as int, @browid as int,@spricebank as decimal  CREATE TABLE #tempstock ([did] [int],[goodid] [int],[goodname] [nvarchar](250),[barcode] [nvarchar](100),[MeasureUnit] [nvarchar](200),[MeasureUnitID] [int],[PurchasePrice] [decimal],[saleprice] [decimal],[sumPurchasePrice] [decimal],[price] [decimal], [DiscountPrice] [decimal],[count] [float],[calculatedcount] [float],[sumafterDiscountPrice] [decimal],[sumbeforeDiscountPrice] [decimal],[id] [int] identity ) CREATE TABLE #tempstock2 ([RowID] [int],[Branch_ID] [int],[Product_Good_ID] [int],[Primary_Good_ID] [int],[ConsumeValue] [float],[RowDesc] [nvarchar](500),[InsertedBy] [smallint],[UpdatedBy] [smallint],[FDateInsert] [char](10),[FDateUpdate] [char](10),[FTimeInsert] [char](5),[FTimeUpdate] [char](5),[InsertServerDateTime] [datetime],[UpdateServerDateTime] [datetime],[RowUpdateVersion] [smallint],[UniqueIdentifierValue] [uniqueidentifier],[IsSend] [tinyint],[CurrentPrice] [money],[TypePrice] [smallint],[AutoDoc] [bit],[Reversion] [bigint],[ClientID]  [int],[ServerID] [int]) CREATE TABLE #tempstock3 ([RowID] [int],[Branch_ID] [int],[Product_Good_ID] [int],[Primary_Doc_ID] [int],[ConsumeValue] [float],[RowDesc] [nvarchar](500),[InsertedBy] [smallint],[UpdatedBy] [smallint],[FDateInsert] [char](10),[FDateUpdate] [char](10),[FTimeInsert] [char](5),[FTimeUpdate] [char](5),[InsertServerDateTime] [datetime],[UpdateServerDateTime] [datetime],[RowUpdateVersion] [smallint],[UniqueIdentifierValue] [uniqueidentifier],[IsSend] [tinyint],[CurrentPrice] [money],[TypePrice] [smallint],[Doc_Account] [bigint],[Doc_Acc1] [int],[Doc_Acc2] [int],[AutoDoc] [bit],[Reversion] [bigint],[ClientID]  [int],[ServerID] [int])  Begin Try set @accrid=3 set @branchid = @bid set @version = (select iif(max(Reversion) is null,1,max(Reversion)) from WhDocH) set @finanal = (select FinancialYear_ID from appsettings) set @warehouseid = (select Warehouse_ID from AppUserSettings where UserInfo_ID = @uid)  set @cofferid = (select  Coffer_ID from AppUserSettings where UserInfo_ID = @uid) IF(@pid=-1) BEGIN set @personid = (select  DefaultPerson_ID_FactorForosh  from AppUserSettings where UserInfo_ID = @uid) END ELSE BEGIN  SET @personid=@pid END set @userid =  @uid insert into #tempstock select * from @list  set @i = 1 set @count = (select COUNT(*) from #tempstock) insert into WhDocH (ClientRowID,SystemID,times,branch_id,FinancialYear_ID,Fix_RecordStatusType_ID,Fix_WhDocType1_ID,Fix_WhDocType2_ID,Warehouse_ID,Fix_DiscountType_ID,Coffer_ID,Person_ID,DocNo,FDate,MDate,DiscountPercent,DiscountPrice,SettlePrice,TaxPercent,TaxPrice,TotalPrice,QuantityInUnitPrice,TotalDiscountPriceItems,TotalTaxPriceItems,PayablePrice,DefinedBySystem,InsertedBy,FDateInsert,FTimeInsert,UniqueIdentifierValue,IsSend,IsSettled,SumPercentPrice,TotalIncreasePrice,TotalDecreasePrice,reversion,UniqueCode)  output inserted.RowID into @outputtbl(rowid) values (@clientrow,@systemid,@time,@branchid,@finanal,1,2,21,@warehouseid,2,@cofferid,@personid,(select COALESCE(max(docno), 0) from WhDocH where Fix_WhDocType2_ID = 21) + 1,@date,@mdate,0,@DiscountPrice,@cashpay,0,0,@sum,@quantity,@disc,0,@sum-@DiscountPrice,0,@userid,@date,@time,@guid,0,0,0,@sumincrease,@sumdecrease,@version,@guid)  set @docid = (select DocNo from WhDocH where RowID = (select rowid from @outputtbl) and Fix_WhDocType2_ID = 21)  set @j = 1  while (@j <= @count) begin set @goodid = (select goodid from #tempstock where id = @j) set @measurementunitid = (select MeasureUnitID from #tempstock where id = @j) set @itemcount = (select [count] from #tempstock where id = @j) set @itemcalculatedcount = (select [calculatedcount] from #tempstock where id = @j) set @saleprice = (select saleprice from #tempstock where id = @j) set @itemprice = (select price from #tempstock where id = @j) set @itemdiscount = (select DiscountPrice from #tempstock where id = @j) set @itempurchase = (select PurchasePrice from #tempstock where id = @j) set @averages = (select PurchaseAverage from AveragePrice where GoodID = @goodid) set @auto = (select top(1) AutoDoc from ProductionFormula where ProductionFormula.Product_Good_ID = @goodid) if(@auto = 1) begin set @numbermanufac = (select COALESCE(max(docno), 0) from ManufactureDocH )+ 1 insert into ManufactureDocH(WhID,Branch_ID,FinancialYear_ID,Fix_RecordStatusType_ID,Warehouse_ID,DocNo,MDate,FDate,InsertedBy,InsertServerDateTime,FDateInsert,FTimeInsert,RowUpdateVersion) output inserted.RowID into @outputtbl3(rowid) values((select top(1) rowid from @outputtbl),@branchid,@finanal,2,@warehouseid,@numbermanufac,GETDATE(),@date,@userid,GETDATE(),@date,@time,1) set @err = 1 insert into ManufactureDocD (Branch_ID,FinancialYear_ID,ManufactureDocH_ID,Good_ID,Main_MeasureUnit_ID,MeasureUnit_ID,Quantity,CalculatedQuantity) values (@branchid,@finanal,(select top(1) rowid from @outputtbl3),@goodid,@measurementunitid,@measurementunitid,@itemcount,@itemcalculatedcount) insert into WhDocH (ManufactureDocH_ID,times,branch_id,FinancialYear_ID,Fix_RecordStatusType_ID,Fix_WhDocType1_ID,Fix_WhDocType2_ID,Warehouse_ID,DocNo,FDate,MDate,TotalPrice,InsertedBy,FDateInsert,FTimeInsert,UniqueIdentifierValue,IsSend,IsSettled,reversion,UniqueCode) output inserted.RowID into @outputtbl4(rowid) values ((select top(1) rowid from @outputtbl3),@time,@branchid,@finanal,1,1,3,@warehouseid,(select top(1) DocNo from ManufactureDocH where RowID =(select top(1) rowid from @outputtbl3)) + 1,@date,@mdate,@itemcalculatedcount * @itempurchase,@userid,@date,@time,(SELECT NEWID()),0,0,@version,(SELECT NEWID()))  insert into WhDocD (Branch_Id,FinancialYear_ID,WhDocH_ID,Good_ID,Main_MeasureUnit_ID,MeasureUnit_ID,InputValue,calculatedinputvalue,OutputValue,CalculatedOutputValue,UnitPrice,TotalPrice,purchaseunitprice,purchasetotalprice,IsSend) values (@branchid,@finanal,(select top(1) rowid from @outputtbl4),@goodid,@measurementunitid,@measurementunitid,@itemcount,@itemcalculatedcount,0,0,@itempurchase,(@itempurchase * @itemcount),@itempurchase,(@itempurchase * @itemcount),0) set @manufactcount = (select count(*) from ProductionFormula where Product_Good_ID = @goodid) set @manufactorexoence = (select count(*) from ProductionFormulaDoc where Product_Good_ID = @goodid) set @p = 1 set @l = 1 if(@manufactcount > 0) begin delete from #tempstock2 insert into #tempstock2 select * from ProductionFormula where Product_Good_ID = @goodid insert into WhDocH (ManufactureDocH_ID,times,branch_id,FinancialYear_ID,Fix_RecordStatusType_ID,Fix_WhDocType1_ID,Fix_WhDocType2_ID,Warehouse_ID,DocNo,FDate,MDate,TotalPrice,InsertedBy,FDateInsert,FTimeInsert,UniqueIdentifierValue,IsSend,IsSettled,reversion,UniqueCode) output inserted.RowID into @outputtbl5(rowid) values ((select top(1) rowid from @outputtbl3),@time,@branchid,@finanal,1,2,24,@warehouseid,(select top(1) DocNo from ManufactureDocH where RowID =(select top(1) rowid from @outputtbl3)) + 1,@date,@mdate,@sum,@userid,@date,@time,(SELECT NEWID()),0,0,@version,(SELECT NEWID())) while(@manufactcount >= @p) begin set @goodrow = (Select top(1) Primary_Good_ID From (Select Row_Number() Over (Order By Primary_Good_ID) As RowNum, * From #tempstock2) t2 Where RowNum = @p) set @consumevalue = (select top(1) ConsumeValue from ProductionFormula where Primary_Good_ID = @goodrow  and Product_Good_ID = @goodid) insert into WhDocD (Branch_Id,FinancialYear_ID,WhDocH_ID,Good_ID,Main_MeasureUnit_ID,MeasureUnit_ID,InputValue,calculatedinputvalue,OutputValue,CalculatedOutputValue,UnitPrice,TotalPrice,purchaseunitprice,purchasetotalprice,IsSend) values (@branchid,@finanal,(select top(1) rowid from @outputtbl4),@goodrow,@measurementunitid,@measurementunitid,0,0,@itemcount * @consumevalue,@itemcalculatedcount * @consumevalue,@itempurchase,(@itempurchase * @itemcalculatedcount * @consumevalue),@itempurchase,(@itempurchase * @itemcalculatedcount * @consumevalue),0) set @p = (@p + 1) end end if(@manufactorexoence > 0) begin delete from #tempstock3 insert into #tempstock3 select * from ProductionFormulaDoc where Product_Good_ID = @goodid insert into DocH (FinancialYear_ID,Branch_ID,Fix_DocHType_ID,FDate,MDate,RelateRowID,RowDesc) output inserted.RowID into @outputtbl5(rowid) values (@finanal,@branchid,26,@date,@mdate,(select top(1) rowid from @outputtbl3),N'هزینه بابت سند تولید') while(@manufactorexoence >= @l) begin set @docexid =(Select top(1) Primary_Doc_ID From (Select Row_Number() Over (Order By Primary_Doc_ID) As RowNum, * From #tempstock3) t2 Where RowNum = @l) set @consumevalue = (Select top(1) ConsumeValue From (Select Row_Number() Over (Order By Primary_Doc_ID) As RowNum, * From #tempstock3) t2 Where RowNum = @l) set @doc1 =  (Select top(1) Doc_Acc1 From (Select Row_Number() Over (Order By Primary_Doc_ID) As RowNum, * From #tempstock3) t2 Where RowNum = @l) set @doc2 =  (Select top(1) Doc_Acc2 From (Select Row_Number() Over (Order By Primary_Doc_ID) As RowNum, * From #tempstock3) t2 Where RowNum = @l) set @doc3 =  (Select top(1) Doc_Account From (Select Row_Number() Over (Order By Primary_Doc_ID) As RowNum, * From #tempstock3) t2 Where RowNum = @l) insert into DocD (DocRowDesc,Acc2RowID,Fix_Acc2Type_ID,Fix_Acc1_ID,Branch_ID,IsSend,BedPrice,BesPrice,RelateRowID,RowDesc) values (N'هزینه از بابت سند تولید',@docexid,4,8,@branchid,0,@consumevalue * @itemcalculatedcount,0,(select top(1) rowid from @outputtbl3),N'هزینه بابت سند تولید') insert into DocD (DocRowDesc,Acc2RowID,Fix_Acc2Type_ID,Fix_Acc1_ID,Branch_ID,IsSend,BedPrice,BesPrice,RelateRowID,RowDesc) values (N'بابت ثبت سند هزینه شماره' + ' ' +(select top(1) rowid from @outputtbl3) ,@doc3,@doc1,@doc2,@branchid,@consumevalue * @itemcalculatedcount,0,0,(select top(1) rowid from @outputtbl3),N'بابت ثبت سند تولید') set @l = (@l + 1) end end end insert into WhDocD (Branch_Id,FinancialYear_ID,WhDocH_ID,Good_ID,Main_MeasureUnit_ID,MeasureUnit_ID,Fix_DiscountType_ID,InputValue,calculatedinputvalue,OutputValue,CalculatedOutputValue,UnitPrice,TotalPrice,QuantityInUnitPrice,DiscountPercent,DiscountPrice,purchaseunitprice,purchasetotalprice,taxpercent,TaxPrice,SaleUnitPrice,IsSend,PurchaseTotalPriceAverage) values (@branchid,@finanal,(select rowid from @outputtbl),@goodid,@measurementunitid,@measurementunitid,2,0,0,@itemcount,@itemcalculatedcount,@saleprice,(@itemprice * @itemcount),(@saleprice * @itemcount),0,(@itemdiscount * @itemcount),@itempurchase,(@itempurchase * @itemcount),0,0,@saleprice ,0,@averages) set @j = @j + 1 end set @typetasvieh = (select CardReaderAutoSettlement from AppUserSettings where UserInfo_ID = @uid) insert into DocH (branch_id,Fix_DocHType_ID,financialyear_id,RelateRowID,FDate,MDate,RowDesc,UniqueIdentifierValue)  output inserted.RowID into @outputtbl2(dochid) values (@branchid,2,@finanal,(select top(1) rowid from @outputtbl),@date,@mdate,N'فاکتور فروش شماره ' + CAST(@docid as nvarchar) ,@guid) insert into DocD(Branch_ID,doch_id,fix_acc1_id,fix_acc2type_id,Acc2RowID,BedPrice,BesPrice,RowDesc,IsSend) values (@branchid,(select top(1) dochid from @outputtbl2),3,1,@personid,@sum-@DiscountPrice,0,N'فاکتور فروش شماره ' + CAST(@docid as nvarchar),0) insert into DocD(Branch_ID,doch_id,fix_acc1_id,fix_acc2type_id,BedPrice,BesPrice,RowDesc,IsSend)  values (@branchid,(select top(1) dochid from @outputtbl2),2,0,0,@sum-@DiscountPrice,N'فاکتور فروش شماره ' + CAST(@docid as nvarchar),0) if(@cashpay>0) begin insert into DocD(Branch_ID,doch_id,fix_acc1_id,fix_acc2type_id,Acc2RowID,BedPrice,BesPrice,RowDesc,IsSend) values (@branchid,(select top(1) dochid from @outputtbl2),7,3,@cofferid,@cashpay,0,N'فاکتور فروش شماره ' + CAST(@docid as nvarchar)+N'-مبلغ نقدی',0) insert into DocD(Branch_ID,doch_id,fix_acc1_id,fix_acc2type_id,Acc2RowID,BedPrice,BesPrice,RowDesc,IsSend)  values (@branchid,(select top(1) dochid from @outputtbl2),3,1,@personid,0,@cashpay,N'فاکتور فروش شماره ' + CAST(@docid as nvarchar)+N'-مبلغ نقدی',0) end set @k=1 while(@k<=(select COUNT(*) from @plist)) begin set @browid=(select top(1) bankrowid from @plist where rowid=@k)set @spricebank=(select top(1)  SettlePrice from @plist where rowid=@k) if(@typetasvieh = 1)  begin insert into DocD(Branch_ID,doch_id,fix_acc1_id,fix_acc2type_id,Acc2RowID,BedPrice,BesPrice,RowDesc,IsSend) values (@branchid,(select top(1) dochid from @outputtbl2),5,2,@browid,@spricebank,0,N'فاکتور فروش شماره ' + CAST(@docid as nvarchar)+N'-مبلغ کارتخوان',0) end else begin insert into DocD(Branch_ID,doch_id,fix_acc1_id,fix_acc2type_id,Acc2RowID,BedPrice,BesPrice,RowDesc,IsSend)  values (@branchid,(select top(1) dochid from @outputtbl2),5,8,@browid,@spricebank,0,N'فاکتور فروش شماره ' + CAST(@docid as nvarchar)+N'-مبلغ کارتخوان',0) end insert into DocD(Branch_ID,doch_id,fix_acc1_id,fix_acc2type_id,Acc2RowID,BedPrice,BesPrice,RowDesc,IsSend)  values (@branchid,(select top(1) dochid from @outputtbl2),3,1,@personid,0,@spricebank,N'فاکتور فروش شماره ' + CAST(@docid as nvarchar)+N'-مبلغ کارتخوان',0) set @bankid = (select BankAccountID from POS where RowID = @browid) insert into WhDocHBankAccount(BankAccount_ID,Branch_ID,SettlePrice,WhDocH_ID,IsSend,POS_ID) values (@bankid,@branchid,@spricebank,(select top(1) rowid from @outputtbl),0,@browid) set @k=@k+1 end DELETE FROM dbo.Table_Lottory WHERE nofactor=@docid INSERT INTO Table_Lottory (nofactor,nolottory,[sum],disc) VALUES(@docid,CAST( CAST(RAND() * 10000 AS INT) AS NVARCHAR(50)) + CAST(@docid AS NVARCHAR(50)),@sum,@DiscountPrice) select DocNo from WhDocH where RowID = (select rowid from @outputtbl) set @chancesystem = (select top(1) ChanceSystem from AppSettings) if(@chancesystem = 1) begin insert into ChanceSystem(cid,Fdate,Ftime,Mdate,WhID,[Status]) values (@pid,@date,@time,@mdate,(select rowid from @outputtbl),0) end set @adict = (select count(*) from @alist) set @diact = (select count(*) from @dlist) set @a = 0 set @d = 0 while(@a < @adict) begin insert into WhDocHInvoiceIncrease (Branch_ID,Fix_PercentOrPrice_ID,InvoiceIncrease_ID,WhDocH_ID,IncreasePrice,IncreasePercent) values (@branchid,(select top(1) fixorpercent from @alist where [row] = @a),(select top(1) inid from @alist where [row] = @a), (select rowid from @outputtbl),(select top(1) dprice from @alist where [row] = @a),(select top(1) dpercent from @alist where [row] = @a)) set @a = @a + 1 end while(@d < @diact) begin insert into WhDocHInvoiceDecrease(Branch_ID,Fix_PercentOrPrice_ID,InvoiceDecrease_ID,WhDocH_ID,DecreasePrice,DecreasePercent) values (@branchid,(select top(1) fixorpercent from @dlist where [row] = @d),(select top(1) inid from @dlist where [row] = @d), (select rowid from @outputtbl),(select top(1) dprice from @dlist where [row] = @d),(select top(1) dpercent from @dlist where [row] = @d)) set @d = @d + 1 end commit transaction t1 End try Begin Catch select Error_Message() + @err; rollback transaction t1 return End Catch END

ALTER TABLE dbo.WhDocH ADD[AdditionalPrice] money NULL;

ALTER TABLE dbo.WhDocD ADD[AdditionalPrice] money NULL;

ALTER TABLE dbo.WhDocD ADD[UnitPriceFinal] money NULL;

CREATE TABLE [dbo].[OtherCashWhDocH]([RowID] [bigint] IDENTITY(1,1) NOT NULL,[PersonID] [int] NULL,[Percents] [decimal](18, 2) NULL,[Price] [money] NULL,[WHID] [int] NULL,[FinalPrice] [money] NULL,[RowDesc] [ntext] NULL,CONSTRAINT [PK_OtherCashWhDocH] PRIMARY KEY CLUSTERED ([RowID] ASC)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]

CREATE VIEW [dbo].[WhDocDvs] AS SELECT dbo.Good.RowCode AS Barcode, dbo.Good.BriefDescription, dbo.Good.ConsumerPrice, dbo.WhDocD.DiscountPrice, dbo.WhDocH.FTimeInsert, dbo.WhDocH.FDateUpdate, dbo.WhDocH.FDateInsert, dbo.Good.FirstStock, dbo.WhDocH.FTimeUpdate, dbo.Good.FullDescription, dbo.Good.RowID AS GoodID, dbo.GoodCategory.RowName AS GoodCategory, dbo.Good.GoodNameIndexInPrintInvoice, dbo.WhDocH.UpdatedBy, dbo.WhDocH.InsertedBy, dbo.WhDocH.InsertServerDateTime, dbo.Good.InterestRate, dbo.Good.IsHasSize, dbo.Good.IsActive, dbo.Good.IsSpecialSale, dbo.Good.Main_MeasureUnit_ID, dbo.Good.RowName AS Name, dbo.WhDocH.MDate, dbo.Good.RowNameEN AS NameEN, dbo.Good.OrderPoint, dbo.WhDocD.SaleUnitPrice, dbo.WhDocD.UnitPrice, dbo.WhDocD.TotalPrice, dbo.WhDocD.InputValue, dbo.WhDocD.OutputValue, dbo.WhDocH.Fix_WhDocType2_ID, dbo.WhDocH.Fix_WhDocType1_ID, dbo.WhDocD.GoodSize, dbo.WhDocD.PurchaseTotalPriceAverage, dbo.WhDocD.TaxPrice, dbo.WhDocD.TaxPercent, dbo.WhDocD.PurchaseTotalPrice, dbo.WhDocD.PurchaseUnitPrice, dbo.WhDocD.QuantityInUnitPrice, dbo.WhDocD.DiscountPercent, dbo.WhDocD.RowDesc, dbo.WhDocH.FDate, dbo.WhDocH.DocNo, MeasureUnit_1.RowName AS MainMeasureUnit, dbo.MeasureUnit.RowName AS MeasureUnit, (CASE WHEN dbo.WhDocD.CalculatedInputValue = 0 THEN dbo.WhDocD.CalculatedOutputValue ELSE dbo.WhDocD.CalculatedInputValue END) AS quantity, dbo.WhDocD.WhDocH_ID, dbo.WhDocH.Times, dbo.WhDocD.RowID AS ID FROM dbo.GoodCategory RIGHT OUTER JOIN dbo.MeasureUnit AS MeasureUnit_1 INNER JOIN dbo.WhDocD INNER JOIN dbo.Good ON dbo.WhDocD.Good_ID = dbo.Good.RowID INNER JOIN dbo.MeasureUnit ON dbo.Good.Default_MeasureUnit_ID = dbo.MeasureUnit.RowID AND dbo.Good.Main_MeasureUnit_ID = dbo.MeasureUnit.RowID ON MeasureUnit_1.RowID = dbo.Good.Default_MeasureUnit_ID INNER JOIN dbo.WhDocH ON dbo.WhDocD.WhDocH_ID = dbo.WhDocH.RowID ON dbo.GoodCategory.RowID = dbo.Good.GoodCategory_ID

CREATE VIEW [dbo].[WhDocDAverageByDate] AS SELECT dbo.WhDocDvs.GoodID, dbo.WhDocDvs.ID, CAST(SUM(dbo.WhDocD.PurchaseTotalPrice) / COALESCE (CASE WHEN SUM(whdocd.CalculatedInputValue) = 0 THEN 1 ELSE SUM(whdocd.CalculatedInputValue) END, 1) AS money) AS PurchaseAverage FROM  dbo.WhDocH INNER JOIN dbo.WhDocD ON dbo.WhDocH.RowID = dbo.WhDocD.WhDocH_ID INNER JOIN dbo.WhDocDvs ON dbo.WhDocD.RowID = dbo.WhDocDvs.ID WHERE (dbo.WhDocDvs.Fix_WhDocType2_ID = 1) OR (dbo.WhDocDvs.Fix_WhDocType2_ID = 6) AND (dbo.WhDocDvs.MDate <= dbo.WhDocH.MDate) GROUP BY dbo.WhDocDvs.GoodID, dbo.WhDocDvs.ID

ALTER VIEW [dbo].[WhDocDAverageByDate] AS SELECT dbo.WhDocDvs.GoodID, dbo.WhDocDvs.ID, dbo.WhDocH.MDate, CAST(SUM(dbo.WhDocD.PurchaseTotalPrice) / COALESCE (CASE WHEN SUM(whdocd.CalculatedInputValue) = 0 THEN 1 ELSE SUM(whdocd.CalculatedInputValue) END, 1) AS money) AS PurchaseAverage FROM dbo.WhDocH INNER JOIN dbo.WhDocD ON dbo.WhDocH.RowID = dbo.WhDocD.WhDocH_ID INNER JOIN dbo.WhDocDvs ON dbo.WhDocD.RowID = dbo.WhDocDvs.ID WHERE (dbo.WhDocDvs.Fix_WhDocType2_ID = 1) OR (dbo.WhDocDvs.Fix_WhDocType2_ID = 6) AND (dbo.WhDocDvs.MDate <= dbo.WhDocH.MDate) GROUP BY dbo.WhDocDvs.GoodID, dbo.WhDocDvs.ID, dbo.WhDocH.MDate

ALTER TABLE dbo.WhDocD ADD[Kosorat] money NULL;

ALTER TABLE dbo.WhDocD ADD[ezafat] money NULL;

ALTER TABLE [dbo].[OtherCashWhDocH]  WITH CHECK ADD  CONSTRAINT [FK_OtherCashWhDocH_WhDocH] FOREIGN KEY([WHID])REFERENCES [dbo].[WhDocH] ([RowID])

ALTER TABLE [dbo].[OtherCashWhDocH] CHECK CONSTRAINT [FK_OtherCashWhDocH_WhDocH]

ALTER TABLE [dbo].[OtherCashWhDocH]  WITH CHECK ADD  CONSTRAINT [FK_OtherCashWhDocH_Person] FOREIGN KEY([PersonID])REFERENCES [dbo].[Person] ([RowID])

ALTER TABLE [dbo].[OtherCashWhDocH] CHECK CONSTRAINT [FK_OtherCashWhDocH_Person]
