MSOL
Membros Pro-
Total de ítens
34 -
Registro em
-
Última visita
Tipo de Conteúdo
Blocks
Notes ACBrLibNFe
Fóruns
Downloads
Calendário
Tudo que MSOL postou
-
mesmo usando em duas etapas e gerando as senhas de APP, não estou conseguindo enviar. Conta no Outlook; Alguem tem alguma solução? Como usar Auth2?
-
Boa tarde, Juliomar! Eu resolvi o problema e vou postar aqui se alguem tiver o mesmo problema; Como eu precisava gerenciar a transação de bancos distintos(porem mesmo DBMS), a solução foi usar o FDManager(não conhecia como funcionava); Fiz assim: While Not .... Begin try conexaoAtual := TFDConnection.Create(nil); conexaoAtual.TxOptions.AutoCommit:= false; conexaoAtual.TxOptions.DisconnectAction:= xdNone; transacao:= TFDTransaction.Create(nil); transacao.Options.DisconnectAction:= xdNone; transacao.Options.AutoCommit:= false; transacao.Connection:= ConexaoAtual; TabelaPrincipa:= TFDQuery.Create(nil); TabelaPrincipal.Connection:= ConexaoAtual; TabelaPrincipal.UpdateTransaction:= transacao; TabelaPrincipal.Transaction:= transacao; ConexaoAtual.transaction:= transacao; transacao.StartTransaction; // faz aqui os inserts, updates etc... usando a query TabelaPrincipal // Aqui foi o pulo do gato. Ao inves de usar transacao. commit, chamo os metodos , criei 2 metodos, uma para commitar e outro para da Rollback CommitAllTransactions; except RollbackAllTransactions; end end procedure CommitAllTransactions; var FDManager: TFDManager; i: integer; begin FDManager := TFDManager.Create(nil); // Percorrer todas as conexões ativas for I := 0 to FDManager.ConnectionCount -1 do if FDManager.Connections[i].InTransaction then Connections[i].commit; end; procedure RollbackAllTransactions; var FDManager: TFDManager; i: integer; begin FDManager := TFDManager.Create(nil); // Percorrer todas as conexões ativas for I := 0 to FDManager.ConnectionCount -1 do if FDManager.Connections[i].InTransaction then Connections[i].Rollback; end; Espero que possa ser util para alguém Obrigado Juliomar pela atenção
-
Não tem. As ações que estou fazendo está neste exemplo. Em momento alguma faço TFDConnection.StarTransaction;
-
Boa tarde, Juliomar! Eu desabilitei o autocommit do TFDConnection; vou demostrar como fiz COnexao = TFDConnection que é criado dentro da classe ConfiguraEmpresa. While Not DmPrincipal.QrEmpCad.Eof Do Begin Try ConfiguraEmpresa(RetornaAlias(DmPrincipal.QrEmpCadCODIGOEMPRESA.Value)); aqui crio a conexão para cada banco existente transacao:= TFDTransaction.Create(nil); transacao.Connection:= Conexao; FrPrincipal.conexaoteste.UpdateOptions.LockWait := False; transacao.Options.ReadOnly := False; transacao.Options.Isolation := xiReadCommitted; transacao.StartTransaction; Gravar; aqui grava os registros suando um TFDQuery apontado para COnexao Except transacao.Rollback; Application.MessageBox(Pchar('Não foi possível gravar Registro na empresa ' + FormatFloat('000',DmPrincipal.QrEmpCadCODIGOEMPRESA.Value)),'Atenção',MB_ICONEXCLAMATION); exit; End; DmPrincipal.QrEmpCad.Next; End; transacao.Commit; O que está de errado no codigo?
-
Boa tarde, Juliomar! Mesmo lendo e tentando implementar não obtive sucesso!, gera o mesmo erro . Connection must is active Vc teria um exemplo como ficaria no meu caso?
-
Bom dia! Não estou conseguindo trabalhar com varias transações. Nosso sistema trabalha com empresa cadastro, ou seja, posso ter varios bancos(empresa), mas todo cadastro é realizado em apenas uma que persiste as informações nos outro banco. Ex: cadastro um produto na empresa 1 e replica para empresa 2, 3 etc... Só que se por algum motivo falhar a inserção das informações na empresa3, por exemplo, preciso abortar o cancelamento no outros banco tbm. Uso firedac com firebird. Tentei assim: transacao = TFDTrasaction e ADCEmpresa = TFDConnection ADCEmpresa.Transaction:= transacao; transacao.StartTransaction; vEmpAtual := FrPrincipal.vAliasEmp; While Not DmPrincipal.QrEmpCad.Eof Do Begin Try If FrPrincipal.CodigoEmpresaCad > 0 Then ConfiguraEmpresa(RetornaAlias(DmPrincipal.QrEmpCadCODIGOEMPRESA.Value)); // aqui eu crio uma nova conexão em outro banco if FrPrincipal.CodigoEmpresaCad > 0 then Gravar(Trunc(DMPrincipal.QrEmpCadCODIGOEMPRESA.Value)) else Gravar(FrPrincipal.CodigoEmpresa); If FrPrincipal.CodigoEmpresaCad <= 0 Then exit; Except transacao.Rollback; Application.MessageBox(Pchar('Não foi possível gravar Registro na empresa ' + FormatFloat('000',DmPrincipal.QrEmpCadCODIGOEMPRESA.Value)),'Atenção',MB_ICONEXCLAMATION); exit; End; DmPrincipal.QrEmpCad.Next; End; transacao.Commit; Mas da erro no rollback, com o erro mais ou menos assim connection must is active Como faria isso?
-
Novo provedor na cidade de Divinopolis
MSOL replied to MSOL's tópico in DFe - Documentos Fiscais Eletrônicos
Já estão em processo de migração desde o dia 27/11/23. A partir do dia 04/12/23 começarão com o novo provedor. Segue abaixo o aviso da prefeitura: A Prefeitura de Divinópolis, através da Secretaria Municipal de Fazenda (Semfaz), informa que, a emissão de nota fiscal eletrônica de serviços, retornará na segunda-feira (4/12), a partir das 8h. A exceção ainda será para a Nota Fiscal Avulsa, que será restabelecida no dia 11 de dezembro. Conforme amplamente divulgado, a Prefeitura de Divinópolis está passando por um processo de migração de sistemas para uma Administração Municipal mais tecnológica, sem burocracia e para melhor atender o cidadão! Para configuração final dos dados, se faz necessária uma parada técnica que teve início no dia 27 de novembro e vai até o dia 8 de dezembro, com a indisponibilidade temporária de alguns serviços. Quem precisar de informações, esclarecimentos ou desejarem realizar solicitações urgentes, devem entrar em contato por meio dos canais alternativos de atendimento, como telefone/WhatsApp ou e-mail. A equipe da Semfaz estará pronta para auxiliar e fornecer as informações necessárias! Contatos: Gerência de Fiscalização Tributária: 3229-6523 (WhatsApp) E-mail: [email protected] Plantão Fiscal: (37) 3229-6531 -
Novo provedor na cidade de Divinopolis
MSOL replied to MSOL's tópico in DFe - Documentos Fiscais Eletrônicos
Diego, entrei em contato com a prefeitura e me informaram que as duas estarão disponíveis -
Novo provedor na cidade de Divinopolis
um tópico no fórum postou MSOL DFe - Documentos Fiscais Eletrônicos
Boa tarde! A cidade de Divinopolis MG, está alterando seu provedor. Atualmente é GovDigital e passará para Betha segue documentação https://e-gov.betha.com.br/e-nota-test/ambienteteste.faces -
Impressão da bandeira obriga ter numero de autorização
MSOL replied to MSOL's tópico in NFe/NFCe - Nota Fiscal Eletrônica
Bom dia! Obrigado, Panda! Deu certo a atualização. Pode fechar o tópico, por favor -
Impressão da bandeira obriga ter numero de autorização
MSOL replied to MSOL's tópico in NFe/NFCe - Nota Fiscal Eletrônica
Bom dia! O email foi enviado com emitente [email protected] Obrigado pela atenção de todos! -
Impressão da bandeira obriga ter numero de autorização
MSOL replied to MSOL's tópico in NFe/NFCe - Nota Fiscal Eletrônica
Bom dia! Será possível fazer a alteração mencionada por mim no inicio do tópico? -
Impressão da bandeira obriga ter numero de autorização
MSOL replied to MSOL's tópico in NFe/NFCe - Nota Fiscal Eletrônica
Bom dia, Daniel! é pq tem cliente que não insere o numero da autorização, mas deseja que imprima qual bandeira usada no DANFce. Coisas de clientes, vai entender! -
Impressão da bandeira obriga ter numero de autorização
um tópico no fórum postou MSOL NFe/NFCe - Nota Fiscal Eletrônica
Boa tarde! Uso o Fortes para impressão; Percebi que para imprimir a bandeira na forma de pagamento da NFCe, está obrigando a ter uma numero de autorização; veja o codigo: function TACBrNFeDANFCEClass.ManterDescricaoPagamentos(aPagto: TpagCollectionItem String; var descBandeira, codigoAutorizacao: String; begin Result := ''; descBandeira := ''; codigoAutorizacao := ''; with aPagto do begin try if ((tPag in [fpCartaoCredito, fpCartaoDebito]) and (tpIntegra = tiPagIntegrado)) or ((tPag in [fpCartaoCredito, fpCartaoDebito]) and (cAut <>'')) then begin if Ord(aPagto.tBand) >= 0 then descBandeira:= BandeiraCartaoToDescStr(tBand); CodigoAutorizacao := '- Aut: ' + cAut; end; if (icaTipo in FDescricaoPagamentos) then Result:= ACBrStr(FormaPagamentoToDescricao(tPag, xPag)) + Space(1); if (icaBandeira in FDescricaoPagamentos) then Result := Result + descBandeira + Space(1); if (icaAutorizacao in FDescricaoPagamentos) then Result := Result + CodigoAutorizacao; except Result:= ACBrStr(FormaPagamentoToDescricao(tPag, xPag)) + Space(1); end; end; end; No caso penso que teria que ser assim: if ((tPag in [fpCartaoCredito, fpCartaoDebito]) and (tpIntegra = tiPagIntegrado)) or ((tPag in [fpCartaoCredito, fpCartaoDebito])) then begin if Ord(aPagto.tBand) >= 0 then descBandeira:= BandeiraCartaoToDescStr(tBand); if (cAut <>'')then CodigoAutorizacao := '- Aut: ' + cAut; end; Sendo assim, mesmo que não informou o numero da autorização, irá mostrar qual bandeira vendeu -
Bom dia, Daniel! Eu já li esses topicos e a NT, mas como não é mencionado (pelo menos não encontrei) como proceder quando varias entradas de notas no periodo, pensei em pegar os valores da ultima nota de entrada, para não fazer consultas e calculos(que deixaria lento ao vender o produto) na NFC-e
-
Boa tarde! De acordo com a NT 2023.001, precisarei informar as tags qBCMonoRet e vICMSMonoRet na NFCe. (só tenho clientes de revenda de GLP); Minha duvida seria se posso pegar essas informações da ultima nota de entrada ou teria que fazer uma media ponderada? Penso que é uma informação sem sentido do fisco(acompanhei o papo pro) e que poderia pegar somente os valores da ultima nota, pois imagina fazer media de valores no frente de caixa; Como estão fazendo?
-
Caminho de path na NFSe duplicando
MSOL replied to MSOL's tópico in DFe - Documentos Fiscais Eletrônicos
Bom dia! Deixei um log no app para saber onde pode ser o problema, ou seja, onde está duplicando o caminho. Pode fechar o topico -
Caminho de path na NFSe duplicando
MSOL replied to MSOL's tópico in DFe - Documentos Fiscais Eletrônicos
Não dá; Onde consigo o manual do retorno de cada propriedade do componente? -
Caminho de path na NFSe duplicando
um tópico no fórum postou MSOL DFe - Documentos Fiscais Eletrônicos
Boa tarde! Gravo no meu banco o caminho das notas de serviços emitidas, porém começou a um tempo duplicar o caminho. Exemplo de gravação: sNomeArquivo := FrPrincipal.ACBrNFSeX1.Configuracoes.Arquivos.GetPathNFSe + '\' + FrPrincipal.ACBrNFSeX1.NotasFiscais.Items[i].NomeArq; Está gravando assim no banco: C:\Sge32\PastasNFe\07528036000191\nfse\07528036000191\2023\04\Notas\C:\Sge32\PastasNFe\07528036000191\nfse\07528036000191\2023\04\Notas\3123040752803600019156000000000000732-nfse.xml Configuraçao do componente TACBrNFSeX: with ACBrNFSeX1.Configuracoes.Arquivos do begin PathGer := '\Sge32\PastasNFe\07528036000191\nfse'; if not DirectoryExists(PathSalvar) then ForceDirectories(PathSalvar); NomeLongoNFSe := True; Salvar := true; //salvar arq. em pastas separadas SepararPorMes := true; AdicionarLiteral := false; EmissaoPathNFSe := false;//salvar documento pelo campo dt. emissão SepararPorCNPJ := true; PathMensal := GetPathGer(0); PathSalvar := PathMensal; PathCan := PathMensal; end; Antes funcionava, agora está assim. Acredito ser da ultima vez que atualizei o ACBr; Ai não encontra o caminho para imprimir a nota -
Cancelamento de NFSe no provedor ISSNET
MSOL replied to MSOL's tópico in DFe - Documentos Fiscais Eletrônicos
Realmente era a sequencia da configuração que estava errada. Ao gravar o codigo do municipio por ultimo, deu certo! Resolvido o problema! Muito obrigado! -
Cancelamento de NFSe no provedor ISSNET
MSOL replied to MSOL's tópico in DFe - Documentos Fiscais Eletrônicos
Realmente não observei essa sequencia! Farei os testes aqui e retornarei mais tarde. Obrigado -
Cancelamento de NFSe no provedor ISSNET
MSOL replied to MSOL's tópico in DFe - Documentos Fiscais Eletrônicos
Obrigado, Diego! Mas eu configuro o ambiente tbm, veja: with ACBrNFeSource.Configuracoes.WebServices do begin if fParametersServices.VerificaParametros('AMBIENTENFSE','V') = 'P' then Ambiente := taProducao else Ambiente := taHomologacao; Visualizar := true; UF := fParametersServices.VerificaParametros('UFEMPRESA','V'); Salvar := true; end; Tanto é que a emissão está no ambiente de produção -
Cancelamento de NFSe no provedor ISSNET
um tópico no fórum postou MSOL DFe - Documentos Fiscais Eletrônicos
Bom dia! Não estou conseguindo cancelar uma NFS-e; O Provedor é ISSNET, e ao enviar o comando para cancelar recebo o retorno 'Município de prestação de serviço informado no XML diferente da URL do webservice' Percebi que o codigo do municipio está 999, mas estranho que aimento o componente com o codigo correto, tanto é que consigo emitir nas NFS-e; MInha configuração do componente ACBrNFSeX na guia geral é o seguinte: with ACBrNFeSource.Configuracoes.Geral do begin SSLLib := TSSLLib(StrToInt(fParametersServices.VerificaParametros('SSLLIB','I'))); SSLCryptLib := TSSLCryptLib(StrToInt(fParametersServices.VerificaParametros('CRYPTLIB','I'))); SSLHttpLib := TSSLHttpLib(StrToInt(fParametersServices.VerificaParametros('HTTPLIB','I'))); SSLXmlSignLib := TSSLXmlSignLib(StrToInt(fParametersServices.VerificaParametros('XMLSIGNLIB','I'))); Salvar := true; RetirarAcentos := true; ConsultaLoteAposEnvio := true; ConsultaAposCancelar := true; Emitente.CNPJ := fParametersServices.VerificaParametros('CGCEMPRESA','V'); Emitente.InscMun := fParametersServices.VerificaParametros('INSCMUNICIPAL','V'); Emitente.RazSocial := fParametersServices.VerificaParametros('NOMEEMPRESA','V'); CodigoMunicipio := StrToIntDef(cMunicipio,0); // Exemplos de valores para WSChaveAcesso para alguns provedores. if Provedor in [proAgili, proElotech] then Emitente.WSChaveAcesso := '0aA1bB2cC3dD4eE5fF6aA7bB8cC9dDEF'; if Provedor = proISSNet then Emitente.WSChaveAcesso := 'A001.B0001.C0001-1'; if Provedor = proSigep then Emitente.WSChaveAcesso := 'A001.B0001.C0001'; if Provedor = proiiBrasil then Emitente.WSChaveAcesso := 'TLXX4JN38KXTRNSEAJYYEA=='; end; Não entendi o pq está 999 no codigo do municipio no meu pedido de cancelamento; Xmls em anexo 6871-ped-can.xml 6871-can.xml -
Bom dia! O problema foi resolvido, porém estou deixando aqui a solução que pode ser util para outros. O problema era na configuração do Windows, e segue o caminho: Painel de controle, Região. Aba Administrativo, alterar localidade do sistema. Deixar desmarcado o check Beta: Usar Unicode UTF-8 para suporte de linguagem mundial; No cliente eles instalaram uma camera e acredito que seja esse sistema que alterou, deixando marcado UTF-8; Obrigado a todos pela atenção!
-
Vou fazer esses teste e aviso! Obrigado