| ♥ 0 | Bom dia, Tenho um customform criado e o pretendido é passar informação entre as linhas do editor de compra e o pricustomform para podermos preencher os campos e utilizador. No entanto, ao chamar o pricustomform está a dar o seguinte erro: A referência de objecto não foi definida como uma instância de um objecto. O código que tenho no editor de compras é o seguinte: if (KeyCode == 72)
{
PriCustomForm1 frm = new PriCustomForm1(this.DocumentoCompra);
frm.Show();
}
no costumform tenho o seguinte código:
namespace ExtMGVsiCONTACTOS.Base
{
public partial class PriCustomForm1 : CustomForm
{
private CmpBE100.CmpBEDocumentoCompra documentoCompra { get; set; }
public PriCustomForm1(CmpBE100.CmpBEDocumentoCompra documento)
{
InitializeComponent();
documentoCompra = documento;
}
private void CmdSair_Click(object sender, EventArgs e)
{
this.Close();
}
}
Marcado como spam |
| Resposta privada Boas Eu sugeria o seguinte codigo (pegando no codigo enviado e juntando o do Sergio) using Primavera.Extensibility.BusinessEntities.ExtensibilityService.EventArgs;
using Primavera.Extensibility.Extensions;
using Primavera.Extensibility.Purchases.Editors;
namespace ExtensibilityProject3.Purchases
{
public class UiEditorCompras : EditorCompras
{
public override void TeclaPressionada(int KeyCode, int Shift, ExtensibilityEventArgs e)
{
if (Keycode == 72
{
using (var result = BSO.Extensibility.CreateCustomFormInstance(typeof(PriCustomForm1)))
{
if (result.IsSuccess())
{
(result.Result as PriCustomForm1).DocumentoCompra = this.DocumentoCompra;
(result.Result as PriCustomForm1).ShowDialog();
}
}
}
}
}
}
No CustomForm
namespace ExtMGVsiCONTACTOS.Base
{
public partial class PriCustomForm1 : CustomForm
{
internal CmpBE100.CmpBEDocumentoCompra documentoCompra { get; set; }
public PriCustomForm1()
{
InitializeComponent();
}
private void CmdSair_Click(object sender, EventArgs e)
{
this.Close();
}
}
}
Marcado como spam | |
| Resposta privada Olá Sereno, vocês não têm este código em VB.Net, estou a tentar converter o mesmo, mas estou com problemas. Quero abrir um formulário (FDU) ao clicar uma combinação de teclas no editor de vendas, e quero que esse formulário me devolva um double que se encontra num campo de números, depois de este ser preenchido e o usuário clicar o OK. Tens aí algum exemplo disso? Obrigado. Marcado como spam | |
| Resposta privada Bom dia Sereno, Agradeço a resposta, já estou a usar como me sugeriu, no entanto, não estou a conseguir passar informação de um lado para outro como por exemplo: passar para o customform o artigo que está na linha do editor de compras em sentido contrario, gravar na linha um campo de utilizador com informação que está no customform como é que consigo fazer? Marcado como spam | |
| Resposta privada Olá Vitor, tens de fazer assim. Um CustomForm herda de um tipo diferente do Form, por isso não podes instanciar dessa forma. using Primavera.Extensibility.BusinessEntities.ExtensibilityService.EventArgs;
using Primavera.Extensibility.Extensions;
using Primavera.Extensibility.Purchases.Editors;
namespace ExtensibilityProject3.Purchases
{
public class UiEditorCompras : EditorCompras
{
public override void TeclaPressionada(int KeyCode, int Shift, ExtensibilityEventArgs e)
{
using (var result = BSO.Extensibility.CreateCustomFormInstance(typeof(PriCustomForm1)))
{
if (result.IsSuccess())
{
(result.Result as PriCustomForm1).ShowDialog();
}
}
}
}
}
Marcado como spam |