Medula fatura kayıt işlemlerinde faturaTeslimNo ya değer atayamamak

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
MGd.
Üye
Mesajlar: 40
Kayıt: 08 Nis 2006 06:47
Konum: Aydın

Medula fatura kayıt işlemlerinde faturaTeslimNo ya değer atayamamak

Mesaj gönderen MGd. »

Merhabalar.
Medula fatura kayıt işlemlerinde faturaTeslimNo ya değer atayamadım.
Web serviste FaturaTeslimNo ;
property faturaTeslimNo: Array_Of_string Index (IS_UNBD or IS_UNQL) read FfaturaTeslimNo write FfaturaTeslimNo; şeklinde tanımlanmış.

Buna değer atayıp kullanamadım. Nasıl kullanılır onu da anlayamadım.
Yardımcı olabilecek olan varsa memnun olurum.

(Cemil Sunguray beyin yazdığı kodlar kullanılmıştır. Kendisine çok teşekkürler.)

Kod: Tümünü seç

procedure TForm2.Button3Click(Sender: TObject);

var
  Giris: faturaIptalGirisDVO;
  Sonuc: faturaIptalCevapDVO;
  Servis: FaturaKayitIslemleri;

begin
  Screen.Cursor := crSQLWait;
  try
    HTTPRIO1.WSDLLocation := faturaKayitIslemleriWS_URL;
    HTTPRIO1.HTTPWebNode.GetHTTPReqResp.UserName := EditTesisKodu.Text;
    HTTPRIO1.HTTPWebNode.GetHTTPReqResp.Password := EditSifre.Text;
    HTTPRIO1.HTTPWebNode.UseUTF8InHeader := True;
    try
      Servis := GetFaturaKayitIslemleri(False, FaturaKayitIslemleriWS_URL, HTTPRIO1);
      Sonuc := nil;
      Giris := faturaIptalGirisDVO.Create;

      giris.saglikTesisKodu := StrToInt(EditTesisKodu.Text);

      //EditTeslimNo daki teslim numarasını giris.faturaTeslimNo ya atayamadım!
      giris.faturaTeslimNo ??????????????????? edit3.text;


      SetSecurityHeader(Servis);

      Sonuc := Servis.faturaIptal(giris);

      if Sonuc.sonucKodu = '0000' then  // Hata yoksa
Mgdizayn.
ihalilcoban
Üye
Mesajlar: 121
Kayıt: 10 Ara 2015 10:39

Re: Medula fatura kayıt işlemlerinde faturaTeslimNo ya değer atayamamak

Mesaj gönderen ihalilcoban »

Değer atamaya çalıştığında hata mı alıyorsun yoksa boş değer mi dönüyor. Durum tam olarak nedir.
Kullanıcı avatarı
MGd.
Üye
Mesajlar: 40
Kayıt: 08 Nis 2006 06:47
Konum: Aydın

Re: Medula fatura kayıt işlemlerinde faturaTeslimNo ya değer atayamamak

Mesaj gönderen MGd. »

Nasıl değer atayabilirim onu bilmiyorum :(
String değer olduğu için aşağıdaki gibi denemeler yaptım.

Kod: Tümünü seç

giris.faturaTeslimNo := editTeslimNo.text
gibi.

Bu satıra geldiğimde
Project Project2.exe raised exception class $C0000005 with message 'access violation at 0x0040a1f6: write of address 0x00000000'. hatası alıyorum.
Mgdizayn.
thelvaci
Kıdemli Üye
Mesajlar: 770
Kayıt: 11 Tem 2010 07:17
Konum: Istanbul
İletişim:

Re: Medula fatura kayıt işlemlerinde faturaTeslimNo ya değer atayamamak

Mesaj gönderen thelvaci »

Web servis'in üretmiş olduğu Delphi kodu içinden Array_Of_string tanımını nasıl yaptığına bakmalısınız öncelikle. Muhtemelen Array_Of_string = array of string; biçimindedir. Bu durumda;

Kod: Tümünü seç

var
  Value :  Array_Of_string;
begin
  SetLength(Value, 2);
  Value[0] := 'Birinci Item';
  Value[1] := 'İkinci Item';
  ..
  ..
  Giris.faturaTeslimNo := Value; 
  ..
  ..
  Value := nil;  
end;
gibi kullanabiliyor olmalısınız.
Kullanıcı avatarı
MGd.
Üye
Mesajlar: 40
Kayıt: 08 Nis 2006 06:47
Konum: Aydın

Re: Medula fatura kayıt işlemlerinde faturaTeslimNo ya değer atayamamak

Mesaj gönderen MGd. »

thelvaci hocam teşekkür ederim. Denedim fakat olmadı.

Kod: Tümünü seç

Giris.faturaTeslimNo := Value; 
şeklinde kabul etmiyor.

Kod: Tümünü seç

Giris.faturaTeslimNo[0] := Value[0]; 
şeklinde denediğimde derlemede sorun yok fakat değer girip servise gönderdiğimde kilitlenip kalıyorum. Hata da döndürmüyor.

Herkese iyi çalışmalar.
Mgdizayn.
Kullanıcı avatarı
csunguray
Üye
Mesajlar: 855
Kayıt: 09 Ara 2006 05:08
Konum: Adana
İletişim:

Re: Medula fatura kayıt işlemlerinde faturaTeslimNo ya değer atayamamak

Mesaj gönderen csunguray »

Kod: Tümünü seç

var
  Giris: FaturaIptalGirisDVO;
  Sonuc: FaturaIptalCevapDVO;
  Servis: FaturaKayitIslemleri;
  TeslimNo: String;
  TeslimNolar: FaturaKayitIslemleriWS.Array_Of_string;

Kod: Tümünü seç

    try
      if not InputQuery('Fatura Teslim No İptal Etme', 'Fatura Teslim No', TeslimNo) then Exit;

      Servis := GetFaturaKayitIslemleri(False, CurrentParam.M3_FaturaKayitIslemleriWS, HTTPRIOFatura);
      Sonuc := nil;
      Giris := FaturaIptalGirisDVO.Create;

      SetLength(TeslimNolar, 1);
      TeslimNolar[0] := TeslimNo;
      Giris.saglikTesisKodu := CurrentParam.M3_Tesis_Kodu;
      Giris.faturaTeslimNo := TeslimNolar;

      SetSecurityHeader(Servis);
      Sonuc := Servis.faturaIptal(Giris);
      if sonuc.sonucKodu = '0000' then  // Hata yoksa
C. Sunguray
csunguray at netbilisim.kom
Net Bilişim Hizmetleri

Sıradan her programcı bilgisayarın anlayabileceği kodlar yazabilir.
Sadece iyi programcılar insanların da anlayabileceği kodlar yazarlar.
Martin Fowler (http://martinfowler.com/)
Kullanıcı avatarı
MGd.
Üye
Mesajlar: 40
Kayıt: 08 Nis 2006 06:47
Konum: Aydın

Re: Medula fatura kayıt işlemlerinde faturaTeslimNo ya değer atayamamak

Mesaj gönderen MGd. »

:bravo:
Cemil hocam çok teşekkürler.
İyi çalışmalar. Saygılar.
Mgdizayn.
Cevapla