public void eksikNedenleriDoldur() { try { Cursor.Current = Cursors.WaitCursor; ComboboxItem item1 = new ComboboxItem(); item1.Text = ""; item1.Value = ""; cmbRedNeden.Items.Add(item1); WS_UrunTeslim.SERVICE srv = new KoctasMobil.WS_UrunTeslim.SERVICE(); srv.Url = Utility.getWsUrl("zktmobil_urunteslim"); srv.Credentials = ProgramGlobalData.g_credential; WS_UrunTeslim.ZKTMOBIL_EKSIKNEDENLERI ItNeden = new KoctasMobil.WS_UrunTeslim.ZKTMOBIL_EKSIKNEDENLERI(); WS_UrunTeslim.ZKTMOBIL_S005 etNeden = new KoctasMobil.WS_UrunTeslim.ZKTMOBIL_S005(); //WS_UrunTeslim.ZKTMOBIL_T001 etNeden = new KoctasMobil.WS_UrunTeslim.ZKTMOBIL_T001(); ItNeden.ET_NEDEN = new KoctasMobil.WS_UrunTeslim.ZKTMOBIL_S005[0]; //ItNeden.ET_NEDEN = new KoctasMobil.WS_UrunTeslim.ZKTMOBIL_T001[0]; WS_UrunTeslim.ZKTMOBIL_EKSIKNEDENLERIResponse resp = srv.ZKTMOBIL_EKSIKNEDENLERI(ItNeden); if (resp.ET_NEDEN.Length > 0) { redNedenleri = resp.ET_NEDEN; for (int i = 0; i < resp.ET_NEDEN.Length; i++) { string nedenCode = resp.ET_NEDEN[i].NEDEN_CODE.ToString(); string nedenAciklama = resp.ET_NEDEN[i].NEDEN_TANIM.ToString(); ComboboxItem item = new ComboboxItem(); item.Text = nedenAciklama; item.Value = nedenCode; cmbRedNeden.Items.Add(item); } } } catch (Exception ex) { MessageBox.Show(ex.Message, "HATA!", MessageBoxButtons.OK, MessageBoxIcon.Hand, MessageBoxDefaultButton.Button1); } finally { Cursor.Current = Cursors.Default; } }
private void btn_Kaydet_Click(object sender, EventArgs e) { //Eklenen urunler kontrol ediliyor if (dtTeslimat.Rows.Count > 0) { try { Cursor.Current = Cursors.WaitCursor; WS_UrunTeslim.ZKTMOBIL_S002[] dtUrunler = new KoctasMobil.WS_UrunTeslim.ZKTMOBIL_S002[ZodendiBlg.Length]; for (int j = 0; j < dtTeslimat.Rows.Count; j++) { if (dtTeslimat.Rows[j]["MATNR"].ToString() != "") { //decimal toplanan = Convert.ToDecimal(dtTeslimat.Rows[j]["MENGE"].ToString()); ; //decimal eksik = Convert.ToDecimal(dtTeslimat.Rows[j]["EMENGE"].ToString()); decimal olmasiGereken = getMatnrCount(dtTeslimat.Rows[j]["MATNR"].ToString()); if (toplamMiktarGetir(dtTeslimat.Rows[j]["MATNR"].ToString()) != olmasiGereken) { MessageBox.Show("Sipariş miktarında uyumsuzluk var. Lütfen ürün miktarı ve toplanan miktar alanlarını kontrol ediniz. Malzeme No: " + dtTeslimat.Rows[j]["MATNR"].ToString() + "- Olması Gereken Toplam: " + olmasiGereken.ToString()); Cursor.Current = Cursors.Default; return; } /* * dtUrunler[j] = new KoctasMobil.WS_UrunTeslim.ZKTMOBIL_S002(); * dtUrunler[j].MATNR = dtTeslimat.Rows[j]["MATNR"].ToString(); * dtUrunler[j].TMENGE = toplanan; * dtUrunler[j].EMENGE = eksik; * * dtUrunler[j].POSNR = dtTeslimat.Rows[j]["POSNR"].ToString(); * dtUrunler[j].VBELN = dtTeslimat.Rows[j]["VBELN"].ToString(); * byte nedenKod = 0; * if (dtTeslimat.Rows[j]["NEDEN_CODE"].ToString() != "") * { * nedenKod = Convert.ToByte(redNedeniDegeriGetir(dtTeslimat.Rows[j]["NEDEN_CODE"].ToString())); * } * dtUrunler[j].NEDEN_CODE = nedenKod; * dtUrunler[j].I_SET = dtTeslimat.Rows[j]["I_SET"].ToString(); */ } } //Ürünler ilk tablodan referans alınarak gidecek urun listesine aktarılıyor for (int i = 0; i < ZodendiBlg.Length; i++) { dtUrunler[i] = new KoctasMobil.WS_UrunTeslim.ZKTMOBIL_S002(); dtUrunler[i].EMENGE = 0; dtUrunler[i].TMENGE = 0; dtUrunler[i].I_SET = ZodendiBlg[i].I_SET.ToString(); dtUrunler[i].MATNR = ZodendiBlg[i].MATNR.ToString().TrimStart('0'); dtUrunler[i].NEDEN_CODE = "0"; dtUrunler[i].POSNR = ZodendiBlg[i].POSNR.ToString(); dtUrunler[i].VBELN = ZodendiBlg[i].VBELN.ToString(); } //kontrolden geçen malzemeler ekleniyor for (int j = 0; j < dtTeslimat.Rows.Count; j++) { if (dtTeslimat.Rows[j]["MATNR"].ToString() != "") { decimal toplanan = Convert.ToDecimal(dtTeslimat.Rows[j]["MENGE"].ToString());; decimal eksik = Convert.ToDecimal(dtTeslimat.Rows[j]["EMENGE"].ToString()); for (int i = 0; i < dtUrunler.Length; i++) { if (dtTeslimat.Rows[j]["MATNR"].ToString() == dtUrunler[i].MATNR.ToString()) { dtUrunler[i].TMENGE = toplanan; dtUrunler[i].EMENGE = eksik; string nedenKod = "0"; if (dtTeslimat.Rows[j]["NEDEN_CODE"].ToString() != "") { nedenKod = redNedeniDegeriGetir(dtTeslimat.Rows[j]["NEDEN_CODE"].ToString()); } dtUrunler[i].NEDEN_CODE = nedenKod; break; } } } } WS_UrunTeslim.SERVICE srv = new KoctasMobil.WS_UrunTeslim.SERVICE(); srv.Url = Utility.getWsUrl("zktmobil_urunteslim"); srv.Credentials = ProgramGlobalData.g_credential; WS_UrunTeslim.ZKTMOBIL_ODENDIKAYIT odendiKayit = new KoctasMobil.WS_UrunTeslim.ZKTMOBIL_ODENDIKAYIT(); odendiKayit.IT_TESLIMAT = dtUrunler; odendiKayit.ET_RETURN = new KoctasMobil.WS_UrunTeslim.ZKMOBIL_RETURN[0]; String sevkTimestampTemp = ""; if ((this.PARVW.IndexOf("ZX") != -1 || this.PARVW.IndexOf("ZY") != -1) && this.ISMKL.Trim().Equals("1")) { frm_UrunTeslimat_2_Timestamp frm = new frm_UrunTeslimat_2_Timestamp(); frm.ShowDialog(); sevkTimestampTemp = frm.timestamp; } else { sevkTimestampTemp = "19800101000000"; } if (odendiKayit.IT_TESLIMAT != null && odendiKayit.IT_TESLIMAT.Length > 0) // Eirsaliye mükellefiyse popup açtırıcaz ISMKL 1 donerse popup aç { for (int i = 0; i < odendiKayit.IT_TESLIMAT.Length; i++) { odendiKayit.IT_TESLIMAT[i].SEVKTIMESTAMP = Convert.ToDecimal(sevkTimestampTemp); } } WS_UrunTeslim.ZKTMOBIL_ODENDIKAYITResponse rsp = srv.ZKTMOBIL_ODENDIKAYIT(odendiKayit); if (rsp.ET_RETURN[0].RC_CODE.ToString() == "E") { MessageBox.Show(rsp.ET_RETURN[0].RC_TEXT.ToString(), "HATA - SAP", MessageBoxButtons.OK, MessageBoxIcon.Asterisk, MessageBoxDefaultButton.Button1); return; } MessageBox.Show("İşlem tamamlandı.", "", MessageBoxButtons.OK, MessageBoxIcon.None, MessageBoxDefaultButton.Button1); txtMalzemeAdi.Text = ""; txtEMenge.Text = "0"; cmbRedNeden.Text = ""; txtFormNo.Text = txtMatnrEan11.Text = txtMenge.Text = ""; dtTeslimat.Rows.Clear(); ZodendiBlg = null; txtFormNo.Focus(); } catch (Exception Ex) { MessageBox.Show(Ex.Message, "HATA!", MessageBoxButtons.OK, MessageBoxIcon.Hand, MessageBoxDefaultButton.Button1); } finally { Cursor.Current = Cursors.Default; } } else { MessageBox.Show("Formu kaydetmeden önce malzemeleri ekleyiniz.", "HATA!", MessageBoxButtons.OK, MessageBoxIcon.Hand, MessageBoxDefaultButton.Button1); return; } /* * for (int i = 0; i < ZodendiBlg.Length; i++) * { * bool FindIt = false; * for (int j = 0; j < dtTeslimat.Rows.Count; j++) * { * if (dtTeslimat.Rows[j]["MATNR"].ToString() == ZodendiBlg[i].Matnr.TrimStart('0') && * dtTeslimat.Rows[j]["MENGE"].ToString() == Convert.ToInt32(ZodendiBlg[i].Menge).ToString() * ) * FindIt = true; * } * if (!FindIt) * { * MessageBox.Show("Eksik ürün girişi yaptınız!", "HATA!", MessageBoxButtons.OK, MessageBoxIcon.Hand, MessageBoxDefaultButton.Button1); * return; * } * } */ }
private void txtFormNo_KeyPress(object sender, KeyPressEventArgs e) { if (e.KeyChar == (char)13) { try { txtFormNo.Text = txtFormNo.Text.Trim().PadLeft(10, '0'); Cursor.Current = Cursors.WaitCursor; WS_UrunTeslim.SERVICE srv = new KoctasMobil.WS_UrunTeslim.SERVICE(); srv.Url = Utility.getWsUrl("zktmobil_urunteslim"); srv.Credentials = ProgramGlobalData.g_credential; WS_UrunTeslim.ZKTMOBIL_ODENDIDETAY odendi = new KoctasMobil.WS_UrunTeslim.ZKTMOBIL_ODENDIDETAY(); WS_UrunTeslim.ZKTMOBIL_S001 ItOdendi = new KoctasMobil.WS_UrunTeslim.ZKTMOBIL_S001(); WS_UrunTeslim.ZKMOBIL_RETURN TeReturn = new KoctasMobil.WS_UrunTeslim.ZKMOBIL_RETURN(); WS_UrunTeslim.ZSET ItSet = new KoctasMobil.WS_UrunTeslim.ZSET(); odendi.IV_VBELN = txtFormNo.Text; odendi.ET_ODENDI = new KoctasMobil.WS_UrunTeslim.ZKTMOBIL_S001[0]; odendi.ET_SET = new KoctasMobil.WS_UrunTeslim.ZSET[0]; odendi.ET_RETURN = new KoctasMobil.WS_UrunTeslim.ZKMOBIL_RETURN[0]; WS_UrunTeslim.ZKTMOBIL_ODENDIDETAYResponse rsp = srv.ZKTMOBIL_ODENDIDETAY(odendi); if (rsp.ET_ODENDI != null) { ZodendiBlg = rsp.ET_ODENDI; ZodendiSet = rsp.ET_SET; formNo = txtFormNo.Text.Trim(); this.PARVW = rsp.ET_ODENDI[0].PARVW; this.ISMKL = rsp.ET_ODENDI[0].ISMKL; //Bileşen kalemlerinin hepsi ana kalem tablosunda gelmiş mi? if (bilesenMalzemeKontrol(ZodendiBlg, ZodendiSet) == false) { MessageBox.Show("SET ürünlere ait bileşen malzemelerin hepsi ana malzeme tablosunda gelmedi. SET ürünün bileşenleri düzgün parçalanmamış. SAP tarafından kontrol ediniz.", "HATA"); return; } //İçerisinde hizmet ve set olan kalemler tabloya ekleniyor if (rsp.ET_ODENDI.Length > 0) { for (int i = 0; i < rsp.ET_ODENDI.Length; i++) { if ((rsp.ET_ODENDI[i].PSTYV.ToString() != "") || (rsp.ET_ODENDI[i].I_SET.ToString() == "X")) { bool ekle = true; string hizmetMatnr = rsp.ET_ODENDI[i].MATNR.ToString().TrimStart('0'); //Matnr daha önce eklenmiş ise eklenen satıra ekle for (int j = 0; j < dtTeslimat.Rows.Count; j++) { if (dtTeslimat.Rows[j]["MATNR"].ToString().TrimStart('0') == hizmetMatnr) { ekle = false; decimal mevcutMiktar = Convert.ToDecimal(dtTeslimat.Rows[j]["MENGE"].ToString()); dtTeslimat.Rows[j]["MENGE"] = (mevcutMiktar + rsp.ET_ODENDI[i].MENGE).ToString(); } } if (ekle) { DataRow dr = dtTeslimat.NewRow(); dr["VBELN"] = formNo.ToString(); dr["POSNR"] = getMatnrPosNr(hizmetMatnr); dr["MATNR"] = hizmetMatnr.TrimStart('0'); dr["MAKTX"] = getMaktx(hizmetMatnr); dr["EMENGE"] = "0"; dr["MENGE"] = rsp.ET_ODENDI[i].MENGE.ToString(); dr["NEDEN_CODE"] = ""; dr["I_SET"] = rsp.ET_ODENDI[i].I_SET.ToString(); dr["PSTYV"] = rsp.ET_ODENDI[i].PSTYV.ToString(); dtTeslimat.Rows.Add(dr); } } } grdUrunTeslimat.DataSource = dtTeslimat; } txtMatnrEan11.Focus(); } if (rsp.ET_RETURN.Length > 0) { if (rsp.ET_RETURN[0].RC_CODE == "E") { MessageBox.Show(rsp.ET_RETURN[0].RC_TEXT, "HATA!", MessageBoxButtons.OK, MessageBoxIcon.Asterisk, MessageBoxDefaultButton.Button1); txtFormNo.Focus(); } } } catch (Exception ex) { MessageBox.Show(ex.Message, "HATA!", MessageBoxButtons.OK, MessageBoxIcon.Hand, MessageBoxDefaultButton.Button1); } finally { Cursor.Current = Cursors.Default; } } }