F149ECD - Agrupado e Entrega Via CD
Tela destinada ao faturamento das cargas de pedidos de entrega futura pelo CD de forma agrupada.
Processos
As cargas geradas serão gravadas com um código de barras. Este código será composto da seguinte maneira: código da empresa (4 posições) + código da filial (4 posições) + número da análise (12 posições) + número da pré-fatura (9 posições). Para gerar um código de barras diferenciado, o identificador de regras VEN-135CODBA01 deve estar ativo. Ele fará a reformulação do código de barras conforme a regra definida.
Para utilização da rotina de geração de logs de títulos do contas a receber em notas de saída são necessárias algumas configurações no sistema:
- Na tela F000PGS, marcar o parâmetro global LogNfsTit, como "S";
- Na tela F000PPD, definir os parâmetros dinâmicos LOG.NFS.TIT.CRE.140CNFEC01, LOG.NFS.TIT.CRE.140CNFEC02, LOG.NFS.TIT.CRE.140CNFEC03, LOG.NFS.TIT.CRE.EMISSAO e LOG.NFS.TIT.CRE.GERAR, configurados como "S";
- Na tela F098REG, ativar os identificadores VEN-140CNFEC01, VEN-140CNFEC02 e VEN-140CNFEC03 com uma regra vinculada (a regra pode estar em branco);
- Gravar a tabela de usuário no banco de dados para gravação dos logs. A tabela de usuário deve ser criada através do CBDS e deve estar exatamente compatível com os campos necessários para a utilização da rotina, conforme orientações abaixo:
Orientações
- O nome da tabela de usuário deve ser “USU_T140LOGTIT”;
- Para adicionar os campos da tabela, basta clicar com o botão direito em cima da pasta Colunas e selecionar Nova Coluna;
- Após informar os valores de cada coluna clique no botão Salvar;
- Após criar todos os campos, clique no botão com desenho de raio (Confirmar personalização no banco) para confirmar as alterações.
Campos necessários:
Nome do campo Máscara Tipo Tamanho USU_SEQUENCIAL Z[11]9 Number 12 USU_DATA DD/MM/YYYY Date 0 USU_HORA hh:mm:ss Time 0 USU_CODEMP ZZZ9 Number 4 USU_CODFIL ZZZZ9 Number 5 USU_CODSNF U[3] String 3 USU_NUMNFV ZZZ.ZZZ.ZZ9 Number 9 USU_USUARIO Z[9]9 Number 10 USU_ORIGEM A[10] String 10 USU_OPERACAO A[50] String 50 USU_ERRO A[5] String 5 USU_OK A[3] String 3 USU_NUMTIT U[15] String 15 USU_CODTPT U[3] String 3 USU_CODTNS A[5] String 5
Campos
Série NF
Código da série da nota fiscal.
Data Emissão
Data de emissão.
Data/Hora Saída
Data e hora de saída da nota fiscal.
Importante
Este campo pode ser modificado pelo identificador de regra VEN-140ALDIV01, caso habilitado.
Carga
Número da carga.
Pré-Fatura
Número da pré-fatura.
Seq.Veículo
Código da sequência do veículo.
Ordenar por
Indicativo de ordenação dos registros na grade.
Analisar Crédito
Indicativo de análise de crédito.
Gravar a cada pré-fatura
Indicativo de gravação a cada pré-fatura.
Transportadora/Placa e Transportadora/Motorista
Estes campos estarão disponíveis para o preenchimento da transportadora e sua
respectiva placa e da transportações e o seu respectivo motorista, se o
parâmetro "Gerar requisição via carga" (F070FVE) estiver marcado como "S".
Selecionar via código de barras
Com esta opção marcada, o campo Cód. Barras Livre ficará disponível em tela.
Esta opção é salva por usuário ao sair da tela.
Cód. Barras Livre
Este campo possui a finalidade de receber o código de barras das pré-faturas. Ao
sair dele, será realizada uma validação para carregar a carga que possui o
código de barras informado. Se a carga já estiver informada na grade da
tela, ele será selecionada, caso contrário, será efetuada uma busca na base de
dados e se houver uma carga com o código de barras informado, ela será
exibida e selecionada na grade.
Emitir automaticamente a(s) nota(s) gerada(s)
Permite parametrizar se a nota fiscal será emitida automaticamente. Quando este campo estiver selecionado, será exibida uma mensagem na abertura da tela de Emissão de Nota Fiscal de Saída Agrupada (F140ENL) questionando se deseja emitir as notas, e caso opte-se por “Sim”, todas as notas fiscais serão geradas. Esta opção é salva por usuário, portanto, a opção definida pelo usuário será exibida na tela novamente em um próximo acesso (marcado/desmarcado).
Grade Pré-Faturas
Grade para exibição dos registros que atendem aos filtros informados.
Faturamento Pedidos via Entrega pelo Centro de Distribuição
Caso seja necessário diferenciar as transações dos faturamentos de pedidos de entregas realizadas via Centro de Distribuição das demais transações já utilizadas no faturamento de cargas, pode-se utilizar o identificador de regras VEN-000TNSDE01.
Importante
As regras descritas abaixo tratam-se de exemplos de utilização. Pode ser necessário adequá-las à necessidade de cada cliente. Cabe ao responsável pela implantação tratar as adequações e prestar manutenção na referida regra.
Definir Numero VSCODEMP;
Definir Numero VSCODFIL;
Definir Numero VSFILPED;
Definir Numero VSNUMPED;
Definir Numero VSINDITE;
Definir Alfa VSCODTNS;
Definir Alfa VSFORENT;
Definir Alfa UFS_FILIAL_CD;
Definir Alfa UFS_CONSUMIDOR_FINAL;
Definir Alfa UFS_FILIAL_PEDIDO;
Definir Alfa VSPRCTNS;
Definir Alfa aDadosPedido;
@ VSPRCTNS = "PreFatura" -> Tela F135FCP, define transação NF Remessa @
@ VSPRCTNS = "NFSaida" -> Tela F149GNA, define transação NF Transferência p/ filial @
Se ((VSPRCTNS = "PreFatura") ou (VSPRCTNS = "NFSaida")) {
SQL_Criar(aDadosPedido);
SQL_DefinirComando(aDadosPedido, "SELECT FILMAT.SIGUFS UFS_FILIAL_CD,E085CLI.SIGUFS UFS_CONSUMIDOR_FINAL,FILPED.SIGUFS
UFS_FILIAL_PEDIDO,E120PED.FORENT \
FROM E120PED,E085CLI,E070FIL FILMAT,E070FIL FILPED \
WHERE E120PED.CODEMP = FILMAT.CODEMP \
AND E120PED.CODEMP = FILPED.CODEMP \
AND FILMAT.CODFIL = :CODFIL \
AND FILPED.CODFIL = E120PED.CODFIL \
AND E120PED.CODCLI = E085CLI.CODCLI \
AND E120PED.CODEMP = :CODEMP \
AND E120PED.CODFIL = :FILPED \
AND E120PED.NUMPED = :NUMPED");
SQL_DefinirInteiro(aDadosPedido,"CODEMP",VSCODEMP);
SQL_DefinirInteiro(aDadosPedido,"CODFIL",VSCODFIL);
SQL_DefinirInteiro(aDadosPedido,"FILPED",VSFILPED);
SQL_DefinirInteiro(aDadosPedido,"NUMPED",VSNUMPED);
SQL_AbrirCursor(aDadosPedido);
Se (SQL_EOF(aDadosPedido) = 0) {
SQL_RetornarAlfa(aDadosPedido, "FORENT", VSFORENT);
SQL_RetornarAlfa(aDadosPedido, "UFS_FILIAL_CD", UFS_FILIAL_CD);
SQL_RetornarAlfa(aDadosPedido, "UFS_CONSUMIDOR_FINAL", UFS_CONSUMIDOR_FINAL);
SQL_RetornarAlfa(aDadosPedido, "UFS_FILIAL_PEDIDO", UFS_FILIAL_PEDIDO);
}
SQL_Destruir(aDadosPedido);
Se (VSFORENT = "C") { @ Pedido de entrega futura pelo CD @
Se (VSPRCTNS = "PreFatura") {
Se (UFS_FILIAL_PEDIDO = UFS_CONSUMIDOR_FINAL) {
Se (VSINDITE = 1) { @ Transação para o item de produto @
VSCODTNS = "5117I"; @ CFOP p/ NF Remessa dentro do estado @
}
Senao {
VSCODTNS = "5117"; @ CFOP p/ NF Remessa dentro do estado @
}
}
Senao {
Se (VSINDITE = 1) { @ Transação para o item de produto @
VSCODTNS = "6117I"; @ CFOP p/ NF Remessa fora do estado @
}
Senao {
VSCODTNS = "6117"; @ CFOP p/ NF Remessa fora do estado @
}
}
}
Senao { @NFSaida (Transferência entre filiais) @
Se (UFS_FILIAL_CD = UFS_FILIAL_PEDIDO) {
Se (VSINDITE = 1) { @ Transação para o item de produto @
VSCODTNS = "5152I"; @ CFOP p/ NF Transferência simbólica dentro do estado @
}
Senao {
VSCODTNS = "5152"; @ CFOP p/ NF Transferência simbólica dentro do estado @
}
}
Senao {
Se (VSINDITE = 1) { @ Transação para o item de produto @
VSCODTNS = "6152I"; @ CFOP p/ NF Transferência simbólica fora do estado @
}
Senao {
VSCODTNS = "6152"; @ CFOP p/ NF Transferência simbólica fora do estado @
}
}
}
}
}
Caso seja necessário diferenciar transações de entregas realizadas via Centro de Distribuição das demais transações já utilizadas na formação de cargas, pode-se utilizar o Identificador de Regras CPR-440TNSDE01.
Definir Alfa VSTnsPro;
Definir Alfa VSSigUfs;
Definir Numero VSEmpNfv;
Definir Numero VSFilNfv;
Definir Alfa VSSnfNfv;
Definir Numero VSNumNfv;
Definir Numero VSTipNfe;
Definir Alfa aDadosPedido;
Definir Alfa VSUfsPed;
Definir Alfa VSProSer;
Se (VSTipNfe = 11) {
SQL_Criar(aDadosPedido);
SQL_DefinirComando(aDadosPedido, "SELECT E070FIL.SIGUFS UFSPED \
FROM E070FIL, E140NFV \
WHERE E140NFV.CODEMP = :CODEMP \
AND E140NFV.CODFIL = :CODFIL \
AND E140NFV.CODSNF = :CODSNF \
AND E140NFV.NUMNFV = :NUMNFV \
AND E140NFV.CODCLI = E070FIL.FILCLI \
AND EXISTS (SELECT 1 \
FROM E001INT \
WHERE E001INT.CODEMP = E140NFV.CODEMP \
AND E001INT.CODTNS = E140NFV.TNSPRO \
AND E001INT.MODINT = 'COF') \
GROUP BY E070FIL.SIGUFS");
SQL_DefinirInteiro(aDadosPedido,"CODEMP",VSEmpNfv);
SQL_DefinirInteiro(aDadosPedido,"CODFIL",VSFilNfv);
SQL_DefinirAlfa(aDadosPedido,"CODSNF",VSSnfNfv);
SQL_DefinirInteiro(aDadosPedido,"NUMNFV",VSNumNfv);
SQL_AbrirCursor(aDadosPedido);
Se (SQL_EOF(aDadosPedido) = 0) {
SQL_RetornarAlfa(aDadosPedido, "UFSPED", VSUfsPed);
Se (VSSigUfs = VSUfsPed) {
Se (VSProSer = "P") { @ Transação para o item de produto @
VSTnsPro = "1152I";
}
Senao {
VSTnsPro = "1152";
}
}
Senao {
Se (VSProSer = "P") { @ Transação para o item de produto @
VSTnsPro = "2152I";
}
Senao {
VSTnsPro = "2152";
}
}
}
SQL_Destruir(aDadosPedido);
}
Atenção
É necessário que a mesma carga seja processada duas vezes, pois no primeiro processamento será gerado automaticamente a NF de Transferência para a filial. Já, no segundo processamento (após autorização da SEFAZ) será gerada a NF de Remessa em nome da filial.
Considerações
- A geração de NF de Transferência utilizará a série informada no campo Série NF.
Já, a NF de Remessa, utilizará o campo de Série NF de Remessa informado na tela F070VAR, aba Nota Fiscal. - Para o agrupamento de pedidos em uma mesma pré-fatura, há mais uma quebra para pedidos de Entrega Futura via Centro de Distribuição. Ou seja, um pedido de entrega futura via CD nunca estará na mesma pré-fatura de um pedido que não seja de entrega futura via, mesmo que seja de um mesmo cliente, mesma filial, etc.
Botões
Seleção
Acesso a tela F149SNA para os filtros
complementares.
Cliente
Acesso a tela F085INC para a
consulta às informações do cliente.
Itens Pré-Fat.
Acesso a tela F135CIF para a consulta aos itens da pré-fatura.
Observação
Acesso a tela F149AOB, permitindo informar mensagens e observação para a nota fiscal.
Ao processar as cargas, as mensagens e observações serão gravadas na nota
fiscal. Estas mensagens e
observações também ficaram gravadas na tabela "E135PFA" (análise de
embarque - pré-faturas) após o processamento.
Parâmetros Globais
Nome | Descrição |
---|---|
LogNfsTit | Indica se deve gerar logs de títulos do contas a receber nas notas fiscais de saída. |
OpcGerNfs | Indicativo da opção padrão para geração das parcelas das notas fiscais de saída. |
Identificadores de Regras
COM | 000ALFUN01 |
VEN | 000ALCLF01 |
VEN | 000ALICM01 |
VEN | 000COMIS01 |
VEN | 000COMIS03 |
VEN | 000CONIT01 |
VEN | 000CONNF01 |
VEN | 140PRECO01 |
VEN | 140FRENF01 |
VEN | 135CODBA01 |
VEN | 000TNSDE01 |
VEN | 000PREME01 |