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

