Esempio n. 1
0
        private static void GestionarSeleccionCFL(SAPbouiCOM.Form oForm, SAPbouiCOM.ItemEvent pVal)
        {
            SAPbouiCOM.IChooseFromListEvent oCFLEvento = null;
            String CflID = string.Empty;

            SAPbouiCOM.ChooseFromList oCFL = null;

            SAPbouiCOM.DataTable oDataTable = null;
            try
            {
                oCFLEvento = ((SAPbouiCOM.IChooseFromListEvent)(pVal));
                CflID      = oCFLEvento.ChooseFromListUID;
                oCFL       = oForm.ChooseFromLists.Item(CflID);

                oDataTable = oCFLEvento.SelectedObjects;

                if (oDataTable != null)
                {
                    switch (CflID)
                    {
                    case "CflCC":
                        oForm.DataSources.UserDataSources.Item("ds_Acc").Value = oDataTable.GetValue("AcctCode", 0).ToString();
                        break;

                    case "CflDim1":
                        oForm.DataSources.UserDataSources.Item("ds_Dim1").Value = oDataTable.GetValue("OcrCode", 0).ToString();
                        break;

                    case "CflDim2":
                        oForm.DataSources.UserDataSources.Item("ds_Dim2").Value = oDataTable.GetValue("OcrCode", 0).ToString();
                        break;

                    case "CflDim3":
                        oForm.DataSources.UserDataSources.Item("ds_Dim3").Value = oDataTable.GetValue("OcrCode", 0).ToString();
                        break;

                    case "CflDim4":
                        oForm.DataSources.UserDataSources.Item("ds_Dim4").Value = oDataTable.GetValue("OcrCode", 0).ToString();
                        break;

                    case "CflDim5":
                        oForm.DataSources.UserDataSources.Item("ds_Dim5").Value = oDataTable.GetValue("OcrCode", 0).ToString();
                        break;

                    default:
                        break;
                    }
                }
            }
            catch (Exception ex)
            {
                Conexion_SBO.m_SBO_Appl.StatusBar.SetText(ex.Message, SAPbouiCOM.BoMessageTime.bmt_Short, SAPbouiCOM.BoStatusBarMessageType.smt_Error);
            }
            finally
            {
                FuncionesComunes.LiberarObjetoGenerico(oCFLEvento);
                FuncionesComunes.LiberarObjetoGenerico(oCFL);
                FuncionesComunes.LiberarObjetoGenerico(oDataTable);
            }
        }
Esempio n. 2
0
        public static void ItemEventEventHandler(String FormUID, ref SAPbouiCOM.ItemEvent pVal, out bool BubbleEvent)
        {
            BubbleEvent = true;

            SAPbouiCOM.Form oForm = null;

            try
            {
                oForm = Conexion_SBO.m_SBO_Appl.Forms.Item(FormUID);
                switch (pVal.EventType)
                {
                case SAPbouiCOM.BoEventTypes.et_CLICK:
                    switch (pVal.ItemUID)
                    {
                    case "1":

                        break;
                    }
                    break;
                }
            }
            catch (Exception ex)
            {
                Conexion_SBO.m_SBO_Appl.StatusBar.SetText("Error: " + ex.Message, SAPbouiCOM.BoMessageTime.bmt_Long, SAPbouiCOM.BoStatusBarMessageType.smt_Error);
            }
            finally
            {
                FuncionesComunes.LiberarObjetoGenerico(oForm);
            }
        }
Esempio n. 3
0
        public static void m_SBO_Appl_ItemEvent(String FormUID, ref SAPbouiCOM.ItemEvent pVal, out bool BubbleEvent)
        {
            BubbleEvent = true;

            SAPbouiCOM.Form oForm = null;

            try
            {
                if (!pVal.BeforeAction)
                {
                    switch (pVal.EventType)
                    {
                    case SAPbouiCOM.BoEventTypes.et_CHOOSE_FROM_LIST:
                        oForm = Conexion_SBO.m_SBO_Appl.Forms.Item(FormUID);
                        GestionarSeleccionCFL(oForm, pVal);
                        break;

                    case SAPbouiCOM.BoEventTypes.et_ITEM_PRESSED:
                        oForm = Conexion_SBO.m_SBO_Appl.Forms.Item(FormUID);
                        if (pVal.ItemUID.Equals("Item_15"))
                        {
                            Descripcion = oForm.Items.Item("Item_1").Specific.Value.ToString();
                            Cuenta      = oForm.Items.Item("Item_3").Specific.Value.ToString();
                            Dim1        = oForm.Items.Item("Item_6").Specific.Value.ToString();
                            Dim2        = oForm.Items.Item("Item_8").Specific.Value.ToString();
                            Dim3        = oForm.Items.Item("Item_10").Specific.Value.ToString();
                            Dim4        = oForm.Items.Item("Item_12").Specific.Value.ToString();
                            Dim5        = oForm.Items.Item("Item_14").Specific.Value.ToString();

                            IntegracionServicio();

                            oForm.Close();
                        }
                        if (pVal.ItemUID.Equals("Item_16"))
                        {
                            oForm.Close();
                        }
                        break;

                    default:
                        break;
                    }
                }
            }
            catch (Exception ex)
            {
                Conexion_SBO.m_SBO_Appl.StatusBar.SetText("Error: " + ex.Message, SAPbouiCOM.BoMessageTime.bmt_Long, SAPbouiCOM.BoStatusBarMessageType.smt_Error);
            }
            finally
            {
                FuncionesComunes.LiberarObjetoGenerico(oForm);
            }
        }
Esempio n. 4
0
        /// <summary>
        /// funcion controla los eventos del formulario
        /// </summary>
        /// <param name="FormUID">identificador unico del formulario</param>
        /// <param name="pVal">Item even</param>
        /// <param name="BubbleEvent">BobbleEvent</param>
        public static void m_SBO_Appl_ItemEvent(String FormUID, ref SAPbouiCOM.ItemEvent pVal, out bool BubbleEvent)
        {
            BubbleEvent = true;

            SAPbouiCOM.Form oForm = null;

            try
            {
                if (!pVal.BeforeAction)
                {
                    switch (pVal.EventType)
                    {
                    case SAPbouiCOM.BoEventTypes.et_CHOOSE_FROM_LIST:
                        oForm = Conexion_SBO.m_SBO_Appl.Forms.Item(FormUID);
                        GestionarSeleccionCFL(oForm, pVal);
                        break;

                    case SAPbouiCOM.BoEventTypes.et_CLICK:
                        oForm = Conexion_SBO.m_SBO_Appl.Forms.Item(FormUID);
                        switch (pVal.ItemUID)
                        {
                        case "btnInt":
                            IntegracionServicio(oForm);

                            oForm.Close();
                            break;

                        case "btnCompl":
                            CopyInfo(oForm);
                            break;
                        }

                        break;

                    default:
                        break;
                    }
                }
            }
            catch (Exception ex)
            {
                Conexion_SBO.m_SBO_Appl.StatusBar.SetText("Error: " + ex.Message, SAPbouiCOM.BoMessageTime.bmt_Long, SAPbouiCOM.BoStatusBarMessageType.smt_Error);
            }
            finally
            {
                FuncionesComunes.LiberarObjetoGenerico(oForm);
            }
        }
Esempio n. 5
0
        private static void CargarFormulario(String FormUID)
        {
            SAPbouiCOM.Form     oForm     = null;
            SAPbouiCOM.EditText oEditText = null;

            try
            {
                oForm = Conexion_SBO.m_SBO_Appl.Forms.Item(FormUID);

                oEditText = oForm.Items.Item("Item_3").Specific;
                FuncionesComunes.CrearCFL_CuentaContable(oForm, oEditText);

                oEditText = oForm.Items.Item("Item_6").Specific;
                FuncionesComunes.CrearCFL_Dimensiones(oForm, oEditText, "1");

                oEditText = oForm.Items.Item("Item_8").Specific;
                FuncionesComunes.CrearCFL_Dimensiones(oForm, oEditText, "2");

                oEditText = oForm.Items.Item("Item_10").Specific;
                FuncionesComunes.CrearCFL_Dimensiones(oForm, oEditText, "3");

                oEditText = oForm.Items.Item("Item_12").Specific;
                FuncionesComunes.CrearCFL_Dimensiones(oForm, oEditText, "4");

                oEditText = oForm.Items.Item("Item_14").Specific;
                FuncionesComunes.CrearCFL_Dimensiones(oForm, oEditText, "5");
            }
            catch (Exception ex)
            {
            }
            finally
            {
                FuncionesComunes.LiberarObjetoGenerico(oForm);
                FuncionesComunes.LiberarObjetoGenerico(oEditText);
            }
        }
Esempio n. 6
0
        /// <summary>
        /// funcion integra facturas
        /// </summary>
        /// <param name="oForm"></param>
        private static void IntegracionServicio(SAPbouiCOM.Form oForm)
        {
            //DTE objDTE = null;
            SAPbobsCOM.Documents oDoc    = null;
            SAPbouiCOM.Matrix    oMatrix = null;
            string Descripcion           = string.Empty;
            string Cuenta = string.Empty;
            string Dim1   = string.Empty;
            string Dim2   = string.Empty;
            string Dim3   = string.Empty;
            string Dim4   = string.Empty;
            string Dim5   = string.Empty;

            string RutEmisor = String.Empty;
            string Tipo      = String.Empty;
            string Folio     = String.Empty;
            string FebId     = String.Empty;
            string CardCode  = String.Empty;
            string FchEmis   = String.Empty;
            string FchVenc   = String.Empty;
            string MntTotal  = String.Empty;
            string IVA       = String.Empty;
            string NroRef    = null;
            string RzRef     = null;

            SAPbobsCOM.Recordset oRecordset = null;
            bool blAcepComer = false;

            try
            {
                oMatrix    = oForm.Items.Item("MatrixIM").Specific;
                oRecordset = Conexion_SBO.m_oCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.BoRecordset);
                oRecordset.DoQuery("SELECT \"U_SentAcepC\" FROM \"@SEI_SETVALH\"");
                blAcepComer = (oRecordset.Fields.Item("U_SentAcepC").Value == "Y" ? true : false);
                for (int i = 1; i <= oMatrix.VisualRowCount; i++)
                {
                    Descripcion = ((SAPbouiCOM.EditText)oMatrix.Columns.Item("Col_0").Cells.Item(i).Specific).Value; // oForm.Items.Item("Item_1").Specific.Value.ToString();
                    Cuenta      = ((SAPbouiCOM.EditText)oMatrix.Columns.Item("Col_1").Cells.Item(i).Specific).Value;
                    Dim1        = ((SAPbouiCOM.EditText)oMatrix.Columns.Item("Col_2").Cells.Item(i).Specific).Value;
                    Dim2        = ((SAPbouiCOM.EditText)oMatrix.Columns.Item("Col_3").Cells.Item(i).Specific).Value;
                    Dim3        = ((SAPbouiCOM.EditText)oMatrix.Columns.Item("Col_4").Cells.Item(i).Specific).Value;
                    Dim4        = ((SAPbouiCOM.EditText)oMatrix.Columns.Item("Col_5").Cells.Item(i).Specific).Value;
                    Dim5        = ((SAPbouiCOM.EditText)oMatrix.Columns.Item("Col_6").Cells.Item(i).Specific).Value;

                    RutEmisor = ((SAPbouiCOM.EditText)oMatrix.Columns.Item("Col_7").Cells.Item(i).Specific).Value;
                    Tipo      = ((SAPbouiCOM.EditText)oMatrix.Columns.Item("Col_9").Cells.Item(i).Specific).Value;
                    Folio     = ((SAPbouiCOM.EditText)oMatrix.Columns.Item("Col_8").Cells.Item(i).Specific).Value;
                    FebId     = ((SAPbouiCOM.EditText)oMatrix.Columns.Item("Col_10").Cells.Item(i).Specific).Value;
                    CardCode  = ((SAPbouiCOM.EditText)oMatrix.Columns.Item("Col_11").Cells.Item(i).Specific).Value;
                    FchEmis   = ((SAPbouiCOM.EditText)oMatrix.Columns.Item("Col_FEmis").Cells.Item(i).Specific).Value;
                    FchVenc   = ((SAPbouiCOM.EditText)oMatrix.Columns.Item("Col_FVenc").Cells.Item(i).Specific).Value;
                    MntTotal  = ((SAPbouiCOM.EditText)oMatrix.Columns.Item("Col_Total").Cells.Item(i).Specific).Value;
                    IVA       = ((SAPbouiCOM.EditText)oMatrix.Columns.Item("Col_IVA").Cells.Item(i).Specific).Value;

                    NroRef = ((SAPbouiCOM.EditText)oMatrix.Columns.Item("Col_1-1").Cells.Item(i).Specific).Value;
                    RzRef  = ((SAPbouiCOM.EditText)oMatrix.Columns.Item("Col_1-4").Cells.Item(i).Specific).Value;
                    ResultMessage rslt = FuncionesComunes.ValidacionDTEIntegrado(RutEmisor, Int32.Parse(Tipo), Folio);// Int64.Parse(Folio));
                    rslt.Success = true;
                    if (rslt.Success)
                    {
                        //objDTE = ListaDTEMatrix.ListaDTE.Where(x => x.FebosID == FebId).Select(x => x.objDTE).SingleOrDefault();
                        //if (objDTE != null)
                        //{
                        switch (Tipo)
                        {
                        case "33":
                            oDoc = (SAPbobsCOM.Documents)Conexion_SBO.m_oCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.oPurchaseInvoices);
                            break;

                        case "34":
                            oDoc = (SAPbobsCOM.Documents)Conexion_SBO.m_oCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.oPurchaseInvoices);
                            break;

                        case "56":
                            oDoc = (SAPbobsCOM.Documents)Conexion_SBO.m_oCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.oPurchaseInvoices);
                            break;

                        case "61":
                            oDoc = (SAPbobsCOM.Documents)Conexion_SBO.m_oCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.oPurchaseDeliveryNotes);
                            break;
                        }

                        oDoc.CardCode = CardCode;
                        //oDoc.CardName = FuncionesComunes.ObtenerCardName(RutEmisor, oDoc.CardCode);
                        switch (Tipo)
                        {
                        case "33":
                            oDoc.DocObjectCode = SAPbobsCOM.BoObjectTypes.oPurchaseInvoices;
                            break;

                        case "34":
                            oDoc.DocObjectCode = SAPbobsCOM.BoObjectTypes.oPurchaseInvoices;
                            break;

                        case "52":
                            oDoc.DocObjectCode = SAPbobsCOM.BoObjectTypes.oPurchaseDeliveryNotes;
                            break;

                        case "56":
                            oDoc.DocObjectCode = SAPbobsCOM.BoObjectTypes.oPurchaseInvoices;
                            break;

                        case "61":
                            oDoc.DocObjectCode = SAPbobsCOM.BoObjectTypes.oPurchaseCreditNotes;
                            break;

                        default:
                            oDoc.DocObjectCode = SAPbobsCOM.BoObjectTypes.oPurchaseInvoices;
                            break;
                        }

                        oDoc.DocType = SAPbobsCOM.BoDocumentTypes.dDocument_Service;

                        oDoc.DocDate           = Convert.ToDateTime(FchEmis);
                        oDoc.DocDueDate        = Convert.ToDateTime(FchVenc);
                        oDoc.DocTotal          = Convert.ToDouble(MntTotal);
                        oDoc.FolioNumber       = Convert.ToInt32(Folio);
                        oDoc.FolioPrefixString = Tipo;
                        oDoc.Indicator         = Tipo;
                        oDoc.UserFields.Fields.Item("U_SEI_FEBOSID").Value = FebId;
                        oDoc.NumAtCard = RzRef.PadRight(99);
                        oDoc.Comments  = RzRef.PadRight(254);

                        oDoc.Lines.ItemDescription = Descripcion.PadRight(99);
                        oDoc.Lines.AccountCode     = Cuenta;
                        oDoc.Lines.LineTotal       = Convert.ToDouble(Convert.ToDouble(MntTotal) - Convert.ToDouble(IVA));
                        switch (Tipo)
                        {
                        case "34":
                            oDoc.Lines.TaxCode = "IVA_EXE";
                            break;

                        default:

                            break;
                        }

                        if (!string.IsNullOrEmpty(Dim1))
                        {
                            oDoc.Lines.CostingCode = Dim1;
                        }
                        if (!string.IsNullOrEmpty(Dim2))
                        {
                            oDoc.Lines.CostingCode2 = Dim2;
                        }
                        if (!string.IsNullOrEmpty(Dim3))
                        {
                            oDoc.Lines.CostingCode3 = Dim3;
                        }
                        if (!string.IsNullOrEmpty(Dim4))
                        {
                            oDoc.Lines.CostingCode4 = Dim4;
                        }
                        if (!string.IsNullOrEmpty(Dim5))
                        {
                            oDoc.Lines.CostingCode5 = Dim5;
                        }


                        Int32  RetVal  = oDoc.Add();
                        String Mensaje = String.Empty;
                        if (RetVal.Equals(0))
                        {
                            rslt = FuncionesComunes.EnviarRespuestaComercial(FebId, "ACD", String.Empty, String.Empty);
                            if (rslt.Success)
                            {
                                Conexion_SBO.m_SBO_Appl.StatusBar.SetText("Exito: El DTE :" + Folio + " Tipo :" + Tipo + " de :" + RutEmisor, SAPbouiCOM.BoMessageTime.bmt_Long, SAPbouiCOM.BoStatusBarMessageType.smt_Success);
                                // Aceptacion comercial

                                if (blAcepComer)
                                {
                                    rslt = FuncionesComunes.EnviarRespuestaComercial(FebId, "ACD", String.Empty, String.Empty);
                                    if (rslt.Success)
                                    {
                                        Conexion_SBO.m_SBO_Appl.StatusBar.SetText(String.Format("Exito: El DTE {0} Tipo {1} de {2}-{3} Se integro.", Folio, Tipo, RutEmisor), SAPbouiCOM.BoMessageTime.bmt_Long, SAPbouiCOM.BoStatusBarMessageType.smt_Success);
                                    }
                                    else
                                    {
                                        Conexion_SBO.m_SBO_Appl.StatusBar.SetText(String.Format("Reparo: El DTE {0} Tipo {1} de {2}-{3} Se integro, pero no se completo proceso de intercambio.", Folio, Tipo, RutEmisor), SAPbouiCOM.BoMessageTime.bmt_Long, SAPbouiCOM.BoStatusBarMessageType.smt_Warning);
                                    }
                                }
                            }
                            else
                            {
                                Conexion_SBO.m_SBO_Appl.StatusBar.SetText("Reparo: El DTE :" + Folio + " Tipo :" + Tipo + " de :" + RutEmisor + " Se integro, pero no se completo proceso de intercambio.", SAPbouiCOM.BoMessageTime.bmt_Long, SAPbouiCOM.BoStatusBarMessageType.smt_Warning);
                                //file.WriteLine(String.Format("Reparo: El DTE {0} Tipo {1} de {2}-{3} Se integro, pero no se completo proceso de intercambio.", objDTE.IdDoc.Folio, objDTE.IdDoc.TipoDTE, objDTE.Emisor.RznSoc, objDTE.Emisor.RUTEmisor));
                            }
                        }
                        else
                        {
                            Int32  ErrCode = 0;
                            String ErrMsj  = String.Empty;
                            Conexion_SBO.m_oCompany.GetLastError(out ErrCode, out ErrMsj);
                            Conexion_SBO.m_SBO_Appl.StatusBar.SetText("Error: El DTE :" + Folio + " Tipo :" + Tipo + " de :" + RutEmisor + " No se integro " + ErrMsj, SAPbouiCOM.BoMessageTime.bmt_Long, SAPbouiCOM.BoStatusBarMessageType.smt_Error);
                            //file.WriteLine(String.Format("Error: El DTE {0} Tipo {1} de {2}-{3} No se integro. {4}", objDTE.IdDoc.Folio, objDTE.IdDoc.TipoDTE, objDTE.Emisor.RznSoc, objDTE.Emisor.RUTEmisor, ErrMsj));
                        }
                        //}
                    }
                }
            }
            catch (Exception ex)
            {
                Conexion_SBO.m_SBO_Appl.StatusBar.SetText("Error: " + ex.Message, SAPbouiCOM.BoMessageTime.bmt_Long, SAPbouiCOM.BoStatusBarMessageType.smt_Error);
            }
            finally
            {
                // FuncionesComunes.LiberarObjetoGenerico(objDTE);
                FuncionesComunes.LiberarObjetoGenerico(oDoc);
            }
        }
Esempio n. 7
0
        /// <summary>
        /// funcion gentiion el uso del ChooseFromList
        /// </summary>
        /// <param name="oForm">objeto del formulario</param>
        /// <param name="pVal">Item Even</param>
        private static void GestionarSeleccionCFL(SAPbouiCOM.Form oForm, SAPbouiCOM.ItemEvent pVal)
        {
            SAPbouiCOM.IChooseFromListEvent oCFLEvento = null;
            String CflID = string.Empty;

            SAPbouiCOM.ChooseFromList oCFL = null;

            SAPbouiCOM.DataTable oDataTable = null;
            try
            {
                oCFLEvento = ((SAPbouiCOM.IChooseFromListEvent)(pVal));
                CflID      = oCFLEvento.ChooseFromListUID;
                oCFL       = oForm.ChooseFromLists.Item(CflID);

                oDataTable = oCFLEvento.SelectedObjects;

                if (oDataTable != null)
                {
                    SAPbouiCOM.Matrix oMatrix = oForm.Items.Item("MatrixIM").Specific;
                    try
                    {
                        switch (CflID)
                        {
                        case "CFL_ACT":

                            oMatrix.Columns.Item(pVal.ColUID).Cells.Item(pVal.Row).Specific.String = oDataTable.GetValue("AcctCode", 0).ToString();
                            break;

                        case "CFL_dim1":
                            oMatrix.Columns.Item(pVal.ColUID).Cells.Item(pVal.Row).Specific.String = oDataTable.GetValue("OcrCode", 0).ToString();
                            break;

                        case "CFL_dim2":
                            oMatrix.Columns.Item(pVal.ColUID).Cells.Item(pVal.Row).Specific.String = oDataTable.GetValue("OcrCode", 0).ToString();
                            break;

                        case "CFL_dim3":
                            oMatrix.Columns.Item(pVal.ColUID).Cells.Item(pVal.Row).Specific.String = oDataTable.GetValue("OcrCode", 0).ToString();
                            break;

                        case "CFL_dim4":
                            oMatrix.Columns.Item(pVal.ColUID).Cells.Item(pVal.Row).Specific.String = oDataTable.GetValue("OcrCode", 0).ToString();
                            break;

                        case "CFL_dim5":
                            oMatrix.Columns.Item(pVal.ColUID).Cells.Item(pVal.Row).Specific.String = oDataTable.GetValue("OcrCode", 0).ToString();
                            break;

                        default:
                            break;
                        }
                    }
                    catch (Exception ex)
                    { }
                }
            }
            catch (Exception ex)
            {
                Conexion_SBO.m_SBO_Appl.StatusBar.SetText(ex.Message, SAPbouiCOM.BoMessageTime.bmt_Short, SAPbouiCOM.BoStatusBarMessageType.smt_Error);
            }
            finally
            {
                FuncionesComunes.LiberarObjetoGenerico(oCFLEvento);
                FuncionesComunes.LiberarObjetoGenerico(oCFL);
                FuncionesComunes.LiberarObjetoGenerico(oDataTable);
            }
        }
Esempio n. 8
0
        private static void IntegracionServicio()
        {
            DTE objDTE = null;

            SAPbobsCOM.Documents oDoc = null;
            try
            {
                ResultMessage rslt = FuncionesComunes.ValidacionDTEIntegrado(RutEmisor, Int32.Parse(Tipo), Folio);// Int64.Parse(Folio));
                if (rslt.Success)
                {
                    objDTE = ListaDTEMatrix.ListaDTE.Where(i => i.FebosID == FebId).Select(i => i.objDTE).SingleOrDefault();
                    if (objDTE != null)
                    {
                        switch (Tipo)
                        {
                        case "33":
                            oDoc = (SAPbobsCOM.Documents)Conexion_SBO.m_oCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.oPurchaseInvoices);
                            break;

                        case "34":
                            oDoc = (SAPbobsCOM.Documents)Conexion_SBO.m_oCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.oPurchaseInvoices);
                            break;

                        case "56":
                            oDoc = (SAPbobsCOM.Documents)Conexion_SBO.m_oCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.oPurchaseInvoices);
                            break;

                        case "61":
                            oDoc = (SAPbobsCOM.Documents)Conexion_SBO.m_oCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.oPurchaseDeliveryNotes);
                            break;
                        }

                        oDoc.CardCode = CardCode;
                        //oDoc.CardName = FuncionesComunes.ObtenerCardName(RutEmisor, oDoc.CardCode);
                        switch (Tipo)
                        {
                        case "33":
                            oDoc.DocObjectCode = SAPbobsCOM.BoObjectTypes.oPurchaseInvoices;
                            break;

                        case "34":
                            oDoc.DocObjectCode = SAPbobsCOM.BoObjectTypes.oPurchaseInvoices;
                            break;

                        case "52":
                            oDoc.DocObjectCode = SAPbobsCOM.BoObjectTypes.oPurchaseDeliveryNotes;
                            break;

                        case "56":
                            oDoc.DocObjectCode = SAPbobsCOM.BoObjectTypes.oPurchaseInvoices;
                            break;

                        case "61":
                            oDoc.DocObjectCode = SAPbobsCOM.BoObjectTypes.oPurchaseCreditNotes;
                            break;

                        default:
                            oDoc.DocObjectCode = SAPbobsCOM.BoObjectTypes.oPurchaseInvoices;
                            break;
                        }

                        oDoc.DocType = SAPbobsCOM.BoDocumentTypes.dDocument_Service;

                        oDoc.DocDate           = Convert.ToDateTime(objDTE.IdDoc.FchEmis);
                        oDoc.DocDueDate        = Convert.ToDateTime(objDTE.IdDoc.FchVenc);
                        oDoc.DocTotal          = objDTE.Totales.MntTotal;
                        oDoc.FolioNumber       = Convert.ToInt32(Folio);
                        oDoc.FolioPrefixString = Tipo;
                        oDoc.Indicator         = Tipo;
                        oDoc.UserFields.Fields.Item("U_SEI_FEBOSID").Value = FebId;

                        oDoc.Lines.ItemDescription = Descripcion;
                        oDoc.Lines.AccountCode     = Cuenta;
                        oDoc.Lines.LineTotal       = (objDTE.Totales.MntTotal - objDTE.Totales.IVA);
                        switch (Tipo)
                        {
                        case "34":
                            oDoc.Lines.TaxCode = "IVA_EXE";
                            break;

                        default:

                            break;
                        }

                        if (!string.IsNullOrEmpty(Dim1))
                        {
                            oDoc.Lines.CostingCode = Dim1;
                        }
                        if (!string.IsNullOrEmpty(Dim2))
                        {
                            oDoc.Lines.CostingCode2 = Dim2;
                        }
                        if (!string.IsNullOrEmpty(Dim3))
                        {
                            oDoc.Lines.CostingCode3 = Dim3;
                        }
                        if (!string.IsNullOrEmpty(Dim4))
                        {
                            oDoc.Lines.CostingCode4 = Dim4;
                        }
                        if (!string.IsNullOrEmpty(Dim5))
                        {
                            oDoc.Lines.CostingCode5 = Dim5;
                        }


                        Int32  RetVal  = oDoc.Add();
                        String Mensaje = String.Empty;
                        if (RetVal.Equals(0))
                        {
                            rslt = FuncionesComunes.EnviarRespuestaComercial(FebId, "ACD", String.Empty, String.Empty);
                            if (rslt.Success)
                            {
                                Conexion_SBO.m_SBO_Appl.StatusBar.SetText(String.Format("Exito: El DTE {0} Tipo {1} de {2}-{3} Se integro.", objDTE.IdDoc.Folio, objDTE.IdDoc.TipoDTE, objDTE.Emisor.RznSoc, objDTE.Emisor.RUTEmisor), SAPbouiCOM.BoMessageTime.bmt_Long, SAPbouiCOM.BoStatusBarMessageType.smt_Success);
                                //file.WriteLine(String.Format("Exito: El DTE {0} Tipo {1} de {2}-{3} Se integro.", objDTE.IdDoc.Folio, objDTE.IdDoc.TipoDTE, objDTE.Emisor.RznSoc, objDTE.Emisor.RUTEmisor));
                            }
                            else
                            {
                                Conexion_SBO.m_SBO_Appl.StatusBar.SetText(String.Format("Reparo: El DTE {0} Tipo {1} de {2}-{3} Se integro, pero no se completo proceso de intercambio.", objDTE.IdDoc.Folio, objDTE.IdDoc.TipoDTE, objDTE.Emisor.RznSoc, objDTE.Emisor.RUTEmisor), SAPbouiCOM.BoMessageTime.bmt_Long, SAPbouiCOM.BoStatusBarMessageType.smt_Warning);
                                //file.WriteLine(String.Format("Reparo: El DTE {0} Tipo {1} de {2}-{3} Se integro, pero no se completo proceso de intercambio.", objDTE.IdDoc.Folio, objDTE.IdDoc.TipoDTE, objDTE.Emisor.RznSoc, objDTE.Emisor.RUTEmisor));
                            }
                        }
                        else
                        {
                            Int32  ErrCode = 0;
                            String ErrMsj  = String.Empty;
                            Conexion_SBO.m_oCompany.GetLastError(out ErrCode, out ErrMsj);
                            Conexion_SBO.m_SBO_Appl.StatusBar.SetText(String.Format("Error: El DTE {0} Tipo {1} de {2}-{3} No se integro. {4}", objDTE.IdDoc.Folio, objDTE.IdDoc.TipoDTE, objDTE.Emisor.RznSoc, objDTE.Emisor.RUTEmisor, ErrMsj), SAPbouiCOM.BoMessageTime.bmt_Long, SAPbouiCOM.BoStatusBarMessageType.smt_Error);
                            //file.WriteLine(String.Format("Error: El DTE {0} Tipo {1} de {2}-{3} No se integro. {4}", objDTE.IdDoc.Folio, objDTE.IdDoc.TipoDTE, objDTE.Emisor.RznSoc, objDTE.Emisor.RUTEmisor, ErrMsj));
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                Conexion_SBO.m_SBO_Appl.StatusBar.SetText("Error: " + ex.Message, SAPbouiCOM.BoMessageTime.bmt_Long, SAPbouiCOM.BoStatusBarMessageType.smt_Error);
            }
            finally
            {
                FuncionesComunes.LiberarObjetoGenerico(objDTE);
                FuncionesComunes.LiberarObjetoGenerico(oDoc);
            }
        }