Приспадащата се сума е неправилно нула във файл на модел 340, когато използвате опциите "Плащане в брой" и "Изключване на не. Приспадане. Ген. Прод. Групи" функционалности заедно в модел 340 в испанската версия на Microsoft Dynamics NAV

Отнася се за
Dynamics NAV 2009 Microsoft Dynamics NAV 5.0

Тази статия се отнася за Microsoft Dynamics NAV за региона на Испания (испания).

Симптоми

Приемайте, че използвате функцията "Плащане в брой" и "Изключване на не. Приспадане. Ген. Прод. Групи", функционалността заедно в модел 340 в испанската версия на Microsoft Dynamics NAV. Когато експортирате файл на модел 340, сумата за приспадане винаги е нула неправилно.
Този проблем възниква в следните продукти:

  • Испанска версия на Microsoft Dynamics NAV 2009 R2
  • Испанска версия на Microsoft Dynamics NAV 2009 Service Pack 1
  • Испанската версия на Microsoft Dynamics NAV 5.0 Service Pack 1

      

Решение

Информация за горещи поправки

Поддържа гореща поправка вече се предлага от Microsoft. Целта му е обаче само да коригира проблема, който е описан в тази статия. Прилагайте го само към системи, които срещат този конкретен проблем. Тази гореща корекция може да бъде подложена на допълнително тестване. Ето защо, ако не сте сериозно засегнати от този проблем, ви препоръчваме да изчакате следващия сервизен пакет за Microsoft Dynamics NAV 2009 или следващата версия на Microsoft Dynamics NAV, която съдържа тази гореща корекция.

Забележка: При специални случаи таксите, които обикновено се начисляват за свързани с поддръжката разговори, могат да бъдат отменени, ако специалист по техническа поддръжка за Microsoft Dynamics и свързаните продукти реши, че проблемът може да бъде решен със специфична актуализация. Стандартните такси за поддръжката ще важат за допълнителни въпроси, свързани с нея, както и за проблеми, които не спадат към съответната актуализация.

            
          

Информация за инсталиране

Microsoft предоставя примери за програмиране само за илюстрация, без гаранция, нито изрична, или подразбираща се. Това включва, но не се ограничава до, подразбиращите се гаранции за продаваемост или годност за определена цел. В тази статия се предполага, че сте запознати с езика за програмиране, който се демонстрира, и с инструментите, които се използват за създаване и за процедури за отстраняване на грешки. Инженерите по поддръжка на Microsoft могат да ви помогнат да обяснят функционалността на дадена процедура, но няма да променят тези примери, за да предоставят допълнителна функционалност или да конструират процедури, които да отговарят на вашите конкретни изисквания.

Забележка Преди да инсталирате тази гореща корекция, уверете се, че всички потребители на клиента на Microsoft Navision са излезли от системата. Това включва потребители на клиенти на Microsoft Navision Application Services (NAS). Когато внедрявате тази гореща корекция, трябва да сте единственият клиентски потребител е влязъл.

За да приложите тази гореща корекция, трябва да имате лиценз за разработчик.

Препоръчваме на потребителския акаунт в прозореца за влизане в Windows или в прозореца за влизане в база данни да бъде присвоен ИД на роля "SUPER". Ако на потребителския акаунт не може да бъде присвоен ИД на роля "SUPER", трябва да се уверите, че този потребителски акаунт има следните разрешения:

  • Разрешението за промяна за обекта, който ще променяте.
  • Разрешението за изпълнение за обекта 5210 на системен обект с ИД 5210 и за обекта 9015 на системен обект.

                
Забележка: Не е необходимо да имате права за хранилищата за данни, освен ако не трябва да извършите поправка на данни.

Промени в кода

Забележка: Винаги тествайте корекциите на кода в контролирана среда, преди да ги приложите към производствените си компютри.
За да разрешите проблема, изпълнете следните стъпки:

  1. Щракнете върху C/AL Globals в менюто " Изглед " и след това променете променливите в раздела "Variables" на отчета "Make 340 Declaration" (10743), както следва:
    Съществуваща променлива

    FilterString : Text [1024];
    

    Променлива за заместване

    GPPGFilterString: Text[1024];
    
  2. Променете кода в Non Deduct. Ген. Прод. Групи – OnAssistEdit задейства във формуляра за искане в отчета за деклариране на Make 340 (10743), както следва:
    Съществуващ код

    ...
    // Delete the following line
    dGPPGSelectionBuf.SetNonDedGPPGSelectMultiple340(ColumnGPPG,FilterString);
    ...
    

    Код за подмяна

    ...
    // Add the following line.
    GPPGSelectionBuf.SetNonDedGPPGSelectMultiple340(ColumnGPPG,GPPGFilterString);
    ...
    
  3. Променете кода в Non Deduct. Ген. Прод. Групи – OnAssistEdit задейства в страницата за искане в отчета за деклариране на Make 340 (10743), както следва:
    Съществуващ код

    
    
    ...
    

    Изтриване на следващия ред.
    GPPGSelectionBuf.SetNonDedGPPGSelectMultiple340(ColumnGPPG,FilterString);
    ... Код за подмяна

    ...
    // Add the following line.
    GPPGSelectionBuf.SetNonDedGPPGSelectMultiple340(ColumnGPPG,GPPGFilterString);
    ...
    
  4. Променете кода в превключвателя OnPreReport във формуляра за искане в отчета за деклариране на Make 340 (10743), както следва:
    Съществуващ код:

    ...
    // Delete the following lines.
    IF FilterString = '' THEN
    GetFilterStringFromColumnGLAcc;
    // End of the lines.
    ...
    

    Код за подмяна

    ...
    // Add the following lines.
    IF GLAccFilterString = '' THEN
    GLAccFilterString := GetFilterStringFromColumn(ColumnGLAcc);
    // End of the lines.
    ...
    
  5. Променете кода в превключвателя OnPreReport на страницата за искане в отчета за деклариране "Make 340" (10743) по следния начин:
    Съществуващ код:

    ...
    // Delete the following lines.
    IF FilterString = '' THEN
    GetFilterStringFromColumnGLAcc;
    // End of the lines.
    ...
    

    Код за подмяна

    ...
    // Add the following lines.
    IF GLAccFilterString = '' THEN
    GLAccFilterString := GetFilterStringFromColumn(ColumnGLAcc);
    // End of the lines.
    ...
    
  6. Променете кода в процедурата CheckDeductibleVAT в отчета за Make 340 Declaration (10743), както следва:
    Съществуващ код

    ...
    // Delete the following line.
    VATEntries.SETFILTER("Gen. Prod. Posting Group",FilterString); 
    ...
    

    Код за подмяна

    ...
    // Add the following line.
    VATEntries.SETFILTER("Gen. Prod. Posting Group",GPPGFilterString); 
    ...
    
  7. Изтрийте процедурата GetFilterStringFromColumnGPPG в отчета за декларацията Make 340 (10743).

  8. Създайте новата процедура GetFilterStringFromColumn в отчета за декларацията Make 340 (10743) по следния начин:

    1. Създайте следните върнати стойности и след това задайте върнатите стойности по следния начин:

      • Колони: Текст [1024];
      • FilterString : Text [1024];
    2. Създайте следните C/AL локални променливи и след това задайте вариантите по следния начин:

      • Код на колона: Текст [1024];
      • Позиция: цяло число;
    3. Добавете кода по следния начин:

      ColumnCode := Columns;
      FilterString := '';
      REPEAT
      Position := STRPOS(ColumnCode,';');
      IF ColumnCode <> '' THEN BEGIN
      IF Position <> 0 THEN BEGIN
      FilterString := FilterString + '<>' + COPYSTR(ColumnCode,1,Position - 1);
      ColumnCode := COPYSTR(ColumnCode,Position + 1);
      END ELSE BEGIN
      FilterString := FilterString + '<>' + COPYSTR(ColumnCode,1);
      ColumnCode := '';
      END;
      IF ColumnCode <> '' THEN
      FilterString := FilterString + '&';
      END;
      UNTIL ColumnCode = '';
      
  9. Изтрийте процедурата GetFilterStringFromColumnGLAcc в отчета за декларацията Make 340 (10743).

  10. Променете кода в процедурата PopulateAppliedPayments в отчета за деклариране Make 340 (10743), както следва:
    Съществуващ код

    ...
    // Delete the following lines.
    NoOfAccounts := RetrieveGLAccount(FilterString);
    IF FilterString <> '' THEN BEGIN
    // End of the lines.
    ...
    

    Код за подмяна

    ...
    // Add the following lines.
    NoOfAccounts := RetrieveGLAccount(GLAccFilterString);
    IF GLAccFilterString <> '' THEN BEGIN
    // End of the lines.
    ...
    

          

Предварителни изисквания

Трябва да имате инсталиран един от следните продукти, за да приложите тази гореща корекция:

  • Испанска версия на Microsoft Dynamics NAV 2009 R2
  • Испанска версия на Microsoft Dynamics NAV 2009 Service Pack 1
  • Испанската версия на Microsoft Dynamics NAV 5.0 Service Pack 1

Информация за премахване

Не можете да премахнете тази гореща корекция.

Състояние

Microsoft потвърждава, че това е проблем в продуктите на Microsoft, които са изброени в раздела „Важи за“.

Забележка: Това е статия "FAST PUBLISH", създадена директно от организацията за поддръжка на Microsoft. Информацията, съдържаща се тук, е предоставена както е в отговор на възникващи проблеми. В резултат на бързината на предоставянето им, материалите могат да включват печатни грешки и могат да бъдат коригирани по всяко време без предизвестие. Вижте условията на използване за други съображения.