MSOL
Membros Pro-
Total de ítens
34 -
Registro em
-
Última visita
Sobre MSOL
Últimos Visitantes
O bloco dos últimos visitantes está desativado e não está sendo visualizado por outros usuários.
MSOL's Achievements
-
MSOL started following Impressão da bandeira obriga ter numero de autorização , Envio de Email outlook , Múltiplas transações e 1 outro
-
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