× Linguagem de Programação ADVPL

Perguntas MSExecAuto Pedido de Venda

Mais
10 anos 4 semanas atrás #25862 por will
Boa Tarde Gente, solicito uma ajuda, estou criando um msexecauto no pedido de venda que me gera um erro.

Segue o Código:

Static Function GeraPedRefatur()

Local _aCabPv := {}
Local _aItemPv := {}
Local _cCliente := ZB1->ZB1_CLIENTE
Local _cLoja := ZB1->ZB1_LOJA
Local _dDia := ZB1->ZB1_EMISSA
Local nItem := 0
Local nSaldo := 0

&& Cabecalho Pedido de Vendas
_aCabPV:={ {"C5_FILIAL" ,XFILIAL("ZB1") ,Nil},;
{"C5_TIPO" ,"N" ,Nil},; // Tipo de pedido
{"C5_CLIENTE",_cCliente ,Nil},; // Codigo do cliente
{"C5_LOJACLI",_cLoja ,Nil},; // Loja do cliente
{"C5_EMISSAO",dDatabase ,Nil},; // 'Data de emissao
{"C5_DTENTR" ,_dDia ,Nil},; // 'Data de entrega
{"C5_PBRUTO" ,0 ,Nil},; //
{"C5_PESOL" ,0 ,Nil}} //

DbSelectArea("ZB2")
dbSetOrder(1)


While ZB2->(!EOF())

If ZB1->ZB1_CODREF == ZB2->ZB2_CODREF .AND. ZB1->ZB1_SEQ = ZB2->ZB2_SEQ

RegToMemory("SC6")
&& Itens Pedido de Vendas
nItem := nItem + 1
nSaldo := Val(StrTran(cvaltochar(ZB2->ZB2_SALDO),",","."))
AAdd(_aItemPV,{ {"C6_FILIAL" ,XFILIAL("ZB2") ,Nil},;
{"C6_ITEM" ,StrZero(nItem,2) ,Nil},; // Numero do Item no Pedido
{"C6_PRODUTO" ,ZB2->ZB2_PRODUTO ,Nil},; // Codigo do Produto
{"C6_DESCRI" ,ZB2->ZB2_DESCRI ,Nil},; // Codigo do Produto
{"C6_QTDVEN" ,nSaldo ,Nil},; // Quantidade Vendida
{"C6_PRUNIT" ,ZB2->ZB2_NVUNIT ,NIL},; // PRECO DE LISTA
{"C6_PRCVEN" ,ZB2->ZB2_NVUNIT ,Nil},; // Preco Unitario Liquido
{"C6_VALOR" ,Round(nSaldo*ZB2->ZB2_NVUNIT,2) ,Nil},; // Valor Total do Item
{"C6_ENTREG" ,dDataBase ,Nil},; // Data da Entrega
{"C6_TES" ,ZB2->ZB2_TES ,Nil},; // Tipo de Entrada/Saida do Item
{"C6_IDENTB6" ,"" ,Nil},; // Percentual de Desconto
{"C6_NFORI" ,"" ,Nil},; // Percentual de Desconto
{"C6_SERIORI" ,"" ,Nil},; // Comissao Vendedor
{"C6_ITEMORI" ,"",Nil}}) // Quantidade Liberada

ZB2->(dbSkip())
LOOP

ELSE

ZB2->(dbSkip())

Endif
ENDDO

ZB2->( DBCLOSEAREA() )

lMsHelpAuto := .F.
lMsErroAuto := .F.
Begin transaction
MSExecAuto({|x,y| Mata410(x,y)},_aCabPv,_aItemPV,3)

If !lMsErroAuto
//GravaLog(1,_cCliente,_cLoja,_dDia,StrZero(_nConta,2))
MsgAlert("Incluido pedido cliente : "+_cCliente)
Alert(SC5->C5_NUM)
Else
DisarmTransaction()
//GravaLog(2,_cCliente,_cLoja,_dDia,StrZero(_nConta,2))
mostraerro()
EndIf
End transaction

//fGeralog()
msgInfo("Processamento concluido com sucesso!")

Return (.T.)

SEgue o ERRO apresentado em tela

Tabela SC5 27/10/2014 16:15:36
Filial - C5_FILIAL := 02
Tipo Pedido - C5_TIPO := N
Cliente - C5_CLIENTE := 000581
Loja - C5_LOJACLI := 01
DT Emissao - C5_EMISSAO := 27/10/2014
Data Entrega - C5_DTENTR := 23/10/2014
Peso Bruto - C5_PBRUTO := 0
Peso Liquido - C5_PESOL := 0
Tabela SC6 27/10/2014 16:15:36
Erro no Item 1
Filial - C6_FILIAL := 02
Item - C6_ITEM := 01
Produto - C6_PRODUTO := 100118
Descricao - C6_DESCRI := FILE DE PEITO TEMP. PCT 18 KG
Quantidade - C6_QTDVEN := 10 < -- Invalido
Prc Lista - C6_PRUNIT := 4.35
Prc Unitario - C6_PRCVEN := 4.35
Vlr.Total - C6_VALOR := 43.5
Entrega - C6_ENTREG := 27/10/2014
Tipo Saida - C6_TES := 501
Ident.Poder3 - C6_IDENTB6 :=
N.F.Original - C6_NFORI :=
Serie Orig. - C6_SERIORI :=
Item NF.Orig - C6_ITEMORI :=

Fala que está com erro no campo quantidade.

Alguém pode me ajudar

Por favor Acessar ou Registrar para participar da conversa.

Mais
10 anos 4 semanas atrás #25863 por admin
Respondido por admin no tópico MSExecAuto Pedido de Venda
Remova a campo total no array de itens

Por favor Acessar ou Registrar para participar da conversa.

Mais
10 anos 1 semana atrás #26144 por will
Respondido por will no tópico MSExecAuto Pedido de Venda
Obrigado foi solucionado na empresa temos um fator de conversão no SB1, tem que mutiplicar a quantidade por esse valor, assim realizado erro foi solucionado

Por favor Acessar ou Registrar para participar da conversa.

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