Funkcja eksportowania nie eksportuje ograniczeń tabeli modelu
Ten artykuł zawiera rozwiązanie problemu polegającego na tym, że funkcja eksportu w usłudze Microsoft Dynamics AX 2009 nie eksportuje ograniczeń tabeli modelu.
Dotyczy: Microsoft Dynamics AX 2009
Oryginalny numer KB: 2464353
Symptomy
Usługa Microsoft Dynamics AX 2009 umożliwia użytkownikom eksportowanie modeli produktów i importowanie ich do nowych modeli produktów w tej samej firmie lub w nowych firmach. Jednak podczas eksportowania modeli produktów ograniczenia tabeli nie są uwzględniane. Podczas importowania modeli użytkownicy muszą ręcznie dodać ograniczenia tabeli.
Poniżej możliwego scenariusza, w którym ograniczenia tabeli nie są eksportowane.
Otwórz ścieżkę menu Konstruktor produktu/Konfiguracja/Ograniczenia tabeli.
Utwórz nowy rekord z następującymi wartościami:
Identyfikator ograniczenia tabeli: InventTable
Nazwa tabeli ograniczenia tabeli: InventTableUtwórz nowy rekord w dolnej siatce z następującymi wartościami:
Nazwa pola: ItemGroupId
Zmienna: ItemGroupIdUtwórz nowy rekord w dolnej siatce z następującymi wartościami:
Nazwa pola: ItemId
Zmienna: ItemIdZapisz rekordy i zamknij formularz.
Otwórz ścieżkę menu Konstruktor produktu/Typowe formularze/Szczegóły modelu produktu.
Utwórz nowy model produktu, wybierając klawisze Ctrl+N na klawiaturze i zakończ pracę kreatora, wybierając przycisk Zakończ .
Otwórz model produktu, wybierając przycisk Model produktu.
Na stronie Model produktu wybierz kartę Ograniczenia tabeli , utwórz nowy rekord z identyfikatorem tabeli Ograniczenia: InventTable i zapisz rekord.
W oknie dialogowym Wybieranie grupy zmiennych wprowadź wartość Podstawowa na liście rozwijanej Grupa i wybierz przycisk OK.
Zamknij formularz, aby wrócić do początkowego formularza Modele produktów.
Wybierz przycisk Functions /Eksportuj model produktu i określa ścieżkę i nazwę pliku na lokalnym dysku twardym.
Wybierz przycisk OK.
Wybierz przycisk Functions /Importuj model produktu i wybierz plik utworzony powyżej podczas eksportowania.
Wybierz przycisk OK.
W kroku Usuń następujące tabele okno dialogowe, wybierz przycisk Nie dla wszystkich , a następnie wybierz przycisk OK.
Może zostać zwrócone ostrzeżenie z informacją, że grupa Podstawowa i zmienna ItemGroupId i ItemId już istnieją. Jest to oczekiwane.
Wybierz nowo zaimportowany model produktu i wybierz przycisk Model produktu .
Na karcie Ograniczenia tabeli użytkownik zauważa, że ograniczenia tabeli nie są importowane.
Przyczyna
Ograniczenia tabeli nie są uwzględniane w logice eksportowania modeli produktów. Ograniczenia tabeli nie są uwzględniane w wyeksportowanych danych. Jest to spowodowane możliwymi problemami, gdy zmienne modelowania istnieją o tej samej nazwie zmiennej.
Rozwiązanie
Zmiana kodu umożliwi uwzględnienie ograniczeń tabeli podczas eksportowania modelu.
Metoda PBAExport.newPBAExport
klasy :
Dodaj kod, który sprawia, że ostatnie wiersze wyglądają następująco:
---------------------------------------------------------------------------------------------
export.addTmpExpImpTable(tablenum(PBARuleTableConstraintRef),false);
return Export;
---------------------------------------------------------------------------------------------
Obejmuje to ograniczenia tabeli wiersza połączone z modelem produktu w eksporcie i umożliwia importowanie ograniczeń tabeli.
Więcej informacji
To obejście wymaga, aby ograniczenia tabeli istniały w ograniczeniach Konstruktor produktu/Konfiguracja/Tabela. Jest to ważne, jeśli modele tabel są importowane w innych firmach lub w innych bazach danych. Nie zezwala na eksportowanie ograniczeń tabeli (PBARuleTableConstraint
) i pól ograniczeń tabeli (PBARuleTableConstraintColumn
). Wynika to z ograniczeń walidacji podczas importowania istniejących zmiennych o podobnych nazwach zmiennych. W razie potrzeby można ręcznie wyeksportować i zaimportować te dwie tabele przy użyciu funkcji eksportowania/importowania danych w module Administracja.