Analisando propostas

Criar Programa Instalar Sistema Atraves De Importacao Do Xml Banco Oracle

Publicado em 09 de Janeiro de 2025 dias na TI e Programação

Sobre este projeto

Aberto

criar programa instalar sistema atraves de importacao do xml banco oracle

ordem de servico 300

este programa tem como objetivo ler as tag,s dos arquivos xml e gravar nas tabelas do banco de dados.

->Lembrando que a NFE tem várias versões 1.0,2.0,3.0 e 4.0 podendo as tags variar.
->. Na leitura dos XML checar através da chave se já foi processada para evitar duplicidade.Chave->codprod+chnfe
->. Na pasta onde estarão os xml terá xml de saída e entrada.
    Vamos gravar todas as tags em uma tabela que iremos chamar de xmlmae depois atualizaremos todas as tabelas
    do ERP



_>. Iremos recriar a seguinte tabelas:
    Tabela notas de saída ->NOTASS
    Tabela entrada ->NOTASE
    Tabela do estoque ->estoque
    Tabela de parceiros clientes e fornecedores




Descritivo do programa
1). Abrir o programa cadastro da empresa
      Digitar o cnpj e buscar os dados da empresa através de uma api (ver api)
    atribuir a variavel o_firma=1
    atribuir a variavel o_filial  =0



2). Ler a tag IDE
    Ler tag emit se cnpj = empresa cgc
            então
    xml é de saída e a tabela e notass
  gravar  ->numnf    com nnf            
  gravar  ->mod        com modelo
  gravar  ->datasai  com dhemim  (aaaammdd)
  gravar  ->dataemi com dhemim  (aaaammdd)
  gravar  ->serie      com serie
  gravar  ->uf            com cuf    
  gravar  ->cgccli      com cnpj
gravar  ->firma      com o_firma
gravar  ->filial        com o_filial
gravar observ4      com “importado com xml do cliente”
tag prod
  gravar ->codprod com cprod
  gravar -> ncm      com ncm ?  criar campo
  gravar ->natoper    com cfop
  gravar ->unid            com ucom 
  gravar ->quant        com qcom
  gravar ->punit          com vunicom
  gravar ->codigobar com ceantrib
    gravar ->descricao  com xprod
  gravar ->codigobar  com cean
  gravar ->ncm            com ncm
  gravar ->cest            com cest  criar campo

tag icms
  gravar ->origem      com orig
    se tag=cst
            gravar ->trib        com cst   
  caso contrario
          se tag=csosn
            gravar ->cson      com csosn
            gravar ->trib      com 99
  fim    
 
                        ?
  gravar ->bc_icms_it  com vbc    ?
  gravar ->poricmsnt    com picms
  gravar ->icms_it        com vicms
    gravar ->iva                com pmvast    //% da aliquota do iva
  gravar ->bcalciva        com vbcst        //base de calculo da substituicao tributaria
  gravar ->poricmsiva  com picmsst    //percenual do icms
  gravar ->icmsiva        com icmsiva      //valor do icms da subst.tgributaria
  Gravar                          com Vbcfcpst  //valor da base de calculo fundo combate a pobreza  criar campo
  gravar                          com pfcpst      //percentual da dabse de calculo do fundo combate a pobreza criar campo
  gravar                          com vfcpst      //valor do fundo de combate a pobreza criar campo
  gravar ->basered      com predbc      //percentual da base de calculo reduzida 
  gravar ->bcicms_it    com vbc



 
tag ipi
  gravar ->cst_pis_sai    com cst        //falta criar este campo 
  gravar ->bc_ipi_it        com vbc        //base de calculo do ipi do item
  gravar ->ipiprod          com pipi      //percentual do ipi do item
  gravar ->ipi_it              com vipi      //valor do ipi do item
   
tag pis
  gravar ->cst_pis          com cst        //cst do pis
  gravar                            com vbc        //base de calculo do pis criar campo
  gravar ->alq_pis          com ppis      //percentual do pis
  gravar ->vlrpis              com vpis      //valor do pis
tag cofins
  gravar ->cst_cofins    com cst        //cst do pis
  gravar                          com vbc        //base de calculo do cofins criar campo
  gravar ->alq_cofins    com ppis      //percentual do pis
  gravar ->vcofins        com vpis          //valor do cofins
 
tag fat      //gravar na tabela ctarec
  gravar ->titulo          com nfat
  gravar ->numnf        com nfat
  gravar ->vldesc          com vldesc  //desconto do titulo
  gravar ->tottitulo      com vliq      //valor total do titulo
  gravar ->parcela        com ndup    //sequencia da parcela
  gravar ->datavenc    com dvenc    //data do venciemnto  (aaaammdd)
  gravar ->vlrparc        com vdup    //valor da parcela

 
tag icmstot
  gravar  ->vltotipi        com vipi      //valor total ipi
  gravar  ->bcicms        com vbc
  gravar  ->vlicmsnt      com vicms
  gravar  ->                    com vfcp
  gravar  ->              com vbcst
  gravar  ->              com vst
  gravar  ->              com vfcpst
  gravar  ->              com vfcpstret
  gravar  ->totalnota    com vnf
  gravar  ->frete            com vfrete
  gravar  ->seguro        com vseg
  gravar  ->desconto    com vdesc
  gravar  ->vii            com vii    //criar campo ipi importacao
 
 
  tag infprot          //gravar na tabela nfexml
  gravar  - chnfe          com chnfe
  gravar  ->cgccpfemi      com cnpj da empresa
  gravar  ->cgccpfdest    com cnpj destinatario
, gravar  ->xmotivo        com xmotivo
  gravar  ->hora            com dhrecbto  //ler separado no xml
  gravar  ->data              com dhrecbto
  gravar  ->cstat            com cstat
  gravar  ->recno          com recno
  gravar  ->arqxmlrec    com xml 




entrada









1)ler a tag ide
    ler tag emit se cnpj  <> empresa cgc  //diferente do cnpj digitado
    então é  xml de entrada

  gravar na tabela notase
  gravar  ->numnf      com nnf            
  gravar  ->modelo    com mod
  gravar  ->dataent    com dhemi  (aaaammdd)
  gravar  ->datafiscal com dhemi  (aaaammdd)
 
  gravar  ->firma      com o_firma
  gravar  ->filial        com o_filial
  gravar  ->serie        com serie
  gravar  ->uf              com cuf    
  gravar observ3      com “importado com xml do cliente”

 
 
tag dest
gravar ->cgc    com cnpj

tag prod
  gravar ->codprod     com cprod
  gravar ->                    com ncm        ?  criar campo
  gravar ->natop                com cfop  //converter com tabela de conversao
  gravar ->unid                  com ucom 
  gravar ->quant        com qcom
  gravar ->punit               com vunicom
  gravar ->codigobar        com eantrib
    gravar ->descricao      com xprod
    gravar ->cest                com cest  ? criar campo  criar campo
 
tag icms

  gravar ->origem      com orig
        se tag=cst
                gravar ->trib                    com cst  //cst de aquisicao trib 10
                gravar ->trib_convert    com    60  ?//cst de convertido trib 60 
        caso contrario
                se tag=csosn
          gravar ->csosn              com csosn  //csosn de aquisição
                gravar ->csosn              com csosn  //csosn de aquisição
          gravar ->trib                com 
        fim    
  gravar ->bc_icms_it  com vbc    ? ver
  gravar ->poricmsnt    com picms
  gravar ->icms_it          com vicms
 
  gravar ->iva              com pmvast    //% da aliquota do iva
  gravar ->bc_iva_it  com vbcst        //base de calculo da substituicao tributaria do item
  gravar ->iva_t          com vicmsst    //valor do icms da subst.tributaria
  Gravar                        com vBCFCPST  //valor da base de calculo fundo combate a pobreza  ?  VER
  Gravar                        com pFCPST      //percentual da dabse de calculo do fundo combate a pobreza ?  VER
  Gravar->vFCPST        com vFCPST    //valor do fundo de combate a pobreza da substituicao tributaria
  Gravar ->basered      com pRedBC  //percentual da base de calculo reduzida
  Gravar ->bcicms_it  com vbc          //base de calculo do icms do item
  Gravar ->picmsst      com Picmsst    //percenual do icms da substituicao tributaria
tag ipi
  gravar ->cst_ipi_sai  com cst        //falta criar este campo  ? ver
  gravar ->bcipi            com vbc        //base de calculo do ipi 
  gravar ->ipiprod      com pipi      //percentual do ipi do item
  gravar ->ipi_it          com vipi      //valor do ipi do item
   

tag pis
  gravar ->cst_pis        com cst        //cst do pis
  gravar                        com vbc        //base de calculo do pis criar campo  criar
  gravar ->alq_pis        com ppis      //percentual do pis
  gravar ->                    com vpis      //valor do pis  //criar este campo      criar

tag cofins
  gravar ->cst_cofins    com cst        //cst do pis
  gravar                          com vbc        //base de calculo do cofins criar campo
  gravar ->alq_cofins  com ppis      //percentual do pis
  gravar ->                    com vpis      //valor do cofins ? criar este campo
 
tag fat  //gravar na tabela contas_pagar
  gravar ->titulo          com nfat
  gravar ->numnf        com nfat
  gravar ->vldesc        com vldesc  //desconto do titulo
  gravar ->tottitulo      com vliq        //valor total do titulo
  gravar ->parcela        com ndup    //sequencia da parcela
  gravar ->datavenc      com dvenc    //data do venciemnto  (aaaammdd)
  gravar ->vlrparc          com vdup    //valor da parcela

tag icmstot
  gravar  ->vltotipi        com vipi              //valor total ipi
  gravar  ->bcicms        com vbc              //total da base de calculo do icms 
gravar ->icms_deson  com vicmsdeson //total do icms desonerado
  gravar  ->vlicmsnt      com vicms
  gravar  -> vtotfcp      com vfcp                    //valor total do fundo de combate a pobreza
  gravar  ->bcsubs        com  vicmsdeson  //base de calculo da substituicao tributaria
  gravar  ->icmssubs    com vst
  gravar  -> vfcpst      com vfcpst
  gravar  ->totsipi        com  vprod
  gravar  ->                    com vfcpstret    //criar este campo
  gravar  ->vlfrete        com vlfrete
  gravar  ->totalnota    com vnf
  gravar  ->vlfrete        com vfrete
  gravar  ->vlseguro      com vseg
  gravar  ->desconto    com vdesc
  gravar  ->vii                  com vii    //criar campo ipi importacao
 
 
  tag infprot          //gravar na tabela nfexml
  gravar  - chnfe          com chnfe
  gravar  ->cgccpfemi  com cnpj da empresa
  gravar  ->cgccpfdest  com cnpj destinatario
, gravar  ->xmotivo      com xmotivo
  gravar  ->hora              com dhrecbto  //ler separado no xml
  gravar  ->data              com dhrecbto
  gravar  ->cstat              com cstat
  gravar  ->recno            com recno
  gravar  ->arqxmlrec      com xml  (importar o arquivo xml para dentro do banco

inicio de criar a tabela de parceiros(clientes e fornecedores)

ler atag dest
gravar cgccpf        com cnpj
gravar nome          com xnome
gravar nomefan    com xfant
gravar ender          com xlgr + “ “+numero
gravar endcob      com xlgr + “ “+numero
gravar complem    com xcpl
gravar complcob  com xcpl
gravar bairro          com xbairro
gravar bairrocob    com xbairro
gravar numero      com nro
gravar munic          com cmun
gravar status          com “n”
gravar cidade        com  xmun
gravar cidadecob  com  xmun
gravar uf                  com uf
gravar ufcob          com uf
gravar cep              com cep
gravar cepcob        com cep
gravar fone              com fone
gravar fonecob        com fone
gravar inscest          com ie
garvar contrvsta      com “1”
gravar qtecompra    com soma da notas de saída para cada cliente
gravar uldtcpra com a data da ulima nota do cliente
gravar datacad com  a data do dia da instalação (dd/mm/aaaa)
gravar mldireta        com “s”
gravar observ3          com “importado com xml do cliente”
if len(cnpj)=’14’
  gravar tppessoa com “j”
else
  gravar  com “f”
endif
gravar srt
gravra subst._trib=”N”
Gravar tipo_cad  com “cl”  //ver transportadora

tag transporta
gravar cgccpf        com cnpj
gravar nome          com xnome
gravar nomefan    com xnome
gravar ender          com xender
gravar endercob    com xender
gravar munic          com cmun
gravar uf                  com uf
gravar ufcob            com uf
gravar tppessoa      com “j”
gravar inscest          com ie
gravar contrvsta com “1”
gravar tipo_cad  com “tr”  //ver transportadora
gravar datacad com  a data do dia da instalação (dd/mm/aaaa)
gravar mldireta com “s”
finalizado o processo de inclusão de notas de saídas e notas de entrada vamos colocar código do cliente em todas as tabelas.
Selecionar a tabela sequencias ->campo valor
Gravar a tabela de clientes campo CODCLI com str(valor,6) jogar zeros a esquerda.
Após finalizar a gravação dos códigos do cliente.
Criar a tabela cliente2 (temos um cursor que inclui a tabela cliente 2 baseada na cliente1.
Após criar a cliente2 fazer update na tabela cliente2 co campo FORN_COD_INTERNO COM CODCLI
Gravar tabela notass campo CODCLI com CODCLI ->cliente (relacionamento cgccpf)
Gravar tabela notase campo CODCLI com CODCLI ->cliente (relacionamento cgccpf)



INCLUSAO DOS ITENS NO CADASTRO
Gravar código        com cProd
Gravar codigobarx com cEAN
Gravar descrição    com xprod
Gravar clasfisca      com ncm
Gravar unid            com uCom
Gravar qtde            com qcom
Gravar quebrada  com qcom
Gravar preco          com vUnCom
Gravar orig            com tag->icms orig
Gravar trib              com tag->icms cst
Gravar grupo          com “0001”
Gravar coddesc      com “TD”
Gravar fornec        com notase->fornec
Gravar ultcusto      com vUnCom
Gravar customed  com vUnCom
Gravar ccsuto        com 1
Gravar dtultven      com a data da ultima notas de saída (AAAAMMDD)
Gravar statuspc      com “P”
Gravar embalagem com “1”
Gravar datacad    com data do sistema (DD/MM/AAAA)
Gravar precoant  com vUnCom
Gravar bloqueio  com “N”
Gravar embax      com “U”
Gravar induscome com “C”


IMPORTAR TABELAS
As tabelas estarao na pasta install


CIDADES
CFOP->natope-natops
TABELA_IMPOSTOS
MENSAGENS_NOTAFISCAL
UPDATE NA TABELA CONTAARQ
VER ETIQMOV
CONFIGURAR SENHA PADRAO
CONFIGURAR BANCOS
CONFIGURAR PONTUALIDADE TABELA TABTIT
CONFIGURAR POSITI
CONFIGURAR UNIDADE DE MEDIDA UNID
CONFIGURAR CCUSTO
CONFIGURAR CODDESC
CONFIGURAR MARCAS
TPSERE
TPSERS
CONDFAT
CAIXA02
CAIXA03
CODIPI
TABINSTR
CONFIGURAR CARTOES DE CREDITO
TPSAIDA



CONFIGURAR CAIXA
CONFIGURAR SERIE INICIAL
CONFIGURAR SLOGAN DA EMPRESA

Categoria TI e Programação
Subcategoria Programação
Qual é o alcance do projeto? Alteração média
Isso é um projeto ou uma posição de trabalho? Um projeto
Tenho, atualmente Eu tenho especificações
Disponibilidade requerida Conforme necessário
Integrações de API Outros (Outras APIs)
Funções necessárias Desenvolvedor

Prazo de Entrega: Não estabelecido

Habilidades necessárias