Ir para conteúdo
  • Cadastre-se

Marcos Gerene

Membros
  • Total de ítens

    514
  • Registro em

  • Última visita

  • Days Won

    1

Tudo que Marcos Gerene postou

  1. Assim como o SAT em SP acho o MFE um erro no CE. Imagine então uma padaria que fature R$ 15.000,00. 1. Nesta padaria tem um padeiro que ganha R$ 2.000,00 e uma atendente/faz tudo que ganha R$ 1.200,00, cada funcionário com a CLT custa em média 55% a mais do que o salário (com encargos, 13º, 1/3 de férias, etc), folha salarial arredondando, R$ 5.000,00. 2. Compra-se por mês 5.000,00 de produtos (duvido que a padaria ganha 200% em cima dos produtos, mas vamos por esta porcentagem pra ter um exemplo bem caracto). 3. Paga-se de imposto 4% sobre o faturamento bruto (anexo I do simples), R$ 600,00 4. A padaria vende 25% no cartão (vai por mim, é mais que isso), paga-se 2,5% no cartão (média credito/debito), arredondando, R$ 100,00. 5. O prédio é alugado, R$ 1.000,00 6. Energia, água, telefone, combustivel para fazer entregas, CONTABILIDADE, internet etc: R$ 1.500,00. Tem mais custos que isso, mas uma padaria pequena que fatura R$ 15.000,00 custa R$ 13.200,00 nesse calculo rapído, o lucro bruto dessa padaria é R$ 1.800,00, mas máquinas quebram, existem outros gastos sazonais, etc. Logo, aquela atendente de 1200 (custo de 1860 com CLT) ou o padeiro de 2000 (custo de 3100 com CLT) não podem existir (tira-se um emprego), ou a padaria não é sustentável. Ai aparece a SEFAZ (aquela mesmo que cobrou uma quantidade bem grande de impostos do fornecedor e fez o custo subir, e que cobrou mais imposto ainda na folha salarial, etc) e obriga esta empresa a adquirir um KIT que custa R$ 2.000,00 (CE) e R$ 1.500,00 (SP). O NFCe/NFe é o MÁXIMO que a SEFAZ deveria exigir para o Simples Nacional (Comercio), CTe para transporte e NFSe (unificado em ambiente nacional) para Serviços, qualquer coisa acima disso é atrapalhar o empreendedor, e na boa... "só isso" já atrapalharia bastante. PS: Agora imagina que esta padaria é uma tentativa desesperada daquele padeiro que perdeu o emprego porque o estado gastou demais =)
  2. @Leonardo Henrique Este preenchimento do estabelecimento é uma configuração do PDV, provavelmente não foi configurado corretamente. Vou fazer um teste com ele preenchido e te dou um retorno. PS: Nao vi link nas postagens anteriores, por isso pedi novamente Obrigado
  3. Este é meu arquivo para enviar o pagamento: EnviarPagamento_12730.xml E esta é a reposta: a5a1d47fb0224f41a69b4c941775783f20180116160142.xml.xml Se o Sr. puder disponibilizar o manual que vem seguindo ou pelo menos link para baixar ele agradeço, como disse anteriormente a documentação não é clara além de não ser facil encontrar... E mais uma vez obrigado pela ajuda
  4. @Leonardo Henrique Em primeiro lugar obrigado pela resposta. Vou postar aqui um xml de envio e um de resposta para que você possa ver melhor. E sobre minha resposta estou recebendo o "IDPAGAMENTO local", como se tivesse sem internet, mas a internet está ok, por isso acredito ser algo referente às permissões do Integrador. O Sr. poderia disponibilizar o link para download manual? Tenho um manual aqui mas acredito que seja do inicio do projeto e desde entao houve mudanças. Att. Marcos
  5. Boa noite, Meu método EnviarPagamento sempre retorna salvo em disco e quando tento enviar o que esta salvo em disco retorna erro. Pela pesquisa que fiz no forum vi que rosar o integrador como admin resolveria, mas nao resolveu.. estou com internet, rodei o integrador como admin e mesmo assim recebo salvo em disco... alguém poderia me dar uma luz? nem sei que informação devo passar para os Srs... nao se sei se precisam do xml ou de alguma configuração especifica, o CE é muito confuso pra mim na parte de cartões...
  6. https://github.com/ACBrNet/ACBr.Net.Sat https://github.com/ACBrNet/ACBr.Net.Sat.Extrato.FastReport
  7. Não existe esses componentes para o ACBrFramework. Ou você usa o ACBrMonitor ou usa outro componente para isso. Para esses 3 que você citou existe o Zeus que é nativo em C#, hoje acredito ser o maior projeto C# para DFes de código aberto, tem uma comunidade bem ativa... É beeem menor que o ACBr e tem algumas limitações na questão da impressão (NFCe imprime de forma nativa, mas NFe e CTe depende do Fast Reports que é pago). https://github.com/ZeusAutomacao/DFe.NET/ Até aonde seu sei está nos planos do ACBr ter esses componentes, mas não temos ainda um prazo para isto, dependo da sua pressa acredito que a melhor opção seja o Zeus e usar o ACBrMonitor para a impressão (ou comprar o FastReports que é uma EXCELENTE ferramenta para reports em .Net).
  8. Tive problema a alguns dias com CTe, o grande problema pra mim é não ter nenhuma fonte que avise de eventuais instabilidades (eu pelo menos não conheço), todas as vezes WS com problema entro na página de disponibilidade e está tudo verde... isso toma tempo nosso e do suporte nosso aos clientes.
  9. O pacote ACBrFramework está disponível via nuget. Clique com o botão direito do mouse em cima do seu projeto e vai em "Manage Nuget packages" Busque por ACBrFramework e clique no botão para instalar. Pronto, o pacote está disponível para utilização. Se quiser adicionar o pacote à toolbox (opcional) é só adicionar uma nova tab, clicar sobre ela com o botão direito e ir em "choose items" ai na tela que vai abrir clica em Browse e acha a dll, que vc acabou de baixar via nuget, ela deve estar na pasta do seu projeto, dentro da pasta packages dentro da pasta referente ao acbrframework.
  10. Boa tarde a todos, Tenho um cliente com dois SATs Bematech e ele vem enfrentando um problema a um tempo que é a perda de comunicação com o SAT. O aparelho está funcionando, ai simplesmente para de comunicar. Remove-se o aparelho, reconecta, espera estabilizar e pronto, tudo volta ao normal, mas isso ocorre duas ou três vezes ao dia. Alguém já teve este problema. Hoje a maioria dos meus clientes são Gertec, tenho esse tipo de problema raramente, não várias vezes ao dia. Att, Marcos
  11. Parabéns por ter feito funcionar o projeto do ACBr. Sobre o projeto usar o C# 6.0 e você não poder migrar outros projetos, eu já vi esse filme na empresa que trabalhei anteriormente, ficamos presos ao Delphi 7 até um dia que o ACBr soltou a nota que não atenderia mais o Delphi 7... eu tive dor de barriga e meu chefe não dormiu aquela noite. Quer um conselho? Mude o framework, ache uma opção mais atualizada, mas não fique preso a nada que não evolua. A versão mais atual do C# se não me engano é a 7.2 e a do .Net framework 4.7.1... hoje quem está abaixo da 4..5 já não vai conseguir emitir mais NFe e a tendencia é cada vez mais agravar a situação. Se o seu framework é opensource baixe os fontes e compile numa versão mais atualizada do c#, se é proprietário compre uma atualização, se é caro de mais troque por outro... ache uma solução, só não caia no que eu cai, conselho de amigo.
  12. PS: Me refiro ao VS Community 2017, acredito que sua afirmação de que não roda em outras versões do VS não proceda, mas mesmo que sim, te aconselho a migrar a versão da IDE, além de ser uma excelente IDE (a melhor ide que já usei, inclusive comparando com outras linguagens) é gratuito.
  13. @Rodrigo Cesar Cara, a biblioteca não é compativel somente com o VS2017... o fonte é livre, nada impede que voce baixe e compile as DLLs na versão do VS que você usa. E sobre o VS em si, não sei o tamanho da sua empresa e nem exatamente o que é seu projeto (Winforms, WPF, Asp.Net, Asp.Net Core, ..) mas não vejo motivo para não usar o VS Community, é bem completo e gratuito (para empresas com até 5 desenvolvedores e com faturamento abaixo de US$ 1 milhão/ano). https://www.visualstudio.com/thank-you-downloading-visual-studio/?sku=Community&rel=15
  14. @Juliomar Marchetti não entenda como uma ofensa, estou criticando a sua postura no forum, não estou lhe ofendendo e nem te criticando como pessoa, afinal não o conheço. Posso reportar ao Sr. (de forma privada) alguns tópicos aonde você teve a mesma atitude que agora, da a impressão que não leu o que foi escrito ou não interpretou o contexto, fica uma resposta grosseira que não leva ninguém a nada e só afasta justamente quem tem menos conhecimento. Se o projeto tem planos de expansão, são justamente Srs. como o @HASA, @Janio e @dorivansousa o público alvo, quem vem de outra linguagem ou tem menos conhecimento técnico, ou seja, existe uma falha na estratégia aqui também.
  15. Achei o problema, na verdade o sistema não entrava no raise exception, mas sim estava retornando NULL, pois sempre retornava new na trigger, entretando DELETE deveria retornar old. Entretanto isso me levantou uma certa preocupação, pois uma falha do desenvolvedor quebrou a integridade do banco com as FKs. Att, Marcos
  16. Me perdoe e a ignorancia, sou novo no PostgreSQL, mas já trabalho com banco de dados a um tempo, acredito que tanto faz aonde eu faço a validação dos dados, a função da FK é justamente manter essa consistência. O banco é novo, estou criando agora para testes, eu droppei ele e vou recriar no PG9.6 e testar, posto aqui o resultado. Obrigado pela força
  17. Boa tarde @Edevair Viesa Junior Em primeiro lugar obrigado pelo retorno. A trigger pertencente a venda é inútil no meu exemplo, postei por postar, a função dela é alimentar 2 tabelas de carga que eu tenho em módulos específicos do meu sistema. A consistência na minha visão deveria ser feita pelo simples fato de existir a FK entre venda_itens e venda: create table venda_itens ( ... constraint fk_venda_itens_venda foreign key (ven_codigo, emp_codigo) references venda (ven_codigo, emp_codigo) on update cascade on delete cascade, ... ); Eu uso FB, é meu primeiro contato com PostgreSQL, na minha visão quando o item não pode ser deletado porque A TRIGGER DO ITEM não permite (lança a exception), o cabeçalho também deve permanecer porque remover ele vai fazer com que a foreign key seja violada. Att, Marcos
  18. Bom dia a todos, Estou com um problema aqui que está me tirando do sério desde manhã. Eu tenho uma tabela de VENDA e uma VENDA_ITEM, a ligação entre elas é feita via uma Foreign Key que deleta em cascata e da update em cascata. Bem, na tabela VENDA_ITEM existe uma trigger que roda no before delete que se o item já tiver entregas não deixa o item ser deletado, o impedimento para isto acontece com um RAISE EXCEPTION. A trigger funciona bem, ao tentar dar um delete from VENDA_ITEM com a trigger habilitada o banco não deleta o item, entretanto ao tentar dar um delete na venda o banco deleta o cabeçalho mas deixa os itens, violando assim a ideia da foreign key, ou seja, tenho itens sem cabeçalho. No Firebird se eu der um exception o banco aborta todo o processo, ou seja, não deleta o cabeçalho e nem o item, no PostgreSQL isso não ocorre. Segue a estrutura das tabelas: create table venda ( ven_codigo integer not null, emp_codigo integer not null, usu_codigo integer not null, ven_tipo integer default 0 not null, vds_codigo integer not null, ven_data date default current_date not null, ven_hora time default current_time not null, cli_codigo integer not null, fcb_codigo integer not null, cpg_codigo integer not null, ven_observacao text, ven_finalizado integer default 0, ven_cancelado integer default 0, ven_usu_cancel integer, nf_numero integer, nf_serie integer, ven_pdv integer default 0 not null, ven_codigo_pdv integer default 0 not null, ven_exportadopdv integer default 0 not null, cliaut_codigo integer, constraint pk_venda primary key (ven_codigo, emp_codigo), constraint fk_venda_empresa foreign key (emp_codigo) references empresa(emp_codigo) on update no action on delete restrict, constraint fk_venda_usuario foreign key (usu_codigo) references usuario(usu_codigo) on update no action on delete restrict, constraint fk_venda_vendedor foreign key (vds_codigo) references vendedor(vds_codigo) on update no action on delete restrict, constraint fk_venda_cliente foreign key (cli_codigo) references cliente(cli_codigo) on update no action on delete restrict, constraint fk_venda_forma_cobranca foreign key (fcb_codigo) references forma_cobranca (fcb_codigo) on update no action on delete restrict, constraint fk_venda_condicao_pagamento foreign key (cpg_codigo) references condicao_pagamento (cpg_codigo) on update no action on delete restrict, constraint fk_venda_cliente_autorizado foreign key (cliaut_codigo) references cliente_autorizado (cliaut_codigo) on update no action on delete restrict ); create or replace function sptg_venda_after() returns trigger as $$ declare _sist_sistema integer; declare _cnf_gerar_carga_web integer; begin if (new.ven_finalizado = 1 or new.ven_cancelado = 1) then if (exists(select vi_codigo from venda_itens where ven_codigo = new.ven_codigo limit 1)) then select sist_sistema from sistema limit 1 into _sist_sistema; select cnf_gerar_carga_web from configuracao limit 1 into _cnf_gerar_carga_web; if (_sist_sistema = 1 and _cnf_gerar_carga_web = 1) then insert into carga_web(cargaweb_id, cargaweb_datahora, cargaweb_tabela, cargaweb_codigo, cargaweb_processado) values(gen_id(gera_id_carga_web,1), current_timestamp, 'VENDA', new.ven_codigo, 0); end if; end if; end if; return new; end; $$ language 'plpgsql'; create trigger tg_venda_after after insert or update on venda for each row execute procedure sptg_venda_after(); create table venda_itens ( vi_codigo integer not null, ven_codigo integer not null, emp_codigo integer not null, pro_codigo integer not null, vi_qtde numeric(18,6) default 0 not null, vi_valor_vista numeric(18,6) default 0 not null, vi_vlr_com_juros numeric(18,6) default 0 not null, vi_valor_venda numeric(18,6) default 0 not null, vi_comissao numeric(18,6) default 0 not null, uni_venda integer not null, uni_compra integer not null, vi_valor_compra numeric(18,6) default 0 not null, vi_conversao_und numeric(18,6) default 0 not null, pgr_codigo integer, vi_qtde_entregue numeric(18,6) default 0 not null, vi_qtde_devolvida numeric(18,6) default 0 not null, vi_qtde_a_entregar numeric(18,6) default 0 not null, vi_descricao_produto varchar(80) default '' not null, constraint pk_venda_itens primary key(vi_codigo), constraint fk_venda_itens_venda foreign key (ven_codigo, emp_codigo) references venda (ven_codigo, emp_codigo) on update cascade on delete cascade, constraint fk_venda_itens_produto foreign key (pro_codigo) references produto (pro_codigo) on update cascade on delete restrict, constraint fk_venda_itens_unidade_venda foreign key (uni_venda) references unidade (uni_codigo) on update cascade on delete restrict, constraint fk_venda_itens_unidade_compra foreign key (uni_compra) references unidade (uni_codigo) on update cascade on delete restrict, constraint fk_venda_itens_unidade_produto_grade foreign key (pgr_codigo) references produto_grade (pgr_codigo) on update cascade on delete restrict ); create or replace function sptg_venda_itens_before() returns trigger as $$ declare _ven_cancelado integer; declare _ven_pdv integer; declare _forma_comissao integer; declare _vds_codigo integer; begin if (TG_OP = 'DELETE') then select ven_cancelado, ven_pdv from venda where ven_codigo = old.ven_codigo and emp_codigo = old.emp_codigo into _ven_cancelado, _ven_pdv; if (_ven_cancelado <> 1 and _ven_pdv = 0 and old.vi_qtde_entregue > 0) then raise exception 'nao e possivel excluir um item com entregas'; end if; end if; if (TG_OP = 'INSERT' or TG_OP = 'UPDATE') then select uni_venda, uni_compra, pro_compra, pro_conversao, pro_comissao from produto where pro_codigo = new.pro_codigo into new.uni_venda, new.uni_compra, new.vi_valor_compra, new.vi_conversao_und, new.vi_comissao; select vds_codigo from venda where ven_codigo = new.ven_codigo and emp_codigo = new.emp_codigo into _vds_codigo; select cnf_forma_calc_comissao from configuracao limit 1 into _forma_comissao; if (_forma_comissao = 0) then select cnf_aliq_comissao from configuracao limit 1 into new.vi_comissao; else if (_forma_comissao = 1) then select vds_comissao from vendedor where vds_codigo = _vds_codigo into new.vi_comissao; end if; end if; new.vi_qtde_a_entregar = new.vi_qtde - new.vi_qtde_entregue; if (TG_OP = 'UPDATE' and new.vi_qtde < new.vi_qtde_a_entregar) then raise exception 'a quantidade deve ser maior ou igual a quantidade entregue somada a quantidade devolvida'; end if; end if; return new; end; $$ language 'plpgsql'; create trigger tg_venda_itens_before before insert or update or delete on venda_itens for each row execute procedure sptg_venda_itens_before(); O trecho da trigger que está impedindo (corretamente) a exclusão é o raise exception 'nao e possivel excluir um item com entregas'; Estou neste momento implementando meu sistema em PostgreSQL, atualmente ele roda em Firebird e a ideia final do projeto é que rode nos dois bancos (um ou outro e nao em paralelo). PS: Estou usando a versão 10.1 do PostgreSQL no Windows 10 x64 Home original Att, Marcos
  19. Acredito que seja possível manter um espelho no SVN por um tempo até que a comunidade se "acostume", mas eu concordo com o Sr. no seu ponto de vista, lembro muito bem de como foi abandonar o Delphi 7 com "apenas 10 meses de prazo"... xD Bem, esta é uma opinião olhando de fora, mas é sempre bom saber que o projeto está evoluindo cada vez mais, abraços
  20. Eu vi pelo menos 2 vezes seu vídeo e recebi o mesmo com muito entusiasmo, hoje desenvolvo em c# e ter a suíte ACBr a disposição seria incrível. Concordo com seu comentário sobre a falta de "core developer", mas meu comentário foi direcionado do lado do desenvolvedor que não faz parte desse time e quer contribuir. Caso altere algo no fonte é mais facil simplesmenter abrir um PR aonde os moderadores (core team) pode ver o que foi alterado, comentar a alteração apontando para o trecho do fonte e solicitar mudanças dentro do próprio PR. Hoje a contribuição é feita de forma que eu como "apenas um usuario que raramente contribui" devo subir um .pas para cá, se tiver mudanças altero e subo de novo o .pas e se for algo que envolva um trecho de código que gere uma discussão mais acalorada vai ser um tópico com varios posts e as contribuições de outros que vierem nesse sentido ficam perdidas lá, acredito que o Sr. mesmo já tenha visto isto acontecer. Att, Marcos
  21. @Daniel Simoes Aos 6:12 o Sr. trata de "Facilidade da agilidade das revisões", acredito que o problema está no uso do SVN. Acredito que ter o projeto deveria estar no GitHub, com PR´s abertas mas com as issues fechadas (o que não prejudicaria todas as regras ja existentes no forum), um exemplo de quem faz isto é o Firebird. A vantagem é de que lá qualquer um pode fazer um Fork, alterar o que precisa para uso próprio e enviar um PR quando quiser contribuir, se o Sr. pensa em "expandir" o projeto, deveria seguir o mesmo exemplo que os grandes fizeram (vide a própria Microsoft que agora controla tudo via Git e liberou o proprio .NetCore no github). PS: Já vi algumas vezes isto ser abordado no forum e o Sr. mesmo sendo contra, mas acredito que esta seja a hora de repensar no assunto, respeito muito o trabalho do Sr., mas acredito que esteja errando neste ponto. Att, Marcos
  22. Respondendo: Para gerar a chave usa-se o .pem com a chave privada, para verificar usa-se a chave pública, no A1 é possível exportar a chave privada para um .PEM no A3 não, por isto o problema. Fonte: https://www.ppgia.pucpr.br/~jamhour/Pessoal/Especializacao/Ano03/SEGREDES/SSL/criptografia.html
  23. Uma informação nova: Hoje ao tentar gerar a chave para assinar um MFe (SAT do CE) dava "chave inválida" pois eu não tinha me atentado que deveria enviar o novo certificado ao Sefaz CE. Enviando o novo certificado (A3 exportado em Base64) eu tentei registrar de novo a chave gerada (mesma chave) e deu certo. Acredito que exista alguma validação por parte da Sefaz aonde eles geram a chave usando meu certificado em base64, ou seja, seria possível fazer isto com o A3 exportado. Alguém saberia me dizer como a Sefaz valida isso e se posso gerar a chave com o Base64 exportado do meu A3 via cmd? Att, Marcos
  24. Respondendo a questão: é necessário enviar o novo certificado atualizando o cadastro da SH em http://cfe.sefaz.ce.gov.br/mfe Att, Marcos
  25. Bom dia a todos, Já sou homologado no CE para MFe, mas ontem renovei meu certificado digital, como já faz algum tempo que eu homologuei eu esqueci se tenho que enviar o novo certificado em base64 como fiz em SP. Eu entrei no VIPRO e no Sefaz-CE com meu usuário e senha de SH e não achei aonde enviar isto, alguém que fez o processo recentemente pode só me confirmar se realmente não é necessário. Me desculpem a "noobada", é só pra ter certeza mesmo. Att, Marcos
×
×
  • 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.

The popup will be closed in 10 segundos...