W wersji 1C programiści nie mają wbudowanych narzędzi do definiowania zerowych odniesień, dat ani linii. Zastanów się, jak sprawdzić puste łącze, datę lub ciąg w żądaniu 1C.
Możesz określić puste dane za pomocą specjalnych operatorów.
Treść
- 1 Język zadania
- 2 Sprawdź, czy zawartość jest pusta
- 3 Kontrola daty
- 4 Kontrola referencyjna
- 5 Sprawdzanie ciągów
- 6 Więcej o zerwanych i normalnych linkach
- 6.1 W systemie 1C-7.7
- 6.2 W systemie 1C-8.x
- 6.3 Skąd pochodzą
Język zadania
Informacje z bazy 1C żądania (a następnie odbierać) za pomocą narzędzia, takiego jak język zapytań (zapytanie, Eng.). Są one sporządzone po łacinie i cyrylicy. A jednym z kluczowych słów-poleceń (operatorów) podczas odbierania informacji jest słowo-polecenie SELECT (SELECT, angielski) w połączeniu z niektórymi konstrukcjami. Oto kilka przykładów konstrukcji zadań, którymi jesteśmy zainteresowani:
Sprawdź, czy zawartość jest pusta
Zadanie to wykonuje operator WYBIERZ w połączeniu z konstrukcją "IS NULL":
WYBIERZ
OrdersRemains.Customer,
OrdersRemaining.NumberReduction
Z
Rejestr akumulacji, zamówienia, pozostałe zlecenia AS Pozostają
GDZIE
OrdersOstatka.Number ofDistribution IS NULL
Kontrola daty
Pustą datę w żądaniu 1C wpisuje się przy konstrukcji "DATA (1, 1, 1, 0, 0, 0)":
WYBIERZ
AccountIncoming Provider.Link,
AccountIncoming Provider.Date Date
Z
Dokument. Dostawca KontoKonto AS Dostawca KontoKonto
GDZIE
AccountIncoming Provider.Date Date = DATE (1, 1, 0, 0, 0)
Kontrola referencyjna
Weryfikacja nieistniejących wartości intralinkingowych (dla planów kont, książek referencyjnych itp.) Odbywa się przy użyciu konstrukcji "VALUE (nazwa referencyjna ... pusty link)":
WYBIERZ
PlanAccounts.Link
Z
Reference.Plan Billing AS PlanCaretov
GDZIE
Liczba wykresów = WARTOŚĆ (katalog, wykres, puste połączenie)
Sprawdzanie ciągów
Pustka w ciągach znaków znajduje się za pomocą spacji w cudzysłowach ":
WYBIERZ
Buyers.Link
Z
Informator, kupujący jako kupujący
GDZIE
Kupujący. Code = "
Więcej o zerwanych i normalnych linkach
"Nietoperz" jest uważany za link (link) prowadzący (wskazujący) nieistniejący element. Pod nieistniejącym rozumiemy ten, którego nie ma w bazie danych. Warto wiedzieć o takich linkach przynajmniej w celu otrzymywania powiadomień z systemu w bardziej zrozumiałej formie. Tak, nagrywanie, usuwanie i otwieranie nierealistycznych obiektów nie ma sensu.
Platformy 1C nie mają wewnętrznych narzędzi do ich odcięcia.Musisz także zrozumieć, że poza "zepsutym" w systemie żyją specjalne "puste linki", które należy odróżnić od siebie.
Możesz to znaleźć bez sprawdzania bazy danych:
W systemie 1C-7.7
Dla "bat", metoda Link.Selected () i EmptyValue () zwracają zero. Dla "pustych" - w pierwszym przypadku zero, a w drugim - jeden. Dla "normalny" - jeden i zero. Okazuje się, że w 1C-7.7 "zepsuty" nie jest nieistniejącą wartością, która nie jest uważana za wybraną.
W systemie 1C-8.x
Wszystko jest inne - w obu przypadkach (dla "złamanych" i "normalnych") metoda zwraca False, a funkcja zwraca True. Rozwiązaniem jest: Dla metody "zepsutej" Odniesienie: Get the Object () zwraca funkcję "Undefined". Dla "empty" - "Context Method Error" jest zgłaszany. Dla "normal" - wartość jest zwracana zgodnie z dokumentacją; Okazuje się, że w 1C-8.x "broken" nie będzie nieistniejącą funkcją typu referencyjnego, która zwróci niezdefiniowaną wartość obiektu.
Skąd pochodzą
Podczas nawigowania do nieistniejącego adresu uszkodzonego łącza, użytkownik jest w najlepszym przypadku wyświetlany powiadomienie, że obiekt nie został znaleziony, w najgorszym przypadku - obraz strony serwera. Ich najgorszą cechą jest ukrywanie się.Stąd trudność w sprawdzeniu ich poprawności. Podczas pracy z konfiguracją jest stale aktualizowany i aktualizowany. Wszelkie obiekty podlegają usunięciu, struktura się zmienia. A link do usuniętego elementu pozostaje w konstrukcjach i algorytmach. Tak więc nieistniejące adresy pozostają w systemie po usunięciu samego elementu (wraz z adresem).
W dzisiejszej publikacji rozważono specjalną konstrukcję zapytań. Podano przykłady projektów. Przydaje się w pracy przy wyszukiwaniu pustych wartości.
Zostaw swoje komentarze.