Kişi bilgileri gizlidir. Logo çalışanları görebilir.

Bankadan Çek Tahsilatının LObjects Atılması

  Tiger/Logo Objects

Merhabalar,
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.




Uluç Karadeniz

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)




12/10/18 11:45

Cevap vermek için giriş yapmanız gerekmektedir.