| ♥ 0 | Boa tarde, Estou a criar uma CustomTab para os campos de utilizador do Artigo e pretendo aceder aos campos do mesmo. Segui o exemplo dado no github de extensibilidade (para clientes), mas não consigo ir buscar o artigo aberto através da seguinte instrução: public partial class CamposUtilizador: CustomTab {
public CamposUtilizador() {
InitializeComponent();
LoadValues();
}
private void LoadValues() {
BasBEArtigo myProduct = ContextService.Artigo;
Custo_PCM.Text = myProduct.PCMedio.ToString();
//Stocks Stock_Total.Text = myProduct.StkActual.ToString();
Stock_A7.Text = myProduct.STKMaximo.ToString();
}
//Deixa alterar valores se o Artigo estiver online (Destacado e Invisivel)
private void CDU_DisponivelOnline_CheckedChanged(object sender, EventArgs e)
{
if (CDU_DisponivelOnline.Checked == true) {
CDU_Destacado.Enabled = true;
CDU_hide.Enabled = true;
} else {
CDU_Destacado.Enabled = false;
CDU_hide.Enabled = false;
}
}
}Como devo proceder? Pretendo ter acesso aos campos de utilizador, bem como a todos os outros campos, incluindo aqueles relacionados com, por exemplo, o stock em armazéns, de forma a apresentar a informação necessária ao utilizador. Marcado como spam |
Comentários @tiago-costa O que queres dizer com o não consegues ir buscar o artigo? Podes por o código mais completo. @sereno Só com essa instrução, a CustomTab já não aparece no Primavera, de qualquer forma editei a pergunta e coloquei mais código. @tiago-costa Editei a questão corrigui o código. Tu podes editar desde que estjas logado, tens a opção de editar.
Verifica pf. @sereno continuo a não conseguir visualizar a CustomTab na ficha de Artigos.
Relativamente à opção editar, eu sei que esta está disponível, mas dá erro. (https://imgur.com/5XmzOFz) |
1 respostas
| Resposta privada Caro tiago A sua implentação não está correcta. Para implementar um separador de utilizador é necessário que indicar a classe que quer extender. using BasBE100;
using Primavera.Extensibility.Base.Editors;
using Primavera.Extensibility.CustomTab;
namespace ExtensibilityProject1.Base
{
public partial class PriCustomTab1 : CustomTab<FichaArtigos>
{
public PriCustomTab1()
{
InitializeComponent();
}
// Este evento ocorre sempre que carregar um artigo na ficha
private void PriCustomTab1_Loading()
{
// Artigo devolvido do contexto.
BasBEArtigo artigo = this.ContextService.Artigo;
}
}
}Está a usar a minha recomendação da utilização do visual studio? Marcado como spam Comentários Sim, utilizei a recomendação dada.
Já percebi que o problema estava em fazer a instrução ”BasBEArtigo myProduct = ContextService.Artigo;” no método LoadValues() e não no private void CamposUtilizador_Loading().
Relativamente à classe, sempre a extendi, mas não foi copiada para o código.
Mais uma vez, obrigado! |