Sprawdź puste łącze, datę lub ciąg w żądaniu 1C

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.