BeginForm(ItemTransferWithPlanningSlip) Set(@RuleErrorMessage,"") If(@GridSelectList.rowCount>1) Set(@RuleErrorMessage,"Kural'ı bir den fazla planlama için çalıştıramazsınız!") Goto(ExitForm) EndIf() Warehouse.Get(@GridSelectList.rows.1.WarehouseId,@Warehouse) PlanningSlip.Get(@GridSelectList.rows.1.Id) //Transfer öncesi yapılan rezervasyon çıkış işleminde stok yetersiz durumuna neden oluyordu bu yüzden çıkış öncesinde planlamaya ait rezervasyon fişi siliniyor. sql("delete ReservationSlipLine rsl,ReservationSlip rs where rs.Id=rsl.SlipId and rs.PlanningSlipId=@@PlanningSlip.Id",@result) sql("delete ReservationSlip where PlanningSlipId=@@PlanningSlip.Id",@result) Set(@RuleErrorMessage,"") WorkOrder.Get("PlanningSlipId=@@PlanningSlip.Id and SlipType=3 and StateId=13") // İşleme alındı IF(@@WorkOrder="") Set(@RuleErrorMessage,"@@PlanningSlip.SlipNumber Numaralı planlamaya ait Emir fişi oluşturulmamış yada Emir fişi Statusu Beklemede değil !") Goto(ExitForm) EndIf() CustomSlipType.Get("Name='Sevkiyat Mal Toplama'") IF(@@CustomSlipType="") Set(@RuleErrorMessage,"Sevkiyat Mal Toplama isimli Transfer türünde kullanıcı tanımlı fiş türü tanımı bulunamadu ") Goto(ExitForm) EndIf() IF(@@WorkOrder.CustomSlipTypeId !=@@CustomSlipType.Id) Set(@RuleErrorMessage,"@@WorkOrder.SlipNumber Numaralı Transfer emrine ait Sevkiyat Mal Toplama emri bulunamadı !") Goto(ExitForm) EndIf() IF(@@WorkOrder.StateId>13) //Tamamlandı ve İtal edildi ise Çık Set(@RuleErrorMessage,"@@PlanningSlip.SlipNumber Numaralı planlamaya ait Transfer Emir fişinin (@@WorkOrder.SlipNumber) statüsü bu işlem için uygun durumda değil !") Goto(ExitForm) EndIf() Set(@@Warehouse,@Warehouse) Set(@@Warehouse2,@Warehouse) PlanningSlip.Get(@@WorkOrder.PlanningSlipId) IF(@@PlanningSlip.StateId!=9 ) Set(@RuleErrorMessage,"Planlama statüsü İşleme Alındı olmadığı için işleme devam edilemiyor !") Goto(ExitForm) EndIf() Set(@@Warehouse2,@Warehouse) CustomSlipType.Get("Name='Sevkiyat Mal Toplama'") Slip.Generate() IF(@Response.Status = "-1") Set(@RuleErrorMessage,"@Response.Message") Goto(ExitForm) EndIf() Set(@@Warehouse2,@Warehouse) CustomState.Get(14) //Emir fişi Tamamlandı WorkOrder.Save() IF(@Response.Status = "-1") Set(@RuleErrorMessage,"@Response.Message") Goto(ExitForm) EndIf() Set(@@Warehouse2,@Warehouse) CustomState.Get(17) //İşleme Alındı Slip.Save() IF(@Response.Status = "-1") Set(@RuleErrorMessage,"@Response.Message") Goto(ExitForm) EndIf() Set(@@Warehouse2,@Warehouse) CustomState.Get(10) //Planlama Tamamlandı PlanningSlip.Save() IF(@Response.Status = "-1") Set(@RuleErrorMessage,"@Response.Message") Goto(ExitForm) EndIf() //Transfer emrinden Çıkış Türünde (Toptan Satış İrsaliyesi) Emir fişi ve Stok fişi oluşturuluyor. Set(@WorkOrder,@@WorkOrder) Set(@WorkOrderLine,@@WorkOrderLine) WorkOrderLine.List("SlipId=@@WorkOrder.Id","",@WorkOrderLine) IF(@WorkOrderLine="" or @WorkOrderLine.worCount=0) Set(@RuleErrorMessage,"@@WorkOrder.SlipNumber Numaralı Transfer türünde emir fişinin satırları okunamadı.!") Goto(ExitForm) EndIf() Set(@@Warehouse,@Warehouse) Set(@@Warehouse2,@Warehouse) CustomSlipType.Get(18) //Toplan Satış İrsaliyesi CustomState.Get(13) //İşleme Alındı ResetVariables({"name":["@@WorkOrder"]}) WorkOrder.New({"SlipType":"2",},1) If(@Response.Status="-1") Set(@RuleErrorMessage,@Response.Message) Goto(ExitForm) EndIf() CustomSlipType.Get(18) //Toplan Satış İrsaliyesi CustomState.Get(19) Slip.New({"SlipType":"2",},1) If(@Response.Status="-1") Set(@RuleErrorMessage,@Response.Message) Goto(ExitForm) EndIf() For(@i,1,@WorkOrderLine.rowCount,1) ResetVariables({"name":["@@Item","@@ItemUnit","@@ItemTracking","@@OrderSlipLine","@@PlanningSlipLine","@@Address","@@Address2"]}) Item.Get(@WorkOrderLine.rows.@i.ItemId) If(@@Item="") Set(@RuleErrorMessage,"@WorkOrderLine.rows.@i.ItemId Id li Malzeme bulunamadı") Goto(ExitForm) EndIf() Item.Get(@WorkOrderLine.rows.@i.VariantId,@@ItemVariant) If(@@ItemVariant="") Set(@RuleErrorMessage,"@WorkOrderLine.rows.@i.VariantId Id li Varyantlı Malzeme bulunamadı") Goto(ExitForm) EndIf() ItemUnit.Get(@WorkOrderLine.rows.@i.UnitId) If(@@ItemUnit="") Set(@RuleErrorMessage,"@WorkOrderLine.rows.@i.UnitId Id li Birim bulunamadı") Goto(ExitForm) EndIf() OrderSlipLine.Get(@WorkOrderLine.rows.@i.OrderSlipLineId) If(@@OrderSlipLine="") Set(@RuleErrorMessage,"@WorkOrderLine.rows.@i.OrderSlipLineId Id li Sipariş satırı okunamadı") Goto(ExitForm) EndIf() PlanningSlipLine.Get(@WorkOrderLine.rows.@i.PlanningSlipLineId) If(@@PlanningSlipLine="") Set(@RuleErrorMessage,"@WorkOrderLine.rows.@i.PlanningSlipLineId Id li Planlama satırı okunamadı") Goto(ExitForm) EndIf() Set(@Quantity,@WorkOrderLine.rows.@i.Quantity) Warehouse.Get(@WorkOrderLine.rows.@i.WarehouseId) If(@@Warehouse="") Set(@RuleErrorMessage,"@WorkOrderLine.rows.@i.WarehouseId Id li Depo okunamadı") Goto(ExitForm) EndIf() Address.Get(@WorkOrderLine.rows.@i.Address2Id) If(@@Address="") Set(@RuleErrorMessage,"@WorkOrderLine.rows.@i.Address2Id Id li Adres okunamadı") Goto(ExitForm) EndIf() IF(@@Item.TrackingType!=0) WorkOrderLine.New({"SlipType":"2","Quantity":"@Quantity"},0) If(@Response.Status="-1") Set(@RuleErrorMessage,@Response.Message) Goto(ExitForm) EndIf() SlipLine.New({"SlipType":"2","Quantity":"@Quantity"},0) If(@Response.Status="-1") Set(@RuleErrorMessage,@Response.Message) Goto(ExitForm) EndIf() ItemTracking.List("WorkOrderLineId=@WorkOrderLine.rows.@i.Id and LineType=4 and IoCode=2","",@ItemTrackingList) If(@ItemTrackingList="" or @ItemTrackingList.rowCount=0) Set(@RuleErrorMessage,"Emir Fişi satır Id:@WorkOrderLine.Id Transfer türünde emir fiş satırının Lot detayı okunamadı.!") Goto(ExitForm) EndIf() For(@k,1,@ItemTrackingList.rowCount,1) Set(@trackingNumber,@ItemTrackingList.rows.@k.TrackingNumber) Set(@ExpirationDate,@ItemTrackingList.rows.@k.ExpirationDate) Set(@ProductionDate,@ItemTrackingList.rows.@k.ProductionDate) Set(@ItmTrkQuantity,@ItemTrackingList.rows.@k.Quantity) Address.Get(@WorkOrderLine.rows.@i.Address2Id) ItemTracking.New({"LineType":"4","Quantity":"@ItmTrkQuantity","TrackingNumber":"@trackingNumber","ExpirationDate":"@ExpirationDate","ProductionDate":"@ProductionDate"},1) If(@Response.Status="-1") Set(@RuleErrorMessage,@Response.Message) Goto(ExitForm) EndIf() ItemTracking.New({"LineType":"5","Quantity":"@ItmTrkQuantity","TrackingNumber":"@trackingNumber","ExpirationDate":"@ExpirationDate","ProductionDate":"@ProductionDate"},1) If(@Response.Status="-1") Set(@RuleErrorMessage,@Response.Message) Goto(ExitForm) EndIf() Next() Else() WorkOrderLine.New({"SlipType":"2","Quantity":"@Quantity"},1) If(@Response.Status="-1") Set(@RuleErrorMessage,@Response.Message) Goto(ExitForm) EndIf() SlipLine.New({"SlipType":"2","Quantity":"@Quantity"},1) If(@Response.Status="-1") Set(@RuleErrorMessage,@Response.Message) Goto(ExitForm) EndIf() EndIf() Next() CustomState.Get(14) //Tamamlandı WorkOrder.Save() If(@Response.Status="-1") Set(@RuleErrorMessage,@Response.Message) Goto(ExitForm) EndIf() CustomState.Get(19) // Entegre Edildi Slip.Save() If(@Response.Status="-1") Set(@RuleErrorMessage,@Response.Message) Goto(ExitForm) EndIf() Set(@RuleResponse.Status,"0") Goto(SuccsessExitForm) ExitForm: Set(@RuleResponse.Status,@Response.Status) Set(@RuleResponse.CustomMessage,"Hata oluştu : @RuleErrorMessage") Goto(ReturnForm) SuccsessExitForm: If(@RuleResponse.Status="0") Set(@RuleResponse.CustomMessage,"@@PlanningSlip.SlipNumber Numaralı Planlamaya ait malzemeler Transfer tründe emir ve stok fişi ile Mal Toplama adresine toplanıp, Mal Toplama adresinden sevk edilerek işlem tamamlanmıştır.") EndIf() ReturnForm: Set(@Response.Message,"") EndForm()