Merhaba,
Almış olduğunuz hata ya gerçekten tahsil etmek istediğiniz çek sistemde yok yada statüsü uygun değil. Çek girişi yaptıktan sonra örneğin Çek çıkış (Banka Tahsil) fişini Tigerda oluşturmadan İşlem Bordrosu (Müşteri Çeki) / Bankada Tahsil işlemi yapamazsınız. Bunun içinde bu örnekte Bankada Tahsil fişi için ilgili çekin LG_FFF_DD_CSCARD tablosundaki CURRST alanı 4 olması gerekiyor.
Sizde benzer senaryoyu Tiger üzerinden yapıp tahsil etmeden önceki durumda CURRST alanı ne ise tahsil postunu göndermeden önce bu alanın kontrolünü kendi kodunuza ekleyebilirsiniz.
Ayrıca yukarıdaki gibi her alanı ayrı ayrı post etmenize gerek yok. Örneğin aşağıdaki kod LOD içerisinde senet tahsilat işlemi yapan bir kod.
objFire = Application.NewDataObject(21)
objFire.New()
objFire.DataFields.FieldByName("TYPE").Value = 10
objFire.DataFields.FieldByName("NUMBER").Value = "~"
objFire.DataFields.FieldByName("PROC_TYPE").Value = 2
objFire.DataFields.FieldByName("DATE").Value = day
objFire.DataFields.FieldByName("CURRSEL_TOTALS").Value = 1
transactions_lines = objFire.DataFields.FieldByName("TRANSACTIONS").Lines
If transactions_lines.AppendLine() Then
transactions_lines[0].FieldByName("TYPE").Value = 2
transactions_lines[0].FieldByName("CURRENT_STATUS").Value = 8
transactions_lines[0].FieldByName("NUMBER").Value = strPrfNo
' transactions_lines[i].FieldByName("OWING").Value = strCariN
' transactions_lines[i].FieldByName("DUE_DATE").Value = dayVade
transactions_lines[0].FieldByName("DATE").Value = day
' transactions_lines[i].FieldByName("AMOUNT").Value = intTutar
transactions_lines[0].FieldByName("TRANS_STATUS").Value = 8
transactions_lines[0].FieldByName("STATUS_ORDER").Value = 1
end if
If Not objFire.Post() Then
if (objFire.ValidateErrors.Count > 0) then
tmpErrStr = "XML Hatası mevcut!"
Cntr = objFire.ValidateErrors.Count
For ilp = 0 To (Cntr - 1)
vID = objFire.ValidateErrors.Item[ilp].ID
Str(vID, strvID)
tmpErrStr = tmpErrStr + strvID + " , " + objFire.ValidateErrors.Item[ilp].Error
Next ilp
warn(tmpErrStr)
Else
tmpErrStr=""
tmpErrStr = "DB Hatası mevcut!"
ErrId = objFire.ErrorCode
Str(ErrId, strErr)
ErrDef = ""
ErrDef = objFire.DBErrorDesc
tmpErrStr = tmpErrStr + "Hata Kodu : " + strErr + " " + ErrDef
warn(tmpErrStr)
End if
ELSE
end if
result = strPrfNo + " Numaralı Senet Tahsil Edilmiştir."
warn(result)
Cevap vermek için giriş yapmanız gerekmektedir.
Soru sormak için lütfen oturum açınız.
Bankadan Çek Tahsilatının LObjects Atılması
12/10/18 10:06   Tiger/Logo ObjectsMerhabalar,
Bankadan tahsilatı yapılmış Bordrodaki bir çeke ait tahsilat işlemi oluşturmak istiyoruz. Tahsilat yapılan banka ve çeke ait tüm bilgileri aşağıdaki gibi oluşturup gönderiyoruz lakin :
Çek Tahsilatı Girişi : Result:XML ErrorList:(6102) - Üzerinde işlem yapılan M126540 numaralı çek/senet bulunamadı veya statüsü uygun değil.
Kod blogu aşagıdaki gibidir :
UnityObjects.Data rolls = UnityApp.NewDataObject(UnityObjects.DataObjectType.doCQPnRoll);
rolls.New();
rolls.DataFields.FieldByName("TYPE").Value = "9";
rolls.DataFields.FieldByName("NUMBER").Value ="~";
rolls.DataFields.FieldByName("DATE").Value = HDate;
rolls.DataFields.FieldByName("TOTAL").Value = Tutar.ToString().Replace(",", ".");
UnityObjects.Lines transactions_lines = rolls.DataFields.FieldByName("TRANSACTIONS").Lines;
transactions_lines.AppendLine();
transactions_lines[transactions_lines.Count - 1].FieldByName("TYPE").Value = "1";
transactions_lines[transactions_lines.Count - 1].FieldByName("CURRENT_STATUS").Value = "8";
transactions_lines[transactions_lines.Count - 1].FieldByName("NUMBER").Value = PORTFOYNO;
transactions_lines[transactions_lines.Count - 1].FieldByName("BANK_TITLE").Value = BankaAdi;
transactions_lines[transactions_lines.Count - 1].FieldByName("CITY").Value = Sehir;
transactions_lines[transactions_lines.Count - 1].FieldByName("OWING").Value = OWING;
transactions_lines[transactions_lines.Count - 1].FieldByName("INFORMANT").Value = Sehir;
transactions_lines[transactions_lines.Count - 1].FieldByName("DIVISION_NO").Value = DIVISION_NO;
transactions_lines[transactions_lines.Count - 1].FieldByName("ACCOUNT_NO").Value = ACCOUNT_NO;
transactions_lines[transactions_lines.Count - 1].FieldByName("DUE_DATE").Value = DUE_DATE;
transactions_lines[transactions_lines.Count - 1].FieldByName("DATE").Value = DATE;
transactions_lines[transactions_lines.Count - 1].FieldByName("AMOUNT").Value = Tutar.ToString().Replace(",", ".");
transactions_lines[transactions_lines.Count - 1].FieldByName("TC_AMOUNT").Value = Tutar.ToString().Replace(",", ".");
transactions_lines[transactions_lines.Count - 1].FieldByName("GL_CODE1").Value = "101.01";
transactions_lines[transactions_lines.Count - 1].FieldByName("SERIAL_NR").Value = CekNO; // 4140602
transactions_lines[transactions_lines.Count - 1].FieldByName("TAX_NR").Value = TAX_NR; //3140525077
UnityObjects.Lines bank_transactions_lines = rolls.DataFields.FieldByName("BANK_TRANSACTIONS").Lines;
bank_transactions_lines.AppendLine();
bank_transactions_lines[bank_transactions_lines.Count - 1].FieldByName("TYPE").Value = "3";
//bank_transactions_lines[bank_transactions_lines.Count - 1].FieldByName("TRANNO").Value = 16020057;
bank_transactions_lines[bank_transactions_lines.Count - 1].FieldByName("BANKACC_CODE").Value = EntKodu;
bank_transactions_lines[bank_transactions_lines.Count - 1].FieldByName("GL_CODE2").Value = "101.02";
bank_transactions_lines[bank_transactions_lines.Count - 1].FieldByName("DATE").Value = HDate;
//bank_transactions_lines[bank_transactions_lines.Count - 1].FieldByName("SIGN").Value = 1;
//bank_transactions_lines[bank_transactions_lines.Count - 1].FieldByName("TRCODE").Value = 2;
//bank_transactions_lines[bank_transactions_lines.Count - 1].FieldByName("MODULENR").Value = 61;
bank_transactions_lines[bank_transactions_lines.Count - 1].FieldByName("DESCRIPTION").Value = "Nr:" + PORTFOYNO + ",V:" + DUE_DATE + ",Cekin Tahsili";
bank_transactions_lines[bank_transactions_lines.Count - 1].FieldByName("DEBIT").Value = Tutar.ToString().Replace(",", ".");
bank_transactions_lines[bank_transactions_lines.Count - 1].FieldByName("CREDIT").Value = Tutar.ToString().Replace(",", ".");
bank_transactions_lines[bank_transactions_lines.Count - 1].FieldByName("AMOUNT").Value = Tutar.ToString().Replace(",", ".");
bank_transactions_lines[bank_transactions_lines.Count - 1].FieldByName("TC_AMOUNT").Value = Tutar.ToString().Replace(",", ".");
bank_transactions_lines[bank_transactions_lines.Count - 1].FieldByName("DUE_DATE").Value = HDate;
bank_transactions_lines.AppendLine();
bank_transactions_lines[bank_transactions_lines.Count - 1].FieldByName("TYPE").Value = "1";
bank_transactions_lines[bank_transactions_lines.Count - 1].FieldByName("BANKACC_CODE").Value = EntKodu; //14 5003
bank_transactions_lines[bank_transactions_lines.Count - 1].FieldByName("GL_CODE2").Value = BankaMuhasebeKodu; //102.14.01
bank_transactions_lines[bank_transactions_lines.Count - 1].FieldByName("DATE").Value = HDate;
//bank_transactions_lines[bank_transactions_lines.Count - 1].FieldByName("TRCODE").Value = 2;
//bank_transactions_lines[bank_transactions_lines.Count - 1].FieldByName("MODULENR").Value = 62;
bank_transactions_lines[bank_transactions_lines.Count - 1].FieldByName("DESCRIPTION").Value = "Nr:" + PORTFOYNO + ",V:" + DUE_DATE + ",Cekin Tahsili";
bank_transactions_lines[bank_transactions_lines.Count - 1].FieldByName("DEBIT").Value = Tutar.ToString().Replace(",", ".");
bank_transactions_lines[bank_transactions_lines.Count - 1].FieldByName("AMOUNT").Value = Tutar.ToString().Replace(",", ".");
bank_transactions_lines[bank_transactions_lines.Count - 1].FieldByName("TC_AMOUNT").Value = Tutar.ToString().Replace(",", ".");
bank_transactions_lines.AppendLine();
bank_transactions_lines[bank_transactions_lines.Count - 1].FieldByName("TYPE").Value = "5";
bank_transactions_lines[bank_transactions_lines.Count - 1].FieldByName("BANKACC_CODE").Value = EntKodu; //14 5003
//bank_transactions_lines[bank_transactions_lines.Count - 1].FieldByName("SOURCEFREF").Value = 33518;
bank_transactions_lines[bank_transactions_lines.Count - 1].FieldByName("DATE").Value = HDate;
//bank_transactions_lines[bank_transactions_lines.Count - 1].FieldByName("TRCODE").Value = 2;
//bank_transactions_lines[bank_transactions_lines.Count - 1].FieldByName("MODULENR").Value = 65;
bank_transactions_lines[bank_transactions_lines.Count - 1].FieldByName("DESCRIPTION").Value = "Nr:"+PORTFOYNO+",V:"+ DUE_DATE+",Cekin Tahsili";
bank_transactions_lines[bank_transactions_lines.Count - 1].FieldByName("DUE_DATE").Value = HDate;
Yardımcı olursanız sevinirim.