/// <summary> /// Cria saída de Produtos acabados. /// </summary> /// <param name="t08"></param> private void NewOIGE(T08Entity t08) { try { var Inventory = SAPConnection.GetDocument(SAPConnection.DocsEnum.OIGE); // HEADER Inventory.DocDate = t08.OWOR_PostDate; //Inventory.TaxDate = tn08.OWOR_PostDate; Inventory.BPL_IDAssignedToInvoice = 1; //Inventory.Lines.Price = 10; Inventory.Lines.ItemCode = "";// tn08.OITM_ItemCode; Inventory.Lines.Quantity = t08.IGN1_Quantity; Inventory.Lines.WarehouseCode = t08.OWOR_WareHouse; //Inventory.Lines.UserFields.Fields.Item("U_Lot").Value = t08.IGN1_U_Lot; Inventory.Lines.BaseEntry = t08.OWOR_DocNum; Inventory.Lines.BaseType = (int)SAPConnection.DocsEnum.OWOR; Inventory.Lines.Add(); //FOOTER Inventory.Comments = t08.OWOR_Remarks; int res = Inventory.Add(); if (res != 0) { t08.MSG_SAP = SAPConnection.DI.GetLastErrorDescription(); t08.ReadBySAP = 'E'; T08DAO.UpdateStatus(t08); principal.GravaAudit(SAPConnection.DI.GetLastErrorDescription().ToString()); } else { var docnum = SAPConnection.DI.GetNewObjectKey(); if (int.Parse(docnum) == 0) // Estava dando erro ao recuperar o DocEntry { t08.OIGE_DocNum = int.Parse(docnum); } else { t08.OIGE_DocNum = 999999; // Somente para verificar se houver falha. } t08.ReadBySAP = 'Y'; t08.MSG_SAP = "SUCESSO - Saída do produto efetuada."; T08NegDAO.UpdateStatus(t08); } } catch (Exception ex) { principal.GravaAudit("Transação " + t08.TransType.ToString() + " " + ex.Message.ToString()); } }
/// <summary> /// Atualiza o Status do pedido na tabela de transações 08 /// </summary> /// <param name="t38"></param> public static void UpdateStatus(T08Entity t08) { if (t08.Id == 0) { T08NegDAO.UpdateStatus(t08); } else { using (var rs = new MyRecordSet()) { var sql = "UPDATE [Sage_Transaction08] SET ReadBySAP = '{0}', OWOR_DocNum = '{1}',[MSG_SBO] = '{3}', OIGN_DocNum = '{4}', GroupID = '{5}' WHERE Id = '{2}'"; rs.DoQuery(sql, t08.ReadBySAP, t08.OWOR_DocNum, t08.Id, t08.MSG_SAP.Replace("'", "''"), t08.OIGN_DocNum, t08.GroupID); } } }
public static void Start(BoProductionOrderTypeEnum type) { switch (type) { case BoProductionOrderTypeEnum.bopotStandard: #region Montagem Padrão try { //while (T08DAO.TransactionOpen()) //{ // 1º Procura as novas ordem de produção (REMOVIDO) //var t08lista = T08DAO.GetDados(true); var sapTrans = new Transaction08(); // 2º Registrando a entrada no produto. //t08lista.Clear(); //t08lista = null; principal.GravaAudit("Inicio Getdados"); var t08lista = T08DAO.GetDados(false); foreach (var t08 in t08lista) { sapTrans.NewOIGN(t08); } t08lista.Clear(); t08lista = null; //} } catch (Exception ex) { principal.GravaAudit("Transação 8 " + ex.Message); } #endregion break; case BoProductionOrderTypeEnum.bopotDisassembly: // #region Desmontagem try { principal.GravaAudit("Jomar -8 desmontagem "); var tn08lista = T08NegDAO.GetForOWOR(); var sapTrans = new Transaction08(); //// 2º Registrando a saída do insumo. //tn08lista.Clear(); //tn08lista = null; //tn08lista = T08NegDAO.GetTransForOIGE(); foreach (var tn08 in tn08lista) { principal.GravaAudit("new oige"); sapTrans.NewOIGE(tn08); } tn08lista.Clear(); tn08lista = null; } catch (Exception ex) { principal.GravaAudit("Transação 8 " + ex.Message.ToString()); } #endregion break; } }