- Fórum
- Protheus/Microsiga/Totvs
- AdvPL (Advanced Protheus Language)
- Dúvidas Gerais
- PONTO DE ENTRADA MT100LOK
×
Linguagem de Programação ADVPL
Perguntas PONTO DE ENTRADA MT100LOK
- manoelcarlosjunior
- Autor do Tópico
- Desconectado
- Membro Especialista
Menos
Mais
- Postagens: 116
- Obrigados Recebidos: 0
10 anos 2 meses atrás #25026
por manoelcarlosjunior
PONTO DE ENTRADA MT100LOK foi criado por manoelcarlosjunior
Bom dia galera to com um problema no ponto de entrada MT100LOK. Esse pondo de entrada é referente ao documento de entrada eu quero pegar os dados de dois campos da SC7(PEDIDO DE COMPRA) par colocar em dois campos criados na SD1. Esse ponto ja foi usado por analistas da totvs quando coloco minha condição no fonte e debugo ele preenche as variaveis normal mais no return ele apaga devido a condição lRet. Bom abaixo o codigo se puderem me ajudar ...
Abraço
User Function MT100LOK()
Local lRet := ParamIxb[1]
LOCAL nQuant:= AScan(aHeader, { |x| Alltrim(x[2]) == 'D1_QUANT'})
local cLote:= AScan(aHeader, { |x| Alltrim(x[2]) == 'D1_LOTECTL'})
Local nDtValid := AScan(aHeader, {|x| alltrim(x[2]) == 'D1_DTVALID'})
//
Minhas Variaveis 09/09/2014
Local cNConh := AScan(aHeader, { |x| Alltrim(x[2]) == 'D1_CONHEC'})
Local cXObs := AScan(aHeader, { |x| Alltrim(x[2]) == 'D1_XOBS1'})
//
MINHA CONDIÇÃO
if empty(aCols[n][cNConh]).AND.empty(aCols[n][cXObs])
lRet:= .F.
cNConh := SC7->C7_XNUMCON
cXObs := SC7->C7_XOBS1
endif
//
IF SF4->F4_ESTOQUE == 'S' .AND. SB1->B1_RASTRO == 'L' .and. aCols[n][nQuant] > 0 .AND. Empty(aCols[n][cLote])
lRet:= .F.
ALERT("Produto controla Lote, preencher")
ENDIF
if (lRet)
IF SF4->F4_ESTOQUE == 'S' .AND. aCols[n][nQuant] > 0 .AND. !Empty(aCols[n][cLote]) .AND. EMPTY(aCols[n][nDtValid])
lRet := .f.
Alert("Data de validade do lote em branco, preencher")
ENDIF
endif
If lRet
lRet := U_ACOM002()
Endif
Return(lRet)
Abraço
User Function MT100LOK()
Local lRet := ParamIxb[1]
LOCAL nQuant:= AScan(aHeader, { |x| Alltrim(x[2]) == 'D1_QUANT'})
local cLote:= AScan(aHeader, { |x| Alltrim(x[2]) == 'D1_LOTECTL'})
Local nDtValid := AScan(aHeader, {|x| alltrim(x[2]) == 'D1_DTVALID'})
//
Minhas Variaveis 09/09/2014
Local cNConh := AScan(aHeader, { |x| Alltrim(x[2]) == 'D1_CONHEC'})
Local cXObs := AScan(aHeader, { |x| Alltrim(x[2]) == 'D1_XOBS1'})
//
MINHA CONDIÇÃO
if empty(aCols[n][cNConh]).AND.empty(aCols[n][cXObs])
lRet:= .F.
cNConh := SC7->C7_XNUMCON
cXObs := SC7->C7_XOBS1
endif
//
IF SF4->F4_ESTOQUE == 'S' .AND. SB1->B1_RASTRO == 'L' .and. aCols[n][nQuant] > 0 .AND. Empty(aCols[n][cLote])
lRet:= .F.
ALERT("Produto controla Lote, preencher")
ENDIF
if (lRet)
IF SF4->F4_ESTOQUE == 'S' .AND. aCols[n][nQuant] > 0 .AND. !Empty(aCols[n][cLote]) .AND. EMPTY(aCols[n][nDtValid])
lRet := .f.
Alert("Data de validade do lote em branco, preencher")
ENDIF
endif
If lRet
lRet := U_ACOM002()
Endif
Return(lRet)
Por favor Acessar ou Registrar para participar da conversa.
- manoelcarlosjunior
- Autor do Tópico
- Desconectado
- Membro Especialista
Menos
Mais
- Postagens: 116
- Obrigados Recebidos: 0
10 anos 2 meses atrás #25040
por manoelcarlosjunior
Respondido por manoelcarlosjunior no tópico PONTO DE ENTRADA MT100LOK
Consegui Galera !!!
O erro tava no meu if
Tinha que ficar assim.:
if empty(aCols[n][cNConh]).AND.empty(aCols[n][cXObs])
aCols[n][cNConh] := SC7->C7_XNUMCON
aCols[n][cXObs] := SC7->C7_XOBS1
endif
Abraço a todos !!
O erro tava no meu if
Tinha que ficar assim.:
if empty(aCols[n][cNConh]).AND.empty(aCols[n][cXObs])
aCols[n][cNConh] := SC7->C7_XNUMCON
aCols[n][cXObs] := SC7->C7_XOBS1
endif
Abraço a todos !!
Por favor Acessar ou Registrar para participar da conversa.
- Fórum
- Protheus/Microsiga/Totvs
- AdvPL (Advanced Protheus Language)
- Dúvidas Gerais
- PONTO DE ENTRADA MT100LOK
Tempo para a criação da página:0.075 segundos