none
Erro de "Tipos de argumento incorretos na atribuição de variável" depois de aplicar KB RRS feed

  • Pergunta

  • Bom dia!

    Eu tinha aplicado o KB2790534 (referente ao cancelamento de NF-e por evento) numa base de testes do Dynamics AX 2009 e agora, sempre que vou faturar uma nota (indo em Lançamento > Nota fiscal na tela de Ordens de venda), aparece-me o seguinte erro:

    Erro ao executar o código: Tipos de argumento incorretos na atribuição de variável.

    (S)\Classes\EFiscalDocumentValidation_BR\initCfopTaxOriginExemptList - line 7
    (S)\Classes\EFiscalDocumentValidation_BR\new - line 5
    (S)\Classes\EFDocFactory_BR\createValidation - line 6
    (S)\Classes\EFiscalDocumentValidation_BR\constructFromCustInvoiceJour - line 17
    (S)\Classes\SalesFormLetter_Invoice\validateEFiscalDoc_BR - line 25
    (S)\Classes\SalesFormLetter_Invoice\postJournal - line 22
    (S)\Classes\SalesFormLetter_Invoice\updateNow - line 646
    (S)\Classes\SalesFormLetter\insertJournal - line 51
    (S)\Classes\SalesFormLetter_Invoice\insertJournal - line 30
    (S)\Classes\SalesFormLetter\createJournal - line 25
    (S)\Classes\SalesFormLetter_Invoice\createJournal - line 58
    (S)\Classes\SalesFormLetter\run - line 116
    (S)\Classes\SalesFormLetter_Invoice\run - line 9
    (S)\Classes\SalesFormLetter\mainOnServer - line 157
    (C)\Classes\SalesFormLetter\main - line 59
    (C)\Classes\FormFunctionButtonControl\Clicked
    (C)\Classes\FormFunctionButtonControl\Clicked - line 11
    (C)\Classes\FormMenuButtonControl\Clicked
    (C)\Classes\FormMenuButtonControl\Clicked - line 23

    Fui no método initCfopTaxOriginExemptList, que está com o problema, e, aparentemente, tudo está normal... O erro ocorre nesta linha:

    cfopTaxOriginExemptList = new Set(Types::String);

    Em ClassDeclaration, cfopTaxOriginExemptList havia sido declarado do tipo Set. Testei o mesmo código num job à parte para ver se o erro também acontece, mas, num job, ele funciona perfeitamente.

    Só mais duas informações que podem ser úteis: algumas vezes, o serviço do AX cai ao invés de aparecer a mensagem de erro e o método em questão foi incluído pelo KB.

    Alguém poderia me ajudar?

    Grato,

    Luiz Bezerra

    segunda-feira, 22 de abril de 2013 12:26

Respostas

  • Luiz,

    Vá na AOT -> Classes -> EFiscalDocumentValidation_BR

    Clique com o botão direito, suplementos, compilar avançar e faça a compilação, teste novamente. Se o problema persistir, vá em: Administração -> Atividades Periódicas -> Compilar aplicativo, este irá demorar, mas ao acabar seu problema muito provavelmente terá sido resolvido.

    Att.,


    []s Pichler http://www.daxbr.com.br

    • Marcado como Resposta Luiz Bezerra segunda-feira, 22 de abril de 2013 17:29
    segunda-feira, 22 de abril de 2013 13:16

Todas as Respostas

  • Luiz,

    Vá na AOT -> Classes -> EFiscalDocumentValidation_BR

    Clique com o botão direito, suplementos, compilar avançar e faça a compilação, teste novamente. Se o problema persistir, vá em: Administração -> Atividades Periódicas -> Compilar aplicativo, este irá demorar, mas ao acabar seu problema muito provavelmente terá sido resolvido.

    Att.,


    []s Pichler http://www.daxbr.com.br

    • Marcado como Resposta Luiz Bezerra segunda-feira, 22 de abril de 2013 17:29
    segunda-feira, 22 de abril de 2013 13:16
  • Ricardo,

    Muitíssimo obrigado! Não sabia dessa do Compilar avançar, resolveu o problema. Vou pesquisar mais sobre a utilidade dele.

    Por via das dúvidas, acha uma boa ideia eu fazer isso no restante da AOT (onde isso se aplicar)?

    Abraço!

    Luiz Bezerra

    segunda-feira, 22 de abril de 2013 17:33
  • Esse compilar avançar serve para você atualizar as classes que herdam a atual, porque imagina o seguinte cenário: Você mexeu na classe base, SalesFormLetter por exemplo, você colocou uma nova variável nela, no entanto, essa var não vai ser visível na SalesFormLetter_Invoice até que você realize este procedimento.

    Olha... eu aconselho sempre a compilar tudo depois de grandes depoys, agora se você fez isso e foi pontual, não tem necessidade.

    Abraço.



    []s Pichler http://www.daxbr.com.br

    segunda-feira, 22 de abril de 2013 17:49
  • Ok, obrigado pela ajuda! Sou relativamente novo no AX e ainda estou aprendendo várias coisas. Eu tinha compilado a AOT, mas pelo visto, é melhor fazê-lo pelo módulo de administração.

    Abraço!

    segunda-feira, 22 de abril de 2013 18:03