Erro BASE/1005 no Dbedit

Fórum sobre a linguagem CA-Clipper.

Moderador: Moderadores

emanuelrdantas
Usuário Nível 1
Usuário Nível 1
Mensagens: 12
Registrado em: 04 Mar 2007 22:00

Erro BASE/1005 no Dbedit

Mensagem por emanuelrdantas »

Pessoal, após o tópico sobre tbrowser ao excluir que nao deu certo. Estou
mudando o Tbrowser pelo Dbedit para mostrar os produtos na tela. No entanto, apareceu um outro problema. Agora tá dando Error Base/1005 No exported variable: SKIPBLOCK no dbedit com comentario abaixo dele. Pro favor, peço ajuda de todos, pois estava usando o Tbrowser e nao deu certo e preciso entregar esse controle de estoque até o final de semana
Agradeço a Todos
Emanuel

Código: Selecionar todos

 
RESTORE SCREEN FROM TELA_PRINC
set color to w+/b
DO CABECALHO WITH "Transferencia de Mercadorias","ENTRADA"


********************* VARIAVEIS ****************
nTIPODEOP = 00
aDESCMERC = SPACE(40)
aCODF = SPACE(06)
TIPO = SPACE(01)
aCODBARRA = SPACE(14)
nQTE = 000000
nPRUNIT = 0000.00
nPROTAL = 00000.00
nPRTOTALIG = 00000.00
WEXCLU = SPACE(01)
wFINAL = SPACE(01)
nQTELANC = 000000.00
nQTEIGUAL = 000000
aCODLAN = SPACE(06)
aCODIGUAL = SPACE(06)
aREABRIR = SPACE(01)
NUMITENS = 000
nNUMMOV = 00000
nPRAZO1 = 000
nPRAZO2 = 000
nPRAZO3 = 000
nPRAZO4 = 000
dTVENCLANC = CTOD("  /  /    ")

***************** ARRAYS ************************
DECLARE PROCTIPON := { "COD","DESC" }
DECLARE PROCTIPOF := { "99","@! " }
DECLARE PROCTIPOL := { "CODIGO","TIPO DE OPERACAO" }
DECLARE PROCTIPOSUP := { "_","_" }
DECLARE PROCPRODN := { "CCM01DSMER","NCM01VLCUS" }
DECLARE PROCPRODF := { "@!","9999999.99" }
DECLARE PROCPRODL := { "DESCRICAO DA MERCADORIA","CUSTO" }
DECLARE MOSTRAPRODN := { "DESCMERC","QTE","PRUNIT","PRTOTAL" }
DECLARE MOSTRAPRODF := { "@!","999999","9999999.99","9999999.99" }
DECLARE MOSTRAPRODL := { "                                       ","      ","        ","        " }


*************** VERIFICA INDEXACOES **************



if !file("OPERACOES01.ntx")
   use OPERACOES 
   index on COD to OPERACOES01
endif

if !file("TEMPT02.ntx")
   use TEMP 
   index on DESCMERC to TEMPT02
endif

if !file("CMCA0204.ntx")
   use CMCA02 
   index on CCM02CDMER to CMCA0204
endif

if !file("TEMPT01.ntx")
   use TEMP 
   index on CODMERC to TEMPT01
endif


if !file("CMCA0101.ntx")
   use CMCA01 
   index on CCM01CDMER to CMCA0101
endif

************* DEFINE AREAS DE TRABALHO ************
SELE 01
USE OPERACOES INDEX OPERACOES01 ALIAS OPERACOES SHARED
SELE 02
USE CMCA01 INDEX CMCA0102,CMCA0101 ALIAS CMCA01   SHARED
SELE 03
USE CMCA02 INDEX CMCA0201 ALIAS CMCA0201 SHARED
SELE 04
USE CMCA02 INDEX CMCA0204 ALIAS CMCA0204 SHARED
SELE 05
USE MOVIMENTACAO INDEX MOVIMENTACAO01 ALIAS MOVIMENTACAO SHARED
SELE 06
USE PAGAR INDEX PAGAR03 ALIAS PAGAR SHARED
SELE 07
USE TEMPT INDEX TEMPT01,TEMPT02 ALIAS TEMPT 

**************************** PEGA TIPO DE OPERACAO *************************************
COUNT TO NUMITENS
IF NUMITENS > 0
   @ 24,02 SAY "Existe um Transferencia em Aberto. Deseja Abrir-la para Atualizá-la? [S/N]"
   @ 24,64 GET aREABRIR
   READ
   @ 24,00 CLEAR TO 24,79
   IF aREABRIR = "N"
      DO MENSAGEM WITH "Ultima Transferencia Foi DESCARTADA, Estoque NAO ALTERADO",.T.
      SET EXCLUSIVE ON
      SELE TEMPT
      ZAP
      SET EXCLUSIVE OFF 
      SELE TEMPT
      @ 04,00 to 04,79 DOUBLE
      @ 03,00
      @ 03,00 say "[TIPO DE OPERACAO:]"
      @ 03,20 GET nTIPODEOP PICT "99" 
      READ
      IF LASTKEY () = 27 
         RETURN 
      ENDIF
      SELE OPERACOES
      SEEK nTIPODEOP
      IF !FOUND()
         SAVE SCREEN TO DBEDIT1
         SET COLOR TO B/W
         GO TOP
         SET FILTER TO COD = 02 .OR. COD = 05
         GO TOP
         DBEDIT (04,20,10,60,PROCTIPON,"FIRMSHOWT",PROCTIPOF,PROCTIPOL,PROCTIPOSUP)
         @ 24,12 SAY MENSAGEM
         SET COLOR TO W+/B
         RESTORE SCREEN FROM DBEDIT1
         @ 24,00 CLEAR TO 24,79
         @ 03,20 CLEAR TO 03,79
         @ 03,20 SAY DESC
      ELSE 
         @ 03,20 CLEAR TO 03,79
         @ 03,20 SAY DESC
         @ 03,40 SAY nTIPODEOP
      ENDIF
   ELSE
      @ 04,00 to 04,79 DOUBLE
      @ 03,00
      @ 03,00 say "[TIPO DE OPERACAO:]"
      IF LASTKEY () = 27 
         RETURN 
      ENDIF
      nTIPODEOP = 02
      SELE OPERACOES
      SEEK nTIPODEOP
      @ 03,20 SAY DESC
   ENDIF
ELSE
      @ 04,00 to 04,79 DOUBLE
      @ 03,00
      @ 03,00 say "[TIPO DE OPERACAO:]"
      @ 03,20 GET nTIPODEOP PICT "99" 
      READ
      IF LASTKEY () = 27 
         RETURN 
      ENDIF
      SELE OPERACOES
      SEEK nTIPODEOP
      IF !FOUND()
         SAVE SCREEN TO DBEDIT1
         SET COLOR TO B/W
         GO TOP
         SET FILTER TO COD = 02 .OR. COD = 05
         GO TOP
         DBEDIT (04,20,10,60,PROCTIPON,,PROCTIPOF,PROCTIPOL,PROCTIPOSUP)
         @ 24,12 SAY MENSAGEM
         SET COLOR TO W+/B
         @ 24,00 CLEAR TO 24,79
         @ 03,20 CLEAR TO 03,79
         @ 03,20 SAY DESC
      ELSE 
         @ 03,20 CLEAR TO 03,79
         @ 03,20 SAY DESC
      ENDIF
ENDIF
SET EXCLU OFF

********************** BLOCO DE CIMA *****************************

@ 05,00 SAY "    DESCRICAO                                   QTE     PR.UNIT      PR.TOTAL      "
@ 06,00 TO 06,79 DOUBLE
@ 08,00 TO 08,79
@ 20,00 TO 20,79
@ 21,00
@ 22,00
@ 21,04 SAY "Total de Itens:"
@ 22,04 say "Total da Nota.:"

************************ DA ENTRADA NA MERCADORIA **************

DO WHILE .T.
   SELE TEMPT
   COUNT TO NUMITENS
   @ 21,20 CLEAR TO 21,24
   @ 21,20 SAY NUMITENS
   nVALTOTAL = 0000000.00
   SELE TEMPT
   GO TOP
   DO WHILE !EOF()
      nVALTOTAL = PRTOTAL + nVALTOTAL
      SKIP
   ENDDO
   @ 22,20 CLEAR TO 22,24
   @ 22,20 SAY nVALTOTAL
   IF aDESCMERC = "SAIR"
      RETURN
   ENDIF
   aDESCMERC = "                                            "
   @ 07,00
   @ 07,04 GET aDESCMERC PICT "@!"
   READ
   IF LASTKEY() = 27
      EXIT
   ENDIF

   IF aDESCMERC = "*                                          "  
      DBEDIT (09,00,19,79,MOSTRAPRODN,,MOSTRAPRODF,,)
    
   ELSEIF aDESCMERC = "                                        "
     aCODBARRA = "              "
     @ 07,04 CLEAR TO 07,79
     @ 07,04 GET aCODBARRA
     READ
     IF aCODBARRA = "              "
        LOOP
     ENDIF
     SELE CMCA0201
     SEEK RTRIM(aCODBARRA)
     IF !FOUND()
        DO MENSAGEM WITH "Codigo de Barra NAO Encontrado, Tente Novamente",.t.
        LOOP 
     ELSE
        nCODIGUAL = CCM02CDMER
        DO PREENCHE1 WITH nCODIGUAL
        DBEDIT (09,00,19,79,MOSTRAPRODN,"SOMOSTRA",MOSTRAPRODF,,)
        SELE CMCA01
        SEEK nCODIGUAL
        @ 07,00 CLEAR TO 07,79
        @ 07,04 SAY CCM01DSMER
      ENDIF  
   ELSE      
      SELE TEMPT
      DBEDIT (09,00,19,79,MOSTRAPRODN,"SOMOSTRA",MOSTRAPRODF,MOSTRAPRODL)   
      ** DBEDIT PROBLEMATICO O DE CIMA
      SELE CMCA01 
      SEEK RTRIM(aDESCMERC)
      SAVE SCREEN TO DBEDIT2
      SET COLOR TO B/W
      DBEDIT (08,15,20,70,PROCPRODN,,PROCPRODF,PROCPRODL,PROCTIPOSUP)
      SET COLOR TO W+/B
      RESTORE SCREEN FROM DBEDIT2
      @ 07,00 CLEAR TO 07,79
      @ 07,04 SAY CCM01DSMER
      nCODIGUAL = CCM01CDMER
   ENDIF      
   nQTE = 0
   SELE TEMPT
   SEEK nCODIGUAL
   IF !FOUND()
      @ 07,47 GET nQTE PICT "999999"
      READ
      IF nQTE = 0
         DO MENSAGEM WITH "Quantidade NAO pode ser ZERO, Tente Novamente",.T.
         LOOP
      ENDIF
      @ 07,47 CLEAR TO 07,53
      @ 07,45 SAY nQTE
      nPRUNIT = CMCA01->NCM01VLCUS
      @ 07,49 SAY nPRUNIT PICT "9999.99" 
      nPRTOTAL = nQTE * nPRUNIT
      @ 07,66 SAY nPRTOTAL PICT "99999.99" 
      SELE TEMPT
      DO RRLOC
      APPEND BLANK
      REPL CODMERC WITH CMCA01->CCM01CDMER
      REPL DESCMERC WITH CMCA01->CCM01DSMER
      REPL QTE WITH nQTE
      REPL PRUNIT WITH nPRUNIT
      REPL PRTOTAL WITH nPRTOTAL
      REPL ATUALIZADO WITH "N"
      DBEDIT (09,00,19,79,MOSTRAPRODN,"SOMOSTRA",MOSTRAPRODF,,)
   ELSE
      DO MENSAGEM WITH "Este Produto Ja foi Lançado, A QTE sera ADICIONADA",.t.
      @ 07,47 GET nQTE PICT "999999"
      READ
      IF nQTE = 0
         DO MENSAGEM WITH "Quantidade NAO pode ser ZERO, Tente Novamente",.T.
         LOOP
      ENDIF
      @ 07,47 CLEAR TO 07,53
      @ 07,45 SAY nQTE
      nPRUNIT = CMCA01->NCM01VLCUS
      @ 07,49 SAY nPRUNIT PICT "9999.99" 
      SELE TEMPT
      nQTEIGUAL = QTE + nQTE
      nPRTOTAL = nQTE * nPRUNIT
      nPRTOTALIG = nQTEIGUAL * nPRUNIT
      @ 07,66 SAY nPRTOTAL PICT "99999.99" 
      SELE TEMPT
      DO RRLOC
      REPL CODMERC WITH CMCA01->CCM01CDMER
      REPL DESCMERC WITH CMCA01->CCM01DSMER
      REPL QTE WITH nQTEIGUAL
      REPL PRUNIT WITH nPRUNIT
      REPL PRTOTAL WITH nPRTOTALIG
      REPL ATUALIZADO WITH "N"
      UNLOCK
      DBEDIT (09,00,19,79,MOSTRAPRODN,"SOMOSTRA",MOSTRAPRODF,,)
   ENDIF
   
ENDDO
CLOSE DATA
RETURN

function firmshowT
   IF LASTKEY() = 27
      RETURN 0
   ENDIF
   @ 24,20 say MENSAGEM
   return 1

FUNCTION SOMOSTRA
   RETURN 0

  
Avatar do usuário
sygecom
Administrador
Administrador
Mensagens: 7131
Registrado em: 21 Jul 2006 10:12
Localização: Alvorada-RS
Contato:

Mensagem por sygecom »

Buenas...
Vai ver que ninguem respondeu pq o seu final de semana jah passo......mas vamos lah.....dando uma olhada rapida...veja como deveria ser:

Código: Selecionar todos

DBEDIT (09,00,19,79,{"MOSTRAPRODN","SOMOSTRA","MOSTRAPRODF",,) 
Vc postou assim:

Código: Selecionar todos

DBEDIT (09,00,19,79,MOSTRAPRODN,"SOMOSTRA",MOSTRAPRODF,,)
Tche, como falei dei uma olhada por cima....entaum considerei os dois MOSTRA e o SOMA como campos.....de um unico DBF.

Abraços
Leonardo Machado
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
Responder