Theotokos Posted January 23, 2019 Report Share Posted January 23, 2019 Boa tarde Pessoal!!!! Estou precisando criar no sistema a opção de vários caixas... é o seguinte: até o momento sempre utilizei pra registrar a movimentação do caixa 1 (um) único arquivo com os totalizadores do caixa (Crediário, Vista, Cheques, Cartões, etc)... porem, agora o cliente quer agora que o sistema registre a movimentação por Caixa (micro) e faça o fechamento diário de cada um... Tipo assim: Micro Caixa 1 : registra a sua movimentação, e fecha o seu caixa Micro Caixa 2 : registra a sua movimentação, e fecha o seu caixa GOSTARIA DE TER SUGESTÕES DOS AMIGOS, DE COMO CRIAR ISSO, UTILIZO ARQUIVOS DBF´S; COMO VARIA PARA REGISTRAR CADA MICRO (CAIXA), COMO SABER E QUAL ESTA PARA O SISTEMA POSSA GRAVAR??? Quote Link to comment Share on other sites More sharing options...
kapiaba Posted January 23, 2019 Report Share Posted January 23, 2019 Controle cada CAIXA, pelo SERIAL da máquina, conforme imagem anexa. Theotokos 1 Quote Link to comment Share on other sites More sharing options...
kapiaba Posted January 23, 2019 Report Share Posted January 23, 2019 Quote Link to comment Share on other sites More sharing options...
kapiaba Posted January 23, 2019 Report Share Posted January 23, 2019 Cada OPERADOR(A) como o seu caixa: Quote Link to comment Share on other sites More sharing options...
Theotokos Posted January 23, 2019 Author Report Share Posted January 23, 2019 Cada OPERADOR(A) como o seu caixa: NESTE CASO VC ENTÃO LIMITA O OPERADOR A CADA COMPUTADOR? ENTÃO POR EXEMPLO SE O OPERADOR FOR USAR OUTRO MICRO NÃO CONSEGUE... Quote Link to comment Share on other sites More sharing options...
evertonlb Posted January 24, 2019 Report Share Posted January 24, 2019 Eu só controlo o operador pelo código dele... para entrar no sistema cada um digita seu código e senha, assim no final do dia cara um faz o fechamento e o sistema só pega o movimento do operador atual... kapiaba 1 Quote Link to comment Share on other sites More sharing options...
kapiaba Posted January 24, 2019 Report Share Posted January 24, 2019 É como o Everton falou: o CAIXA pode entrar no micro que ele quiser. o SERIAL, você usa para registrar as máquinas no sistema. Theotokos 1 Quote Link to comment Share on other sites More sharing options...
Theotokos Posted January 24, 2019 Author Report Share Posted January 24, 2019 Vlw!!! Entendi!!!! Pode me ajudar mais um pouquinho... kkkk Qual função utilizo para pegar o Serial? Vi alguns aqui no forum, mas cada um retorno um numero diferente... qual vc utiliza? Quote Link to comment Share on other sites More sharing options...
kapiaba Posted January 24, 2019 Report Share Posted January 24, 2019 Mais fácil que encoxar a tia na PIA... Meu pai vira no Lampião... kkkkkkkkkkkkkkkkkkkkkk //-> CONFIGURA OS CAIXAS E O SISTEMA EM GERAL FUNCTION CONFIGURA_CAIXAS( oMeter, oText, oDlg, lEnd ) LOCAL DbTerminal, NNUMERHD PUBLIC LLIBERARCONTRASENHA PUBLIC XSERIALHD, XTERMINAL, XTAMANCUPOM, XSUPRIMECAB, XPORTALEITO, ; XPORTADOECF, XVERSAOECF, XPORTABALAN, XPORTAGAVET, XABRIRGAVET, ; XPORTAIMPCH, XMODIMPCHEQ, XMODELOECF, XMTELAPAGTO, XTEFDISCADO, ; XTOTTERMINA, XLEITBALANC, XMODELBALAN, XDESCMAXIMO, XIMPALIQUOT, ; XPERM4PRECO, XVLMAXTROCO, XIMPROUTMIC, XIMPQTDECOP, XIMPCUPITEM, ; XSUPCODPROD, XPULARLINHA, XVELOCBALAN, XNAOCOMPCUP, XTECLAREDUZ, ; XSINALSONOR, XVALMAXSANG, XVALMAXPROD, XBANNERTELA, XDESLIMOUSE PUBLIC NNUMERHDSUP // SOMENTE PARA O SUPORTE XSERIALHD := ALLTRIM( STR( nSerialHD( "C:\" ) ) ) //XSERIALHD := [1354931277] //-> SOMENTE PARA TESTES NNUMERHD := XSERIALHD //-> Numero do Hd do Terminal em Uso NNUMERHDSUP := NNUMERHD //-> Para Liberar Contra Senha no Meu Micro //? NNUMERHD // Numero do meu HD para Liberar a Opcao do MENU Para Contra Senha IF NNUMERHD = [-1264255690] .AND. FILE( "C:\LIBMICRO.TXT" ) LLIBERARCONTRASENHA := .T. ENDIF oText:SetText( "Processando, Aguarde... Configurando os Caixas" ) IF NetUse( "TERMINAL", .T. ) OrdListAdd( "TERMINAL", "TERMINAL" ) OrdDescend( , , .F. ) // - Decrescente DATABASE DbTerminal // Como Escrevemos em Ingles DbTerminal:Load() DbTerminal:SetBuffer( .T. ) // Assim, .T. a Op‡Æo (Cancelar) Funciona. ELSE MsgStop( "Banco de Dados TERMINAL.DBF Bloqueado", "Cuidado!" ) RETURN NIL ENDIF // Como Escrevemos em Ingles SELECT ( DbTerminal:cAlias ) // Seleciona o Alias de TERMINAL.Dbf DbTerminal:SetOrder( 1 ) DbTerminal:GoTop() LOCATE FOR ( DbTerminal:cAlias )->SERIALHD = NNUMERHD IF EOF() ADICIONE( 0 ) REPLACE ( DbTerminal:cAlias )->SERIALHD WITH ALLTRIM( NNUMERHD ) REPLACE ( DbTerminal:cAlias )->TERMINAL WITH - 1 DESTRAVA( 0 ) ENDIF //->"01- Número Deste Caixa( Micro Terminal )" XTERMINAL := ( DbTerminal:cAlias )->TERMINAL IF XTERMINAL = 1 //-> Servidor de Arquivos ‚ o Micro Numero 1 IF EMPTY( ( DbTerminal:cAlias )->TERM_DESCR ) .OR. ; ( DbTerminal:cAlias )->TERM_DESCR = [TERMINAL DE SERVICOS] TRAVEREG( 0 ) REPLACE ( DbTerminal:cAlias )->TERM_DESCR WITH [SERVIDOR DE ARQUIVOS] DESTRAVA( 0 ) ENDIF ELSE IF EMPTY( ( DbTerminal:cAlias )->TERM_DESCR ) TRAVEREG( 0 ) REPLACE ( DbTerminal:cAlias )->TERM_DESCR WITH [TERMINAL DE SERVICOS] DESTRAVA( 0 ) ENDIF ENDIF //->"02-Tamanho do Cupom: [1-69/76mm] [2-Folha A4]:" XTAMANCUPOM := ( DbTerminal:cAlias )->TAMANCUPOM //->"03-Suprimir o Cabeçalho do Cupom(Ticket):" XSUPRIMECAB := ( DbTerminal:cAlias )->SUPRIMECAB //->"04-Número da Porta Serial do Leitor de Código de Barras:" XPORTALEITO := ( DbTerminal:cAlias )->PORTALEITO //->"05-Número da Porta Serial do Emissor de Cupom Fiscal(ECF):" XPORTADOECF := ( DbTerminal:cAlias )->PORTADOECF //->"06-Número da Versão do Emissor de Cupom Fiscal:" XVERSAOECF := ( DbTerminal:cAlias )->VERSAOECF //->"07-Número da Porta Serial da Balança Pesadora:" XPORTABALAN := ( DbTerminal:cAlias )->PORTABALAN //->"08-Número da Porta Serial da Gaveta Para Dinheiro:" XPORTAGAVET := ( DbTerminal:cAlias )->PORTAGAVET //->"09-Comando Para Abrir a Gaveta Para Dinheiro (em ASCII):" XABRIRGAVET := ( DbTerminal:cAlias )->ABRIRGAVET //->"10-Número da Porta Serial Onde Está a Impressora de Cheque:" XPORTAIMPCH := ( DbTerminal:cAlias )->PORTAIMPCH //->"11-Modelo da Impressora de Cheque 1=Schalter 2=Daruma 3=Outra:" XMODIMPCHEQ := ( DbTerminal:cAlias )->MODIMPCHEQ //->"12-Modelo do ECF 1=Daruma 2=Sweda 3=Bematech 4=DataRegis 5=Quattro 6=Afrac 7=Elgin:" XMODELOECF := ( DbTerminal:cAlias )->MODELOECF //->"13-Mostrar Tela de Formas de Pagamento Após a Finalização do Cupom:" XMTELAPAGTO := ( DbTerminal:cAlias )->MTELAPAGTO //->"14-Trabalhar Com Sistema de TEF(Transferencia Eletronica de Fundos) Discado:" XTEFDISCADO := ( DbTerminal:cAlias )->TEFDISCADO //->"15-Total de Caixas(Terminais) Existentes Neste Estabelecimento Comercial:" XTOTTERMINA := ( DbTerminal:cAlias )->TOTTERMINA //->"16-Leitura do Código de Barras da Balança: (1) - Por Peso (2) - Por Valor" XLEITBALANC := ( DbTerminal:cAlias )->LEITBALANC //->"17-Modelo da Balança Eletrônica [1]Filizola [2]Toledo [3]Urano [0]Nenhuma:" XMODELBALAN := ( DbTerminal:cAlias )->MODELBALAN //->"18-Desconto Máximo Permitido nas Vendas Efetuadas a Vista ou a Prazo:" XDESCMAXIMO := ( DbTerminal:cAlias )->DESCMAXIMO //->"19-Imprimir Aliquota do Desconto Concedido Após a Venda do Item:" XIMPALIQUOT := ( DbTerminal:cAlias )->IMPALIQUOT //->"20-Permitir Que Cada Produto Tenha Até 4 Preços Para Venda:" XPERM4PRECO := ( DbTerminal:cAlias )->PERM4PRECO //->"21-Valor do Troco Máximo Permitido a Ser Passado ao CLiente(Evitar Erro):" XVLMAXTROCO := ( DbTerminal:cAlias )->VLMAXTROCO //-> Folder 2 //->"22-Usar Impressora de Outro Micro:" XIMPROUTMIC := ( DbTerminal:cAlias )->IMPROUTMIC //->"23-Imprimir Mais de Uma Cópia do Cupom de Venda:" XIMPQTDECOP := ( DbTerminal:cAlias )->IMPQTDECOP //->"24-Imprimir o Cupom Ítem a Ítem:" XIMPCUPITEM := ( DbTerminal:cAlias )->IMPCUPITEM //->"25-Suprimir Código Produto no Cupom:" XSUPCODPROD := ( DbTerminal:cAlias )->SUPCODPROD //->"26-Linhas a Pular Após Final da ImpressÆo do Cupom:" XPULARLINHA := ( DbTerminal:cAlias )->PULARLINHA //->"27-Velocidade da Balança Pesadora (2400-9600):" XVELOCBALAN := ( DbTerminal:cAlias )->VELOCBALAN //->"28-Não Comprimir Impressão do Cupom:" XNAOCOMPCUP := ( DbTerminal:cAlias )->NAOCOMPCUP //->"29-Usar Teclado Reduzido (Programável): " XTECLAREDUZ := ( DbTerminal:cAlias )->TECLAREDUZ //->30-Sinal Sonoro: [1]-Alto Falante [2]- Caixa de Som: XSINALSONOR := ( DbTerminal:cAlias )->TIPODESOM //-> 31-Valor Maximo Para Fazer a Sangria do Caixa: XVALMAXSANG := ( DbTerminal:cAlias )->VALMAXSANG //->32-Quantidade Máxima Permitida Para Venda de Um Produto(Evitar Erro do Caixa): XVALMAXPROD := ( DbTerminal:cAlias )->VALMAXPROD XBANNERTELA := ( DbTerminal:cAlias )->BANNERTELA XDESLIMOUSE := ( DbTerminal:cAlias )->DESLIMOUSE CLOSE DATABASES RETURN NIL Theotokos 1 Quote Link to comment Share on other sites More sharing options...
Jorge Andrade Posted January 30, 2019 Report Share Posted January 30, 2019 Pessoal, desculpe dar um pitaco bobo, mas, não seria mais fácil capturar o NETNAME da estação, visto que, numa rede não pode existir mais que uma estação com o mesmo nome? Lógico que, exceto se estiverem em redes diferentes. []s, Quote Link to comment Share on other sites More sharing options...
Ladinilson Posted January 30, 2019 Report Share Posted January 30, 2019 Boa tarde meus caros, Fiz de uma maneira mais simples e funciona além de controle de caixas como também de filiais para empresas que usam replicação de informações com as filiais. No cadastro do funcionário/vendedor, estão os mesmos nomes que fazem o login no programa e com isso suas informações de filiai e caixa já estão pré-definidos.... Na tela de vendas, cada usuário já tem seu caixa, bastando apenas os controles de suprimento, sangrias, venda a vista e a prazo que ao meu ver é isso que estas procurando... Na tela do caixa, até suas transferencias (caixa para caixa) podem ser feitas neste metodo... Espero que ajude a ter uma idéia de como fazer. Theotokos and JUDSON ROSA 2 Quote Link to comment Share on other sites More sharing options...
JUDSON ROSA Posted February 11, 2019 Report Share Posted February 11, 2019 Bom dia , Ladinilson , fiquei curioso com essa sua tela e esse browse , qual a configuracao q deixa a sua tela dessa forma ? e qual o browse q vc ta usando ?? Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.