-- Envanter hareket belgesi: Alım, Teslimat, İç Transfer (ve sonra Üretim) aynı başlık tablosunu paylaşır; tür OperationKind ile ayrılır. IF OBJECT_ID(N'[dbo].[Inv_T_Transfer]', 'U') IS NULL BEGIN CREATE TABLE [dbo].[Inv_T_Transfer] ( [Id] uniqueidentifier NOT NULL DEFAULT NEWID(), [TenantId] uniqueidentifier NULL, [TransferNo] nvarchar(32) NULL, [BranchId] uniqueidentifier NOT NULL, [WarehouseId] uniqueidentifier NOT NULL, [OperationTypeId] uniqueidentifier NOT NULL, [OperationKind] nvarchar(32) NOT NULL DEFAULT 'Receipt', [PartnerId] uniqueidentifier NULL, [SourceLocationId] uniqueidentifier NULL, [DestinationLocationId] uniqueidentifier NULL, [ScheduledDate] datetime NOT NULL DEFAULT GETUTCDATE(), [EffectiveDate] datetime NULL, [SourceDocument] nvarchar(128) NULL, [PurchaseOrderId] uniqueidentifier NULL, [BackorderOfId] uniqueidentifier NULL, [ReturnOfId] uniqueidentifier NULL, [CarrierId] uniqueidentifier NULL, [TrackingReference] nvarchar(128) NULL, [Weight] decimal(18, 4) NOT NULL DEFAULT 0, [ShippingWeight] decimal(18, 4) NOT NULL DEFAULT 0, [ResponsibleUserId] uniqueidentifier NULL, [ProjectId] uniqueidentifier NULL, [DeliveryPolicy] nvarchar(16) NULL, [Note] nvarchar(MAX) NULL, [LineSummary] nvarchar(MAX) NULL, [Status] nvarchar(16) NOT NULL DEFAULT 'Draft', [PendingAction] nvarchar(16) NULL, [SourceApproverUserNames] nvarchar(512) NULL, [ApprovalUserName] nvarchar(256) NULL, [ApprovalStatus] nvarchar(50) NULL, [ApprovalDate] datetime NULL, [ApprovalDescription] nvarchar(200) NULL, [ReceivedByUserId] uniqueidentifier NULL, [ReceivedDate] datetime NULL, [CreationTime] datetime2 NOT NULL DEFAULT GETUTCDATE(), [CreatorId] uniqueidentifier NULL, [LastModificationTime] datetime2 NULL, [LastModifierId] uniqueidentifier NULL, [IsDeleted] bit NOT NULL DEFAULT 0, [DeletionTime] datetime2 NULL, [DeleterId] uniqueidentifier NULL, CONSTRAINT [PK_Inv_T_Transfer] PRIMARY KEY NONCLUSTERED ( [Id] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY] ) ON [PRIMARY] END GO IF INDEXPROPERTY(OBJECT_ID(N'[dbo].[Inv_T_Transfer]'), 'IX_Inv_T_Transfer_TenantId_OperationKind_Status', 'IndexID') IS NULL BEGIN CREATE INDEX [IX_Inv_T_Transfer_TenantId_OperationKind_Status] ON [dbo].[Inv_T_Transfer] ([TenantId] ASC, [OperationKind] ASC, [Status] ASC); END GO IF INDEXPROPERTY(OBJECT_ID(N'[dbo].[Inv_T_Transfer]'), 'IX_Inv_T_Transfer_OperationTypeId', 'IndexID') IS NULL BEGIN CREATE INDEX [IX_Inv_T_Transfer_OperationTypeId] ON [dbo].[Inv_T_Transfer] ([OperationTypeId] ASC); END GO IF INDEXPROPERTY(OBJECT_ID(N'[dbo].[Inv_T_Transfer]'), 'IX_Inv_T_Transfer_PurchaseOrderId', 'IndexID') IS NULL BEGIN CREATE INDEX [IX_Inv_T_Transfer_PurchaseOrderId] ON [dbo].[Inv_T_Transfer] ([PurchaseOrderId] ASC); END GO IF OBJECT_ID(N'[dbo].[FK_Inv_T_Transfer_BranchId]', 'F') IS NULL BEGIN ALTER TABLE [dbo].[Inv_T_Transfer] ADD CONSTRAINT [FK_Inv_T_Transfer_BranchId] FOREIGN KEY ([BranchId]) REFERENCES [dbo].[Sas_T_Branch] ([Id]) ON DELETE NO ACTION ON UPDATE NO ACTION; END GO IF OBJECT_ID(N'[dbo].[FK_Inv_T_Transfer_OperationTypeId]', 'F') IS NULL BEGIN ALTER TABLE [dbo].[Inv_T_Transfer] ADD CONSTRAINT [FK_Inv_T_Transfer_OperationTypeId] FOREIGN KEY ([OperationTypeId]) REFERENCES [dbo].[Inv_T_OperationType] ([Id]) ON DELETE NO ACTION ON UPDATE NO ACTION; END GO IF OBJECT_ID(N'[dbo].[FK_Inv_T_Transfer_SourceLocationId]', 'F') IS NULL BEGIN ALTER TABLE [dbo].[Inv_T_Transfer] ADD CONSTRAINT [FK_Inv_T_Transfer_SourceLocationId] FOREIGN KEY ([SourceLocationId]) REFERENCES [dbo].[Inv_T_Location] ([Id]) ON DELETE NO ACTION ON UPDATE NO ACTION; END GO IF OBJECT_ID(N'[dbo].[FK_Inv_T_Transfer_DestinationLocationId]', 'F') IS NULL BEGIN ALTER TABLE [dbo].[Inv_T_Transfer] ADD CONSTRAINT [FK_Inv_T_Transfer_DestinationLocationId] FOREIGN KEY ([DestinationLocationId]) REFERENCES [dbo].[Inv_T_Location] ([Id]) ON DELETE NO ACTION ON UPDATE NO ACTION; END GO