Ejemplo n.º 1
0
        /// <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());
            }
        }
Ejemplo n.º 2
0
 /// <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);
         }
     }
 }
Ejemplo n.º 3
0
        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;
            }
        }