Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.
Composition Setup
import.css=/download/attachments/327912/newLayout.css
Portuguese

Pagetitle
Función: MATA116 - Programa de digitação digitación de Nota Fiscal factura de conhecimento conocimiento de Freteflete
Función: MATA116 - Programa de digitação digitación de Nota Fiscal factura de conhecimento conocimiento de Freteflete

FunçãoFunción: MATA116 - Programa de digitação digitación de Nota Fiscal factura de conhecimento conocimiento de Freteflete


Table Filter
id1536020054489_-1859990472
AbrangênciasVersõesCompatível Países OperacionaisCompatível às Bases de DadosNível AcessoNível Acesso Português

Alcances:

Microsiga Protheus 11 , Protheus 10

Versiones:

Protheus 10

Compatible países:

Todos

Sistemas

operativos:

Todos

Compatible a las bases de datos:

Todos

Nivel de

acceso:

Nivel 1 (

Acceso Clientes)

Idiomas:

Portugués (Brasil)


Descrição

Descripción:

Esta

rotina facilita a digitação dos conhecimentos de frete

rutina facilita la digitación de los conocimientos de flete.

Programa

Fonte

fuente:

MATA116.PRW

Sintaxe

Sintaxis:

MATA116 - Programa de

digitação

digitación de

Nota Fiscal

factura de

conhecimento

conocimiento de

Frete

flete ( [ PARAMIXB1 ] [ PARAMIXB2 ] ) --> nil

Retorno

Devolución:

nil

(nulo)

Observações

Observaciones

Las condiciones más frecuentes son

As condições mais frequentes são

para FOB -

o transporte do fornecedor até o cliente não está incluso no preço ou

el transporte del proveedor hasta el cliente no está incluido en el precio o CIF -,

apenas

solo está

incluso o valor da

incluido el valor de la entrega.

A nota

La factura de

conhecimento de frete é emitida quando o transporte é feito por uma transportadora do tipo FOB. São efetuadas diversas entregas
 e ao final de um período definido pela empresa, é emitida uma nota fiscal para que sejam pagos os serviços da transportadora.
Assim, para que a geração da nota fiscal seja possível, é necessário que a transportadora seja cadastrada como um fornecedor para que um título a pagar seja gerado, caso a empresa possua o Financeiro Integrado.

IMPORTANTE:  O exemplo abaixo deve ser adaptado conforme a necessidade do cliente, com informações válidas como: Fornecedor, TES, Produto, Condição de Pagamento, Valor da NF de Conhecimento de Frete e as Notas Fiscais que participam do rateio de frete.

Exemplo1

conocimiento de flete se emite cuando el transporte lo realiza una transportadora y es del tipo FOB. Se efectúan diversas entregas y, al final de un período definido por la empresa, se emite una factura para que se paguen los servicios de la transportadora.
De esta manera, para poder generar la factura, es necesario que la transportadora esté registrada como un proveedor, para que se genere un título por pagar, si la empresa tiene el módulo financiero integrado.

IMPORTANTE:  El siguiente ejemplo se debe adaptar según la necesidad del cliente, con informaciones válidas como: Proveedor, TES, Producto, Condición de pago, Valor de la Factura de conocimiento de flete y las Facturas que participan del prorrateo de flete.

Ejemplo:


Bloco de código
linenumberstrue
// *InclusãoInclusión de Conhecimentoconocimiento considerando Tipo NFFactura Normal**

#INCLUDE "RWMAKE.CH"
#INCLUDE "TBICONN.CH" 
#INCLUDE "Protheus.ch"

User Function rmata116()
Local cCodFor := "COM003"
Local cLojFor := "01"
Local cNumDoc := "COM116001"
Local cSerie := "1"
Local aCabec := {}
Local aItens := {}
Local aLinha := {}
Local aRatcc := {}
Local aRateio := {}
Local aCCItem := {}
Local nX := 0
Local nY := 0
Local nTamFilial := 0
Local lOk := .T.
Local cFilSF1 := ""
Private lMsErroAuto := .F.
Private lMsHelpAuto := .T.


//------------------------//| AberturaApertura dodel ambienteentorno |//------------------------ 
//PREPARE ENVIRONMENT EMPRESA "99" FILIAL "01" MODULO "COM" TABLES "SB1","SD1","SF1"

//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
//| VerificaçãoVerificación dodel ambienteentorno para testeprueba |
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ

//-- Verifica informaçõesinformaciones dedel produtoproducto
dbSelectArea("SB1")
dbSetOrder(1)
If !SB1->(MsSeek(xFilial("SB1")+"001")) 
lOk := .F. 
ConOut("CadastrarRegistrar produtoproducto: 001")
EndIf
//-- Verifica informaçõesinformaciones dadel TES
dbSelectArea("SF4")
dbSetOrder(1)
If !SF4->(MsSeek(xFilial("SF4")+"001")) 
lOk := .F. 
ConOut("CadastrarRegistrar TES: 001")
EndIf
//-- Verifica informaciones informaçõesde dala condiçãocondición de pagamentopago
dbSelectArea("SE4")
dbSetOrder(1)
If !SE4->(MsSeek(xFilial("SE4")+"001")) 
lOk := .F. 
ConOut("CadastrarRegistrar condiçãocondición de pagamentopago: 001")
EndIf
//-- Verifica fornecedorproveedor
dbSelectArea("SA2")
dbSetOrder(1)
If !SA2->(MsSeek(xFilial("SA2")+"001")) 
lOk := .F. 
ConOut("CadastrarRegistrar fornecedorproveedor: 001")
EndIf
If lOk


//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ 
//| CarregaCarga atehasta 3 documentos de origemorigen - FornecedorProveedor 000001                                                   | 
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ 

dbSelectArea("SF1") 
dbSetOrder(1) 
MsSeek(xFilial("SF1")) 
While !EOF() 
IF (Alltrim(SF1->F1_FORNECE+SF1->F1_LOJA) =="COM00301") 
if nX<3 
cFilSF1 := xFilial("SF1")
nTamFilial := Len(cFilSF1) 
aadd(aItens,{{"PRIMARYKEY",AllTrim(SubStr(&(IndexKey()),nTamFilial + 1))}}) //TratamentoTratamiento para Gestión Gestaode Empresas
else 
exit 
Endif 
nX++ 
EndIf 
dbskip() 
EndDo 

IF nX >0

//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ 
//| TestePrueba de Inclusão inclusión                                                                                                                      | 
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ 
aadd(aCabec,{"",Ctod("01/01/2015")}) //Data Inicial 
aadd(aCabec,{"",Ctod("01/12/2015")}) //Data Final 
aadd(aCabec,{"",2}) //2-InclusaoInclusión;1=ExclusaoEliminación 
aadd(aCabec,{"",cCodFor}) //FornecedorProveedor dodel documento de Origemorigen 
aadd(aCabec,{"",cLojFor}) //LojaTienda de origemorigen 
aadd(aCabec,{"",1}) //Tipo dade la notafactura de origemorigen: 1=Normal;2=Devol/Benef 
aadd(aCabec,{"",1}) //1=AglutinaAgrupa;2=NaoNo aglutinaagrupa 
aadd(aCabec,{"F1_EST",""}) 
aadd(aCabec,{"",1000}) //Valor dodel conhecimentoconocimiento 
aadd(aCabec,{"F1_FORMUL",2}) // Utiliza Formulario propriopropio ? 1-NaoNo,2-Sim 
aadd(aCabec,{"F1_DOC",cNumDoc}) //..Numero de dala NFfactura de Conhecimentoconocimiento de Freteflete 
aadd(aCabec,{"F1_SERIE",cSerie}) 
aadd(aCabec,{"F1_FORNECE",cCodFor}) 
aadd(aCabec,{"F1_LOJA",cLojFor}) 
aadd(aCabec,{"","001"}) //TES 
aadd(aCabec,{"F1_BASERET",0}) 
aadd(aCabec,{"F1_ICMRET",0}) 
aadd(aCabec,{"F1_COND","001"}) 
aadd(aCabec,{"F1_EMISSAO",dDataBase}) 
aadd(aCabec,{"F1_ESPECIE","NF"}) 


//-- RateioProrrateo de Centrocentro de Custoscostos
AAdd (aCCItem, {"DE_ITEM","01"})
AAdd (aCCItem, {"DE_PERC",45})
AAdd (aCCItem, {"DE_CC","COM002"})
AAdd (aRatCC, aCCItem)

aCCItem := {}
AAdd (aCCItem, {"DE_ITEM","02"})
AAdd (aCCItem, {"DE_PERC",55})
AAdd (aCCItem, {"DE_CC","COM003"})
AAdd (aRatCC, aCCItem)

AAdd (aRateio, {"0001",aRatCC})

MATA116(aCabec,aItens,,,aRateio) 

If lMsErroAuto 
MostraErro() 
Conout("Erro!") 
Else 
Conout("Ok!") 
Endif 
EndIf 

EndIf

RESET ENVIRONMENT

Return(.T.)

****************************************************************************

// InclusãoInclusión de Conhecimentoconocimiento considerando Tipo NFFact Devol/Benef 

#INCLUDE "RWMAKE.CH"
#INCLUDE "TBICONN.CH"
#INCLUDE "Protheus.ch"

User Function mt116Dev()
Local cCliFor	:= "COM002"
Local cLclifor	:= "01"
Local cNumDoc	:= "COM116002"
Local cSerie	:= "1"
Local cTransp	:= "COM003"
Local cLtransp	:= "01"
Local cOrigem	:= "COM000013"
Local cSerie	:= "1  "
Local cSerieId
Local cEspecie	:= "CTR"
Local cTipo		:= "C"
Local nX            := 0
Local nY            := 0
Local aItens        := {}
Local aLinha        := {}
Local aCabec        := {}
Local nTamFilial       := 0
Local lOk           := .T.
Local cFilSF1      := ""
Private lMsErroAuto := .F.
Private lMsHelpAuto := .T.
    
//------------------------//| Abertura do ambiente |//------------------------
//PREPARE ENVIRONMENT EMPRESA "99" FILIAL "01" MODULO "COM" TABLES "SB1","SD1","SF1"
  
//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
//| VerificaçãoVerificación dodel ambienteentorno para testeprueba                                         |
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
  
//-- Verifica informações de produto
dbSelectArea("SB1")
dbSetOrder(1) 
If !SB1->(MsSeek(xFilial("SB1")+"X123456")) 
    lOk := .F.   
    ConOut("CadastrarRegistrar produtoproducto: 001")
EndIf
//-- Verifica informacõesinformaciones dadel TES
dbSelectArea("SF4")
dbSetOrder(1)
If !SF4->(MsSeek(xFilial("SF4")+"001")) 
    lOk := .F.   
    ConOut("CadastrarRegistrar TES: 001")
EndIf
//-- Verifica informaçõesinformaciones de dala condiçãocondición de pagamentopago
dbSelectArea("SE4")
dbSetOrder(1)
If !SE4->(MsSeek(xFilial("SE4")+"001")) 
    lOk := .F.   
    ConOut("CadastrarRegistrar condiçãocondición de pagamentopago: 001")
EndIf
//-- Verifica fornecedorproveedor
dbSelectArea("SA2")
dbSetOrder(1)
If !SA2->(MsSeek(xFilial("SA2")+"000002")) 
    lOk := .F.   
    ConOut("CadastrarRegistrar fornecedorproveedor: 001")
EndIf
If lOk            
            
    //ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿   
    //| CarregaCarga atehasta 3 documentos de origemorigen - FornecedorProveedor 000001       |   
    //ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ   
     
    dbSelectArea("SF1")   
    dbSetOrder(1)   
    MsSeek(xFilial("SF1"))   
    While !EOF()       
        IF (Alltrim(SF1->F1_FORNECE+SF1->F1_LOJA) =="COM00201")         
            if nX<3             
                cFilSF1      := xFilial("SF1")
                nTamFilial  := Len(cFilSF1)            
                aadd(aItens,{{"PRIMARYKEY",AllTrim(SubStr(&(IndexKey()),nTamFilial + 1))}}) //TratamentoTratamiento para Gestión Gestaode Empresas
            else               
                exit           
            Endif            
            nX++       
        EndIf     
       dbskip()   
    EndDo      

       
    IF nX >0

        
        //ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿     
        //| TestePrueba de Inclusãoinclusión                                            |     
        //ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ    
        aadd(aCabec,{"",Ctod("01/01/2015")})       //DataFecha Inicial       
        aadd(aCabec,{"",Ctod("01/12/2015")})          //DataFecha Final       
        aadd(aCabec,{"",2})                  //2-InclusaoInclusión;1=ExclusaoEliminación       
        aadd(aCabec,{"",cCliFor})           //FornecedorProveedor dodel documento de OrigemOrigen         
        aadd(aCabec,{"",cLclifor})               //LojaTienda de origemorigen       
        aadd(aCabec,{"",2})                  //Tipo dade la notafactura de origemorigen: 1=Normal;2=Devol/Benef       
        aadd(aCabec,{"",1})                  //1=AglutinaAgrupa;2=NaoNo aglutinaagrupa       
        aadd(aCabec,{"F1_EST",""})       
        aadd(aCabec,{"",150})               //Valor dodel conhecimentoconocimiento       
        aadd(aCabec,{"F1_FORMUL",1})        // Utiliza Formulario propriopropio ? 1-NaoNo,2-Sim
        aadd(aCabec,{"F1_DOC",cNumDoc})    //..Numero de dala NFfactura de Conhecimentoconocimiento de Freteflete    
        aadd(aCabec,{"F1_SERIE",cSerie})       
        aadd(aCabec,{"F1_FORNECE",cTransp})       
        aadd(aCabec,{"F1_LOJA",cLtransp})       
        aadd(aCabec,{"","001"})              //TES       
        aadd(aCabec,{"F1_BASERET",0})       
        aadd(aCabec,{"F1_ICMRET",0})       
        aadd(aCabec,{"F1_COND","001"})       
        aadd(aCabec,{"F1_EMISSAO",dDataBase})       
        aadd(aCabec,{"F1_ESPECIE",cEspecie})  
        //aadd(aItens,{"PRIMARYKEY",cOrigem})


            MSExecAuto({|x,y| Mata116(x,y)},aCabec,aItens)
            
            If lMsErroAuto         
                MostraErro()           
                Conout("Erro!")     
            Else           
                Conout("Ok!")       
            Endif   
   EndIf   
     
EndIf

RESET ENVIRONMENT

Return(.T.)

ParâmetrosParámetros:


NomeDescriçãoDefaultObrigatórioReferênciaContendo os a geração da nota fiscal de conhecimento de FreteContendo as notas fiscais que entrarão no rateio da Nota Fiscal de Conhecimento de FreteContendo as informações para rateio custo

Nombre

Tipo

Descripción

Estándar

Obligatorio

Referencia

PARAMIXB1

Array of Record

Contiene los valores para

generar la factura de conocimiento de flete.




PARAMIXB2

Array of Record

Contiene las facturas que entrarán en el prorrateo de la factura de conocimiento de flete.




PARAMIXB3

Array of Record

Contiene las informaciones para prorrateo por centro de

costo




PARAMIXB4Array of RecordConteúdo de gravação das naturezas de rendimentos e dados de suspensão




Parâmetros Parámetros SX6:

Nome da VariávelConteúdo PadrãoDescrição se no conhecimento de frete, deve zerar a alíquota do item que tiver alíquota zerada na Nota Fiscal de origem. Caso a alíquota da NF de origem seja zerada, o sistema não calculará a alíquota no caso do parâmetro estar habilitado. Essa é a configuração padrão o a alíquota nessa situação, esse parâmetro deve ser desabilitado

Nombre de la variable

MV_AZFRETE

Contenido estándar

.T.

Descripción

Indica

si en el conocimiento de flete, se debe dejar en cero la alícuota del ítem que tenga alícuota en cero en la factura de origen. 

Comportamiento

Si la alícuota de la factura de origen se deja en cero, el sistema no calculará la alícuota si el parámetro está habilitado. Esta es la configuración estándar

Comportamento

Para que

el sistema calcule

la alícuota en esta situación, se debe inhabilitar este parámetro.