BeginForm(Start) CallForm(SetGlobalVariables) GoForm(AnaMenu) EndForm() BeginForm(Cikis) Logout() EndForm() BeginForm(AnaMenu) KeyFunction("ESC",GoForm(Start)) MenuItem(MalKabulIslemleri, "Mal Kabul İslemleri", "", 1) //Mal kabul işlemleri menüsüne gider MenuItem(UretimAnaMenu,"Üretim İşlemleri","",2) // Üretim İşlemleri menüsüne gider MenuItem(DigerIslemler,"Diğer İşlemler","",3) MenuItem(SorguIslemleri,"Sorgu İşlemleri","",4) //MenuItem(MenuYapimAsamasinda,"Sevkiyat İslemleri","",435) //MenuItem(PaletIslemleri,"PALET İŞLEMLERİ","",572) //MenuItem(MenuYapimAsamasinda,"SAYIM","",366) //MenuItem(MenuYapimAsamasinda,"İADE İŞLEMLERİ","",366) //MenuItem(Analiz,"Yazdir","",246) MenuItem(QmUretimTransfer,"QmTransferTest","",5) MenuItem(Cikis,"Cıkış","",14) MenuRun(0,1,"Ana Menü") EndForm() BeginForm(DigerIslemler) KeyFunction("ESC",GoForm(AnaMenu)) ClearScreen() MenuItem(GeciciEtiketleme,"Geçici Etiketleme","",1) MenuItem(EtiketBolme,"Etiket Bölme","",2) MenuItem(TekrarEtiket,"Tekrar Etiket Bas","",2) MenuItem(PaletTipiDegistir,"Palet Tipi Degistir","",2) MenuItem(EtiketTest,"Yazici Test","",4) MenuRun(0,1,"Üretim İşlemleri") EndForm() BeginForm(SorguIslemleri) KeyFunction("ESC",GoForm(AnaMenu)) ClearScreen() MenuItem(BarkodSorgu,"Barkod Sorgulama","",1) MenuItem(MenuYapimAsamasinda,"Adres Sorgulama","",2) MenuRun(0,1,"Üretim İşlemleri") EndForm() BeginForm(BarkodSorgu) KeyFunction("ESC",GoForm(AnaMenu)) Barkod: Text(0,0,"Barkod Sorgu") Input(0,0,"Malzeme Kodu/Barkod Okutunuz",{"type":"text", "min":"1", "max":"20"},@barkod) Item.Get("Code='@barkod'") If(@Response.Status="-1") ShowMessage({"title":"Hata", "message" : "@Response.Status / @Response.Message ", "buttons" : "OK"},@secim) Goto(Barkod) Else() Goto(EkranListe) EndIf() EkranListe: Sql({"report":"ScriptBarkodSorgu","Id":"@@Item.Id"},@LISTE) PopupView(@LISTE.rows,{"mode":"list","title":"Stok Satırları","fields":["MalzemeKodu|Kod|15|L","MalzemeAdı|Açıklama|40|L","Birim|Birim|10|L","Miktar|Miktar|5|L","AmbalajKodu|Ambalaj|15|L","Adres|Adres|10|L","LotNo|Lot|20|L","KontrolKodu|Kontrol Kodu|12|L"]},@LISTESECIM) Goto(Barkod) EndForm() BeginForm(EtiketTest) KeyFunction("ESC",GoForm(MalKabul)) Text(0,0,"..:Yazdir:..") ShowMessage({"title":"Kenan", "message" : "@kullanici", "buttons" : "OK"},@secim) Print("AmbalajEtiketYeni",0,1,{"RelatedWolId":"938","UserName":"@kullanici"}) //Print("PaletEtiketi",0,1,{"Id":"689"}) ShowMessage({"title":"Hata", "message" : "@Response.Status / @Response.Message ", "buttons" : "OK"},@secim) GoForm(AnaMenu) EndForm() // Üretim İşlemleri Ana Menüsü BeginForm(UretimAnaMenu) KeyFunction("ESC",GoForm(AnaMenu)) MenuItem(UretimToplamaMenu,"Toplama ve Tartım İşlemleri","",1) MenuItem(UretimTransferMenu,"Üretime Malzeme Transferi","",6) MenuItem(UretimIslemMenu,"Üretim İşlemleri","",12) MenuItem(UretimMamulPaletleme,"Mamul Paletleme","",4) MenuItem(UretimTeslimMenu,"Mamul Teslim İşlemleri","",11) MenuItem(UretimIadeMenu,"Depoya İade İşlemleri","",3) MenuItem(AnaMenu,"Ana Menü","",14) MenuRun(0,1,"Üretim İşlemleri") EndForm() // Üretim 1-Toplama ve Tartım İşlemleri Menüsü BeginForm(UretimToplamaMenu) KeyFunction("ESC",GoForm(UretimAnaMenu)) MenuItem(UretimHammaddeToplama,"Hammadde Toplama İşlemleri","",1) MenuItem(UretimAmbalajToplama,"Ambalaj Toplama İşlemleri","",1) MenuItem(UretimTartim,"Tartım İşlemleri","",8) MenuItem(UretimAmbalajPaletleme,"Ambalaj Paletleme İşlemleri","",10) MenuItem(UretimAnaMenu,"Üretim Ana Menü","",14) MenuRun(0,1,"Toplama ve Tartım İşlemleri") EndForm() // Üretim 2-Üretime Malzeme Transferi Menüsü BeginForm(UretimTransferMenu) KeyFunction("ESC",GoForm(UretimAnaMenu)) MenuItem(UretimHammaddeTeslim,"Üretime Hammadde Teslimi","",7) MenuItem(UretimHammaddeKabul,"Üretime Hammadde Kabulü","",7) MenuItem(UretimAmbalajTeslim,"Üretime Ambalaj Teslimi","",11) MenuItem(UretimAmbalajKabul,"Üretime Ambalaj Kabulü","",11) MenuItem(UretimAnaMenu,"Üretim Ana Menü","",14) MenuRun(0,1,"Üretime Malzeme Transferi") EndForm() // Üretim 3- Üretim İşlemleri Menüsü BeginForm(UretimIslemMenu) KeyFunction("ESC",GoForm(UretimAnaMenu)) MenuItem(UretimSarfiyatMenu,"Üretim Sarfiyat İşlemleri","",12) // MenuItem(UretimFasonMenu,"Fason Üretim Sarfiyat İşlemleri","",2) MenuItem(UretimTamamlama,"Üretim Tamamlama","",10) // MenuItem(UretimFasonTamamlama,"Fason Üretim Tamamlama","",2) MenuItem(UretimAnaMenu,"Üretim Ana Menü","",14) MenuRun(0,1,"Üretim İşlemleri") EndForm() // Üretim 3.1- Üretim Sarfiyat Menüsü BeginForm(UretimSarfiyatMenu) KeyFunction("ESC",GoForm(UretimIslemMenu)) MenuItem(UretimSarfiyatHammadde,"Hammadde Sarfiyat İşlemi","",12) MenuItem(UretimSarfiyatAmbalaj,"Ambalaj Sarfiyat İşlemi","",12) MenuItem(UretimIslemMenu,"Üretim İşlemleri Menüsü","",14) MenuRun(0,1,"Üretim Sarfiyat İşlemleri") EndForm() // Üretim 5- Mamul Teslim Menüsü BeginForm(UretimTeslimMenu) KeyFunction("ESC",GoForm(UretimAnaMenu)) MenuItem(UretimMamulTeslim,"Sevkiyat Depoya Mamul Teslimi","",3) MenuItem(UretimMamulKabul,"Sevkiyat Depo Mamul Kabulü","",3) MenuItem(UretimAnaMenu,"Üretim Ana Menü","",14) MenuRun(0,1,"Mamul Teslim İşlemleri") EndForm() // Üretim 6- Depoya İade İşlemleri Menüsü BeginForm(UretimIadeMenu) KeyFunction("ESC",GoForm(UretimAnaMenu)) MenuItem(UretimDepoyaIade,"Üretimden Depoya İade","",3) MenuItem(UretimdenDepoyaKabul,"Üretimden Depoya Kabul","",3) MenuItem(UretimdenRafa,"İade Paletleme ve Rafa Yerleştirme","",2) MenuItem(UretimAnaMenu,"Üretim Ana Menü","",14) MenuRun(0,1,"Depoya İade İşlemleri") EndForm() BeginForm(UretimHammaddeToplama) CallForm(ResetFormVariables) Set(@uretimMalzemeFiltresi, "AP") Set(@toplamaAdresi, "TARTIM") GoForm(UretimToplamaOrtakForm) EndForm() BeginForm(UretimAmbalajToplama) CallForm(ResetFormVariables) Set(@uretimMalzemeFiltresi, "PM,SF") Set(@toplamaAdresi, "AMBALAJ") GoForm(UretimToplamaOrtakForm) EndForm() BeginForm(UretimToplamaOrtakForm) KeyFunction("ESC",GoForm(UretimToplamaMenu)) EmirSec: // Toplanacak hammadde ya da ambalaj için bekleyen üretim iş emirleri listelenir. // İçindeki malzemelerin toplaması bitmişse listede görünmez. Sql("SELECT * FROM PNET_GetUretimToplamaEmirler(@uretimMalzemeFiltresi)",@emirListe) If(@emirListe.rowCount = 0) ShowMessage({"title":"Bilgi","message":"İşlem yapılacak üretim emri bulunmamaktadır.","buttons":"Tamam"},@secim) GoForm(UretimToplamaMenu) EndIf() PopupView(@emirListe.rows,{"mode":"list","title":"Üretim Emirleri", "fields":["SlipNumber|Üretim Emri No|15|L","Code|Malzeme Kodu|15|L"]},@secim) Set(@tEmri, {"Id":"@emirListe.rows.@secim.ProductionOrderId", "LineId":"@emirListe.rows.@secim.ProductionOrderLineId","SlipNumber":"@emirListe.rows.@secim.SlipNumber"}) // Seçilen iş emrine ait sarf fişlerinde yer alan malzemeler ve planlanan sarf miktarları listelenir. // Toplaması bitmiş malzemeler listede görünmez. Sql("SELECT * FROM PNET_GetUretimToplamaMalzemeler(@tEmri.SlipNumber,@uretimMalzemeFiltresi)",@malzemeListe) PopupView(@malzemeListe.rows,{"mode":"list","title":"@tEmri.SlipNumber Detayları", "fields":["ItemCode|Malzeme Kodu|15|L","PlannedQuantity|Planlanan|8|L","UnitCode|Birim|5|L"]},@secim) Set(@tMalzeme,{"Id":"@malzemeListe.rows.@secim.ItemId","UnitId":"@malzemeListe.rows.@secim.UnitId","Code":"@malzemeListe.rows.@secim.ItemCode"}) AmbalajSec: // Seçilen malzemenin bekleyen tüm üretim iş emirlerindeki planlanan lot detayları ve depodaki toplamaya en uygun ambalajlar listelenir. Sql("SELECT * FROM PNET_GetUretimToplamaKoli(@tMalzeme.Code)",@koliListe) If(@koliListe.rowCount = 0) Goto(EmirSec) EndIf() PopupView(@koliListe.rows,{"mode":"list","title":" @tMalzeme.Code Toplanacak Ambalajlar", "fields":["SlipNumber|Emir No|10|L","TrackingNumber|Lot No|15|L","ControlCode|Kontrol Kodu|10|L","KoliKalanMiktar|Miktar|5|R","KoliNo|Ambalaj Barkodu|16|L","Address|Adres|6|L"]},@secim) Set(@tKoli, {"LPN" : "@koliListe.rows.@secim.KoliNo", "Id" : @koliListe.rows.@secim.KoliId, "PalletId" : @koliListe.rows.@secim.PalletId, "Address" : "@koliListe.rows.@secim.Address"}) Set(@tLot, {"TrackingNumber" : "@koliListe.rows.@secim.TrackingNumber", "ControlCode" : "@koliListe.rows.@secim.ControlCode", "Quantity" : @koliListe.rows.@secim.Planned}) BarkodOkut: Input(0,0,"Koli barkodunu okutunuz",{"type":"text", "min":"1", "max":"25"},@barkod) If(@barkod != @tKoli.LPN) ShowMessage({"title":"Hatalı Ambalaj!", "message" : "Bu ambalaj uygun değil!", "buttons" : "Yeniden Okut|Listeye Dön"},@secim) CaseGoto(@secim, {"1":"BarkodOkut","2":"AmbalajSec"}) EndIf() TransferEt: // Tartımda/ambalajlamada kullanılacak ambalaj ilgili üretim emrinden bağımsız olarak toplama alanına taşınır. // Daha önce tartım için transfer edilmiş ambalajlar tekrar transfer edilmez. If(tKoli.Address != @toplamaAdresi) CustomSlipType.Get("Name='UretimToplama'") WorkOrder.Get("CustomSlipTypeId=@@CustomSlipType.Id AND CreatedBy = @@User.Id AND DAY(SlipDate) = DAY(GETDATE()) AND MONTH(SlipDate) = MONTH(GETDATE()) AND YEAR(SlipDate) = YEAR(GETDATE())") If(@@WorkOrder.Id="") Warehouse.Get("Code='@uretimAmbarNo'") Warehouse.Get(@@Warehouse.Id,@@Warehouse2) WorkOrder.New({"SlipType":"3"},1) EndIf() Container.Get(@tKoli.PalletId) If(@Response.Status="-1") ShowMessage({"title":"Palet Hata", "message" : "@Response.Message ", "buttons" : "Tamam"},@secim) Goto(AmbalajSec) EndIf() Address.Get("Address='@tKoli.Address' AND WarehouseId = @@Warehouse.Id") Container.Get(@tKoli.Id, @@ChildContainer) If(@Response.Status="-1") ShowMessage({"title":"Ambalaj Hata", "message" : "@Response.Message ", "buttons" : "Tamam"},@secim) Goto(AmbalajSec) EndIf() Container.Get(@@ChildContainer.Id, @@Container2) Address.Get("Address='@toplamaAdresi' AND WarehouseId = @@Warehouse2.Id", @@Address2) WorkOrderLine.New({"SlipType":"3", "Quantity" : "1"},1) If(@Response.Status="-1") ShowMessage({"title":"Emir Hata", "message" : "@Response.Message ", "buttons" : "Tamam"},@secim) Goto(AmbalajSec) EndIf() Slip.Get("WorkOrderId=@@WorkOrder.Id") If(@@Slip.Id="") Slip.New({"SlipType":"3"},1) EndIf() SlipLine.New({"SlipType":"3", "Quantity" : "1"},1) If(@Response.Status="-1") ShowMessage({"title":"Fiş Hata", "message" : "@Response.Message ", "buttons" : "Tamam"},@secim) Goto(AmbalajSec) EndIf() EndIf() // Seçilen malzemenin ihtiyaç duyulan miktarı için rezervasyon kaydı oluşturulur. // Farklı üretim/iş emirleri için arka arkaya işlem yapılabileceğinden her bir ambalaj için yeniden tüm bilgiler çağrılır. ProductionOrder.Get(@tEmri.Id) If(@Response.Status="-1") ShowMessage({"title":"Üretim Emri Hata", "message" : "@Response.Message ", "buttons" : "Tamam"},@secim) Goto(EmirSec) EndIf() ProductionOrderLine.Get(@tEmri.LineId) If(@Response.Status="-1") ShowMessage({"title":"Üretim İş Emri Hata", "message" : "@Response.Message ", "buttons" : "Tamam"},@secim) Goto(EmirSec) EndIf() //Rezervasyon toplama adresine transfer edilen koli içindeki malzeme için yapılır. Address.Get(@@Address2.Id) Container.Get(@@Container2.Id) ResetVariables({"name":["@@WorkOrder","@@WorkOrderLine","@@ChildContainer","@@Arp","@@Project"]}) ReservationSlip.Get("ProductionOrderId=@@ProductionOrder.Id") If(@Response.Status="-1") ShowMessage({"title":"Rezervasyon Hata", "message" : "@Response.Message ", "buttons" : "Tamam"},@secim) Goto(EmirSec) EndIf() If(@@ReservationSlip.Id = "") ReservationSlip.New({"SlipType":"2"},1) EndIf() Set(@miktar,@tLot.Quantity) If(@tLot.Quantity>@tKoli.Quantity) Set(@miktar,@tKoli.Quantity) EndIf() ReservationSlipLine.New({"SlipType":"2","Quantity":"@miktar"},0) If(@@Item.TrackingType=1) ItemTracking.New({"LineType":"6","Quantity":"@miktar","TrackingNumber":"@tLot.TrackingNumber","KONTROLKODU":"@tKoli.KontrolKodu"},1) Else() ReservationSlipLine.Save() EndIf() If(@Response.Status="-1") ShowMessage({"title":"Rezervasyon Satır Hata", "message" : "@Response.Message ", "buttons" : "Tamam"},@secim) Goto(EmirSec) EndIf() Goto(AmbalajSec) EndForm() BeginForm(UretimTartim) KeyFunction("ESC",GoForm(UretimToplamaMenu)) CallForm(ResetFormVariables) EmirSec: // Tartılacak hammadde için bekleyen üretim emirleri listelenir. İçindeki malzemelerin tartımı bitmişse listede görünmez. Sql("SELECT TARTIM ÜRETİM EMİRLERİ",@emirListe) If(@emirListe.rowCount = 0) ShowMessage({"title":"Bilgi","message":"İşlem yapılacak üretim emri bulunmamaktadır.","buttons":"Tamam"},@secim) GoForm(UretimToplamaMenu) EndIf() PopupView(@emirListe.rows,{"mode":"list","title":"Tartım Üretim Emirleri", "fields":["SlipNumber|Üretim Emri No|15|L","ItemCode|Malzeme Kodu|10|L"]},@secim) Set(@tEmri, {"Id":"@emirListe.rows.@secim.ProductionOrderId", "LineId":"@emirListe.rows.@secim.ProductionOrderLineId","SlipNumber":"@emirListe.rows.@secim.SlipNumber"}) ProductionOrder.Get(@tEmri.Id) If(@Response.Status="-1") ShowMessage({"title":"Üretim Emri Hata", "message" : "@Response.Message ", "buttons" : "Tamam"},@secim) Goto(EmirSec) EndIf() ProductionOrderLine.Get(@tEmri.LineId) If(@Response.Status="-1") ShowMessage({"title":"Üretim İş Emri Hata", "message" : "@Response.Message ", "buttons" : "Tamam"},@secim) Goto(EmirSec) EndIf() MalzemeSec: // Seçilen üretim emrine ait sarf fişlerinde yer alan malzemeler, kontrol kodları ve planlanan sarf miktarları listelenir. // tartımı bitmiş malzemeler listede görünmez. Sql("SELECT TARTIM MALZEME SEÇİM(@tEmri.LineId)",@malzemeListe) PopupView(@malzemeListe.rows,{"mode":"list","title":"Tartım Malzemeleri", "fields":["ItemCode|Malzeme Kodu|10|L","KontrolKodu|Kontrol Kodu|10|L","Quantity|Miktar|5|R"]},@secim) Set(@tMalzeme,{"Id":"@malzemeListe.rows.@secim.ItemId","Code":"@malzemeListe.rows.@secim.ItemCode","KontrolKodu":"@malzemeListe.rows.@secim.KontrolKodu","Quantity":"@malzemeListe.rows.@secim.Quantity"}) Text(0,0,"Tartım [@tMalzeme.Code - @tMalzeme.KontrolKodu]") Input(1,1,"Ambalaj Adedi",{"type":"int", "min":"1", "max":"9999"},@ambalajAdet) CustomSlipType.Get("Name='UretimTartim'") // Bu iş emri için daha önce yapılmış işlem var mı? Yoksa, koliyi seçinceye kadar emir ve stok fişini oluşturmaz. WorkOrder.Get("ProductionOrderId=@tEmri.Id AND ProdOrderLineId=@tEmri.LineId AND CustomSlipTypeId=@@CustomSlipType.Id") Slip.Get("WorkOrderId=@@WorkOrder.Id") // Her ambalajın içini girilen miktar tamamlanıncaya kadar uygun kolilerle doldurmaya çalışır. Set(@tartimToplami,0) For(@i,1,@ambalajAdet,1) AmbalajMiktarGir: Set(@kalanMiktar, @tMalzeme.Quantity-@tartimToplami) Input(1,2,"@i. Ambalaj İçi Miktar (Kalan : @kalanMiktar) ",{"type":"decimal","min":"0.000001", "max":"9999999.0"},@ambalajMiktar) // Ambalaj miktarı toplam miktarı aşamaz. If(@ambalajMiktar>@kalanMiktar) ShowMessage({"title":"Miktar Hata", "message" : "Girilen miktar toplam miktarı aşıyor!", "buttons" : "Tamam"},@secim) Goto(AmbalajMiktarGir) EndIf() // Üretim emri için bir palet oluşturulur ya da varsa paletin içine ambalaj koymaya devam edilir. If(@@Container2.Id = "") Container.Get("LPN='@tEmri.SlipNumber_TARTIM'", @@Container2) If(@@Container2.Id = "") Container.Generate({"Count":"1","Description":"@tEmri.SlipNumber_TARTIM"},@@Container2) EndIf() EndIf() // Tartım ambalajını oluşturur Container.Generate({"Count":"1","Description":"@tEmri.SlipNumber_@tMalzeme.Code_@tMalzeme.KontrolKodu_@i"},@@ChildContainer2) //1 Adet taşıma kabı generate ediliyor. AmbalajSec: Sql("SELECT STOK AMBALAJ SEÇİM(@tEmri.Id, @tEmri.LineId, @tMalzeme.Id, @tMalzeme.KontrolKodu)",@koliListe) PopupView(@koliListe.rows,{"mode":"list","title":" @tMalzeme.Code - @tMalzeme.KontrolKodu", "fields":["TrackingNumber|Lot No|15|L","Quantity|Miktar|5|R","LPN|Ambalaj Barkodu|16|L"]},@secim) Set(@tKoli, {"LPN" : "@koliListe.rows.@secim.LPN", "Id" : @koliListe.rows.@secim.ContainerId, "UnitId" : @koliListe.rows.@secim.UnitId, "Quantity" : @koliListe.rows.@secim.Quantity}) BarkodOkut: Input(0,0,"Koli barkodunu okutunuz",{"type":"text", "min":"1", "max":"25"},@barkod) If(@barkod != @tKoli.LPN) ShowMessage({"title":"Hatalı Ambalaj!", "message" : "Bu ambalaj uygun değil!", "buttons" : "Yeniden Okut|Listeye Dön"},@secim) CaseGoto(@secim, {"1":"BarkodOkut","2":"AmbalajSec"}) EndIf() // Ambalajın içindeki malzemeden ihtiyaç miktarı kadar işlem yapar. Container.Get(@tKoli.Id) If(@Response.Status="-1") ShowMessage({"title":"Ambalaj Hata", "message" : "@Response.Message ", "buttons" : "Tamam"},@secim) Goto(BarkodOkut) EndIf() ItemUnit.Get(@tKoli.UnitId) If(@Response.Status="-1") ShowMessage({"title":"Malzeme Hata", "message" : "@Response.Message ", "buttons" : "Tamam"},@secim) Goto(BarkodOkut) EndIf() Address.Get("Address='TARTIM' AND WarehouseId = @@Warehouse.Id", @@Address2) If(@@WorkOrder.Id="") Warehouse.Get(@@Warehouse.Id,@@Warehouse2) WorkOrder.New({"SlipType":"3"},1) EndIf() // Tartılacak miktar kolinin içindekinden azsa, kolinin içinden ihtiyaç kadar kullanılır. Set(@satirMiktar, @tKoli.Quantity) If(@ambalajKalanMiktar < @tKoli.Quantity) Set(@satirMiktar, @ambalajKalanMiktar) EndIf() WorkOrderLine.New({"SlipType":"3", "Quantity" : "@satirMiktar"},1) If(@Response.Status="-1") ShowMessage({"title":"Emir Hata", "message" : "@Response.Message ", "buttons" : "Tamam"},@secim) Goto(AmbalajSec) EndIf() // İlk işlem If(@@Slip.Id="") Slip.New({"SlipType":"3"},1) EndIf() SlipLine.New({"SlipType":"3", "Quantity" : "@satirMiktar"},1) If(@Response.Status="-1") ShowMessage({"title":"Fiş Hata", "message" : "@Response.Message ", "buttons" : "Tamam"},@secim) Goto(AmbalajSec) EndIf() Set(@ambalajKalanMiktar, @ambalajMiktar-@satirMiktar) Set(@tartimToplami, @tartimToplami+@ambalajMiktar) If(@ambalajKalanMiktar < "0.00000001") Print("TartimEtiket",0,1,{"ContainerId":"@@Container2.Id","UserName":"@kullanici"}) ShowMessage({"title":"Tartım tamamlandı", "message" : "@i . ambalajın tartımı tamamlanmış ve ambalaj etiketi yazdırılmıştır.", "buttons" : "Tamam"},@secim) Else() Goto(AmbalajSec) EndIf() Next() // Kontrol kodunun tamamlandığı bilgisi verilir. Üretim emrinin tamamlanıp tamamlanmadığını kontrol ederek, tamamlandıysa palet etiketi yazdırır. Sql("SELECT TARTIM MALZEME SEÇİM(@tEmri.LineId)",@malzemeListe) If(@malzemeListe.rowCount = 0) ShowMessage({"title":"Kontrol Kodu tamamlandı", "message" : "@tMalzeme.KontrolKodu nolu kontrol kodunun tartımı tamamlanmıştır.", "buttons" : "Tamam"},@secim) Print("TartimPaletEtiket",0,1,{"ContainerId":"@@Container2.Id","UserName":"@kullanici"}) ShowMessage({"title":"Emir tamamlandı","message":"@tEmri.SlipNumber nolu emrin tartımı tamamlanmış ve palet etiketi yazdırılmıştır.","buttons":"Tamam"},@secim) Goto(EmirSec) Else() ShowMessage({"title":"Kontrol Kodu tamamlandı", "message" : "@tMalzeme.KontrolKodu nolu kontrol kodunun tartımı tamamlanmıştır.", "buttons" : "Aynı Emre Devam Et|Emir Seç"},@secim) CaseGoto(@secim, {"1":"MalzemeSec","2":"EmirSec"}) EndIf() EndForm() BeginForm(UretimAmbalajPaletleme) KeyFunction("ESC",GoForm(UretimToplamaMenu)) CallForm(ResetFormVariables) EmirSec: // Paletlenecek ambalaj için bekleyen üretim emirleri listelenir. İçindeki malzemelerin paletlemesi bitmişse listede görünmez. Sql("SELECT AMBALAJ ÜRETİM EMİRLERİ",@emirListe) If(@emirListe.rowCount = 0) ShowMessage({"title":"Bilgi","message":"İşlem yapılacak üretim emri bulunmamaktadır.","buttons":"Tamam"},@secim) GoForm(UretimToplamaMenu) EndIf() PopupView(@emirListe.rows,{"mode":"list","title":"Paletlenecek Üretim Emirleri", "fields":["SlipNumber|Üretim Emri No|15|L","ItemCode|Malzeme Kodu|10|L"]},@secim) Set(@tEmri, {"Id":"@emirListe.rows.@secim.ProductionOrderId", "LineId":"@emirListe.rows.@secim.ProductionOrderLineId","SlipNumber":"@emirListe.rows.@secim.SlipNumber"}) ProductionOrder.Get(@tEmri.Id) If(@Response.Status="-1") ShowMessage({"title":"Üretim Emri Hata", "message" : "@Response.Message ", "buttons" : "Tamam"},@secim) Goto(EmirSec) EndIf() ProductionOrderLine.Get(@tEmri.LineId) If(@Response.Status="-1") ShowMessage({"title":"Üretim İş Emri Hata", "message" : "@Response.Message ", "buttons" : "Tamam"},@secim) Goto(EmirSec) EndIf() BarkodOkut: Sql("SELECT EMİR AMBALAJ SEÇİM(@tEmri.LineId)",@ambalajListe) If(@ambalajListe.rowCount = 0) Goto(EmirTamamla) EndIf() TableView(@ambalajListe.rows,2,8,{"rows":"100","columns":["ItemCode|Ambalaj Kodu|15|L"]}) Input(1,1,"Ambalaj barkodunu okutunuz",{"type":"text", "min":"1", "max":"25"},@barkod) // Seçilen emre ait tüm ambalajlar okutulmadıysa, başka bir emre istinaden paletlenip paletlenmediğini kontrol eder. If(@barkod = ".") Sql("SELECT AMBALAJ BAŞKA EMİR İÇİN PALETLENMİŞ Mİ KONTROLÜ(@barkod)",@ambalajSorgu) If(@ambalajSorgu.rowCount = 0) ShowMessage({"title":"Hata","message":"Henüz palete eklenmemiş ambalajlar bulunmaktadır.","buttons":"Tamam"},@secim) Goto(BarkodOkut) Else() ShowMessage({"title":"Onay","message":"Kalan ambalajlar başka emirler için paletlenmiştir. İşlemi tamamlamak istiyor musunuz?","buttons":"Evet|Hayır"},@secim) CaseGoto(@secim, {"1":"EmirTamamla","2":"BarkodOkut"}) EndIf() EndIf() Sql("SELECT AMBALAJ UYGUN MU SORGUSU(@barkod, @tEmri.Id)",@ambalajSorgu) If(@ambalajSorgu.rowCount = 0) ShowMessage({"title":"Hatalı Ambalaj!", "message" : "Bu ambalaj uygun değil!", "buttons" : "Yeniden Okut|Listeye Dön"},@secim) CaseGoto(@secim, {"1":"BarkodOkut","2":"EmirSec"}) EndIf() PaleteEkle: CustomSlipType.Get("Name='AmbalajPaletleme'") // Bu iş emri için daha önce yapılmış işlem var mı? Yoksa, koliyi seçinceye kadar emir ve stok fişini oluşturmaz. WorkOrder.Get("ProductionOrderId=@tEmri.Id AND ProdOrderLineId=@tEmri.LineId AND CustomSlipTypeId=@@CustomSlipType.Id") Slip.Get("WorkOrderId=@@WorkOrder.Id") // Üretim emri için bir palet oluşturulur ya da varsa paletin içine ambalaj koymaya devam edilir. If(@@Container2.Id = "") Container.Get("LPN='@tEmri.SlipNumber_AMBALAJ'", @@Container2) If(@@Container2.Id = "") Container.Generate({"Count":"1","Description":"@tEmri.SlipNumber_AMBALAJ"},@@Container2) EndIf() EndIf() Container.Get("LPN=@barkod") If(@Response.Status="-1") ShowMessage({"title":"Ambalaj Hata", "message" : "@Response.Message ", "buttons" : "Tamam"},@secim) Goto(BarkodOkut) EndIf() Address.Get("Address='AMBALAJ' AND WarehouseId = @@Warehouse.Id", @@Address2) If(@@WorkOrder.Id="") Warehouse.Get(@@Warehouse.Id,@@Warehouse2) WorkOrder.New({"SlipType":"3"},1) EndIf() WorkOrderLine.New({"SlipType":"3", "Quantity" : "1"},1) If(@Response.Status="-1") ShowMessage({"title":"Emir Hata", "message" : "@Response.Message ", "buttons" : "Tamam"},@secim) Goto(BarkodOkut) EndIf() // İlk işlem If(@@Slip.Id="") Slip.New({"SlipType":"3"},1) EndIf() SlipLine.New({"SlipType":"3", "Quantity" : "1"},1) If(@Response.Status="-1") ShowMessage({"title":"Fiş Hata", "message" : "@Response.Message ", "buttons" : "Tamam"},@secim) Goto(BarkodOkut) EndIf() Goto(BarkodOkut) EmirTamamla: If(@@Container2.Id != "") Print("UretimAmbalajPaletEtiket",0,1,{"ContainerId":"@@Container2.Id","UserName":"@kullanici"}) ShowMessage({"title":"Emir tamamlandı","message":"@tEmri.SlipNumber nolu emrin ambalaj paletlemesi tamamlanmış ve palet etiketi yazdırılmıştır.","buttons":"Tamam"},@secim) EndIf() Goto(EmirSec) EndForm() BeginForm(UretimHammaddeTeslim) CallForm(ResetFormVariables) Set(@uretimMalzemeFiltresi, "AP") Set(@toplamaAdresi, "TARTIM") GoForm(UretimTransferOrtakForm) EndForm() BeginForm(UretimAmbalajTeslim) CallForm(ResetFormVariables) Set(@uretimMalzemeFiltresi, "PM,SF") Set(@toplamaAdresi, "AMBALAJ") GoForm(UretimTransferOrtakForm) EndForm() BeginForm(UretimTransferOrtakForm) KeyFunction("ESC",GoForm(UretimTransferMenu)) BarkodOkut: Input(0,0,"Palet barkodunu okutunuz",{"type":"text", "min":"1", "max":"25"},@barkod) Container.Get("LPN='@barkod'") If(@Response.Status="-1") ShowMessage({"title":"Palet Hata", "message" : "@Response.Message ", "buttons" : "Tamam"},@secim) Goto(BarkodOkut) EndIf() // Palet olması gereken yerde mi kontrolü yapar. Sql("SELECT * FROM [dbo].[GetContainerAdressInfo](@@Container.Id)",@adres) If(@adres.rows.1.Code !=@uretimAmbarNo OR @adres.rows.1.Address !=@toplamaAdresi) ShowMessage({"title":"Hata!","message":"Palet teslimat için uygun adreste değil!","buttons":"Tamam"},@secim) Goto(BarkodOkut) EndIf() // Paletin açıklamasından üretim emri bilgisini alır Split(@@Container.Description, "_",@aciklama) If(@aciklama.0 = "") ShowMessage({"title":"Hata!","message":"Palet uygun değil!","buttons":"Tamam"},@secim) Goto(BarkodOkut) EndIf() // Palet içinde sadece hammadde ya da sadece ambalaj olmalı Sql("SELECT Paletin içinde filtre harici var mı(@uretimMalzemeFiltresi)",@malzemeListe) If(@emirListe.rowCount > 0) ShowMessage({"title":"Hata!","message":"Palet içinde uygun olmayan malzemeler var!","buttons":"Tamam"},@secim) GoForm(BarkodOkut) EndIf() ProductionOrder.Get("SlipNumber = '@aciklama.0'") If(@Response.Status="-1") ShowMessage({"title":"Üretim Emri Hata", "message" : "@Response.Message ", "buttons" : "Tamam"},@secim) Goto(BarkodOkut) EndIf() ProductionOrderLine.Get("SlipId = @@ProductionOrder.Id") If(@Response.Status="-1") ShowMessage({"title":"Üretim İş Emri Hata", "message" : "@Response.Message ", "buttons" : "Tamam"},@secim) Goto(BarkodOkut) EndIf() ShowMessage({"title":"Onay", "message" : "Paletin @aciklama.0 üretim emri için teslimini onaylıyor musunuz?", "buttons" : "Evet|Hayır"},@secim) CaseGoto(@secim, {"1":"TransferEt","2":"BarkodOkut"}) TransferEt: CustomSlipType.Get("Name='UretimeTeslim'") Warehouse.Get("Code='@uretimAmbarNo'") Warehouse.Get("Code='@koltukAmbarNo'",@@Warehouse2) WorkOrder.New({"SlipType":"3"},1) If(@Response.Status="-1") ShowMessage({"title":"Palet Hata", "message" : "@Response.Message ", "buttons" : "Tamam"},@secim) Goto(AmbalajSec) EndIf() Container.Get(@@Container.Id, @@Container2) Address.Get("Address='URETIM' AND WarehouseId = @@Warehouse2.Id", @@Address2) WorkOrderLine.New({"SlipType":"3", "Quantity" : "1"},1) If(@Response.Status="-1") ShowMessage({"title":"Emir Hata", "message" : "@Response.Message ", "buttons" : "Tamam"},@secim) Goto(AmbalajSec) EndIf() Slip.Get("WorkOrderId=@@WorkOrder.Id") If(@@Slip.Id="") Slip.New({"SlipType":"3"},1) EndIf() SlipLine.New({"SlipType":"3", "Quantity" : "1","Approval" : "0"},1) If(@Response.Status="-1") ShowMessage({"title":"Fiş Hata", "message" : "@Response.Message ", "buttons" : "Tamam"},@secim) Goto(AmbalajSec) EndIf() Goto(BarkodOkut) EndForm() BeginForm(UretimHammaddeKabul) GoForm(UretimKabulOrtakForm) EndForm() BeginForm(UretimAmbalajKabul) GoForm(UretimKabulOrtakForm) EndForm() BeginForm(UretimKabulOrtakForm) KeyFunction("ESC",GoForm(UretimTransferMenu)) CallForm(ResetFormVariables) BarkodOkut: Input(0,0,"Palet barkodunu okutunuz",{"type":"text", "min":"1", "max":"25"},@barkod) Container.Get("LPN='@barkod'") If(@Response.Status="-1") ShowMessage({"title":"Palet Hata", "message" : "@Response.Message ", "buttons" : "Tamam"},@secim) Goto(BarkodOkut) EndIf() // Palet olması gereken yerde mi kontrolü yapar. Sql("SELECT * FROM dbo.GetContainerAdressInfo(@@Container.Id)",@adres) If(@adres.rows.1.Code !=@koltukAmbarNo OR @adres.rows.1.Address != "URETIM") ShowMessage({"title":"Hata!","message":"Palet kabul için uygun adreste değil!","buttons":"Tamam"},@secim) Goto(BarkodOkut) EndIf() // Paletin açıklamasından üretim emri bilgisini alır Split(@@Container.Description, "_",@aciklama) If(@aciklama.1 = "") ShowMessage({"title":"Hata!","message":"Palet uygun değil!","buttons":"Tamam"},@secim) Goto(BarkodOkut) EndIf() Set(@okunanlar,"0") AmbalajOkut: Sql("SELECT CC.ContainerId, C.LPN FROM dbo.GetContainerContent(@@Container.Id) CC INNER JOIN Container C ON CC.ContainerId=C.Id WHERE CC.ContainerId NOT IN(@okunanlar)",@ambalajListe) If(@ambalajListe.rowCount = 0) ShowMessage({"title":"Onay", "message" : "Paletin kabulünü onaylıyor musunuz?", "buttons" : "Evet|Hayır"},@secim) CaseGoto(@secim, {"1":"PaletOnayla","2":"BarkodOkut"}) EndIf() TableView(@ambalajListe.rows,2,8,{"rows":"100","columns":["LPN|Ambalaj Kodu|15|L"]}) Input(1,1,"Ambalaj barkodunu okutunuz",{"type":"text", "min":"1", "max":"25"},@ambalajBarkod) Container.Get("LPN='@ambalajBarkod'",@ambalaj) If(@Response.Status="-1") ShowMessage({"title":"Palet Hata", "message" : "@Response.Message ", "buttons" : "Tamam"},@secim) Goto(BarkodOkut) EndIf() Sql("SELECT ContainerId FROM dbo.GetContainerParent(@ambalaj.Id)",@ambalajParent) If(@ambalajParent.rowCount = 0) ShowMessage({"title":"Hata", "message" : "Bu ambalaj okutulan palete ait değil!", "buttons" : "Tamam"},@secim) Goto(AmbalajOkut) EndIf() Set(@okunanlar, @okunanlar+",@ambalaj.Id") Goto(AmbalajOkut) PaletOnayla: CustomSlipType.Get("Name='UretimeTeslim'") Slip.Get("ProductionOrderId=@@ProductionOrder.Id AND CustomSlipTypeId=@@CustomSlipType.Id") If(@@Slip.Id="") ShowMessage({"title":"Hata", "message" : "Üretim emrine ait teslimat fişi bulunamadı!", "buttons" : "Tamam"},@secim) Goto(BarkodOkut) EndIf() SlipLine.List("SlipId=@@Slip.Id","",@satirListe) For(@i,1,@satirListe.,1) SlipLine.Get(@satirListe.rows.@i.Id) SlipLine.Set({"Approval":1}) SlipLine.Save() Next() ShowMessage({"title":"Bilgi", "message" : "@barkod numaralı paletin kabul işlemi tamamlanmıştır.", "buttons" : "Tamam"},@secim) Goto(BarkodOkut) EndForm() BeginForm(UretimSarfiyatHammadde) CallForm(ResetFormVariables) Set(@uretimMalzemeFiltresi, "AP") Set(@malzemeTuru, "HAMMADDE") GoForm(UretimSarfiyatOrtakForm) EndForm() BeginForm(UretimSarfiyatAmbalaj) CallForm(ResetFormVariables) Set(@uretimMalzemeFiltresi, "PM,SF") Set(@malzemeTuru, "AMBALAJ") GoForm(UretimSarfiyatOrtakForm) EndForm() BeginForm(UretimSarfiyatOrtakForm) KeyFunction("ESC",GoForm(UretimSarfiyatMenu)) EmirSec: // Bekleyen paletlerin üretim iş emirleri listelenir. // Miktara bakılmaksızın tüm malzemeleri için sarf yapılmışsa emirler gösterilmez Sql("SELECT ÜRETİM EMİRLERİ",@emirListe) If(@emirListe.rowCount = 0) ShowMessage({"title":"Bilgi","message":"İşlem yapılacak üretim emri bulunmamaktadır.","buttons":"Tamam"},@secim) GoForm(UretimSarfiyatMenu) EndIf() PopupView(@emirListe.rows,{"mode":"list","title":"Üretim Emirleri", "fields":["SlipNumber|Üretim Emri No|15|L","ItemCode|Malzeme Kodu|10|L"]},@secim) Set(@tEmri, {"Id":"@emirListe.rows.@secim.ProductionOrderId", "LineId":"@emirListe.rows.@secim.ProductionOrderLineId","SlipNumber":"@emirListe.rows.@secim.SlipNumber"}) ProductionOrder.Get(@tEmri.Id) If(@Response.Status="-1") ShowMessage({"title":"Üretim Emri Hata", "message" : "@Response.Message ", "buttons" : "Tamam"},@secim) Goto(EmirSec) EndIf() ProductionOrderLine.Get(@tEmri.LineId) If(@Response.Status="-1") ShowMessage({"title":"Üretim İş Emri Hata", "message" : "@Response.Message ", "buttons" : "Tamam"},@secim) Goto(EmirSec) EndIf() CustomSlipType.Get("SlipType=2 AND ErpRecordType=3 AND ErpRecordTrCode='12'") WorkOrder.Get("ProductionOrderId=@tEmri.Id AND ProdOrderLineId=@tEmri.LineId AND CustomSlipTypeId=@@CustomSlipType.Id") Slip.Get("WorkOrderId=@@WorkOrder.Id") MalzemeSec: // Seçilen üretim emrine ait sarf fişlerinde yer alan malzemeler, kontrol kodları ve planlanan sarf miktarları listelenir. // // Bir kez kullanılan malzemeler gösterilmez // BU SORGUDAN PLANLANAN SARF SİPARİŞ SATIRINI DA DÖNDÜRMEK LAZIM Sql("SELECT PALET + ÜRETİMDEN MALZEME SEÇİM(@tEmri.SlipNumber)",@malzemeListe) If(@malzemeListe.rowCount = 0) Goto(EmirSec) EndIf() PopupView(@malzemeListe.rows,{"mode":"list","title":"@tEmri.SlipNumber", "fields":["ItemCode|Malzeme Kodu|10|L","KontrolKodu|Kontrol Kodu|10|L","Quantity|Miktar|5|R"]},@secim) Set(@tMalzeme,@malzemeListe.rows.@secim) // Tartımdan gelen hammaddeler için miktar girişi yaptırılmaz. Set(@tartimdan, 0) If(@malzemeTuru="HAMMADDE") Sql("SELECT TARTIM SATIRI SEÇİM(@tMalzeme.Id)",@tartimListe) Set(@tartimdan, @tartimListe.rowCount) EndIf() MalzemeIslem: If(@tartimdan > 0) Input(0,0,"Ambalaj barkodunu okutunuz",{"type":"text", "min":"1", "max":"25"},@barkod) If(@barkod != @tMalzeme.LPN) ShowMessage({"title":"Hatalı Ambalaj!", "message" : "Bu ambalaj uygun değil!", "buttons" : "Yeniden Okut|Listeye Dön"},@secim) CaseGoto(@secim, {"1":"MalzemeIslem","2":"MalzemeSec"}) EndIf() ResetVariables({"name":"Item"}) Else() Input(0,0,"Kullanılan Miktar (Planlanan: @tMalzeme.Quantity)",{"type":"decimal","min":"0.000001", "max":"9999999.0"},@ambalajMiktar) EndIf() // Bu iş emri için daha önce yapılmış işlem var mı? Container.Get("LPN='@tEmri.SlipNumber'", @@Container) If(@Response.Status="-1") ShowMessage({"title":"Ambalaj Hata", "message" : "@Response.Message ", "buttons" : "Tamam"},@secim) Goto(BarkodOkut) EndIf() Container.Get("LPN='@tMalzeme.LPN'", @@Container) If(@Response.Status="-1") ShowMessage({"title":"Ambalaj Hata", "message" : "@Response.Message ", "buttons" : "Tamam"},@secim) Goto(BarkodOkut) EndIf() ItemUnit.Get(@tKoli.UnitId) If(@Response.Status="-1") ShowMessage({"title":"Malzeme Hata", "message" : "@Response.Message ", "buttons" : "Tamam"},@secim) Goto(BarkodOkut) EndIf() If(@@WorkOrder.Id="") WorkOrder.New({"SlipType":"2"},1) EndIf() WorkOrderLine.New({"SlipType":"2", "Quantity" : "@satirMiktar"},1) If(@Response.Status="-1") ShowMessage({"title":"Emir Hata", "message" : "@Response.Message ", "buttons" : "Tamam"},@secim) Goto(MalzemeSec) EndIf() // İlk işlem If(@@Slip.Id="") Slip.New({"SlipType":"2"},1) EndIf() SlipLine.New({"SlipType":"2", "Quantity" : "@satirMiktar"},1) If(@Response.Status="-1") ShowMessage({"title":"Fiş Hata", "message" : "@Response.Message ", "buttons" : "Tamam"},@secim) Goto(MalzemeSec) EndIf() Goto(MalzemeSec) EndForm() ///Mal Kabul İşlemleri BeginForm(MalKabulIslemleri) KeyFunction("ESC",GoForm(AnaMenu)) ClearScreen() MenuItem(AnalizSertifikaKayıt,"Analiz Sertifika Kayıt","",1) MenuItem(SiparisKabul,"Siparis Kabul","",2) MenuItem(Paletleme,"Palet Etiketleme","",3) MenuItem(RafaYerlestir,"Rafa Yerlestir","",4) MenuItem(AnaMenu,"Ana Menü","",5) MenuRun(0,1,"Mal Kabul İslemleri") EndForm() BeginForm(AnalizSertifikaKayıt) KeyFunction("ESC",GoForm(AnaMenu)) Text(0,0,"Sertifika Kayıt Firma Seçim") CallForm(ArpAra) BelgeNo: Text(1,1,"Cari:@@Arp.Title") Input(0,0,"Belge Numarasi",{"type":"text", "min":"1", "max":"16"},@belge_no) Text(1,2,"Belge Numarasi:@belge_no") LotBilgiGiris: Input(0,0,"Lot Numarası",{"type":"text", "min":"1", "max":"16"},@lotNo) Text(1,3,"Lot Numarasi:@lotNo") LotKontrol: Sql({"report":"ScriptAnalizSertifikaKayitLotKontrol","DocumentNumber":"@belge_no","TrackingNumber":"@LotNo"},@SQL_SONUC) If(@SQL_SONUC.rowCount = 0) Goto(SertifikaKayit) Else() ShowMessage({"title":"Lot Kontrol","message":"Girdiginiz bilgilere ait daha önce kayıt oluşturulmuş","buttons":"1:İptal"},@mesajboxsecim) Goto(BelgeNo) EndIf() SertifikaKayit: Sql("INSERT INTO XCertificateAnalysis(ArpId,DocumentNumber,TrackingNumber,FilePrefix,UserName) VALUES(@@Arp.Id,@belge_no,@LotNo,'AN',@@User.UserName)",@SONUC) Goto(DosyaAdıGiris) DosyaAdıGiris: Sql({"report":"ScriptAnalizSertifikaKayitLotKontrol","DocumentNumber":"@belge_no","TrackingNumber":"@LotNo"},@SQL_SONUC) //Sql({"report":"ScriptAnalizSertifikaGenerateFileName"},@SQL_SONUC) ShowMessage({"title":"Dosya Oluştur","message":"Dosya Adını @SQL_SONUC.rows.1.FNAME olarak giriniz. ","buttons":"1:Tamam |2:İptal"},@mesajboxsecim) If(@mesajboxsecim="2") Sql("DELETE FROM XCertificateAnalysis WHERE FileName IS NULL ",@SONUC) //ArpId=@@Arp.Id AND DocumentNumber=@belge_no AND TrackingNumber = @LotNo AND FilePrefix = 'AN' AND UserName=@@User.UserName GoForm(AnaMenu) EndIf() AnalizDosyaKontrol: Set(@AnalizSorguBelgeNo,@belge_no) Set(@AnalizSorguLotNo,@LotNo) CallForm(Analiz) If(@AnalizVarMı=0) ShowMessage({"title":"Analiz Hata","message":"@SQL_SONUC.rows.1.FNAME isimli dosya bulunamadı","buttons":"1:Tekrar Dene | 2:İptal"},@mesajboxsecim) If(@mesajboxsecim=1) Goto(AnalizDosyaKontrol) Else() GoForm(AnaMenu) EndIf() Else() ShowMessage({"title":"Analiz Onay","message":"@SQL_SONUC.rows.1.FNAME isimli dosya kayıt edildi","buttons":"1:Tamam"},@mesajboxsecim) Sql({"report":"ScriptAnalizSertifikaKopyala","FileName2":"@SQL_SONUC.rows.1.FNAME"},@FKOPYA) Sql("Update XCertificateAnalysis Set FileName=@SQL_SONUC.rows.1.FNAME Where Id=@SQL_SONUC.rows.1.Id",@result) EndIf() Goto(BelgeNo) EndForm() BeginForm(SiparisKabul) KeyFunction("ESC",GoForm(AnaMenu)) CallForm(ResetFormVariables) Text(0,0,"Sipariş Kabul Firma Seçim") //Tiger parametrelerinden gün sayısısı çekiliyor, gelen irsaliyede skt veya retest tarihi ile günün tarihi karşılaştırmasında kullanılacak Sql("select S_GUN from LG_XT306",@IrsGunSorgu) Set(@IrsGunSayi, @IrsGunSorgu.rows.1.S_GUN) CariBilgi: CallForm(ArpAra) ///Tedarikçi seçimi için kullanılan genel form BelgeNo: Text(1,1,"Cari:@@Arp.Title") Input(0,0,"Belge Numarasi",{"type":"text", "min":"1", "max":"16"},@belge_no) Text(1,2,"Belge Numarasi:@belge_no") BelgeFisKontrol: Sql("select top 1 Id from Slip Where DocumentNumber=@belge_no",@BelgeKontrol) If(@BelgeKontrol.rows.1.Id="") Goto(BelgeTarihi) Else() Beep() Beep() ShowMessage({"title":"Hata!","message":"Belge daha once kayıt edilmiş","buttons":"Tamam"},@secim) Goto(BelgeNo) EndIf() BelgeTarihi: ClearLines(3,3) Input(1,3,"Belge Tarihi",{"type":"date"},@belge_tarihi) If(@belge_tarihi.1="" OR @belge_tarihi.2="" OR @belge_tarihi.3="") Beep() Beep() ShowMessage({"title":"Hata!","message":"Belge tarihi boş geçilemez!","buttons":"Tamam"},@secim) Goto(BelgeTarihi) EndIf() BelgeSet: Set(@BelgeTarihi,"@belge_tarihi.1"+"."+"@belge_tarihi.2"+"."+"@belge_tarihi.3") If(@BelgeTarihi.IsDate="0",Goto(TarihDogru),Goto(BelgeTarihiFormatHata)) BelgeTarihiFormatHata: Beep() Beep() ShowMessage({"title":"Hata!","message":"Belge tarihi format Hatalı!","buttons":"Tamam"},@secim) Goto(BelgeTarihi) TarihDogru: GoForm(SiparisKabulDetay) EndForm() BeginForm(EscapeSiparisKabul) KeyFunction("ESC",GoForm(SiparisKabulDetay)) MenuItem(SiparisKabulDetay,"GERI DON","",1) MenuItem(MalKabulIslemBitir,"ISLEM BITIR","",2) MenuItem(AnaMenu,"ANA MENU","",3) MenuRun(0,1,"Siparis Cıkış") EndForm() BeginForm(SetKontrolKodu) //WorkOrderLine.New({"SlipType":"3", "Quantity" : "1"},1) //Diye bir işlem yaptık. //Sonra kontrol kodunun verildiği ilk hareketi bulmak gerekiyor ItemTracking.Get("IoCode = 2 AND LineType = 4 AND TrackingNumber = 'LOT1' AND ContainerId = @@Container.Id") //gibi bir kodla yani. (Kolinin ilk oluşturulduğu, malzemenin koli içine koyduğu hareket) // //Sonra orada verilmiş olan kontrol kodunu bir değişkene atıyoruz. Set(@ekAlanDeg,@@ItemTracking.KontrolKodu) //Sonra da son emir hareketinin detayını buluyoruz. (Koliyi palete koyma işlemi) ItemTracking.Get("IoCode = 3 AND WorkOrderLineId = @@WorkOrderLine.Id") //Ek alan bilgisini oraya yazıp kaydediyoruz. ItemTracking.Set({"KontrolKodu":"@ekAlanDeg"}) ItemTracking.Save() EndForm() BeginForm(SiparisKabulDetay) KeyFunction("ESC",GoForm(EscapeSiparisKabul)) Baslik: Set(@Baslik,"Belge No: @belge_no") Text(0,0,@Baslik) ResetVar: Set(@ToplamGiris,0) ResetVariables({"name":"@@WorkOrderLine"}) Set(@lotToplamMiktar,0) CallForm(SiparisFiltre) MalzemeBilgiEkrandGoster: ClearScreen() Text(1,1,"@ArpNameText") Text(1,2,"@@Item.Code") Text(1,3,"@@Item.Name") BelgeNoKontrol: PlanningSlip.Get("DocumentNumber='@belge_no' and SlipType=1") If(@@PlanningSlip.Id="") PlanningSlip.New({"SlipType":"1","DocumentNumber":"@belge_no","DocumentDate":"@BelgeTarihi","SlipDate":"@BelgeTarihi"},1) EndIf() Set(@KabulPlanId,@@PlanningSlip.Id) WorkOrder.Get("DocumentNumber='@belge_no' and SlipType=1 and ArpId=@@Arp.Id") If(@@WorkOrder.Id="") WorkOrder.New({"SlipType":"1","DocumentNumber":"@belge_no","DocumentDate":"@BelgeTarihi","SlipDate":"@BelgeTarihi"},1) EndIf() Set(@KabulEmirId,@@WorkOrder.Id) LotGiris: If(@@Item.TrackingType=1) ClearLines(5,9) Input(1,4,"Lot Numarası",{"type":"text", "min":"0", "max":"20"},@Lot) If(@Lot=".") Set(@Lot,@SonLot) //Goto(SatırListele) GoForm(Ambalaj) Else() Set(@SonLot,@Lot) Goto(LotaAitAnalizKontrol) EndIf() Else() Goto(MiktarGirisi) EndIf() LotaAitAnalizKontrol: Set(@AnalizSorguBelgeNo,@belge_no) Set(@AnalizSorguLotNo,@Lot) CallForm(Analiz) If(@AnalizVarMı=0) Goto(LotGiris) EndIf() SktRetestGiris: CallForm(GetRetest) If(@Retestli="1") Input(1,5,"Retest Tarihi",{"type":"date"},@RetestSkt) Else() Input(1,5,"Son Kullanma Tarihi",{"type":"date"},@RetestSkt) EndIf() Set(@RetestSkt,"@RetestSkt.1"+"."+"@RetestSkt.2"+"."+"@RetestSkt.3") If(@RetestSkt.IsDate!="0",Goto(SktHata),Goto(TarihKontrol)) TarihKontrol: Sql("SELECT dbo.PNET_DATECONTROL(@RetestSkt,@IrsGunSayi) AS Sonuc ",@Date_Result) If(@Date_Result.rows.1.Sonuc <= 0) ShowMessage({"title":"Son Kullanma Tarihi Kontrol","message":"Son kullanma tarihi/Retest tarihi uygun değil.\nDevam etmek istediğinize emin misiniz?","buttons":"1:Devam|2:İptal"},@DresultSecim) If(@DresultSecim = "1") //Email gönderimi Sql("SELECT dbo.PNET_DATECONTROL(@RetestSkt,@IrsGunSayi) + @IrsGunSayi AS Sonuc ",@mailgun) //Set(@mailgun,@Date_Result.rows.1.Sonuc + @IrsGunSayi) Set(@msg,"@@Item.Code Kodlu @@Item.Name malzemesi @lot lot numarası ile retest veya sktsine @mailgun.rows.1.Sonuc gün kalarak sisteme girişi yapılmıştır.
Bu mail sistem tarafından bilgilendirme amaçlı gönderilen otomatik bir maildir, lütfen cevaplamayınız") Sql({"report":"ScriptMailGonder","konu":"Son kullanma tarihi bilgilendirme","mesaj":"@msg"},@temp) Goto(MiktarGirisi) Else() Goto(SktRetestGiris) EndIf() EndIf() MiktarGirisi: Address.Get("Address='MALKABUL' AND WarehouseId = @@Warehouse.Id") Input(1,6,"@@ItemUnit.Code : ",{"type":"decimal","min":"0.0", "max":"999999.0"},@miktar) If(@miktar = 0) If(@@Item.TrackingType = 1) Goto(LotGiris) Else() GoForm(Ambalaj) EndIf() EndIf() If(@@Item.InputOverageLimit>0) Set(@siparisToleransMiktar,@@OrderSlipLine.Quantity * (1+(@@Item.InputOverageLimit / 100))) Set(@sevkMiktar,@@OrderSlipLine.ShippedTotal+@lotToplamMiktar+@miktar) If(@sevkMiktar>@siparisToleransMiktar) ShowMessage({"title":"Miktar Tolerans Kontrol","message":"Girilen miktar izin verilen sınırları aşmaktadır.","buttons":"1:Tamam"},@temp) GoTo(LotGiris) EndIf() EndIf() Set(@lotToplamMiktar,@miktar+@lotToplamMiktar) //SatırKaydetWo: PlanningSlipLine.New({"SlipType":"1", "Quantity" : "@miktar"},0) WorkOrderLine.New({"SlipType":"1", "Quantity" : "@miktar"},0) If(@@Item.TrackingType=1) CallForm(GetRetest) ItemTracking.New({"LineType":"3","Quantity":"@miktar","TrackingNumber":"@Lot"},1) If(@Retestli=1) //Set(@DateFieldName,"RetestTarihi") ItemTracking.New({"LineType":"4","Quantity":"@miktar","TrackingNumber":"@Lot","RetestTarihi":"@RetestSkt"},1) Else() //Set(@DateFieldName,"ExpirationDate") ItemTracking.New({"LineType":"4","Quantity":"@miktar","TrackingNumber":"@Lot","ExpirationDate":"@RetestSkt"},1) EndIf() Else() PlanningSlipLine.Save() WorkOrderLine.Save() GoForm(Ambalaj) EndIf() //Set(@WolId,@@WorkOrderLine.Id) GoTo(LotGiris) SktHata: ShowMessage({"title":"Son Kullanma Tarihi Kontrol","message":"Tarih Formatı Hatalı","buttons":"1:İptal"},@mesajboxsecim) Goto(SktRetestGiris) EndForm() BeginForm(Ambalaj) KeyFunction("ESC",GoForm(SiparisKabulDetay)) Goto(SatırListele) EscapeKontrol: // //Sql({"report":"ScriptAmbalajEscapeKontrol","DocumentNumber":"@belge_no","OrderSlipLine":"@@OrderSlipLine.Id"},@ESCAPEKONTROL) // //If(@ESCAPEKONTROL.rows.1.ToplamMiktar=@ESCAPEKONTROL.rows.1.ToplamAmbalajMiktar) // //ShowMessage({"title":"KabulEmirId", "message" : "@KabulEmirId", "buttons" : "Tamam"},@temp) // //ShowMessage({"title":"AmbalajEmirId", "message" : "@AmbalajEmirId", "buttons" : "Tamam"},@temp) // Sql({"report":"ScriptAmbalajEscapeKontrol","WorkOrderLineId":"@WolIdKabulEmirId"},@ESCAPEKONTROL) // If(@ESCAPEKONTROL.rows.1.Miktar=@ESCAPEKONTROL.rows.1.AmbalajMiktar) // GoForm(SiparisKabulDetay) // Else() // Beep() // Beep() // ShowMessage({"title":"Hata!","message":"Ambalajlama Yapmadan Çıkış yapılamaz!","buttons":"Tamam"},@itemtrackingmbox) // Goto(SatırListele) // EndIf() // // GoForm(SiparisKabulDetay) // Else() // Beep() // Beep() // ShowMessage({"title":"Hata!","message":"Ambalajlama Yapmadan Çıkış yapılamaz!","buttons":"Tamam"},@itemtrackingmbox) // Goto(SatırListele) // EndIf() SatırListele: //Sql({"report":"TransactionDetailListYeni","DocumentNumber":"@belge_no","OrderSlipLineId":"@@OrderSlipLine.Id"},@LISTEITEMTRACKING) Sql("SELECT * FROM PNET_GetTransactionDetails(@belge_no,@@OrderSlipLine.Id)",@LISTEITEMTRACKING) If(@LISTEITEMTRACKING.rowCount = 0) Beep() Beep() ShowMessage({"title":"Hata!","message":"Malzemeye Ait Satır Bulunamadı!","buttons":"Tamam"},@itemtrackingmbox) GoForm(SiparisKabulDetay) EndIf() SatırSecim: PopupView(@LISTEITEMTRACKING.rows,{"mode":"card","title":"Lot Listesi","fields":["TrackingNumber|Lot No|15|L","QuantityWithUnit|Miktar|10|L","AmbalajMiktar|Paketlenen|10|L","Detay|Detay|50|L"]},@itemtrackingsecim) If(@itemtrackingsecim>@LISTEITEMTRACKING.rowCount) ShowMessage({"title":"Hata","message":"Hatalı Seçim","buttons":"Tekrar Dene"},@secim) Goto(SatırSecim) EndIf() SatırKontrol: If(@LISTEITEMTRACKING.rows.@itemtrackingsecim.Quantity=@LISTEITEMTRACKING.rows.@itemtrackingsecim.AmbalajMiktar) Beep() Beep() ShowMessage({"title":"Hata!","message":"Secilen satırın tamamı paketlenmiş","buttons":"Tamam"},@itemtrackingmbox) Goto(SatırListele) EndIf() AmbalajEmirAc: //Hedef Ambar kodu Kaynak ambar olarak set ediliyor. Yer değiştirme fişlerinde bu Kaynak ve Hedef Ambar aynı olmalıdır. Warehouse.Get(@@Warehouse.Id,@@Warehouse2) //Adres2 alanı set ediliyor. Address.Get("Address='MALKABUL' AND WarehouseId = @@Warehouse2.Id",@@Address2) //Ozel Fiş türü alanı Yer değiştirme olarak set ediliyor CustomSlipType.Get("Name='Kolileme'") //Yeni bir transfer emir fişi oluşturuluyor ResetVariables({"name":["@@WorkOrder"]}) WorkOrder.Get("DocumentNumber='@belge_no' and SlipType=3") If(@@WorkOrder.Id="") WorkOrder.New({"SlipType":"3","DocumentNumber":"@belge_no"},1) Else() Goto(SetEmirId) EndIf() Set(@AmbalajEmirId,@@WorkOrder.Id) SetEmirId: //Transfer emir fişinin Id alanı bir değişkene set ediliyor Set(@AmbalajEmirId,@@WorkOrder.Id) Sql("SELECT [dbo].[PNET_GET_TARGETWH] (@@Item.Code,@@Arp.Code) as ambar",@tmp_ambar) If(@tmp_ambar.rows.1.ambar=@karantinaAmbarNo AND @LISTEITEMTRACKING.rows.Count > 0 AND @LISTEITEMTRACKING.rows.@itemtrackingsecim.KontrolKodu = "",Goto(KontrolKoduAlFrm),Goto(KontrolKoduOku)) KontrolKoduAlFrm: CallForm(KontrolKoduAl) Goto(AmbalajGirisi) KontrolKoduOku: Set(@LotKontrolKodu,@LISTEITEMTRACKING.rows.@itemtrackingsecim.KontrolKodu) AmbalajGirisi: ClearScreen() Sql("SELECT * FROM PNET_GetTransactionDetails(@belge_no,@@OrderSlipLine.Id)",@LISTEITEMTRACKING) //Ambalaj adet bilgisinin girilecek Input Input(1,1,"Ambalaj Adedi",{"type":"int", "min":"1", "max":"9999"},@ambalajAdet) //Ambalaj Miktar bilgisinin girileceği Input Input(1,2,"Ambalaj İçi @@ItemUnit.Code ",{"type":"decimal","min":"0.000001", "max":"9999999.0"},@ambalajMiktar) //Girilen bilgilere istinaden Ambalajlar içerisindeki Toplam Miktar bilgisi hesaplanıyor. Set(@AmbalajMiktarToplami,@ambalajAdet*@ambalajMiktar) Set(@AmbalajMiktarToplami,@AmbalajMiktarToplami+@LISTEITEMTRACKING.rows.@itemtrackingsecim.AmbalajMiktar) Set(@msgtop,"Toplam Miktar:"+@AmbalajMiktarToplami+"/"+@LISTEITEMTRACKING.rows.@itemtrackingsecim.Quantity) //Eğer seçilen lota ait miktardan fazla bir ambalajlama işlemi yapılırsa hata veriliyor. //LogVariables() Text(1,7,@msgtop) If(@AmbalajMiktarToplami>@LISTEITEMTRACKING.rows.@itemtrackingsecim.Quantity) Beep() Beep() ShowMessage({"title":"Hata!","message":"Koli Miktarları Toplam Miktardan Fazla!","buttons":"Tamam"},@secim) Goto(AmbalajGirisi) EndIf() //Ambalaj adeti kadar dönecek bir döngü tanımlanıyor ContainerType.Get("Code = 'Ambalaj'") //AMBALAJ kodunda bir Taşıma kabının bilgileri alınıyor. Sql("SELECT AddressId FROM TransactionDetail WHERE Id=@LISTEITEMTRACKING.rows.@itemtrackingsecim.Id",@sqlResult) Address.Get(@sqlResult.rows.1.AddressId); Address.Get(@@Address.Id,@@Address2) WorkOrder.Get("DocumentNumber='@belge_no' and SlipType=3") For(@i,1,@ambalajAdet,1) ClearLines(3,5) Text(1,3,"@ambalajAdet Adet ambalaj oluşturuluyor" ) Text(1,4,"@i numaralı ambalaj oluşturuldu" ) Container.Generate({"Count":"1","Description":"@tmp_ambar.rows.1.ambar"},@@Container2) //1 Adet taşıma kabı generate ediliyor. WorkOrderLine.New({"RelatedWorkOrderLineId":"@LISTEITEMTRACKING.rows.@itemtrackingsecim.WorkOrderLineId","SlipType":"3", "Quantity" : "@ambalajMiktar"},0) //Emir fişine yeni bir satır oluşturuluyor If(@@Item.TrackingType=1) CallForm(GetRetest) If(@Retestli=1) ItemTracking.New({"LineType":"4","Quantity":"@ambalajMiktar","TrackingNumber":"@listeitemtracking.rows.@itemtrackingsecim.TrackingNumber","RetestTarihi":"@RetestSkt","KontrolKodu":"@LotKontrolKodu"},1) Else() ItemTracking.New({"LineType":"4","Quantity":"@ambalajMiktar","TrackingNumber":"@listeitemtracking.rows.@itemtrackingsecim.TrackingNumber","ExpirationDate":"@RetestSkt","KontrolKodu":"@LotKontrolKodu"},1) EndIf() Else() WorkOrderLine.Save() EndIf() ClearLines(5,5) Next() CallForm(KontrolKoduKaydet) Text(1,6,"Id: @LISTEITEMTRACKING.rows.@itemtrackingsecim.Id") Text(1,10,"Kontrol Kodu:@LotKontrolKodu") //If(@@Item.TrackingType=1) // //Ambar transfer için kontrol kodu kaydedildi. // ItemTracking.Set({"KontrolKodu":"@LotKontrolKodu"}) // ItemTracking.Save() // //Giriş fişi için kontrol kodu kaydedildi. // ItemTracking.Get("Id = @LISTEITEMTRACKING.rows.@itemtrackingsecim.Id") // WorkOrderLine.Get(@@ItemTracking.WorkOrderLineId) // ItemTracking.Set({"KontrolKodu":"@LotKontrolKodu"}) // ItemTracking.Save() //EndIf() If(@AmbalajMiktarToplami<@LISTEITEMTRACKING.rows.@itemtrackingsecim.Quantity,Goto(AmbalajGirisi),Goto(EtiketYazdirToplu)) EtiketYazdirToplu: //Todo: Test edilecek //ItemTracking.Get("IoCode = 3 AND WorkOrderLineId = @@WorkOrderLine.Id") Text(1,5,"Ambalaj Etiketleri yazıcıya gönderildi" ) CallForm(AmbalajYazdir) Goto(SatırListele) EndForm() BeginForm(MalKabulIslemBitir) WorkOrder.Get("DocumentNumber='@belge_no' and SlipType=3") Set(@AmbalajEmirId,@@WorkOrder.Id) //ShowMessage({"title":"KabulEmirId", "message" : "@KabulEmirId", "buttons" : "Tamam"},@temp) //ShowMessage({"title":"AmbalajEmirId", "message" : "@AmbalajEmirId", "buttons" : "Tamam"},@temp) Sql({"report":"ScriptAmbalajEscapeKontrolFis","WoIdGiris":"@KabulEmirId","WoIdAmbalaj":"@AmbalajEmirId"},@ESCAPEKONTROL) If(@ESCAPEKONTROL.rows.1.GirisMiktar=@ESCAPEKONTROL.rows.1.AmbalajMiktar) Goto(FisOlustur) Else() ShowMessage({"title":"Hata", "message" : "Kolileme işlemleri tamamlanmadan fişi kaydedemezsiniz.", "buttons" : "Tamam"},@temp) GoForm(Ambalaj) EndIf() FisOlustur: CustomSlipType.Get(11) WorkOrder.Get(@KabulEmirId) Slip.Generate() CustomState.Get("SystemEvent = 6 and RecordType = 161") Slip.Save() If(@Response.Status="-1") ShowMessage({"title":"Hata", "message" : "@Response.Message ", "buttons" : "Tamam"},@secim) GoForm(EscapeSiparisKabul) EndIf() WorkOrder.Get(@AmbalajEmirId) CustomSlipType.Get("Name='Kolileme'") Slip.Generate() If(@Response.Status="-1") ShowMessage({"title":"Hata", "message" : "@Response.Message ", "buttons" : "Tamam"},@secim) GoForm(EscapeSiparisKabul) EndIf() ShowMessage({"title":"Bilgi","message":"Fişler Başarılı Şekilde Oluşturuldu","buttons":"Ana Menü"},@secim) GoForm(AnaMenu) EndForm() BeginForm(Paletleme) KeyFunction("ESC",GoForm(AnaMenu)) Text(0,0,"Palet Etiketleme") PaletTipiSec: CallForm(ResetFormVariables) Set(@PaletLot,"") ContainerType.List("Code LIKE '%P%'","",@PaletTipi) If(@PaletTipi.rowCount = 0) Beep() Beep() ShowMessage({"title":"Hata!","message":"Palet Tipi Bulunamadı","buttons":"Tamam"},@secim_hata) Goto(PaletTipiSec) Else() PopupView(@PaletTipi.rows,{"mode":"list","title":"Palet Listesi","fields":["Code|Kodu|15|L","Description|Açıklama|50|L"]},@secim) ContainerType.Get("Code = '@PaletTipi.rows.@secim.Code'") ShowMessage({"title":"Palet Onay","message":"@PaletTipi.rows.@secim.Code","buttons":"1:Tamam|2:İptal"},@secim) If(@secim=1,Goto(PaletGenerate),Goto(PaletTipiSec)) EndIf() PaletGenerate: Container.Generate({"Count":"1"},@@Container2) If(@Response.Status="-1") ShowMessage({"title":"Hata", "message" : "@Response.Message ", "buttons" : "Tamam"},@secim) Goto(PaletTipiSec) EndIf() If(@@Container2.Id="") ShowMessage({"title":"Hata", "message" : "Palet Oluşturulamadı", "buttons" : "Tamam"},@secim) Goto(PaletTipiSec) Else() Text(1,1,@@Container2.LPN) EndIf() KoliBarkodOkut: Sql("select COUNT(*) as SAYI from WorkOrderLine With(nolock) where SlipId=@@WorkOrder.Id",@SatirSayisi) Text(1,8,"Okutulan Koli Sayısı:@SatirSayisi.rows.1.SAYI") Text(1,9,"Palet Kapat[.] Palet İptal [Esc]") Input(1,2,"Ambalaj Barkod:",{"type":"text", "min":"0", "max":"20"},@AmbalajEtiketi) If(@AmbalajEtiketi=".") Goto(SlipGenerate) EndIf() GetContainer: Container.Get("LPN='@AmbalajEtiketi'") If(@@Container.Id="") ShowMessage({"title":"Hata", "message" : "Ambalaj Bulunamadı", "buttons" : "Tamam"},@secim) Goto(KoliBarkodOkut) Else() Container.Get(@@Container.Id,@@ChildContainer2) Goto(ContainerPalettemi) EndIf() ContainerPalettemi: Sql("SELECT ContainerId FROM TransactionDetail WITH (NOLOCK) WHERE Active = 1 AND ChildContainerId = @@Container.Id AND ContainerId IS NOT NULL AND IoCode IN (1,2) AND LineType = 4",@KoliPalet) If(@KoliPalet.rows.1.ContainerId="") Goto(LotKontrol) Else() ShowMessage({"title":"Hata", "message" : "Ambalaj Daha Önce Paketlenmiş", "buttons" : "Tamam"},@secim) Goto(KoliBarkodOkut) EndIf() LotKontrol: If(@KoliBilgi.ItemId="") //İlk Koli içeriği alınıyor Sql("SELECT TOP 1 * FROM PNET_GetPackageInfo(@@Container.Id)",@KoliSorgu) Set(@KoliBilgi, {"ItemId":"@KoliSorgu.rows.1.ItemId","TrackingNumber":"@KoliSorgu.rows.1.TrackingNumber","KontrolKodu":"@KoliSorgu.rows.1.KontrolKodu"}) Else() //Yeni okunan koli içeriği alınıyor Sql("SELECT TOP 1 * FROM PNET_GetPackageInfo(@@Container.Id)",@KoliSorgu) Set(@tmpKoli, {"ItemId":"@KoliSorgu.rows.1.ItemId","TrackingNumber":"@KoliSorgu.rows.1.TrackingNumber","KontrolKodu":"@KoliSorgu.rows.1.KontrolKodu"}) If( @tmpKoli.TrackingNumber=@KoliBilgi.TrackingNumber AND @tmpKoli.ItemId=@KoliBilgi.ItemId AND @tmpKoli.KontrolKodu=@KoliBilgi.KontrolKodu) Goto(WorkOrderLineOlustur) Else() ShowMessage({"title":"Hata", "message" : "Okutulan kolinin içeriği uygun değil!", "buttons" : "Tamam"},@secim) Goto(KoliBarkodOkut) EndIf() EndIf() WorkOrderLineOlustur: If(@@WorkOrder.Id="") Sql("SELECT WarehouseId FROM GetContainerAdressInfo(@@Container.Id)",@KoliAmbar) If(@Response.Status="-1") ShowMessage({"title":"Hata", "message" : "@Response.Message ", "buttons" : "Tamam"},@secim) Goto(KoliBarkodOkut) EndIf() Warehouse.Get(@KoliAmbar.rows.1.WarehouseId) If(@Response.Status="-1") ShowMessage({"title":"Hata", "message" : "@Response.Message ", "buttons" : "Tamam"},@secim) Goto(KoliBarkodOkut) EndIf() Warehouse.Get("Code='@@Container.Description'",@@Warehouse2) If(@Response.Status="-1") ShowMessage({"title":"Hata", "message" : "@Response.Message ", "buttons" : "Tamam"},@secim) Goto(KoliBarkodOkut) EndIf() If(@@Warehouse.Id=@@Warehouse2.Id) CustomSlipType.Get("Name='Paletleme'") Else() CustomSlipType.Get("Name='PaletlemeTransfer'") EndIf() WorkOrder.New({"SlipType":"3"},1) If(@Response.Status="-1") ShowMessage({"title":"Hata", "message" : "@Response.Message ", "buttons" : "Tamam"},@secim) Goto(KoliBarkodOkut) EndIf() EndIf() Address.Get("Address='MALKABUL' AND WarehouseId = @@Warehouse2.Id",@@Address2) If(@Response.Status="-1") ShowMessage({"title":"Hata", "message" : "@Response.Message ", "buttons" : "Tamam"},@secim) Goto(KoliBarkodOkut) EndIf() ResetVariables({"name":"@@Item"}) WorkOrderLine.New({"SlipType":"3","Quantity":"1"},1) If(@Response.Status="-1") ShowMessage({"title":"Hata", "message" : "@Response.Message ", "buttons" : "Tamam"},@secim) Goto(KoliBarkodOkut) EndIf() Goto(KoliBarkodOkut) SlipGenerate: WorkOrder.Get(@@WorkOrder.Id) Slip.Generate() CustomState.Get("SystemEvent = 6 and RecordType = 161") Slip.Save() If(@Response.Status="-1") ShowMessage({"title":"Hata", "message" : "@Response.Message ", "buttons" : "Tamam"},@secim) Goto(KoliBarkodOkut) Else() Print("PaletEtiketi",0,1,{"Id":"@@Container2.Id","UserName":"@kullanici"}) ShowMessage({"title":"Bilgi","message":"Fişler Başarılı Şekilde Oluşturuldu","buttons":"Devam"},@secim) EndIf() CallForm(AdresRezervasyon) Goto(PaletTipiSec) EndForm() BeginForm(AdresRezervasyon) Sql("SELECT Id, Warehouse2Id, Container2Id FROM SlipLine WHERE SlipId = @@Slip.Id",@slipLines) If(@slipLines.rowCount > 0) ResetVariables({"name":["@@ReservationSlip","@@CustomState","@@CustomSlipType","@@WorkOrder","@@WorkOrderLine","@@Warehouse2","@@Item","@@ItemUnit","@@Slip","@@WorkOrder","@@PlanningSlip","@@OrderSlip","@@Address2","@@Container2","@@ChildContainer2"]}) Warehouse.Get(@sliplines.rows.1.Warehouse2Id) //Container.Get(@sliplines.rows.1.Container2Id) Sql("SELECT TOP 1 * FROM PNET_GetSuitableAddress(@@Container.LPN) ORDER BY PlacementPriority,Address",@sqlResult) LogVariables() If(@sqlResult.rowCount>0) If(@@ReservationSlip.Id = "") ReservationSlip.New({"SlipType":"2"},1) EndIf() Address.Get(@sqlResult.rows.1.AddressId) ReservationSlipLine.New({"SlipType":"2","Description":"@@Container.LPN"},1) EndIf() EndIf() ReturnForm() EndForm() BeginForm(AdresOneriFisiKullaniciSecim) KeyFunction("ESC",GoForm(RafaYerlestir)) AdresOkut: ClearScreen() //Rezerve edilmiş adres var ise gösterilir yok ise uygun adreslerden ilk 3 tanesi listelenir If(@suggAddress != "") Text(1,2,"Önerilen adres: @suggAddress") EndIf() Sql("SELECT TOP 3 Address FROM PNET_GetSuitableAddress(@@Container.LPN) ORDER BY PlacementPriority,Address",@sqlResult) TableView(@sqlResult.rows,3,4,{"rows":"3","columns":["Address|Address|15|L"]}) Input(1,1,"Adres Okutunuz",{"type":"text", "min":"0", "max":"20"},@adres) If(@adres=".") // Set(@suggAddress,"") Goto(AdresOkut) EndIf() //Seçilen adres uygunmu tekrar kontrol ediliyor. If(@suggAddress != @adres) Sql("SELECT Address FROM PNET_GetSuitableAddress(@@Container.LPN) WHERE Address = @adres ORDER BY PlacementPriority,Address",@sqlResult) If(@sqlResult.rows.Count = 0) ShowMessage({"title":"Hata", "message" : "Okutulan adres uygun değil.", "buttons" : "Tamam"},@secim) Goto(AdresOkut) EndIf() EndIf() Address.Get("Address='@adres'",@@Address2) ReturnForm() EndForm() BeginForm(RafaYerlestir) KeyFunction("ESC",GoForm(AnaMenu)) Text(0,0,"Rafa Yerleştir") Palet_Barkod: CallForm(ResetFormVariables) ClearScreen() Sql("SELECT DISTINCT CON.LPN FROM GetItemTotals(0,0,0,0,0,0,NULL) TOT INNER JOIN SysAddress ADR ON TOT.AddressId = ADR.Id INNER JOIN Container CON ON TOT.ContainerId = CON.Id WHERE TOT.ChildContainerId IS NOT NULL AND ADR.Address = 'MALKABUL' AND TOT.TotalQuantity > 0",@sqlResult) TableView(@sqlResult.rows,1,9,{"rows":"100","columns":["LPN|PaletNo|30|L"]}) Input(1,1,"Palet Barkod Okutunuz",{"type":"text", "min":"0", "max":"20"},@PaletBarkod) //Eger listede yoksa Container.Get("LPN='@PaletBarkod'") If(@@Container.Id="",Goto(PaletBulunamadi),Goto(PaletBarkodRafOneri)) PaletBulunamadi: ShowMessage({"title":"Hata", "message" : "Palet bulunamadı", "buttons" : "Tamam"},@secim) Goto(Palet_Barkod) PaletBarkodRafOneri: Sql("SELECT * FROM [dbo].[GetContainerAdressInfo](@@Container.Id)",@ContainerPlaceInfo) If(@ContainerPlaceInfo.rows.1.Address != "MALKABUL") ShowMessage({"title":"Uyarı", "message" : "Bu palet rafa yerleştirmek için uygun değil!", "buttons" : "Tamam"},@secim) Goto(Palet_Barkod) EndIf() Address.Get(@ContainerPlaceInfo.rows.1.AddressId) ReservationSlipLine.List("WarehouseId = @ContainerPlaceInfo.rows.1.WarehouseId AND Description = '@@Container.LPN'","",@reservList) If(@reservList.rows.Count > 0) Address.Get(@reservList.rows.1.AddressId,@oneriAdres) If(@Response.Status != "-1") Set(@suggAddress,@oneriAdres.Address) EndIf() EndIf() CallForm(AdresOneriFisiKullaniciSecim) If(@@CustomSlipType.Id = "") CustomSlipType.Get("Name = 'RafaYerlestirme'") EndIf() WorkOrder.Get("CustomSlipTypeId = @@CustomSlipType.Id AND CreatedBy = @@User.Id AND DAY(SlipDate) = DAY(GETDATE()) AND MONTH(SlipDate) = MONTH(GETDATE()) AND YEAR(SlipDate) = YEAR(GETDATE())") If(@@WorkOrder.Id = "") Warehouse.Get(@ContainerPlaceInfo.rows.1.WarehouseId) Warehouse.Get(@@Warehouse.Id, @@Warehouse2) WorkOrder.New({"SlipType":"3"},1) Slip.New({"SlipType":"3"},1) Else() Slip.Get("WorkOrderId = @@WorkOrder.Id") EndIf() If(@reservList.rows.Count > 0) ReservationSlip.Get(@reservList.rows.1.SlipId) If(@@ReservationSlip.Id != "") ReservationSlipLine.Get(@reservList.rows.1.Id) If(@@ReservationSlipLine.Id != "") ReservationSlipLine.Set({"Active":"0"}) ReservationSlipLine.Save() EndIf() EndIf() EndIf() Container.Get(@@Container.Id,@@Container2) WorkOrderLine.New({"SlipType":"3"},1) SlipLine.New({"SlipType":"3"},1) ShowMessage({"title":"Bilgi", "message" : "Rafa yerleştirme işlemi başarıyla tamamlandı.", "buttons" : "Tamam"},@tmp) Goto(Palet_Barkod) EndForm() BeginForm(PaleteOlustur) KeyFunction("ESC",GoForm(PaletIslemleri)) Text(0,0,"..:Palet Oluştur:..") ClearScreen() CustomSlipType.Get(26) Warehouse.Get(@@Warehouse.Id,@@Warehouse2) WorkOrder.New({"SlipType":"3"},1) Bas: ContainerType.Get("Code = 'Palet'") Container.Generate({"Count":"1"},@@Container2) ResetVariables({"name":["@@Item","@@Item"]}) Text(1,1,"Etiketleri İçin Boş Geçiniz") EtiketOkut: Input(1,3,"Ambalaj Barkod:",{"type":"text", "min":"0", "max":"20"},@AmbalajEtiketi) If(@AmbalajEtiketi!=".") Container.Get("LPN='@AmbalajEtiketi'") Container.Get("LPN='@AmbalajEtiketi'",@@ChildContainer2) WorkOrderLine.New({"SlipType":"3"},1) Goto(EtiketOkut) Else() Address.Get("Address='MALKABUL' AND WarehouseId = @@Warehouse2.Id",@@Address2) Slip.Generate() EndIf() Goto(Bas) EndForm() BeginForm(GeciciEtiketleme) KeyFunction("ESC",GoForm(DigerIslemler)) UretimSarfSiparisListe: //Sql({"report":"ScriptIsEmriSarfListe,"SlipType":"F""},@SARF_LISTE) //PopupView(@SARF_LISTE.rows,{"mode":"list","title":"Yarı Mamül İş Emirleri", "fields":["SlipNumber|İş Emir No|15|L","SlipDate|Tarih|10|L","Code|Malzeme Kodu|10|L","Name|Malzeme Adı|15|L"]},@SARF_FISI_SECIM) //Input(1,1,"Etiket Sayısı",@Sayı) //Print("AmbalajEtiket",0,@Sayı,{"Id":"819"}) //Input(1,2,"Etiketler yazıcıya gönderildi",@Input1) GoForm(AnaMenu) EndForm() BeginForm(PaletTipiDegistir) KeyFunction("ESC",GoForm(DigerIslemler)) Text(0,0,"Palet Tipi Değiştirme") Palet_Barkod: Input(1,1,"Palet Barkod Okutunuz",{"type":"text", "min":"0", "max":"20"},@PaletBarkod) GetContainer: Container.Get("LPN='@PaletBarkod'") If(@@Container.Id="") ShowMessage({"title":"Hata", "message" : "Palet Bulunamadı", "buttons" : "Tamam"},@secim) Goto(Palet_Barkod) Else() ContainerType.Get(@@Container.Id) ShowMessage({"title":"Palet Tipi Değiştirilsin mi?", "message" : "Palet tipi : @@ContainerType.Code. Palet tipi değiştirilecektir.", "buttons" : "Tamam|İptal"},@secim) CaseGoto(@secim, {"1":"PaletTipiSec","2":"FormReturn"}) EndIf() PaletTipiSec: ContainerType.List("Code LIKE '%P%' AND Code<>'@@ContainerType.Code'","",@PaletTipi) If(@PaletTipi.rowCount = 0) Beep() Beep() ShowMessage({"title":"Hata!","message":"Palet Tipi Bulunamadı","buttons":"Tamam"},@secim_hata) Goto(Palet_Barkod) Else() PopupView(@PaletTipi.rows,{"mode":"list","title":"Palet Listesi","fields":["Code|Kodu|15|L","Description|Açıklama|50|L"]},@secim) ContainerType.Get("Code = '@PaletTipi.rows.@secim.Code'") ShowMessage({"title":"Palet Tipi Değişimi Onay","message":"@PaletTipi.rows.@secim.Code","buttons":"1:Tamam|2:İptal"},@secim) If(@secim=1) Container.Save() If(@Response.Status="-1") ShowMessage({"title":"Hata", "message" : "@Response.Message ", "buttons" : "Tamam"},@secim) Goto(Palet_Barkod) Else() ShowMessage({"title":"Bilgi", "message" : "Palet tipi başarıyla değiştirildi.", "buttons" : "Tamam"},@secim) EndIf() EndIf() EndIf() FormReturn: EndForm() ////Ortak Formlar BeginForm(KontrolKoduAl) Sql("SELECT[dbo].[PNET_GETCC] (@@Item.Code,@@Item.CardType) as kontrol_kodu",@tmp_cc) Set(@LotKontrolKodu,@tmp_cc.rows.1.kontrol_kodu) ReturnForm() EndForm() /// BeginForm(KontrolKoduKaydet) If(@LotKontrolKodu!="") Sql({"report":"ScriptLogoKontrolKoduKaydet","kontrol_kodu":"@LotKontrolKodu"},@Result) EndIf() ReturnForm() EndForm() BeginForm(ArpAra) KeyFunction("ESC",GoForm(AnaMenu)) CariBilgi: ResetVariables({"name":"@CariAramaListe"}) //(Arama yapıldığında cari bilgisinin set edildiği nesne resetleniyor) Input(0,0,"Tedarikçi VNO/KODU/ADI",{"type":"text", "min":"1", "max":"16"},@cari_bilgi) Arp.Get("TaxNumber='@cari_bilgi' OR Code='@cari_bilgi'") If(@@Arp.Code="") Goto(ListAra) Else() Set(@ArpNameText,@@Arp.Code +"/"+@@Arp.Title) ShowMessage({"title":"Tedarikçi Onay","message":"@@Arp.Code\n@@Arp.Title","buttons":"1:Tamam|2:İptal"},@secim) CaseGoto(@secim, {"1":"FormReturn","2":"CariBilgi"}) EndIf() ListAra: Arp.List("dbo.UpdateTurkishChar(Title) LIKE '%'+@cari_bilgi+'%'","",@CariAramaListe) If(@CariAramaListe.rowCount = 0) Beep() Beep() ShowMessage({"title":"Hata!","message":"Verilen bilgilerle kayıt bulunamadı!","buttons":"Tamam"},@secim_hata) Goto(CariBilgi) Else() Liste: PopupView(@CariAramaListe.rows,{"mode":"list","title":"Tedarikçi Listesi","fields":["Code|Kodu|15|L","Title|Açıklama|50|L"]},@secim) If(@secim>@CariAramaListe.rowCount) ShowMessage({"title":"Hata","message":"Hatalı Seçim","buttons":"Tekrar Dene"},@secim) Goto(Liste) EndIf() Arp.Get(@CariAramaListe.rows.@secim.Id) ShowMessage({"title":"Tedarikçi Onay","message":"@@Arp.Code\n@@Arp.Title","buttons":"1:Tamam|2:İptal"},@secim) CaseGoto(@secim, {"1":"FormReturn","2":"CariBilgi"}) EndIf() FormReturn: Set(@ArpNameText,@@Arp.Code +"/"+@@Arp.Title) ResetVariables({"name":"@CariAramaListe"}) ReturnForm() EndForm() BeginForm(ItemAra) KeyFunction("ESC",GoForm(SiparisFiltre)) Item: ResetVariables({"name":"@@Item"})////Malzeme Kartının bulunduğu nesne temizleniyor ResetVariables({"name":"@ItemAramaList"})//// (Arama yapıldığında cari bilgisinin set edildiği nesne resetleniyor) Input(0,0,"Malzeme Kodu/Adı",{"type":"text", "min":"1", "max":"30"},@item_text) Item.Get("Code='@item_text' OR Name='@item_text'") If(@@Item.Code="") Item.List("dbo.UpdateTurkishChar(Name) LIKE '%'+@item_text+'%'","",@item_arama_list) If(@item_arama_list.rowCount = 0) Item.List("dbo.UpdateTurkishChar(Code) LIKE '%'+@item_text+'%'","",@item_arama_list) If(@item_arama_list.rowCount = 0) Beep() Beep() ShowMessage({"title":"Hata!","message":"Verilen bilgilerle kayıt bulunamadı!","buttons":"Tamam"},@secim_hata) Goto(secim2) EndIf() Else() Liste: PopupView(@item_arama_list.rows,{"mode":"list","title":"Malzeme Listesi","fields":["Code|Kodu|15|L","Name|Açıklama|150|L"]},@secim) If(@secim>@item_arama_list.rowCount) ShowMessage({"title":"Hata","message":"Hatalı Seçim","buttons":"Tekrar Dene"},@secim) Goto(Liste) EndIf() Item.Get(@item_arama_list.rows.@secim.Id) ShowMessage({"title":"Malzeme Onay","message":"@@Item.Code\n@@Item.Name","buttons":"1:Tamam|2:İptal"},@secim2) If(@secim2=1) Goto(FormReturn) Else() Goto(Item) EndIf() EndIf() Else() ShowMessage({"title":"Tedarikçi Onay","message":"@@Item.Code\n@@Item.Name","buttons":"1:Tamam|2:İptal"},@secim2) If(@secim2=1) Goto(FormReturn) Else() Goto(Item) EndIf() EndIf() FormReturn: ReturnForm() EndForm() BeginForm(Analiz) Set(@AnalizVarMı,0) // Analiz sorgu Sql({"report":"ScriptAnalizSertifikaKayitLotKontrol","DocumentNumber":"@AnalizSorguBelgeNo","TrackingNumber":"@AnalizSorguLotNo"},@ANALIZ_SQL_SONUC) If(@ANALIZ_SQL_SONUC.rowCount = 0) Beep() Beep() ShowMessage({"title":"Lot Kontrol","message":"Analiz Dosyasının Terminal Yuklemesı Bulunamadı.","buttons":"1:İptal"},@AnalizSorguMboxSecim) ReturnForm() Else() // dosya kontrol Set(@filename_,"@ANALIZ_SQL_SONUC.rows.1.FNAME") Sql({"report":"ScriptAnalizSertifikaKontrol","fname":"@filename_"},@ANALIZ_SONUC) If(@ANALIZ_SONUC.rows.1.Result=0) Beep() Beep() ShowMessage({"title":"UYARI!","message":"Analiz Dosyası Klasorde Bulunamadı.","buttons":"1:Tamam"},@DosyaKontrolMboxSecim) Else() Set(@AnalizVarMı,1) EndIf() ReturnForm() EndIf() EndForm() BeginForm(AmbalajYazdir) KeyFunction("ESC",GoForm(MalKabul)) //Todo : Bakılacak If(@@ItemTracking.TrackingNumber="") Set(@todo,"unutma!!") Else() //ShowMessage({"title":"LotNo","message":"@@ItemTracking.TrackingNumber","buttons":"TAMAM"},@tmp) //ShowMessage({"title":"RelatedWolId","message":"@@ItemTracking.WorkOrderLineId","buttons":"TAMAM"},@tmp) //ShowMessage({"title":"ItemTrackingId","message":"@@ItemTracking.Id","buttons":"TAMAM"},@tmp) //Print("AmbalajEtiket",0,1,{"LotNo":"@@ItemTracking.TrackingNumber","RelatedWolId":"@@ItemTracking.WorkOrderLineId"}) Print("AmbalajEtiketYeni",0,1,{"RelatedWolId":"@@WorkOrderLine.RelatedWorkOrderLineId","UserName":"@kullanici"}) EndIf() ReturnForm() EndForm() BeginForm(MenuYapimAsamasinda) KeyFunction("ESC",GoForm(AnaMenu)) Text(0,0,"..:UYARI:..") Beep(2) ShowMessage({"title":"UYARI!","message":"Menü Yapım Aşamasında!","buttons":"TAMAM"},@secim) GoForm(AnaMenu) EndForm() BeginForm(SiparisFiltre) KeyFunction("ESC",GoForm(EscapeSiparisKabul)) Set(@Filter, {"rows":[{"Code":"F1","Title":"Malzeme Kodu / Adına Göre"},{"Code":"F2","Title":"Sipariş Numarasına Göre"},{"Code":"F3","Title":"Tüm Siparişler"}]}) PopUpListe: PopupView(@Filter.rows,{"mode":"list","title":"Filtreleme","fields":["Code|Kod|15|L","Title|Başlık|50|L"]},@FilterSecim) If(@FilterSecim > 3 OR @FilterSecim < 1) ShowMessage({"title":"Hata","message":"Hatalı Seçim","buttons":"Tekrar Dene"},@secim) Goto(PopUpListe) EndIf() CaseGoto(@Filter.rows.@FilterSecim.Code,{"F1":"MalzemeFiltre","F2":"SiparisNoGir","F3":"SiparisSatırListe"}) MalzemeFiltre: CallForm(ItemAra) SiparisMalzemeListe: Set(@firma_id,@@Arp.Id)//reportlarda @@Arp.Id calısmadıgı ıcın bir değişkene atama yaparak ilerledim Sql({"report":"ScriptSiparisMalzemeListe","SlipType":"1","ArpId":"@firma_id","ItemId":"@@Item.Id"},@SIPARIS_LISTE) PopupView(@SIPARIS_LISTE.rows,{"mode":"list","title":"Sipariş Satırları", "fields":["OrderSlipNumber|Sipariş No|15|L","OrderSlipDate|Tarih|10|L","ItemCode|Malzeme Kodu|10|L","ItemName|Malzeme Adı|15|L","Quantity|Sipariş Miktarı|6|L","RemainingTotal|Bekleyen Miktar |6|L"]},@SiparisSatirSecim) //OrderSlip.Get(@SIPARIS_LISTE.rows.@SiparisSatirSecim.OrderSlipId) //CustomSlipType.Get("SlipType=1 AND ErpRecordType=2 AND ErpRecordTrCode='1'") //OrderSlipLine.Get(@SIPARIS_LISTE.rows.@SiparisSatirSecim.OrderSlipLineId) //Sql("SELECT Top 1 ApprovedSupplier,SpecialUseStatus,Retest FROM ItemExt With (Nolock) WHERE RecordId=@@Item.Id",@ItemExt) Goto(SiparisSecimIslemleri) SiparisNoGir: Set(@firma_id,@@Arp.Id)//reportlarda @@Arp.Id calısmadıgı ıcın bir değişkene atama yaparak ilerledim Input(0,0,"Sipariş Numarası Giriniz",{"type":"text", "min":"1", "max":"30"},@i_siparis_no) OrderSlip.Get("SlipNumber='@i_siparis_no' And ArpId=@firma_id") If(@@OrderSlip.Id="") ShowMessage({"title":"Hata", "message" : "Siparis Bulunamadı", "buttons" : "Tamam"},@secim) Goto(SiparisNoGir) EndIf() Sql({"report":"ScriptSiparisNoListe","SlipType":"1","ArpId":"@firma_id","OrderSlipId":"@@OrderSlip.Id"},@SIPARIS_LISTE) SiparisNoGirPopup: PopupView(@SIPARIS_LISTE.rows,{"mode":"list","title":"Sipariş Satırları", "fields":["OrderSlipNumber|Sipariş No|15|L","OrderSlipDate|Tarih|10|L","ItemCode|Malzeme Kodu|10|L","ItemName|Malzeme Adı|15|L","Quantity|Sipariş Miktarı|6|L","RemainingTotal|Bekleyen Miktar |6|L"]},@SiparisSatirSecim) If(@SiparisSatirSecim>@SIPARIS_LISTE.rowCount) ShowMessage({"title":"Hata","message":"Hatalı Seçim","buttons":"Tekrar Dene"},@secim) Goto(SiparisNoGirPopup) EndIf() Goto(SiparisSecimIslemleri) SiparisSatırListe: Set(@firma_id,@@Arp.Id)//reportlarda @@Arp.Id calısmadıgı ıcın bir değişkene atama yaparak ilerledim Sql({"report":"ScriptSiparisListe","SlipType":"1","ArpId":"@firma_id"},@SIPARIS_LISTE) //Todo sorgu düzeltilecek, Quantity Reamaining olarak değiştirilecek. SiparisSatirListePopup: PopupView(@SIPARIS_LISTE.rows,{"mode":"list","title":"Sipariş Satırları", "fields":["OrderSlipNumber|Sipariş No|15|L","OrderSlipDate|Tarih|10|L","ItemCode|Malzeme Kodu|10|L","ItemName|Malzeme Adı|15|L","Quantity|Sipariş Miktarı|6|L","RemainingTotal|Bekleyen Miktar |6|L"]},@SiparisSatirSecim) If(@SiparisSatirSecim>@SIPARIS_LISTE.rowCount) ShowMessage({"title":"Hata","message":"Hatalı Seçim","buttons":"Tekrar Dene"},@secim) Goto(SiparisSatirListePopup) EndIf() SiparisSecimIslemleri: OrderSlip.Get(@SIPARIS_LISTE.rows.@SiparisSatirSecim.OrderSlipId) CustomSlipType.Get("SlipType=1 AND ErpRecordType=2 AND ErpRecordTrCode='1'") OrderSlipLine.Get(@SIPARIS_LISTE.rows.@SiparisSatirSecim.OrderSlipLineId) If(@Response.Status="-1") ShowMessage({"title":"Hata", "message" : "@Response.Message ", "buttons" : "Tamam"},@secim) EndIf() //Item.Get(@SIPARIS_LISTE.rows.@SiparisSatirSecim.ItemId) FormReturn: ReturnForm() EndForm() BeginForm(GetRetest) Sql({"report":"GetRetest","ItemRef":"@@Item.Id"},@SqlRetestli) Set(@Retestli, @SqlRetestli.rows.1.RETEST) ReturnForm() EndForm() BeginForm(SetGlobalVariables) Set(@kullanici,@@User.Name+" "+@@User.Surname) Sql("select AMBARNO from LG_XT022_022",@tmp_karantina_ambar) Set(@karantinaAmbarNo,@tmp_karantina_ambar.rows.1.AMBARNO) Set(@uretimAmbarNo,"20") Set(@koltukAmbarNo,"48") ReturnForm() EndForm() BeginForm(ResetFormVariables) ResetVariables({"except":["@@User","@kullanici","@karantinaAmbarNo","@uretimAmbarNo","@koltukAmbarNo",""]}) ReturnForm() EndForm() BeginForm(QmUretimTransfer) KeyFunction("ESC",GoForm(AnaMenu)) CallForm(ResetFormVariables) basla: Input(0,0,"Palet Numarası Giriniz",{"type":"text", "min":"1", "max":"30"},@paletno) If(@paletno = ".") CustomState.Get("SystemEvent = 6 and RecordType = 161") Slip.Save() ShowMessage({"title":"Bilgi", "message" : "Logoya Gönderildi", "buttons" : "Tamam"},@secim) EndIf() Container.Get("LPN='@paletno'") CustomSlipType.Get("name='QmTransfer'") Warehouse.Get("Code='18'") Warehouse.Get("Code='20'",@@Warehouse2) If(@@Workorder.Id = "") WorkOrder.New({"SlipType":"3"},1) Slip.New({"SlipType":"3"},1) EndIf() Container.Get(@@Container.Id,@@Container2) Sql("SELECT Address FROM GetContainerAdressInfo(@@Container.Id)",@PaletAddress) If(@Response.Status="-1") ShowMessage({"title":"Hata", "message" : "@Response.Message ", "buttons" : "Tamam"},@secim) Else() Address.Get("Address='@PaletAddress.rows.1.Address'") Address.Get("Address='@PaletAddress.rows.1.Address' AND WarehouseId = @@Warehouse2.Id",@@Address2) ShowMessage({"title":"Bilgi", "message" : "@@Address2.Id", "buttons" : "Tamam"},@tmp) WorkOrderLine.New({"SlipType":"3","Quantity":"1"},1) SlipLine.New({"SlipType":"3","Quantity":"1"},1) EndIf() Goto(basla) EndForm()