Fórum
Ver pergunta

Num formulário de utilizador, como obter o Contexto( ErpBS100.ErpBS) para utilizar StdBELista?   

116 visualizações
0
0

Num formulário de utilizador, como obter o Contexto( ErpBS100.ErpBS) para utilizar StdBELista?

Faça login para poder traduzir
Integração
V10
Marcado como spam
Criado há 5 anos e 11 meses josmendes-2
j
josmendes-2 Iniciante
2 respostas
0
Resposta privada

Este código faz com que ao adicionar a extensão, e adicionar uma nova função de utilizador para ir buscar o formulário, ele nem aparece na lista desde que qualquer instrução que se relacione com o BSO esteja a ser invocada.
public partial class FrmVendasBetaoGuias : CustomForm {

public FrmVendasBetaoGuias() {
InitializeComponent();
MessageBox.Show(BSO.DSO.BDAPL.ConnectionString);
}
}

Faça login para poder traduzir
Marcado como spam
Criado há 5 anos e 11 meses josmendes-2
j
josmendes-2 Iniciante
    Comentários
    Dá uma vista de olhos neste artigo: https://developers.ila.cegid.com/v10/?cat=recursos&subcat=guias&pID=4718 Também podes ver este exemplo: https://github.com/PrimaverabssDeveloper/ERP10Extensibility/tree/master/Custom%20Form
    5 anos e 11 meses
    danielvieira-1
      0
      Resposta privada

      Não estou a perceber bem a questão mas posso explicar que o StdBELista encontra-se na assmbly StdBE100 (StdBE100.StdBELista), que deve ser referenciada no projeto.

      Exemplo:

      StdBE100.StdBELista lista = BSO.Consulta("SELECT Artigo, Descricao, FROM Artigo");

      Faça login para poder traduzir
      Marcado como spam
      Criado há 5 anos e 11 meses primaverabss
      p
      primaverabss Iniciante
        Comentários
        Num formulário activado dentro de um documento de venda tinha programado a passagem do contexto (ErpBS100.ErpBS appContext:) para dentro do formulário, para uma variável global. Depois executava as consultas com StdBELista lista = appContext.Consulta("SELECT " + docColumn + " , " + serColumn + " FROM " + defTable); Passei o formulário para formulário de utlizador, deixei o código igual, só no construtor passei appContext=this.BSO e não funciona.
        5 anos e 11 meses
        josmendes-2
          Agora na V10 não necessitas de passar o ErpBS para dentro do formulário, uma vez que ele já tem isso de base.
          5 anos e 11 meses
          primaverabss
            Mas como relaciono? Tenho um Formulário de utilizador. Adiciono a extensão onde está incluído. Adiciono uma nova função de utilizador para adicionar esse formulário e acontece que nem aparece para adicionar se tiver instruções do tipo: StdBELista lista; lista = BSO.Consulta("SELECT 1"); Toda a instrução que contem o BSO origina algum erro que não vejo e depois o formulário não aparece para ser adicionado na função de utilizador. Aparentemente o BSO deve ser nulo...
            5 anos e 11 meses
            josmendes-2
              Estou a utilizar o VS2019 projeto em C#. Acabei de criar um projecto de raiz inicio, o código do formulário (referenciei o que faltava ErpDS100 da mesma forma que os outros): using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; using Primavera.Extensibility.BusinessEntities; using Primavera.Extensibility.CustomForm; namespace ExtensibilityProject6.Sales { public partial class PriCustomForm1 : CustomForm { public PriCustomForm1() { InitializeComponent(); MessageBox.Show(BSO.DSO.BDAPL.ConnectionString); } } } 1- Faço o Build em modo Debug, tudo ok, 2- Adiciono a extensão, tudo ok. 3- Tento adicionar uma nova função de utilizador, escolho "formulário do utilizador" e no separador não aparece o formulário. 4- se retirar as funções do BSO aparece.
              5 anos e 11 meses
              josmendes-2
                O exemplo do GitHub funciona, o que significa que existe mais no projecto do que adicionar a frase: CustomForm na classe e os DLL que faltam no projecto.... Obrigado vou verificar mais a fundo.
                5 anos e 11 meses
                josmendes-2