Queimou o HD do meu PC, desculpe a demora, bem, eu resolvi colocando uma mensagem por meio segundo e o windows não mais entendeu que o sistema não estava respondendo. Usei a MessageBoxTimeout();
MessageBoxTimeout('id: ' + ltrim(str(n,10)) + ' - ' + Left(alltrim(clie_dbf->NOME),28), "Clientes",, 500).
Código: Selecionar todos
clie_dbf->(dbGoTop())
do while clie_dbf->(!EOF())
nTime++
if nTime > 300
nTime := 0
MessageBoxTimeout('id: ' + ltrim(str(n,10)) + ' - ' + Left(alltrim(clie_dbf->NOME),28), "Clientes",, 2000)
end
//hmg_processmessage()
Main.ProgressBar_LoadClientes.Value := Main.ProgressBar_LoadClientes.Value + 1
if ClieValido()
cSQL := "INSERT INTO clientes ("
cSQL += "clie_id, "
cSQL += "clie_categoria, "
cSQL += "clie_ativo, "
cSQL += "clie_tipo_documento, "
cSQL += "emp_id, "
cSQL += "clie_razao_social, "
cSQL += "clie_tipo_estabelecimento, "
cSQL += "clie_cnpj, "
cSQL += "clie_ie_isento, "
cSQL += "clie_inscr_estadual, "
cSQL += "clie_contrib_icms, "
cSQL += "clie_cpf, "
cSQL += "clie_situacao_cadastral, "
cSQL += "clie_logradouro, "
cSQL += "clie_numero, "
cSQL += "clie_complemento, "
cSQL += "clie_bairro, "
cSQL += "clie_cep, "
cSQL += "cid_id, "
cSQL += "clie_fone1, "
cSQL += "clie_fone2, "
cSQL += "clie_seguradora, "
cSQL += "clie_apolice, "
cSQL += "clie_forma_aplicar_seguro, "
cSQL += "clie_seguro_desconto, "
cSQL += "clie_seguro_intra_estadual, "
cSQL += "clie_seguro_inter_estadual, "
cSQL += "clie_seguro_adval_tipo_1, "
cSQL += "clie_seguro_adval_tipo_2, "
cSQL += "clie_tom_aceita_frete_pago, "
cSQL += "clie_tom_aceita_frete_a_pagar, "
cSQL += "clie_tom_aceita_frete_outros, "
cSQL += "clie_tom_aceita_suframa, "
cSQL += "clie_tom_tabela, "
cSQL += "clie_des_aceita_frete_a_pagar, "
cSQL += "clie_des_inscricao_suframa, "
cSQL += "clie_codigo_antigo) "
cSQL += "VALUES ("
n++
Main.Label_contador.Value := 'id: ' + ltrim(str(n,10)) + ' - ' + Left(alltrim(clie_dbf->NOME),28)
cSQL += ltrim(str(n)) + ", "
cSQL += "4, " // Categoria: 0 - Remetente, 1 - Expedidor, 2 - Recebedor, 3 - Destinatário, 4 - Todos
// Ativa ou Inativa o cliente por inconsistencia no cpf ou cnpj
if clie_dbf->FIS_JUR == "F"
if CPF( HMG_PADR(allTrim(clie_dbf->CGC),11,"0") )
cSQL += "1, " // Cliente Ativo no sistema, seu CPF é válido
cSituacao := "NULL, " // Situação Cadastral (N/A)
else
cSQL += "0, " // Cliente Inativado, seu CPF não é válido
cSituacao := "'CPF INVALIDO', " // Situação Cadastral
end
else
if is_cnpj( HMG_PADR(allTrim(clie_dbf->CGC),14,"0") )
cSQL += "1, " // Cliente Ativo no sistema, seu CNPJ é válido
cSituacao := "NULL, " // Situação Cadastral (N/A)
else
cSQL += "0, " // Cliente Inativado, seu CPF não é válido
cSituacao := "'CNPJ INVALIDO', " // Situação Cadastral
end
end
cSQL += iif(clie_dbf->FIS_JUR == 'F', "'CPF', ", "'CNPJ', ")
cSQL += "1, " // Empresa: 1 - Alexpress AP
cSQL += "'" + clie_dbf->NOME + "', "
do case
case clie_dbf->ESTABELEC == "C"
cSQL += "'COMERCIAL', "
case clie_dbf->ESTABELEC == "T"
cSQL += "'TRANSPORTADORA', "
case clie_dbf->ESTABELEC == "I"
cSQL += "'INDÚSTRIA', "
case clie_dbf->ESTABELEC == "M"
cSQL += "'COMUNICAÇÕES', "
case clie_dbf->ESTABELEC == "E"
cSQL += "'ENERGIA ELÉTRICA', "
case clie_dbf->ESTABELEC == "R"
cSQL += "'PRODUTOR RURAL', "
case clie_dbf->FIS_JUR == 'F'
cSQL += "'PESSOA FÍSICA', "
otherwise
cSQL += "'COMERCIAL', "
endcase
cSQL += iif( !(clie_dbf->FIS_JUR=="F"), "'" + HMG_PADR(allTrim(clie_dbf->CGC),14,"0") + "', ", "NULL, " )
cSQL += clie_isento() + ", "
if (clie_dbf->FIS_JUR=="F")
x := "NULL"
else
x := extrai_numero(clie_dbf->INSCRICAO)
if empty(x)
x := "NULL"
else
x := "'" + x + "'"
end
end
cSQL += x + ", " // Inscricao Estadual
cSQL += if(clie_dbf->ICMSC=="S", "1","0") + ", "
cSQL += if( clie_dbf->FIS_JUR=="F", "'" + HMG_PADR(allTrim(clie_dbf->CGC),11,"0") + "', ", "NULL, " )
cSQL += cSituacao // Situação Cadastral
cSQL += "'" + clie_dbf->ENDERECO + "', "
cSQL += "'" + if(empty(clie_dbf->NUMERO), "S/N", clie_dbf->NUMERO) + "', "
cSQL += "'" + clie_dbf->COMPLEMEN + "', "
cSQL += "'" + clie_dbf->BAIRRO + "', "
cSQL += "'" + clie_dbf->CEP + "', "
cSQL += ltrim(str(nCid_id)) + ", "
x := extrai_numero(clie_dbf->FONE)
if empty(x)
x := "NULL"
else
x := "'" + HB_ULEFT(x,2) + " " + HB_USUBSTR( x, 3 ) + "'"
end
cSQL += x + ", "
x := extrai_numero(clie_dbf->FAX)
if empty(x)
x := "NULL"
else
x := "'" + HB_ULEFT(x,2) + " " + HB_USUBSTR( x, 3 ) + "'"
end
cSQL += x + ", "
if empty(clie_dbf->SEGURA)
cSQL += "NULL, NULL, "
else
x := alltrim(clie_dbf->SEGURA)
if HMG_LEN(x) < 4 .or. HMG_LEN(alltrim(clie_dbf->APOLICE)) < 4
cSQL += "NULL, NULL, "
else
cSQL += "'" + x + "', "
cSQL += "'" + alltrim(clie_dbf->APOLICE) + "', "
end
end
cSQL += "2, 0, "
cSQL += ltrim(str(clie_dbf->TXSEGINTRA,9,6)) + ", "
cSQL += ltrim(str(clie_dbf->TXSEGINTER,9,6)) + ", "
cSQL += "0, 0, 1, 1, 0, "
cSQL += if(clie_dbf->SUFRAMA=="S", "1","0") + ", "
if clie_dbf->CODTABGL > "699"
cSQL += "'ESPECIAL', "
else
cSQL += "'NACIONAL', "
end
cSQL += iif(clie_dbf->FOB=="N","1","0") + ", "
cSQL += iif(empty(clie_dbf->INSCRSUFR), "NULL, ", "'" + clie_dbf->INSCRSUFR + "', ")
cSQL += "'" + clie_dbf->CODIGO + "');"
oQuery := ExecutaQuery(cSQL)
if !ExecutouQuery(@oQuery,cSQL)
FSEEK(nHlCli,0,2)
FWRITE(nHlCli,"COMANDO SQL ----------------------" + CRLF + cSQL + CRLF + CRLF + "ERRO SQL -------------------------" + CRLF + "ERRO DE CONEXÃO COM O SERVIDOR" + CRLF + CRLF + CRLF)
aadd(aErros, {str(n,10), alltrim(clie_dbf->NOME), "ERRO DE CONEXÃO COM O SERVIDOR"})
Exit
end
if oQuery:NetErr()
FSEEK(nHlCli,0,2)
FWRITE(nHlCli,"COMANDO SQL ----------------------" + CRLF + cSQL + CRLF + CRLF + "ERRO SQL -------------------------" + CRLF + oQuery:Error() + CRLF + CRLF + CRLF)
aadd(aErros, {str(n,10), alltrim(clie_dbf->NOME), oQuery:Error()})
else
Grava_Contatos(n)
Grava_clieFaturas(n)
end
end
clie_dbf->(dbSkip())
enddo