Korzystanie z właściwości SourceExpr i DestExpr
W ostatniej sekcji omówiliśmy sposób dodawania instancji tabel do mapping. W tej sekcji przyjrzymy się, jak uzyskać dostęp do danych pól w tabeli. I jak używać stałych wartości i filtrów.
Moduł umożliwia odczytywanie danych z pól z tabel, gdy istnieje właściwość SourceExpr (wyrażenie źródłowe). SourceExpr może być również używane do określania stałych wartości lub wywoływania funkcji. Właściwość ta znajduje się w wierszach danych mapping formatu typu NAV oraz w wierszach danych mapowań eksportu. Ale ta właściwość jest również dostępna dla parametrów funkcji niestandardowych i do rozszerzania komunikatów o błędach. Istnieje więcej opcji, które omówimy nieco później w tej sekcji.
Do zapisu danych do pól tabeli służy kolejna właściwość o nazwie DestExpr (wyrażenie docelowe). Właściwość ta umożliwia również sprawdzanie danych pod kątem określonego filtra, zamiast ich przechowywania. Za chwilę przejdziemy do szczegółów. Ważne jest, aby wiedzieć, że można zapisywać dane do dowolnego pola instancji tabeli, nawet jeśli Mode tabeli jest ustawiony na Read. Zapis do tabeli w trybie odczytu wywoła logikę walidacji NAV, ale nie zmodyfikujemy rekordu. W naszych tabelach buforowych można tego użyć do przechowywania wartości przez określony czas w mapping. W przypadku innych tabel będzie to zależeć od logiki walidacji, czy bezpieczne jest używanie tabeli w trybie odczytu do tymczasowego przechowywania danych.
Właściwość SourceExpr
Typ źródła określa rodzaj danych, które mają zostać odczytane. Dozwolone wartości to:
Stała wartość wprowadzana w mapping.
Pole z instancji tabeli, które jest jednym z nadrzędnych wierszy mapping tego wiersza mapping. Jeśli chcesz odczytać pole sumy, musisz znajdować się poza instancją tabeli, ale poniżej niej.
Dane mają być odczytywane z funkcji wbudowanej lub niestandardowej.
Ta właściwość została dodana w Anvaigo EDI Connect 4.00.
Ta właściwość jest dostępna tylko wtedy, gdy SrcType jest ustawiony na Const. Ta właściwość określa typ danych wartości stałej. Należy wybrać typ danych, aby zapobiec błędom wynikającym z różnych lokalizacji używanych podczas konfiguracji i uruchamiania. W starszej wersji trzeba było upewnić się, że ustawienia regionalne podczas konfiguracji są takie same jak podczas uruchamiania, aby zapobiec na przykład różnej interpretacji liczb.
Do wyboru są następujące typy danych:
Stała wartość tekstowa.
Tekst, który może zawierać znaki specjalne, takie jak powrót karetki<CR>. Dostępna jest lista wszystkich obsługiwanych znaków specjalnych.
Wartość logiczna, taka jak True lub False.
Wartość opcji. Należy użyć wartości całkowitej opcji w bazie danych.
Wartość całkowita (32-bitowa).
Wartość dziesiętna.
Duża wartość całkowita (64-bitowa).
Wartość zawiera czas trwania.
Wartość jest wartością kodu Dynamics (tylko wielkie litery, nie dopuszcza wszystkich znaków).
Reprezentuje wartość daty.
Reprezentuje wartość czasu.
Reprezentuje połączoną wartość daty i godziny.
Formuła daty.
Globalny unikalny identyfikator (GUID).
Ta właściwość jest dostępna tylko wtedy, gdy SrcType jest ustawiony na Const. Reprezentuje stałą wartość, której chcesz użyć.
Ta właściwość jest dostępna tylko wtedy, gdy SrcType jest ustawiony na Function. Możesz użyć AssistEdit, aby określić obiekt i funkcję. Jeśli funkcja wymaga parametrów, będą one również SourceExpr, ale nie obsługują zagnieżdżania funkcji.
Ta właściwość jest dostępna tylko wtedy, gdy SrcType jest ustawiony na Field. Wybierz instancję tabeli, z której chcesz odczytać dane. Tabela musi być jednym z rodziców bieżącego wiersza mapping, aby odczytać dane jednego rekordu. Jeśli chcesz odczytać pola sumy, musisz znajdować się pod instancją tabeli, ale nie być jej dzieckiem.
Ta właściwość jest dostępna tylko wtedy, gdy SrcType jest ustawiony na Field. Wybiera kolumnę / pole, z którego chcesz czytać.
Można określić translację wartości, aby zmienić wybraną wartość na inną wartość docelową. Dostępna jest sekcja poświęcona konfiguracji translacji wartości.
Kod tłumaczenia wartości, który powinien zostać użyty.
Co powinno się stać, jeśli wartość nie zostanie znaleziona w translacji wartości.
Moduł nie robi nic, jeśli brakuje tłumaczenia. Używa oryginalnej wartości bez tłumaczenia.
Wyświetla pustą wartość.
Dodaj wpis dziennika informacyjnego i użyj oryginalnej wartości.
Dodaj wpis do dziennika ostrzeżeń i użyj oryginalnej wartości.
Natychmiast przerwij mapping i zarejestruj błąd.
Utwórz wpis w dzienniku błędów i nie zakończ pomyślnie mapping, ale kontynuuj przetwarzanie, aby znaleźć również inne błędy.
Ta właściwość jest domyślnie ukryta. Można określić listę dozwolonych wartości i tworzyć błędy w przypadku próby wyeksportowania innej wartości.
Lista dozwolonych wartości. Możesz użyć AssistEdit lub wprowadzić terminy oddzielone przecinkami.
Co powinno się stać, jeśli wartość źródłowa nie znajduje się na liście dozwolonych wartości.
Nie używaj zaawansowanej walidacji i ignoruj wszystkie wartości na liście.
Utwórz wpis dziennika informacyjnego.
Utwórz wpis w dzienniku ostrzeżeń.
Natychmiastowe przerwanie mapping z komunikatem o błędzie.
Zwraca błąd podczas wykonywania mapping, ale kontynuuje przetwarzanie mapping, aby znaleźć również inne błędy.
Właściwość DestExpr
Wybierz wartość docelową dla wartości. Ważne są następujące wartości:
Puste oznacza, że wartość jest ignorowana. Można tego użyć, aby pominąć pola przy imporcie lub, na przykład, zignorować wartość zwracaną funkcji.
Wartość powinna zostać sprawdzona z filtrem Dynamics. Jeśli filtr nie pasuje, wartość nie jest akceptowana. W zależności od konwertera spowoduje to wyświetlenie komunikatu o błędzie lub pominięcie sekcji mapping. Więcej informacji na temat korzystania z filtrów dla poszczególnych konwerterów można znaleźć w dokumentacji każdego z nich.
Wartość powinna zostać zapisana w polu instancji tabeli w tym mapping.
Ta właściwość jest dostępna tylko wtedy, gdy DestType jest ustawiony na Filter. Filtr Dynamics, względem którego sprawdzana jest wartość. Wartość zostanie zinterpretowana jako wartość tekstowa do zastosowania filtra. Typowym przykładem może być „BY|IV”, aby zezwolić na wartości „BY” i „IV”.
Ta właściwość jest dostępna tylko wtedy, gdy DestType jest ustawiony na Field. Wybiera instancję tabeli, do której ma zostać zapisana wartość. Instancja tabeli musi być jednym z elementów nadrzędnych bieżącej linii mapping.
Ta właściwość jest dostępna tylko wtedy, gdy DestType jest ustawiony na Field. Nazwa pola/kolumny pola docelowego w tabeli.
Ta właściwość jest dostępna tylko wtedy, gdy DestType jest ustawiony na Field. Ta właściwość jest dostępna tylko jako właściwość zaawansowana. Ustawienie tej właściwości na False spowoduje pominięcie wyzwalacza walidacji Microsoft Dynamics NAV 2009R2 RTC dla tego pola.
Zachowaj ostrożność podczas korzystania z False. Walidację należy dezaktywować wyłącznie po konsultacji z programistą. Nie powinieneś dezaktywować go w żadnej ze standardowych tabel Dynamics, chyba że naprawdę wiesz, co robisz. Możesz uczynić Microsoft Dynamics NAV 2009R2 RTC bezużytecznym, pomijając kod walidacji.
Ta właściwość jest dostępna tylko wtedy, gdy DestType jest ustawiony na Field i używasz konwertera CHECK / NAV / PREPARE / PROCESS. Więcej informacji można znaleźć na stronie konwertera.
