Identificador de Regra
VEN-135PRANE01
Módulo: VEN - Vendas.
Finalidade: Disponibilizar um ponto de regra após o processamento e gravação do banco de uma pré-fatura.
Características: O identificador executa antes do fechamento nas telas F135FCP e F135FCR.
É possível indicar o cancelamento de saldo dos itens de pedidos pré-faturados nos identificadores VEN-135CASLD01 e VEN-135CASLD03.
Tela: F135FCP e F135FCR.
Transação: Não se aplica.
Regra:
Caso de uso:
No caso de uso abaixo, esse identificador pode ser utilizado para cancelar os itens de pedido que não foram faturados pela pré-fatura (situação diferente de 8).
Na regra abaixo é feito um select que encontra esses itens, que serão cancelados por meio do web service de pedido.
Definir Numero VenNCodEmp; Definir Numero VenNCodFil; Definir Numero VenNNumAne; Definir Alfa sMsg; Definir Alfa sErro; Definir Alfa xCursor; Definir Alfa xSql; Definir Alfa VenAOrigem; Definir Funcao fChamarWS(); Sql_Criar(xCursor); xSql = "SELECT NumPed, SeqIpd FROM e120ipd WHERE " + "EXISTS (SELECT 1 FROM e135pes WHERE e135pes.codemp = e120ipd.codemp " + " AND e135pes.filped = e120ipd.codfil " + " AND e135pes.numped = e120ipd.numped " + " AND e135pes.codemp = :VenNCodEmp " + " AND e135pes.codfil = :VenNCodFil " + " AND e135pes.numane = :VenNNumAne) " + " AND sitipd <> 8 "; Sql_DefinirComando(xCursor, xSql); Sql_DefinirInteiro(xCursor, "VenNCodEmp", VenNCodEmp); Sql_DefinirInteiro(xCursor, "VenNCodFil", VenNCodFil); Sql_DefinirFlutuante(xCursor, "VenNNumAne", VenNNumAne); Sql_AbrirCursor(xCursor); Se (Sql_Eof(xCursor) = 0) Definir interno.com.senior.g5.co.mcm.ven.pedidos.GravarPedidos_15 WSGraPed; Enquanto (Sql_Eof(xCursor) = 0) { Sql_RetornarInteiro(xCursor, "NumPed", nNumPed); Sql_RetornarInteiro(xCursor, "SeqIpd", nSeqIpd); fChamarWS(); Sql_Proximo(xCursor); } Sql_FecharCursor(xCursor); Sql_Destruir(xCursor); Funcao fChamarWS(); { @Dados Gerais@ WSGraPed.Pedido.OpeExe = "C"; WSGraPed.Pedido.CodEmp = 1; WSGraPed.Pedido.CodFil = 1; WSGraPed.Pedido.NumPed = nNumPed; WSGraPed.Pedido.CodCli = 1; @Itens Produto@ WSGraPed.Pedido.Produto.OpeExe = "A"; WSGraPed.Pedido.Produto.SeqIpd = nSeqIpd; WSGraPed.Pedido.Produto.SitIpd = 5; WSGraPed.ModoExecucao = 1; WSGraPed.Executar(); sMsg = WSGraPed.MensagemRetorno; sErro = WSGraPed.respostaPedido.Retorno; sMsg = sMsg + " * " + sErro; Mensagem(Retorna, sMsg); } |
Variáveis Disponibilizadas:
Nome | Tipo | Observações | Retorna Valor |
---|---|---|---|
VenNCodEmp | NÚMERO | Código da empresa | N |
VenNCodFil | NÚMERO | Código da filial | N |
VenNNumAne | NÚMERO | Número da carga | N |
VenAOrigem | ALFA | Tela de origem | N |
Atenção
Caso o parâmetro global LisVarReg esteja habilitado, a variável ListaVariaveis estará disponível em todos os identificadores de regras do sistema. O conteúdo desta variável lista os campos disponibilizados no identificador de regras em questão.
Não é aconselhada a ativação desse parâmetro global para o uso cotidiano. Esse recurso de listagem dos campos de identificadores auxilia a construção de regras e o Suporte para, por exemplo, depuração ou quando não houver acesso à documentação dos identificadores de regras.