Ejemplo n.º 1
0
        }//fin MenuEvent

        private void Query(String Proc)
        {
            try
            {
                if (GlobalSettings.RunningUnderSQLServer)
                {
                    s = "exec " + Proc + " '" + Desde + "', '" + Hasta + "'";
                }
                else
                {
                    s = "CALL " + Proc + " ('" + Desde + "', '" + Hasta + "')";
                }

                oDataTable.ExecuteQuery(s);

                if (oDataTable.Rows.Count > 0)
                {
                    ogrid.AutoResizeColumns();
                }
            }
            catch (Exception e)
            {
                OutLog("Query: " + e.Message + " ** Trace: " + e.StackTrace);
                FSBOApp.MessageBox(e.Message + " ** Trace: " + e.StackTrace, 1, "Ok", "", "");
            }
        }
        }//fin MenuEvent

        private void BuscarDatos()
        {
            String FechaD;
            String FechaH;
            String TipoDTE;

            try
            {
                oForm.Freeze(true);
                FechaD  = ((System.String)((EditText)oForm.Items.Item("FechaD").Specific).Value);
                FechaH  = ((System.String)((EditText)oForm.Items.Item("FechaH").Specific).Value);
                TipoDTE = ((System.String)((ComboBox)oForm.Items.Item("TipoDTE").Specific).Selected.Value).Trim();

                if (GlobalSettings.RunningUnderSQLServer)
                {
                    s = @"SELECT T0.DocEntry
                              ,T0.U_TipoDoc TipoDoc
	                          ,T0.U_Folio Folio
	                          ,T0.U_RUT RUT
                              ,T0.U_Razon Razon
	                          ,T0.U_FechaEmi FechaEmi
	                          ,CAST(REPLACE(CONVERT(CHAR(10), T0.U_FechaRecep, 102),'.','-') +'  '+ 
								                            CASE WHEN LEN(T0.U_HoraRecep) = 4 THEN LEFT(CAST(T0.U_HoraRecep AS VARCHAR(10)),2) + ':' + RIGHT(CAST(T0.U_HoraRecep AS VARCHAR(10)),2) + ':00'
									                             WHEN LEN(T0.U_HoraRecep) = 3 THEN '0' + LEFT(CAST(T0.U_HoraRecep AS VARCHAR(10)),1) + ':' + RIGHT(CAST(T0.U_HoraRecep AS VARCHAR(10)),2) + ':00'
									                             WHEN LEN(T0.U_HoraRecep) = 2 THEN '00:'+ CAST(T0.U_HoraRecep AS VARCHAR(10)) + ':00'
										                         WHEN LEN(T0.U_HoraRecep) = 1 THEN '00:0' + CAST(T0.U_HoraRecep AS VARCHAR(10)) + ':00'
										                         ELSE '00:00:00'
								                            END AS VARCHAR(50)) FechaRecep
	                          ,T0.U_Monto Monto
	                          ,T0.U_IVA IVA
	                          ,T0.U_EstadoC EstadoC
	                          ,T0.U_EstadoSII EstadoSII
	                          ,T0.U_EstadoLey EstadoLey
                              ,CAST(T0.U_DocEntry AS INT) DocEntryDoc
                              ,{4} 'xml'  
                          FROM [{2}] T0
                         WHERE 1 = 1
                           AND T0.{3} BETWEEN '{0}' AND '{1}'";
                }
                else
                {
                    s = @"SELECT T0.""DocEntry""
                              ,T0.""U_TipoDoc"" ""TipoDoc""
	                          ,T0.""U_Folio"" ""Folio""
	                          ,T0.""U_RUT"" ""RUT""
                              ,T0.""U_Razon"" ""Razon""
	                          ,T0.""U_FechaEmi"" ""FechaEmi""
	                          ,CAST(TO_VARCHAR(T0.""U_FechaRecep"", 'yyyy-MM-dd') ||'  '|| 
								   CASE WHEN LENGTH(T0.""U_HoraRecep"") = 4 THEN LEFT(CAST(T0.""U_HoraRecep"" AS VARCHAR(10)),2) || ':' || RIGHT(CAST(T0.""U_HoraRecep"" AS VARCHAR(10)),2) || ':00'
										WHEN LENGTH(T0.""U_HoraRecep"") = 3 THEN '0' || LEFT(CAST(T0.""U_HoraRecep"" AS VARCHAR(10)),1) || ':' || RIGHT(CAST(T0.""U_HoraRecep"" AS VARCHAR(10)),2) || ':00'
										WHEN LENGTH(T0.""U_HoraRecep"") = 2 THEN '00:' || CAST(T0.""U_HoraRecep"" AS VARCHAR(10)) || ':00'
										WHEN LENGTH(T0.""U_HoraRecep"") = 1 THEN '00:0' || CAST(T0.""U_HoraRecep"" AS VARCHAR(10)) || ':00'
										ELSE '00:00:00'
								   END AS VARCHAR(50)) ""FechaRecep""
	                          ,T0.""U_Monto"" ""Monto""
	                          ,T0.""U_IVA"" ""IVA""
	                          ,T0.""U_EstadoC"" ""EstadoC""
	                          ,T0.""U_EstadoSII"" ""EstadoSII""
	                          ,T0.""U_EstadoLey"" ""EstadoLey""
                              ,TO_INT(T0.""U_DocEntry"") ""DocEntryDoc""
                              ,{4} ""xml""  
                          FROM ""{2}"" T0
                         WHERE 1 = 1
                           AND T0.""{3}"" BETWEEN '{0}' AND '{1}'";
                }
                s = String.Format(s, FechaD, FechaH, (TipoDTE == "V" ? "@VID_FEDTEVTA" : "@VID_FEDTECPRA"), (DSOpFec.Value == "1" ? "U_FechaEmi" : "U_FechaRecep"), (TipoDTE == "C" ? (GlobalSettings.RunningUnderSQLServer ? @"T0.U_Xml" : @"T0.""U_Xml"" ") : "''"));

                if (((System.String)((ComboBox)oForm.Items.Item("Cliente").Specific).Selected.Value).Trim() != "Todos")
                {
                    if (GlobalSettings.RunningUnderSQLServer)
                    {
                        s = s + @" AND T0.U_EstadoC = '{0}'";
                    }
                    else
                    {
                        s = s + @" AND T0.""U_EstadoC"" = '{0}'";
                    }
                    s = String.Format(s, ((System.String)((ComboBox)oForm.Items.Item("Cliente").Specific).Selected.Value).Trim());
                }

                if (((System.String)((ComboBox)oForm.Items.Item("SII").Specific).Selected.Value).Trim() != "Todos")
                {
                    if (GlobalSettings.RunningUnderSQLServer)
                    {
                        s = s + @" AND T0.U_EstadoSII = '{0}'";
                    }
                    else
                    {
                        s = s + @" AND T0.""U_EstadoSII"" = '{0}'";
                    }
                    s = String.Format(s, ((System.String)((ComboBox)oForm.Items.Item("SII").Specific).Selected.Value).Trim());
                }

                if (((System.String)((ComboBox)oForm.Items.Item("Ley").Specific).Selected.Value).Trim() != "Todos")
                {
                    if (GlobalSettings.RunningUnderSQLServer)
                    {
                        s = s + @" AND T0.U_EstadoLey = '{0}'";
                    }
                    else
                    {
                        s = s + @" AND T0.""U_EstadoLey"" = '{0}'";
                    }
                    s = String.Format(s, ((System.String)((ComboBox)oForm.Items.Item("Ley").Specific).Selected.Value).Trim());
                }

                oDataTable.ExecuteQuery(s);

                oGrid.Columns.Item("DocEntry").Type = BoGridColumnType.gct_EditText;
                var col = (EditTextColumn)(oGrid.Columns.Item("DocEntry"));
                col.Visible = false;

                oGrid.Columns.Item("TipoDoc").Type = BoGridColumnType.gct_EditText;
                col                      = (EditTextColumn)(oGrid.Columns.Item("TipoDoc"));
                col.Editable             = false;
                col.TitleObject.Caption  = "Tipo DTE";
                col.TitleObject.Sortable = true;

                oGrid.Columns.Item("Folio").Type = BoGridColumnType.gct_EditText;
                col                      = ((EditTextColumn)oGrid.Columns.Item("Folio"));
                col.Editable             = false;
                col.RightJustified       = true;
                col.TitleObject.Sortable = true;
                col.TitleObject.Caption  = "Nro Folio";

                oGrid.Columns.Item("RUT").Type = BoGridColumnType.gct_EditText;
                col                      = ((EditTextColumn)oGrid.Columns.Item("RUT"));
                col.Editable             = false;
                col.TitleObject.Sortable = true;
                col.TitleObject.Caption  = "RUT";
                if (TipoDTE == "C")
                {
                    col.Visible = true;
                }
                else
                {
                    col.Visible = false;
                }

                oGrid.Columns.Item("Razon").Type = BoGridColumnType.gct_EditText;
                col                      = ((EditTextColumn)oGrid.Columns.Item("Razon"));
                col.Editable             = false;
                col.TitleObject.Sortable = true;
                col.TitleObject.Caption  = "Razon Social";

                oGrid.Columns.Item("FechaEmi").Type = BoGridColumnType.gct_EditText;
                col                      = ((EditTextColumn)oGrid.Columns.Item("FechaEmi"));
                col.Editable             = false;
                col.TitleObject.Sortable = true;
                col.TitleObject.Caption  = "Fecha Emisión";

                oGrid.Columns.Item("FechaRecep").Type = BoGridColumnType.gct_EditText;
                col                      = ((EditTextColumn)oGrid.Columns.Item("FechaRecep"));
                col.Editable             = false;
                col.TitleObject.Sortable = true;
                col.TitleObject.Caption  = "Fecha Recepción";

                oGrid.Columns.Item("Monto").Type = BoGridColumnType.gct_EditText;
                col                      = ((EditTextColumn)oGrid.Columns.Item("Monto"));
                col.Editable             = false;
                col.RightJustified       = true;
                col.TitleObject.Sortable = true;
                col.TitleObject.Caption  = "Monto";

                oGrid.Columns.Item("IVA").Type = BoGridColumnType.gct_EditText;
                col                      = ((EditTextColumn)oGrid.Columns.Item("IVA"));
                col.Editable             = false;
                col.RightJustified       = true;
                col.TitleObject.Sortable = true;
                col.TitleObject.Caption  = "IVA";

                oGrid.Columns.Item("EstadoC").Type = BoGridColumnType.gct_ComboBox;
                var colCombo = ((ComboBoxColumn)oGrid.Columns.Item("EstadoC"));
                colCombo.Editable             = false;
                colCombo.DisplayType          = BoComboDisplayType.cdt_both;
                colCombo.TitleObject.Sortable = true;
                colCombo.TitleObject.Caption  = "Estado Cliente";
                if (GlobalSettings.RunningUnderSQLServer)
                {
                    s = @"SELECT T1.FldValue Code, T1.Descr Name
                          FROM CUFD T0
                          JOIN UFD1 T1 ON T1.TableID = T0.TableID
                                      AND T1.FieldID = T0.FieldID
                         WHERE T0.TableID = '{0}'
                           AND T0.AliasID = 'EstadoC'";
                }
                else
                {
                    s = @"SELECT T1.""FldValue"" ""Code"", T1.""Descr"" ""Name""
                          FROM ""CUFD"" T0
                          JOIN ""UFD1"" T1 ON T1.""TableID"" = T0.""TableID""
                                      AND T1.""FieldID"" = T0.""FieldID""
                         WHERE T0.""TableID"" = '{0}'
                           AND T0.""AliasID"" = 'EstadoC'";
                }
                s = String.Format(s, (TipoDTE == "V" ? "@VID_FEDTEVTA" : "@VID_FEDTECPRA"));
                oRecordSet.DoQuery(s);
                FSBOf.FillComboGrid(((GridColumn)oGrid.Columns.Item("EstadoC")), ref oRecordSet, false);

                oGrid.Columns.Item("EstadoSII").Type = BoGridColumnType.gct_ComboBox;
                colCombo                      = ((ComboBoxColumn)oGrid.Columns.Item("EstadoSII"));
                colCombo.Editable             = false;
                colCombo.DisplayType          = BoComboDisplayType.cdt_both;
                colCombo.TitleObject.Sortable = true;
                colCombo.TitleObject.Caption  = "Estado SII";
                if (GlobalSettings.RunningUnderSQLServer)
                {
                    s = @"SELECT T1.FldValue Code, T1.Descr Name
                          FROM CUFD T0
                          JOIN UFD1 T1 ON T1.TableID = T0.TableID
                                      AND T1.FieldID = T0.FieldID
                         WHERE T0.TableID = '{0}'
                           AND T0.AliasID = 'EstadoSII'";
                }
                else
                {
                    s = @"SELECT T1.""FldValue"" ""Code"", T1.""Descr"" ""Name""
                          FROM ""CUFD"" T0
                          JOIN ""UFD1"" T1 ON T1.""TableID"" = T0.""TableID""
                                      AND T1.""FieldID"" = T0.""FieldID""
                         WHERE T0.""TableID"" = '{0}'
                           AND T0.""AliasID"" = 'EstadoSII'";
                }
                s = String.Format(s, (TipoDTE == "V" ? "@VID_FEDTEVTA" : "@VID_FEDTECPRA"));
                oRecordSet.DoQuery(s);
                FSBOf.FillComboGrid(((GridColumn)oGrid.Columns.Item("EstadoSII")), ref oRecordSet, false);

                oGrid.Columns.Item("EstadoLey").Type = BoGridColumnType.gct_ComboBox;
                colCombo                      = ((ComboBoxColumn)oGrid.Columns.Item("EstadoLey"));
                colCombo.Editable             = false;
                colCombo.DisplayType          = BoComboDisplayType.cdt_both;
                colCombo.TitleObject.Sortable = true;
                colCombo.TitleObject.Caption  = "Estado Ley 20.956";
                if (GlobalSettings.RunningUnderSQLServer)
                {
                    s = @"SELECT T1.FldValue Code, T1.Descr Name
                          FROM CUFD T0
                          JOIN UFD1 T1 ON T1.TableID = T0.TableID
                                      AND T1.FieldID = T0.FieldID
                         WHERE T0.TableID = '{0}'
                           AND T0.AliasID = 'EstadoLey'";
                }
                else
                {
                    s = @"SELECT T1.""FldValue"" ""Code"", T1.""Descr"" ""Name""
                          FROM ""CUFD"" T0
                          JOIN ""UFD1"" T1 ON T1.""TableID"" = T0.""TableID""
                                      AND T1.""FieldID"" = T0.""FieldID""
                         WHERE T0.""TableID"" = '{0}'
                           AND T0.""AliasID"" = 'EstadoLey'";
                }
                s = String.Format(s, (TipoDTE == "V" ? "@VID_FEDTEVTA" : "@VID_FEDTECPRA"));
                oRecordSet.DoQuery(s);
                FSBOf.FillComboGrid(((GridColumn)oGrid.Columns.Item("EstadoLey")), ref oRecordSet, false);

                oGrid.Columns.Item("DocEntryDoc").Type = BoGridColumnType.gct_EditText;
                col                = ((EditTextColumn)oGrid.Columns.Item("DocEntryDoc"));
                col.Editable       = false;
                col.RightJustified = true;
                if (TipoDTE == "V")
                {
                    col.Visible = false;
                }
                else
                {
                    col.Visible = true;
                }
                col.TitleObject.Sortable = false;
                col.TitleObject.Caption  = "Factura en SAP";
                col.LinkedObjectType     = "18";

                oGrid.Columns.Item("xml").Type = BoGridColumnType.gct_EditText;
                col          = ((EditTextColumn)oGrid.Columns.Item("xml"));
                col.Editable = false;
                col.Visible  = false;

                oGrid.AutoResizeColumns();
            }
            catch (Exception x)
            {
                FSBOApp.StatusBar.SetText(x.Message + " ** Trace: " + x.StackTrace, BoMessageTime.bmt_Short, BoStatusBarMessageType.smt_Error);
                OutLog("BuscarDatos: " + x.Message + " ** Trace: " + x.StackTrace);
            }
            finally
            {
                oForm.Freeze(false);
            }
        }
        }//fin ActualizarRegistros

        private void ActualizarGrilla()
        {
            SAPbouiCOM.GridColumn oColumn;

            try
            {
                //Actualiza grilla
                if (GlobalSettings.RunningUnderSQLServer)
                {
                    s = @"select Code, CAST(U_BaseMul AS VARCHAR(11)) U_BaseMul, U_TipoDoc, U_Fecha, U_Desde, U_Hasta, U_Utilizados, U_Asignables, U_CAF
                                from [@VID_FECAF]";
                }
                else
                {
                    s = @"select ""Code"", TO_VARCHAR(""U_BaseMul"") ""U_BaseMul"", ""U_TipoDoc"", ""U_Fecha"", ""U_Desde"", ""U_Hasta"", ""U_Utilizados"", ""U_Asignables"", ""U_CAF""
                                from ""@VID_FECAF"" ";
                }
                oDataTable.ExecuteQuery(s);

                ogrid.Columns.Item("Code").Type = BoGridColumnType.gct_EditText;
                oColumn = (GridColumn)(ogrid.Columns.Item("Code"));
                //EditTextColumn(oColumn).LinkedObjectType := '86';
                oColumn.Editable            = false;
                oColumn.Visible             = false;
                oColumn.TitleObject.Caption = "Código";

                ogrid.Columns.Item("U_BaseMul").Type = BoGridColumnType.gct_ComboBox;
                var colCombo = (ComboBoxColumn)(ogrid.Columns.Item("U_BaseMul"));
                colCombo.DisplayType         = BoComboDisplayType.cdt_Description;
                colCombo.TitleObject.Caption = "Sociedad";
                colCombo.Editable            = false;
                if (bMultiSoc)
                {
                    colCombo.Visible = true;
                    if (GlobalSettings.RunningUnderSQLServer)
                    {
                        s = @"select DocEntry, U_Sociedad 'Sociedad' from [@VID_FEMULTISOC]";
                    }
                    else
                    {
                        s = @"select ""DocEntry"", ""U_Sociedad"" ""Sociedad"" from ""@VID_FEMULTISOC"" ";
                    }
                    oRecordSet.DoQuery(s);
                    while (!oRecordSet.EoF)
                    {
                        colCombo.ValidValues.Add(((System.Int32)oRecordSet.Fields.Item("DocEntry").Value).ToString(), ((System.String)oRecordSet.Fields.Item("Sociedad").Value).Trim());
                        oRecordSet.MoveNext();
                    }
                }
                else
                {
                    colCombo.Visible = false;
                }

                ogrid.Columns.Item("U_TipoDoc").Type = BoGridColumnType.gct_EditText;
                oColumn = (GridColumn)(ogrid.Columns.Item("U_TipoDoc"));
                //EditTextColumn(oColumn).LinkedObjectType := '86';
                oColumn.Editable            = false;
                oColumn.RightJustified      = true;
                oColumn.TitleObject.Caption = "Tipo Documento";

                ogrid.Columns.Item("U_Fecha").Type = BoGridColumnType.gct_EditText;
                oColumn = (GridColumn)(ogrid.Columns.Item("U_Fecha"));
                //EditTextColumn(oColumn).LinkedObjectType := '86';
                oColumn.Editable            = false;
                oColumn.TitleObject.Caption = "Fecha CAF";

                ogrid.Columns.Item("U_Desde").Type = BoGridColumnType.gct_EditText;
                oColumn = (GridColumn)(ogrid.Columns.Item("U_Desde"));
                //EditTextColumn(oColumn).LinkedObjectType := '86';
                oColumn.Editable            = false;
                oColumn.RightJustified      = true;
                oColumn.TitleObject.Caption = "Desde";

                ogrid.Columns.Item("U_Hasta").Type = BoGridColumnType.gct_EditText;
                oColumn = (GridColumn)(ogrid.Columns.Item("U_Hasta"));
                //EditTextColumn(oColumn).LinkedObjectType := '86';
                oColumn.Editable            = false;
                oColumn.RightJustified      = true;
                oColumn.TitleObject.Caption = "Hasta";

                ogrid.Columns.Item("U_Utilizados").Type = BoGridColumnType.gct_EditText;
                oColumn = (GridColumn)(ogrid.Columns.Item("U_Utilizados"));
                //EditTextColumn(oColumn).LinkedObjectType := '86';
                oColumn.Editable            = false;
                oColumn.RightJustified      = true;
                oColumn.TitleObject.Caption = "CAF Utilizados";

                ogrid.Columns.Item("U_Asignables").Type = BoGridColumnType.gct_EditText;
                oColumn = (GridColumn)(ogrid.Columns.Item("U_Asignables"));
                //EditTextColumn(oColumn).LinkedObjectType := '86';
                oColumn.Editable            = false;
                oColumn.RightJustified      = true;
                oColumn.TitleObject.Caption = "Asignables";

                ogrid.Columns.Item("U_CAF").Type = BoGridColumnType.gct_EditText;
                oColumn = (GridColumn)(ogrid.Columns.Item("U_CAF"));
                //EditTextColumn(oColumn).LinkedObjectType := '86';
                oColumn.Editable            = false;
                oColumn.TitleObject.Caption = "XML CAF";

                ogrid.AutoResizeColumns();
            }
            catch (Exception x)
            {
                FSBOApp.StatusBar.SetText(x.Message + " ** Trace: " + x.StackTrace, BoMessageTime.bmt_Short, BoStatusBarMessageType.smt_Error);
                OutLog("ActualizarGrilla: " + x.Message + " ** Trace: " + x.StackTrace);
            }
        }
Ejemplo n.º 4
0
        public new bool InitForm(string uid, string xmlPath, ref Application application, ref SAPbobsCOM.Company company, ref CSBOFunctions SBOFunctions, ref TGlobalVid _GlobalSettings)
        {
            bool Result = base.InitForm(uid, xmlPath, ref application, ref company, ref SBOFunctions, ref _GlobalSettings);

            try
            {
                oRecordSet = (SAPbobsCOM.Recordset)(FCmpny.GetBusinessObject(SAPbobsCOM.BoObjectTypes.BoRecordset));
                FSBOf.LoadForm(xmlPath, "VID_FEIMPADIC.srf", uid);
                oForm                = FSBOApp.Forms.Item(uid);
                oForm.AutoManaged    = false;
                oForm.SupportedModes = -1;             // afm_All
                Flag = false;
                oForm.Freeze(true);

                if (GlobalSettings.RunningUnderSQLServer)
                {
                    s = @"select count(*) Cont from [@VID_FEIMPADIC]";
                }
                else
                {
                    s = @"select count(*) ""Cont"" from ""@VID_FEIMPADIC"" ";
                }
                oRecordSet.DoQuery(s);
                if ((System.Int32)(oRecordSet.Fields.Item("Cont").Value) > 0)
                {
                    oForm.Mode = BoFormMode.fm_UPDATE_MODE;
                }
                else
                {
                    oForm.Mode = BoFormMode.fm_ADD_MODE;
                }


                oGrid       = (Grid)(oForm.Items.Item("3").Specific);
                oDBDSHeader = oForm.DataSources.DBDataSources.Add("@VID_FEIMPADIC");

                oDataTable = oForm.DataSources.DataTables.Add("Tax");
                if (GlobalSettings.RunningUnderSQLServer)
                {
                    s = @"select Code, U_CodImpto, U_Desc, U_Porc from [@VID_FEIMPADIC]
                          UNION ALL 
                          select CAST('' as varchar(20)), CAST('' as varchar(20)), CAST('' as varchar(50)), 0";
                }
                else
                {
                    s = @"select ""Code"", ""U_CodImpto"", ""U_Desc"", ""U_Porc"" from ""@VID_FEIMPADIC""
                          UNION ALL
                          select CAST('' as varchar(20)), CAST('' as varchar(20)), CAST('' as varchar(50)), 0 FROM DUMMY ";
                }

                oDataTable.ExecuteQuery(s);
                oGrid.DataTable = oDataTable;

                oGrid.Columns.Item("Code").Type = BoGridColumnType.gct_ComboBox;
                oColumn = (GridColumn)(oGrid.Columns.Item("Code"));
                var oComboCol = (ComboBoxColumn)(oColumn);
                oComboCol.Editable            = true;
                oComboCol.TitleObject.Caption = "Impuesto SAP";

                if (GlobalSettings.RunningUnderSQLServer)
                {
                    s = @"select Code, Name from OSTA
                          UNION ALL
                          select WTCode 'Code', WTName 'Name' from OWHT where Inactive = 'N'";
                }
                else
                {
                    s = @"select ""Code"", ""Name"" from ""OSTA""
                          UNION ALL
                          select ""WTCode"" ""Code"", ""WTName"" ""Name"" from ""OWHT"" where ""Inactive"" = 'N' ";
                }

                oRecordSet.DoQuery(s);
                FSBOf.FillComboGrid((GridColumn)(oGrid.Columns.Item("Code")), ref oRecordSet, true);

                oGrid.Columns.Item("U_CodImpto").Type = BoGridColumnType.gct_EditText;
                oColumn = (GridColumn)(oGrid.Columns.Item("U_CodImpto"));
                var oEditCol = (EditTextColumn)(oColumn);
                oEditCol.Editable            = true;
                oEditCol.TitleObject.Caption = "Código Impto. SII";


                oGrid.Columns.Item("U_Desc").Type = BoGridColumnType.gct_EditText;
                oColumn                      = (GridColumn)(oGrid.Columns.Item("U_Desc"));
                oEditCol                     = (EditTextColumn)(oColumn);
                oEditCol.Editable            = true;
                oEditCol.TitleObject.Caption = "Descripción Impuesto";

                oGrid.Columns.Item("U_Porc").Type = BoGridColumnType.gct_EditText;
                oColumn                      = (GridColumn)(oGrid.Columns.Item("U_Porc"));
                oEditCol                     = (EditTextColumn)(oColumn);
                oEditCol.Editable            = true;
                oEditCol.TitleObject.Caption = "Porcentaje Retencion";
                oEditCol.RightJustified      = true;

                oGrid.AutoResizeColumns();
            }
            catch (Exception e)
            {
                OutLog("InitForm: " + e.Message + " ** Trace: " + e.StackTrace);
                FSBOApp.MessageBox(e.Message + " ** Trace: " + e.StackTrace, 1, "Ok", "", "");
            }
            oForm.Freeze(false);
            return(Result);
        }//fin InitForm
        }//fin MenuEvent

        private void Grilla()
        {
            try
            {
                if (GlobalSettings.RunningUnderSQLServer)
                {
                    s = @"SELECT T0.U_Sucursal
                              ,T0.U_TipoDoc
	                          ,COUNT(*) 'Asignados'
	                          ,SUM(CASE WHEN T1.U_Estado = 'D' THEN 1 ELSE 0 END) 'Disponibles'
	                          ,SUM(CASE WHEN T1.U_Estado = 'U' THEN 1 ELSE 0 END) 'Utilizados'
                          FROM [@VID_FEDIST] T0 WITH(nolock)
                          JOIN [@VID_FEDISTD] T1 WITH(nolock) ON T1.DocEntry = T0.DocEntry
                          GROUP BY
                               T0.U_Sucursal
                              ,T0.U_TipoDoc
                         ORDER BY T0.U_Sucursal, T0.U_TipoDoc";
                }
                else
                {
                    s = @"SELECT T0.""U_Sucursal""
                              ,T0.""U_TipoDoc""
	                          ,COUNT(*) ""Asignados""
	                          ,SUM(CASE WHEN T1.""U_Estado"" = 'D' THEN 1 ELSE 0 END) ""Disponibles""
	                          ,SUM(CASE WHEN T1.""U_Estado"" = 'U' THEN 1 ELSE 0 END) ""Utilizados""
                          FROM ""@VID_FEDIST"" T0 
                          JOIN ""@VID_FEDISTD"" T1 ON T1.""DocEntry"" = T0.""DocEntry""
                          GROUP BY
                               T0.""U_Sucursal""
                              ,T0.""U_TipoDoc""
                         ORDER BY T0.""U_Sucursal"", T0.""U_TipoDoc"" ";
                }
                oDataTable.ExecuteQuery(s);

                ogrid.Columns.Item("U_Sucursal").Type = BoGridColumnType.gct_EditText;
                oColumn = (GridColumn)(ogrid.Columns.Item("U_Sucursal"));
                //EditTextColumn(oColumn).LinkedObjectType := '86';
                oColumn.Editable            = false;
                oColumn.Visible             = false;
                oColumn.TitleObject.Caption = "Código";

                ogrid.Columns.Item("U_TipoDoc").Type = BoGridColumnType.gct_EditText;
                oColumn = (GridColumn)(ogrid.Columns.Item("U_TipoDoc"));
                //EditTextColumn(oColumn).LinkedObjectType := '86';
                oColumn.Editable            = false;
                oColumn.RightJustified      = true;
                oColumn.TitleObject.Caption = "Tipo Documento";

                ogrid.Columns.Item("Asignados").Type = BoGridColumnType.gct_EditText;
                oColumn = (GridColumn)(ogrid.Columns.Item("Asignados"));
                //EditTextColumn(oColumn).LinkedObjectType := '86';
                oColumn.Editable            = false;
                oColumn.RightJustified      = true;
                oColumn.TitleObject.Caption = "Total Asignados";

                ogrid.Columns.Item("Disponibles").Type = BoGridColumnType.gct_EditText;
                oColumn = (GridColumn)(ogrid.Columns.Item("Disponibles"));
                //EditTextColumn(oColumn).LinkedObjectType := '86';
                oColumn.Editable            = false;
                oColumn.RightJustified      = true;
                oColumn.TitleObject.Caption = "Total Disponibles";

                ogrid.Columns.Item("Utilizados").Type = BoGridColumnType.gct_EditText;
                oColumn = (GridColumn)(ogrid.Columns.Item("Utilizados"));
                //EditTextColumn(oColumn).LinkedObjectType := '86';
                oColumn.Editable            = false;
                oColumn.RightJustified      = true;
                oColumn.TitleObject.Caption = "Total Utilizados";

                ogrid.AutoResizeColumns();
            }
            catch (Exception e)
            {
                FSBOApp.MessageBox(e.Message + " ** Trace: " + e.StackTrace, 1, "Ok", "", "");
                OutLog("Grilla: " + e.Message + " ** Trace: " + e.StackTrace);
            }
        }//fin Grilla
        }//fin MenuEvent

        private void CargarGrilla()
        {
            try
            {
                if (GlobalSettings.RunningUnderSQLServer)
                {
                    s = @"SELECT DocEntry, ISNULL(U_Cuenta,'') Cuenta, ISNULL(U_Desc,'') Descripcion, ISNULL(U_Clasif,'') Clasificacion FROM [@VID_FEPLANCTA]";
                }
                else
                {
                    s = @"SELECT ""DocEntry"", IFNULL(""U_Cuenta"",'') ""Cuenta"", IFNULL(""U_Desc"",'') ""Descripcion"", IFNULL(""U_Clasif"",'') ""Clasificacion"" FROM ""@VID_FEPLANCTA"" ";
                }

                oDataTable.ExecuteQuery(s);

                if (oDataTable.IsEmpty)
                {
                    oForm.Items.Item("btnCtaSAP").Enabled = false;
                    //oForm.Mode = BoFormMode.fm_ADD_MODE;
                }
                else
                {
                    oForm.Mode = BoFormMode.fm_UPDATE_MODE;
                    oDataTable.Rows.Add(1);
                }

                var col = ((EditTextColumn)oGrid.Columns.Item("DocEntry"));
                col.Editable            = false;
                col.Visible             = false;
                col.TitleObject.Caption = "DocEntry";

                col = ((EditTextColumn)oGrid.Columns.Item("Cuenta"));
                //col.LinkedObjectType = "171"; // Link to Employee
                col.Editable            = false;
                col.Visible             = true;
                col.TitleObject.Caption = "Código Cuenta";

                col                     = ((EditTextColumn)oGrid.Columns.Item("Descripcion"));
                col.Editable            = true;
                col.Visible             = true;
                col.TitleObject.Caption = "Descripción Cuenta";

                oGrid.Columns.Item("Clasificacion").Type = BoGridColumnType.gct_ComboBox;
                var colC = ((ComboBoxColumn)oGrid.Columns.Item("Clasificacion"));
                colC.Editable            = true;
                colC.Visible             = true;
                colC.DisplayType         = BoComboDisplayType.cdt_Description;
                colC.TitleObject.Caption = "Clasificación";

                var Combo = ((ComboBoxColumn)oGrid.Columns.Item("Clasificacion"));
                Combo.ValidValues.Add("1", "Activo");
                Combo.ValidValues.Add("2", "Pasivo");
                Combo.ValidValues.Add("3", "Patrimonio");
                Combo.ValidValues.Add("4", "Pérdidas y Ganancias");
                Combo.ValidValues.Add("5", "Orden");

                oGrid.AutoResizeColumns();
            }
            catch (Exception x)
            {
                FSBOApp.StatusBar.SetText("CargarGrilla: " + x.Message + " ** Trace: " + x.StackTrace, BoMessageTime.bmt_Short, BoStatusBarMessageType.smt_Error);
                OutLog("CargarGrilla: " + x.Message + " ** Trace: " + x.StackTrace);
            }
        }
        }//fin FormEvent

        private void CargarDatosPE()
        {
            SAPbouiCOM.EditTextColumn oEditColumn;
            SAPbouiCOM.CheckBox       oChkRechazados;
            SAPbouiCOM.CheckBox       oChkPendientes;
            SAPbouiCOM.CheckBox       oChkAceptados;
            SAPbouiCOM.CheckBox       oChkDadoBaja;
            SAPbouiCOM.CheckBox       oChkErrores;
            String FechaD, FechaH, Status;

            try
            {
                oForm.Freeze(true);
                oChkRechazados = (CheckBox)(oForm.Items.Item("Rechazados").Specific);
                oChkPendientes = (CheckBox)(oForm.Items.Item("Pendientes").Specific);
                oChkAceptados  = (CheckBox)(oForm.Items.Item("Aceptados").Specific);
                oChkDadoBaja   = (CheckBox)(oForm.Items.Item("DadoBaja").Specific);
                oChkErrores    = (CheckBox)(oForm.Items.Item("Errores").Specific);

                if ((oChkRechazados.Checked) || (oChkPendientes.Checked) || (oChkAceptados.Checked) || (oChkErrores.Checked))
                {
                    if (GlobalSettings.RunningUnderSQLServer)
                    {
                        Status = "and T0.U_Status in (";
                        Status = Status + (oChkRechazados.Checked ? "'RZ'," : "");
                        Status = Status + (oChkPendientes.Checked ? "'EC'," : "");
                        Status = Status + (oChkAceptados.Checked ? "'RR'," : "");
                        Status = Status + (oChkDadoBaja.Checked ? "'DB'," : "");
                        Status = Status + (oChkErrores.Checked ? "'EE'," : "");
                        Status = Status.Substring(0, Status.Length - 1);
                        Status = Status + ")";
                    }
                    else
                    {
                        Status = @"and T0.""U_Status"" in (";
                        Status = Status + (oChkRechazados.Checked ? "'RZ'," : "");
                        Status = Status + (oChkPendientes.Checked ? "'EC'," : "");
                        Status = Status + (oChkAceptados.Checked ? "'RR'," : "");
                        Status = Status + (oChkDadoBaja.Checked ? "'DB'," : "");
                        Status = Status + (oChkErrores.Checked ? "'EE'," : "");
                        Status = Status.Substring(0, Status.Length - 1);
                        Status = Status + ")";
                    }
                }
                else if ((!oChkRechazados.Checked) && (!oChkPendientes.Checked) && (!oChkAceptados.Checked) && (!oChkDadoBaja.Checked) && (!oChkErrores.Checked))
                {
                    //en caso de no encontrar ninguno marcado sale de la funcion
                    oForm.Freeze(false);
                    return;
                }
                else
                {
                    Status = "";
                }



                if (GlobalSettings.RunningUnderSQLServer)
                {
                    s = @"SELECT 
                               LTRIM(STR(T0.U_DocEntry,18,0))	'DocEntry'
	                          ,CASE U_ObjType
		                        WHEN '13' THEN (SELECT DocNum FROM OINV WHERE DocEntry = T0.U_DocEntry)
		                        WHEN '14' THEN (SELECT DocNum FROM ORIN WHERE DocEntry = T0.U_DocEntry)
		                        WHEN '15' THEN (SELECT DocNum FROM ODLN WHERE DocEntry = T0.U_DocEntry)
		                        WHEN '67' THEN (SELECT DocNum FROM OWTR WHERE DocEntry = T0.U_DocEntry)
                                WHEN '21' THEN (SELECT DocNum FROM ORPD WHERE DocEntry = T0.U_DocEntry)
	                           END				'DocNum'
                              ,T0.U_TipoDoc		'TipoDoc'
                              ,ISNULL(T0.U_SeriePE,'')  'SeriePE'
                              ,LTRIM(STR(T0.U_FolioNum,18,0))	'Folio'
                              ,(SELECT C1.Descr FROM CUFD C0 JOIN UFD1 C1 ON C1.TableID=C0.TableID AND C1.FieldID=C0.FieldID WHERE C0.TableID = '@VID_FELOG' AND C0.AliasID='Status' AND C1.FldValue= T0.U_Status)	'Estado'
                              ,T0.U_Status
                              ,T0.U_Message		'Mensaje'
                              ,T0.U_ObjType     'ObjType'
                              ,T0.U_Path		'Path'
                              ,T0.U_ExtFolio	'ExtFolio'
                              ,T0.DocEntry		'Key'
                              ,ISNULL(T0.U_Id,'0') 'Id'
                              ,ISNULL(T0.U_Validation,'') 'Validation'
                          FROM [@vid_felog] T0 WITH (NOLOCK)
                          JOIN OUSR T2 ON T2.USER_CODE = T0.U_UserCode
                         WHERE {0}
                           {3}
                           AND ISNULL(T0.U_DocDate, T0.CreateDate) BETWEEN '{1}' AND '{2}'
                           
                         ORDER BY T0.DocEntry DESC";
                }
                else
                {
                    s = @"SELECT  
                               LTRIM(TO_ALPHANUM(T0.""U_DocEntry""))	""DocEntry""
	                          ,CASE ""U_ObjType""
		                        WHEN '13' THEN (SELECT ""DocNum"" FROM ""OINV"" WHERE ""DocEntry"" = T0.""U_DocEntry"")
		                        WHEN '14' THEN (SELECT ""DocNum"" FROM ""ORIN"" WHERE ""DocEntry"" = T0.""U_DocEntry"")
		                        WHEN '15' THEN (SELECT ""DocNum"" FROM ""ODLN"" WHERE ""DocEntry"" = T0.""U_DocEntry"")
		                        WHEN '67' THEN (SELECT ""DocNum"" FROM ""OWTR"" WHERE ""DocEntry"" = T0.""U_DocEntry"")
                                WHEN '21' THEN (SELECT ""DocNum"" FROM ""ORPD"" WHERE ""DocEntry"" = T0.""U_DocEntry"")
	                           END				""DocNum""
                              ,T0.""U_TipoDoc""		""TipoDoc""
                              ,IFNULL(T0.""U_SeriePE"",'')  ""SeriePE""
                              ,LTRIM(TO_ALPHANUM(T0.""U_FolioNum""))	""Folio""
                              ,(SELECT C1.""Descr"" FROM ""CUFD"" C0 JOIN ""UFD1"" C1 ON C1.""TableID""=C0.""TableID"" AND C1.""FieldID""=C0.""FieldID"" WHERE C0.""TableID"" = '@VID_FELOG' AND C0.""AliasID""='Status' AND C1.""FldValue""= T0.""U_Status"")	""Estado""
                              ,T0.""U_Status""
                              ,T0.""U_Message""		""Mensaje"" 
                              ,T0.""U_ObjType""     ""ObjType""
                              ,T0.""U_Path""		""Path""
                              ,T0.""U_ExtFolio""	""ExtFolio""
                              ,T0.""DocEntry""		""Key""
                              ,IFNULL(T0.""U_Id"",'0') ""Id""
                              ,IFNULL(T0.""U_Validation"",'') ""Validation""
                          FROM ""@VID_FELOG"" T0 
                          JOIN ""OUSR"" T2 on T2.""USER_CODE"" = T0.""U_UserCode""
                         WHERE {0}
                           {3}
                           AND IFNULL(T0.""U_DocDate"", T0.""CreateDate"") BETWEEN '{1}' AND '{2}'
                         ORDER BY T0.""DocEntry"" DESC ";
                }

                oCheckBox = (CheckBox)(oForm.Items.Item("chk_Todo").Specific);
                oEditText = (EditText)(oForm.Items.Item("FechaD").Specific);
                FechaD    = (System.String)(oEditText.Value).Trim();

                oEditText = (EditText)(oForm.Items.Item("FechaH").Specific);
                FechaH    = (System.String)(oEditText.Value).Trim();

                if (GlobalSettings.RunningUnderSQLServer)
                {
                    s = String.Format(s, !oCheckBox.Checked ? "T0.U_UserCode = '" + FSBOApp.Company.UserName + "'" : "1=1", FechaD, FechaH, Status);
                }
                else
                {
                    s = String.Format(s, !oCheckBox.Checked ? @"T0.""U_UserCode"" = '" + FSBOApp.Company.UserName + "'" : "1=1", FechaD, FechaH, Status);
                }
                oDataTable.ExecuteQuery(s);

                oGrid.Columns.Item("TipoDoc").Type = BoGridColumnType.gct_EditText;
                oColumn                         = (GridColumn)(oGrid.Columns.Item("TipoDoc"));
                oEditColumn                     = (EditTextColumn)(oColumn);
                oEditColumn.Editable            = false;
                oEditColumn.TitleObject.Caption = "Tipo Documento";

                oGrid.Columns.Item("DocEntry").Type = BoGridColumnType.gct_EditText;
                oColumn                         = (GridColumn)(oGrid.Columns.Item("DocEntry"));
                oEditColumn                     = (EditTextColumn)(oColumn);
                oEditColumn.Editable            = false;
                oEditColumn.TitleObject.Caption = "Llave SAP";
                oEditColumn.LinkedObjectType    = "13";
                oEditColumn.RightJustified      = true;

                oGrid.Columns.Item("DocNum").Type = BoGridColumnType.gct_EditText;
                oColumn                         = (GridColumn)(oGrid.Columns.Item("DocNum"));
                oEditColumn                     = (EditTextColumn)(oColumn);
                oEditColumn.Editable            = false;
                oEditColumn.TitleObject.Caption = "Número SAP";
                oEditColumn.RightJustified      = true;

                oGrid.Columns.Item("SeriePE").Type = BoGridColumnType.gct_EditText;
                oColumn                         = (GridColumn)(oGrid.Columns.Item("SeriePE"));
                oEditColumn                     = (EditTextColumn)(oColumn);
                oEditColumn.Editable            = false;
                oEditColumn.TitleObject.Caption = "Número Serie";
                oEditColumn.RightJustified      = true;

                oGrid.Columns.Item("Folio").Type = BoGridColumnType.gct_EditText;
                oColumn                         = (GridColumn)(oGrid.Columns.Item("Folio"));
                oEditColumn                     = (EditTextColumn)(oColumn);
                oEditColumn.Editable            = false;
                oEditColumn.TitleObject.Caption = "Número Correlativo";
                oEditColumn.RightJustified      = true;

                oGrid.Columns.Item("Estado").Type = BoGridColumnType.gct_EditText;
                oColumn                         = (GridColumn)(oGrid.Columns.Item("Estado"));
                oEditColumn                     = (EditTextColumn)(oColumn);
                oEditColumn.Editable            = false;
                oEditColumn.TitleObject.Caption = "Estado";

                oGrid.Columns.Item("U_Status").Type = BoGridColumnType.gct_EditText;
                oColumn                         = (GridColumn)(oGrid.Columns.Item("U_Status"));
                oEditColumn                     = (EditTextColumn)(oColumn);
                oEditColumn.Editable            = false;
                oEditColumn.TitleObject.Caption = "U_Status";
                oEditColumn.Visible             = false;

                oGrid.Columns.Item("Mensaje").Type = BoGridColumnType.gct_EditText;
                oColumn                         = (GridColumn)(oGrid.Columns.Item("Mensaje"));
                oEditColumn                     = (EditTextColumn)(oColumn);
                oEditColumn.Editable            = false;
                oEditColumn.TitleObject.Caption = "Comentario";

                oGrid.Columns.Item("ObjType").Type = BoGridColumnType.gct_EditText;
                oColumn                         = (GridColumn)(oGrid.Columns.Item("ObjType"));
                oEditColumn                     = (EditTextColumn)(oColumn);
                oEditColumn.Editable            = false;
                oEditColumn.TitleObject.Caption = "ObjType";
                oEditColumn.Visible             = false;

                oGrid.Columns.Item("Path").Type = BoGridColumnType.gct_EditText;
                oColumn                         = (GridColumn)(oGrid.Columns.Item("Path"));
                oEditColumn                     = (EditTextColumn)(oColumn);
                oEditColumn.Editable            = false;
                oEditColumn.TitleObject.Caption = "Documento";
                oEditColumn.Visible             = false;

                oGrid.Columns.Item("ExtFolio").Type = BoGridColumnType.gct_EditText;
                oColumn                         = (GridColumn)(oGrid.Columns.Item("ExtFolio"));
                oEditColumn                     = (EditTextColumn)(oColumn);
                oEditColumn.Editable            = false;
                oEditColumn.TitleObject.Caption = "IdDocumento";
                oEditColumn.Visible             = true;

                oGrid.Columns.Item("Key").Type = BoGridColumnType.gct_EditText;
                oColumn                         = (GridColumn)(oGrid.Columns.Item("Key"));
                oEditColumn                     = (EditTextColumn)(oColumn);
                oEditColumn.Editable            = false;
                oEditColumn.TitleObject.Caption = "Key";
                oEditColumn.Visible             = false;

                oGrid.Columns.Item("Id").Type = BoGridColumnType.gct_EditText;
                oColumn                         = (GridColumn)(oGrid.Columns.Item("Id"));
                oEditColumn                     = (EditTextColumn)(oColumn);
                oEditColumn.Editable            = false;
                oEditColumn.TitleObject.Caption = "Id";
                oEditColumn.Visible             = false;

                oGrid.Columns.Item("Validation").Type = BoGridColumnType.gct_EditText;
                oColumn                         = (GridColumn)(oGrid.Columns.Item("Validation"));
                oEditColumn                     = (EditTextColumn)(oColumn);
                oEditColumn.Editable            = false;
                oEditColumn.TitleObject.Caption = "Validation";
                oEditColumn.Visible             = false;

                oGrid.AutoResizeColumns();
            }
            catch (Exception e)
            {
                OutLog("CargarDatosPE : " + e.Message + " ** Trace: " + e.StackTrace);
                FSBOApp.StatusBar.SetText("CargarDatosPE : " + e.Message + " ** Trace: " + e.StackTrace, BoMessageTime.bmt_Short, BoStatusBarMessageType.smt_Error);
            }
            oForm.Freeze(false);
        } //fin CargarDatosPE
        public new bool InitForm(string uid, string xmlPath, ref Application application, ref SAPbobsCOM.Company company, ref CSBOFunctions SBOFunctions, ref TGlobalVid _GlobalSettings)
        {
            bool Result = base.InitForm(uid, xmlPath, ref application, ref company, ref SBOFunctions, ref _GlobalSettings);

            try
            {
                oRecordSet = (SAPbobsCOM.Recordset)(FCmpny.GetBusinessObject(SAPbobsCOM.BoObjectTypes.BoRecordset));

                //Lista    := New list<string>;

                FSBOf.LoadForm(xmlPath, "VID_FEDetalleLog.srf", uid);
                //EnableCrystal := true;
                oForm = FSBOApp.Forms.Item(uid);
                oForm.Freeze(true);
                oForm.AutoManaged    = false;
                oForm.SupportedModes = -1;       // afm_All
                oForm.EnableMenu("1282", false); //Crear
                oForm.EnableMenu("1281", false); //Actualizar

                //oForm.DataBrowser.BrowseBy := "DocNum";

                // Ok Ad  Fnd Vw Rq Sec
                //Lista.Add('DocNum    , f,  f,  t,  f, n, 1');
                //Lista.Add('DocDate   , f,  t,  f,  f, r, 1');
                //Lista.Add('CardCode  , f,  t,  t,  f, r, 1');
                //FSBOf.SetAutoManaged(var oForm, Lista);

                //s := '1';
                //oCombo.Select(s, BoSearchKey.psk_ByValue);

                oForm.Items.Item("grid").Enabled = false;
                ogrid           = (Grid)(oForm.Items.Item("grid").Specific);
                dt              = oForm.DataSources.DataTables.Add("dt");
                ogrid.DataTable = dt;

                if (GlobalSettings.RunningUnderSQLServer)
                {
                    s = @"select U_TipoDoc
                              ,LTRIM(STR(U_FolioNum,18,0)) 'U_FolioNum'
                              ,U_ID_Log
                              ,U_Glosa
                              ,U_FechaIn
                          from [@VID_FELOG] T0
                          join [@VID_FELOGD] T1 ON T1.DocEntry = T0.DocEntry
                         where T0.DocEntry = {0}
                         order by T1.LineId DESC";
                }
                else
                {
                    s = @"select ""U_TipoDoc""
                              ,LTRIM(ROUND(""U_FolioNum"",0)) ""U_FolioNum""
                              ,""U_ID_Log""
                              ,""U_Glosa""
                              ,""U_FechaIn""
                          from ""@VID_FELOG"" T0 
                          join ""@VID_FELOGD"" T1 ON T1.""DocEntry"" = T0.""DocEntry""
                         where T0.""DocEntry"" = {0}
                         order by T1.""LineId"" DESC ";
                }

                s = String.Format(s, prmKey);
                dt.ExecuteQuery(s);
                ogrid.AutoResizeColumns();

                ogrid.Columns.Item("U_TipoDoc").Type = BoGridColumnType.gct_EditText;
                oColumn = (GridColumn)(ogrid.Columns.Item("U_TipoDoc"));
                var oEditColumn = (EditTextColumn)(oColumn);
                oEditColumn.Editable            = false;
                oEditColumn.TitleObject.Caption = "Tipo Documento";
                oEditColumn.RightJustified      = true;

                ogrid.Columns.Item("U_FolioNum").Type = BoGridColumnType.gct_EditText;
                oColumn                         = (GridColumn)(ogrid.Columns.Item("U_FolioNum"));
                oEditColumn                     = (EditTextColumn)(oColumn);
                oEditColumn.Editable            = false;
                oEditColumn.TitleObject.Caption = "Número Folio";
                oEditColumn.RightJustified      = true;

                ogrid.Columns.Item("U_ID_Log").Type = BoGridColumnType.gct_EditText;
                oColumn                         = (GridColumn)(ogrid.Columns.Item("U_ID_Log"));
                oEditColumn                     = (EditTextColumn)(oColumn);
                oEditColumn.Editable            = false;
                oEditColumn.TitleObject.Caption = "ID Log Portal";
                oEditColumn.RightJustified      = true;

                ogrid.Columns.Item("U_Glosa").Type = BoGridColumnType.gct_EditText;
                oColumn                         = (GridColumn)(ogrid.Columns.Item("U_Glosa"));
                oEditColumn                     = (EditTextColumn)(oColumn);
                oEditColumn.Editable            = false;
                oEditColumn.TitleObject.Caption = "Glosa";
                oEditColumn.RightJustified      = false;

                ogrid.Columns.Item("U_FechaIn").Type = BoGridColumnType.gct_EditText;
                oColumn                         = (GridColumn)(ogrid.Columns.Item("U_FechaIn"));
                oEditColumn                     = (EditTextColumn)(oColumn);
                oEditColumn.Editable            = false;
                oEditColumn.TitleObject.Caption = "Fecha Movimiento";
                oEditColumn.RightJustified      = false;

                oForm.Mode = BoFormMode.fm_OK_MODE;
            }
            catch (Exception e)
            {
                OutLog("InitForm: " + e.Message + " ** Trace: " + e.StackTrace);
                FSBOApp.MessageBox(e.Message + " ** Trace: " + e.StackTrace, 1, "Ok", "", "");
            }
            oForm.Freeze(false);
            return(Result);
        }//fin InitForm
Ejemplo n.º 9
0
        }//fin MenuEvent

        private void CargarGrilla()
        {
            try
            {
                if (GlobalSettings.RunningUnderSQLServer)
                {
                    s = @"SELECT DocEntry
                              ,LineId
	                          ,U_CtaSAP
	                          ,U_DescSAP
                          FROM [@VID_FEPLANCTAD]
                         WHERE DocEntry = {0}";
                }
                else
                {
                    s = @"SELECT ""DocEntry""
                              ,""LineId""
	                          ,""U_CtaSAP""
	                          ,""U_DescSAP""
                          FROM ""@VID_FEPLANCTAD""
                         WHERE ""DocEntry"" = {0}";
                }
                s = String.Format(s, DocEntry);
                odt.ExecuteQuery(s);

                if (!odt.IsEmpty)
                {
                    oForm.Mode = BoFormMode.fm_UPDATE_MODE;
                    odt.Rows.Add(1);
                }

                var col = ((EditTextColumn)oGrid.Columns.Item("DocEntry"));
                col.Editable            = false;
                col.Visible             = false;
                col.TitleObject.Caption = "DocEntry";

                col                     = ((EditTextColumn)oGrid.Columns.Item("LineId"));
                col.Editable            = false;
                col.Visible             = false;
                col.TitleObject.Caption = "LineId";

                col                     = ((EditTextColumn)oGrid.Columns.Item("U_CtaSAP"));
                col.Editable            = true;
                col.Visible             = true;
                col.TitleObject.Caption = "Cuenta SAP";
                col.ChooseFromListUID   = "CFL0";
                col.ChooseFromListAlias = "FormatCode";
                col.LinkedObjectType    = "1";

                col                     = ((EditTextColumn)oGrid.Columns.Item("U_DescSAP"));
                col.Editable            = true;
                col.Visible             = true;
                col.TitleObject.Caption = "Descripción Cuenta";

                oGrid.AutoResizeColumns();
            }
            catch (Exception t)
            {
                FSBOApp.StatusBar.SetText("CargarGrilla: " + t.Message + " ** Trace: " + t.StackTrace, BoMessageTime.bmt_Short, BoStatusBarMessageType.smt_Error);
                OutLog("CargarGrilla: " + t.Message + " ** Trace: " + t.StackTrace);
            }
        }
Ejemplo n.º 10
0
        public new bool InitForm(string uid, string xmlPath, ref Application application, ref SAPbobsCOM.Company company, ref CSBOFunctions SBOFunctions, ref TGlobalVid _GlobalSettings)
        {
            bool Result = base.InitForm(uid, xmlPath, ref application, ref company, ref SBOFunctions, ref _GlobalSettings);

            try
            {
                oRecordSet = (SAPbobsCOM.Recordset)(FCmpny.GetBusinessObject(SAPbobsCOM.BoObjectTypes.BoRecordset));
                FSBOf.LoadForm(xmlPath, "FM_NOTES.srf", uid);
                oForm                = FSBOApp.Forms.Item(uid);
                oForm.AutoManaged    = false;
                oForm.SupportedModes = -1;             // afm_All
                Flag = false;
                oForm.Freeze(true);

                if (GlobalSettings.RunningUnderSQLServer)
                {
                    s = @"select count(*) Cont from [@FM_NOTES]";
                }
                else
                {
                    s = @"select count(*) ""Cont"" from ""@FM_NOTES"" ";
                }
                oRecordSet.DoQuery(s);
                if ((System.Int32)(oRecordSet.Fields.Item("Cont").Value) > 0)
                {
                    oForm.Mode = BoFormMode.fm_UPDATE_MODE;
                }
                else
                {
                    oForm.Mode = BoFormMode.fm_ADD_MODE;
                }


                oGrid       = (Grid)(oForm.Items.Item("3").Specific);
                oDBDSHeader = oForm.DataSources.DBDataSources.Add("@FM_NOTES");

                oDataTable = oForm.DataSources.DataTables.Add("Notes");
                if (GlobalSettings.RunningUnderSQLServer)
                {
                    s = @"select Code, Name, U_TypeCode from [@FM_NOTES]
                          UNION ALL 
                          select CAST('' as varchar(20)), CAST('' as varchar(20)), CAST('' as varchar(50))";
                }
                else
                {
                    s = @"select ""Code"", ""Name"", ""U_TypeCode"" from ""@FM_NOTES""
                          UNION ALL
                          select CAST('' as varchar(20)), CAST('' as varchar(20)), CAST('' as varchar(50)) FROM DUMMY ";
                }
                oDataTable.ExecuteQuery(s);
                oGrid.DataTable = oDataTable;

                oGrid.Columns.Item("Code").Type = BoGridColumnType.gct_EditText;
                oColumn = (GridColumn)(oGrid.Columns.Item("Code"));
                var oEditCol = (EditTextColumn)(oColumn);
                oEditCol.Editable            = true;
                oEditCol.TitleObject.Caption = "Codigo";

                oGrid.Columns.Item("Name").Type = BoGridColumnType.gct_EditText;
                oColumn                      = (GridColumn)(oGrid.Columns.Item("Name"));
                oEditCol                     = (EditTextColumn)(oColumn);
                oEditCol.Editable            = true;
                oEditCol.TitleObject.Caption = "Descripción";


                oGrid.Columns.Item("U_TypeCode").Type = BoGridColumnType.gct_EditText;
                oColumn                      = (GridColumn)(oGrid.Columns.Item("U_TypeCode"));
                oEditCol                     = (EditTextColumn)(oColumn);
                oEditCol.Editable            = true;
                oEditCol.TitleObject.Caption = "Codigo SUNAT";

                oGrid.AutoResizeColumns();
            }
            catch (Exception e)
            {
                OutLog("InitForm: " + e.Message + " ** Trace: " + e.StackTrace);
                FSBOApp.MessageBox(e.Message + " ** Trace: " + e.StackTrace, 1, "Ok", "", "");
            }
            oForm.Freeze(false);
            return(Result);
        }//fin InitForm
        private void CargarGrid()
        {
            String Periodo  = "";
            String PeriodoD = "";
            String PeriodoH = "";

            try
            {
                if (oForm.Title == "Libro Diario y Mayor")
                {
                    Periodo = ((System.String)((ComboBox)oForm.Items.Item("Periodo").Specific).Selected.Value).Trim();
                    if (GlobalSettings.RunningUnderSQLServer)
                    {
                        s = @"EXEC VID_SP_FE_LibroDiario '{0}'";
                    }
                    else
                    {
                        s = @"CALL VID_SP_FE_LibroDiario ('{0}')";
                    }
                    s = String.Format(s, Periodo);
                    odt.ExecuteQuery(s);

                    if (GlobalSettings.RunningUnderSQLServer)
                    {
                        s = @"EXEC VID_SP_FE_LibroMayor '{0}'";
                    }
                    else
                    {
                        s = @"CALL VID_SP_FE_LibroMayor ('{0}')";
                    }
                    s = String.Format(s, Periodo);
                    odt2.ExecuteQuery(s);
                }
                else if (oForm.Title == "Balance")
                {
                    PeriodoD = ((System.String)((ComboBox)oForm.Items.Item("PeriodoD").Specific).Selected.Value).Trim();
                    PeriodoH = ((System.String)((ComboBox)oForm.Items.Item("PeriodoH").Specific).Selected.Value).Trim();
                    if (GlobalSettings.RunningUnderSQLServer)
                    {
                        s = @"EXEC VID_SP_FE_Balance '{0}', '{1}'";
                    }
                    else
                    {
                        s = @"CALL VID_SP_FE_Balance ('{0}', '{1}')";
                    }
                    s = String.Format(s, PeriodoD, PeriodoH);
                    odt.ExecuteQuery(s);

                    if (GlobalSettings.RunningUnderSQLServer)
                    {
                        s = @"EXEC VID_SP_FE_Diccionario '{0}' ";
                    }
                    else
                    {
                        s = @"CALL VID_SP_FE_Diccionario ('{0}')";
                    }
                    s = String.Format(s, PeriodoD);
                    odt2.ExecuteQuery(s);
                }
                else if (oForm.Title == "Diccionario")
                {
                    Periodo = ((System.String)((ComboBox)oForm.Items.Item("Periodo").Specific).Selected.Value).Trim();
                    if (GlobalSettings.RunningUnderSQLServer)
                    {
                        s = @"EXEC VID_SP_FE_Diccionario '{0}' ";
                    }
                    else
                    {
                        s = @"CALL VID_SP_FE_Diccionario ('{0}')";
                    }
                    s = String.Format(s, Periodo);
                    odt.ExecuteQuery(s);
                }


                if (!odt.IsEmpty)
                {
                    oForm.Items.Item("btnExp").Enabled = true;
                }
                else
                {
                    oForm.Items.Item("btnExp").Enabled = false;
                }


                for (Int32 z = 0; z < grid.Columns.Count; z++)
                {
                    grid.Columns.Item(z).Editable = false;
                }

                grid.AutoResizeColumns();

                if ((oForm.Title == "Libro Diario y Mayor") || (oForm.Title == "Balance"))
                {
                    if (!odt2.IsEmpty)
                    {
                        for (Int32 z = 0; z < grid2.Columns.Count; z++)
                        {
                            grid2.Columns.Item(z).Editable = false;
                        }

                        grid2.AutoResizeColumns();
                    }
                }
            }
            catch (Exception x)
            {
                FSBOApp.StatusBar.SetText(x.Message + " ** Trace: " + x.StackTrace, BoMessageTime.bmt_Short, BoStatusBarMessageType.smt_Error);
                OutLog("CargarGrid: " + x.Message + " ** Trace: " + x.StackTrace);
            }
        }