| ♥ 0 | Boa tarde, Gostaria de saber como consigo validar um determinado NIF. Já encontrei o método mas não consigo aceder ao mesmo. Já tentei criar um objecto (StdPlatBS100.StdBSFuncoesGlobais plataforma = new StdPlatBS100.StdBSFuncoesGlobais();) mas a classe não tem construtor. Também não é estática. Como é que consigo usar o método?
Grato pela ajuda Marcado como spam |
| Resposta privada Para uar esse metodo tens de fazer a abertura da plataforma. StdBSConfApl objAplConf = new StdBSConfApl();
StdPlatBS Plataforma = new StdPlatBS();
ErpBS MotorLE = new ErpBS();
EnumTipoPlataforma objTipoPlataforma;
objTipoPlataforma = EnumTipoPlataforma.tpEmpresarial;
objAplConf.Instancia = "Default";
objAplConf.AbvtApl = "ERP";
objAplConf.PwdUtilizador = Password;
objAplConf.Utilizador = User;
objAplConf.LicVersaoMinima = "10.00";
StdBETransaccao objStdTransac = new StdBETransaccao();
try
{
Plataforma.AbrePlataformaEmpresa(Company, objStdTransac, objAplConf, objTipoPlataforma);
}
catch (Exception ex)
{
throw (ex);
}Depois disso private void txtNif_Validating(object sender, CancelEventArgs e)
{
if (!PriEngine.Platform.FuncoesGlobais.ValidaNumContribuinte(txtNif.Text, StdBETipos.EnumLocalizacaoSede.lsPortugalCont))
{
txtNif.BackColor = Color.Red;
}
else
{
txtNif.BackColor = Color.White;
}
}
O exemplo completo está aqui no git. Marcado como spam | |
| Resposta privada Eu já estava a abrir a plataforma (esqueci-me de referir isso). O problema é que não estava a fazer a chamada da forma correcta que era plataforma.FuncoesGlobais.ValidaNumContribuinte(...) Foi uma distracção. Obrigado sereno pois com a tua resposta cheguei lá.
EDIT: Parece-me que ele não valida mesmo o número pois eu passei para teste "123456789" e retornou true. Este método não verifica se o NIF existe mesmo e é válido? Não é o mesmo método que é invocado aquando das vendas? @sereno
Marcado como spam Comentários @alex Editei a minha resposta abaixo. faltava a localização, neste caso PT. Também atualizei o exemplo do Git.
Se a reposta ajudar o melhor é marcares como valida para que outras a vejam como valida. @sereno eu já tinha colocado a localização PT quando corrigi o meu erro mas ele aceita o "123456789". Já coloquei a resposta como válida :) |