esin.kapucu

Banka fişi aktarımında paytrans tablosuna yanlış kayıt atıyor

  /

merhaba,

Direk aktarımda banka fişi aktarımında (gelen havale) aktarılan kaydın borç takip penceresi açılmak istendiğinde açılmamaktadır. Kayda düzenle ile girip kaydettikten sonra açılabiliyor. Paytrans tablosu incelendiğinde aktarım yapılan kaydın tablo üzerinde yer alan SIGN alanındaki değer 0 olduğu görüldü. Aktarılan kayıt alacak kaydı oluşturması gerekmektedir. (SIGN=1). aktarımda bu tablo ya da alanlara herhangi bir atama yapmıyoruz. herhangi bir detay bulunmuyor. LOBJECTS bu kaydı aktarımda kendi otomatik açıyor. Düzenle yapıp kaydettiğimiz kayıtta paytranstaki SIGN alanı 1 oluyor ve borç takip penceresi açılabiliyor. bu sorun nedeniyle alacak kayıtlarını bulamadığımız için fatura kapatma kayıtlarını aktaramıyoruz. 

yardımcı olabilir misiniz ? 

teşekkürler.


logo


NaciO

Merhaba,


Problem ile karşılaştığınız versiyon belirtmemişsiniz. Güncel setlerimiz 2.48, 2.49 ve son olarak 2.49.00.01 setlerinde yaptığım kontrollerde bahsettiğiniz problemi gerçekleyemedim. Bu hareketin credit/debit olduğunu belli eden alanlardan biri eksik set edilmiş olabilir.


Aşağıdaki kod en basit hali ile bir "(3) Gelen havale/EFT" banka fişini aktarmaktadır. Aktardığınız alanlar ve taşıdığı değerleri gönderdiğim örnekteki alan ve değerleri ile karşılaştırmalısınız.


UnityObjects.Data bankvo = Global.UnityApp.NewDataObject(UnityObjects.DataObjectType.doBankVoucher);
bankvo.New();
bankvo.DataFields.FieldByName("DATE").Value = "09.03.2018";
bankvo.DataFields.FieldByName("NUMBER").Value = "~";
bankvo.DataFields.FieldByName("TYPE").Value = 3;
bankvo.DataFields.FieldByName("CURRSEL_TOTALS").Value = 1;

UnityObjects.Lines transactions_lines = bankvo.DataFields.FieldByName("TRANSACTIONS").Lines;
transactions_lines.AppendLine();
transactions_lines[transactions_lines.Count - 1].FieldByName("TYPE").Value = 1;
transactions_lines[transactions_lines.Count - 1].FieldByName("TRANNO").Value = "~";
transactions_lines[transactions_lines.Count - 1].FieldByName("BANKACC_CODE").Value = "BANKA A";
transactions_lines[transactions_lines.Count - 1].FieldByName("ARP_CODE").Value = "CARI.02";
transactions_lines[transactions_lines.Count - 1].FieldByName("DATE").Value = "09.03.2018";
transactions_lines[transactions_lines.Count - 1].FieldByName("TRCODE").Value = 3;
transactions_lines[transactions_lines.Count - 1].FieldByName("MODULENR").Value = 7;
transactions_lines[transactions_lines.Count - 1].FieldByName("DEBIT").Value = 1000;
transactions_lines[transactions_lines.Count - 1].FieldByName("AMOUNT").Value = 1000;
transactions_lines[transactions_lines.Count - 1].FieldByName("BANK_PROC_TYPE").Value = 2;
transactions_lines[transactions_lines.Count - 1].FieldByName("DUE_DATE").Value = "09.03.2018";
transactions_lines[transactions_lines.Count - 1].FieldByName("BN_CRDTYPE").Value = 1;

if (bankvo.Post() == true)
{
 MessageBox.Show("POST OK !");
}
else
{
 if (bankvo.ErrorCode != 0)
 {
 MessageBox.Show("DBError(" + bankvo.ErrorCode.ToString() + ")-" + bankvo.ErrorDesc + bankvo.DBErrorDesc);
 }
 else if (bankvo.ValidateErrors.Count > 0)
 {
 string result = "XML ErrorList:";
 for (int i = 0; i < bankvo.ValidateErrors.Count; i++)
 {
 result += "(" + bankvo.ValidateErrors[i].ID.ToString() + ") - " + bankvo.ValidateErrors[i].Error;
 }
 MessageBox.Show(result);
 }
}


Bir başka ihtimal, fiş aktarımı öncesinde (POST metodu öncesinde) kullandığınız bir metod varsa, bu metod ilgili bir sıkıntı olmasıdır. Banka fişi aktarımında ApplyCampaign, FillAccCodes vb. bir metod kullanıyor musunuz?



09/03/18 22:21

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