maudruidas Posted July 18, 2015 Report Share Posted July 18, 2015 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. Quote Link to comment Share on other sites More sharing options...
crisvam Posted July 18, 2015 Report Share Posted July 18, 2015 Olha, não vi a função da abertura da porta da impressora. a função bmvenditem repetida três vezes com mesmo nome Quote Link to comment Share on other sites More sharing options...
maudruidas Posted July 19, 2015 Author Report Share Posted July 19, 2015 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. Quote Link to comment Share on other sites More sharing options...
crisvam Posted July 20, 2015 Report Share Posted July 20, 2015 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? Quote Link to comment Share on other sites More sharing options...
maudruidas Posted July 22, 2015 Author Report Share Posted July 22, 2015 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 Quote Link to comment Share on other sites More sharing options...
maudruidas Posted July 23, 2015 Author Report Share Posted July 23, 2015 Pessoal, por favor não tem alguém para me ajudar. Acho que estou criando errado esta Function. Quote Link to comment Share on other sites More sharing options...
crisvam Posted July 23, 2015 Report Share Posted July 23, 2015 maudruidas, Não encontrei a função Bematech_FI_VendeItemCompleto no help da Bemafi32.dll, de onde você tirou ela? kapiaba and maudruidas 2 Quote Link to comment Share on other sites More sharing options...
kapiaba Posted July 23, 2015 Report Share Posted July 23, 2015 http://partners.bematech.com.br/bemacast/Paginas/post.aspx?idPost=6158 http://partners.bematech.com.br/bemacast/Paginas/post.aspx?idPost=6159 http://partners.bematech.com.br/bemacast/Paginas/post.aspx?idPost=6154 maudruidas 1 Quote Link to comment Share on other sites More sharing options...
maudruidas Posted July 27, 2015 Author Report Share Posted July 27, 2015 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. Quote Link to comment Share on other sites More sharing options...
maudruidas Posted July 31, 2015 Author Report Share Posted July 31, 2015 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 StringDim EAN13 As StringDimdescricao As StringDimindiceDepartamento As StringDimaliquota As StringDimunidadeMedida As StringDimtipoQuantidade As StringDimcasasDecimaisQuantidade As StringDim quantidade As StringDimcasasDecimaisValorUnitario 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 Quote Link to comment Share on other sites More sharing options...
wmsoft Posted August 11, 2015 Report Share Posted August 11, 2015 Boa noite, já conseguiu resolver o uso da função Bematech_FI_VendeItemCompleto? estou tendo um problema aqui também em alguns testes. 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.