♥ 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 :) |