Pagetitle |
---|
| MATA116 - Programa de digitação de Nota Fiscal de conhecimento de Frete |
---|
| MATA116 - Programa de digitação de Nota Fiscal de conhecimento de Frete |
---|
|
Função: MATA116 - Programa de digitação de Nota Fiscal de conhecimento de Frete Abrangências: | Microsiga Protheus 11 , Protheus 10 | Versões: | Protheus 10 | Compatível Países: | Todos | Sistemas Operacionais: | Todos | Compatível às Bases de Dados: | Todos | Nível de Acesso: | Nível 1 (Acesso Clientes) | Idiomas: | Português (Brasil) |
Descrição:Esta rotina facilita a digitação dos conhecimentos de frete. Sintaxe:MATA116 - Programa de digitação de Nota Fiscal de conhecimento de Frete ( [ PARAMIXB1 ] [ PARAMIXB2 ] ) --> nil ObservaçõesAs condições mais frequentes são para “FOB” - o transporte do fornecedor até o cliente não está incluso no preço ou “CIF” -, apenas está incluso o valor da entrega. A nota 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) Exemplo: Bloco de código |
---|
theme | Midnight |
---|
language | delphi |
---|
linenumbers | true |
---|
| Exemplos | #INCLUDE "RWMAKE.CH"
#INCLUDE "TBICONN.CH"
// BIBLIOTECA
#include "Protheus.ch"
User Function | r_mata116rmata116()
Local aCabec := {}
Local aItens := {}
Local aLinha := {}
Local nX := | 0Local0Local0
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"
//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
//| Verificacao do ambiente para teste |
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
//-- Verifica informacoes de | produtodbSelectAreaproduto
dbSelectArea("SB1")
dbSetOrder(1)
If !SB1->(MsSeek(xFilial("SB1")+" | 1001"))
lOk := .F.
ConOut("Cadastrar produto: | 1001")
EndIf
//-- Verifica informacoes da | TESdbSelectAreaTES
dbSelectArea("SF4")
dbSetOrder(1)
If !SF4->(MsSeek(xFilial("SF4")+" | 100001"))
lOk := .F.
ConOut("Cadastrar TES: | 100001")
EndIf
//-- Verifica informacoes da condicao de | pagamentodbSelectAreapagamento
dbSelectArea("SE4")
dbSetOrder(1)
If !SE4->(MsSeek(xFilial("SE4")+" | 1001"))
lOk := .F.
ConOut("Cadastrar condicao de pagamento: | 1001")
EndIf
//-- Verifica | fornecedordbSelectAreafornecedor
dbSelectArea("SA2")
dbSetOrder(1)
If !SA2->(MsSeek(xFilial("SA2")+" | 1001"))
lOk := .F.
ConOut("Cadastrar fornecedor: | 1EndIfIf
EndIf
If lOk
//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
//| Carrega ate 3 documentos de origem - Fornecedor 000001 |
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
dbSelectArea("SF1")
dbSetOrder(1)
MsSeek(xFilial("SF1"))
While !EOF()
IF ((SF1->F1_FORNECE+SF1->F1_LOJA) ==" | 1 001 01")
if nX<3
cFilSF1 := xFilial("SF1")
nTamFilial := Len(cFilSF1)
aadd(aItens,{{"PRIMARYKEY",AllTrim(SubStr(&(IndexKey()), | 3nTamFilial + 1))}}) //Tratamento para Gestao Empresas
else | else exit
Endif
nX++
EndIf
dbskip()
EndDo
IF nX >0
//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
//| Teste de Inclusao |
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ |
aadd(aCabec,{"",dDataBase-90}) //Data Inicial
aadd(aCabec,{"",dDataBase}) //Data Final
aadd(aCabec,{"",2}) //2-Inclusao;1=Exclusao
aadd(aCabec,{""," | 1 001 "}) //Fornecedor do documento de Origem
aadd(aCabec,{"","01"}) //Loja de origem
aadd(aCabec,{"",1}) //Tipo da nota de origem: 1=Normal;2=Devol/Benef
aadd(aCabec,{"",2}) //1=Aglutina;2=Nao aglutina
aadd(aCabec,{"F1_EST",""})
aadd(aCabec,{"",1000}) //Valor do conhecimento
aadd(aCabec,{"F1_FORMUL",1})
aadd(aCabec,{"F1_DOC","000043"}) //..Numero da NF de Conhecimento de Frete
aadd(aCabec,{"F1_SERIE","CF "})
aadd(aCabec,{"F1_FORNECE"," | 1 001 "})
aadd(aCabec,{"F1_LOJA","01"})
aadd(aCabec,{""," | 100001"}) //TES
aadd(aCabec,{"F1_BASERET",0})
aadd(aCabec,{"F1_ICMRET",0})
aadd(aCabec,{"F1_COND"," | 1001"})
aadd(aCabec,{"F1_EMISSAO",dDataBase})
aadd(aCabec,{"F1_ESPECIE","NF"})
aadd(aCabec,{"E2_NATUREZ",""})
aadd(acabec,{"F1_DESPESA",10})
aadd(acabec,{"F1_DESCONTO",20})
If Len(aItens)>0
MATA116(aCabec,aItens)
EndIf
If lMsErroAuto
MostraErro()
Alert("Erro!")
Else
Alert("Ok!")
Endif
EndIf | EndIfReturn Parâmetros: | Nome | | | Tipo | | | Descrição | | | Default | | | Obrigatório | | | Referência | | | PARAMIXB1 | | | Array of Record | | | Contendo os valores para a geração da nota fiscal de conhecimento de Frete | | | | | | | | | | | | PARAMIXB2 | | | Array of Record | | | Contendo as notas fiscais que entrarão no rateio da Nota Fiscal de Conhecimento de Frete | | | | | | | | | | |
|