Histórico da Página
...
Bloco de código | ||||
---|---|---|---|---|
| ||||
#INCLUDE "PROTHEUS.CH"
#INCLUDE "TBICONN.CH"
User Function MyPVLNFS()
Local aPvlDocS := {}
Local nPrcVen := 0
Local cC5Num := "pcpAO9"
Local cSerie := "001"
Local cEmbExp := ""
Local cDoc := ""
PREPARE ENVIRONMENT EMPRESA "T1" FILIAL "D MG 01 " MODULO "FAT" TABLES "SF2","SD2","SA1","SA2","SB1","SB2","SF4","SED","SE1"
SC5->(DbSetOrder(1))
SC5->(MsSeek(xFilial("SC5")+cC5Num))
SC6->(dbSetOrder(1))
SC6->(MsSeek(xFilial("SC6")+SC5->C5_NUM))
//É necessário o carregamento do grupo de perguntas MT460A, pois a MaPvlNfs() é uma função e não uma rotina automática padrão (execauto).
Pergunte("MT460A",.F.)
// Obter os dados de cada item do pedido de vendas liberado para gerar o Documento de Saída
While SC6->(!Eof() .And. C6_FILIAL == xFilial("SC6")) .And. SC6->C6_NUM == SC5->C5_NUM
SC9->(DbSetOrder(1))
SC9->(MsSeek(xFilial("SC9")+SC6->(C6_NUM+C6_ITEM))) //FILIAL+NUMERO+ITEM
SE4->(DbSetOrder(1))
SE4->(MsSeek(xFilial("SE4")+SC5->C5_CONDPAG) ) //FILIAL+CONDICAO PAGTO
SB1->(DbSetOrder(1))
SB1->(MsSeek(xFilial("SB1")+SC6->C6_PRODUTO)) //FILIAL+PRODUTO
SB2->(DbSetOrder(1))
SB2->(MsSeek(xFilial("SB2")+SC6->(C6_PRODUTO+C6_LOCAL))) //FILIAL+PRODUTO+LOCAL
SF4->(DbSetOrder(1))
SF4->(MsSeek(xFilial("SF4")+SC6->C6_TES)) //FILIAL+TES
nPrcVen := SC9->C9_PRCVEN
If ( SC5->C5_MOEDA <> 1 )
nPrcVen := xMoeda(nPrcVen,SC5->C5_MOEDA,1,dDataBase)
EndIf
AAdd(aPvlDocS,{ SC9->C9_PEDIDO,;
SC9->C9_ITEM,;
SC9->C9_SEQUEN,;
SC9->C9_QTDLIB,;
nPrcVen,;
SC9->C9_PRODUTO,;
.F.,;
SC9->(RecNo()),;
SC5->(RecNo()),;
SC6->(RecNo()),;
SE4->(RecNo()),;
SB1->(RecNo()),;
SB2->(RecNo()),;
SF4->(RecNo())})
SC6->(DbSkip())
EndDo
cDoc := MaPvlNfs( /*aPvlNfs*/ aPvlDocS,; // 01 - Array com os itens a serem gerados
/*cSerieNFS*/ cSerie,; // 02 - Serie da Nota Fiscal
/*lMostraCtb*/ .F.,; // 03 - Mostra Lançamento Contábil
/*lAglutCtb*/ .F.,; // 04 - Aglutina Lançamento Contábil
/*lCtbOnLine*/ .F.,; // 05 - Contabiliza On-Line
/*lCtbCusto*/ .T.,; // 06 - Contabiliza Custo On-Line
/*lReajuste*/ .F.,; // 07 - Reajuste de preço na Nota Fiscal
/*nCalAcrs*/ 0,; // 08 - Tipo de Acréscimo Financeiro
/*nArredPrcLis*/ 0,; // 09 - Tipo de Arredondamento
/*lAtuSA7*/ .T.,; // 10 - Atualiza Amarração Cliente x Produto
/*lECF*/ .F.,; // 11 - Cupom Fiscal
/*cEmbExp*/ cEmbExp,; // 12 - Número do Embarque de Exportação
/*bAtuFin*/ {||},; // 13 - Bloco de Código para complemento de atualização dos títulos financeiros
/*bAtuPGerNF*/ {||},; // 14 - Bloco de Código para complemento de atualização dos dados após a geração da Nota Fiscal
/*bAtuPvl*/ {||},; // 15 - Bloco de Código de atualização do Pedido de Venda antes da geração da Nota Fiscal
/*bFatSE1*/ {|| .T. },; // 16 - Bloco de Código para indicar se o valor do Titulo a Receber será gravado no campo F2_VALFAT quando o parâmetro MV_TMSMFAT estiver com o valor igual a "2".
/*dDataMoe*/ dDatabase,; // 17 - Data da cotação para conversão dos valores da Moeda do Pedido de Venda para a Moeda Forte
/*lJunta*/ .F.) // 18 - Aglutina Pedido Iguais
If !Empty(cDoc)
Conout("Documento de Saída: " + cSerie + "-" + cDoc + ", gerado com sucesso!!!")
EndIf
RESET ENVIRONMENT
Return .T. |
07. DEMAIS INFORMAÇÕES
Não háPara a Geração do Título e Guia GNRE, a tela de perguntas da rotina de Geração de Documento de Saída (MATA460A) deverão estar preenchidas como "Sim" nas perguntas de Geração de Título e de Guia de ICMS Próprio, e o parâmetro MV_GNRENF deverá estar preenchido com o conteúdo .T. (Verdadeiro), quando for utilizado a função MaPvlNfs() para que a tela da GNRE/DIFAL não seja apresentada.
08. ASSUNTOS RELACIONADOS
...
Visão Geral
Import HTML Content
Conteúdo das Ferramentas
Tarefas