Ir para conteúdo
  • Cadastre-se

Jorge Williams

Membros
  • Total de ítens

    27
  • Registro em

  • Última visita

Posts postados por Jorge Williams

  1. 8 minutos atrás, Paulo Aguiar Junior disse:

    Jorge, voce ta gerando infoESTATU RA RIO

    e não ESTA TU TARIO

    Você alterou no componente de forma equivocada...

    kkkkkkkkkk
    foi boa. Não tinha notado isso.
    Então são duas Correções para ACbr.
    Pq está errado na versão do arquivo mesmo, não alterei isso.

  2. 4 minutos atrás, Paulo Aguiar Junior disse:

    Cara, está gerando infoEstaturario...

    O problema é esse, era para estar gerando infoEstatutario

    Porém no componente está correto...

    Gerador.wGrupo('infoEstatutario');

    Como você gerou isso?

    Eu alterei o componente no S2200. E não o S2206 a geração de Celetista e Estatutário são em 2 arquivos diferentes, S2200 é no "pcesGerador.pas" e o S2206 é no "pcesS2206.pas".
    eu sugeri a correção na geração do S2200, que foi as alterações citadas acima.
    No S2206 o erro que recebo é da validação por Schemas, e é esse o problema, não tenho ideia de qual é o problema aqui, ele me pede InfoCeletista ou InfoEstatutario eu informo o InfoEstatutario e ele diz que esta errado...

  3. 4 minutos atrás, Paulo Aguiar Junior disse:

    Cara, a condição para gerar o grupo infoEstatutario é:

    if pInfoEstatutario.DtNomeacao > 0 then

    Você setou a data de nomeação?

    Sim.
                   <infoEstatutario>
                        <indProvim>1</indProvim>
                        <tpProv>1</tpProv>
                        <dtNomeacao>2006-01-01</dtNomeacao>
                        <dtPosse>2006-01-01</dtPosse>
                        <dtExercicio>2006-01-01</dtExercicio>
                    </infoEstatutario>

    na geração é só assim:
    Gerador.wCampo(tcInt, '', 'tpPlanRP', 0, 1, 0,  eSTpPlanRPToStr(pInfoEstatutario.tpPlanRP));
     

    Modifiquei pra ficar assim:
        if eSTpPlanRPToStr(pInfoEstatutario.tpPlanRP) <> '0' then
          Gerador.wCampo(tcInt, '', 'tpPlanRP', 0, 1, 0,  eSTpPlanRPToStr(pInfoEstatutario.tpPlanRP));
    depois da modificação que tinha falado acima.

  4. Paulo Boa tarde.
    O funcionário e Estatutario.

    EvtAdmissao.Vinculo.TpRegTrab = trEstatutario.

    EvtAdmissao.Vinculo.TpRegPrev = rpRGPS.

    mas o Evento S-2200 deu certo apos eu modificar a ACBr para não enviar "tpRegPrev". por esse motivo acredito que seja uma correção.
    ele é do tipo "TGenericosString1_2" eu alterei para o "TGenericosString0_2" e coloquei a verificação que se for "0" não gerar essa tag e deu certo.

    Estou travado mesmo é no S-2206.
    Obrigado pela atenção.

    16 minutos atrás, Paulo Aguiar Junior disse:

    Jorge, boa tarde.

    O funcionário no caso, é CLT ou estatutário?

    Verifica se está preenchendo corretamente os campos:

    EvtAdmissao.Vinculo.TpRegTrab (Regime de Contratação)

    CLT = trCLT

    Estatutário = trEstatutario

    e

    EvtAdmissao.Vinculo.TpRegPrev (Tipo do Regime Previdenciário)

    Geral = rpRGPS

    Próprio = rpRPPS

     

  5. - No Evento S2200 Quando a tag "infoEstaturario" é gerada a tag "tpPlanRP" possui a seguinte Validação: "Preenchimento obrigatório se {tpRegPrev} = [2]. Não preencher nos demais casos."
    Porem o modulo preenche obrigatoriamente com 1 quando o mesmo não é informado.
    - No Evento S2206 tenho um problema na validação da mesma Tag "infoEstaturario" que me retorna a seguinte mensagem:
    "Falha na validação dos dados do evento: evtAltContratual-v02_04_02

    1871 - Element '{http://www.esocial.gov.br/schema/evt/evtAltContratual/v02_04_02}infoEstaturario': This element is not expected. Expected is one of ( {http://www.esocial.gov.br/schema/evt/evtAltContratual/v02_04_02}infoCeletista, {http://www.esocial.gov.br/schema/evt/evtAltContratual/v02_04_02}infoEstatutario )."

    - No meu XML gera esta assim:
                <vinculo>
                    <tpRegPrev>1</tpRegPrev>
                </vinculo>
                <infoRegimeTrab>
                    <infoEstaturario>
                        <tpPlanRP>2</tpPlanRP>
                    </infoEstaturario>
                </infoRegimeTrab>

    Se alguém poder me da uma Luz, não sei o que fazer...

  6. 11 minutos atrás, Italo Jurisato Junior disse:

    Jorge,

    Você tem certeza que todos os fontes de todas as pastas estão atualizados?

    Se sim, após a atualização, os componentes foram reinstalados?

    Eu atualizei ontem no fim do expediente mas não tinha verificado.
    Aparentemente o problema foi resolvido no mesmo dia pela tarde kkkkkk
    Obg.

    • Curtir 1
  7. No arquivo "pcesS1000.pas" no evento "GerarInfoEFR" a verificação:
    "if infoEmpregador.infoCadastro.InfoOp.InfoEFRInst() and (infoEmpregador.infoCadastro.InfoOp.infoEFR.cnpjEFR <> EmptyStr) then" impede a geração da tag "ideEFR" porem ela é obrigatória caso tenha de informar "infoEFR" mas a "cnpjEFR" não é.
    como correção o Bloco ficou assim.
    "if infoEmpregador.infoCadastro.InfoOp.InfoEFRInst() then
      begin
        Gerador.wGrupo('infoEFR');

        Gerador.wCampo(tcStr, '', 'ideEFR',   1,  1, 1, eSSimNaoToStr(infoEmpregador.infoCadastro.InfoOp.infoEFR.ideEFR));
        if (infoEmpregador.infoCadastro.InfoOp.infoEFR.cnpjEFR <> EmptyStr) then
          Gerador.wCampo(tcStr, '', 'cnpjEFR', 14, 14, 0, infoEmpregador.infoCadastro.InfoOp.infoEFR.cnpjEFR);

        Gerador.wGrupo('/infoEFR')
      end;"
    Mas assim ele passa a enviar sempre a tag "ideEFR", devido a ele ser do tipo tpSimNao e isso dificulta a verificação se o mesmo vai ser informado ou não.

  8. 5 horas atrás, Italo Jurisato Junior disse:

    Bom dia Jorge,

    Com certeza você esta alimentando ou configurando o componente de forma errada, em vez de informar o CNPJ completo com os 14 dígitos esta informando somente os 8 primeiros dígitos.

    Bom dia Italo,
    não esta errado. Conforme o Layout do campo "nrInsc", "Informar o número de inscrição do contribuinte de acordo com o tipo de inscrição indicado no campo {tpInsc}. Se for um CNPJ deve ser informada apenas a Raiz/Base de oito posições, exceto se natureza jurídica de administração pública direta federal ([101-5], [104-0], [107-4], [116-3], situação em que o campo deve ser preenchido com o CNPJ completo (14 posições).".
    E é com base nesse valor que ele gera o ID, com a troca da verificação funcionou corretamente.

  9. No arquivo "pcesGerador.pas" na linha [374] a verificação: 

    "if (Length(CNPJF)=14) then" esta gerando o ID com tipo "2" onde deve ser enviado apenas 8 caracteres do CNPJ.
    Ex: Id="ID2056197960000002018052117502293055">
    O que deveria ser:
    "if (Length(CNPJF)<> 11) then" pois tipo "1" é com 14 ou com 8 caracteres.
    EX: Id="ID1056197960000002018052117502293055">

    pcesGerador.pas

  10. Em 19/02/2018 at 09:40, André Ferreira de Moraes disse:

    Correção disponível na revisão 14708 do SVN. Obrigado pela colaboração.

    Tem alguma ideia de quando vai sair essa alteração ?

    Trocar isso: FIntegrador.Parametros.Values['dadosConfiguracao'] := '<![CDATA[' +AjustaComando(dadosConfiguracao)+ ']]>';
    Por isso: FIntegrador.Parametros.Values['dadosConfiguracao'] := '<![CDATA[' +AjustaComando(dadosConfiguracao)+ '|||]]>';

  11. Opa, apos fazer alguns testes ainda não funciona, aparentemente faltou '|||' no final da linha do XML.
    a Atual esta assim: FIntegrador.Parametros.Values['dadosConfiguracao'] := '<![CDATA[' +AjustaComando(dadosConfiguracao)+ ']]>';
    e ele passou a funcionar assim: FIntegrador.Parametros.Values['dadosConfiguracao'] := '<![CDATA[' +AjustaComando(dadosConfiguracao)+ '|||]]>';

  12. Ao tentar configurar a rede usando a função "ConfigurarInterfaceDeRede" sempre é retornado um Erro, "Não foi localizado o método ConfigurarInterfaceDeRedeMFE".
    para solucionar esse erro é preciso modificar o arquivo "ACBrSATMFe_integrador.pas".

    Na "function TACBrSATMFe_integrador_XML.ConfigurarInterfaceDeRede"

    a linha:
    "FIntegrador.NomeMetodo := 'ConfigurarInterfaceDeRede';"

    deve ser trocada por:
    "FIntegrador.NomeMetodo := 'ConfigurarInterfaceDeRedeMFE';"

    Agradeço pela atenção e espero ter ajudado.

  13. Opa, eu não tinha conhecimento desse evento, então com ele eu posso ter acesso a todos os números de Sessões que enviei, mas e quanto a usar um numero de sessão que eu já tenha usado no passado?
    Exemplo: eu tenho uma venda e ela foi emitida mas por algum motivo do destino o Integrador ou o Modulo MFe não deu retorno, então o usuário vai tentar emitir novamente, ao emitir essa mesma venda com o mesmo numero de sessão anterior o integrador ira me devolver um erro dizendo que a sessão já foi usada, com isso sei que a venda foi emitida, porem se eu usar um novo numero de sessão gerado pelo fluxo atual, essa venda vai ser emitida novamente, só vou saber que deu problema com a duplicidade da venda quando o cliente reclamar que pulou um numero de Cupom....

    • Curtir 1
  14. Para a utilização do comando ConsultaSessao é necessário ter o numero da Sessão salvo, porem devido a erros no Integrador sua reinicialização muitas vezes é a unica solução, o AC que foi aberto através do Integrador e está aguardando a resposta é finalizado junto a reinicialização. 
    Devido a esse problema o nosso AC não é capaz de Consultar a Sessão corretamente, então fiz uma alteração que me permite gerar paralelamente o NumerodeSessao salvando o mesmo antes do envio, em casos de emissão e não havendo resposta do integrador ou ate mesmo do Modulo MFe como já presenciei, a venda será reenviada sempre com o mesmo numero de sessão, em caso da resposta ser um erro devido ao numero de sessão, segundo o Luiz Abade é para considerar a venda como emitida e segundo o mesmo uma função que permite consultar qualquer sessão já esta sendo implementada então essa modificação se tornará ainda mais necessária.
    Essa modificação consiste em uma função que deve ser chamada antes de cada comando de envio (Gerar numero sessão) e outra que só será usada caso já tenha o numero e deseje usa-lo não gerando um numero novo (inserir Sessão).

    *function TACBrSAT.GerarnumeroSessaoNew : Integer ;
    *function TACBrSAT.SetNumeroSessao(Valor: Integer) : Integer ;

    A antiga função permanece, porém a parte de gerar foi removida.
    *function TACBrSAT.GerarnumeroSessao : Integer ;

    Eu  gostaria que essa modificação fosse verificada e incluída no projeto, caso vocês possuam uma solução melhor e queiram implementa-la, agradeço a tenção e aguardo retorno.

    ACBrSAT.pas

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