|
Bem Vindo, Visitante
|
Todos os Fórums
Faturamento
|
Imprimir
Enviar Para um Amigo Precisa estar Logado
|
|
|
Assunto: |
Colocar numero do pedido na DANFE |
|
Versão: |
12 |
|
Plataforma: |
Microsoft |
Complemento: |
|
|
DB: |
SQL Server |
Complemento: |
|
|
|
|
|
Mensagem do
JULIOSK
em 25/05/2018, 07:40 h
Local: SP Registro: 11/08/2016 Postagens: 10 |
Bom dia Pessoal
estou começando a mexer com ADVPL e me solicitaram para colocar o numero do pedido nas Obs. da nota na minha empresa
fiz o ponto de entrada PE01NFESEFAZ porem ele esta trazendo um numero de pedido errado
#Include ‘Protheus.ch‘
User Function PE01NFESEFAZ()
Local aProd := PARAMIXB[1]
Local cMensCli := PARAMIXB[2]
Local cMensFis := PARAMIXB[3]
Local aDest := PARAMIXB[4]
Local aNota := PARAMIXB[5]
Local aInfoItem := PARAMIXB[6]
Local aDupl := PARAMIXB[7]
Local aTransp := PARAMIXB[8]
Local aEntrega := PARAMIXB[9]
Local aRetirada := PARAMIXB[10]
Local aVeiculo := PARAMIXB[11]
Local aReboque := PARAMIXB[12]
Local aNfVincRur:= PARAMIXB[13]
Local aEspVol := PARAMIXB[14]
Local aNfVinc := PARAMIXB[15]
Local aDetPag := PARAMIXB[16]
Local aObsCotAux:= PARAMIXB[17]
Local aRetorno := {}
Local cMsg := ""
LOCAL lNfEntrada:=.F.
LOCAL lNfSaida:=.F.
/*/ Variaveis Customizadas --------------------------------
Local cSuframa := ""
Local cCliDif := SuperGetMV("MV_CLIDIF",Nil,"003509")
Local lCiaBras := .F.
Local nValCia := 0
Local cFormTes := ""
//--------------------------------------------------------------*/
aadd(aRetorno,aProd)
aadd(aRetorno,cMensCli)
aadd(aRetorno,cMensFis)
aadd(aRetorno,aDest)
aadd(aRetorno,aNota)
aadd(aRetorno,aInfoItem)
aadd(aRetorno,aDupl)
aadd(aRetorno,aTransp)
aadd(aRetorno,aEntrega)
aadd(aRetorno,aRetirada)
aadd(aRetorno,aVeiculo)
aadd(aRetorno,aReboque)
aadd(aRetorno,aNfVincRur)
aadd(aRetorno,aEspVol)
aadd(aRetorno,aNfVinc)
aadd(aRetorno,AdetPag)
aadd(aRetorno,aObsCotAux)
lNfEntrada := .f.// (aRetorno[aNOTA,4]=="0")
lNfSaida := .t. //(aRetorno[aNOTA,4]=="1")
//cMensCli :=(aRetorno[cMENSCLI])
// Tratamento para NOTA DE SAIDA
IF lNfSaida
// (Mensagem Suframa) **********************************************************************
/* Formula que ja esta no NFESEFAZ
cSuframa := SA1->A1_SUFRAMA
If cMVNFEMSA1$"CF" .And. !Empty(SA1->A1_MENSAGE)
cMensCli += SA1->(Formula(A1_MENSAGE)) + "|"
EndIf
aadd(aDest,AllTrim(SA1->A1_CGC))
aadd(aDest,SA1->A1_NOME)
aadd(aDest,MyGetEnd(SA1->A1_END,"SA1")[1])
If "/" $ MyGetEnd(SA1->A1_END,"SA1")[3]
aadd(aDest,IIF(MyGetEnd(SA1->A1_END,"SA1")[3]<>"",MyGetEnd(SA1->A1_END,"SA1")[3],"SN"))
Else
aadd(aDest,IIF(MyGetEnd(SA1->A1_END,"SA1")[2]<>0,MyGetEnd(SA1->A1_END,"SA1")[2],"SN"))
EndIf
aadd(aDest,IIF(SA1->(FieldPos("A1_COMPLEM")) > 0 .And. !Empty(SA1->A1_COMPLEM),SA1->A1_COMPLEM,MyGetEnd(SA1->A1_END,"SA1")[4]))
aadd(aDest,SA1->A1_BAIRRO)
If !Upper(SA1->A1_EST) == "EX"
aadd(aDest,SA1->A1_COD_MUN)
aadd(aDest,SA1->A1_MUN)
Else
aadd(aDest,"99999")
aadd(aDest,"EXTERIOR")
EndIf
*/
//************************************************************************************************
//Mensagem da NF Customizada
If !Empty(SC5->C5_MENPED) .And. !AllTrim(SC5->C5_MENPED) + "|" $ cMensCli
cMensCli += AllTrim(SC5->C5_MENPED) + "|"
EndIf
//Ordem de Compra
If !Empty(SC5->C5_PEDCLI) .And. !"Ordem de Compra : "+alltrim(SC5->C5_PEDCLI) + "|" $ cMensCli
cMensCli += "Ordem de Compra : "+alltrim(SC5->C5_PEDCLI) + "|"
EndIf
//Pedido Interno
If !"Nosso Pedido : "+alltrim(SC5->C5_NUM) + "|" $ cMensCli
cMensCli += "Nosso Pedido : "+alltrim(SC5->C5_NUM) + "|"
EndIf
endif
// Tratamento para NOTA DE ENTRADA
IF lNfEntrada
endif
// Atualiza Array de Retorno com as alterações realizadas
aRetorno[2]:=cMenscli
RETURN aRetorno
/* Retirado NFESEFAZ em 15/05/18
//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
//³ Mensagens da NF de Saida ³
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
//Mensagem da NF (Nao sair em Mens. Adiciona)
/*
If !AllTrim(SC5->C5_MENNOTA) $ cMensCli
If Len(cMensCli) > 0 .And. SubStr(cMensCli, Len(cMensCli), 1) <> " "
cMensCli += " "
EndIf
cMensCli += AllTrim(SC5->C5_MENNOTA)
EndIf
*/
// (Removido Mensagem Padrao)
/*
If !Empty(SC5->C5_MENPAD) .And. !AllTrim(FORMULA(SC5->C5_MENPAD)) $ cMensFis
If Len(cMensFis) > 0 .And. SubStr(cMensFis, Len(cMensFis), 1) <> " "
cMensFis += " "
EndIf
cMensFis += AllTrim(FORMULA(SC5->C5_MENPAD))
EndIf
*/
//Pedido
If !"Nosso Pedido : "+SC5->C5_NUM + "|" $ cMensCli
cMensCli += "Nosso Pedido : "+SC5->C5_NUM + "|"
EndIf
//Mensagem da formula do Pedido
If !Empty(SC5->C5_MENPAD) .And. !AllTrim(FORMULA(SC5->C5_MENPAD)) + "|" $ cMensCli
// cMensCli += AllTrim(FORMULA(SC5->C5_MENPAD)) + "|"
EndIf
//Mensagem da NF Customizada
If !Empty(SC5->C5_MENPED) .And. !AllTrim(SC5->C5_MENPED) + "|" $ cMensCli
cMensCli += AllTrim(SC5->C5_MENPED) + "|"
EndIf
//Mensagem Suframa do Cliente
If !Empty(cSuframa) .And. !"Suframa : "+AllTrim(cSuframa) + "|" $ cMensCli
cMensCli += "Suframa : "+AllTrim(cSuframa) + "|"
EndIf
//Ordem de Compra
If !Empty(SC5->C5_PEDCLI) .And. !"Ordem de Compra : "+SC5->C5_PEDCLI + "|" $ cMensCli
cMensCli += "Ordem de Compra : "+SC5->C5_PEDCLI + "|"
EndIf
// - Mensagem da Formula da TES
If !Empty(cFormTes) .And. !Alltrim(FORMULA(cFormTes)) + "|" $ cMensCli
cMensCli += Alltrim(FORMULA(cFormTes)) + "|"
EndIf
*/ |
|
|
Mensagem do
AGMC
em 25/05/2018, 10:13 h
Local: AC Registro: 04/07/2014 Postagens: 262 |
Bom dia JULIOSK, você pode orientar o faturista a preencher o campo C5_MENNOTA no pedido de venda, não precisa ponto de entrada. Você pode até mesmo criar gatilho para preencher o campo automaticamente com o numero do pedido.
Atenciosamente,
Alan Gustavo
Grupo Miragina
skype:alan_miragina |
|
|
Mensagem do
RUBEM_MN2
em 29/05/2018, 00:46 h
Local: SC Registro: 16/05/2017 Postagens: 26 |
Meu caro, tente posicionar no pedido e veja se resolve seu problema.
SC5->DbSeek(FwFilial("SC5")+SD2->D2_PEDIDO))
cPedint := SC5->C5_NUM
Ou SD2->D2_PEDIDO |
|
|
Mensagem do
LUCASBAIA
em 08/05/2021, 12:21 h
Local: ES Registro: 08/05/2021 Postagens: 7 |
Boa tarde JULIOSK,
segue o PE PE01NFESEFAZ para colocar o número do Pedido nos Dados Adicionais da DANFE.
#include ‘protheus.ch‘
#include ‘tbiconn.ch‘
#include ‘topconn.ch‘
#include ‘fileio.ch‘
#INCLUDE "rwmake.ch"
/*
ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ
±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
±±ÉÍÍÍÍÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍËÍÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍËÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍÍÍÍ»±±
±±ºPrograma ³ PE01NFESEFAZ() ºAutor ³ Lucas Baia º Data ³ 09/04/21 º±±
±±ÌÍÍÍÍÍÍÍÍÍÍØÍÍÍÍÍÍÍÍÍÍÊÍÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÊÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÍÍ͹±±
±±ºDesc. ³ Ponto de Entrada para Tratamento NFESEFAZ XML º±±
±±º ³ Acrescenta Largura, Comprimento e Rolo na Descrição do Item
da Nota Fiscal º±±
±±ÌÍÍÍÍÍÍÍÍÍÍØÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͹±±
±±ºUso ³ AP º±±
±±ÈÍÍÍÍÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ±±
±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß
*/
USER FUNCTION PE01NFESEFAZ()
Local aArea := GetArea()
Local aProd := PARAMIXB[1]
Local cMensCli := PARAMIXB[2]
Local cMensFis := PARAMIXB[3]
Local aDest := PARAMIXB[4]
Local aNota := PARAMIXB[5]
Local aInfoItem := PARAMIXB[6]
Local aDupl := PARAMIXB[7]
Local aTransp := PARAMIXB[8]
Local aEntrega := PARAMIXB[9]
Local aRetirada := PARAMIXB[10]
Local aVeiculo := PARAMIXB[11]
Local aReboque := PARAMIXB[12]
Local aNfVincRur:= PARAMIXB[13]
Local aEspVol := PARAMIXB[14]
Local aNfVinc := PARAMIXB[15]
Local AdetPag := PARAMIXB[16]
Local aObsCont := PARAMIXB[17]
Local aProcRef := PARAMIXB[18]
Local aRetorno := {}
fMensCli(aNota[04], @cMensCli) //aNota[04] = Tipo da Nota, cMensCli = "Local cMensCli := PARAMIXB[2]"
//O retorno deve ser exatamente nesta ordem e passando o conteúdo completo dos arrays
//pois no rdmake nfesefaz é atribuido o retorno completo para as respectivas variáveis
//Ordem:
// aRetorno[1] -> aProd
// aRetorno[2] -> cMensCli
// aRetorno[3] -> cMensFis
// aRetorno[4] -> aDest
// aRetorno[5] -> aNota
// aRetorno[6] -> aInfoItem
// aRetorno[7] -> aDupl
// aRetorno[8] -> aTransp
// aRetorno[9] -> aEntrega
// aRetorno[10] -> aRetirada
// aRetorno[11] -> aVeiculo
// aRetorno[12] -> aReboque
// aRetorno[13] -> aNfVincRur
// aRetorno[14] -> aEspVol
// aRetorno[15] -> aNfVinc
// aRetorno[16] -> AdetPag
// aRetorno[17] -> aObsCont
// aRetorno[18] -> aProcRef
aadd(aRetorno,aProd)
aadd(aRetorno,cMensCli)
aadd(aRetorno,cMensFis)
aadd(aRetorno,aDest)
aadd(aRetorno,aNota)
aadd(aRetorno,aInfoItem)
aadd(aRetorno,aDupl)
aadd(aRetorno,aTransp)
aadd(aRetorno,aEntrega)
aadd(aRetorno,aRetirada)
aadd(aRetorno,aVeiculo)
aadd(aRetorno,aReboque)
aadd(aRetorno,aNfVincRur)
aadd(aRetorno,aEspVol)
aadd(aRetorno,aNfVinc)
aadd(aRetorno,AdetPag)
aadd(aRetorno,aObsCont)
aadd(aRetorno,aProcRef)
RestArea(aArea)
RETURN aRetorno
//*****************************************************/
Static Function fMensCli(c_TpNota, cMensCli)
IF c_TpNota == "1" //Tipo de Nota é igual a 1, ou seja, NF de Saída
cMensCli += ‘PEDIDO: ‘+SD2->D2_PEDIDO //Receberá o Número do Pedido de Venda.
ENDIF
Return Nil
//*****************************************************/
Lucas Baia
Consultor Protheus
lucasrbaia@hotmail.com
27 99905-9727 |
|
Para postar no Fórum você precisa efetuar o seu login ou se registrar
|
|