Kaynak: KB-v1
08_SupportPlaybooks/Processes/PROC-180.md←Surecler/*.doc(destek süreç dokümanı; parola/IP/terminal maskelenmiş). Gerçeklik: DOCUMENTED — kodla doğrulanmış değil.
ERP Devir Süreci_v2
Kimlik: PROC-180 · Ürün: ERPGOLDV2 · Kategori: Devir ve yıl sonu · Katalog: ERP Devir Süreci_v2
Kaynak: AifaSoft destek süreç dokümanı (Word). Şifre, kullanıcı adı, terminal no ve IP bilgileri kaynak aşamasında maskelenmiştir; görseller resimli süreç kitabındadır.
ERPGOLDV2 DEVİR SÜRECİ V2.0
ERPGOLD programı; belirli bir tarihten öncesini devir etmek istenirse aşağıdaki query çalıştırılacaktır.
Aşağıdaki query çalıştırılmadan önce dikkat edilecek hususlar;
-
Takoz Stokları tamamen SIFIR olacaktır. Eğer takoz varsa bir karta çıkış yapılarak stoğu boşaltınız.
-
Nakit Stokları ve Maden Stokları (maliyeti göster ile) not ediniz. (Excel' e aktarılabilir, Screen Shot alınabilir, yazdırılabilir veya not alınabilir.)
-
Bakiye Ekstresini not ediniz. (Excel' e aktarılabilir, Screen Shot alınabilir, yazdırılabilir veya not alınabilir.)
-
Bilançoyu son kez alıp kaydediniz ve listeden son bilançoyu not ediniz. (En alt satır)
-
Bilanço ekranının sol tarafında bulunan bakiyeler, stoklar ve işçilik alanlarını not ediniz.
-
Query nin ilk satırında yer alan Declare @Tarih Date='2022-12-31' alanında devir edilecek tarihi giriniz. Örneğin bu kodda 1 Ocak 2023 öncesi devir edilecektir.
DEVİR QUERY
Declare @Tarih Date='2022-01-01'
print 'Triggerlar Disable Ediliyor.'
Alter Table Cari.Islemler DISABLE TRIGGER ALL
print 'Geçici Tablolar Oluþturuluyor.'
IF OBJECT_ID(N'tempdb..#TBLDevirBakiye') IS NULL
BEGIN
CREATE TABLE #TBLDevirBakiye(IslemID int,Tarih Date,HesapType int,HesapId int,KasaId int,BirimId int,Bakiye decimal(18,2),RefNo nvarchar(36)) ON [PRIMARY]
END
ELSE
BEGIN
TRUNCATE TABLE #TBLDevirBakiye
END
IF OBJECT_ID(N'tempdb..#TBLDevirStok') IS NULL
BEGIN
CREATE TABLE #TBLDevirStok(IslemID int,Bolum int,IslemTuru int,Tarih Date,SubeId int,KasaId int,StokTipi int,StokId int,Adet int,Miktar Decimal(18,2),Milyem Decimal(18,5),Has Decimal(18,2),Maliyet Decimal(18,2),VaryantId int) ON [PRIMARY]
END
ELSE
BEGIN
TRUNCATE TABLE #TBLDevirStok
END
print 'Devir Bakiyeleri Geçici Dosyalara Yazýlýyor.'
INSERT INTO #TBLDevirBakiye
Select -1 as IslemId,DATEADD (day, -1,@Tarih) as Tarih,0 as HesapType,HesapId ,KasaId,BirimId ,Sum(Bakiye) as Bakiye,NEWID() from Cari.BakiyeIslem Where Tarih <@Tarih
group by HesapId,KasaId ,BirimId Having SUM(Bakiye)\<>0
print 'Devir Stoklarý Geçici Dosyalara Yazýlýyor.'
INSERT INTO #TBLDevirStok
Select -1 as IslemId,Bolum,H.IslemTuru ,DATEADD (day, -1,@Tarih),H.SubeId ,H.KasaId ,H.StokTipi ,H.StokId ,SUM(H.Adet) as Adet,SUM(H.Miktar) as Miktar,Fn.Bol(SUM(H.Has),Sum(H.Miktar)) as Milyem,Sum(H.Has) as Has , SUM(H.Maliyet) as Maliyet,H.VaryantId from Stok.StokHaraketleri H Left Join Cari.Islemler I on I.Id=H.IslemId Where IsNull(I.Tarih,Convert(date,I.InsertDate)) <@Tarih And StokTipi in (1,2)
Group by Bolum ,H.IslemTuru ,H.SubeId ,H.KasaId ,H.StokTipi ,H.StokId ,H.VaryantId
print 'Ýþlemler Arsivleniyor.'
Delete From Cari.Islemler Where Tarih <@Tarih
Delete From Cari.IslemDetaylari Where IslemId not in (Select Id From Cari.Islemler)
print 'Stoklar Arsivleniyor.'
Delete From Stok.StokHaraketleri Where IslemId not in (Select Id From Cari.Islemler)
Delete From Cari.BakiyeIslem Where IslemId not in (Select Id From Cari.Islemler)
print 'Bakiyeler ve Stoklar Aktarýlýyor.'
Insert Into Cari.BakiyeIslem Select * from #TBLDevirBakiye
Insert Into Stok.StokHaraketleri Select * from #TBLDevirStok
print 'Triggerlar Enable Ediliyor.'
Alter Table Cari.Islemler ENABLE TRIGGER ALL
Kaynaklar
- SRC-PROC-DOC — süreç dokümanı #180
