× Linguagem de Programação ADVPL

Perguntas Amarração entre produtos

Mais
11 anos 5 meses atrás #14743 por FernandoAlfonso
Opaa..

Seguinte, estou com um probleminha..
Tenho esse programa para validar o faturamento de um produto, ou seja, só posso vender produto MA se incluir em primeiro o o produto MO

Porém, precisa fazer um complemento de ICMS..

Preciso criar uma linha de validação, se o pedido for diferente de complemento de ICMS continua com o programa, travando a confirmação do pedido... se for pedido de complemento de ICMS, ele permite incluir apenas o produto MA.

Segue programa

Local _lRet := .t.
Local _cProduto :=""
Local _nQtdVen :=0

If SM0->M0_CODFIL=="06" //.and. Date()>=ctod("01/04/13")

If n=1 .and. Left(M->C6_PRODUTO,2)="MA"

MsgBox ("Produto "+Trim(M->C6_PRODUTO)+" deve ser informado após produto MO"+Trim(Subs(M->C6_PRODUTO,3,13)),"VL_C6_PRODUTO","INFO")
_lRet:=.f.

ElseIf n>1

_cProduto:=aCols[n-1,aScan(aHeader,{|x|Alltrim(x[2])=="C6_PRODUTO"})]
_nQtdVen :=aCols[n-1,aScan(aHeader,{|x|Alltrim(x[2])=="C6_QTDVEN"})]

If Left(_cProduto,2)="MO" .and. M->C6_PRODUTO="MA"+Subs(_cProduto,3,13)
aCols[n,aScan(aHeader,{|x|Alltrim(x[2])=="C6_QTDVEN"})]:=_nQtdVen

elseIf Left(M->C6_PRODUTO,2)="MO" .and. Left(_cProduto,2)="MO"

MsgBox ("Produto "+Trim(M->C6_PRODUTO)+" deve ser informado antes de produto MA"+Trim(Subs(M->C6_PRODUTO,3,13)),"VL_C6_PRODUTO","INFO")
_lRet:=.f.

elseIf Left(M->C6_PRODUTO,2)="MA" .and. _cProduto<>"MO"+Subs(M->C6_PRODUTO,3,13)

MsgBox ("Produto "+Trim(M->C6_PRODUTO)+" deve ser informado após produto MO"+Trim(Subs(M->C6_PRODUTO,3,13)),"VL_C6_PRODUTO","INFO")
_lRet:=.f.

endif

Endif

endif

return(_lRet)

Por favor Acessar ou Registrar para participar da conversa.

Mais
11 anos 5 meses atrás #14768 por lalberto
Respondido por lalberto no tópico Amarração entre produtos
Cara pra verificar o tipo do pedido usa a variavel M->C5_TIPO

M->C5_TIPO = 'N' Normal
M->C5_TIPO = 'D' Devolucao
etc

Só FIquei meio confuso com o MA e MO rs.

Luiz Alberto Vieira Alves
Proprietário
55 (12) 9 8256-5905 (Vivo)
www.3lsystems.com.br
www.masteradvpl.com.br

Por favor Acessar ou Registrar para participar da conversa.

Tempo para a criação da página:0.149 segundos
Joomla templates by a4joomla