Ocultar un userfield en un systemform

Buenos días estimados,
tengo una consulta, quiero ocultar un campo de usuario específicamente en el form 810 (centro de costes), se que se debe localizar como -810 para encontrar el userfield y lo encuentro, pero no logro hacerlo invisible.
Este es mi código:

 case "-810":
                                        try
                                        {
                                            oForm = B1.Application.Forms.Item(pVal.FormUID);
                                          
                                            SAPbouiCOM.Item Oitem2;
                                            Oitem2 = oForm.Items.Item("U_SSI_DPTOS");
                                            
                                            Oitem2.Visible = false;
                                            
                                          
                                        }
                                        catch (Exception ex){ throw ex; }


El campo es departamento empleado es el que quiero dejar invisible, esto es posible? o estoy cometiendo algún error? ya que si coloco enable= true, me lo deja dehabilitado pero no así con invisible.
muchas gracias

Buen día @Esteban_P simplemente con abrir la ventana e ir a la ruta Herramientas - Herramientas de personalización - Parametrizaciones, puedes ver todos los campos de usuario y en la columna visible marcar o desmarcar.

Saludos,

1 me gusta

Algo similar al compañero @Oscar1900 te iba a comentar: Soluciones para ese detalle hay muchas, podrías editar la IU del formulario o probar con parametrizaciones de los campos de usuario, sin embargo, si tu vía es a través de la DI-API por obligatoriedad, no podría apoyarte, no es mi fuerte.

Suerte compañero.

:wink:

1 me gusta

muchas gracias, lo debo hacer a través de SDK ya que es para mas de una empresa, muchas gracias.

Muchas gracias Gerardo, se algunas herramientas de ese estilo pero lo tengo que hacer a través de DI API ya que se usara en mas de una empresa.
muchos saludos compañero.

1 me gusta

Buenos días @Esteban_P

Prueba con esta sentencia, según pruebas que realicé, es funcional, si lo oculta …

private void Form_ActivateAfter(SAPbouiCOM.SBOItemEventArg pVal) {
    ((SAPbouiCOM.EditText)Application.SBO_Application.Forms.GetForm("-810", pVal.FormTypeCount).Items.Item("U_Departamento").Specific).Item.Visible = false;
}

La sintaxis puede variar, según como lo hayas realizado, es decir, con SAP Business One Studio for Microsoft Visual Studio (más gráfico) o desde CERO, que… por lo que veo lo hiciste con la segunda opción, recordar que para hacer referencia a un campo de usuario con respecto a un campo nativo del Sistema, es un tanto diferente.

NOTA: Este ejemplo es una prueba desde “SAP Business One Studio for Microsoft Visual Studio”.

Espero te ayude a resolver tu problema o al menos darte una idea de como lograrlo

Saludos
SAP B1, v9.2 PL03
México

4 Me gusta

Hola,
no me llego la notificación de que alguien me había respondido, perdona, sabes… me funciono de inmediato, muchas gracias eres muy bueno, en serio muy agradecido.

saludos!

1 me gusta

Este tema se cerró automáticamente 7 días después del último post. No se permiten nuevas respuestas.