Ir para conteúdo
  • Cadastre-se

Romulo Cordeiro

Membros
  • Total de ítens

    29
  • Registro em

  • Última visita

Últimos Visitantes

O bloco dos últimos visitantes está desativado e não está sendo visualizado por outros usuários.

Romulo Cordeiro's Achievements

Explorer

Explorer (4/14)

  • First Post
  • Collaborator Rare
  • Conversation Starter
  • Week One Done
  • One Month Later

Recent Badges

0

Reputação

  1. Boa Tarde, Senhores, não sei se poderia ser aqui nesse tópico postar a minha dúvida. Caso não seja me perdoem. Usei o componente ACBRBlocoX para gerar o XML de Redução Z e Estoque. Acontece que na hora de assinar ocorre o seguinte erro: " Não há suporte para o tipo de provedor de serviços de criptografia '24' ". Percebi que isso não acontece com todos os certificados, apenas com alguns. Depois de pesquisar aqui mesmo no fórum encontrei muita gente falando sobre o tipo de criptografia e também falavam sobre o programinha "instaladorvalid24.exe" que resolvia o problema. Segui as instruções e funcionou tudo ok; Aqueles certificado que apresentavam erros passaram a não apresentar. Como sou leigo no assunto sobre "certificados" gostaria de saber porque isso acontece? há alguma forma do acbr tratar esses erros? Desde já agradeço a atenção de todos.
  2. obrigado pela resposta. Tem alguma outra forma de transmitir o XML usando o acbr?
  3. Bom dia, Gostaria de Saber como usar a função do acbr: ACBrBlocoX.SSL.Enviar();
  4. Bom dia EMBarbosa. Mas a dúvida se trata do mesmo tópico (Redução Z). Apenas outra tag. Ou seja, toda minha duvida é sobre o XML da Redução Z.
  5. Romulo Cordeiro

    Extoque BLOCO X

    Bom dia, Senhores usei o link abaixo para validar o XML gerado pelo exemplo do proprio acbr pois o xml que eu gerei tava com erro na validação ai eu decidi testar o xml do exemplo do acbr. Acontece que deu o mesmo erro: O elemento 'DataReferenciaInicial' é inválido Alguem poderia me dizer o que eu estou fazendo de errado? https://sathomologa.sef.sc.gov.br/tax.NET/sat.siv.web/validacao.aspx
  6. Boa Tarde, Mais uma dúvida: <Produto> <Descricao>GASOLINA COMUM</Descricao> <Codigo Tipo="Proprio">0180035</Codigo> <Quantidade>17</Quantidade> // Esta quantidade aqui deveria ser 16,69 mas foi arredondada para 17 <Unidade>L</Unidade> <ValorUnitario>349</ValorUnitario> // Este valor aqui deveria ser 3,49 mas foi colocado 349 </Produto> Porque isso acontece? é correto mesmo o componente gerar dessa forma? Após a geração do arquivo, como faço a transmissão e como testo o retorno dessa transmissão?
  7. mas voce usa o comando with e eu não usei o mesmo e por isso tenho que atribuir todas as propriedades.
  8. Régys, Na minha rotina retirei os produtos e observe que para cada totalizador que eu tenho o XML é gerado com uma TAG <TotalizadorParcial> com a identificação <Identificacao/> <TotalizadorParcial> <Identificacao>01</Identificacao> <Valor>0</Valor> <ProdutosServicos/> </TotalizadorParcial> <TotalizadorParcial> <Identificacao/> <Valor>0</Valor> <ProdutosServicos/> </TotalizadorParcial> <TotalizadorParcial> <Identificacao>04</Identificacao> <Valor>0</Valor> <ProdutosServicos/> </TotalizadorParcial> <TotalizadorParcial> <Identificacao/> <Valor>0</Valor> <ProdutosServicos/> </TotalizadorParcial>
  9. Bom dia, Régys. Só mais uma pergunta: eu olhei o componente e não entendi como e quando ocorre a transmissão do arquivo? e a resposta do retorno como eu analiso? Grato pela atenção.
  10. Sim, estudei o Demo. Veja minha Rotina abaixo, acredito que eteja certa. procedure TFormGeraXML.GeraReducaoZ; Var NomeArq : String; DataReducao : TDate; CodImpressora : String; CodProduto : String; DescProduto : String; QtdeProduto : Integer; CodUnidade : String; PrecoProduto : Currency; begin // Esta primeira consulta me retorna minha(s) redução Z QConsulta.Close; QConsulta.SQL.Text := RetornaSQLReducao; QConsulta.Open; QConsulta.First; while not QConsulta.eof do begin v_InscEstadualEmp := QConsulta.FieldByName('CGF').AsString; v_CNPJEmp := QConsulta.FieldByName('CNPJ').AsString; v_RazaoSocialEmp := QConsulta.FieldByName('RAZAO_SOCIAL').AsString; v_VersaoPAF_ECF := QConsulta.FieldByName('VERSAO_PAF').AsString; DataReducao := QConsulta.FieldByName('DATA').AsDateTime; CodImpressora := QConsulta.FieldByName('COD_IMPRESSORA').AsString; lbMensagens.Caption := 'Redução Z do Dia: ' + DateToStr(DataReducao); lbMensagens.Update; // Preenche o cabeçalho PreencherCabecalho(ACBrBlocoX); ACBrBlocoX.ECF.NumeroFabricacao := QConsulta.FieldByName('NUM_FAB_ECF').AsString; ACBrBlocoX.ECF.Tipo := QConsulta.FieldByName('TIPO_ECF').AsString; ACBrBlocoX.ECF.Marca := QConsulta.FieldByName('MARCA_ECF').AsString; ACBrBlocoX.ECF.Modelo := QConsulta.FieldByName('MODELO_ECF').AsString; ACBrBlocoX.ECF.Versao := QConsulta.FieldByName('VERSAO_SB_ECF').AsString; ACBrBlocoX.ReducoesZ.DataReferencia := DataReducao; ACBrBlocoX.ReducoesZ.CRZ := QConsulta.FieldByName('CNT_REDUCOES').AsInteger; ACBrBlocoX.ReducoesZ.COO := QConsulta.FieldByName('COO').AsInteger; ACBrBlocoX.ReducoesZ.CRO := QConsulta.FieldByName('CNT_REINICIOS').AsInteger; ACBrBlocoX.ReducoesZ.VendaBrutaDiaria := QConsulta.FieldByName('VENDA_BRUTA').AsCurrency; ACBrBlocoX.ReducoesZ.GT := QConsulta.FieldByName('VALOR_GT').AsCurrency; // Define o nome do arquivo NomeArq := 'Reducao_' + IntToStr(YearOf(DataReducao)) + FormatFloat('00', MonthOf(DataReducao)) + FormatFloat('00', DayOf(DataReducao)) + '.XML'; // Consulta os Totalizadores Parciais QConsultaTotalizadores.Close; QConsultaTotalizadores.SQL.Text := RetornaSQLTotallizadoresRZ(CodImpressora, DataReducao); // Esta consulta me retorna os totalizadores da redução //CopiaParaClipboard(QConsultaTotalizadores.SQL.Text); QConsultaTotalizadores.Open; ACBrBlocoX.ReducoesZ.TotalizadoresParciais.Clear; QConsultaTotalizadores.First; while not QConsultaTotalizadores.Eof do // Percorrendo os totalizadores begin lbMensagens.Caption := 'Redução Z do Dia: ' + DateToStr(DataReducao) + ' (T.:) ' + QConsultaTotalizadores.FieldByName('REGISTRADOR').AsString; lbMensagens.Update; ACBrBlocoX.ReducoesZ.TotalizadoresParciais.Add.Identificacao := QConsultaTotalizadores.FieldByName('REGISTRADOR').AsString; ACBrBlocoX.ReducoesZ.TotalizadoresParciais.Add.Valor := QConsultaTotalizadores.FieldByName('VALOR').AsCurrency; // Consulta os produtos vendidos QConsultaProdutos.Close; QConsultaProdutos.SQL.Text := RetornaSQLProdutosRZ(CodImpressora, QConsulta.FieldByName('CNT_REDUCOES').AsString, QConsultaTotalizadores.FieldByName('REGISTRADOR').AsString); // Consulta dos produtos QConsultaProdutos.Open; QConsultaProdutos.First; while not QConsultaProdutos.Eof do // Percorrendo os produtos da redução begin lbMensagens.Caption := 'Redução Z do Dia: ' + DateToStr(DataReducao) + ' (T.:) ' + QConsultaTotalizadores.FieldByName('REGISTRADOR').AsString + 'Prod.:' + QConsultaProdutos.FieldByName('COD_PRODUTO').AsString; lbMensagens.Update; // Atribui os balores CodProduto := QConsultaProdutos.FieldByName('COD_PRODUTO').AsString; DescProduto := QConsultaProdutos.FieldByName('DESCRICAO').AsString; QtdeProduto := QConsultaProdutos.FieldByName('QUANTIDADE').AsInteger; CodUnidade := QConsultaProdutos.FieldByName('COD_UNIDADE').AsString; PrecoProduto := QConsultaProdutos.FieldByName('PRECO_CONTRATO').AsCurrency; if QConsultaProdutos.FieldByName('TIPO_PRODUTO').AsString = 'SERVIÇO' then begin ACBrBlocoX.ReducoesZ.TotalizadoresParciais.Add.Servicos.Add.Codigo.Tipo := tpcProprio; ACBrBlocoX.ReducoesZ.TotalizadoresParciais.Add.Servicos.Add.Codigo.Numero := CodProduto; ACBrBlocoX.ReducoesZ.TotalizadoresParciais.Add.Servicos.Add.Descricao := DescProduto; ACBrBlocoX.ReducoesZ.TotalizadoresParciais.Add.Servicos.Add.Quantidade := QtdeProduto; ACBrBlocoX.ReducoesZ.TotalizadoresParciais.Add.Servicos.Add.Unidade := RetornaUnidadeMedida(CodUnidade); ACBrBlocoX.ReducoesZ.TotalizadoresParciais.Add.Servicos.Add.ValorUnitario := PrecoProduto; end else begin ACBrBlocoX.ReducoesZ.TotalizadoresParciais.Add.Produtos.Add.Codigo.Tipo := tpcProprio; ACBrBlocoX.ReducoesZ.TotalizadoresParciais.Add.Produtos.Add.Codigo.Numero := CodProduto; ACBrBlocoX.ReducoesZ.TotalizadoresParciais.Add.Produtos.Add.Descricao := DescProduto; ACBrBlocoX.ReducoesZ.TotalizadoresParciais.Add.Produtos.Add.Quantidade := QtdeProduto; ACBrBlocoX.ReducoesZ.TotalizadoresParciais.Add.Produtos.Add.Unidade := RetornaUnidadeMedida(CodUnidade); ACBrBlocoX.ReducoesZ.TotalizadoresParciais.Add.Produtos.Add.ValorUnitario := PrecoProduto; end; QConsultaProdutos.Next; end; QConsultaTotalizadores.Next; end; ACBrBlocoX.ReducoesZ.SaveToFile(v_DiretorioArq + NomeArq); //ACBrBlocoX.SSL.Enviar QConsulta.Next; end; lbMensagens.Caption := 'Mensagens:...'; lbMensagens.Update; end;
  11. Bom dia, Com relação ao campo quantidade: N no XML de estoque a minha quantidade possui 3 decimais como mostra na pagina 42 do REQUESITO LIX no item 1.17. Quantidade da mercadoria ou produto constante no estoque, com três casas decimais. A questão é o seguinte: Se eu eu tenho produtos em estoque que possui decimais, como no bloco X, no XML da Redução, minha quantidade tem que ser inteiro? Dessa forma eu podeira ter estoque decimais mas só poderia vender inteiro. Não tem sentido.
  12. Romulo Cordeiro

    XML da Redução Z

    Boa Tarde, Alguém sabe o que está acontecendo? Testando o componente, resolvi gerar o XML da redução Z apenas de um dia (30.11.2015) e nesse mesmo dia tive vendas apenas do totalizador "F1". Ou seja, só tive um totalizador. Porem ao montar as informações dos produtos vendidos na minha consulta só tenho 23 linhas mas no XML sai varias TAGS com as informações zeradas, ou seja, o XML é gerado varias vezes de forma errada como mostra o conteudo abaixo: <TotalizadoresParciais><TotalizadorParcial><Identificacao>F1</Identificacao><Valor>0</Valor><ProdutosServicos/></TotalizadorParcial><TotalizadorParcial><Identificacao/><Valor>8474193</Valor><ProdutosServicos/></TotalizadorParcial><TotalizadorParcial><Identificacao/><Valor>0</Valor><ProdutosServicos><Produto><Descricao/><Codigo Tipo="Proprio"/><Quantidade>0</Quantidade><Unidade/><ValorUnitario>0</ValorUnitario></Produto></ProdutosServicos></TotalizadorParcial><TotalizadorParcial><Identificacao/><Valor>0</Valor><ProdutosServicos><Produto><Descricao/><Codigo Tipo="GTIN">0180035</Codigo><Quantidade>0</Quantidade><Unidade/><ValorUnitario>0</ValorUnitario></Produto></ProdutosServicos></TotalizadorParcial><TotalizadorParcial><Identificacao/><Valor>0</Valor><ProdutosServicos><Produto><Descricao>GASOLINA COMUM</Descricao><Codigo Tipo="GTIN"/><Quantidade>0</Quantidade><Unidade/><ValorUnitario>0</ValorUnitario></Produto></ProdutosServicos></TotalizadorParcial><TotalizadorParcial><Identificacao/><Valor>0</Valor><ProdutosServicos><Produto><Descricao/><Codigo Tipo="GTIN"/><Quantidade>17</Quantidade><Unidade/><ValorUnitario>0</ValorUnitario></Produto></ProdutosServicos></TotalizadorParcial><TotalizadorParcial><Identificacao/><Valor>0</Valor><ProdutosServicos><Produto><Descricao/><Codigo Tipo="GTIN"/><Quantidade>0</Quantidade><Unidade>L</Unidade><ValorUnitario>0</ValorUnitario></Produto></ProdutosServicos></TotalizadorParcial><TotalizadorParcial><Identificacao/><Valor>0</Valor><ProdutosServicos><Produto><Descricao/><Codigo Tipo="GTIN"/><Quantidade>0</Quantidade><Unidade/><ValorUnitario>349</ValorUnitario></Produto></ProdutosServicos></TotalizadorParcial> Observe que coloquei em negrito algumas informações mas há muito mais erros. Uma das informações destacadas é o valor unitário de 349. Acontece que não tenho em minha base de dados nenhum produto com esse valor unitário. Reducao_20151130.XML
  13. Boa Tarde, Tenho uma duvida sobre o objeto TACBrBlocoX_Produto: Uma das propriedades desse objeto foi definida da seguinte forma: property Quantidade: Integer read FQuantidade write FQuantidade; Esse atributo é usado na tag do XML que tem as informações dos produtos da redução Z. Acontece que a propriedade está definida como inteiro e um produto vendido pode ter decimais (Ex: Gasolina). Alguém sabe como posso resolver essa situação, visto que meu produto possui decimais?
×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.