Ir para conteúdo
  • Cadastre-se

Milton Campanhã

Membros
  • Total de ítens

    6
  • Registro em

  • Última visita

Posts postados por Milton Campanhã

  1. Boa tarde.

    Por favor, poderia atualizar o componente ACBrNFSeX  com o provedor para cidade de Macapá/AP, sendo:

    [1600303]
    ; Atualizado em 08/05/2023 ( testado por Wilson )
    Nome=Macapa
    UF=AP
    Provedor=ISSNet
    Versao=2.04
    ProRecepcionar=https://nfse.issnetonline.com.br/abrasf204/macapa/nfse.asmx

    HomRecepcionar=https://www.issnetonline.com.br/homologaabrasf/webservicenfse204/nfse.asmx

    Segue documentação da prefeitura:

    https://www.issnetonline.com.br/macapa/online/login/login.aspx?Getfile=14

    Obrigado.

    Integração NFS-e Abrasf_Macapá.html

    • Curtir 1
  2. Bom dia a todos, vamos lá:
     
    1) Alteração da unit ACBrNFeWebServices.pas - Capicom.dll
    {$ELSE}
    procedure TWebServicesBase.ConfiguraReqResp( ReqResp : THTTPReqResp);
    begin
      if FConfiguracoes.WebServices.ProxyHost <> '' then
       begin
         ReqResp.Proxy        := FConfiguracoes.WebServices.ProxyHost+':'+FConfiguracoes.WebServices.ProxyPort;
         ReqResp.UserName     := FConfiguracoes.WebServices.ProxyUser;
         ReqResp.Password     := FConfiguracoes.WebServices.ProxyPass;
         ReqResp.ProxyByPass  := '*gov.br*';
       end;
      ReqResp.OnBeforePost := OnBeforePost;
    end;
     
     
    2) Detectar se o IE utiliza proxy
    uses Registry, Types, StrUtils;
    function GetIEProxy(out AHost, APort: String): Boolean;
    var
      I: Integer;
      sList, sProxies: TStringDynArray;
      sProxyServer: String;
      bProxyEnable: Boolean;
    begin
      Result := False;
      AHost := '';
      APort := '';
      with TRegistry.Create do
      begin
        try
          RootKey := HKEY_CURRENT_USER;
          if OpenKeyReadOnly('\Software\Microsoft\Windows\CurrentVersion\Internet Settings') then
          begin
            if ValueExists('ProxyServer') then
              sProxyServer := ReadString('ProxyServer');
            if ValueExists('ProxyEnable') then
              bProxyEnable := ReadBool('ProxyEnable');
            if bProxyEnable and (sProxyServer<>'') then
            begin
              //-- Identificar proxy
              if ContainsStr(sProxyServer, '=') then
              begin
                sList := SplitString(sProxyServer, ';');
                sProxyServer := '';
                for I := 0 to Length(sList)-1 do
                begin
                  if ContainsStr(sList, 'https=') then
                    sProxyServer := StringReplace(sList, 'https=', '', []);
                end;
              end;
              //--
              if (sProxyServer<>'') then
              begin
                sProxies := SplitString(sProxyServer, ':');
                AHost := sProxies[0];
                APort := sProxies[1];
              end;
              //--
              Result := (AHost<>'');
            end;
            CloseKey;
          end
          else
            Result := False;
         finally
          Free;
        end;
      end;
    end;
     
     
    3) Configurar componente
    procedure ConfigACBrNFe;
    var
      sHost, sPort: String;
    begin
     
      //-- Verificar se está configurado para proxy
      if (GetIEProxy(sHost, sPort) and (edtProxyHost.Text='')) then
      begin
      end
        ..Configuracoes.WebServices.ProxyHost := sHost;
        ..Configuracoes.WebServices.ProxyPort := sPort;
        ..Configuracoes.WebServices.ProxyUser := '';
        ..Configuracoes.WebServices.ProxyPass := '';
      else
      begin
        ..Configuracoes.WebServices.ProxyHost := edtProxyHost.Text;
        ..Configuracoes.WebServices.ProxyPort := edtProxyPort.Text;
        ..Configuracoes.WebServices.ProxyUser := edtProxyUser.Text;
        ..Configuracoes.WebServices.ProxyPass := edtProxyPass.Text;
      end;
     
    end;
    • Curtir 1
  3. Resolvi o problema no cliente,,mas tive que modificar o codigo da ACBr, implementando o ByPass = '*gov,br*'.

     

    Creio que seria interessante deixar esta propriedade ByPass nas configurações do WebServices. Utilizando este recursos de ByPass nem foi preciso informar usuário/senha do proxy e eu também fiz uma função que captura as configurações de proxy do IE automaticamente.

     

    Estou de saída agora (final do primeiro expediente), mas amanhã disponibilizo todos os códigos por aqui.

     

    Obrigado a todos,

    • Curtir 1
  4. Olá, sou novo no grupo e estou migrando projeto NFe_Util (c#) para ACBrNFe.

     

    Estamos com problemas em relação aos clientes que utilizam proxy (praticamente todos) pois anteriormente, ainda que o IE estivesse configurado para proxy, nosso sistema ignorava o proxy e utilizava o WebProxy.GetDefaultProxy e NetworkCredential. Com isto, o sistema estabelecia conexão com os webservices da Sefaz mas o usuário não tinha permissão de navegar na internet pelo browser.

     

    Mas com ACBr os clientes precisam configurar as propriedades de proxy (host,port,user,passw), caso contrário dá erro Proxy 407 (não autenticado). Entretanto, uma vez que a conexão é estabelecida (Ex: ConsultarStatus) o usuário passa a ter acesso à internet e pode navegar de boa.

     

    Minha dúvida:

    1) Este é o comportamento comum de conexão com proxy para HttpReqResp? Ou estou fazendo algo errado?

    2) Sendo este o comportamento, teria como fazer o logoff nesta autenticação do IE para novamente bloquear à internet?

     

    Obrigado,

×
×
  • 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.