25619 - Inativação da ligação produto X Depósito no ERP (F210LPD)
Problema: Descrição do Problema: Ao inativar a ligação de um produto com o depósito na tela F210LPD, o produto continua aparecendo no PDV, quando não poderia aparecer, pois deveria estar inativo.
Solução:
Rotina / Tela: F210LPD
Solução:
Solução: Para que a rotina funcione corretamente, é necessário Ativar o Identificador de Regras, na tela F098REG, informando uma regra vinculada.
Abaixo segue um EXEMPLO de regra que pode ser utilizada. Não necessariamente precisa ser esta regra.
@210RCLPD01 - Consiste pendencia de integração produto em estoque para loja@
Definir alfa EstACodPro;
Definir alfa EstACodDer;
Definir alfa EstACodDep;
Definir alfa EstAEstNeg;
Definir alfa EstASitEst;
Definir alfa aCodTpr;
Definir alfa aChave;
Definir alfa aAux;
Definir alfa aMsgRetorno;
Definir alfa aMsgexec;
Definir alfa axCodSer;
Definir alfa aSitIex;
Definir Cursor Cur_e070var;
Definir Cursor Cur_e000Pro;
Definir Cursor Cur_e000Cix;
Definir Cursor cur_e000Tpr;
Definir data dDatSis;
Definir data dDatExp;
Definir data dDatIni;
Definir Funcao GeraPendProduto();
Definir FunCao GeraPendPreco();
definir Funcao LibPen();
nCodEmp = CodEmp;
dDatSis = datSis;
nHorsis = horsis;
nCodusu = CodUsu;
axCodSer = " ";
MontaData(01,01,2011,dDatIni);
Cur_e070var.SQL "Select E070Var.CodFil, E070Var.CodInt, e070Var.codTpr /
From E070Var /
Where E070Var.CodEmp = :nCodEmp /
And E070Var.CodDep = :EstACodDep ";
Cur_e070var.AbrirCursor();
Se(Cur_e070var.Achou)
Inicio
nCodfil = Cur_e070var.CodFil;
aCodTpr = Cur_e070var.CodTpr;
nCodInt = Cur_e070var.CodInt;
Cur_e000Pro.Sql"Select Seqint from e000Pro where CodEmp = :nCodEmp and CodFil = :nCodFil /
And CodPro = :EstACodPro And CodDer = :EstACodDer";
Cur_e000Pro.AbrirCursor();
nIdeInt = 5;
Se(Cur_e000Pro.NaoAchou)
Inicio
GeraPendProduto();
Fim;
Se(Cur_e000Pro.Achou)
Inicio
nSeqInt = Cur_e000Pro.SeqInt;
Cur_e000cix.Sql"Select * From e000cix where CodInt = :nCodInt And IdeInt =:nIdeInt and SeqInt =:nSeqInt";
Cur_e000cix.AbrirCursor();
Se(Cur_e000cix.NaoAchou)
Inicio
GeraPendProduto();
Fim;
Se(Cur_e000cix.Achou)
Inicio
dDatExp = Cur_e000cix.DatExp;
aSitIex = Cur_e000cix.SitIex;
Se((dDatSis <> dDatExp) ou (aSitIex <> "P"))
Inicio
LibPen();
Fim;
Fim;
Cur_e000cix.FecharCursor();
Fim;
Cur_e000Pro.FecharCursor();
Cur_E000Tpr.Sql"Select SeqInt From e000Tpr where CodEmp =:nCodEmp /
and CodFil = :nCodFil and CodTpr = :aCodTpr /
And CodPro = :EstACodPro and CodDer = :EstACodDer";
Cur_E000Tpr.AbrirCursor();
nIdeInt = 9;
Se(Cur_E000Tpr.NaoAchou)
Inicio
GeraPendPreco();
Fim;
Se(Cur_E000Tpr.Achou)
Inicio
nSeqInt = Cur_E000Tpr.SeqInt;
Definir Cursor Cur_e000Cix;
Cur_e000Cix.Sql "Select * from e000cix where seqint = :nSeqInt and CodInt = :nCodInt and IdeInt =:nIdeInt";
Cur_e000Cix.AbrirCursor();
Se(Cur_e000Cix.NaoAchou)
Inicio
GeraPendPreco();
Fim;
Se(Cur_e000Cix.Achou)
Inicio
dDatExp = Cur_e000Cix.DatExp;
aSitIex = Cur_e000Cix.SitIex;
Se((dDatExp <> dDatSis) ou (aSitIex <> "P"))
Inicio
LibPen();
Fim;
Fim;
Fim;
Cur_E000Tpr.FecharCursor();
fim;
Cur_e070var.FecharCursor();
Funcao GeraPendProduto();
Inicio
aChave = "";
intparaalfa(nCodemp, aAux);
aChave = aAux + ";"; @EMPRESA @
intparaalfa(nCodFil, aAux);
aChave = aChave + aAux + ";"; @ FILIAL @
aChave = aChave + EstACodPro + ";"; @ PRODUTO @
aChave = aChave + EstACodDer + ";"; @ DERIVACAO @
aMsgRetorno="";
GerarPendenciaExportacaoRet (nCodInt, 5, aChave, aMsgRetorno);
Se(aMsgRetorno <> "")
Inicio
GerarPendenciaExportacaoRet (nCodInt, 5, aChave, aMsgRetorno);
Fim;
Se(aMsgRetorno <> "")
Inicio
Geralog(aMsgRetorno);
Fim;
Fim;
Funcao LibPen();
Inicio
xErro = 0;
ExecSqlEx("Update E000Cix set datExp = :dDatSis, HOrExp = :nHOrsis, DatAlt = :ddatsis, /
horalt = :nHorsis, UsuAlt = :nCodUsu, SitIex = 'P', /
Indexp = 'N', numlot = 0 /
Where CodInt = :nCodInt And IdeInt =:nIdeInt and SeqInt =:nSeqInt",xerro,aMsgexec);
Se(xErro = 1)
Inicio
Geralog(aMsgexec);
Fim;
Fim;
FunCao GeraPendPreco();
Inicio
aChave = "";
intparaalfa(nCodemp, aAux);
aChave = aAux + ";"; @EMPRESA @
intparaalfa(nCodFil, aAux);
aChave = aChave + aAux + ";"; @ FILIAL @
aChave = aChave + EstACodPro + ";"; @ PRODUTO @
aChave = aChave + EstACodDer + ";"; @ DERIVACAO @
aChave = aChave + axCodSer + ";"; @ SERVICO @
aChave = aChave + aCodTpr + ";"; @ TABELA @
convertemascara(3,dDatIni,aAux,"dd/mm/yyyy");
aChave = aChave + aAux; @ DATA @
AMsgRetorno = "";
GerarPendenciaExportacaoRet (nCodInt, 9, aChave, aMsgRetorno);
Se(AMsgRetorno <> "")
Inicio
GerarPendenciaExportacaoRet (nCodInt, 9, aChave, aMsgRetorno);
Se(AMsgRetorno <> "")
Inicio
GeralOg(aMsgRetorno);
Fim;
Fim;
Fim;