Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

...

Produto:

Datasul

Ocorrência:

Documentação de BO

Nome Físicodibo/bodi317im1br.p

 

 

RecordSet

 

No caso dessa BO é utilizada a tabela wt-docto, mas não poderão ser utilizados os métodos padrões para navegação e geração de informações padrões para essa tabela. Para isso, existe a BODI317, que é a BO principal dessa tabela. Mesmo assim, será demonstrado abaixo a definição das tabelas anteriormente citadas com a devida descrição de cada campo.

 

Exemplos

 

Exemplos de utilização das BO´s de calculo de notas podem ser encontrados no arquivo BODI317IN.DOC.

...

calculaImpostosBrasil 21

 

Métodos Básicos

 

Métodos básicos de disponibilização de registros e inicialização das informações para BO.

 

 

Método 1:

setaHandlesBOS

 

Descrição: 

Recebe os handles das BOS relacionadas para o cálculo de notas fiscais, conforme lista de parâmetros abaixo. Desta forma, sempre que for utilizada essa BO, deverão ser executados quatro BOS, passando os handles dessas BOS para a BODI317SD, pois essa BO utiliza métodos dessas outras BOS. Todas as BOS deverão ser executadas de forma persistente.

 

Requisitos: 

Nenhum

 

Parâmetros:

Parâmetro

Tipo

Formato

I

O

IO

Descrição

p-h-bodi317pr

Hand

 

X

 

 

Handle da BODI317PR.P

p-h-bodi317sd

Hand

 

X

 

 

Handle da BODI317SD.P

p-h-bodi317im1br

Hand

 

X

 

 

Handle da BODI317IM1BR.P

p-h-bodi317va

Hand

 

X

 

 

Handle da BODI317VA.P

 

 

Método 2:

devolveErrosBodi317im1br

 

Descrição: 

Devolve os erros ou advertências que ocorreram durante a execução de algum método dessas BO. Importante lembrar que para essa BO não deverá ser utilizado o método padrão de retorno da tabela temporária RowErrors, pois ela foi desenvolvida numa nomenclatura para diferente, visando principalmente melhoria de performance.

 

Requisitos: 

Nenhum

 

Parâmetros:

Parâmetro

Tipo

Formato

I

O

IO

Descrição

p-c-ultimo-metodo-exec

Char

 

 

X

 

Último método executado

RowErrors

Table

 

 

X

 

Temp-table de erros RowErrors

 

 

Método 3:

emptyRowErrorsBodi317im1br

...

Para utilizar esse método, deverá antes ter sido utilizado o método inicializaAcompanhamento.

 

Parâmetros:

Nenhum

 

 

Método 6:

localizaWtDocto

 

Descrição: 

Localiza e disponibiliza o registro da tabela WT-DOCTO para a BO, através da chave principal e única. Esse método deverá ser utilizado quando existir algum método cujo requisito é disponibilizar o registro WT-DOCTO antes de utilizar esse outro método.

 

Requisitos: 

Nenhum

 

Parâmetros:

Parâmetro

Tipo

Formato

I

O

IO

Descrição

p-i-seq-wt-docto

Int

 

X

 

 

Seqüência do documento

p-l-procedimento-ok

Log

 

 

X

 

Execução do método com sucesso ou não

 

 

Método 7:

localizaWtNotaTrans

 

Descrição: 

Localiza e disponibiliza o registro da tabela WT-NOTA-TRANS para a BO, através da chave principal e única. Esse método deverá ser utilizado quando existir algum método cujo requisito é disponibilizar o registro WT-NOTA-TRANS antes de utilizar esse outro método.

 

Requisitos: 

Nenhum

 

Parâmetros:

Parâmetro

Tipo

Formato

I

O

IO

Descrição

p-i-seq-wt-docto

Int

 

X

 

 

Seqüência do documento

p-i-nr-seq-nota

Int

 

X

 

 

Seqüência da nota, passar o valor 0 (zero)

p-l-procedimento-ok

Log

 

 

X

 

Execução do método com sucesso ou não

 

 

Método 8:

localizaWtItDocto

 

Descrição: 

Localiza e disponibiliza o registro da tabela WT-IT-DOCTO para a BO, através da chave principal e única. Esse método deverá ser utilizado quando existir algum método cujo requisito é disponibilizar o registro WT-IT-DOCTO antes de utilizar esse outro método.

 

Requisitos: 

Nenhum

 

Parâmetros:

Parâmetro

Tipo

Formato

I

O

IO

Descrição

p-i-seq-wt-docto

Int

 

X

 

 

Seqüência do documento

p-i-seq-wt-it-docto

Int

 

X

 

 

Seqüência do item do documento

p-l-procedimento-ok

Log

 

 

X

 

Execução do método com sucesso ou não

 

 

Método 9:

localizaWtItImposto

 

Descrição: 

Localiza e disponibiliza o registro da tabela WT-IT-IMPOSTO para a BO, através da chave principal e única. Esse método deverá ser utilizado quando existir algum método cujo requisito é disponibilizar o registro WT-IT-IMPOSTO antes de utilizar esse outro método.

 

Requisitos:

Nenhum

 Nenhum

Parâmetros:

Parâmetro

Tipo

Formato

I

O

IO

Descrição

p-i-seq-wt-docto

Int

 

X

 

 

Seqüência do documento

p-i-seq-wt-it-docto

Int

 

X

 

 

Seqüência do item do documento

p-l-procedimento-ok

Log

 

 

X

 

Execução do método com sucesso ou não

...

localizaUnidFederDestino

 

Descrição: 

Localiza e disponibiliza o registro da tabela UNID-FEDER destino da nota fiscal para a BO, através da chave principal e única. Esse método deverá ser utilizado quando existir algum método cujo requisito é disponibilizar o registro UNID-FEDER antes de utilizar esse outro método.

 

Requisitos: 

Nenhum

 

Parâmetros:

Parâmetro

Tipo

Formato

I

O

IO

Descrição

p-c-pais

Char

 

X

 

 

País da nota fiscal

p-c-estado

Char

 

X

 

 

Estado da nota fiscal

p-l-procedimento-ok

Log

 

 

X

 

Execução do método com sucesso ou não

 

 

Método 11:

localizaUnidFederOrigem

 

Descrição: 

Localiza e disponibiliza o registro da tabela UNID-FEDER origem da nota para a BO, através da chave principal e única. Esse método deverá ser utilizado quando existir algum método cujo requisito é disponibilizar o registro UNID-FEDER antes de utilizar esse outro método.

 

Requisitos: 

Nenhum

 

Parâmetros:

Parâmetro

Tipo

Formato

I

O

IO

Descrição

p-c-pais

Char

 

X

 

 

País da nota fiscal

p-c-estado

Char

 

X

 

 

Estado origem da nota (estado do estabelecimento)

p-c-estado-destino

Char

 

X

 

 

Estado da nota fiscal

p-l-procedimento-ok

Log

 

 

X

 

Execução do método com sucesso ou não

...

localizaEmitente

 

Descrição: 

Localiza e disponibiliza o registro da tabela EMITENTE para a BO através da chave principal e única. Esse método deverá ser utilizado quando existir algum método cujo requisito é disponibilizar o registro EMITENTE antes de utilizar esse outro método.

 

Requisitos: 

Nenhum

 

Parâmetros:

Parâmetro

Tipo

Formato

I

O

IO

Descrição

p-i-cod-emitente

Int

 

X

 

 

Código do emitente ou cliente

p-l-procedimento-ok

Log

 

 

X

 

Execução do método com sucesso ou não

...

localizaCidadeZf

 

Descrição: 

Localiza e disponibiliza o registro da tabela CIDADE-ZF para a BO através da chave principal e única. Esse método deverá ser utilizado quando existir algum método cujo requisito é disponibilizar o registro CIDADE-ZF antes de utilizar esse outro método.

 

Requisitos: 

Nenhum

 

Parâmetros:

Parâmetro

Tipo

Formato

I

O

IO

Descrição

p-c-cidade

Char

 

X

 

 

Cidade da nota

p-c-estado

Char

 

X

 

 

Estado da nota

p-l-procedimento-ok

Log

 

 

X

 

Execução do método com sucesso ou não

...

localizaNaturOper

 

Descrição: 

Localiza e disponibiliza o registro da tabela NATUR-OPER para a BO, através da chave principal e única. Esse método deverá ser utilizado quando existir algum método cujo requisito é disponibilizar o registro NATUR-OPER antes de utilizar esse outro método.


Requisitos: 

Nenhum


Parâmetros:

Parâmetro

Tipo

Formato

I

O

IO

Descrição

p-c-nat-operacao

Char

 

X

 

 

Natureza de operação

p-l-procedimento-ok

Log

 

 

X

 

Execução do método com sucesso ou não

 

 

Método 15:

localizaItem

 

Descrição: 

Localiza e disponibiliza o registro da tabela ITEM para a BO, através da chave principal e única. Esse método deverá ser utilizado quando existir algum método cujo requisito é disponibilizar o registro ITEM antes de utilizar esse outro método.


Requisitos: 

Nenhum


Parâmetros:

Parâmetro

Tipo

Formato

I

O

IO

Descrição

p-c-it-codigo

Char

 

X

 

 

Código do item

p-l-procedimento-ok

Log

 

 

X

 

Execução do método com sucesso ou não

 

 

Método 16:

localizaEstabelec

 

Descrição: 

Localiza e disponibiliza o registro da tabela ESTABELEC para a BO, através da chave principal e única. Esse método deverá ser utilizado quando existir algum método cujo requisito é disponibilizar o registro ESTABELEC antes de utilizar esse outro método.


Requisitos: 

Nenhum


Parâmetros:

Parâmetro

Tipo

Formato

I

O

IO

Descrição

p-c-cod-estabel

Char

 

X

 

 

Código do estabelecimento

p-l-procedimento-ok

Log

 

 

X

 

Execução do método com sucesso ou não

                        

Processamento de Informações e Cálculos

 

Processamento e cálculo das informações de impostos para as tabela de trabalho WT*.

 

 

Método 17:

calculaIPI

 

Descrição: 

Efetua o cálculo de IPI de um item da nota fiscal.

 

Requisitos:

  1. O registro WT-DOCTO deverá estar disponível para execução desse método. Dessa forma, deverá ser executado o meto localizaWtDocto, conforme mostrado em método anterior.
  2. O registro WT-IT-DOCTO deverá estar disponível para execução desse método. Dessa forma, deverá ser executado o meto localizaWtItDocto, conforme mostrado em método anterior.
  3. O registro WT-IT-IMPOSTO deverá estar disponível para execução desse método. Dessa forma, deverá ser executado o meto localizaWtItImposto, conforme mostrado em método anterior.

...

Parâmetro

Tipo

Formato

I

O

IO

Descrição

p-l-nf-comercia

Log

 

X

 

 

Indica se ce nota fiscal de comércio para divisão da base de IPI por 2.

Possíveis valores:

Yes – Divide a base de IPI por 2

No – Não divide a base de IPI por 2

p-l-procedimento-ok

Log

 

 

X

 

Execução do método com sucesso ou não

 

 

Método 18:

calculaISS

 

Descrição: 

Efetua o cálculo de ISS de um item da nota fiscal.

 

Requisitos:

  1. O registro WT-DOCTO deverá estar disponível para execução desse método. Dessa forma, deverá ser executado o meto localizaWtDocto, conforme mostrado em método anterior.
  2. O registro WT-IT-DOCTO deverá estar disponível para execução desse método. Dessa forma, deverá ser executado o meto localizaWtItDocto, conforme mostrado em método anterior.
  3. O registro WT-IT-IMPOSTO deverá estar disponível para execução desse método. Dessa forma, deverá ser executado o meto localizaWtItImposto, conforme mostrado em método anterior.

...

Parâmetro

Tipo

Formato

I

O

IO

Descrição

p-l-procedimento-ok

Log

 

 

X

 

Execução do método com sucesso ou não

 

 

Método 19:

calculaICMS

 

Descrição: 

Efetua o cálculo de ICMS de todos os itens da nota fiscal.

 

Requisitos:

  1. O registro WT-DOCTO deverá estar disponível para execução desse método. Dessa forma, deverá ser executado o meto localizaWtDocto, conforme mostrado em método anterior.

...

Parâmetro

Tipo

Formato

I

O

IO

Descrição

p-nr-seq-nota

Int

 

X

 

 

Seqüência da nota fiscal (não é wt-docto.seq-wt-docto)

p-l-procedimento-ok

Log

 

 

X

 

Execução do método com sucesso ou não

 

 

Método 20:

calculaAliquotaICMS

 

Descrição: 

Efetua o cálculo da alíquota de ICMS para um determinado item da nota fiscal.

 

Requisitos: 

Nenhum.

 

Parâmetros:

Parâmetro

Tipo

Formato

I

O

IO

Descrição

p-l-contr-icms

Log

 

X

 

 

Indica se o cliente é contribuinte de ICMS

p-i-natureza-emit

Int

 

X

 

 

Natureza do emitente (emitente.natureza)

p-c-estado-origem

Char

 

X

 

 

Estado origem da nota fiscal

p-c-pais-origem

Char

 

X

 

 

Pais origem da nota fiscal

p-c-estado-destino

Char

 

X

 

 

Estado destino da nota

p-c-it-codigo

Char

 

X

 

 

Código do item da nota

p-c-nat-operacao

Char

 

X

 

 

Natureza de operação da do item da nota

p-de-aliquota-icms

Dec

 

 

X

 

Alíquota de ICMS encontrada

p-l-procedimento-ok

Log

 

 

X

 

Execução do método com sucesso ou não

 

 

Método 21:

codigoTributacaoICMS

 

Descrição: 

Determina o código de tributação de ICMS para o item da nota.

 

Requisitos: 

Nenhum.

 

Parâmetros:

Parâmetro

Tipo

Formato

I

O

IO

Descrição

p-c-it-codigo

Char

 

X

 

 

Código do item da nota

p-c-nat-operacao

Char

 

X

 

 

Natureza de operação da do item da nota

p-i-tributacao

Int

 

 

X

 

Código de tributação de ICMS.

Valores Possíves:

1 - Tributado

2 - Isento

3 - Outras

4 - Reduzido

p-l-procedimento-ok

Log

 

 

X

 

Execução do método com sucesso ou não

 

 

Método 22:

codigoTributacaoIPI

 

Descrição: 

Determina o código de tributação de IPI para o item da nota.

 

Requisitos: 

Nenhum.

 

Parâmetros:

Parâmetro

Tipo

Formato

I

O

IO

Descrição

p-c-it-codigo

Char

 

X

 

 

Código do item da nota

p-c-nat-operacao

Char

 

X

 

 

Natureza de operação da do item da nota

p-i-tributacao

Int

 

 

X

 

Código de tributação de IPI.

Valores Possíves:

1 - Tributado

2 - Isento

3 - Outras

4 – Reduzido

p-l-procedimento-ok

Log

 

 

X

 

Execução do método com sucesso ou não

 

 

Método 23:

codigoTributacaoISS

 

Descrição: 

Determina o código de tributação de ISS para o item da nota.

 

Requisitos: 

Nenhum.

 

Parâmetros:

Parâmetro

Tipo

Formato

I

O

IO

Descrição

p-c-it-codigo

Char

 

X

 

 

Código do item da nota

p-c-nat-operacao

Char

 

X

 

 

Natureza de operação da do item da nota

p-i-tributacao

Int

 

 

X

 

Código de tributação de ISS.

Valores Possíves:

1 - Tributado

2 - Isento

3 - Outras

4 - Reduzido

p-l-procedimento-ok

Log

 

 

X

 

Execução do método com sucesso ou não

 

 

Método 24:

calculaDescontoICMS

 

Descrição: 

Calcula o desconto de ICMS do item da nota.

 

Requisitos:

  1. O registro WT-DOCTO deverá estar disponível para execução desse método. Dessa forma, deverá ser executado o meto localizaWtDocto, conforme mostrado em método anterior.
  2. O registro WT-IT-DOCTO deverá estar disponível para execução desse método. Dessa forma, deverá ser executado o meto localizaWtItDocto, conforme mostrado em método anterior.

...

Parâmetro

Tipo

Formato

I

O

IO

Descrição

p-l-contrib

Log

 

X

 

 

Indica se o cliente é contribuinte de ICMS

p-c-estado-dest

Char

 

X

 

 

Estado da nota fiscal

p-de-per-des-icms

Dec

 

 

X

 

Percentual de desconto de ICMS

p-l-procedimento-ok

Log

 

 

X

 

Execução do método com sucesso ou não

 

 

Método 25:

calculaIRF

 

Descrição: 

Calcula o valor de Imposto de renda retido na fonte do item da nota.

 

Requisitos:

  1. O registro WT-IT-DOCTO deverá estar disponível para execução desse método. Dessa forma, deverá ser executado o meto localizaWtItDocto, conforme mostrado em método anterior.
  2. O registro WT-IT-IMPOSTO deverá estar disponível para execução desse método. Dessa forma, deverá ser executado o meto localizaWtItImposto, conforme mostrado em método anterior.

...

Parâmetro

Tipo

Formato

I

O

IO

Descrição

p-l-procedimento-ok

Log

 

 

X

 

Execução do método com sucesso ou não

 

 

Método 26:

calculaINSS

 

Descrição: 

Calcula o valor de INSS do item da nota.

 

Requisitos:

  1. O registro WT-IT-DOCTO deverá estar disponível para execução desse método. Dessa forma, deverá ser executado o meto localizaWtItDocto, conforme mostrado em método anterior.
  2. O registro WT-IT-IMPOSTO deverá estar disponível para execução desse método. Dessa forma, deverá ser executado o meto localizaWtItImposto, conforme mostrado em método anterior.

...

Parâmetro

Tipo

Formato

I

O

IO

Descrição

p-l-procedimento-ok

Log

 

 

X

 

Execução do método com sucesso ou não

 

 

Método 27:

calculaValorPautaItem

 

Descrição: 

Calcula o valor de pauta para ICMS Substituto ou para ICMS normal do item da nota.

...

Parâmetro

Tipo

Formato

I

O

IO

Descrição

p-l-tipo-icms

Log

 

X

 

 

Tipo de valor de paute que é para ser calculado

Valores possíves:

Yes - Pauta para ICMS Substituto

No – Pause para ICMS Normal

p-l-procedimento-ok

Log

 

 

X

 

Execução do método com sucesso ou não

 

 

Método 28:

calculaICMSSubstituto

 

Descrição: 

Calcula o valor de ICMS Substituto os itens da nota.

 

Requisitos:

  1. O registro WT-DOCTO deverá estar disponível para execução desse método. Dessa forma, deverá ser executado o meto localizaWtDocto, conforme mostrado em método anterior.
  2. O registro WT-NOTA-TRANS deverá estar disponível para execução desse método. Dessa forma, deverá ser executado o meto localizaWtNotaTrans, conforme mostrado em método anterior.

...

Parâmetro

Tipo

Formato

I

O

IO

Descrição

p-nr-seq-nota

Int

 

X

 

 

Seqüência da nota fiscal (não é wt-docto.seq-wt-docto)

p-c-inscr-aux

Char

 

X

 

 

Inscrição auxiliar para substituição tributaria

p-l-procedimento-ok

Log

 

 

X

 

Execução do método com sucesso ou não

 

 

Método 29:

calculaICMSComplementar

 

Descrição:

 Calcula o valor de ICMS complementar para os itens da nota.

...

Parâmetro

Tipo

Formato

I

O

IO

Descrição

p-nr-seq-nota

Int

 

X

 

 

Seqüência da nota fiscal (não é wt-docto.seq-wt-docto)

p-l-procedimento-ok

Log

 

 

X

 

Execução do método com sucesso ou não

 

 

Método 30:

totalizaItemNota

 

Descrição: 

Totaliza o valor total do item da nota, somando mercadoria, despesas e impostos.

 

Requisitos:

  1. O registro WT-DOCTO deverá estar disponível para execução desse método. Dessa forma, deverá ser executado o meto localizaWtDocto, conforme mostrado em método anterior.
  2. O registro WT-IT-DOCTO deverá estar disponível para execução desse método. Dessa forma, deverá ser executado o meto localizaWtItDocto, conforme mostrado em método anterior.
  3. O registro WT-IT-IMPOSTO deverá estar disponível para execução desse método. Dessa forma, deverá ser executado o meto localizaWtItImposto, conforme mostrado em método anterior.

...

Parâmetro

Tipo

Formato

I

O

IO

Descrição

p-de-tot-nat-imp

Dec

 

X

 

 

É um valor que será acrescentado no total do item da nota. Passar sempre como valor 0 (zero)

p-l-procedimento-ok

Log

 

 

X

 

Execução do método com sucesso ou não

 

 

Método 31:

calculoZonaFranca

 

Descrição: 

Cálculo do desconto de ICMS para zona franca de Manaus.

 

Requisitos:

  1. O registro WT-DOCTO deverá estar disponível para execução desse método. Dessa forma, deverá ser executado o meto localizaWtDocto, conforme mostrado em método anterior.

Parâmetros:

Parâmetro

Tipo

Formato

I

O

IO

Descrição

p-nr-seq-nota

Int

 

X

 

 

Seqüência da nota fiscal (não é wt-docto.seq-wt-docto)

p-l-procedimento-ok

Log

 

 

X

 

Execução do método com sucesso ou não

 

 

Método 32:

valoresICMSIPIEntFut

 

Descrição: 

Tratamento dos valores para notas fiscais de entrega futura. Esse método deverá ser executado para que o programa zere corretamente alguns valores de impostos qua somente podereão aparecer ou na nota de remessa de entrega futura ou na nota de faturamento de entrega futura.

 

Requisitos:

  1. O registro WT-DOCTO deverá estar disponível para execução desse método. Dessa forma, deverá ser executado o meto localizaWtDocto, conforme mostrado em método anterior.
  2. O registro WT-IT-DOCTO deverá estar disponível para execução desse método. Dessa forma, deverá ser executado o meto localizaWtItDocto, conforme mostrado em método anterior.

Parâmetros:

Parâmetro

Tipo

Formato

I

O

IO

Descrição

p-l-procedimento-ok

Log

 

 

X

 

Execução do método com sucesso ou não

 

 

Método 33:

calculaImpostosBrasil

 

Descrição: 

Esse método calcula os impostos para todos os itens da nota fiscal para o Brasil. Ele executa basicamento os métodos apresentados anteriormente. Desta forma, caso se deseje que o programa execute todos os passos acima de forma automática, utilizar esse método.

 

Requisitos: 

Nenhum.

 

Parâmetros:

Parâmetro

Tipo

Formato

I

O

IO

Descrição

p-i-seq-wt-docto

Int

 

X

 

 

Seqüência do documento

p-l-procedimento-ok

Log

 

 

X

 

Execução do método com sucesso ou não

...