×
Linguagem de Programação ADVPL
Perguntas Error Log
- de019
- Autor do Tópico
- Desconectado
- Membro Sénior
Menos
Mais
- Postagens: 66
- Obrigados Recebidos: 0
11 anos 8 meses atrás #11004
por de019
Boa tarde pessoal
Estou com um pequeno problema... estou tentando importar uns arquivos em .csv atreves de um fonte que criei para o protheus e quando vou importar ele da o seguinte error log:
THREAD ERROR (AndréLuis, ANDRE-PC) 25/02/2013 15:57:10
DB error (Insert): -37 File: SN1010 - Error : 2601 (23000) - [Microsoft][ODBC SQL Server Driver][SQL Server]Cannot insert duplicate key row in object 'dbo.SN1010' with unique index 'SN1010_UNQ'.( SQL Statement : INSERT INTO dbo.SN1010(N1_FILIAL,N1_CBASE,N1_ITEM,N1_AQUISIC,N1_DESCRIC,N1_CHAPA,N1_GRUPO,N1_NSERIE,N1_STATUS,N1_PATRIM,N1_NFISCAL,N1_VLAQUIS,R_E_C_N_O_) VALUES ( '01','0000001403','1 ','20090119','APARELHO DE FAX PANASONIC KXFP 932 ',' ',' ',' ','0','N','753 ',499.0000000000,1588) ) ( From tISAMFile::Write )
Alguem tem alguma ideia do que fazer... estou perdido.
Obrigado!
Estou com um pequeno problema... estou tentando importar uns arquivos em .csv atreves de um fonte que criei para o protheus e quando vou importar ele da o seguinte error log:
THREAD ERROR (AndréLuis, ANDRE-PC) 25/02/2013 15:57:10
DB error (Insert): -37 File: SN1010 - Error : 2601 (23000) - [Microsoft][ODBC SQL Server Driver][SQL Server]Cannot insert duplicate key row in object 'dbo.SN1010' with unique index 'SN1010_UNQ'.( SQL Statement : INSERT INTO dbo.SN1010(N1_FILIAL,N1_CBASE,N1_ITEM,N1_AQUISIC,N1_DESCRIC,N1_CHAPA,N1_GRUPO,N1_NSERIE,N1_STATUS,N1_PATRIM,N1_NFISCAL,N1_VLAQUIS,R_E_C_N_O_) VALUES ( '01','0000001403','1 ','20090119','APARELHO DE FAX PANASONIC KXFP 932 ',' ',' ',' ','0','N','753 ',499.0000000000,1588) ) ( From tISAMFile::Write )
Alguem tem alguma ideia do que fazer... estou perdido.
Obrigado!
Por favor Acessar ou Registrar para participar da conversa.
- lalberto
- Desconectado
- Administrador
Menos
Mais
- Postagens: 3676
- Obrigados Recebidos: 6
11 anos 8 meses atrás #11005
por lalberto
Luiz Alberto Vieira Alves
Proprietário
55 (12) 9 8256-5905 (Vivo)
www.3lsystems.com.br
www.masteradvpl.com.br
Andre boa tarde, aparentemente o item que deseja importar já existe na tabela SN1, o ideal é sua rotina efetuar um dbseek a cada item a ser importado pra verificar se existe ou não já na tabela, ai vc evita este tipo de erro ok.
Abraços.
Abraços.
Luiz Alberto Vieira Alves
Proprietário
55 (12) 9 8256-5905 (Vivo)
www.3lsystems.com.br
www.masteradvpl.com.br
Por favor Acessar ou Registrar para participar da conversa.
- de019
- Autor do Tópico
- Desconectado
- Membro Sénior
Menos
Mais
- Postagens: 66
- Obrigados Recebidos: 0
11 anos 8 meses atrás #11021
por de019
Luiz da uma olhada no meu fonte... onde devo colocar os dbseek!?
#INCLUDE "Protheus.ch"
/*
ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ
±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
±±ÉÍÍÍÍÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍËÍÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍËÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍÍÍÍ»±±
±±ºPrograma ³ AUTATF ºAutor ³André Luis de O. º Data ³ 09/02/13 º±±
±±ÌÍÍÍÍÍÍÍÍÍÍØÍÍÍÍÍÍÍÍÍÍÊÍÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÊÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÍÍ͹±±
±±ºDesc. ³Importacao de ativos fixos e saldos acumulados de deprecia- º±±
±±º ³cao º±±
±±ÈÍÍÍÍÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ±±
±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß
*/
User Function AUTATF()
Local cFileImp := cGetFile()
If Empty(cFileImp)
MsgAlert("Atenção, informe um arquivo antes de importar os ativos fixos.")
Return(Nil)
EndIf
Processa({|| ImpAtivo(cFileImp) })
Return(Nil)
Static Function ImpAtivo(cFileImp)
Local cLinha := ""
Local cLog := ""
Local lErro := .F.
Local aLinha := {}
Local nLinha := 0
Local nUltPos:= 1
Local i
//Carrega o arquivo
FT_FUse(cFileImp)
ProcRegua(FT_FLastRec())
FT_FGoTop()
While !FT_FEof()
IncProc()
nLinha++
lErro := .F.
cLinha := FT_FReadLn()
aLinha := {}
For i := 1 To Len(cLinha)
If SubStr(cLinha,i,1) == ";" .Or. i == Len(cLinha)
AAdd(aLinha,SubStr(cLinha,nUltPos,i-nUltPos))
nUltPos := i + 1
EndIf
Next i
//Validacoes em geral
If Len(aLinha) <> 29
cLog += "Linha: " + StrZero(nLinha,4) + " - Erro: LINHA NAO POSSUI AS 29 COLUNAS PREVISTAS NO LAYOUT"+Chr(13)+Chr(10)
lErro:= .T.
EndIf
If Empty(aLinha[2]) .Or. !(aLinha[2] $ "A|C|D|I|N|P")
cLog += "Linha: " + StrZero(nLinha,4) + " - Erro: COLUNA CLASSIFICACAO NAO INFORMADA OU CONTEUDO INVALIDO"+Chr(13)+Chr(10)
lErro:= .T.
EndIf
dbSelectArea("SN1")
SN1->(dbSetOrder(1))
If Empty(aLinha[3]) .Or. SN1->(dbSeek(xFilial("SN1")+aLinha[3] ))
cLog += "Linha: " + StrZero(nLinha,4) + " - Erro: COLUNA CODIGO DO BEM NAO INFORMADA OU CODIGO INFORMADO JA EXISTE NO SISTEMA"+Chr(13)+Chr(10)
lErro:= .T.
EndIf
If Empty(aLinha[4])
cLog += "Linha: " + StrZero(nLinha,4) + " - Erro: COLUNA ITEM NAO INFORMADA"+Chr(13)+Chr(10)
lErro:= .T.
EndIf
If Empty(aLinha[5]) .Or. (Empty(CToD(aLinha[5])) .And. Empty(SToD(aLinha[5])))
cLog += "Linha: " + StrZero(nLinha,4) + " - Erro: COLUNA DATA AQUISICAO NAO INFORMADA OU CONTEUDO NAO É UMA DATA VALIDA."+Chr(13)+Chr(10)
lErro:= .T.
EndIf
If Empty(aLinha[6])
cLog += "Linha: " + StrZero(nLinha,4) + " - Erro: COLUNA DESCRICAO NAO INFORMADA"+Chr(13)+Chr(10)
lErro:= .T.
EndIf
//If Empty(aLinha[6])
// cLog += "Linha: " + StrZero(nLinha,4) + " - Erro: COLUNA DESCRICAO NAO INFORMADA"+Chr(13)+Chr(10)
// lErro:= .T.
//EndIf
If Empty(aLinha[11]) .Or. !(aLinha[11] $ "0|1|2|3|4")
cLog += "Linha: " + StrZero(nLinha,4) + " - Erro: COLUNA STATUS NAO INFORMADA OU O CONTEUDO NAO É VALIDO."+Chr(13)+Chr(10)
lErro:= .T.
EndIf
If Empty(aLinha[12])
cLog += "Linha: " + StrZero(nLinha,4) + " - Erro: COLUNA TIPO ATIVO NAO INFORMADA"+Chr(13)+Chr(10)
lErro:= .T.
EndIf
If Empty(aLinha[13])
cLog += "Linha: " + StrZero(nLinha,4) + " - Erro: COLUNA HISTORICO NAO INFORMADA"+Chr(13)+Chr(10)
lErro:= .T.
EndIf
If Empty(aLinha[14])
cLog += "Linha: " + StrZero(nLinha,4) + " - Erro: COLUNA CONTA CONTABIL DO BEM NAO INFORMADA"+Chr(13)+Chr(10)
lErro:= .T.
EndIf
If Empty(aLinha[16])
cLog += "Linha: " + StrZero(nLinha,4) + " - Erro: COLUNA CONTA CONTABIL DE DEBITO DA DEPRECIACAO DO BEM NAO INFORMADA"+Chr(13)+Chr(10)
lErro:= .T.
EndIf
If Empty(aLinha[18])
cLog += "Linha: " + StrZero(nLinha,4) + " - Erro: COLUNA CONTA CONTABIL DE CREDITO DA DEPRECIACAO DO BEM NAO INFORMADA"+Chr(13)+Chr(10)
lErro:= .T.
EndIf
//If Empty(aLinha[19]) .Or. (Empty(CToD(aLinha[19])) .And. Empty(SToD(aLinha[19])))
// cLog += "Linha: " + StrZero(nLinha,4) + " - Erro: COLUNA DATA INICIO DEPRECIACAO NAO INFORMADA OU CONTEUDO NAO É UMA DATA VALIDA."+Chr(13)+Chr(10)
// lErro:= .T.
//EndIf
If Empty(aLinha[20]) .Or. Val(aLinha[20]) <= 0
cLog += "Linha: " + StrZero(nLinha,4) + " - Erro: COLUNA VALOR ORIGINAL DO BEM NAO INFORMADA OU CONTEUDO NAO É UM NUMERO VALIDO"+Chr(13)+Chr(10)
lErro:= .T.
EndIf
If lErro
FT_FSkip()
Loop
EndIf
//Faz a importacao do ativo e mapa de depreciacao
//Gera o grupo caso o mesmo esteja informado e atualiza a tabela de ativo
If !Empty(aLinha[1])
dbSelectArea("SNG")
SNG->(dbSetOrder(1))
If !SNG->(dbSeek(xFilial("SNG")+AllTrim(aLinha[1])))
SNG->(RecLock("SNG",.T.))
SNG->NG_FILIAL := xFilial("SNG")
SNG->NG_GRUPO := AllTrim(aLinha[1])
SNG->NG_DESCRIC := AllTrim(aLinha[25])
SNG->(MsUnlock())
EndIf
/* dbSelectArea("SN1")
SN1->(RecLock("SN1",.F.))
SN1->N1_GRUPO := SNG->NG_GRUPO
SN1->(MsUnlock())
*/
EndIf
dbSelectArea("SN1")
SN1->(RecLock("SN1",.T.))
SN1->N1_FILIAL := xFilial("SN1")
/*dbSelectArea("SNG")
SNG->(dbSetOrder(1))
If SNG->(dbSeek(xFilial("SNG")+AllTrim(aLinha[1]) ))
SN1->N1_GRUPO := SNG->NG_GRUPO
else*/
SN1->N1_GRUPO := AllTrim(aLinha[1])
// endIF
SN1->N1_PATRIM := aLinha[2]
SN1->N1_CBASE := STRZERO(VAL(aLinha[3]),10)
SN1->N1_ITEM := aLinha[4]
If !Empty(aLinha[5])
SN1->N1_AQUISIC := CToD(aLinha[5])
else
SN1->N1_AQUISIC := CTOD("01/01/2000")
endif
SN1->N1_DESCRIC := Upper(aLinha[6])
SN1->N1_QUANTD := Val(aLinha[7])
SN1->N1_CHAPA := Upper(aLinha[8])
SN1->N1_NSERIE := Upper(aLinha[9])
SN1->N1_NFISCAL := Upper(aLinha[10])
SN1->N1_STATUS := aLinha[11]
SN1->N1_VLAQUIS := Val(aLinha[20])
If !Empty(aLinha[26])
SN1->N1_BAIXA :=CToD(aLinha[26])
else
SN1->N1_BAIXA := CTOD(" / / ")
ENDIF
SN1->(MsUnlock())
dbSelectArea("SN3")
SN3->(RecLock("SN3",.T.))
SN3->N3_FILIAL := xFilial("SN3")
SN3->N3_CBASE := STRZERO(VAL(aLinha[3]),10)
SN3->N3_ITEM := aLinha[4]
SN3->N3_TIPO := aLinha[12]
SN3->N3_TPSALDO := "1"
If !Empty(aLinha[26])
SN3->N3_BAIXA := "1"
else
SN3->N3_BAIXA := "0"
ENDIF
If !Empty(aLinha[5])
SN3->N3_AQUISIC := CToD(aLinha[5])
else
SN3->N3_AQUISIC := CTOD("01/01/2000")
endif
SN3->N3_HISTOR := Upper(aLinha[13])
SN3->N3_CCONTAB := aLinha[14]
SN3->N3_CUSTBEM := aLinha[15]
SN3->N3_CDEPREC := aLinha[16]
SN3->N3_CCUSTO := aLinha[17]
SN3->N3_CCDEPR := aLinha[18]
If !Empty(aLinha[19])
SN3->N3_DINDEPR := CToD(aLinha[19])
else
SN3->N3_DINDEPR := CTOD("01/01/2000")
endif
SN3->N3_VORIG1 := Val(aLinha[20])
SN3->N3_TXDEPR1 := Val(aLinha[21])
SN3->N3_VRDBAL1 := Val(aLinha[22])
SN3->N3_VRDMES1 := Val(aLinha[23])
SN3->N3_VRDACM1 := Val(aLinha[24])
SN3->(MsUnlock())
cLog += "Linha: " + StrZero(nLinha,4) + " - Sucesso: REGISTRO IMPORTADO COM SUCESSO"+Chr(13)+Chr(10)
FT_FSkip()
EndDo
nHdl := FCreate("D:\temp\LOG_IMP_ATIVO.LOG")
If nHdl <= 0
MsgAlert("Atencao, nao foi possivel criar o arquivo de LOG na unidade C:\. Verifique as permissões de acesso.")
Return(Nil)
Else
FWrite(nHdl,"LOG DA IMPORTACAO DO ATIVO FIXO"+Chr(13)+Chr(10)+"Arquivo Importado: " + cFileImp+ Chr(13)+Chr(10))
FWrite(nHdl,Replicate("-",220)+Chr(13)+Chr(10))
FWrite(nHdl,cLog)
FClose(nHdl)
MsgAlert("Importação concluida. Verifique o arquivo de LOG em C:\LOG_IMP_ATIVO.LOG")
EndIf
Return(Nil)
#INCLUDE "Protheus.ch"
/*
ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ
±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
±±ÉÍÍÍÍÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍËÍÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍËÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍÍÍÍ»±±
±±ºPrograma ³ AUTATF ºAutor ³André Luis de O. º Data ³ 09/02/13 º±±
±±ÌÍÍÍÍÍÍÍÍÍÍØÍÍÍÍÍÍÍÍÍÍÊÍÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÊÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÍÍ͹±±
±±ºDesc. ³Importacao de ativos fixos e saldos acumulados de deprecia- º±±
±±º ³cao º±±
±±ÈÍÍÍÍÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ±±
±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß
*/
User Function AUTATF()
Local cFileImp := cGetFile()
If Empty(cFileImp)
MsgAlert("Atenção, informe um arquivo antes de importar os ativos fixos.")
Return(Nil)
EndIf
Processa({|| ImpAtivo(cFileImp) })
Return(Nil)
Static Function ImpAtivo(cFileImp)
Local cLinha := ""
Local cLog := ""
Local lErro := .F.
Local aLinha := {}
Local nLinha := 0
Local nUltPos:= 1
Local i
//Carrega o arquivo
FT_FUse(cFileImp)
ProcRegua(FT_FLastRec())
FT_FGoTop()
While !FT_FEof()
IncProc()
nLinha++
lErro := .F.
cLinha := FT_FReadLn()
aLinha := {}
For i := 1 To Len(cLinha)
If SubStr(cLinha,i,1) == ";" .Or. i == Len(cLinha)
AAdd(aLinha,SubStr(cLinha,nUltPos,i-nUltPos))
nUltPos := i + 1
EndIf
Next i
//Validacoes em geral
If Len(aLinha) <> 29
cLog += "Linha: " + StrZero(nLinha,4) + " - Erro: LINHA NAO POSSUI AS 29 COLUNAS PREVISTAS NO LAYOUT"+Chr(13)+Chr(10)
lErro:= .T.
EndIf
If Empty(aLinha[2]) .Or. !(aLinha[2] $ "A|C|D|I|N|P")
cLog += "Linha: " + StrZero(nLinha,4) + " - Erro: COLUNA CLASSIFICACAO NAO INFORMADA OU CONTEUDO INVALIDO"+Chr(13)+Chr(10)
lErro:= .T.
EndIf
dbSelectArea("SN1")
SN1->(dbSetOrder(1))
If Empty(aLinha[3]) .Or. SN1->(dbSeek(xFilial("SN1")+aLinha[3] ))
cLog += "Linha: " + StrZero(nLinha,4) + " - Erro: COLUNA CODIGO DO BEM NAO INFORMADA OU CODIGO INFORMADO JA EXISTE NO SISTEMA"+Chr(13)+Chr(10)
lErro:= .T.
EndIf
If Empty(aLinha[4])
cLog += "Linha: " + StrZero(nLinha,4) + " - Erro: COLUNA ITEM NAO INFORMADA"+Chr(13)+Chr(10)
lErro:= .T.
EndIf
If Empty(aLinha[5]) .Or. (Empty(CToD(aLinha[5])) .And. Empty(SToD(aLinha[5])))
cLog += "Linha: " + StrZero(nLinha,4) + " - Erro: COLUNA DATA AQUISICAO NAO INFORMADA OU CONTEUDO NAO É UMA DATA VALIDA."+Chr(13)+Chr(10)
lErro:= .T.
EndIf
If Empty(aLinha[6])
cLog += "Linha: " + StrZero(nLinha,4) + " - Erro: COLUNA DESCRICAO NAO INFORMADA"+Chr(13)+Chr(10)
lErro:= .T.
EndIf
//If Empty(aLinha[6])
// cLog += "Linha: " + StrZero(nLinha,4) + " - Erro: COLUNA DESCRICAO NAO INFORMADA"+Chr(13)+Chr(10)
// lErro:= .T.
//EndIf
If Empty(aLinha[11]) .Or. !(aLinha[11] $ "0|1|2|3|4")
cLog += "Linha: " + StrZero(nLinha,4) + " - Erro: COLUNA STATUS NAO INFORMADA OU O CONTEUDO NAO É VALIDO."+Chr(13)+Chr(10)
lErro:= .T.
EndIf
If Empty(aLinha[12])
cLog += "Linha: " + StrZero(nLinha,4) + " - Erro: COLUNA TIPO ATIVO NAO INFORMADA"+Chr(13)+Chr(10)
lErro:= .T.
EndIf
If Empty(aLinha[13])
cLog += "Linha: " + StrZero(nLinha,4) + " - Erro: COLUNA HISTORICO NAO INFORMADA"+Chr(13)+Chr(10)
lErro:= .T.
EndIf
If Empty(aLinha[14])
cLog += "Linha: " + StrZero(nLinha,4) + " - Erro: COLUNA CONTA CONTABIL DO BEM NAO INFORMADA"+Chr(13)+Chr(10)
lErro:= .T.
EndIf
If Empty(aLinha[16])
cLog += "Linha: " + StrZero(nLinha,4) + " - Erro: COLUNA CONTA CONTABIL DE DEBITO DA DEPRECIACAO DO BEM NAO INFORMADA"+Chr(13)+Chr(10)
lErro:= .T.
EndIf
If Empty(aLinha[18])
cLog += "Linha: " + StrZero(nLinha,4) + " - Erro: COLUNA CONTA CONTABIL DE CREDITO DA DEPRECIACAO DO BEM NAO INFORMADA"+Chr(13)+Chr(10)
lErro:= .T.
EndIf
//If Empty(aLinha[19]) .Or. (Empty(CToD(aLinha[19])) .And. Empty(SToD(aLinha[19])))
// cLog += "Linha: " + StrZero(nLinha,4) + " - Erro: COLUNA DATA INICIO DEPRECIACAO NAO INFORMADA OU CONTEUDO NAO É UMA DATA VALIDA."+Chr(13)+Chr(10)
// lErro:= .T.
//EndIf
If Empty(aLinha[20]) .Or. Val(aLinha[20]) <= 0
cLog += "Linha: " + StrZero(nLinha,4) + " - Erro: COLUNA VALOR ORIGINAL DO BEM NAO INFORMADA OU CONTEUDO NAO É UM NUMERO VALIDO"+Chr(13)+Chr(10)
lErro:= .T.
EndIf
If lErro
FT_FSkip()
Loop
EndIf
//Faz a importacao do ativo e mapa de depreciacao
//Gera o grupo caso o mesmo esteja informado e atualiza a tabela de ativo
If !Empty(aLinha[1])
dbSelectArea("SNG")
SNG->(dbSetOrder(1))
If !SNG->(dbSeek(xFilial("SNG")+AllTrim(aLinha[1])))
SNG->(RecLock("SNG",.T.))
SNG->NG_FILIAL := xFilial("SNG")
SNG->NG_GRUPO := AllTrim(aLinha[1])
SNG->NG_DESCRIC := AllTrim(aLinha[25])
SNG->(MsUnlock())
EndIf
/* dbSelectArea("SN1")
SN1->(RecLock("SN1",.F.))
SN1->N1_GRUPO := SNG->NG_GRUPO
SN1->(MsUnlock())
*/
EndIf
dbSelectArea("SN1")
SN1->(RecLock("SN1",.T.))
SN1->N1_FILIAL := xFilial("SN1")
/*dbSelectArea("SNG")
SNG->(dbSetOrder(1))
If SNG->(dbSeek(xFilial("SNG")+AllTrim(aLinha[1]) ))
SN1->N1_GRUPO := SNG->NG_GRUPO
else*/
SN1->N1_GRUPO := AllTrim(aLinha[1])
// endIF
SN1->N1_PATRIM := aLinha[2]
SN1->N1_CBASE := STRZERO(VAL(aLinha[3]),10)
SN1->N1_ITEM := aLinha[4]
If !Empty(aLinha[5])
SN1->N1_AQUISIC := CToD(aLinha[5])
else
SN1->N1_AQUISIC := CTOD("01/01/2000")
endif
SN1->N1_DESCRIC := Upper(aLinha[6])
SN1->N1_QUANTD := Val(aLinha[7])
SN1->N1_CHAPA := Upper(aLinha[8])
SN1->N1_NSERIE := Upper(aLinha[9])
SN1->N1_NFISCAL := Upper(aLinha[10])
SN1->N1_STATUS := aLinha[11]
SN1->N1_VLAQUIS := Val(aLinha[20])
If !Empty(aLinha[26])
SN1->N1_BAIXA :=CToD(aLinha[26])
else
SN1->N1_BAIXA := CTOD(" / / ")
ENDIF
SN1->(MsUnlock())
dbSelectArea("SN3")
SN3->(RecLock("SN3",.T.))
SN3->N3_FILIAL := xFilial("SN3")
SN3->N3_CBASE := STRZERO(VAL(aLinha[3]),10)
SN3->N3_ITEM := aLinha[4]
SN3->N3_TIPO := aLinha[12]
SN3->N3_TPSALDO := "1"
If !Empty(aLinha[26])
SN3->N3_BAIXA := "1"
else
SN3->N3_BAIXA := "0"
ENDIF
If !Empty(aLinha[5])
SN3->N3_AQUISIC := CToD(aLinha[5])
else
SN3->N3_AQUISIC := CTOD("01/01/2000")
endif
SN3->N3_HISTOR := Upper(aLinha[13])
SN3->N3_CCONTAB := aLinha[14]
SN3->N3_CUSTBEM := aLinha[15]
SN3->N3_CDEPREC := aLinha[16]
SN3->N3_CCUSTO := aLinha[17]
SN3->N3_CCDEPR := aLinha[18]
If !Empty(aLinha[19])
SN3->N3_DINDEPR := CToD(aLinha[19])
else
SN3->N3_DINDEPR := CTOD("01/01/2000")
endif
SN3->N3_VORIG1 := Val(aLinha[20])
SN3->N3_TXDEPR1 := Val(aLinha[21])
SN3->N3_VRDBAL1 := Val(aLinha[22])
SN3->N3_VRDMES1 := Val(aLinha[23])
SN3->N3_VRDACM1 := Val(aLinha[24])
SN3->(MsUnlock())
cLog += "Linha: " + StrZero(nLinha,4) + " - Sucesso: REGISTRO IMPORTADO COM SUCESSO"+Chr(13)+Chr(10)
FT_FSkip()
EndDo
nHdl := FCreate("D:\temp\LOG_IMP_ATIVO.LOG")
If nHdl <= 0
MsgAlert("Atencao, nao foi possivel criar o arquivo de LOG na unidade C:\. Verifique as permissões de acesso.")
Return(Nil)
Else
FWrite(nHdl,"LOG DA IMPORTACAO DO ATIVO FIXO"+Chr(13)+Chr(10)+"Arquivo Importado: " + cFileImp+ Chr(13)+Chr(10))
FWrite(nHdl,Replicate("-",220)+Chr(13)+Chr(10))
FWrite(nHdl,cLog)
FClose(nHdl)
MsgAlert("Importação concluida. Verifique o arquivo de LOG em C:\LOG_IMP_ATIVO.LOG")
EndIf
Return(Nil)
Por favor Acessar ou Registrar para participar da conversa.
- de019
- Autor do Tópico
- Desconectado
- Membro Sénior
Menos
Mais
- Postagens: 66
- Obrigados Recebidos: 0
- lalberto
- Desconectado
- Administrador
Menos
Mais
- Postagens: 3676
- Obrigados Recebidos: 6
11 anos 8 meses atrás #11023
por lalberto
Luiz Alberto Vieira Alves
Proprietário
55 (12) 9 8256-5905 (Vivo)
www.3lsystems.com.br
www.masteradvpl.com.br
Do Mesmo Jeito que vc está tratando para a tabela SNG
If !Empty(aLinha[1])
dbSelectArea("SNG")
SNG->(dbSetOrder(1))
If !SNG->(dbSeek(xFilial("SNG")+AllTrim(aLinha[1])))
If !Empty(aLinha[1])
dbSelectArea("SN1")
SN1->(dbSetOrder(1))
If !SN1->(dbSeek(xFilial("SN1")+AllTrim(aLinha[1])))
If !Empty(aLinha[1])
dbSelectArea("SNG")
SNG->(dbSetOrder(1))
If !SNG->(dbSeek(xFilial("SNG")+AllTrim(aLinha[1])))
If !Empty(aLinha[1])
dbSelectArea("SN1")
SN1->(dbSetOrder(1))
If !SN1->(dbSeek(xFilial("SN1")+AllTrim(aLinha[1])))
Luiz Alberto Vieira Alves
Proprietário
55 (12) 9 8256-5905 (Vivo)
www.3lsystems.com.br
www.masteradvpl.com.br
Por favor Acessar ou Registrar para participar da conversa.
- de019
- Autor do Tópico
- Desconectado
- Membro Sénior
Menos
Mais
- Postagens: 66
- Obrigados Recebidos: 0
11 anos 8 meses atrás - 11 anos 8 meses atrás #11062
por de019
Então Luiz, eu fiz o dbseek, mas mesmo assim ainda ta dando erro, vou postar um pedaço do fonte para vc ver.
dbSelectArea("SN1")
SN1->(dbSetOrder(1))
SN1->(dbSeek(xFilial("SN1")))
SN1->(RecLock("SN1",.T.))
SN1->N1_FILIAL := xFilial("SN1")
SN1->N1_GRUPO := AllTrim(aLinha[1])
SN1->N1_PATRIM := aLinha[2]
SN1->N1_CBASE := STRZERO(VAL(aLinha[3]),10)
SN1->N1_ITEM := aLinha[4]
If !Empty(aLinha[5])
dbSelectArea("SN1")
SN1->(dbSetOrder(1))
If !SN1->(dbSeek(xFilial("SN1")+AllTrim(aLinha[5])))
SN1->N1_AQUISIC := CToD(aLinha[5])
else
SN1->N1_AQUISIC := CTOD("01/01/2000")
endif
SN1->N1_DESCRIC := Upper(aLinha[6])
SN1->N1_QUANTD := Val(aLinha[7])
SN1->N1_CHAPA := Upper(aLinha[8])
SN1->N1_NSERIE := Upper(aLinha[9])
SN1->N1_NFISCAL := Upper(aLinha[10])
SN1->N1_STATUS := aLinha[11]
SN1->N1_VLAQUIS := Val(aLinha[20])
endif
If !Empty(aLinha[26])
dbSelectArea("SN1")
SN1->(dbSetOrder(1))
If !SN1->(dbSeek(xFilial("SN1")+AllTrim(aLinha[26])))
SN1->N1_BAIXA :=CToD(aLinha[26])
else
SN1->N1_BAIXA := CTOD(" / / ")
ENDIF
SN1->(MsUnlock())
endif
dbSelectArea("SN1")
SN1->(dbSetOrder(1))
SN1->(dbSeek(xFilial("SN1")))
SN1->(RecLock("SN1",.T.))
SN1->N1_FILIAL := xFilial("SN1")
SN1->N1_GRUPO := AllTrim(aLinha[1])
SN1->N1_PATRIM := aLinha[2]
SN1->N1_CBASE := STRZERO(VAL(aLinha[3]),10)
SN1->N1_ITEM := aLinha[4]
If !Empty(aLinha[5])
dbSelectArea("SN1")
SN1->(dbSetOrder(1))
If !SN1->(dbSeek(xFilial("SN1")+AllTrim(aLinha[5])))
SN1->N1_AQUISIC := CToD(aLinha[5])
else
SN1->N1_AQUISIC := CTOD("01/01/2000")
endif
SN1->N1_DESCRIC := Upper(aLinha[6])
SN1->N1_QUANTD := Val(aLinha[7])
SN1->N1_CHAPA := Upper(aLinha[8])
SN1->N1_NSERIE := Upper(aLinha[9])
SN1->N1_NFISCAL := Upper(aLinha[10])
SN1->N1_STATUS := aLinha[11]
SN1->N1_VLAQUIS := Val(aLinha[20])
endif
If !Empty(aLinha[26])
dbSelectArea("SN1")
SN1->(dbSetOrder(1))
If !SN1->(dbSeek(xFilial("SN1")+AllTrim(aLinha[26])))
SN1->N1_BAIXA :=CToD(aLinha[26])
else
SN1->N1_BAIXA := CTOD(" / / ")
ENDIF
SN1->(MsUnlock())
endif
Ultima edição: 11 anos 8 meses atrás por de019.
Por favor Acessar ou Registrar para participar da conversa.
Tempo para a criação da página:0.091 segundos