Identificador de Regra
VEN-113REMVL01
Módulo:
VEN - Vendas
Finalidade: Faz validações para os eventos "Emitir Receitas" e "Cancelar Receitas" na Emissão da receita agronômica (F113REM). A partir da ativação deste IR, poderá ser feita qualquer validação nas variáveis disponibilizadas, onde o sistema esperará o retorno e, sendo este diferente de 'OK', irá abortar o processamento.
O identificador será acionado no receituário agronômico somente quando, na tela Unidade de medida da dose (F113UMD), o campo Obriga definir área na receita estiver definido com valor "S - Sim". Adicionalmente a isso, na tela Aplicação (F113APL), a Unidade de medida também deve estar configurada com valor "S - Sim", para que a condição seja atendida.
Observação
Caso seja necessário realizar alguma ação após emissão ou cancelamento da receita, deve-se verificar o identificador VEN-113REMVL02.
Tela:
F113REM
Transação:
Não se aplica
Regra:
@Retorno@ Definir Alfa aRemRetVld; @Parâmetro@ Definir Alfa aRemEvento; @Cabecalho Receita@ Definir Numero nRemCodemp; Definir Numero nRemCodfil; Definir Numero nRemSeqrem; Definir Data dRemDatrec; Definir Numero nRemCodcli; Definir Numero nRemCodagr; Definir Alfa aRemSigufs; Definir Alfa aRemNumcre; Definir Alfa aRemNumart; Definir Alfa aRemSerart; Definir Numero nRemCodart; Definir Numero nRemCodetp; Definir Numero nRemCoddpp; Definir Numero nRemCoddia; Definir Alfa aRemCmpdia; Definir Numero nRemCodapt; Definir Numero nRemCodemb; Definir Numero nRemNumrec; Definir Numero nRemSeqent; Definir Alfa aRemLocapl; Definir Alfa aRemComapl; Definir Numero nRemCodsit; Definir Numero nRemQtdemi; Definir Alfa aRemIdepar; Definir Alfa aRemProrem; Definir Alfa aRemNumret; @Itens da Receita@ Definir Numero nReiCodemp; Definir Numero nReiCodfil; Definir Numero nReiSeqrem; Definir Numero nReiSeqrei; Definir Numero nReiNumped; Definir Numero nReiSeqipd; Definir Alfa aReiCodsnf; Definir Numero nReiNumnfv; Definir Numero nReiSeqipv; Definir Alfa aReiCodpro; Definir Alfa aReiCodder; Definir Numero nReiCodetp; Definir Numero nReiCoddpp; Definir Numero nReiCoddia; Definir Alfa aReiCmpdia; Definir Numero nReiCodapt; Definir Numero nReiCodemb; Definir Numero nReiQtddos; Definir Numero nReiUnimed; Definir Numero nReiVlrcal; Definir Numero nReiQtdrei; Definir Numero nReiNumapl; Definir Numero nReiVlrare; Definir Alfa aReiIdepar; @Chave Receita@ Definir Numero nCodEmp; Definir Numero nCodFil; Definir Numero nSeqRem; @Variável de conversão@ Definir Alfa aConvertido; aRemRetVld = "OK"; @Default Retorna true@ @Testa cabeçalho aqui se houver teste, retorno default igual a "OK" -------------------------------------------------@ @Testa botão emitir@ se (aRemEvento = "Emitir"){ se (nRemNumrec = 13) { aRemRetVld = ""; ConverteMascara(1,nRemNumrec, aConvertido, "AAAAAAAAA"); Concatena("Não é possível emitir a receita de número ", "",aConvertido,aConvertido); Mensagem(Retorna, aConvertido); }; }; @Testa botão cancelar@ se ((aRemRetVld = "OK") e (aRemEvento = "Cancelar")){ se (nRemNumrec = 10) { aRemRetVld = ""; ConverteMascara(1,nRemNumrec, aConvertido, "AAAAAAAAA"); Concatena("Não é possível cancelar a receita de número ", "",aConvertido,aConvertido); Mensagem(Retorna, aConvertido); }; }; @Se cabeçalho retornar ok testa item se houver teste@ se (aRemRetVld = "OK"){ nCodEmp = nRemCodemp; nCodFil = nRemCodfil; nSeqRem = nRemSeqrem; @ Selecionar itens da receira @ Definir Cursor Cur_A113REI; Cur_A113REI.Sql "Select e113rei.Codemp,e113rei.Codfil,e113rei.Seqrem,e113rei.Seqrei, \ e113rei.Numped,e113rei.Seqipd,e113rei.Codsnf,e113rei.Numnfv, \ e113rei.Seqipv,e113rei.Codpro,e113rei.Codder,e113rei.Codetp, \ e113rei.Coddpp,e113rei.Coddia,e113rei.Cmpdia,e113rei.Codapt, \ e113rei.Codemb,e113rei.Qtddos,e113rei.Unimed,e113rei.Vlrcal, \ e113rei.Qtdrei,e113rei.Numapl,e113rei.Vlrare,e113rei.Idepar \ from e113rei \ where e113rei.Codemp = :nCodEmp and e113rei.Codfil = :nCodFil and e113rei.Seqrem = :nSeqRem"; Cur_A113REI.AbrirCursor() Enquanto(Cur_A113REI.Achou){ nReiCodemp = Cur_A113REI.Codemp; nReiCodfil = Cur_A113REI.Codfil; nReiSeqrem = Cur_A113REI.Seqrem; nReiSeqrei = Cur_A113REI.Seqrei; nReiNumped = Cur_A113REI.Numped; nReiSeqipd = Cur_A113REI.Seqipd; aReiCodsnf = Cur_A113REI.Codsnf; nReiNumnfv = Cur_A113REI.Numnfv; nReiSeqipv = Cur_A113REI.Seqipv; aReiCodpro = Cur_A113REI.Codpro; aReiCodder = Cur_A113REI.Codder; nReiCodetp = Cur_A113REI.Codetp; nReiCoddpp = Cur_A113REI.Coddpp; nReiCoddia = Cur_A113REI.Coddia; aReiCmpdia = Cur_A113REI.Cmpdia; nReiCodapt = Cur_A113REI.Codapt; nReiCodemb = Cur_A113REI.Codemb; nReiQtddos = Cur_A113REI.Qtddos; nReiUnimed = Cur_A113REI.Unimed; nReiVlrcal = Cur_A113REI.Vlrcal; nReiQtdrei = Cur_A113REI.Qtdrei; nReiNumapl = Cur_A113REI.Numapl; nReiVlrare = Cur_A113REI.Vlrare; aReiIdepar = Cur_A113REI.Idepar; @Testa item aqui se houver teste, retorno default igual a "OK" ------------------------------------------------------@ @Efetua a validação do botão emitir para os itens@ se (aRemEvento = "Emitir"){ @Se não passar retorna vazio -> aRemRetVld = ""@ }; @Se passou pelo emitir, efetua a validação do botão cancelar para os itens@ se ((aRemRetVld = "OK") e (aRemEvento = "Cancelar")){ @Se não passar retorna vazio -> aRemRetVld = ""@ }; Cur_A113REI.Proximo() }; };
Variáveis Disponibilizadas:
Cabeçalho da receita
| Nome | Tipo | Observação | Retorna Valor |
|---|---|---|---|
| nRemCodemp | Numero | Empresa | Não |
| nRemCodfil | Numero | Filial | Não |
| nRemSeqrem | Numero | Sequência da receita agronômica | Não |
| dRemDatrec | Data | Data de emissão da receita | Não |
| nRemCodcli | Numero | Cliente | Não |
| nRemCodagr | Numero | Código do reponsável técnico | Não |
| aRemSigufs | Alfa | UF | Não |
| aRemNumcre | Alfa | Número CREA | Não |
| aRemNumart | Alfa | Número ART | Não |
| aRemSerart | Alfa | Série ART | Não |
| nRemCodart | Numero | Código ART | Não |
| nRemCodetp | Numero | Código da espécie/cultura | Não |
| nRemCoddpp | Numero | Código dapraga/problema | Não |
| nRemCoddia | Numero | Código do Diagnóstico | Não |
| aRemCmpdia | Alfa | Complemento do diagnóstico | Não |
| nRemCodapt | Numero | Código tipo da aplicação | Não |
| nRemCodemb | Numero | Código da embalagem | Não |
| nRemNumrec | Numero | Número da receita | Não |
| nRemSeqent | Numero | Sequência de entrega | Não |
| aRemLocapl | Alfa | Local aplicação | Não |
| aRemComapl | Alfa | Complemento local aplicação | Não |
| nRemCodsit | Numero | Situação | Não |
| nRemQtdemi | Numero | Quantidade de emissões da receita | Não |
| aRemIdepar | Alfa | Código de identificação do parceiro | Não |
| aRemProrem | Alfa | Protocolo da receita registrado no órgão competente | Não |
| aRemNumret | Alfa | Número da receita emitida por responsável técnico | Não |
| aRemEstado | Alfa | Estado do Evento ('Consistindo') | Não |
Itens da Receita
| Nome | Tipo | Observação | Retorna Valor |
|---|---|---|---|
| nReiCodemp | Numero | Empresa | Não |
| nReiCodfil | Numero | Filial | Não |
| nReiSeqrem | Numero | Sequência da receita agronômica | Não |
| nReiSeqrei | Numero | Sequência do item da receita | Não |
| nReiNumped | Numero | Número pedido | Não |
| nReiSeqipd | Numero | Sequência do item do pedido | Não |
| aReiCodsnf | Alfa | Código da série da nota fiscal de saída | Não |
| nReiNumnfv | Numero | Número da nota fiscal de saída | Não |
| nReiSeqipv | Numero | Sequência do item da nota fiscal de saída | Não |
| aReiCodpro | Alfa | Código do produto | Não |
| aReiCodder | Alfa | Código da derivação | Não |
| nReiCodetp | Numero | Código da espécie/cultura | Não |
| nReiCoddpp | Numero | Código da praga/problema | Não |
| nReiCoddia | Numero | Código do Diagnóstico | Não |
| aReiCmpdia | Alfa | Complemento do diagnóstico | Não |
| nReiCodapt | Numero | Código tipo de aplicação | Não |
| nReiCodemb | Numero | Código da embalagem | Não |
| nReiQtddos | Numero | Quantidade da dose | Não |
| nReiUnimed | Numero | Código da unidade de medida | Não |
| nReiVlrcal | Numero | Calda | Não |
| nReiQtdrei | Numero | Quantidade do item na receita | Não |
| nReiNumapl | Numero | Número de aplicações | Não |
| nReiVlrare | Numero | Área | Não |
| aReiIdepar | Alfa | Código de identificação do parceiro | Não |
| aRemRetVld | Alfa | Retorno da validação (Valor default "OK") | Sim |
| aRemEvento | Alfa | Descrição do Evento ('Emitir', 'Cancelar') | Não |
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.
English
Español
English
Español


