Jump to content
Fivewin Brasil

Dll Bematech Socorro


maudruidas

Recommended Posts

Pessoal, bom dia, estou tentando fazer meu sistema SAT. Comprei o RB-1000 FI e uma MP-4200 TH da Bematech. No meu sistema apenas teria que carregar uma nova DLL: BemaFI32.DLL e usar a nova função Bematech_FI_VendeItemCompleto,

Vejam como estou chamando a DLL:

XDLL := LoadLib32("C:\SISCOM\BEMAFI32.dll")
DECBEMA()
Observem que a função nova " Em Negrito" não existia e eu adicionei baseado no exemplo que ele deram em Delphi e no modelo das que já existem aqui. Todas as outras funções desta DLL estão funcionando, mas esta dá erro no meu programa.
A instrução no "0x080080808" fez referência à memória no "0x080080808". A memória não pode ser "read".
e fecha.
FUNCTION DECBEMA() // Declaracoes da BEMATECH de 32 bits -> BEMAFI32.DLL
//Ler total do cupom
DLL32 FUNCTION BmSubTotal( SubTotal AS LPSTR ) AS LONG PASCAL ;
FROM "Bematech_FI_SubTotal" LIB xDll
//total pag no ultimo cupom
DLL32 FUNCTION BmPagoUltCup( TotalPago AS LPSTR ) AS LONG PASCAL ;
FROM "Bematech_FI_ValorPagoUltimoCupom" LIB xDll
//Ler número do caixa
DLL32 FUNCTION BmNumeroCx( NumeroCaixa AS LPSTR ) AS LONG PASCAL ;
FROM "Bematech_FI_NumeroCaixa" LIB xDll
//Ler configuração arredondamento/truncamento
DLL32 FUNCTION BmVerArred( Arredonda AS LPSTR ) AS LONG PASCAL ;
FROM "Bematech_FI_VerificaTruncamento" LIB xDll
//Ativa arredondamento
DLL32 FUNCTION BmLigArred( ) AS LONG PASCAL ;
FROM "Bematech_FI_ProgramaArredondamento" LIB xDll
//Ler data do movimento
DLL32 FUNCTION BmDtMovto ( DtMovto AS LPSTR ) AS LONG PASCAL ;
FROM "Bematech_FI_DataMovimento" LIB xDll
//Ler flag fiscal da impressora
DLL32 FUNCTION BmFlagFisc( @FlagFiscal AS PTR ) AS LONG PASCAL ;
FROM "Bematech_FI_FlagsFiscais" LIB xDll
//Emite leitura X
DLL32 FUNCTION BmLeituraX( ) AS LONG PASCAL ;
FROM "Bematech_FI_LeituraX" LIB xDll
//Emite redução Z
DLL32 FUNCTION BmReducaoZ( Dt AS LPSTR, Hs AS LPSTR ) AS LONG PASCAL ;
FROM "Bematech_FI_ReducaoZ" LIB xDll
//Ler data e hora da impressora
DLL32 FUNCTION BmDtHora ( Dt AS LPSTR, Hs AS LPSTR ) AS LONG PASCAL ;
FROM "Bematech_FI_DataHoraImpressora" LIB xDll
//Faz abertura do dia
DLL32 FUNCTION BmAbreDia ( Vl AS LPSTR, Fr AS LPSTR ) AS LONG PASCAL ;
FROM "Bematech_FI_AberturaDoDia" LIB xDll
//Abre cupom fiscal
DLL32 FUNCTION BmAbreCup ( Cgc AS LPSTR ) AS LONG PASCAL ;
FROM "Bematech_FI_AbreCupom" LIB xDll
//Verifica se tem papel
DLL32 FUNCTION BmVerPapel( @Linhas AS PTR ) AS LONG PASCAL ;
FROM "Bematech_FI_MonitoramentoPapel" LIB xDll
//Verifica se tem impressora ligada
DLL32 FUNCTION BmPrintLig( ) AS LONG PASCAL ;
FROM "Bematech_FI_VerificaImpressoraLigada" LIB xDll
// Horário de Verão
DLL32 FUNCTION BmHoraVerao( ) AS LONG PASCAL ;
FROM "Bematech_FI_ProgramaHorarioVerao" LIB xDll
//Cancela cupom fiscal
DLL32 FUNCTION BmCanCupom( ) AS LONG PASCAL ;
FROM "Bematech_FI_CancelaCupom" LIB xDll
//Suprimento de Caixa
DLL32 FUNCTION BmSupri(vrsupri AS LPSTR, fpagam AS LPSTR ) AS LONG PASCAL ;
FROM "Bematech_FI_Suprimento" LIB xDll
//Suprimento de Caixa
DLL32 FUNCTION BmSangria(vrsangria AS LPSTR ) AS LONG PASCAL ;
FROM "Bematech_FI_Sangria" LIB xDll
//Cancela ítem Genérico do cupom
DLL32 FUNCTION BmCancItem(item AS LPSTR ) AS LONG PASCAL ;
FROM "Bematech_FI_CancelaItemGenerico" LIB xDll
//Abre a gaveta
DLL32 FUNCTION BmAbreGav ( ) AS LONG PASCAL ;
FROM "Bematech_FI_AcionaGaveta" LIB xDll
//Ler número do cupom
DLL32 FUNCTION BmNumCupom( Cupom AS LPSTR ) AS LONG PASCAL ;
FROM "Bematech_FI_NumeroCupom" LIB xDll
//Emite leitura da memória fiscal por data
DLL32 FUNCTION BmMemData ( In AS LPSTR, Fi AS LPSTR ) AS LONG PASCAL ;
FROM "Bematech_FI_LeituraMemoriaFiscalData" LIB xDll
//Emite leitura da memória fiscal por data em arquivo txt
DLL32 FUNCTION BmMemDataTxt ( In AS LPSTR, Fi AS LPSTR ) AS LONG PASCAL ;
FROM "Bematech_FI_LeituraMemoriaFiscalSerialData" LIB xDll
//Emite leitura da memória fiscal por Redução
DLL32 FUNCTION BmMemRedu ( In AS LPSTR, Fi AS LPSTR ) AS LONG PASCAL ;
FROM "Bematech_FI_LeituraMemoriaFiscalReducao" LIB xDll
//Emite leitura da memória fiscal por Redução em arquivo txt
DLL32 FUNCTION BmMemReduTxt ( In AS LPSTR, Fi AS LPSTR ) AS LONG PASCAL ;
FROM "Bematech_FI_LeituraMemoriaFiscalSerialReducao" LIB xDll
//Emite leitura da memória fiscal por data MFD
DLL32 FUNCTION BmMemDataMFD ( In AS LPSTR, Fi AS LPSTR, ctipo AS LPSTR ) AS LONG PASCAL ;
FROM "Bematech_FI_LeituraMemoriaFiscalDataMFD" LIB xDll
//Emite leitura da memória fiscal por data em arquivo txt MFD
DLL32 FUNCTION BmMemDataTxtMFD ( In AS LPSTR, Fi AS LPSTR, ctipo AS LPSTR ) AS LONG PASCAL ;
FROM "Bematech_FI_LeituraMemoriaFiscalSerialDataMFD" LIB xDll
//Emite leitura da memória fiscal por Redução MFD
DLL32 FUNCTION BmMemReduMFD ( In AS LPSTR, Fi AS LPSTR, ctipo AS LPSTR ) AS LONG PASCAL ;
FROM "Bematech_FI_LeituraMemoriaFiscalReducaoMFD" LIB xDll
//Emite leitura da memória fiscal por Redução em arquivo txt MFD
DLL32 FUNCTION BmMemReduTxtMFD ( In AS LPSTR, Fi AS LPSTR, ctipo AS LPSTR ) AS LONG PASCAL ;
FROM "Bematech_FI_LeituraMemoriaFiscalSerialReducaoMFD" LIB xDll
//Abre relatorio Gerencial previamente nomeado
DLL32 FUNCTION BmAbrGerNo( cIndice AS STRING ) AS LONG PASCAL ;
FROM "Bematech_FI_AbreRelatorioGerencialMFD" LIB xDll
//Emite cupom gerencial
DLL32 FUNCTION BmCpGerAbr( Texto AS STRING ) AS LONG PASCAL ;
FROM "Bematech_FI_RelatorioGerencial" LIB xDll
//Usa cupom gerencial
DLL32 FUNCTION BmCpUsa( Texto AS STRING ) AS LONG PASCAL ;
FROM "Bematech_FI_UsaRelatorioGerencialMFD" LIB xDll
//Fecha cupom gerencial
DLL32 FUNCTION BmCpGerFec( ) AS LONG PASCAL ;
FROM "Bematech_FI_FechaRelatorioGerencial" LIB xDll
//Verifica status da gaveta
DLL32 FUNCTION BmStGaveta( @nStatus AS PTR ) AS LONG PASCAL ;
FROM "Bematech_FI_VerificaEstadoGaveta" LIB xDll
//Abre cupom adicional não fiscal vinculado
DLL32 FUNCTION BmCupAdAbr( FormaPgto AS STRING,;
Valor AS STRING,;
Cupom AS STRING ) AS LONG PASCAL ;
FROM "Bematech_FI_AbreComprovanteNaoFiscalVinculado" LIB xDll
//Imprime cupom não fiscal vinculado
DLL32 FUNCTION BmCupAdUsa( Texto AS STRING ) AS LONG PASCAL ;
FROM "Bematech_FI_UsaComprovanteNaoFiscalVinculado" LIB xDll
// Dados da Ultima Redução
DLL32 FUNCTION BmDadult( dados AS STRING ) AS LONG PASCAL ;
FROM "Bematech_FI_DadosUltimaReducao" LIB xDll
// Retorno da Impressora
DLL32 FUNCTION BmRetorno( @varack AS PTR, @varst1 AS PTR, @varst2 AS PTR) AS LONG PASCAL ;
FROM "Bematech_FI_RetornoImpressora" LIB xDll
// Status da Impressora
DLL32 FUNCTION BmEstadoImp( @varack AS PTR, @varst1 AS PTR, @varst2 AS PTR) AS LONG PASCAL ;
FROM "Bematech_FI_VerificaEstadoImpressora" LIB xDll
//Ler número de Série da Impressora
DLL32 FUNCTION BmNumSerie( serie AS LPSTR ) AS LONG PASCAL ;
FROM "Bematech_FI_NumeroSerie" LIB xDll
//Ler número de Série da Impressora MFD
DLL32 FUNCTION BmSerieMFD( serie AS LPSTR ) AS LONG PASCAL ;
FROM "Bematech_FI_NumeroSerieMFD" LIB xDll
//Ler Ultimo Item vendido
DLL32 FUNCTION BmUltItem( uitem AS LPSTR ) AS LONG PASCAL ;
FROM "Bematech_FI_UltimoItemVendido" LIB xDll
//Ler número de Reduções da Impressora
DLL32 FUNCTION BmNumRedu( nredu AS LPSTR ) AS LONG PASCAL ;
FROM "Bematech_FI_NumeroReducoes" LIB xDll
//Ler status de vinculo ao ISS
DLL32 FUNCTION BmVerIss( cvinciss AS STRING ) AS LONG PASCAL ;
FROM "Bematech_FI_VerificaAliquotasIss" LIB xDll
//Fecha cupom não fiscal
DLL32 FUNCTION BmCupAdFec( ) AS LONG PASCAL ;
FROM "Bematech_FI_FechaComprovanteNaoFiscalVinculado" LIB xDll
//Vende ítem
// DLL32 FUNCTION BmVendItem( Codigo AS STRING,;
// Descricao AS STRING,;
// Aliquota AS STRING,;
// TpQte AS STRING,;
// Quantid AS STRING,;
// Decimal AS 7 ,;
// ValUnit AS STRING,;
// TpDesc AS STRING,;
// ValDesc AS STRING ) AS LONG PASCAL ;
// FROM "Bematech_FI_VendeItem" LIB xDll
//Vende ítem
//DLL32 FUNCTION BmVendItem( Codigo AS STRING,;
//Descricao AS STRING,;
//Aliquota AS STRING,;
//TpQte AS STRING,;
//Quantid AS STRING,;
//Decimal AS _int,;
//ValUnit AS STRING,;
//TpDesc AS STRING,;
//ValDesc AS STRING ) AS LONG PASCAL ;
//FROM "Bematech_FI_VendeItem" LIB xDll
//Vende ítem com unidade de Medida
DLL32 FUNCTION BmVendItem( Codigo AS STRING,;
Descricao AS STRING,;
Aliquota AS STRING,;
ValUnit AS STRING,;
Quantid AS STRING,;
Acresc AS STRING,;
ValDesc AS STRING,;
Indice AS STRING,;
Unidade AS STRING ) AS LONG PASCAL ;
FROM "Bematech_FI_VendeItemDepartamento" LIB xDll
// Vende ítem completo
DLL32 FUNCTION BmItemComp(Codigo AS STRING,;
EAN13 AS STRING,;
Descricao AS STRING,;
IndiceDepartamento AS STRING,;
Aliquota AS STRING,;
UnidadeMedida AS STRING,;
TipoQuantidade AS STRING,;
CasasDecimaisQtde AS STRING,;
Quantidade AS STRING,;
CasasDecimaisValor AS STRING,;
ValorUnitario AS STRING,;
TipoDesconto AS STRING,;
ValorAcrescimo AS STRING,;
ValorDesconto AS STRING,;
ArredondaTrunca AS STRING,;
NCM AS STRING,;
CFOP AS STRING,;
InformacaoAdicional AS STRING,;
CST_ICMS AS STRING,;
OrigemProduto AS STRING,;
ItemListaServico AS STRING,;
CodigoISS AS STRING,;
NaturezaOperacaoISS AS STRING,;
IndicadorIncentivoFiscal AS STRING,;
CodigoIBGE AS STRING,;
CSOSN AS STRING,;
ValorBaseCalculoSimples AS STRING,;
ValorICMSRetidoSimples AS STRING,;
ModalidadeBaseCalculo AS STRING,;
PercentualReducaoBase AS STRING,;
ModalidadeBC AS STRING,;
PercentualMargemICMS AS STRING,;
PercentualBCICMS AS STRING,;
ValorReducaoBCICMS AS STRING,;
ValorAliquotaICMS AS STRING,;
ValorICMS AS STRING,;
ValorICMSDesonerado AS STRING,;
MotivoDesoneracaoICMS AS STRING,;
AliquotaCalculoCredito AS STRING,;
ValorCreditoICMS AS STRING,;
Reservado01 AS STRING,;
Reservado02 AS STRING,;
Reservado03 AS STRING,;
Reservado04 AS STRING,;
Reservado05 AS STRING,;
Reservado06 AS STRING,;
Reservado07 AS STRING,;
Reservado08 AS STRING,;
Reservado09 AS STRING,;
Reservado10 AS STRING,;
Reservado11 AS STRING,;
Reservado12 AS STRING,;
Reservado13 AS STRING,;
Reservado14 AS STRING,;
Reservado15 AS STRING,;
Reservado16 AS STRING,;
Reservado17 AS STRING,;
Reservado18 AS STRING,;
Reservado19 AS STRING,;
Reservado20 AS STRING,;
Reservado21 AS STRING,;
Reservado22 AS STRING,;
Reservado23 AS STRING ) AS LONG PASCAL ;
FROM "Bematech_FI_VendeItemCompleto" LIB xDll
Exemplo do meu programa:
#include "FiveWin.ch"
#include "CORGET.Ch"
#include "VGET.CH"
#include "TSBUTTON.CH"
#include "Utilprn.ch"
#Define BRWBACK 14483196 // Amarelo enbranquecido
#Define COR1 14410170
#Define COR2 14810095
#Define COR3 RGB(255,128,128) // Rosa
#Define COR4 RGB(250,168,86) // Laranja
#define CLR_AZUL nRGB(204, 218, 241)
#define PRETO nRGB( 0,0,0)
#define XPAZULC nRGB( 111,143,175)
#define _VIDEO_CH
#define _OBJECTS_CH
#define _DDE_CH
FUNCTION TESSAT()
CursorWait()
IF !GrvCmdFis(10)
MsgStop("Nenhuma Impressora Fiscal Foi Detectada !","Atenção")
RETURN nil
ENDIF
IF (nRet := BmAbreCup("096.372.418-50")) <> 1
MsgStop("Não Foi Possível Abrir Cupom Fiscal !","Atenção")
RETURN nil
ENDIF
CPRO := "1234567890"
EAN13 := "7891000081754"
DPRO := "Água Mineral"
IDP := "01"
ALI := "T02"
UNI := "UN"
TPQ := "I"
CDQ := "2"
XQU := "100"
CDV := "2"
XVD := "349"
TPD := "$"
VACR := "000"
VDES := "000"
ART := "A"
NCM := "62000000"
CFOP := "5101"
IFA := "INFORMAÇÕES"
CSTI := "00"
OPR := "0"
ILS := "1234"
CISS := ""
NISS := ""
IIFS := ""
CIBGE := "5103403"
CSOSN := "500"
VBCS := "000"
VIRS := "000"
MBC := "3"
PRB := "1000"
MOBC := "0"
PMICMS := "1000"
PBCICMS := "1000"
VRBCICMS := "500"
VAICMS := "1500"
VICMS := "500"
VICMSD := "200"
MDICMS := "9"
ACC := "1700"
VCICMS := "500"
RE01 := ""
RE02 := ""
RE03 := ""
RE04 := ""
RE05 := ""
RE06 := ""
RE07 := ""
RE08 := ""
RE09 := ""
RE10 := ""
RE11 := ""
RE12 := ""
RE13 := ""
RE14 := ""
RE15 := ""
RE16 := ""
RE17 := ""
RE18 := ""
RE19 := ""
RE20 := ""
RE21 := ""
RE22 := ""
RE23 := ""
nRet := BmItemComp(CPRO, EAN13, DPRO, IDP, ALI, UNI, TPQ, CDQ, XQU, CDV, XVD, TPD, VACR, VDES, ART, NCM, CFOP, IFA,;
CSTI, OPR, ILS, CISS, NISS, IIFS, CIBGE, CSOSN, VBCS, VIRS, MBC, PRB, MOBC, PMICMS, PBCICMS, VRBCICMS, VAICMS,;
VICMS, VICMSD, MDICMS, ACC, VCICMS, RE01, RE02, RE03, RE04, RE05, RE06, RE07, RE08, RE09, RE10, RE11, RE12, RE13,;
RE14, RE15, RE16, RE17, RE18, RE19, RE20, RE21, RE22, RE23 )
IF (nRet := BmFormaPagto("Dinheiro",XVD)) <> 1
MsgStop("Não Foi Possível Adicionar Forma de Pagamento Dinheiro!","Atenção")
RETURN nil
ENDIF
****************** Finaliza o Fechamento
IF (nRet := BmTerminaFechamento("KJKJKJK")) <> 1
MsgStop("Não Foi Possível Fechar o Cupom Fiscal!","Atenção")
RETURN nil
ENDIF
RETURN(.T.)
Agradeço se alguém poder me ajudar. Se precisar viajar eu vou. Preciso urgente resolver.
Link to comment
Share on other sites

Crisvan, bom dia, 2 destas outras funções estão ignoradas (//) e uma é usada para venda de item nas impressoras ECFs comuns. Para o SAT criaram uma nova DLL BemaFI32.DLL 7 que serve tanto para ECFs antigas como para o SAT, onde foi adicionada a nova função Bematech_FI_VendeItemCompleto() que a que está dando erro. Quanto a porta ela está configurada no arquivo bemafi32.ini. Como funciona o SAT Bematech:

1- É instalado o programa Fiscal Manager Sat que controla o equipamento RB-1000 FI responsável pelo controle com a SEFAZ (Transmite, recebe, Cria XML, enfim faz tudo).

2- É instalado uma impressora virtual Virtual ECF 4000 emulando uma ECF de verdade na porta COM8.

3- Meu sistema carrega a nova DLL envio os comandos, a Virtual ECF envia para o RB-1000 FI que faz o resto.

Os comandos ABRIR CUPOM, CANCELAR CUPOM, LEITURA X, REDUÇÃO Z e outros funcionam normalmente com esta nova DLL porém a nova função Bematech_FI_VendeItemCompleto() que adicionei causa este erro mencionado ao enviar. Veja de outra forma mais clara:

Carregando a nova DLL

XDLL := LoadLib32("C:\SISCOM\BEMAFI32.dll")

Adicionando a nova função:

// Vende ítem completo
DLL32 FUNCTION VENDCOM(Codigo AS STRING,;
EAN13 AS STRING,;
Descricao AS STRING,;
IndiceDepartamento AS STRING,;
Aliquota AS STRING,;
UnidadeMedida AS STRING,;
TipoQuantidade AS STRING,;
CasasDecimaisQtde AS STRING,;
Quantidade AS STRING,;
CasasDecimaisValor AS STRING,;
ValorUnitario AS STRING,;
TipoDesconto AS STRING,;
ValorAcrescimo AS STRING,;
ValorDesconto AS STRING,;
ArredondaTrunca AS STRING,;
NCM AS STRING,;
CFOP AS STRING,;
InformacaoAdicional AS STRING,;
CST_ICMS AS STRING,;
OrigemProduto AS STRING,;
ItemListaServico AS STRING,;
CodigoISS AS STRING,;
NaturezaOperacaoISS AS STRING,;
IndicadorIncentivoFiscal AS STRING,;
CodigoIBGE AS STRING,;
CSOSN AS STRING,;
ValorBaseCalculoSimples AS STRING,;
ValorICMSRetidoSimples AS STRING,;
ModalidadeBaseCalculo AS STRING,;
PercentualReducaoBase AS STRING,;
ModalidadeBC AS STRING,;
PercentualMargemICMS AS STRING,;
PercentualBCICMS AS STRING,;
ValorReducaoBCICMS AS STRING,;
ValorAliquotaICMS AS STRING,;
ValorICMS AS STRING,;
ValorICMSDesonerado AS STRING,;
MotivoDesoneracaoICMS AS STRING,;
AliquotaCalculoCredito AS STRING,;
ValorCreditoICMS AS STRING,;
Reservado01 AS STRING,;
Reservado02 AS STRING,;
Reservado03 AS STRING,;
Reservado04 AS STRING,;
Reservado05 AS STRING,;
Reservado06 AS STRING,;
Reservado07 AS STRING,;
Reservado08 AS STRING,;
Reservado09 AS STRING,;
Reservado10 AS STRING,;
Reservado11 AS STRING,;
Reservado12 AS STRING,;
Reservado13 AS STRING,;
Reservado14 AS STRING,;
Reservado15 AS STRING,;
Reservado16 AS STRING,;
Reservado17 AS STRING,;
Reservado18 AS STRING,;
Reservado19 AS STRING,;
Reservado20 AS STRING,;
Reservado21 AS STRING,;
Reservado22 AS STRING,;
Reservado23 AS STRING ) AS LONG PASCAL ;
FROM "Bematech_FI_VendeItemCompleto" LIB xDll
Chamando a função com valores fixos igual do teste em delhi fornecido pela Bematech:
CursorWait()
VA01 := "1234567890" && Codigo
VA02 := "7891000081754" && EAN13
VA03 := "Água Mineral" && Descricao
VA04 := "01" && IndiceDepartamento
VA05 := "I1" && Aliquota
VA06 := "UN" && UnidadeMedida
VA07 := "I" && TipoQuantidade
VA08 := "2" && CasasDecimaisQtde
VA09 := "1,00" && Quantidade
VA10 := "2" && CasasDecimaisValor
VA11 := "0,50" && ValorUnitario
VA12 := "$" && TipoDesconto
VA13 := "00" && ValorAcrescimo
VA14 := "00" && ValorDesconto
VA15 := "A" && ArredondaTrunca
VA16 := "62000000" && NCM
VA17 := "5101" && CFOP
VA18 := "INFORMAÇÕES" && InformacaoAdicional
VA19 := "00" && CST_ICMS
VA20 := "0" && OrigemProduto
VA21 := "1234" && ItemListaServico
VA22 := "" && CodigoISS
VA23 := "" && NaturezaOperacaoIS
VA24 := "" && IndicadorIncentivoFiscal
VA25 := "5103403" && CodigoIBGE
VA26 := "" && CSOSN
VA27 := "" && ValorBaseCalculoSimples
VA28 := "" && ValorICMSRetidoSimples
VA29 := "" && ModalidadeBaseCalculo
VA30 := "" && PercentualReducaoBase
VA31 := "0" && ModalidadeBC
VA32 := "" && PercentualMargemICMS
VA33 := "" && PercentualBCICMS
VA34 := "" && ValorReducaoBCICMS
VA35 := "" && ValorAliquotaICMS
VA36 := "" && ValorICMS
VA37 := "" && ValorICMSDesonerado
VA38 := "" && MotivoDesoneracaoICMS
VA39 := "" && AliquotaCalculoCredito
VA40 := "" && ValorCreditoICMS
VA41 := "" && Reservado01
VA42 := "" && Reservado02
VA43 := "" && Reservado03
VA44 := "" && Reservado04
VA45 := "" && Reservado05
VA46 := "" && Reservado06
VA47 := "" && Reservado07
VA48 := "" && Reservado08
VA49 := "" && Reservado09
VA50 := "" && Reservado10
VA51 := "" && Reservado11
VA52 := "" && Reservado12
VA53 := "" && Reservado13
VA54 := "" && Reservado14
VA55 := "" && Reservado15
VA56 := "" && Reservado16
VA57 := "" && Reservado17
VA58 := "" && Reservado18
VA59 := "" && Reservado19
VA60 := "" && Reservado20
VA61 := "" && Reservado21
VA62 := "" && Reservado22
VA63 := "" && Reservado23
IF(nRet := VENDCOM(VA01, VA02, VA03, VA04, VA05, VA06, VA07, VA08, VA09, VA10, VA11, VA12, VA13, VA14, VA15, VA16,;
VA17, VA18, VA19, VA20, VA21, VA22, VA23, VA24, VA25, VA26, VA27, VA28, VA29, VA30, VA31, VA32, VA33, VA34, VA35,;
VA36, VA37, VA38, VA39, VA40, VA41, VA42, VA43, VA44, VA45, VA46, VA47, VA48, VA49, VA50, VA51, VA52, VA53, VA54,;
VA55, VA56, VA57, VA58, VA59, VA60, VA61, VA62, VA63))
DO CASE
CASE nRet = -2
MsgStop("Não Foi Possível Vender o Item, Parâmetro Inválido na Função !","Atenção")
CASE nRet = -3
MsgStop("Não Foi Possível Vender o Item, Alíquota " + TRI + " Não Programada !","Atenção")
OTHER
MsgStop("Não Foi Possível Vender o Item !","Atenção")
ENDCASE
ELSE
MsgStop("Item Vendido Com Sucesso","Atenção")
ENDIF
RETURN nil

Usando o Programa teste da Bematech em Delphi com mesma DLL dentro da pasta do meu sistema funciona perfeitamente. O erro está na hora de carregar a nova função.

Obrigado, peço que continue me auxiliando, pois o pessoal da Bematech não tem nenhum ex. em xHarbour, para eles tudo é Delphi kk.

Se mais pessoas poderem me ajudar agradeço. Se eu precisar viajar, Pagar algum custo à alguém, enfim faço qualquer negócio, o que não poço é começar a perder meus clientes.

Link to comment
Share on other sites

Se você está usando a Dll Bemafi32, é necessário que a porta serial seja aberta pela função Bematech_FI_AbrePortaSerial e quando fechar o cupom usar a função Bematech_FI_FechaPortaSerial, mesmo que no arquivo Bemafi32.ini esteja configura a porta.

Outra coisa. Onde você encontrou a função Bematech_FI_VendaItemCompleto?

Link to comment
Share on other sites

Crisvan, bom dia, quanto as portas o pessoal da Bematech disse que como a impressora é virtual apenas tenho definir na Bemafi32.ini onde ela está instalada, no caso COM8. Todas as outras funções antigas, abrir cupom, leitura x, etc... funcionam, apenas esta função nova que não. Está tudo meio confuso, antes eu tinha um modelo que veio junto. agora mandaram outro. Esta é forma que estou criando ela, baseado nas anteriores. Abaixo está

/ Vende ítem completo
DLL32 FUNCTION VENDCOM(;
Codigo AS STRING,;
EAN13 AS STRING,;
Descricao AS STRING,;
IndiceDepartamento AS STRING,;
Aliquota AS STRING,;
UnidadeMedida AS STRING,;
TipoQuantidade AS STRING,;
CasasDecimaisQtde AS STRING,;
Quantidade AS STRING,;
CasasDecimaisValor AS STRING,;
ValorUnitario AS STRING,;
TipoDesconto AS STRING,;
ValorAcrescimo AS STRING,;
ValorDesconto AS STRING,;
ArredondaTrunca AS STRING,;
NCM AS STRING,;
CFOP AS STRING,;
InformacaoAdicional AS STRING,;
CST_ICMS AS STRING,;
OrigemProduto AS STRING,;
ItemListaServico AS STRING,;
CodigoISS AS STRING,;
NaturezaOperacaoISS AS STRING,;
IndicadorIncentivoFiscal AS STRING,;
CodigoIBGE AS STRING,;
CSOSN AS STRING,;
ValorBaseCalculoSimples AS STRING,;
ValorICMSRetidoSimples AS STRING,;
ModalidadeBaseCalculo AS STRING,;
PercentualReducaoBase AS STRING,;
ModalidadeBC AS STRING,;
PercentualMargemICMS AS STRING,;
PercentualBCICMS AS STRING,;
ValorReducaoBCICMS AS STRING,;
ValorAliquotaICMS AS STRING,;
ValorICMS AS STRING,;
ValorICMSDesonerado AS STRING,;
MotivoDesoneracaoICMS AS STRING,;
AliquotaCalculoCredito AS STRING,;
ValorCreditoICMS AS STRING,;
ImpostosIncidentes AS STRING,;
CST_PIS AS STRING,;
PIS_BaseCalculo AS STRING,;
PIS_Aliquota AS STRING,;
PIS_Valor AS STRING,;
PIS_QuantidadeVendida AS STRING,;
PIS_ValorAliquotaReais AS STRING,;
CST_COFINS AS STRING,;
COFINS_BaseCalculo AS STRING,;
COFINS_Aliquota AS STRING,;
COFINS_Valor AS STRING,;
COFINS_QuantidadeVendida AS STRING,;
COFINS_ValorAliquotaReais AS STRING) AS LONG PASCAL ;
FROM "Bematech_FI_VendeItemCompleto" LIB xDll
Abaixo o programa:
***********************
FUNCTION VENITE()
CursorWait()
VA01 := "1234567890" && Codigo
VA02 := "7891000081754" && EAN13
VA03 := "Agua Mineral" && Descricao
VA04 := "01" && IndiceDepartamento
VA05 := "T01" && Aliquota
VA06 := "UN" && UnidadeMedida
VA07 := "I" && TipoQuantidade
VA08 := "2" && CasasDecimaisQtde
VA09 := "1000" && Quantidade
VA10 := "2" && CasasDecimaisValor
VA11 := "1200" && ValorUnitario
VA12 := "$" && TipoDesconto
VA13 := "000" && ValorAcrescimo
VA14 := "000" && ValorDesconto
VA15 := "A" && ArredondaTrunca
VA16 := "09011200" && NCM
VA17 := "5101" && CFOP
VA18 := "INFORMACOES" && InformacaoAdicional
VA19 := "90" && CST_ICMS
VA20 := "0" && OrigemProduto
VA21 := "" && ItemListaServico
VA22 := "" && CodigoISS
VA23 := "" && NaturezaOperacaoIS
VA24 := "" && IndicadorIncentivoFiscal
VA25 := "" && CodigoIBGE
VA26 := "" && CSOSN
VA27 := "" && ValorBaseCalculoSimples
VA28 := "" && ValorICMSRetidoSimples
VA29 := "" && ModalidadeBaseCalculo
VA30 := "" && PercentualReducaoBase
VA31 := "" && ModalidadeBC
VA32 := "" && PercentualMargemICMS
VA33 := "" && PercentualBCICMS
VA34 := "" && ValorReducaoBCICMS
VA35 := "" && ValorAliquotaICMS
VA36 := "" && ValorICMS
VA37 := "" && ValorICMSDesonerado
VA38 := "" && MotivoDesoneracaoICMS
VA39 := "" && AliquotaCalculoCredito
VA40 := "" && ValorCreditoICMS
VA41 := "" && impostosIncidentes
VA42 := "" && CST_PIS
VA43 := "" && PIS_BaseCalculo
VA44 := "" && PIS_Aliquota
VA45 := "" && PIS_Valor
VA46 := "" && PIS_QuantidadeVendida
VA47 := "" && PIS_ValorAliquotaReais
VA48 := "" && CST_COFINS
VA49 := "" && COFINS_BaseCalculo
VA50 := "" && COFINS_Aliquota = "01,00"
VA51 := "" && COFINS_Valor = "1,20"
VA52 := "" && COFINS_QuantidadeVendida
VA53 := "" && COFINS_ValorAliquotaReais
VA54 := "" && Reservado01
VA55 := "" && Reservado02
VA56 := "" && Reservado03
VA57 := "" && Reservado04
VA58 := "" && Reservado05
VA59 := "" && Reservado06
VA60 := "" && Reservado07
VA61 := "" && Reservado08
VA62 := "" && Reservado09
VA63 := "" && Reservado10
IF(nRet := VENDCOM(VA01, VA02, VA03, VA04, VA05, VA06, VA07, VA08, VA09, VA10, VA11, VA12, VA13, VA14, VA15, VA16,;
VA17, VA18, VA19, VA20, VA21, VA22, VA23, VA24, VA25, VA26, VA27, VA28, VA29, VA30, VA31, VA32, VA33, VA34, VA35,;
VA36, VA37, VA38, VA39, VA40, VA41, VA42, VA43, VA44, VA45, VA46, VA47, VA48, VA49, VA50, VA51, VA52, VA53)) <> 1
DO CASE
CASE nRet = -2
MsgStop("Não Foi Possível Vender o Item, Parâmetro Inválido na Função !","Atenção")
CASE nRet = -3
MsgStop("Não Foi Possível Vender o Item, Alíquota " + TRI + " Não Programada !","Atenção")
OTHER
MsgStop("Não Foi Possível Vender o Item !","Atenção")
ENDCASE
ELSE
MsgStop("Item Vendido Com Sucesso","Atenção")
ENDIF
RETURN nil
Abaixo anexei um arquivo.VendeItemCompleto.pdf
Link to comment
Share on other sites

Crisvam e Kapiaba desculpe a demora, é que fico fazendo testes antes postar aqui. Crisvam é justamente isto, não existe esta função no arquivo.CHM (Help da DLL). Kapiaba eu já havia visto este links. Consegui falar com uma pessoa da Bematech, Sr. Alexandre Abreu que me passou um exemplo da função. Montei conforme a minha conforme a dele porém o erro continua. Gostaria se possível alguém baixar esta DLL e fazer um teste em sua impressora FI comum, usando esta função, pois ele dizem que vai funcionar normalmente, pois os parâmetros a mais serão ignorados automaticamente. Vejam o que o Sr. Alexandre me mandou e como eu criei a função. Onde estou errando? É o seguinte também, eu tenho um arquivo .ZIP (xHarbour_NFC-e) que não sei onde consegui kkk, Dentro possui um arquivo .EXE que funciona perfeitamente, porém não tem os arquivos .PRG apenas .EXE .MAP (Linker Address Map) mais a DLL Bemafi32 e o Bemafi32.ini. Se alguém precisar para ajudar a resolver posso enviar por e-mail.

Função do Sr. Alexandre

//todas as variaveis devem ser declaradas como STRING;
edit_codigo := '000001';
edit_descricao := 'REFRIGERANTE LATA';
edit_Aliquota := 'II'
edit_Qtd := formatfloat('##,##0.000', 1);
edit_Valor := formatfloat('##,##0.00', 3);
Edit_Desconto := formatfloat('##,##0.00', 0);
//
edit_dep := formatfloat('##,##0.000', 20.00);
//
edit_unidade := 'un';
edit_dep := '01';
//VENDE ITEM DO SAT BEMATECH
EAN13 := '';
TipoQuantidade := 'I';
CasasDecimaisQtde := '3';
CasasDecimaisValor := '2';
TipoDesconto := '$';
ArredondaTrunca := 'A';
NCM := '22011000';
CFOP := '5403';
InformacaoAdicional := 'INFORMAÇÕES';
OrigemProduto := '0';
CST_ICMS := '60';
CodigoIBGE := '';
CodigoISS := '';
NaturezaOperacaoISS := '';
IndicadorIncentivoFiscal := '';
ItemListaServico := '1234';
//CSOSN := '102'; //--> Simples Nacional
CSOSN := '';
ValorBaseCalculoSimples := '0';
ValorICMSRetidoSimples := '0';
ModalidadeBaseCalculo := '0';
PercentualReducaoBase := '0';
ModalidadeBC := '0';
PercentualMargemICMS := '0';
PercentualBCICMS := '0';
ValorReducaoBCICMS := '0';
ValorAliquotaICMS := '0';
ValorICMS := '0';
ValorICMSDesonerado := '0';
MotivoDesoneracaoICMS := '0';
AliquotaCalculoCredito := '0';
ValorCreditoICMS := '0';
ValorTotalTributos := ''; //tributos
CSTPIS := '04';
BaseCalculoPIS := '';
AliquotaPIS := '';
ValorPIS := '';
QuantVendidaPIS := '';
ValorAliquotaPIS := '';
CSTCOFINS := '04';
BaseCalculoCOFINS := '';
AliquotaCOFINS := '';
ValorCOFINS := '';
QunatVendidaCOFINS := '';
ValorAliquotaCOFINS := '';
Reservado01 := '';
Reservado02 := '';
Reservado03 := '';
Reservado04 := '';
Reservado05 := '';
Reservado06 := '';
Reservado07 := '';
Reservado08 := '';
Reservado09 := '';
Reservado10 := '';
//teste
edit_Aliquota := 'F1';
//teste
iRetorno := Bematech_FI_VendeItemCompleto( pchar( edit_codigo ), pchar( EAN13 ), pchar(edit_descricao),
pchar( edit_dep ), pchar( edit_Aliquota ), pchar( edit_unidade ), pchar( TipoQuantidade ),
pchar( CasasDecimaisQtde ), pchar( edit_Qtd ), pchar( CasasDecimaisValor ), pchar( edit_Valor ),
pchar( TipoDesconto ), pchar( Edit_Desconto ), pchar( Edit_Desconto ), pchar( ArredondaTrunca ),
pchar( NCM ), pchar( CFOP ), pchar( InformacaoAdicional ),
pchar( CST_ICMS ), pchar( OrigemProduto ), pchar( ItemListaServico ), pchar( CodigoISS ),
pchar( NaturezaOperacaoISS ), pchar( IndicadorIncentivoFiscal ),
pchar(CodigoIBGE ), pchar( CSOSN ), pchar( ValorBaseCalculoSimples ),
pchar( ValorICMSRetidoSimples ), pchar( ModalidadeBaseCalculo ), pchar( PercentualReducaoBase ),
pchar( ModalidadeBC ), pchar( PercentualMargemICMS ), pchar( PercentualBCICMS ),
pchar( ValorReducaoBCICMS ), pchar( ValorAliquotaICMS ), pchar( ValorICMS ),
pchar( ValorICMSDesonerado ), pchar( MotivoDesoneracaoICMS ), pchar( AliquotaCalculoCredito ),
pchar( ValorCreditoICMS ), pchar( ValorTotalTributos ), pchar( CSTPIS ), pchar( BaseCalculoPIS ),
pchar( AliquotaPIS ), pchar( ValorPIS ), pchar( QuantVendidaPIS ), pchar( ValorAliquotaPIS ),
pchar( CSTCOFINS ), pchar( BaseCalculoCOFINS ), pchar( AliquotaCOFINS ), pchar( ValorCOFINS ),
pchar( QunatVendidaCOFINS ), pchar( ValorAliquotaCOFINS ), pchar( Reservado01 ), pchar( Reservado02 ),
pchar( Reservado03 ), pchar( Reservado04 ), pchar( Reservado05 ), pchar( Reservado06 ),
pchar( Reservado07 ), pchar( Reservado08 ), pchar( Reservado09 ), pchar( Reservado10 ));
Início do Programa onde está a função
#include "FiveWin.ch"
#define _VIDEO_CH
#define _OBJECTS_CH
#define _DDE_CH
Carregando a DLL
STATIC XDLL,oToolBar,OFONTEM,OFNTM
XDLL := LoadLib32("C:\FIVEH\BEMAFI32.dll")
Declarando a nova Função:
DLL32 FUNCTION VENDCOM(;
Codigo AS STRING,;
EAN13 AS STRING,;
Descricao AS STRING,;
IndiceDepartamento AS STRING,;
Aliquota AS STRING,;
UnidadeMedida AS STRING,;
TipoQuantidade AS STRING,;
CasasDecimaisQtde AS STRING,;
Quantidade AS STRING,;
CasasDecimaisValor AS STRING,;
ValorUnitario AS STRING,;
TipoDesconto AS STRING,;
ValorAcrescimo AS STRING,;
ValorDesconto AS STRING,;
ArredondaTrunca AS STRING,;
NCM AS STRING,;
CFOP AS STRING,;
InformacaoAdicional AS STRING,;
CST_ICMS AS STRING,;
OrigemProduto AS STRING,;
ItemListaServico AS STRING,;
CodigoISS AS STRING,;
NaturezaOperacaoISS AS STRING,;
IndicadorIncentivoFiscal AS STRING,;
CodigoIBGE AS STRING,;
CSOSN AS STRING,;
ValorBaseCalculoSimples AS STRING,;
ValorICMSRetidoSimples AS STRING,;
ModalidadeBaseCalculo AS STRING,;
PercentualReducaoBase AS STRING,;
ModalidadeBC AS STRING,;
PercentualMargemICMS AS STRING,;
PercentualBCICMS AS STRING,;
ValorReducaoBCICMS AS STRING,;
ValorAliquotaICMS AS STRING,;
ValorICMS AS STRING,;
ValorICMSDesonerado AS STRING,;
MotivoDesoneracaoICMS AS STRING,;
AliquotaCalculoCredito AS STRING,;
ValorCreditoICMS AS STRING,;
ImpostosIncidentes AS STRING,;
CST_PIS AS STRING,;
PIS_BaseCalculo AS STRING,;
PIS_Aliquota AS STRING,;
PIS_Valor AS STRING,;
PIS_QuantidadeVendida AS STRING,;
PIS_ValorAliquotaReais AS STRING,;
CST_COFINS AS STRING,;
COFINS_BaseCalculo AS STRING,;
COFINS_Aliquota AS STRING,;
COFINS_Valor AS STRING,;
COFINS_QuantidadeVendida AS STRING,;
COFINS_ValorAliquotaReais AS STRING,;
RESERVADO01 AS STRING,;
RESERVADO02 AS STRING,;
RESERVADO03 AS STRING,;
RESERVADO04 AS STRING,;
RESERVADO05 AS STRING,;
RESERVADO06 AS STRING,;
RESERVADO07 AS STRING,;
RESERVADO08 AS STRING,;
RESERVADO09 AS STRING,;
RESERVADO10 AS STRING) AS LONG PASCAL ;
FROM "Bematech_FI_VendeItemCompleto" LIB xDll
Chamando a função com os parâmetros igual do Sr. Alexandre:
VA01 := "1234567890" && Codigo
VA02 := "" && EAN13
VA03 := "AGUA MINERAL SEM GAS - COPO 200 ML" && Descricao
VA04 := "00" && IndiceDepartamento
VA05 := "F1" && Aliquota
VA06 := "UN" && UnidadeMedida
VA07 := "I" && TipoQuantidade
VA08 := "3" && CasasDecimaisQtde
VA09 := "1000" && Quantidade
VA10 := "2" && CasasDecimaisValor
VA11 := "1,00" && ValorUnitario
VA12 := "$" && TipoDesconto
VA13 := "0,00" && ValorAcrescimo
VA14 := "0,00" && ValorDesconto
VA15 := "A" && ArredondaTrunca
VA16 := "22011000" && NCM
VA17 := "5403" && CFOP
VA18 := "INFORMAÇÕES" && InformacaoAdicional
VA19 := "60" && CST_ICMS
VA20 := "0" && OrigemProduto
VA21 := "1234" && ItemListaServico
VA22 := "" && CodigoISS
VA23 := "" && NaturezaOperacaoIS
VA24 := "" && IndicadorIncentivoFiscal
VA25 := "" && CodigoIBGE
VA26 := "" && CSOSN
VA27 := "0" && ValorBaseCalculoSimples
VA28 := "0" && ValorICMSRetidoSimples
VA29 := "0" && ModalidadeBaseCalculo
VA30 := "0" && PercentualReducaoBase
VA31 := "0" && ModalidadeBC
VA32 := "0" && PercentualMargemICMS
VA33 := "0" && PercentualBCICMS
VA34 := "0" && ValorReducaoBCICMS
VA35 := "0" && ValorAliquotaICMS
VA36 := "0" && ValorICMS
VA37 := "0" && ValorICMSDesonerado
VA38 := "0" && MotivoDesoneracaoICMS
VA39 := "0" && AliquotaCalculoCredito
VA40 := "0" && ValorCreditoICMS
VA41 := "" && impostosIncidentes / Valor Total Tributos
VA42 := "04" && CST_PIS
VA43 := "" && PIS_BaseCalculo
VA44 := "" && PIS_Aliquota
VA45 := "" && PIS_Valor
VA46 := "" && PIS_QuantidadeVendida
VA47 := "" && PIS_ValorAliquotaReais
VA48 := "04" && CST_COFINS
VA49 := "" && COFINS_BaseCalculo
VA50 := "" && COFINS_Aliquota
VA51 := "" && COFINS_Valor
VA52 := "" && COFINS_QuantidadeVendida
VA53 := "" && COFINS_ValorAliquotaReais
VA54 := "" && Reservado01
VA55 := "" && Reservado02
VA56 := "" && Reservado03
VA57 := "" && Reservado04
VA58 := "" && Reservado05
VA59 := "" && Reservado06
VA60 := "" && Reservado07
VA61 := "" && Reservado08
VA62 := "" && Reservado09
VA63 := "" && Reservado10
IF(nRet := VENDCOM(VA01, VA02, VA03, VA04, VA05, VA06, VA07, VA08, VA09, VA10, VA11, VA12, VA13, VA14, VA15, VA16,;
VA17, VA18, VA19, VA20, VA21, VA22, VA23, VA24, VA25, VA26, VA27, VA28, VA29, VA30, VA31, VA32, VA33, VA34, VA35,;
VA36, VA37, VA38, VA39, VA40, VA41, VA42, VA43, VA44, VA45, VA46, VA47, VA48, VA49, VA50, VA51, VA52, VA53,;
VA54, VA55, VA56, VA57, VA58, VA59, VA60, VA61, VA62, VA63)) <> 1
DO CASE
CASE nRet = -2
MsgStop("Não Foi Possível Vender o Item, Parâmetro Inválido na Função !","Atenção")
CASE nRet = -3
MsgStop("Não Foi Possível Vender o Item, Alíquota " + TRI + " Não Programada !","Atenção")
OTHER
MsgStop("Não Foi Possível Vender o Item !","Atenção")
ENDCASE
ELSE
MsgStop("Item Vendido Com Sucesso","Atenção")
ENDIF
RETURN(.T.)
Obrigado e espero que com a ajuda de vocês e de Deus consigam achar o problema.
Link to comment
Share on other sites

Pessoal Bom dia, ontem estive em um Workshop da Bematech em Ribeirão Preto. Eles disseram que TALVEZ o motivo pela função Bematech_FI_VendeItemCompleto() não funcionar seja pelo xHarbour não suportar o envio de muitos parâmetros (63), que é o mesmo caso do VB. Sugeriram que eu usasse a Bematech_FI_VendeItemCompletoJSON(). Será que alguém poderia me mostrar como montar este mesmo exemplo abaixo VB6 em xHarbour/Fivewin. Obrigado.

Exemplo JSON função: Bematech_FI_VendeItemCompletoJSON

// Declaração da função

Private Declare Function Bematech_FI_VendeItemCompletoJSON Lib "BEMAFI32.DLL" (ByValsParametros As String) As Integer

Private Sub Command1_Click()

Dimcodigo As String
Dim EAN13 As String
Dimdescricao As String
DimindiceDepartamento As String
Dimaliquota As String
DimunidadeMedida As String
DimtipoQuantidade As String
DimcasasDecimaisQuantidade As String
Dim quantidade As String
DimcasasDecimaisValorUnitario As String

DimvalorUnitario As String

DimtipoAcrescimoDesconto As String

DimvalorAcrescimo As String

DimvalorDesconto As String

DimtipoCalculo As String

Dim NCM As String

Dim CFOP As String

DiminformacoesAdicionais As String

Dim CST_ICMS As String

DimorigemProduto As String

DimitemListaServico As String

DimcodigoISS As String

DimnaturezaOperacaoISS As String

DimindicadorIncentivoISS As String

DimcodigoIBGE As String

Dim CSOSN As String

DimbaseCalculoValorRetido As String

DimICMS_ValorRetido As String

DimmodoBaseCalculo As String

DimpercentualReducaoBaseCalculo As String

DimICMS_ST_ModoBaseCalculo As String

DimICMS_ST_PercentualMargemAdicionado As String

DimICMS_ST_PercentualReducaoBaseCalculo As String

Dim ICMS_ST_ValorReducaoBaseCalculoAs String

Dim ICMS_ST_AliquotaAs String

Dim ICMS_ST_ValorAs String

DimvalorDesoneracaoICMS As String

DimmotivoDesoneracaoICMS As String

DimaliquotaCalculoCredito As String

DimcreditoICMSSimples As String

DimimpostosIncidentes As String

Dim CST_PIS As String

DimPIS_BaseCalculo As String

DimPIS_Aliquota As String

DimPIS_Valor As String

DimPIS_QuantidadeVendida As String

DimPIS_ValorAliquotaReais As String

Dim CST_COFINS As String

DimCOFINS_BaseCalculo As String

DimCOFINS_Aliquota As String

DimCOFINS_Valor As String

DimCOFINS_QuantidadeVendida As String

DimCOFINS_ValorAliquotaReais As String

DimiRet As Integer

' Atribuições de valores

codigo = "1234567890"

EAN13 = "7891000081754"

descricao = "Agua Mineral"

indiceDepartamento = "01"

aliquota = "I1"

unidadeMedida = "UN"

tipoQuantidade = "I"

casasDecimaisQuantidade = "2"

quantidade = "1000"

casasDecimaisValorUnitario = "2"

valorUnitario = "12,00"

tipoAcrescimoDesconto = "$"

valorAcrescimo = "00,00"

valorDesconto = "00,00"

tipoCalculo = "A”

NCM = "09011200"

CFOP = "5101"

informacoesAdicionais = "INFORMAÇÕES"

CST_ICMS = "90"

origemProduto = "0"

itemListaServico = ""

codigoISS = ""

naturezaOperacaoISS = ""

indicadorIncentivoISS = ""

codigoIBGE = ""

CSOSN = ""

baseCalculoValorRetido = ""

ICMS_ValorRetido = ""

modoBaseCalculo = ""

percentualReducaoBaseCalculo = ""

ICMS_ST_ModoBaseCalculo = ""

ICMS_ST_PercentualMargemAdicionado = ""

ICMS_ST_PercentualReducaoBaseCalculo = ""

ICMS_ST_ValorReducaoBaseCalculo = ""

ICMS_ST_Aliquota = ""

ICMS_ST_Valor = ""

valorDesoneracaoICMS = ""

motivoDesoneracaoICMS = ""

aliquotaCalculoCredito = ""

creditoICMSSimples = ""

impostosIncidentes = "3,49"

CST_PIS = "1"

PIS_BaseCalculo = "120,00"

PIS_Aliquota = "03,00"

PIS_Valor = "3,60"

PIS_QuantidadeVendida = ""

PIS_ValorAliquotaReais = ""

CST_COFINS = "1"

COFINS_BaseCalculo = "120,00"

COFINS_Aliquota = "01,00"

COFINS_Valor = "1,20"

COFINS_QuantidadeVendida = ""

COFINS_ValorAliquotaReais = ""

' Opção 1 para concatenar variávies

sParametros = "{" &Chr(34) & "codigo" &Chr(34) & ":" &Chr(34) &codigo&Chr(34) & "," &Chr(34) & "EAN13" &Chr(34) & ":" &Chr(34) & EAN13 &Chr(34) & "," &Chr(34) & "descricao" &Chr(34) & ":" &Chr(34) &descricao&Chr(34) & "," &Chr(34) & "indiceDepartamento" &Chr(34) & ":" &Chr(34) &indiceDepartamento&Chr(34) & "," _

&Chr(34) & "aliquota" &Chr(34) & ":" &Chr(34) &aliquota&Chr(34) & "," &Chr(34) & "unidadeMedida" &Chr(34) & ":" &Chr(34) &unidadeMedida&Chr(34) & "," &Chr(34) & "tipoQuantidade" &Chr(34) & ":" &Chr(34) &tipoQuantidade&Chr(34) & "," &Chr(34) & "casasDecimaisQuantidade" &Chr(34) & ":" &Chr(34) &casasDecimaisQuantidade&Chr(34) & "," _

&Chr(34) & "quantidade" &Chr(34) & ":" &Chr(34) & quantidade &Chr(34) & "," &Chr(34) & "casasDecimaisValorUnitario" &Chr(34) & ":" &Chr(34) &casasDecimaisValorUnitario&Chr(34) & "," &Chr(34) & "valorUnitario" &Chr(34) & ":" &Chr(34) &valorUnitario&Chr(34) & "," &Chr(34) & "tipoAcrescimoDesconto" &Chr(34) & ":" &Chr(34) &tipoAcrescimoDesconto&Chr(34) & "," _

&Chr(34) & "valorAcrescimo" &Chr(34) & ":" &Chr(34) &valorAcrescimo&Chr(34) & "," &Chr(34) & "valorDesconto" &Chr(34) & ":" &Chr(34) &valorDesconto&Chr(34) & "," &Chr(34) & "tipoCalculo" &Chr(34) & ":" &Chr(34) &tipoCalculo&Chr(34) & "," &Chr(34) & "NCM" &Chr(34) & ":" &Chr(34) & NCM &Chr(34) & "," &Chr(34) & "CFOP" &Chr(34) & ":" _

&Chr(34) & CFOP &Chr(34) & "," &Chr(34) & "informacoesAdicionais" &Chr(34) & ":" &Chr(34) &informacoesAdicionais&Chr(34) & "," &Chr(34) & "CST_ICMS" &Chr(34) & ":" &Chr(34) & CST_ICMS &Chr(34) & "," &Chr(34) & "origemProduto" &Chr(34) & ":" &Chr(34) &origemProduto&Chr(34) & "," &Chr(34) & "itemListaServico" &Chr(34) & ":" _

&Chr(34) &itemListaServico&Chr(34) & "," &Chr(34) & "codigoISS" &Chr(34) & ":" &Chr(34) &codigoISS&Chr(34) & "," &Chr(34) & "naturezaOperacaoISS" &Chr(34) & ":" &Chr(34) &naturezaOperacaoISS&Chr(34) & "," &Chr(34) & "indicadorIncentivoISS" &Chr(34) & ":" &Chr(34) &indicadorIncentivoISS&Chr(34) & "," &Chr(34) & "codigoIBGE" &Chr(34) & ":" _

&Chr(34) &codigoIBGE&Chr(34) & "," &Chr(34) & "CSOSN" &Chr(34) & ":" &Chr(34) & CSOSN &Chr(34) & "," &Chr(34) & "baseCalculoValorRetido" &Chr(34) & ":" &Chr(34) &baseCalculoValorRetido&Chr(34) & "," &Chr(34) & "ICMS_ValorRetido" &Chr(34) & ":" &Chr(34) &ICMS_ValorRetido&Chr(34) & "," &Chr(34) & "modoBaseCalculo" &Chr(34) & ":" &Chr(34) &modoBaseCalculo&Chr(34) & "," _

&Chr(34) & "percentualReducaoBaseCalculo" &Chr(34) & ":" &Chr(34) &percentualReducaoBaseCalculo&Chr(34) & "," &Chr(34) & "ICMS_ST_ModoBaseCalculo" &Chr(34) & ":" &Chr(34) &ICMS_ST_ModoBaseCalculo&Chr(34) & "," &Chr(34) & "ICMS_ST_PercentualMargemAdicionado" &Chr(34) & ":" &Chr(34) &ICMS_ST_PercentualMargemAdicionado&Chr(34) & "," &Chr(34) & "ICMS_ST_PercentualReducaoBaseCalculo" &Chr(34) & ":" _

&Chr(34) &ICMS_ST_PercentualReducaoBaseCalculo&Chr(34) & "," &Chr(34) & "ICMS_ST_ValorReducaoBaseCalculo" &Chr(34) & ":" &Chr(34) &ICMS_ST_ValorReducaoBaseCalculo&Chr(34) & "," &Chr(34) & "ICMS_ST_Aliquota" &Chr(34) & ":" &Chr(34) &ICMS_ST_Aliquota&Chr(34) & "," &Chr(34) & "ICMS_ST_Valor" &Chr(34) & ":" &Chr(34) &ICMS_ST_Valor&Chr(34) & "," &Chr(34) & "valorDesoneracaoICMS" &Chr(34) & ":" _

&Chr(34) &valorDesoneracaoICMS&Chr(34) & "," &Chr(34) & "motivoDesoneracaoICMS" &Chr(34) & ":" &Chr(34) &motivoDesoneracaoICMS&Chr(34) & "," &Chr(34) & "aliquotaCalculoCredito" &Chr(34) & ":" &Chr(34) &aliquotaCalculoCredito&Chr(34) & "," &Chr(34) & "creditoICMSSimples" &Chr(34) & ":" &Chr(34) &creditoICMSSimples&Chr(34) & "," &Chr(34) & "impostosIncidentes" &Chr(34) & ":" &Chr(34) &impostosIncidentes&Chr(34) & "," _

&Chr(34) & "CST_PIS" &Chr(34) & ":" &Chr(34) & CST_PIS &Chr(34) & "," &Chr(34) & "PIS_BaseCalculo" &Chr(34) & ":" &Chr(34) &PIS_BaseCalculo&Chr(34) & "," &Chr(34) & "PIS_Aliquota" &Chr(34) & ":" &Chr(34) &PIS_Aliquota&Chr(34) & "," &Chr(34) & "PIS_Valor" &Chr(34) & ":" &Chr(34) &PIS_Valor&Chr(34) & "," &Chr(34) & "PIS_QuantidadeVendida" &Chr(34) & ":" &Chr(34) &PIS_QuantidadeVendida&Chr(34) & "," &Chr(34) & "PIS_ValorAliquotaReais" &Chr(34) & ":" &Chr(34) &PIS_ValorAliquotaReais&Chr(34) & "," &Chr(34) & "CST_COFINS" &Chr(34) & ":" &Chr(34) & CST_COFINS &Chr(34) & "," &Chr(34) & "COFINS_BaseCalculo" &Chr(34) & ":" &Chr(34) &COFINS_BaseCalculo&Chr(34) & "," &Chr(34) & "COFINS_Aliquota" &Chr(34) & ":" &Chr(34) &COFINS_Aliquota&Chr(34) & "," &Chr(34) & "COFINS_Valor" &Chr(34) & ":" &Chr(34) &COFINS_Valor&Chr(34) & "," &Chr(34) & "COFINS_QuantidadeVendida" &Chr(34) & ":" &Chr(34) &COFINS_QuantidadeVendida&Chr(34) & "," _

&Chr(34) & "COFINS_ValorAliquotaReais" &Chr(34) & ":" &Chr(34) &COFINS_ValorAliquotaReais&Chr(34) & "}"

' Opção 2 para concatenar variáveis

'sParametros = "{" + """code""" + ":" + """" + code + """" + "," + """EAN13""" + ":" + """" + EAN13 + """" + "," + """description""" + ":" + """" + description + """" + "," + """indexDepartment""" + ":" + """" + indexDepartment + """" + "," + """tax""" + ":" + """" + tax + """" + "," + """unitOfMeasure""" + ":" + """" + unitOfMeasure + """" + "," + """quantityType""" + ":" + """" + quantityType + """" + "," + """decimalsQuantity""" + ":" + """" + _

decimalsQuantity + """" + "," + """quantity""" + ":" + """" + quantity + """" + "," + """decimalsUnitaryValue""" + ":" + """" + decimalsUnitaryValue + """" + "," + """unitaryValue""" + ":" + """" + _

unitaryValue + """" + "," + """increaseDiscountType""" + ":" + """" + increaseDiscountType + """" + "," + """incrementValue""" + ":" + """" + incrementValue + """" + "," + """discountValue""" + ":" + """" + discountValue + """" + "," + """typeOfCalculation""" + ":" + """" + _

typeOfCalculation + """" + "," + """NCM""" + ":" + """" + NCM + """" + "," + """CFOP""" + ":" + """" + CFOP + """" + "," + """additionalInformation""" + ":" + """" + additionalInformation + """" + "," + """CST_ICMS""" + ":" + """" + _

CST_ICMS + """" + "," + """productOrigen""" + ":" + """" + productOrigen + """" + "," + """itemServiceList""" + ":" + """" + itemServiceList + """" + "," + """ISSCode""" + ":" + """" + ISSCode + """" + "," + """ISSOperationNature""" + ":" + """" + _

ISSOperationNature + """" + "," + """ISSIncentiveIndicator""" + ":" + """" + ISSIncentiveIndicator + """" + "," + """IBGECode""" + ":" + """" + IBGECode + """" + "," + """CSOSN""" + ":" + """" + _

CSOSN + """" + "," + """basisCalculuationValueRetained""" + ":" + """" + basisCalculuationValueRetained + """" + "," + """ICMSValueRetained""" + ":" + """" + ICMSValueRetained + """" + "," + """basisCalculationMode""" + ":" + """" + _

basisCalculationMode + """" + "," + """basisCalculationReductionPercentual""" + ":" + """" + basisCalculationReductionPercentual + """" + "," + """ICMSSTBasisCalculationMode""" + ":" + """" + ICMSSTBasisCalculationMode + """" + "," + """ICMSSTValueAddedMarginPercentual""" + ":" + """" + ICMSSTValueAddedMarginPercentual + """" + "," + """ICMSSTBasisCalculationReductionPercentual""" + ":" + """" + _

ICMSSTBasisCalculationReductionPercentual + """" + "," + """ICMSSTBasisCalculationReductionValue""" + ":" + """" + ICMSSTBasisCalculationReductionValue + """" + "," + """ICMSSTTax""" + ":" + """" + ICMSSTTax + """" + "," + """ICMSSTValue""" + ":" + """" + ICMSSTValue + """" + "," + """ICMSUnencumberedValue""" + ":" + """" + _

ICMSUnencumberedValue + """" + "," + """ICMSUnburdeningMotive""" + ":" + """" + ICMSUnburdeningMotive + """" + "," + """creditCalculationApplicableTax""" + ":" + """" + creditCalculationApplicableTax + """" + "," + """ICMSSNCreditValue""" + ":" + """" + ICMSSNCreditValue + """" + "," + """incidentTaxTotalValue""" + ":" + """" + _

incidentTaxTotalValue + """" + "," + """pisCst""" + ":" + """" + pisCst + """" + "," + """pisBasisCalculation""" + ":" + """" + pisBasisCalculation + """" + "," + """pisTax""" + ":" + """" + pisTax + """" + "," + """pisValue""" + ":" + """" + _

pisValue + """" + "," + """pisQuantitySell""" + ":" + """" + pisQuantitySell + """" + "," + """pisTaxValueProd""" + ":" + """" + pisTaxValueProd + """" + "," + """cofinsCst""" + ":" + """" + cofinsCst + """" + "," + """cofinsBasisCalculation""" + ":" + """" + _

cofinsBasisCalculation + """" + "," + """cofinsTax""" + ":" + """" + cofinsTax + """" + "," + """cofinsValue""" + ":" + """" + cofinsValue + """" + "," + """cofinsQuantitySell""" + ":" + """" + cofinsQuantitySell + """" + "," + """cofinsTaxValueProd""" + ":" + """" + _

cofinsTaxValueProd + """" + "," + """reserved01""" + ":" + """" + reserved01 + """" + "," + """reserved02""" + ":" + """" + reserved02 + """" + "," + """reserved03""" + ":" + """" + reserved03 + """" + "," + """reserved04""" + ":" + """" + _

reserved04 + """" + "," + """reserved05""" + ":" + """" + reserved05 + """" + "," + """reserved06""" + ":" + """" + reserved06 + """" + "," + """reserved07""" + ":" + """" + reserved07 + """" + "," + """reserved08""" + ":" + """" + _

reserved08 + """" + "," + """reserved09""" + ":" + """" + reserved09 + """" + "," + """reserved10""" + ":" + """" + reserved10 + """" + "}"

iRet = Bematech_FI_VendeItemCompletoJSON(sParametros)

End Sub

Link to comment
Share on other sites

  • 2 weeks later...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...