Página 1 de 1
Can`t open # include file: FISCAL.CH
Enviado: 19 Set 2014 16:23
por porter
ola pessoal, no xHarbour tenho um comando assim:
Código: Selecionar todos
# INCLUDE "FISCAL.CH" <-- erro nessa linha, Can`t open # include file: FISCAL.CH
Porta := 0
Porta := FOpen_Bema("COM1", FO_READWRITE + FO_COMPAT)
a biblioteca esta no diretorio corrente, mas mesmo assim da erro na linha acima na compilacao, no clipper sempre fiz dessa forma e deu certo, eu tenho que declarar essa biblioteca em algum outro lugar ?
tenho um arquivo LOJA.EXE.XBP que tem o nome de todos os prg`s seria nele que eu teria que declarar, se for em qual linha eu declaro.
obrigado.
Can`t open # include file: FISCAL.CH
Enviado: 19 Set 2014 16:26
por Antonio
Tenta assim:
ao inves de assim: # INCLUDE "FISCAL.CH"
Can`t open # include file: FISCAL.CH
Enviado: 19 Set 2014 23:57
por alxsts
Olá!
Se estiver rodando em Unix ou Linux, lembre-se que os nomes de arquivo nestes ambientes são case-sensitive. Fiscal.ch, FISCAL.CH e fiscal.ch são diferentes...
Can`t open # include file: FISCAL.CH
Enviado: 20 Set 2014 09:29
por porter
ola pessoal, esse #include "FISCAL.CH", se refere a biblioteca BEMAFI que é uma biblioteca externa da impressora BEMATECH, em geral, quando for biblioteca externa, onde eu declaro essa BEMAFI.
Windows, xHARBOUR
arquivo LOJA.EXE.XBP
Código: Selecionar todos
CINI =
C_OUTPUTFOLDER =
DEFFILE =
INCLUDEFOLDERS =
LAUTORUN =
LDEBUG = .T.
LGUI = .F.
LIBFOLDERS =
LMT = .F.
LNOAUTOFWH = .F.
LPRG_CLASSICDEBUG = .T.
LPRG_DEBUG = .T.
LUSEDLL = .F.
MAPFILE =
MYC_FLAGS =
MYDEFINES =
MYLINK_FLAGS = -Gn -s
MYPRG_FLAGS =
MYRC_FLAGS =
MYSLY_FLAGS =
OUTPUTFOLDER =
PRG_OUTPUTFOLDER =
RC_OUTPUTFOLDER =
RUNARGUMENTS =
SLY_OUTPUTFOLDER =
STARTIN =
TARGETFOLDER =
[LOJA.PRG]
MYC_FLAGS =
MYDEFINES =
MYPRG_FLAGS =
[FUNCOES.PRG]
MYC_FLAGS =
MYDEFINES =
MYPRG_FLAGS =
[FISCAL.PRG]
MYC_FLAGS =
MYDEFINES =
MYPRG_FLAGS =
Can`t open # include file: FISCAL.CH
Enviado: 20 Set 2014 09:53
por Itamar M. Lins Jr.
O arquivo tem que está no PATH!
Coloque os arquivos *.CH no mesmo lugar que estão os outros *.CH no xHarbour a mesma coisa deve fazer com as LIBs.
Se estiver enfrentando muita dificuldade no xHarbour, no Harbour é mais fácil.
Use o Harbour p/ trabalhar com a BEMAFI32.DLL é muito mais simples.
//Aqui podemos trabalhar tanto com o observer[daruma], Bematech, ou via DLL.
Código: Selecionar todos
#include "dll.ch"
...
If lMonitor
Else
If File("bemafi32.dll")
hDll:=DllLoad("bemafi32.dll")
Else
hwg_Msgstop("Falha carregando bemafi32.dll")
return .f.
EndIf
EndIf
Código: Selecionar todos
If lBematech
If lMonitor
Comando := "003|"+cCPFCNPJ+"|"
GravaArquivo(comando)
Else
BematechAbreCupom(@cCPFCNPJ)
EndIf
ElseIf lDaruma
Comando := "1000;"+cCPFCNPJ+";"
GravaArquivo(comando)
Else
hwg_msgstop('Sem Modelo')
Return .F.
EndIf
Voce chama a DLL sem nenhuma dificuldade, use o manual bemafi32.chm com a sintaxe e exemplos dos comandos.
Código: Selecionar todos
No manual vc tem:
Vende item após a abertura do cupom fiscal. Essa função permite também a venda de itens com 3 casas decimais no valor unitário.
compatduas
Parâmetros:
Codigo: STRING até 13 caracteres com o código do produto.
Descricao: STRING até 29 caracteres com a descrição do produto.
Aliquota: STRING com o valor ou o índice da alíquota tributária. Se for o valor deve ser informado com o tamanho de 4 caracteres ou 5 com a vírgula. Se for o índice da alíquota deve ser 2 caracteres. Ex. (18,00 para o valor ou 05 para o índice).
TipoQuantidade: 1 (um) caracter indicando o tipo de quantidade. I - Inteira e F - Fracionária.
Quantidade: STRING com até 4 dígitos para quantidade inteira e 7 dígitos para quantidade fracionária. Na quantidade fracionária são 3 casas decimais.
CasasDecimais: INTEIRO indicando o número de casas decimais para o valor unitário (2 ou 3).
ValorUnitario: STRING até 8 dígitos para valor unitário.
TipoDesconto: 1 (um) caracter indicando a forma do desconto. '$' desconto por valor e '%' desconto percentual.
ValorDesconto: String com até 8 dígitos para desconto por valor (2 casas decimais) e 4 dígitos para desconto percentual.
Possíveis retornos da Função (INTEIRO):
0: Erro de comunicação.
1: OK.
-2: Parâmetro inválido na função.
-3: Alíquota não programada.
-4: O arquivo de inicialização BemaFI32.ini não foi encontrado no diretório de sistema do Windows.
-5: Erro ao abrir a porta de comunicação.
-27: Status da impressora diferente de 6,0,0 (ACK, ST1 e ST2).
Observações:
- Imagine que há duas alíquotas com o valor 12% cadastradas na impressora. A primeira cadastrada na posição 01 como ICMS e a outra na posição 05 como ISS. Se você informar o valor 1200 ou 12,00 no parâmetro "alíquota" a função irá imprimir o item usando a alíquota 01 de ICMS. A função lê as alíquotas da impressora e usa o índice da primeira ocorrência. Para usar a alíquota de ISS você deverá passar o índice 05 e não o valor 1200 ou 12,00. Se você não tiver duas alíquotas com o mesmo valor cadastradas na impressora use sempre o valor no parâmetro alíquota.
- O cupom fiscal deve estar aberto.
Exemplo:
' Exemplo em Visual Basic
iRetorno = Bematech_FI_VendeItem("123", "Caneta", "1200", "I", "10", 2, "0,25", "%", "0000")
// Exemplo em Delphi
cCodigo := '123';
cDescricao := 'Caneta';
cAliquota := '1200';
cTipoQtde := 'I';
cQtde := '10';
iCasasDecimais := 2;
cValor := '0,25';
cTipoDesconto := '%';
cValorDesc := '0000';
iRetorno := Bematech_FI_VendeItem( pchar( cCodigo ),
pchar( cDescricao ),
pchar( cAliquota ),
pchar( cTipoQtde ),
pchar( cQtde ),
iCasasDecimais,
pchar( cValor ),
pchar( cTipoDesconto ),
pchar( cValorDesc ) );
A chamada no Harbour via DLL é simples veja:
nRetVal := DllCall(hDll,DLL_OSAPI,"Bematech_FI_VendeItem",;
pd->cod_mercad,;
substr(pd->mercadoria,1,29),;
eq->situa_trib,;
"F",;
Zero_Esq(pd->quantidade,7,3),;
2,;
zero_esq(pd->preco_unit,8,2),;
SD,;
Desc)
Saudações,
Itamar M. Lins Jr.
Can`t open # include file: FISCAL.CH
Enviado: 20 Set 2014 10:25
por porter
olá Itamar, essa é a primeira lib externa que estou usando, não estou entendendo como tenho que colocar no path, estou compilando assim:
C:\xHarbour\BIN\XBuild LOJA.EXE.XBP -DEBUG -CLASSIC -B -ALL
As libs do xHarbour estão em C:\bcc55\Lib, tenho colocar um path direcionado para essa pasta, se for onde coloco esse path ?
Windows, xHarbour
obrigado.
Can`t open # include file: FISCAL.CH
Enviado: 20 Set 2014 10:55
por Antonio
porter,
Esta lib (lib de terceiros) que voce esta tentando usar deve ser colocada em \xharbour\lib (não é regra) mas ajuda a organizar as coisas.
Em C:\bcc55\Lib, devem ficar as libs do Borland Compiler (BCC).
Can`t open # include file: FISCAL.CH
Enviado: 20 Set 2014 11:42
por porter
olá Antonio, eu copiei a BEMAFI.LIB para c:\xHarbour\lib e na compilação continua dando o mesmo erro nessa linha:
#INCLUDE "FISCAL.CH"
Se tem que colocar essa pasta no path, eu não sei onde coloca se é no programa ou na compilação, entendeu.
obrigado.
Can`t open # include file: FISCAL.CH
Enviado: 20 Set 2014 11:47
por Itamar M. Lins Jr.
Ola!
Faltou apenas copiar o arquivo fiscal.ch para a pasta c:\xharbour\include, ok!
Ou vc pode copiar para a pasta onde esta o arquivo loja.prg
Saudações,
Itamar M. Lins Jr.
Can`t open # include file: FISCAL.CH
Enviado: 20 Set 2014 11:49
por Antonio
Certo!
arquivos.ch são arquvos de cabeçalho.
tambem não é uma regra, mas por enquanto organize suas coisas.... coloque o fiscal.ch em c:\xharbour\include
Can`t open # include file: FISCAL.CH
Enviado: 20 Set 2014 12:17
por porter
obrigado Antonio e Itamar, deu certo, copiei bemafi.lib para xHarbour\lib e fiscal.ch para xHarbour\include.
Can`t open # include file: FISCAL.CH
Enviado: 20 Set 2014 12:20
por Toledo
porter escreveu:no clipper sempre fiz dessa forma e deu certo
porter escreveu:eu copiei a BEMAFI.LIB para c:\xHarbour\lib
Amigos, só relembrando: bibliotecas LIB de terceiros que eram utilizadas no Clipper, devem ser recompiladas para [x]Harbour, então resta saber se a BEMAFI.LIB pode ser usada com o [x]Harbour!
Abraços,
Can`t open # include file: FISCAL.CH
Enviado: 20 Set 2014 15:44
por Itamar M. Lins Jr.
Essa bemafi.lib se não estou enganado é uma velha lib que roda por ai na net, importada via implib do BCC.
Ai o pessoal da Bematech atualiza a bemafi32.dll é mais sofrimento p/ usuários do xHarbour.... Eu passei por essa via crucis algumas vezes... funciona uma coisa outra não funcionava... Isso na época que usava o xHarbour quando tinha uma boa equipe lá.
Saudações,
Itamar M. Lins Jr.