ERP – Entrada de Títulos via WebServices – As portas GravarTitulosCR e GravarTitulosCP não estão gravando rateio
Incidente
No módulo de Finanças, ao utilizar o WebService com.senior.g5.co.mfi.cre.titulos porta GravarTitulosCR ou o Webservice com.senior.g5.co.mfi.cpa.titulos porta GravarTitulosCP não está gravando o rateio que é passado nos campos do WS.
Observação
O campo Forma Rateio na transação está 3-Manual e tem ativo o identificador de regras restrito para deixar inserir o rateio.
Solução
Para que seja possível inserir o rateio na tabela E501RAT ou E301RAT ao inserir um título, não pode utilizar as portas GravarTitulosCR e GravarTitulosCP.
O indicado é que utilize as portas EntradaTitulosLoteCR e EntradaTitulosLoteCP.
Abaixo segue exemplo de regra:
Definir interno.com.senior.g5.co.mfi.cre.titulos.EntradaTitulosLoteCR ServEntradaCR;
Definir Data xDatAux;
Definir Alfa xMsg;
ServEntradaCR.EntradaTitulos.CriarLinha();
ServEntradaCR.EntradaTitulos.Rateio.CriarLinha();
ServEntradaCR.ModoExecucao = 1;
ServEntradaCR.CodEmp = 1;
ServEntradaCR.CodFil = 1;
ServEntradaCR.EntradaTitulos.CodFil = 1;
ServEntradaCR.EntradaTitulos.CodTpt = "01";
ServEntradaCR.EntradaTitulos.NumTit = "040324";
ServEntradaCR.EntradaTitulos.CodTns = "90300";
xDatAux = CodData(04,03,2024);
ServEntradaCR.EntradaTitulos.DatEmi = xDatAux;
ServEntradaCR.EntradaTitulos.DatEnt = xDatAux;
ServEntradaCR.EntradaTitulos.CodCli = 1;
ServEntradaCR.EntradaTitulos.CodRep = 1;
xDatAux = CodData(04,03,2024);
ServEntradaCR.EntradaTitulos.VctOri = xDatAux;
ServEntradaCR.EntradaTitulos.VctPro = xDatAux;
ServEntradaCR.EntradaTitulos.VlrOri = 1000;
ServEntradaCR.EntradaTitulos.CodFpg = 1;
ServEntradaCR.EntradaTitulos.DatPpt = xDatAux;
ServEntradaCR.EntradaTitulos.CheBan = "";
ServEntradaCR.EntradaTitulos.CheAge = "";
ServEntradaCR.EntradaTitulos.CheCta = "";
ServEntradaCR.EntradaTitulos.CheNum = "";
ServEntradaCR.EntradaTitulos.CodPor = "9999";
ServEntradaCR.EntradaTitulos.CodCrt = "99";
ServEntradaCR.EntradaTitulos.CodMoe = "01";
ServEntradaCR.EntradaTitulos.Rateio.CtaFin = 1020;
ServEntradaCR.EntradaTitulos.Rateio.CtaRed = 50;
ServEntradaCR.EntradaTitulos.Rateio.CodCcu = "1103";
ServEntradaCR.EntradaTitulos.Rateio.PerCta = 100;
ServEntradaCR.EntradaTitulos.Rateio.PerRat = 100;
ServEntradaCR.Executar();
xMsg = ServEntradaCR.GridResult.TxtRet;
se (xMsg <> "OK")
Mensagem(Erro,xMsg);