× Linguagem de Programação ADVPL

Perguntas Numero Requisicao Armazem alimentar pedido venda

Mais
11 anos 10 meses atrás #9797 por michelp
Preciso que o campo C5_ZZRA ao ser preenchido no pedido de venda com o numero da requisição ao Armazem alimente no pedido de venda C6 os: produtos, itens, descrição, mais não estou conseguindo fazer esse programa funcionar.

Alguém teria um exemplo para me dar ou me falar com seria isso em ADVPL

Att. Michel

Por favor Acessar ou Registrar para participar da conversa.

Mais
11 anos 10 meses atrás - 11 anos 10 meses atrás #9798 por lalberto
Na Validação do Campo C5_ZZRA coloque

Iif(!Empty(M->C5_ZZRA),U_Fata01(),.t.)

User Function Fata01()
Local nInd := 0
Local cOrdFab := ""
Local aArea := GetArea()

Local nPosItem := Ascan( aHeader, { |x| Alltrim(x[2]) == "C6_ITEM" } )
Local nPosProd := Ascan( aHeader, { |x| Alltrim(x[2]) == "C6_PRODUTO" } )
Local nPosDesc := Ascan( aHeader, { |x| Alltrim(x[2]) == "C6_DESCRI" } )
Local nPosUM := Ascan( aHeader, { |x| Alltrim(x[2]) == "C6_UM" } )
Local nPosQtde := Ascan( aHeader, { |x| Alltrim(x[2]) == "C6_QTDVEN" } )
Local nPosPrUn := Ascan( aHeader, { |x| Alltrim(x[2]) == "C6_PRCVEN" } )
Local nPosSeUM := Ascan( aHeader, { |x| Alltrim(x[2]) == "C6_SEGUM" } )
Local nPosValo := Ascan( aHeader, { |x| Alltrim(x[2]) == "C6_VALOR" } )
Local nPosTES := Ascan( aHeader, { |x| Alltrim(x[2]) == "C6_TES" } )
Local nPosCFis := Ascan( aHeader, { |x| Alltrim(x[2]) == "C6_CLASFIS" } )
Local nPosCFOP := Ascan( aHeader, { |x| Alltrim(x[2]) == "C6_CF" } )
Local nPosLoca := Ascan( aHeader, { |x| Alltrim(x[2]) == "C6_LOCAL" } )
Local nPosEntr := Ascan( aHeader, { |x| Alltrim(x[2]) == "C6_ENTREG" } )
Local nPosAlWT := Ascan( aHeader, { |x| Alltrim(x[2]) == "C6_ALI_WT" } )
Local nPosReWT := Ascan( aHeader, { |x| Alltrim(x[2]) == "C6_REC_WT" } )
Local nPosIdB6 := Ascan( aHeader, { |x| Alltrim(x[2]) == "C6_IDENTB6" } )
Local nPosPUni := Ascan( aHeader, { |x| Alltrim(x[2]) == "C6_PRUNIT" } )

If SCP->(dbSetOrder(1), dbSeek(xFilial("SCP")+M->C5_ZZRA))
While SCP->(!Eof()) .And. SCP->CP_FILIAL == xFilial("SCP") .And. SCP->CP_NUM == M->C5_ZZRA

//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
//³Montagem do aCols ³
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
AADD(aCols,Array(Len(aHeader)+1))
nInd := Len(aCols)
For nCntFor := 1 To Len(aHeader)
If !aHeader[nCntFor,2] $ "C6_ALI_WT/C6_REC_WT"
aCols[nInd][nCntFor] := CriaVar(aHeader[nCntFor][2])
If ( AllTrim(aHeader[nCntFor][2]) == "C6_ITEM" )
aCols[nInd][nCntFor] := StrZero(nInd,2)
EndIf
EndIf
Next nCntFor


aCOLS[nInd][Len(aHeader)+1] := .F.

nInd := Len(aCols)

SB1->(dbSetOrder(1), dbSeek(xFilial("SB1")+SD1->D1_COD))
SF4->(dbSetOrder(1), dbSeek(xFilial("SF4")+SB1->B1_TS))

aCols[nInd,nPosProd] := SCP->CP_PRODUTO
aCols[nInd,nPosDesc] := SB1->B1_DESC
aCols[nInd,nPosCCli] := SB1->B1_CODCLI

aCols[nInd,nPosUM] := SB1->B1_UM
aCols[nInd,nPosQtde] := SCP->CP_QUANT
aCols[nInd,nPosPrUn] := 0.00
aCols[nInd,nPosValo] := 0.00
aCols[nInd,nPosTES] := SB1->B1_TS
aCols[nInd,nPosLoca] := SCP->CP_LOCAL
aCols[nInd,nPosCFOP] := Iif(SA1->A1_EST=="SP","5","6") + Substr(SF4->F4_CF,2,4)
aCols[nInd,nPosEntr] := dDataBase + 1
aCols[nInd,nPosCFis] := Subs(SB1->B1_ORIGEM,1,1)+SF4->F4_SITTRIB
If nPosAlWT <> 0
aCols[nInd,nPosAlWT] := ""
EndIf
If nPosReWT <> 0
aCols[nInd,nPosReWT] := 0
EndIf

SCP->(dbSkip(1))
Enddo
n := 1
Else
MsgAlert(OemToAnsi("Atenção Solicitação ao Armazen Não Localizada!"))
RestArea(aArea)
Return .f.
Endif

lRefreshAll := .T.

Return(.T.)

Luiz Alberto Vieira Alves
Proprietário
55 (12) 9 8256-5905 (Vivo)
www.3lsystems.com.br
www.masteradvpl.com.br
Ultima edição: 11 anos 10 meses atrás por lalberto.

Por favor Acessar ou Registrar para participar da conversa.

Mais
11 anos 10 meses atrás #9799 por michelp
Muito obrigado,

Vou testar e posto aqui....valeu

Att. Michel :cheer:

Por favor Acessar ou Registrar para participar da conversa.

Mais
11 anos 10 meses atrás #9807 por lalberto
Blz Precisando estou por aqui.

Abraços.

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.

Mais
11 anos 9 meses atrás #10121 por michelp
Luiz,

Tentei aplicar mais deu o erro abaixo

THREAD ERROR (administrador, SERVER2) 27/01/2013 21:00:43
variable does not exist NPOSCCLI on U_FATA01(FATA01.PRW) 27/01/2013 20:22:46 line : 51

Se puder me dar um help :unsure:

Att. Michel

Por favor Acessar ou Registrar para participar da conversa.

Mais
11 anos 9 meses atrás #10128 por lalberto
Elimina esta linha:

aCols[nInd,nPosCCli] := SB1->B1_CODCLI

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.134 segundos
Joomla templates by a4joomla