CREATE VIEW [dbo].[BV_121_CLFLINE_FATURA_BAGLANTISIZ] AS
SELECT
CLFL.LOGICALREF CLFLINE_LOGICALREF,
CASE ((MODULENR*100)+TRCODE)
WHEN 381 THEN 'Satış Siparişi'
WHEN 382 THEN 'Satınalma Siparişi'
WHEN 431 THEN 'Satın Alma Faturası'
WHEN 432 THEN 'Perakende Satış İade Faturası'
WHEN 433 THEN 'Toptan Satış İade Faturası'
WHEN 434 THEN 'Alınan Hizmet Faturası'
WHEN 435 THEN 'Alınan Proforma Faturası'
WHEN 436 THEN 'Alım İade Faturası'
WHEN 437 THEN 'Perakende Satış Faturası'
WHEN 438 THEN 'Toptan Satış Faturası'
WHEN 439 THEN 'Verilen Hizmet Faturası'
WHEN 440 THEN 'Verilen Proforma Faturası'
WHEN 441 THEN 'Verilen Vade Farkı Faturası'
WHEN 442 THEN 'Alınan Vade Farkı Faturası'
WHEN 443 THEN 'Alınan Fiyat Farkı Faturası'
WHEN 444 THEN 'Verilen Fiyat Farkı Faturası'
WHEN 456 THEN 'Müstahsil Makbuzu'
WHEN 501 THEN 'Nakit Tahsilat'
WHEN 502 THEN 'Nakit Ödeme'
WHEN 503 THEN 'Borç Dekontu'
WHEN 504 THEN 'Alacak Dekontu'
WHEN 505 THEN 'Virman İşlemi'
WHEN 506 THEN 'Kur Farkı İşlemi'
WHEN 512 THEN 'Özel İşlem'
WHEN 514 THEN 'Açılış Fişi'
WHEN 570 THEN 'Kredi Kartı Fişi'
WHEN 661 THEN 'Çek Girişi'
WHEN 662 THEN 'Senet Girişi'
WHEN 663 THEN 'Çek Çıkış Cari Hesaba'--CSTRANS.CLACCREF
WHEN 664 THEN 'Senet Çıkış Cari Hesaba'
WHEN 720 THEN 'Gelen Havaleler'
WHEN 721 THEN 'Gönderilen Havaleler'
WHEN 728 THEN 'Banka Alınan Hizmet'
WHEN 729 THEN 'Banka Verilen Hizmet'
WHEN 1001 THEN 'Nakit Tahsilat'
WHEN 1002 THEN 'Nakit Ödeme'
WHEN 6103 THEN 'Borç Dekontu (Çek)'
WHEN 6104 THEN 'Alacak Dekontu (Çek)'
END [FIS_TURU],
(SELECT C.CODE FROM LG_121_CLCARD C WHERE C.LOGICALREF=CLIENTREF ) CARIKODU,
(SELECT C.DEFINITION_ FROM LG_121_CLCARD C WHERE C.LOGICALREF=CLIENTREF ) CARIADI,
DATE_ TARIH,
TRANNO,
DOCODE BELGENO,
AMOUNT TUTAR FROM LG_121_01_CLFLINE CLFL WHERE MODULENR=4 AND SOURCEFREF NOT IN (SELECT LOGICALREF FROM LG_121_01_INVOICE)
Silme işlemi:
delete LG_121_01_CLFLINE WHERE LOGICALREF IN (SELECT CLFLINE_LOGICALREF FROM BV_121_CLFLINE_FATURA_BAGLANTISIZ)
Talep: 122 Firmasında hareket görmeyen malzemeler(devir ile 120->121->122 gelmekte yıllık)
SELECT STOCKREF,MALZEMEKODU,MALZEMEADI,SONHAREKETTARIHI FROM (
SELECT *,
(SELECT MAX(SONHAREKET)
FROM (VALUES (SONHAREKET120),(SONHAREKET121),(SONHAREKET122)) AS UpdateDate(SONHAREKET))
AS SONHAREKETTARIHI
FROM (
SELECT LOGICALREF AS STOCKREF, CODE AS MALZEMEKODU, NAME AS MALZEMEADI,
ISNULL((SELECT MAX(DATE_) SONHAREKETTARIHI FROM [ERULKU2016_2020].[dbo].[LG_120_01_STLINE] T WHERE T.STOCKREF=ITEMS.LOGICALREF AND T.LINETYPE=0 AND T.CANCELLED=0 ),'01-01-2000') SONHAREKET120,
ISNULL((SELECT MAX(DATE_) SONHAREKETTARIHI FROM [LG_121_01_STLINE] T WHERE T.STOCKREF=ITEMS.LOGICALREF AND T.LINETYPE=0 AND T.CANCELLED=0 ),'01-01-2000') SONHAREKET121,
ISNULL((SELECT MAX(DATE_) SONHAREKETTARIHI FROM [LG_122_01_STLINE] T WHERE T.STOCKREF=ITEMS.LOGICALREF AND T.LINETYPE=0 AND T.CANCELLED=0 ),'01-01-2000') SONHAREKET122
FROM LG_122_ITEMS ITEMS
) AS T
) AS TFINAL WHERE SONHAREKETTARIHI<='2020-01-01'
SORUN: CARİ – MALZEME – BANKA HESAP HAREKET GÖRMEMESİNE RAĞMEN SİLİNEMEMESİ. (LOGO GO3)
TRACE KONTROLLERİ YAPILARAK İLGİLİ TABLOLARIN REFERANSLARI KONTROL EDİLDİ VE KAYIT YOKDU:
UPDATE LG_122_CLCARD SET USEDINPERIODS='0' WHERE ( LOGICALREF = 575)
UPDATE LG_122_ITEMS SET USEDINPERIODS='0' WHERE ( LOGICALREF = 1999)
UPDATE LG_122_BANKACC SET USEDINPERIODS='0' WHERE ( LOGICALREF = 4)
LOGO Tigerda tabloları sürüme göre güncellerken alınan LV_TRDGRP collation hatası(view kontrolü sonrası tespit edilen – sorunu yaratan tablo alanı: LG_XXX_XX_CLFLINE – TIGER3 VERSION 2.75) :
SQL_Latin1_General_CP1254_Ci_AS
Bendeki çözümü: sql serverde collationı değiştirmek oldu
Talep: Logo object designer uyarlamada Logo satınalma faturasına, satır eğer malzeme ise ilgili malzemenin tablosundan özelkod4 (specode4) getirme talebi.
İşlem(Tiger 3 2.71) :
Önce InvoiceGrid grid componentine tıklayıp colattribs içinden MalzemeOzelKodu eklendi:
Formshow eventi:
Sub FormShow()
MGridName="InvoiceGrid"
MaxGridLine=MGridLines("InvoiceGrid")-1
for i=0 to MaxGridLine
GetGridRowHandle("InvoiceGrid",i,recH)
AppTables[9].GetIntFieldR(recH,"STOCKREF",intSTOCKREF)
AppTables[9].GetIntFieldR(recH,"LINETYPE",intLineType)
if intSTOCKREF>0 and intLineType=0 then
str(intSTOCKREF,STRSTOCKREF)
TableName = Application.GetTableName(1, Application.CompanyId, Application.FiscPerdId)
SPECODE4= G_GETTOP1TORESULT(TableName,false,4 ,"SPECODE4","LOGICALREF="+STRSTOCKREF)
SetCellText(MGridName,i,10071,SPECODE4)
end if
next i
End Sub
Controlexit eventi(malzeme kodu / malzeme açıklamasına girince):
Sub ControlExit(ctrl as String, index as Integer)
If ctrl="InvoiceGrid" and (Index=2 or Index=3) Then
MGridName="InvoiceGrid"
GridRow=MGridRow(MGridName)
GetCellText(MGridName,GridRow,16,TUR)
if TUR="Malzeme" Then
GetCellText(MGridName,GridRow,1,KODU)
TableName = Application.GetTableName(1, Application.CompanyId, Application.FiscPerdId)
SPECODE4= G_GETTOP1TORESULT(TableName,false,4 ,"SPECODE4","CODE='"+KODU+"'")
SetCellText(MGridName,GridRow,10071,SPECODE4)
end if
END if
End Sub
Function G_GETTOP1TORESULT(TableName as String,isCustTable as bool,RESULTFIELDTYPE as int ,SelectField as String,Where as String)
' Fielttype Alan türü. 1 Integer 2 Date(Logo formatı tarih ) 3 Float 4 Text
'TableName = Application.GetTableName(TableId, Application.CompanyId, Application.FiscPerdId)
'TableName = Application.GetCustTableName(1, Application.CompanyId, Application.FiscPerdId)
CreateQuery(MyQry1)
MyQryTable1=TableName
MySqlTxt1 = "Select top 1 "+SelectField+" From " + MyQryTable1 + " WITH(NOLOCK) WHERE "+Where
MyQry1.SetSQLText(MySqlTxt1)
If MyQry1.ExecuteDirect() Then
Res = MyQry1.First()
if Res = 0 then
if RESULTFIELDTYPE=4 then
FResult = ""
else
FResult = 0
end if
end if
Do While Res=1
MyQry1.GetFieldValue(1, RESULTFIELDTYPE, FResult)
Res=MyQry1.Next()
Loop
End if
MyQry1.Clear()
result=FResult
End Function
Not: Eğer tiger tarafında lodda eklenen kolon görünmez ise bu işlem yapılır (upgrade formsa tıklanır) test edilebilir(Her adımın yedekleme yaparak ilerlenmesini tavsiye ederim):
Yaklaşık 2 haftadır yaşadığım sorun. Google Drive değişiklikleri senkronize edemiyordu senkronizede takılıp kalıyordu.
Kaspersky endpoint security windows pause yaptım senkronizasyon düzeldi ama geri aktif edince yine patladı.
Kasperskydan destek aldım. Tool verdiler analiz edip zip dosyası oluşturan masaüstüne. Raporu yolladım incelediler birkaç program silmemi söylediler ilgili rapora göre , windows updateinde bir patchda bir versionda sorun varmış fixini yaptım yine düzelmedi.
Son olarak mevcut sürümü silip Kaspersky endpoint for windows 11in güncel versionunu kurunca sorunum düzeldi. Hatta kurulum öncesi son windows güncelleştirmelerinide yaptım.
Not telefonum uygulamasıda aynı sorundan muzdaripti oda düzeldi…
İşletim sistemi : Windows 10 64 bit 21h1 19043.1348 ,
Google drive versionu : 53.0.8.0 ,
Kaspersky çalışan version : Kaspersky endpoint for windows 1111.7.0.669
subquerynın icine tek olan bir değer koy örnek FORSUM=0 HER SATIRDA 0 OLSUN BU SONRA SUBQUERYNIN USTUNDE SUM(NETTOTAL) OVER(PARTITION BY FORSUM) AS TOTAL_NETTOTAL,
ÖRNEK
SELECT DISTINCT SUM(NETTOTAL) OVER(PARTITION BY FORSUM) AS TOTAL_NETTOTAL
FROM (
SELECT
0 FORSUM,
FICHENO,NETTOTAL
FROM LG_946_01_INVOICE
) AS T