BEMAFI em rede, quem sabe alguma coisa???

Fórum sobre a linguagem CA-Clipper.

Moderador: Moderadores

Sergio Cabral
Usuário Nível 2
Usuário Nível 2
Mensagens: 52
Registrado em: 18 Set 2004 18:51
Localização: São José dos Campos

BEMAFI em rede, quem sabe alguma coisa???

Mensagem por Sergio Cabral »

Meu sistema foi desenvolvido em Clipper 5.01, trabalha com impressora fiscal Bematech e funciona em rede. Agora com o uso do BEMAFI não consigo fazer com que todas as impressora funcionem. Como o arquivo BEMAFI.CMD é gerado somente no servidor e todas as estações imprimem ao mesmo tempo, somente uma estação consegue ler o arquivo e imprimir.
O suporte da Bematech disse que não tem solução para isso.
Se alguém conseguiu a solução para isso, por favor me dê esta dica. Vamos mostrar para o suporte da bematech que nós sabemos mais do que eles....

Valeu..
Sou programador em Clipper 5.01 a 15 anos e procuro melhorar meus conhecimentos. Este site me parece muito bom e poderemos nos ajudar.
Avatar do usuário
Pablo César
Usuário Nível 7
Usuário Nível 7
Mensagens: 5312
Registrado em: 31 Mai 2006 10:22
Localização: Curitiba - Paraná

Impressora em rede

Mensagem por Pablo César »

Caro Sergio,

Bem eu não tenho experiência alguma com impressora fiscal. Isto é, sendo homologada pela Receita Federal e mais. Mas acho que se a questão é gerar um arquivo para poder imprimir e não dá para compartilhar esse arquivo. Então acho que teu problema estaria solucionado da seguinte forma.

Você disse que estaria em rede e o aplicativo também. Bem, o usuários nos terminais (isto é não no servidor) acessam uma unidade de rede. Então eu diria para você criar uma pasta em cada uma delas no local. Isto é, no C: de cada máquina. Por exemplo: C:\LOJA, e nessa pasta você manda criar esse bendito arquivo. diria que você teria que dar o path completo onde deve ser gerado. Então eu indicaria de acordo o exemplo. Em cada estação, você criaria um arquivo BATCH que posiciona na pasta que eu disse e depois roda teu sistema.

Exemplo do arquivo (PROGRAMA.BAT):

@ ECHO OFF
C:
CD\LOJA
PROGRAMA.EXE

Beleza ? Espero eu tenha acertado na idéia o resto você pode adaptar, ok ? :)Pos
Hstadler
Usuário Nível 2
Usuário Nível 2
Mensagens: 65
Registrado em: 01 Nov 2005 19:48

Mensagem por Hstadler »

O suporte da Bematech esta certo, o bemafi.exe é para ser usado somente na maquina local (experiencia propria), mas se vc quer usar tudo no servidor tb dá!!
De que jeito?

se vc tem por exemplo 10 pdv, vc teria q fazer no servidor na pasta onde esta seu sistema 10 subpastas contendo o seu .exe + bemafi.exe + dbfEX: C:\MEUS_SIST\PDV001
C:\MEUS_SIST\PDV002... E ASSIM POR DIANTE

e nas estações criar o atalho pra cada PDV, pois assim tanto o sist quanto o Bemafi vao saber q aquele .CMD é daquela maquina

Foi assim q solucionei meu problema
OK

Até
Sergio Cabral
Usuário Nível 2
Usuário Nível 2
Mensagens: 52
Registrado em: 18 Set 2004 18:51
Localização: São José dos Campos

BEMAFI.EXE

Mensagem por Sergio Cabral »

Seria loucura fazer isso!!! (não sei se entendi bem a sua dica)
O meu programa contem muitos dbf´s e todos eles sofrem alterações constantemente e eu teria que ficar atualizando toda hora esses arquivos. Legal a sua idéia mas acho que para o meu caso, não é possível.
Peguei o fonte do BEMAFI e coloquei uma condição para ele gerar o CMD onde eu quiser e deu certo. Agora só estou com o problema de espaço em memória para executar o BEMAFI.EXE pois é utilizado o RUN de dentro do programa e não está dando certo.
Se alguém tiver outra solução, agradeço.
Sou programador em Clipper 5.01 a 15 anos e procuro melhorar meus conhecimentos. Este site me parece muito bom e poderemos nos ajudar.
Hstadler
Usuário Nível 2
Usuário Nível 2
Mensagens: 65
Registrado em: 01 Nov 2005 19:48

Mensagem por Hstadler »

Não é loucura não !!!!!

No meu caso o sistema de retaguarda fica no servidor e os PDV ficam em nas estações, isto é, no pdv esta somente os dbf do cupom fiscal mais uma copia do dbf de produtos, quando há alteração de preços é gerado um arquivo de produto para dar a carga nos PDVs, e no final do dia (ou a qq momento q se queira) os PDV dão a carga de venda na retaguarda com o APPEND.

QQ dúvida favor postar para mais detalhes
kenew
Usuário Nível 2
Usuário Nível 2
Mensagens: 97
Registrado em: 08 Set 2004 15:08
Contato:

Mensagem por kenew »

Sergio, eu utilizo este mesmo programa em um dos meus clientes o BEMAFI.EXE não tem parametros ele trabalha em conjunto com um arquivo chamado BEMAFI.INI onde estão os seus parametros, como por exemplo onde gravar e ler os arquivos .CMD, retorno e status dos comandos, como meus clientes tem muitos check-outs, eu gravo os arquivos de comandos e retorno em cada maquina para não ter problema de travamento e meus arquivos são on-lines, sendo assim toda venda é visualizada imediatamente ao seu fechamento e toda alteração de preço é entendida pelo caixa, na mesma hora, sem necessidade de carga nos terminais.

Espero ter ajudado, qualquer duvida mande estou no msn.

Abraços
Avatar do usuário
vagucs
Membro Master
Membro Master
Mensagens: 1480
Registrado em: 10 Jul 2004 10:45
Localização: Ipanema - MG
Contato:

Mensagem por vagucs »

Aqui em minas e SP é proibidio imprimir via rede na ECF, é proibido que o PDV funciona como terminal de rede, com os dados no servidor, os dados tem que estar obrigatoriamente na maquina em que a ECF estiver ligada, de outra forma "MULTA".

Fiz um PDV recentemente para uma empresa, para Linux e totalmente grafico, e roda nas maquinas locais, o PDV tem que ter vida propria e nunca depender de um servidor, de outra forma com grandes volumes de dados e grande numeros de PDV vcs vao ter serios problemas.
Sem mais
Wagner Nunes
www.vagucs.com.br
support sistemas
Usuário Nível 2
Usuário Nível 2
Mensagens: 73
Registrado em: 22 Set 2005 23:43
Localização: Londrina

BEMAFI

Mensagem por support sistemas »

Estou com um problema com Bemafi , eu desparo varios itens para imprimir e o bemafi pula algus itens.
ex

codigos= 10,11,12,13,14,15

imprime = 10,12,13,15

sei la ja bati cabeça e o unico jeito foi colocar um inkey(2) anter do bemafi para imprimir todos itens , as vezes ele nem fecha o cupom, se alguem puder me ajudar agradeço.


Obrigado
Avatar do usuário
Pablo César
Usuário Nível 7
Usuário Nível 7
Mensagens: 5312
Registrado em: 31 Mai 2006 10:22
Localização: Curitiba - Paraná

Mensagem por Pablo César »

Olá Sergio,

E aí, resolveu este problema de imprimir com BEMAFI em rede ?. Estou curioso para saber como você resolveu. É muito importante que você poste as suas soluções também, pois isto ajudam a outros colegas também. É por esta razão que eu pediria que todas as questões que tenhas a fazer sobre Clipper, você as faça através do FORUM, desta forma ficam as experiências relatadas e centralizadas como uma grandiosa fonte de informações sobre Clipper.
Sergio escreveu:No meu caso o programa é muito grande e o comando RUN não funciona por falta de memória, o que devo fazer? (meu programa é em Clipper 5.01)
De entrada iria te recomendar sem sombras de dúvidas... você trocar seu Clipper. A versão 5.1, está com BUG e também não oferece as melhorias das versões 5.2 e 5.3. Não pense que você terá grandes problemas, mas esta questão seria um bom começo. Ora porque também iria te beneficiar para utilizar o BLINKER que está no 5.3, eu particularmente não gosto muito do 5.3 nem do BLINKER, mas confesso que utilizo em alguns módulos do meu sistema. O meu caso é diferente porque o meu sistema é MODULAR se quiser saber a respeito dê uma olhada Aqui mas voltando a seu assunto... Se você não for usar o BLINKER para resolver esse problema de memória (se bem que acho que você passando para o Clipper 5.2, ja iria resolver). Tenho outra sugestão para fazer, com respeito ao USB.EXE:

1. Configure o USB.EXE, indicando o nome do arquivo que será impresso ou a sua máscara na pasta determinada. Chama USB (semparâmetros) e você poderá configurar.

2. Crie um arquivo .BAT para chamar seu aplicativo, mas antes chame o USB.EXE do Heveraldo, faça assim:

Código: Selecionar todos

@ECHO OFF
START /MIN USB.EXE "" "SEM CONFIGURACAO"
SEU_APLICATIVO.EXE
Desta forma, o USB.EXE irá abrir um outra sessão e que ficará minimizada a sessão. Só que para imprimir vários relatórios, terá um nome variado, por isso terá que usar máscara com curinga (tipo: C:\PRN\*.PRN). Embora este procedimento, tenha as suas inconveniências:

a.) Corre o risco de ser chamado várias vezes (isto se você não fizer tratamento para que não abra em multi-sessão)
b.) O usuário terá que fechar a sessão minimizada cada vez que saia do seu aplicativo.

Espero que com estas sugestôes, você colega se veja insentivado a fazer o UPGRADE do seu Clipper e logo verá que tudo esses problemas de memória, basicamente sumirão.

Um clip-abraço :)Pos
Avatar do usuário
Eolo
Colaborador
Colaborador
Mensagens: 1134
Registrado em: 08 Dez 2005 18:24
Localização: São Paulo - SP

Mensagem por Eolo »

Wagner,
o PDV tem que ter vida propria e nunca depender de um servidor,
To iniciando em ECF e o que vc disse me chamou a atenção. Confirma pra mim uma coisa: o que precisa estar no PDV, no HD local, são todos os DBF usados pelo programa (lista de produtos/preços, clientes, vendas realizadas etc.) ou só o DBF das vendas realizadas?

Pergunto pelo seguinte: imagino cada PDV acessando a lista de produtos/preços do servidor. Se o mercado resolver alterar o preço de um determinado produto (permanente ou mesmo temporário), só é necessário alterar o DBF no servidor. No ato, todos os PDV vão estar acessando a tabela atualizada.

Outra coisa é com relação ao "fiado" ou pagamento em cheques pré: o meu cliente tem um cadastro de nomes com um limite para cada cliente final. Chegou no limite, só pagamento à vista. Então, se eu tiver um cadastro em cada PDV e o cliente final José comprar em 2 PDVs no mesmo dia, o controle do limite vai furar...

Então, se cada PDV tem que ter seus DBF, o pagamento em cheques ou "fiado" teria que ser previamente autorizado por quem tem acesso aos DBF consolidados. É isso?
Avatar do usuário
Maligno
Membro Master
Membro Master
Mensagens: 6398
Registrado em: 06 Jul 2004 01:40
Localização: Londrina/PR

Mensagem por Maligno »

Eolo escreveu:o que precisa estar no PDV, no HD local, são todos os DBF usados pelo programa
Pelo que sei a respeito (nunca fiz PDV), a forma como os dados poderão ser acessados poderá variar de Estado pra Estado, até porque, cada Estado tem sua própria regulamentação. Em alguns os dados devem residir fisicamente na mesma máquina onde está a impressora fiscal. Em outros Estados você poderá manter esses dados no servidor da rede.
Em suma, e pra não haver dúvidas: é melhor consultar a Receita Estadual do seu Estado.

[]'s
Maligno
http://www.buzinello.com/prg
Avatar do usuário
Pablo César
Usuário Nível 7
Usuário Nível 7
Mensagens: 5312
Registrado em: 31 Mai 2006 10:22
Localização: Curitiba - Paraná

Mensagem por Pablo César »

Não sei se eu fiz certo de responder a uma MP aqui, ora porque também me interessa saber sobre este tópico. Mas basicamente, o Sergio, queria saber se teria outra forma de utilizar o USB.EXE, ora por falta de memória na hora de utilizar o RUN. agora não sei se esta questão teria a ver com a questão deste mesmo tópico.

Aguardemos, para saber sobre as duas questões, então.

Um clip-abraço :)Pos

Ahhh... Eolo, gostei do seu avatar.... o outro parecia que sempre estava tirando uma onda com a nossa cara... hehehe (tem avatars que pareceria que estão agridindo com a imagem)
Avatar do usuário
Pablo César
Usuário Nível 7
Usuário Nível 7
Mensagens: 5312
Registrado em: 31 Mai 2006 10:22
Localização: Curitiba - Paraná

Mensagem por Pablo César »

Ahhh Sergio... e tem mais... comentei o exemplo do seu caso pro Maligno, que é o autor do WAPI e se você quiser saber mais sobre isso dê uma olhada em https://pctoledo.org/forum/viewto ... &start=227 aqui neste tópico você vai encontar muita coisa e esperemos que o Maligno faça logo essa nova função.

Nos dê um retorno para saber os resultados...

Um clip-abraço :)Pos
Dércio_Luiz_Zanatta
Usuário Nível 3
Usuário Nível 3
Mensagens: 153
Registrado em: 11 Jan 2006 15:37
Localização: Ibirubá - RS

Mensagem por Dércio_Luiz_Zanatta »

Eu sugiro que passe a compilar seus programas com Blinker em modo protegido e substitue RUN pelo SWPRUNCMD().. Nunca mais vc tera problemas de falta de memória !!!
Avatar do usuário
Eolo
Colaborador
Colaborador
Mensagens: 1134
Registrado em: 08 Dez 2005 18:24
Localização: São Paulo - SP

Mensagem por Eolo »

Dércio,
Essa função SWPRUNCMD() está em qual LIB?
Eolo
Responder