Clipper On Line • Ver Tópico - Meu modo de trabalho

Meu modo de trabalho

Aqui você poderá oferecer suas Contribuições, Dicas e Tutoriais (Texto ou Vídeo) que sejam de interesse de todos.

Moderador: Moderadores

 

Meu modo de trabalho

Mensagempor JoséQuintas » 14 Jun 2020 21:09

asimoes escreveu:Quintas,
A sua tela iria ficar bunitinha na hwgui ou minigui


restadbf.png


Olhe lá: 116MB do JPFINAN já não é usado.
Agora 163MB e 175MB de pedidos/produtos sendo eliminados.
Vai sobrar muito pouco em DBF.

Mexer com visual agora pode atrapalhar.
Mas depois... vai ser só visual pra brincar.

Aliás... tá na hora de apagar esse JPFINAN que não serve pra mais nada....
José M. C. Quintas
Harbour 3.4, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, hbnetio, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
Avatar de usuário

JoséQuintas
Colaborador

Colaborador
 
Mensagens: 14366
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 13 vezes
Mens.Curtidas: 859 vezes

Meu modo de trabalho

Mensagempor Vlademiro » 14 Jun 2020 21:16

Tem que avaliar bem se compensa trocar o código Harbour por store procedure. O servidor pode ficar lento. O ideal é testar muito, e com bases realmente grandes.

Outra coisa. Esse código não é redundante?
  FOR EACH cField IN { "PDPEDCLI" }
         :QueryAdd( cField, StrZero( :Number( cField ), 9 ) )
      NEXT



Não precisa do loop.
Avatar de usuário

Vlademiro
Usuário Nível 4

Usuário Nível 4
 
Mensagens: 650
Data de registro: 11 Jul 2005 02:46
Curtiu: 12 vezes
Mens.Curtidas: 44 vezes

Meu modo de trabalho

Mensagempor JoséQuintas » 14 Jun 2020 22:07

Vlademiro escreveu:Outra coisa. Esse código não é redundante?


Pois é, preparei pra adicionar mais campos, mas acabei usando um só, e não precisava mais do FOR/EACH.
José M. C. Quintas
Harbour 3.4, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, hbnetio, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
Avatar de usuário

JoséQuintas
Colaborador

Colaborador
 
Mensagens: 14366
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 13 vezes
Mens.Curtidas: 859 vezes

Meu modo de trabalho

Mensagempor JoséQuintas » 15 Jun 2020 09:06

Fiz umas correções de última hora, mas...
Instalado em cliente e em funcionamento.
José M. C. Quintas
Harbour 3.4, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, hbnetio, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
Avatar de usuário

JoséQuintas
Colaborador

Colaborador
 
Mensagens: 14366
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 13 vezes
Mens.Curtidas: 859 vezes

Meu modo de trabalho

Mensagempor JoséQuintas » 16 Jun 2020 13:09

jpitped.png


Uia....
48 linhas de fonte usando produtos de pedido: jpitped->
E isso inclui as conversões.
Vou apagar jpitped a qualquer momento....

jpitped2.png
jpitped2.png (10.38 KiB) Visualizado 1009 vezes


Acho que nem precisa dizer, mas se estou mexendo em produtos de pedido, acabo mexendo em pedidos também....
pedidos vai ser o próximo, e já está meio caminho andado.

Os DBFs estão acabando.....
José M. C. Quintas
Harbour 3.4, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, hbnetio, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
Avatar de usuário

JoséQuintas
Colaborador

Colaborador
 
Mensagens: 14366
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 13 vezes
Mens.Curtidas: 859 vezes

Meu modo de trabalho

Mensagempor JoséQuintas » 17 Jun 2020 13:52

UIA

jpa.png


DBF tá sendo eliminado....
Falta pouco...
José M. C. Quintas
Harbour 3.4, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, hbnetio, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
Avatar de usuário

JoséQuintas
Colaborador

Colaborador
 
Mensagens: 14366
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 13 vezes
Mens.Curtidas: 859 vezes

Meu modo de trabalho

Mensagempor JoséQuintas » 17 Jun 2020 15:55

jppedido.png


O uso de JPPEDIDO tá parecendo o uso de JPITPED há 5 dias atrás.
195 ocorrências.

O chato é que estou tendo que alterar até, por exemplo, a geração de SPED Fiscal/Contribuições, sendo que nenhum cliente usa isso.
Mas ou faço isso ou apago tudo, e não quero apagar.

jppedido2.png


Nessa parte, por exemplo, só aí já elimina umas 50 ocorrências.
José M. C. Quintas
Harbour 3.4, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, hbnetio, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
Avatar de usuário

JoséQuintas
Colaborador

Colaborador
 
Mensagens: 14366
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 13 vezes
Mens.Curtidas: 859 vezes

Meu modo de trabalho

Mensagempor Itamar M. Lins Jr. » 17 Jun 2020 20:28

Ola!
a geração de SPED Fiscal/Contribuições

Vc tem essa rotina solta ?
Não estava querendo mexer nisso, mas parece que terei que estudar essa parte.

Saudações,
Itamar M. Lins Jr.
Avatar de usuário

Itamar M. Lins Jr.
Colaborador

Colaborador
 
Mensagens: 4560
Data de registro: 30 Mai 2007 11:31
Cidade/Estado: Ilheus Bahia
Curtiu: 158 vezes
Mens.Curtidas: 251 vezes

Meu modo de trabalho

Mensagempor JoséQuintas » 17 Jun 2020 21:18

Antes se chamava SPED pis/cofins, e parece que mudou o nome pra contribuições.
Nunca mais olhei pra atualizar, apenas tento manter o que tinha feito.
Lembrando que meus clientes não trabalham com cupom fiscal, por isso muitos blocos estão apenas comentados.

Aqui dá uma boa idéia do que tem.

/*
PFISCSPED - SPED PIS/COFINS
2011.09 - José Quintas
*/

#include "josequintas.ch"
#include "inkey.ch"
#define SPED_SEPARADOR "|"

MEMVAR aBlocoList, aBlocoTotList
MEMVAR mDatIni, mDatFim, mTipoSped, mPerfil, mLayOut, aPisList, aCofinsList, aPisBasList, aCofinsBasList
MEMVAR mPisVal, mCofVal

PROCEDURE pFiscSped

   LOCAL mFileSped, GetList := {}
   PRIVATE mDatIni, mDatFim, mTipoSped, mPerfil, mLayOut, aBlocoList, aBlocoTotList, aPisList, aCofinsList, aPisBasList, aCofinsBasList

   IF ! AbreArquivos( "jppedido", "jpcadastro", "jpitem", "jpcidade", "jpempresa", "jptabel" )
      RETURN
   ENDIF
   mDatIni   := Date() - Day( Date() )
   mDatIni   := mDatIni - Day( mDatIni ) + 1
   mDatFim   := Date() - Day( Date() )
   mTipoSped := "P"
   mPerfil   := "A"

   @ 5, 5 SAY "Data Inicial......:" GET mDatIni
   @ 6, 5 SAY "Data Final........:" GET mDatFim
   @ 7, 5 SAY "Sped Fiscal ou Pis:" GET mTipoSped PICTURE "!A" VALID mTipoSped $ "FP"
   @ 8, 5 SAY "Perfil............:" GET mPerfil PICTURE "!A" VALID mPerfil $ "ABC"
   @ 10, 5 SAY "Temporariamente retirado bloco C110 (Pis/Cof) ref informações complementares"
   Mensagem( "Digite campos, ESC Sai" )
   READ
   Mensagem()

   IF LastKey() == K_ESC
      RETURN
   ENDIF

   IF ! MsgYesNo( "Confirma geração" )
      RETURN
   ENDIF

   SayScroll( "Gerando SPED" )

   IF mTipoSped == "P"
      mLayout := "003" // 2.01A
      mFileSped := "EXPORTA\SPPC" + Substr( Dtos( mDatFim ), 3, 4 ) + ".TXT"
   ELSE
      mLayOut := "006"
      mFileSped := "EXPORTA\SPFI" + Substr( Dtos( mDatFim ), 3, 4 ) + ".TXT"
   ENDIF

   SET ALTERNATE TO ( mFileSped )
   SET ALTERNATE ON
   SET CONSOLE OFF

   aBlocoList := {}
   aBlocoTotList := {} // usado nos totalizadores
   aPisList := {}
   aPisBasList := {}
   aCofinsList := {}
   aCofinsBasList := {} // totaliza C170 para M400 e M800

   // --------------------- Bloco0 - Abertura, Identificacao e Referencias

   Bloco0000()   // Abertura Bloco 0
   Bloco0001()   // Abertura Bloco 0
   IF mTipoSped == "F"
      Bloco0005()
      Bloco0015()
   ENDIF
   Bloco0100()   // Contabilista
   IF mTipoSped == "P"
      Bloco0110()   // Regime de Apuracao
      Bloco0111()   // Tabela de Receita Bruta Mensal
      Bloco0120()   // Identif. Periodos dispensados da escrituracao digital
      Bloco0140()   // Tabela de Cadastro Estabelecimento
   ENDIF
   Bloco0150()   // Tabela de Cadastro de Participantes
   IF mTipoSped == "F"
      Bloco0175()
   ENDIF
   Bloco0190()   // Tabela de Unidades de Medida
   Bloco0200()   // Tabela de Produtos e Servicos
   // Bloco0200-Bloco0205() // Alteração do produto/serviço
   // Bloco0200-Bloco0206() // Tabela ANP
   IF mTipoSped == "P"
      Bloco0208()   // Codigo de Grupos por Marca (Bebidas Frias)
   ENDIF
   IF mTipoSped == "F"
      Bloco0220() // Fatores de Conversao
      Bloco0300() // Bens ou Componentes do Ativo
   ENDIF
   Bloco0400()   // Tabela de Natureza de Operacao
   Bloco0450()   // Tabela de Informacao Complementar
   IF mTipoSped == "F"
      Bloco0460()
   ENDIF
   Bloco0500()   // Plano de Contas Contabil
   Bloco0600()   // Centros de Custo
   Bloco0990()   // Encerramento

   IF mTipoSped == "P"

      // --------------------- BlocoA - Documentos Fiscais Servicos ISS

      BlocoA001()  // Abertura Bloco A
      // BlocoA010() // Identificacao do Estabelecimento
      // BlocoA100() // Documento NF Servico
      // BlocoA100-BlocoA110() // Complemento - Informacao Complementar
      // BlocoA100-BlocoA111() // Processo Referenciado
      // BlocoA100-BlocoA120() // Complemento - Importacao
      // BlocoA100-BlocoA170() // Complemento - Itens do Documento
      BlocoA990() // Encerramento Bloco A
   ENDIF

   // -------------------- BlocoC - Documentos Fiscais I Mercadorias ICMS/IPI

   BlocoC001() // Abertura
   IF mTipoSped == "P"
      BlocoC010() // Identificacao do Estabelecimento
   ENDIF
   BlocoC100() // Nota Fiscal
   // BlocoC100-BlocoC110( xxLeis ) // Complemento
   IF mTipoSped == "F"
      // BlocoC100-BlocoC105()
      // BlocoC100-BlocoC110( xxLeis )
   ENDIF
   // BlocoC100-BlocoC111() // Processo Referenciado
   // BlocoC100-BlocoC120() // Complemento Importacao
   // BlocoC100-BlocoC170( nIdPedido ) // Itens do Documento
   // BlocoC180() // Consolidacao das Notas Emitidas
   // BlocoC181() // Detalhamento da Consolidacao Pis
   // BlocoC185() // Detalhamento da Consolidacao Cofins
   // BlocoC188() // Processo Referenciado
   // BlocoC190() // Consolidacao de NFE Aquisicao e Devolucao Compras/Vendas
   // BlocoC191() // Detalhamento 190 Pis
   // BlocoC195() // Detalhamento 190 Cofins
   // BlocoC198() // Processo Referenciado
   // BlocoC199() // Complemento Importacao
   // BlocoC380() // Consolidacao NF Consumidor Emitidos
   // BlocoC381() // Detalhamento 380 Pis
   // BlocoC385() // Detalhamento 380 Cofins
   // BlocoC395() // NF Consumidor Aquisicoes
   // BlocoC396() // Produtos da NF Consumidor 395
   // BlocoC400() // Equipamento ECF
   // BlocoC405() // Reducao Z
   // BlocoC481() // Resumo Diario ECF Pis
   // BlocoC485() // Resumo Diario ECF Cofins
   // BlocoC489() // Processo Referenciado
   // BlocoC490() // Consolidacao ECF
   // BlocoC491() // Detalhamento 0490 Pis
   // BlocoC495() // Detalhamento 0490 Cofins
   // BlocoC499() // Processo Referenciado ECF
   // BlocoC500() // Luz, Agua e Gas
   // BlocoC501() // Complemento 500 Pis
   // BlocoC505() // Complemento 500 Cofins
   // BlocoC600() // Consolidacao Luz,Agua,Gas
   // BlocoC601() // Complemento 0600 Pis
   // BlocoC605() // Complemento 0600 Cofins
   // BlocoC609() // Processo Referenciado 0600
   // BlocoC800() // Cupom Fiscal Eletronico
   // BlocoC810() // Detalhamento C800 Pis
   // BlocoC820() // Detalhamento C800 Cofins
   // BlocoC830() // Processo Referenciado C800
   // BlocoC860() // Identificacao Equipamento SAT-CFe
   // BlocoC870() // Detalhamento Cupom Pis
   // BlocoC880() // Detalhamento Cupom Cofins
   BlocoC990() // Encerramento Bloco C

   // --------------------- BlocoD - Documentos Fiscais II Servicos ICMS

   BlocoD001() // Abertura
   // BlocoD010() // Identificacao do Estabelecimento
   // BlocoD100() // Aquisicao Serv Transp
   // BlocoD101() // Complemento Pis
   // BlocoD105() // Complemento Cofins
   // BlocoD111() // Processo Referenciado
   // BlocoD200() // Resumo Diario Serv Transp
   // BlocoD201() // Total Diario Pis
   // BlocoD205() // Total Diario Cofins
   // BlocoD209() // Processo Referenciado
   // BlocoD300() // Resumo Diario
   // BlocoD309() // Processo Referenciado
   // BlocoD350() // Resumo Diario Cupom ECF
   // BlocoD359() // Processo Referenciado
   // BlocoD500() // NF Comunicacao/Telecomunicacao
   // BlocoD501() // Complemento Pis
   // BlocoD509() // Complemento Cofins
   // BlocoD600() // Processo Referenciado
   // BlocoD601() // Consolidacao
   // BlocoD605() // Complemento Consolidacao
   // BlocoD609() // Processo Referenciado
   BlocoD990() // Encerramento

   IF mTipoSped == "F"
      // --------------------- BLOCOE -
      BlocoE001() // Abertura
      BlocoE100() // Movimento
      BlocoE110() // Apuracao ICMS
      BlocoE990() // Encerramento
   ENDIF

   // --------------------- BlocoF - Demais Documentos e Operacoes

   IF mTipoSped == "P"
      BlocoF001() // Abertura
      // BlocoF010() // Identificacao do Estabelecimento
      // BlocoF100() // Demais Doc
      // BlocoF111() // Processo Referenciado
      // BlocoF120() // Bens Ativo Depreciacao
      // BlocoF129() // Processo Referenciado
      // BLocoF130() // Bens Ativo Aquisicao
      // BlocoF139() // Processo Referenciado
      // BlocoF150() // Credito Presumido sobre estoque
      // BlocoF200() // Ativ.Imobiliaria Venda
      // BlocoF205() // Ativ.Imobiliaria Custo
      // BlocoF210() // Ativ.Imobiliaria Custo
      // BlocoF211() // Processo Referenciado
      // BlocoF500() // Consolidacao Regime de Caixa
      // BlocoF509() // Processo Referenciado
      // BlocoF510() // Consolidacao Regime de Caixa por unidade
      // BlocoF519() // Processo Referenciado
      // BlocoF525() // Composicao Receita Regime de Caixa
      // BlocoF550() // Consolidacao Regime de Competencia
      // BlocoF559() // Processo Referenciado
      // BlocoF560() // Consolidacao Regime Competencia por Unidade
      // BlocoF569() // Processo Referenciado
      // BlocoF600() // Contribuicao Retida na fonte
      // BlocoF700() // Deducoes Diversas
      // BlocoF800() // Creditos Incorporacao,Fusao e Cisao
      BlocoF990() // Encerramento
   ENDIF

   IF mTipoSped == "F"

      // --------------------BlocoG - Controle de Credito de ICMS do Ativo Permanente - CIAP
      BlocoG001()
      BlocoG990()

      // --------------------BlocoH - Inventario Fisico
      BlocoH001()
      BlocoH990()

   ENDIF

   // -------------------- BlocoI

   IF mTipoSped == "P"

      // -------------------- BlocoM - Apuracao da Contribuicao e Credito PIS e COFINS

      BlocoM001() // Abertura
      // BlocoM100() // Credito Pis Periodo
      // BlocoM105() // Detalhamento Pis
      // BlocoM110() // Ajustes de Credito
      BlocoM200() // Consolidacao Pis
      // BlocoM210()// Detalhamento Pis
      // BlocoM211() // Cooperativas Pis
      // BlocoM220() // Ajustes Pis
      // BlocoM230() // Inf. Adicionais Pis
      // BlocoM300() // Pis Anteriores
      // BlocoM350() // Pis Folha de Salarios
      BlocoM400() // Receitas Isentas
      BlocoM410() // Detalhamento Isentas
      // BlocoM500() // Credito Cofins
      // BlocoM505() // Consolidacao Cofins
      // BlocoM510() // Ajustes Cofins
      BlocoM600() // Consolidacao Cofins
      // BlocoM610() // Detalhamento Cofins
      // BlocoM611() // Cooperativas Cofins
      // BlocoM620() // Ajustes Cofins
      // BlocoM630() // Inf.Adicionais Cofins
      // BlocoM700() // Cofins Anteriores
      BlocoM800() // Isentas Cofins
      BlocoM810() // Detalhamento Isentas
      BlocoM990() // Encerramento

   ENDIF

   // -------------------- BlocoP

   // ------------------- Bloco1 - Complemento da Escrituracao
   Bloco1001()
   // Bloco1010()
   // Bloco1020()
   // Bloco1100()
   // Bloco1101()
   // Bloco1102()
   // Bloco1200()
   // Bloco1210()
   // Bloco1220()
   // Bloco1300()
   // Bloco1500()
   // Bloco1501()
   // Bloco1502()
   // Bloco1600()
   // Bloco1610()
   // Bloco1620()
   // Bloco1700()
   // Bloco1800()
   // Bloco1809()
   // Bloco1900()
   Bloco1990()

   // --------------------- Bloco9 - Encerramento

   Bloco9001() // Abertura
   Bloco9900() // Totalizacao dos blocos
   Bloco9990() // Encerramento bloco
   Bloco9999() // Encerramento Geral

   SET CONSOLE ON
   SET ALTERNATE OFF
   SET ALTERNATE TO
   fDelEof( mFileSped )

   MsgExclamation( "Fim da Geracao" )

   RETURN
José M. C. Quintas
Harbour 3.4, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, hbnetio, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
Avatar de usuário

JoséQuintas
Colaborador

Colaborador
 
Mensagens: 14366
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 13 vezes
Mens.Curtidas: 859 vezes

Meu modo de trabalho

Mensagempor JoséQuintas » 17 Jun 2020 22:39

jppedido.png


De 195 linhas, baixou pra 133.

Só lembrando:
- primeiro é eliminar a necessidade de leitura do JPPEDIDO.DBF, parte desses vão continuar existindo nesta etapa
- só depois, é eliminar a gravação no DBF, o que significa apagar tudo que sobrar.

Sem pressa, apesar de muito empolgado em terminar.
José M. C. Quintas
Harbour 3.4, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, hbnetio, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
Avatar de usuário

JoséQuintas
Colaborador

Colaborador
 
Mensagens: 14366
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 13 vezes
Mens.Curtidas: 859 vezes

Meu modo de trabalho

Mensagempor JoséQuintas » 18 Jun 2020 18:18

jppedido.png


Tá quase, 62 linhas - provavelmente metade disso.
José M. C. Quintas
Harbour 3.4, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, hbnetio, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
Avatar de usuário

JoséQuintas
Colaborador

Colaborador
 
Mensagens: 14366
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 13 vezes
Mens.Curtidas: 859 vezes

Meu modo de trabalho

Mensagempor JoséQuintas » 19 Jun 2020 11:55

jppedido.png


Acho que acabou.
Parece que só sobraram gravação dupla e conversão.

Vou ter que atualizar no cliente agora.

Situação atual: está atualizando JPPEDIDO.DBF, e não usa pra mais nada.

Próximas etapas:

1. Eliminar gravações em JPPEDIDO.dbf, não precisa mais salvar

2. Eliminar SELECT, SEEK, etc. em JPPEDIDO, já que não salva, e nem usa

3. Eliminar abertura de JPPEDIDO, reindexação,etc.

4. Apagar o DBF

Seguindo essa ordem, os fontes estão sempre "usáveis".
José M. C. Quintas
Harbour 3.4, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, hbnetio, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
Avatar de usuário

JoséQuintas
Colaborador

Colaborador
 
Mensagens: 14366
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 13 vezes
Mens.Curtidas: 859 vezes

Meu modo de trabalho

Mensagempor JoséQuintas » 19 Jun 2020 12:51

Sempre tem mais ajustes.

   @ Row()+1, 1 SAY "Pedido...........:" GET nIdPedido PICTURE "999999" VALID nIdPedido == 0 .OR. Encontra( StrZero( nIdPedido, 6 ), "jppedido", "pedido" )


Nesse não tem o JPPEDIDO->, mas faz uso dele

Mas a alteração é simples, parece até mais "legível".

   @ Row()+1, 1 SAY "Pedido...........:" GET nIdPedido PICTURE "999999" VALID nIdPedido == 0 .OR. ADORecCount( "JPPEDIDO", "IDPEDIDO = " + NumberSQL( nIdPedido ) ) != 0


ADORecCount() é uma função que conta registros. é passar a tabela e o "WHERE".
Equivale ao anterior, mas sem precisar abrir arquivo nem índice, basta pedir ao SQL.

Então.... no meu modo de trabalho, tranquilo alterar isso agora.
Mas dependendo do fonte de cada pessoa, poderia ser problema.
José M. C. Quintas
Harbour 3.4, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, hbnetio, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
Avatar de usuário

JoséQuintas
Colaborador

Colaborador
 
Mensagens: 14366
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 13 vezes
Mens.Curtidas: 859 vezes

Meu modo de trabalho

Mensagempor JoséQuintas » 19 Jun 2020 13:01

Nesta penúltima etapa é pesquisar JPPEDIDO->, SELECT JPPEDIDO, e "JPPEDIDO", todos os possíveis usos.

jppedido.png


Tá sobrando só em AbreArquivos(), e em comando ADO.

Porque já não apagar o uso em AbreArquivos()?
Ter o arquivo aberto não é problema, o problema é precisar dele e ele NÃO estar aberto.
Então essa vai ser a parte final.

É ter o aplicativo sempre funcionando... não importa se terminei ou não, ou se vou trocar no cliente ou não.
A qualquer momento, se precisar instalar o aplicativo por algum erro... vou poder instalar.
José M. C. Quintas
Harbour 3.4, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, hbnetio, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
Avatar de usuário

JoséQuintas
Colaborador

Colaborador
 
Mensagens: 14366
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 13 vezes
Mens.Curtidas: 859 vezes

Meu modo de trabalho

Mensagempor JoséQuintas » 19 Jun 2020 13:24

30/12/2019  21:50               163 cthisto.dbf
30/12/2019  21:50               259 jpbaauto.dbf
30/12/2019  21:52               291 jprefcta.dbf
30/12/2019  21:50               355 ctlotes.dbf
30/12/2019  21:50               387 ctlanca.dbf
30/12/2019  21:50               483 jpcontabil.dbf
03/03/2020  02:44             2.799 jpfiscal.DBF
30/12/2019  21:50             5.335 jpempresa.dbf
18/06/2020  14:10             5.923 jpnumero.dbf
30/12/2019  21:50             6.691 ctplano.dbf
30/12/2019  21:52             7.416 jpuf.dbf
30/12/2019  21:50             7.839 jpbagrup.dbf
18/06/2020  14:10            10.278 jpconfi.dbf
30/12/2019  21:52           118.525 jptabel.dbf
26/05/2020  10:07           273.170 jpsenha.dbf
30/12/2019  21:50           301.112 jpdolar.dbf
08/06/2020  17:11           478.728 jppreco.DBF
03/03/2020  02:33         1.254.539 jpcidade.dbf
29/05/2020  11:56         1.254.826 jppretab.DBF
18/06/2020  14:12         1.373.222 jpitem.DBF
30/03/2020  06:42         2.264.308 jpmdfcab.DBF
30/03/2020  06:41         5.929.799 jpmdfdet.DBF
16/06/2020  12:09        11.004.331 jpcadastro.DBF
08/06/2020  16:59        16.290.814 jpbancario.dbf
18/06/2020  14:12       163.474.850 JPPEDIDO.DBF
              25 arquivo(s)    204.066.443 bytes


Muito trabalho ainda pela frente, apesar de estar eliminando o maior que restava, pra maioria dos clientes.

Dentre esses, o CONTABIL é o que mais vai dar trabalho, porque representa uma aplicação inteira, muitos fontes, apesar de mais simples que todo resto.
Ou talvez o fiscal.... Se eu deixar só o SPED e apagar tudo que é relatório, vai simplificar.
José M. C. Quintas
Harbour 3.4, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, hbnetio, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
Avatar de usuário

JoséQuintas
Colaborador

Colaborador
 
Mensagens: 14366
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 13 vezes
Mens.Curtidas: 859 vezes

Anterior Próximo



Retornar para Contribuições, Dicas e Tutoriais

Quem está online

Usuários vendo este fórum: Nenhum usuário registrado online e 6 visitantes


Ola Amigo, espero que meu site e forum tem lhe beneficiado, com exemplos e dicas de programacao.
Entao divulgue o link da Doacao abaixo para seus amigos e redes sociais ou faça uma doacao para o site forum...
MUITO OBRIGADO PELA SUA DOACAO!
Faça uma doação para o forum
cron
v
Olá visitante, seja bem-vindo ao Fórum Clipper On Line!
Efetue o seu login ou faça o seu Registro