Fórum
Ver pergunta

É possível colocar o F4 a funcionar com uma TDU?   

209 visualizações
1
0
using System;
using Primavera.Extensibility.CustomForm;

namespace FormacaoLisboa
{
    public partial class Form1 : CustomForm
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            f41.Categoria = PRISDK100.clsSDKTypes.EnumCategoria.Clientes;
            // Ligação com a categoria
            f41.IDCategoria = "Clientes";
            f41.Audit = "mnuTabClientes";
            f41.CampoChave = "Cliente";
            f41.CampoDescricao = "Nome";
            f41.Modulo = "BAS";

            // Comportamento. São opcionais.
            f41.CarregarValoresEdicao = false;
            f41.ChaveNumerica = false;
            f41.PermiteDrillDown = true;
            f41.PermiteEnabledLink = false;

            // Só é chamado uma vêz.
            SdkPrimavera.InicializaContexto(BSO, PSO);

            f41.Inicializa(SdkPrimavera.ContextoSDK);
        }
    }

    internal class SdkPrimavera
    {
        private static readonly SdkPrimavera contexto = new SdkPrimavera();
        private static PRISDK100.clsSDKContexto contextosdk;

        public static PRISDK100.clsSDKContexto ContextoSDK
        {
            get
            {
                return contextosdk;
            }
        }

        private SdkPrimavera()
        {
        }

        public static SdkPrimavera InicializaContexto(dynamic BSO, dynamic PSO)
        {
            contextosdk = new PRISDK100.clsSDKContexto();
            contextosdk.Inicializa(BSO, "ERP");
            PSO.InicializaPlataforma(contextosdk);

            return contexto;
        }
    }
}
Faça login para poder traduzir
V10
Marcado como spam
Criado há 6 anos e 5 meses carlosprado
c
carlosprado Iniciante
2 respostas
0
Resposta privada

Boa tarde,

Ao usar o controlo F4TabelasSQL como descrito acima, está a funcionar parcialmente, consegui aceder a TDU que pretendia e o campo chave é preenchido depois de selecionar um registo, mas o campo descrição não está ser preenchido e fica sempre com o aspeto inativo.

Será possível ter acesso ao campo descrição? até de modo a editar o valor do registo selecionado?

private void FrmTipoDeFerramenta_Load(object sender, EventArgs e)
{
InicializaSDKContexto();

f42.Caption = "Codigo:";
this.f42.AliasCampoChave = "CDU_Codigo";
this.f42.CampoChave = "CDU_Codigo";
this.f42.CampoDescricao = "CDU_Descricao";
this.f42.Caption = "Código:";
this.f42.MostraCaption = true;
this.f42.SelectionFormula = "SELECT CDU_Codigo, CDU_Descricao FROM TDU_TipoFerramenta";
f42.Enabled = true;

f42.Inicializa(sdkContexto);

}

Faça login para poder traduzir
Marcado como spam
Criado há 5 anos e 11 meses rosindobandeira
r
rosindobandeira Responsiveness Member
    2
    Resposta privada

    Boa tarde,

    Para este tipo de tabelas deve ser usado o controlo F4TabelaSQL, inicializado da seguinte forma:

    f4TabelaSQL1.AliasCampoChave = "CDU_Tipo";
    f4TabelaSQL1.CampoChave = "CDU_Tipo";
    f4TabelaSQL1.CampoDescricao = "CDU_Descricao";
    f4TabelaSQL1.Caption = "Tipos";
    f4TabelaSQL1.SelectionFormula = "select CDU_Tipo, CDU_Descricao from TDU_Tipos";
    f4TabelaSQL1.Inicializa(PriSDKContext.SdkContext);

    Faça login para poder traduzir
    Marcado como spam
    Criado há 6 anos e 5 meses danielvieira-1
    d
    danielvieira-1 Responsiveness Member