private Boolean ImprimirPE() { String sDocEntry = ""; String sFolio = ""; String sFolioPref = ""; String Tabla = ""; String sTipo = ""; String sDocSubType = ""; String sObjType = ""; String GLOB_EncryptSQL; String TipoDocElect = ""; SAPbouiCOM.EditText oEditText; SAPbouiCOM.ComboBox oComboBox; //String[] FE52 = { "52", "52T", "52D" }; //String[] FEOt = { "01", "01A", "08", "03" }; try { oForm.Freeze(true); GLOB_EncryptSQL = GlobalSettings.GLOB_EncryptSQL; oEditText = (EditText)(oForm.Items.Item("Folio").Specific); sFolio = oEditText.Value; oEditText = (EditText)(oForm.Items.Item("FolioPref").Specific); sFolioPref = oEditText.Value; oComboBox = (ComboBox)(oForm.Items.Item("TipDoc").Specific); sTipo = oComboBox.Value; sDocSubType = ""; if (sTipo == "01") //Factura venta { Tabla = "OINV"; sDocSubType = "'--'"; TipoDocElect = "01"; } else if (sTipo == "01A") //Factura anticipo { Tabla = "ODPI"; sDocSubType = "'--'"; TipoDocElect = "01"; } else if (sTipo == "01X") //Factura Exportacion { Tabla = "OINV"; sDocSubType = "'IX'"; TipoDocElect = "01"; } else if (sTipo == "08") //Nota de Debito { Tabla = "OINV"; sDocSubType = "'DN'"; TipoDocElect = "08"; } else if (sTipo == "03") //Boleta { Tabla = "OINV"; sDocSubType = "'IB','--'"; TipoDocElect = "03"; } else if (sTipo == "07") //nota de credito { Tabla = "ORIN"; sDocSubType = "'--'"; TipoDocElect = "07"; } else if (sTipo == "09") //guia remision Entrega { Tabla = "ODLN"; sDocSubType = "'--'"; TipoDocElect = "09"; sObjType = "15"; } else if (sTipo == "09T") //guia remision Transferencia { Tabla = "OWTR"; sDocSubType = "'--'"; TipoDocElect = "09"; sObjType = "67"; } else if (sTipo == "09D") //guia remision Devolucion { Tabla = "ORPD"; sDocSubType = "'--'"; TipoDocElect = "09"; sObjType = "21"; } else if (sTipo == "20") //Comprobante Retencion { Tabla = "OVPM"; sDocSubType = "'--'"; TipoDocElect = "20"; } if (TipoDocElect == "20") { if (GlobalSettings.RunningUnderSQLServer) { s = @"SELECT CAST(T0.DocEntry AS VARCHAR(20)) 'DocEntry', '--' 'DocSubType' FROM {0} T0 JOIN NNM1 T2 ON T0.Series = T2.Series WHERE (T0.U_BPP_PTCC = '{1}') AND T0.U_BPP_PTSC = '{2}' --AND SUBSTRING(UPPER(T2.BeginStr), 1, 1) = 'E' ORDER BY T0.DocEntry DESC"; } else { s = @"SELECT CAST(T0.""DocEntry"" AS VARCHAR(20)) ""DocEntry"", '--' ""DocSubType"" FROM ""{0}"" T0 JOIN ""NNM1"" T2 ON T0.""Series"" = T2.""Series"" WHERE (T0.""U_BPP_PTCC"" = '{1}') AND T0.""U_BPP_PTSC"" = '{2}' --AND SUBSTRING(UPPER(T2.""BeginStr""), 1, 1) = 'E' ORDER BY T0.""DocEntry"" DESC"; } s = String.Format(s, Tabla, sFolio, sFolioPref); } else { if (GlobalSettings.RunningUnderSQLServer) { s = @"SELECT CAST(T0.DocEntry AS VARCHAR(20)) 'DocEntry', T0.DocSubType FROM {0} T0 JOIN NNM1 T2 ON T0.Series = T2.Series WHERE (T0.U_BPP_MDCD = '{1}') AND T0.U_BPP_MDSD = '{3}' --AND SUBSTRING(UPPER(T2.BeginStr), 1, 1) = 'E' AND T0.DocSubType IN ({2}) ORDER BY T0.DocEntry DESC"; } else { s = @"SELECT CAST(T0.""DocEntry"" AS VARCHAR(20)) ""DocEntry"", T0.""DocSubType"" FROM ""{0}"" T0 JOIN ""NNM1"" T2 ON T0.""Series"" = T2.""Series"" WHERE (T0.""U_BPP_MDCD"" = '{1}') AND T0.""U_BPP_MDSD"" = '{3}' --AND SUBSTRING(UPPER(T2.""BeginStr""), 1, 1) = 'E' AND T0.""DocSubType"" IN ({2}) ORDER BY T0.""DocEntry"" DESC"; } s = String.Format(s, Tabla, sFolio, sDocSubType, sFolioPref); } oRecordSet.DoQuery(s); if (oRecordSet.RecordCount > 0) { sDocEntry = (System.String)(oRecordSet.Fields.Item("DocEntry").Value); sDocSubType = ((System.String)oRecordSet.Fields.Item("DocSubType").Value).Trim(); //if (sTipo in ['33','34','39','41','56']) if ((sTipo == "01") || (sTipo == "01X")) { var oInvoice_FM = new TInvoice(); oInvoice_FM.SBO_f = FSBOf; oInvoice_FM.EnviarFE_PE_ED(sDocEntry, GlobalSettings.RunningUnderSQLServer, sFolioPref, sFolio, TipoDocElect, "13", sDocSubType, RUC, sTipo); } else if (sTipo == "01A") { var oInvoice_FM = new TInvoice(); oInvoice_FM.SBO_f = FSBOf; oInvoice_FM.EnviarFE_PE_ED(sDocEntry, GlobalSettings.RunningUnderSQLServer, sFolioPref, sFolio, TipoDocElect, "203", sDocSubType, RUC, sTipo); } else if (sTipo == "03") { var oInvoice_FM = new TInvoice(); oInvoice_FM.SBO_f = FSBOf; oInvoice_FM.EnviarFE_PE_ED(sDocEntry, GlobalSettings.RunningUnderSQLServer, sFolioPref, sFolio, TipoDocElect, "13", sDocSubType, RUC, sTipo); } if (sTipo == "08") { var oInvoice_FM = new TInvoice(); oInvoice_FM.SBO_f = FSBOf; oInvoice_FM.EnviarFE_PE_ED(sDocEntry, GlobalSettings.RunningUnderSQLServer, sFolioPref, sFolio, TipoDocElect, "13", sDocSubType, RUC, sTipo); } else if (sTipo == "07") { var oCreditNotes_FM = new TCreditNotes(); oCreditNotes_FM.SBO_f = FSBOf; oCreditNotes_FM.EnviarCN_PE_ED(sDocEntry, GlobalSettings.RunningUnderSQLServer, sFolioPref, sFolio, TipoDocElect, "14", sDocSubType, RUC, sTipo); } else if (sTipo == "20") { var oPagoEfectuado = new TPagoEfectuado(); oPagoEfectuado.SBO_f = FSBOf; oPagoEfectuado.EnviarFE_PE_ED(sDocEntry, GlobalSettings.RunningUnderSQLServer, sFolioPref, sFolio, TipoDocElect, "46", RUC); } else if ((sTipo == "09") || (sTipo == "09T") || (sTipo == "09D")) { var oDelivery = new TDeliveryNote(); oDelivery.SBO_f = FSBOf; oDelivery.EnviarFE_PE_ED(sDocEntry, GlobalSettings.RunningUnderSQLServer, sFolioPref, sFolio, TipoDocElect, sObjType, sDocSubType, RUC, sTipo); } } else { FSBOApp.StatusBar.SetText("No se ha encontrado el documento " + sFolioPref + "-" + sFolio, BoMessageTime.bmt_Short, BoStatusBarMessageType.smt_Warning); } oForm.DataSources.UserDataSources.Item("Folio").Value = ""; oForm.Freeze(false); return(true); } catch (Exception e) { FSBOApp.StatusBar.SetText(e.Message + " ** Trace: " + e.StackTrace, BoMessageTime.bmt_Short, BoStatusBarMessageType.smt_Error); OutLog("ImprimirPE: " + e.Message + " ** Trace: " + e.StackTrace); return(false); } oForm.Freeze(false); } //fin ImprimirPE
}//fin FormEvent public new void FormDataEvent(ref BusinessObjectInfo BusinessObjectInfo, ref Boolean BubbleEvent) { String DocEntry; Boolean bMultiSoc; String nMultiSoc; String TipoDocElect; String[] FE52 = { "15", "67", "21" }; SAPbobsCOM.Documents oDocuments; base.FormDataEvent(ref BusinessObjectInfo, ref BubbleEvent); try { if ((BusinessObjectInfo.BeforeAction == false) && (BusinessObjectInfo.EventType == BoEventTypes.et_FORM_DATA_UPDATE) && (BusinessObjectInfo.ActionSuccess)) { if (GlobalSettings.RunningUnderSQLServer) { s = "select ISNULL(U_Distrib,'N') 'Distribuido', ISNULL(U_MultiSoc,'N') MultiSoc from [@VID_FEPARAM]"; } else { s = @"select IFNULL(""U_Distrib"",'N') ""Distribuido"", IFNULL(""U_MultiSoc"",'N') ""MultiSoc"" from ""@VID_FEPARAM"" "; } oRecordSet.DoQuery(s); if (oRecordSet.RecordCount > 0) { if ((System.String)(oRecordSet.Fields.Item("Distribuido").Value) == "N") { if ((System.String)(oRecordSet.Fields.Item("MultiSoc").Value) == "Y") { bMultiSoc = true; } else { bMultiSoc = false; } if (oForm.BusinessObject.Type == "13") //And (Flag = true)) then { //Flag := false; DocEntry = FSBOf.GetDocEntryBusinessObjectInfo(BusinessObjectInfo.ObjectKey); if (GlobalSettings.RunningUnderSQLServer) { s = @"select T0.DocSubType, SUBSTRING(UPPER(T2.BeginStr), 1, 1) 'Tipo', SUBSTRING(ISNULL(T2.BeginStr,''), 2, LEN(T2.BeginStr)) Inst, SUBSTRING(ISNULL(T2.BeginStr,''), 2, LEN(T2.BeginStr)) TipoDocElect from oinv T0 JOIN NNM1 T2 ON T0.Series = T2.Series where T0.DocEntry = {0}"; } else { s = @"select T0.""DocSubType"", SUBSTRING(UPPER(T2.""BeginStr""), 1, 1) ""Tipo"", SUBSTRING(IFNULL(T2.""BeginStr"",''), 2, LENGTH(T2.""BeginStr"")) ""Inst"", SUBSTRING(IFNULL(T2.""BeginStr"",''), 2, LENGTH(T2.""BeginStr"")) ""TipoDocElect"" from ""OINV"" T0 JOIN ""NNM1"" T2 ON T0.""Series"" = T2.""Series"" where T0.""DocEntry"" = {0}"; } s = String.Format(s, DocEntry); oRecordSet.DoQuery(s); if (((System.String)(oRecordSet.Fields.Item("TipoDocElect").Value) == "111") && ((System.String)(oRecordSet.Fields.Item("DocSubType").Value) == "DN")) { TipoDocElect = "111"; } else if (((System.String)(oRecordSet.Fields.Item("TipoDocElect").Value) != "111") && ((System.String)(oRecordSet.Fields.Item("DocSubType").Value) == "DN")) { TipoDocElect = "56"; } else if ((System.String)(oRecordSet.Fields.Item("DocSubType").Value) == "IE") //Factura Exenta { TipoDocElect = "34"; } else if ((System.String)(oRecordSet.Fields.Item("DocSubType").Value) == "IB") //Boleta { TipoDocElect = "39"; } else if ((System.String)(oRecordSet.Fields.Item("DocSubType").Value) == "EB") //Boleta Exenta { TipoDocElect = "41"; } else if ((System.String)(oRecordSet.Fields.Item("DocSubType").Value) == "IX") //Factura Exportacion { TipoDocElect = "110"; } else { TipoDocElect = "33"; } s = (System.String)(oRecordSet.Fields.Item("DocSubType").Value); if ((System.String)(oRecordSet.Fields.Item("Tipo").Value) == "E") { nMultiSoc = (System.String)(oRecordSet.Fields.Item("Inst").Value); if ((bMultiSoc == true) && (nMultiSoc == "")) { FSBOApp.StatusBar.SetText("Se encuentra parametrizado para Multiples Sociedades pero no se encuentra parametrizada la serie del documento", BoMessageTime.bmt_Short, BoStatusBarMessageType.smt_Warning); } else { var oInvoice = new TInvoice(); oInvoice.SBO_f = FSBOf; oDocuments = null; oDocuments = (SAPbobsCOM.Documents)(FCmpny.GetBusinessObject(BoObjectTypes.oInvoices)); if (oDocuments.GetByKey(Convert.ToInt32(DocEntry)))//**se dejo la normal mientras se termina la modificacion en el portal 20170202 { oInvoice.EnviarFE_WebService(oForm.BusinessObject.Type, oDocuments, TipoDocElect, false, "", GlobalSettings.RunningUnderSQLServer, "--", TipoDocElect, false); } } } } else if (oForm.BusinessObject.Type == "14") //And (Flag = true)) then { //Flag := false; DocEntry = FSBOf.GetDocEntryBusinessObjectInfo(BusinessObjectInfo.ObjectKey); if (GlobalSettings.RunningUnderSQLServer) { s = @"select T0.DocSubType, SUBSTRING(UPPER(T2.BeginStr), 1, 1) 'Tipo', SUBSTRING(ISNULL(T2.BeginStr,''), 2, LEN(T2.BeginStr)) Inst, SUBSTRING(ISNULL(T2.BeginStr,''), 2, LEN(T2.BeginStr)) TipoDocElect, T0.ObjType from ORIN T0 JOIN NNM1 T2 ON T0.Series = T2.Series where T0.DocEntry = {0}"; } else { s = @"select T0.""DocSubType"", SUBSTRING(UPPER(T2.""BeginStr""), 1, 1) ""Tipo"", SUBSTRING(IFNULL(T2.""BeginStr"",''), 2, LENGTH(T2.""BeginStr"")) ""Inst"", SUBSTRING(IFNULL(T2.""BeginStr"",''), 2, LENGTH(T2.""BeginStr"")) ""TipoDocElect"", T0.""ObjType"" from ""ORIN"" T0 JOIN ""NNM1"" T2 ON T0.""Series"" = T2.""Series"" where T0.""DocEntry"" = {0}"; } s = String.Format(s, DocEntry); oRecordSet.DoQuery(s); if ((System.String)(oRecordSet.Fields.Item("TipoDocElect").Value) == "112") { TipoDocElect = "112"; } else { TipoDocElect = "61"; } var DocSubTypeNC = (System.String)(oRecordSet.Fields.Item("DocSubType").Value); if ((System.String)(oRecordSet.Fields.Item("Tipo").Value) == "E") { nMultiSoc = (System.String)(oRecordSet.Fields.Item("Inst").Value); if ((bMultiSoc == true) && (nMultiSoc == "")) { FSBOApp.StatusBar.SetText("Se encuentra parametrizado para Multiples Sociedades pero no se encuentra parametrizada la serie del documento", BoMessageTime.bmt_Short, BoStatusBarMessageType.smt_Warning); } else { var oCreditNotes = new TCreditNotes(); oCreditNotes.SBO_f = FSBOf; oCreditNotes.EnviarFE_WebServiceNotaCredito(DocEntry, DocSubTypeNC, bMultiSoc, nMultiSoc, GlobalSettings.GLOB_EncryptSQL, GlobalSettings.RunningUnderSQLServer, (System.String)(oRecordSet.Fields.Item("ObjType").Value), TipoDocElect, TipoDocElect, false); } } } //else if (oForm.BusinessObject.Type in ['15','67','21']) //And (Flag = true)) then else if (FE52.Contains(oForm.BusinessObject.Type)) { //Flag := false; DocEntry = FSBOf.GetDocEntryBusinessObjectInfo(BusinessObjectInfo.ObjectKey); if (GlobalSettings.RunningUnderSQLServer) { if (oForm.BusinessObject.Type == "15") { s = @"select T0.DocSubType, SUBSTRING(UPPER(T2.BeginStr), 1, 1) 'Tipo', SUBSTRING(ISNULL(T2.BeginStr,''), 2, LEN(T2.BeginStr)) Inst from ODLN T0 JOIN NNM1 T2 ON T0.Series = T2.Series where T0.DocEntry = {0}"; } else if (oForm.BusinessObject.Type == "21") { s = @"select T0.DocSubType, SUBSTRING(UPPER(T2.BeginStr), 1, 1) 'Tipo', SUBSTRING(ISNULL(T2.BeginStr,''), 2, LEN(T2.BeginStr)) Inst from ORPD T0 JOIN NNM1 T2 ON T0.Series = T2.Series where T0.DocEntry = {0}"; } else if (oForm.BusinessObject.Type == "67") { s = @"select T0.DocSubType, SUBSTRING(UPPER(T2.BeginStr), 1, 1) 'Tipo', SUBSTRING(ISNULL(T2.BeginStr,''), 2, LEN(T2.BeginStr)) Inst from OWTR T0 JOIN NNM1 T2 ON T0.Series = T2.Series where T0.DocEntry = {0}"; } } else { if (oForm.BusinessObject.Type == "15") { s = @"select T0.""DocSubType"", SUBSTRING(UPPER(T2.""BeginStr""), 1, 1) ""Tipo"", SUBSTRING(IFNULL(T2.""BeginStr"",''), 2, LENGTH(T2.""BeginStr"")) ""Inst"" from ""ODLN"" T0 JOIN ""NNM1"" T2 ON T0.""Series"" = T2.""Series"" where T0.""DocEntry"" = {0}"; } else if (oForm.BusinessObject.Type == "21") { s = @"select T0.""DocSubType"", SUBSTRING(UPPER(T2.""BeginStr""), 1, 1) ""Tipo"", SUBSTRING(IFNULL(T2.""BeginStr"",''), 2, LENGTH(T2.""BeginStr"")) ""Inst"" from ""ORPD"" T0 JOIN ""NNM1"" T2 ON T0.""Series"" = ""T2.Series"" where T0.""DocEntry"" = {0}"; } else if (oForm.BusinessObject.Type == "67") { s = @"select T0.""DocSubType"", SUBSTRING(UPPER(T2.""BeginStr""), 1, 1) ""Tipo"", SUBSTRING(IFNULL(T2.""BeginStr"",''), 2, LENGTH(T2.""BeginStr"")) ""Inst"" from ""OWTR"" T0 JOIN ""NNM1"" T2 ON T0.""Series"" = T2.""Series"" where T0.""DocEntry"" = {0}"; } } s = String.Format(s, DocEntry); oRecordSet.DoQuery(s); s = (System.String)(oRecordSet.Fields.Item("DocSubType").Value); if ((System.String)(oRecordSet.Fields.Item("Tipo").Value) == "E") { nMultiSoc = (System.String)(oRecordSet.Fields.Item("Inst").Value); if ((bMultiSoc == true) && (nMultiSoc == "")) { FSBOApp.StatusBar.SetText("Se encuentra parametrizado para Multiples Sociedades pero no se encuentra parametrizada la serie del documento", BoMessageTime.bmt_Short, BoStatusBarMessageType.smt_Warning); } else { var oDeliveryNote = new TDeliveryNote(); oDeliveryNote.SBO_f = FSBOf; if (oForm.BusinessObject.Type == "15") { oDeliveryNote.EnviarFE_WebService(DocEntry, s, false, false, false, bMultiSoc, nMultiSoc, GlobalSettings.GLOB_EncryptSQL, GlobalSettings.RunningUnderSQLServer, "52", oForm.BusinessObject.Type, false); } else if (oForm.BusinessObject.Type == "21") { oDeliveryNote.EnviarFE_WebService(DocEntry, s, false, false, true, bMultiSoc, nMultiSoc, GlobalSettings.GLOB_EncryptSQL, GlobalSettings.RunningUnderSQLServer, "52D", oForm.BusinessObject.Type, false); } else if (oForm.BusinessObject.Type == "67") { oDeliveryNote.EnviarFE_WebService(DocEntry, s, true, false, false, bMultiSoc, nMultiSoc, GlobalSettings.GLOB_EncryptSQL, GlobalSettings.RunningUnderSQLServer, "52T", oForm.BusinessObject.Type, false); } } } } } } else { FSBOApp.StatusBar.SetText("Debe Parametrizar el Addon", BoMessageTime.bmt_Short, BoStatusBarMessageType.smt_Warning); } } } catch (Exception e) { } }//fin FormDataEvent