DZWON

Są tacy, którzy czytają tę wiadomość przed wami.
Zapisz się, aby otrzymywać najnowsze artykuły.
E-mail
Imię
Nazwisko
Jak chcesz przeczytać The Bell
Bez spamu

W tym artykule chcemy z Tobą wszystko omówić funkcje języka zapytań 1c, i konstrukcje języka zapytań... Jaka jest różnica między funkcją a konstrukcją? Funkcja jest wywoływana z nawiasami i możliwymi parametrami, a konstrukcja jest zapisywana bez nawiasów. Na pewno wszystkie konstrukcje i funkcje języka zapytań 1c uczynić proces akwizycji danych elastycznym i wielofunkcyjnym. Te funkcje i konstrukcje mają zastosowanie do pól zapytań, a niektóre mają również zastosowanie w warunkach.

Funkcje języka zapytań 1c

Ponieważ jasny opis funkcje języka zapytań 1c jest znacznie mniej powszechny niż opis struktur, postanowiliśmy zacząć przyglądać się funkcjom. Rozłóżmy teraz każdy z nich na części, opisując jego przeznaczenie, składnię i przykład użycia, więc:

1. Funkcjonować DATA CZAS - ta funkcja tworzy stałe pole typu „Data”.

Składnia: DATA GODZINA (<Год>,<Месяц>,<День>,<Час>,<Минута>,<Секунда>)

Przykład użycia:

2. RÓŻNICA, funkcja - zwraca różnicę między dwiema datami w jednym z wymiarów (rok, miesiąc, dzień, godzina, minuta, sekunda). Pomiar jest przekazywany w parametrze.

Składnia: RÓŻNICA (<Дата1>, <Дата2>, <Тип>)

Przykład użycia:

Query.Text \u003d "WYBIERZ | RÓŻNICA DATY (DATA CZAS (2015, 4, 17), DATA GODZINA (2015, 2, 1), DZIEŃ) | AS Liczba dni";

3. Funkcja WARTOŚĆ - ustawia pole stałe z predefiniowanym rekordem z bazy danych, można również uzyskać pusty link dowolnego typu.

Składnia: VALUE (<Имя>)

Przykład użycia:

Request.Text \u003d "SELECT // predefiniowany element | VALUE (Directory.Currencies.Dollar) AS Dollar, // pusty link | VALUE (Document.Incoming of GoodsServices.EmptyLink) AS Odbiór, // wartość. transfery | VALUE (Enumeration.Legal person.Phys.Person) AS Indywidualne, // konto predefiniowane | VALUE (Plan kont. Samodzielne. Materiały) AS Konto_10 ";

4. Funkcja SELECT - przed nami jest analog konstrukcji IF używanej w kodzie, tylko ta jest używana w żądaniach 1C.

Składnia: WYBIERZ KIEDY<Выражение> NASTĘPNIE<Выражение> JESZCZE<Выражение> KONIEC

Przykład użycia:

Request.Text \u003d // jeśli kwota jest większa niż 7500, to powinien być rabat w wysokości 300 rubli, // więc jeśli warunek zostanie spełniony, funkcja // zwróci kwotę - 300 // w przeciwnym razie żądanie zwróci po prostu Sumę "SELECT | SELECT | WHEN TCHReceipt. Kwota \u003e 7500 | WTEDY PMReceipt.Amount - 300 | INNY PMReceipt.Amount | KONIEC JAKO Kwota zdyskontowana | Z | Dokument.Odbiór towarówUsługi.Towary JAKO PMIncome ";

5. Funkcja EXPRESS - pozwala na wyrażenie stałego pola o określonym typie.

Składnia: EXPRESS (FieldName AS TypeName)

Przykład użycia:

Query.Text \u003d "SELECT VARIOUS | Sales.Registrar.Number, | SELECT | WHEN Sales.Registrar LINK Document.Invoice | THEN EXPRESS (Sales.Registrar AS Document.Expenditure) | ELSE SELECT | WHEN Sales.Registrator LINK. THEN EXPRESS (Sales.Registrator AS Document.Realization) | END | ... | END AS Number | FROM | Accumulation Register.P Purchases as Purchases ";

Istnieje również wariant użycia funkcji WYRAŻ w polach typu mieszanego, gdzie się one znajdują? Najprostszym przykładem jest „Rejestrator” dla dowolnego rejestru. Dlaczego więc musielibyśmy określać typ w rejestratorze? Rozważmy sytuację, gdy wybieramy od rejestratora pole „Numer”, z jakiej tabeli zostanie wybrany numer? Prawidłowa odpowiedź dla wszystkich! Dlatego, aby nasze zapytanie działało szybko, należy określić jawny typ przy użyciu funkcji WYRAŻ

Przykład użycia:

Query.Text \u003d "SELECT | EXPRESS (Nomenclature.Comment AS Line (300)) AS Comment, | EXPRESS (Nomenclature.Sum AS Number (15,2)) AS Amount | FROM | Reference.Nomenclature AS Nomenclature";

6. Funkcja ISNULL (alternatywna pisownia IS NULL) - jeśli pole jest typu NULL, to jest zastępowane drugim parametrem funkcji.

Składnia: ISNULL (<Поле>, <ПодставляемоеЗначение>)

Przykład użycia:

Zauważ również, że zaleca się ZAWSZE zastępowanie typu NULL jakąś wartością, ponieważ porównanie z typem NULL zawsze daje FALSE, nawet jeśli porównujesz NULL z NULL. Najczęściej wartości NULL powstają w wyniku łączenia tabel (wszystkie typy złączeń poza wewnętrznymi).

Request.Text \u003d // Wybierz całą pozycję i saldo na niej // jeśli nie ma salda w jakiejś pozycji, pojawi się pole // NULL, które zostanie zastąpione wartością 0 "SELECT | Nom.Ref, | IS NULL (Items in Warehouses. Stock. Stock, 0) AS Saldo | Z | Katalog.Nomenklatura AS Nomenklatura | POŁĄCZENIE LEWE Rejestr akumulacji. Produkty W magazynach Pozostałości jako towary W magazynach

7. OBECNA funkcja - pozwala uzyskać widok pola zapytania.

Składnia: REPREZENTACJA(<НаименованиеПоля>)

Przykład użycia:

Query.Text \u003d "WYBIERZ | REPREZENTACJA (Wolne salda. Salda. Nomenklatura) AS Nomenklatura, | PREZENTACJA (Wolne salda. Salda. Magazyn) AS Magazyn, | Wolne salda. Pozostaje. Dostępne. Saldo | OD | Zarejestrowany zapas.

Konstrukcje w języku zapytań 1c

Powyżej rozważaliśmy z tobą funkcje języka zapytań 1c, teraz czas się zastanowić konstrukcje w języku zapytań 1c, są nie mniej ważne i przydatne, zacznijmy.

1. BUDOWA ODNIESIENIA - reprezentuje operator logiczny sprawdzanie typu odniesienia. Najczęściej występuje podczas sprawdzania złożonego pola typu dla określonego typu. Składnia: POŁĄCZYĆ<Имя таблицы>

Przykład użycia:

Request.Text \u003d // jeśli typem wartości rejestratora jest dokument Odbiór, // wtedy żądanie zwróci „Przyjęcie towarów”, w przeciwnym razie „Sprzedaż towarów” „WYBIERZ | WYBIERZ | KIEDY Salda. Rejestrator LINK Dokument. Odbiór usług | THEN" "Odbiór towarów" "| ELSE "" Zużycie "" | KONIEC JAKO Rodzaj ruchu | OD | Rejestr akumulacji. Salda towarów w magazynach AS Salda ";

2. Budowa MIĘDZY - ten operator sprawdza, czy wartość mieści się w określonym zakresie.

Składnia: POMIĘDZY<Выражение> I<Выражение>

Przykład użycia:

Request.Text \u003d // pobierz całą pozycję, której kod mieści się w zakresie od 1 do 100 "SELECT | Nomenclature.Ref | FROM | Reference.Nomenclature AS Nomenclature | WHERE | Nomenclature.Code BETWEEN 1 AND 100";

3. Konstrukcja B i B. HIERARCHIA - sprawdź, czy wartość znajduje się na przesyłanej liście (tablice, tabele wartości itp. mogą być przekazywane jako lista). Operator W HIERARCHII umożliwia przeglądanie hierarchii (przykład wykorzystania Planu kont).

Składnia: W(<СписокЗначений>), W HIERARCHII (<СписокЗначений>)

Przykład użycia:

Request.Text \u003d // wybierz wszystkie subkonta rachunku "SELECT | Self-supporting.Link AS account | FROM | Plan of accounts. Self-Support AS Self-Support | WHERE | Self-Supporting. Reference IN HIERARCHY VALUE (Plan kont. Self-Supporting.Towary)";

4. KONSTRUKCJA JAK - ta funkcja pozwala nam porównać łańcuch ze wzorem łańcucha.

Składnia: LUBIĆ "<ТекстШаблона>"

Opcje wzoru sznurka:

% to sekwencja zawierająca dowolną liczbę dowolnych znaków.

Jeden dowolny znak.

[…] - dowolny pojedynczy znak lub ciąg znaków podany w nawiasach kwadratowych. Przedziały można określić w wyliczeniu, na przykład a-z, które oznaczają dowolny znak należący do zakresu, w tym końce zakresu.

[^ ...] - dowolny pojedynczy znak lub sekwencja znaków z tych podanych w nawiasach kwadratowych, z wyjątkiem tych wymienionych po znaku negacji.

Przykład użycia:

Request.Text \u003d // znajdź całą nomenklaturę, która zawiera główny TABUR i zaczyna się // od małej lub dużej litery t "SELECT | Nomenclature.Ref | FROM | Directory.Nomenclature AS Nomenclature | WHERE | Products. Nazwa LIKE" "[TT ] abur% "" ";

5. Projekt DOZWOLONY - operator ten pozwala na wybranie z bazy danych tylko tych rekordów, do których wczytać dzwoniący. Te prawa są konfigurowane na poziomie rekordu (RLS).

Składnia: ALLOWED jest zapisywane po słowie kluczowym SELECT

Przykład użycia:

Request.Text \u003d "SELECT ALLOWED | Contractors.Link | FROM | Directory.Contractors AS Contractors";

6. Konstrukcja RÓŻNA - pozwala wybrać rekordy, w których nie ma powtarzających się rekordów.

Składnia: DIFFERENT jest zapisywane po słowie kluczowym SELECT

Przykład użycia:

Request.Text \u003d // wybiera rekordy, do których czytelnik ma uprawnienia "SELECT RIFFERENT | Contractors.Name | FROM | Directory.Contractors AS Contractors";

Również konstrukcja VARIOUS może być używana z operatorem DOZWOLONYM i innymi operatorami.

Przykład użycia:

Request.Text \u003d // wybiera różne rekordy, do których czytelnik ma uprawnienia "SELECT ALLOWED RIFFERENT | Contractors.Name | FROM | Directory.Contractors AS Contractors";

7. PIERWSZA KONSTRUKCJA - wybiera liczbę rekordów podaną w parametrze z wyniku zapytania.

Składnia: FIRST<число>

Przykład użycia:

Request.Text \u003d // wybierz pierwsze 4 numery GTD z katalogu "SELECT FIRST 4 | Numery GTD.Link | FROM | Numery referencyjne.GTD jako numery GTD";

8. PROJEKT DO ZMIANY - umożliwia zablokowanie stołu, działa tylko w transakcjach (dotyczy tylko blokad automatycznych).

Składnia: DO ZMIANY<НаименованиеТаблицы>

Przykład użycia:

Query.Text \u003d "WYBIERZ | Wolne salda. Salda. Nomenklatura, | Wolne salda. Salda. Magazyn, | Wolne salda. Salda. W magazynie. Saldo | Z | Rejestr akumulacji. Wolne. Pozostaje. Pozostaje jako wolne | DO USUNIĘCIA."

9. Projekt ZAMÓWIENIE - porządkuje dane według określonego pola. Jeśli pole jest linkiem, to przy ustawianiu flagi ZAMAWIANIE AUTOMATYCZNE sortowanie będzie wykonywane przez prezentację linku, jeśli flaga jest wyłączona, wtedy linki są sortowane według priorytetu adresu łącza w pamięci.

Składnia: SORTUJ WEDŁUG<НаименованиеПоля> ZAMAWIANIE AUTOMATYCZNE

Przykład użycia:

Request.Text \u003d "WYBIERZ | Wolne pozostałe salda. Nomenklatura AS Nomenklatura, | Wolne pozostałe salda. Magazyn AS Magazyn, | Wolne pozostałe salda. Dostępne salda | OD | Rejestr akumulacji. Wolne pozostałe | Pozostałe wolne |

10. Struktura LOAD BY - służy do grupowania ciągów zapytań według określonych pól. Pola numeryczne muszą być używane z każdą funkcją agregującą.

Składnia: ZAŁADUJ PRZEZ<НаименованиеПоля1>, .... , <НаименованиеПоляN>

Przykład użycia:

Request.Text \u003d "WYBIERZ | Produkty w magazynach. Nomenklatura AS Nomenklatura, | Produkty w magazynach. Magazyn, | KWOTA (Produkty w magazynach. W magazynie) | Z | Rejestr akumulacji.Produkty w magazynach.

11. DESIGN POSIADA - pozwala zastosować funkcję agregującą do warunku selekcji danych, podobnie jak w konstrukcji WHERE.

Składnia: MAJĄCY<агрегатная функция с условием>

Przykład użycia:

Request.Text \u003d // wybiera pogrupowane rekordy, w których pole w magazynie jest większe niż 3 "SELECT | ProductsIn Warehouses.Nomenclature AS Nomenclature, | ProductsIn Warehouses. Towary w magazynach.Nomenklatura, | Towary w magazynach.W magazynie | | MAJĄCE | KWOTA (Towary w magazynach w magazynie)\u003e 3 ";

12. Budowa INDEX BY - służy do indeksowania pola zapytania. Zindeksowane zapytanie trwa dłużej, ale przyspiesza wyszukiwanie w indeksowanych polach. Może być używany tylko na wirtualnych stołach.

Składnia: INDEKS WEDŁUG<Поле1, ... , ПолеN>

Przykład użycia:

Request.Text \u003d "WYBIERZ | Tz.Name OS, | Tz.Numer folderu, | Tz.codeOS, | Tz.Term, | Tz.Type | POST Data .KodOS ”;

13. Budowa GDZIE - pozwala nałożyć warunek na dowolne pola wyboru. W wyniku zostaną uwzględnione tylko rekordy spełniające warunek.

Składnia: GDZIE<Условие1 ОператорЛогСоединения УсловиеN>

Przykład użycia:

Request.Text \u003d // wybiera wszystkie rekordy, dla których pozostała rekompensata<> 0 i // SummaDlyaRaschKompOstatok\u003e 100 „SELECT | KompensatsiyaRPOstatki.Kontragent, | KompensatsiyaRPOstatki.Rebenok, | KompensatsiyaRPOstatki.KompensatsiyaOstatok, | KompensatsiyaRPOstatki.SummaDlyaRaschKompOstatok | PUT DannyeTz | OD | RegistrNakopleniya.KompensatsiyaRP.Ostatki KompensatsiyaRPOstatki JAK | GDZIE | KompensatsiyaRPOstatki.KompensatsiyaOstatok<> 0 | I odszkodowanie RPOstatki.SummaForReschCompOstatok\u003e 100 ";

14. WYNIKI BUDOWY ... OGÓLNIE - służy do obliczania sum, projekt określa pola, na podstawie których obliczane będą sumy, oraz funkcje agregujące stosowane do zmiennych sumarycznych. W przypadku używania sum dla każdego pola następującego po konstrukcji TOTAL dane są grupowane. Istnieje opcjonalna konstrukcja GENERAL, jej użycie zapewnia również dodatkowe grupowanie. Poniżej zobaczysz przykład wyniku zapytania.

Składnia: WYNIKI<АгрегатнаяФункция1, ... , АгрегатнаяФункцияN> PRZEZ<ОБЩИЕ> <Поле1, ... , ПолеN>

Przykład użycia:

Request.Text \u003d "WYBIERZ | Settlements.Contractor's Agreement.Type of Agreement AS Rodzaj umowy, | Settlements.Contractor's Agreement AS Agreement, | Settlements.Contractor, | Settlements.Mutual Setement Amount. | ON | OGÓLNE, | Rodzaj umowy ";

Na rysunku grupy, które zostały utworzone podczas wykonywania żądania, są zakreślone, najwyższa z nich należy do sekcji OGÓLNE, a druga do pola ContractorAgreementContractType.

43
NULL - brakujące wartości. Nie mylić z null! NULL to nie liczba, nie spacja, puste odniesienie, Undefined. NULL to wartość tworząca typ, tj. istnieje typ NULL i jedna wartość tego typu. ZERO ... 26
Aby tworzyć i wykonywać zapytania do tabel bazy danych na platformie 1C, używany jest specjalny obiekt języka programowania Query. Ten obiekt jest tworzony przez wywołanie konstrukcji New Request. Wniosek jest wygodny ... 18
Artykuł zawiera przydatne techniki podczas pracy z zapytaniami 1C v.8.2, a także informacje, które nie są tak dobrze znane na temat języka zapytań. Nie staram się dawać pełny opis język próśb, ale chcę się skupić tylko na ... 12
W obliczu zadania konieczne było wybranie wszystkich dokumentów płatniczych i pogrupowanie ich według typu dokumentu! Po przejrzeniu wszystkich usług mieszkaniowych i komunalnych oraz internetu, zdałem sobie z tego sprawę łatwy sposób pobierz Typ dokumentu w zgłoszeniu nr: (musiałem ...

Instrukcja LIKE w zapytaniu sprawdza wartości ciągów z tabel pod kątem zachowania wzorcowego.
Jest używany w następujący sposób, po lewej stronie tego operatora znajduje się ciąg do sprawdzenia, a szablon po prawej.

Po sprawdzeniu zwraca odpowiednio True lub False, jest aktywnie używany w warunkach.
Do tworzenia szablonu używane są następujące symbole usług:

  • % (procent) - ciąg zawierający dowolną liczbę dowolnych znaków
  • _ (podkreślenie) - jeden dowolny znak
  • […] (w nawiasy kwadratowe jeden lub więcej znaków) - dowolny pojedynczy znak umieszczony w nawiasach kwadratowych
    Ponadto oprócz różnych znaków można używać zakresów, na przykład a-z (A-z), co oznacza obecność dowolnego znaku zawartego w zakresie, w tym końców zakresu.
  • [^ ...] (w nawiasach kwadratowych znak negacji, po którym następuje jeden lub więcej znaków) - dowolny pojedynczy znak, z wyjątkiem tych wymienionych po znaku negacji

Pozostałe symbole są używane zgodnie z ich przeznaczeniem.
Jeżeli zachodzi potrzeba przesłania jednego z powyższych znaków serwisowych jako znaku, to należy go poprzedzić<Спецсимвол>... samego siebie<Спецсимвол> (dowolny odpowiedni znak) jest zdefiniowany w tej samej instrukcji po słowie kluczowym SPECIAL CHARACTER.
Na przykład wzorzec „% ABC [abcg] \\ _ abc%„ ZNAK SPECJALNY ”\\” oznacza podciąg składający się z ciągu znaków:
litery A; litery B; litery B; jedna cyfra; jedną z liter a, b, c lub d; znak podkreślenia; litery a; litery b; litery c.
Ponadto sekwencja ta może być poprzedzona dowolnym zestawem znaków.

Procedura Wybierz umowęContainingInDescriptionText (mText)
// W żądaniu użyjemy szablonu takiego jak "%" + mText + "%" Request \u003d New Request; Request.SetParameter ("Name", "%" + Text + "%"); Request.Text \u003d "SELECT | Contracts.Link, | Contracts.Owner | FROM | Directory.Contractors 'Contracts AS Contracts | | WHERE | Contracts. Name LIKE & Name"; Wynik \u003d Query.Run (); Selection \u003d Wynik.Select (); Raport („Umowy zawierające w nazwie:„ + mText + ”mają następujących Kontrahentów”); While Sample.Next () Cycle Report ("Counterparty:" + Sample.Owner + "; Contract:" + Sample.Ref EndIf; EndProcedure

Czasami pojawia się sytuacja, gdy w 1C 8.3 lub 8.2 musisz dokonać wyboru, na przykład, z katalogu wszystkich elementów, które mają w nazwie słowo „glazura”. Lub wybierz z katalogu wszystkich kontrahentów, których nazwiska zawierają słowo „Ivan”. Ogólnie rzecz biorąc, sprawdź jakąś wartość ciągu.

W tym celu w zapytaniach 1C 8.3 i 8.2 znajduje się operator - „Podobne”. Stosuje się go odpowiednio w warunkach:

Pobierz bezpłatne samouczki wideo 267 1C:

Jak korzystać z szablonów w żądaniach 1C?

Aby utworzyć warunek wyboru, szablon musi zostać przekazany jako parametr. Do stworzenia szablonu służą tak zwane symbole usług.

Na przykład znak „%” pozwala na dowolną sekwencję dowolnych znaków:

Istnieją inne znaki specjalne:

  • % (procent) - zezwala na dowolną sekwencję dowolnych znaków;
  • _ (podkreślenie) - dowolny znak;
  • […] - jeden dowolny znak spośród tych podanych w nawiasach. Oprócz wyliczania znaków możesz używać zakresów. Przykład: ah;
  • [^…] - to samo co poprzedni, ale odwrotnie. Znak „^” oznacza negację.

Mimo wszystkich niedociągnięć wyszukiwanie w polu tekstowym jest nadal jednym z najpopularniejszych. Wszędzie możemy znaleźć ciągowe typy danych - nazwy, numery kont, adresy i inne informacje mogą być przechowywane w tym formacie. Dla wygody programistów w zapytaniach w osadzonym języku 1C używany jest specjalny operator „LIKE”. Jest to jedno z najczęściej używanych poleceń, więc programista będzie miał trudności z pracą bez dogłębnej znajomości jego składni i możliwości.

Korzystanie z operatora „LIKE”

Przed użyciem dowolnego operatora w praktyce należy jasno zrozumieć jego przeznaczenie, miejsca użycia i składnię. Celem użycia „LIKE” w żądaniu 1C jest sprawdzenie, czy warunek przedstawiony jako szablon jest spełniony. Wartość zwracana to typ logiczny - prawda lub fałsz, wskazujące, czy określony warunek jest spełniony. Operator LIKE może być używany w zapytaniu w kilku miejscach:

  • We wskazanym bloku warunków słowo kluczowe "GDZIE";
  • W budowie Wybór, kiedy to jeszcze się skończy;
  • Bezpośrednio w polach wyboru w wyniku porównania pól.

Składnia testu jest zawsze taka sama i składa się z 3 linków. Po lewej stronie znajduje się sprawdzana wartość tekstowa, następnie sam operator „LIKE”, a po prawej sprawdzany szablon. W celu szybkiego i łatwego rysowania szablonów dostępne są specjalne symbole ułatwiające programowanie:

  1. „%” - ciąg dowolnych znaków o dowolnej długości. Używane do znajdowania pojedynczych słów lub liczb w ciągu;
  2. „_” To dowolny pojedynczy znak. Zaprojektowany, aby wskazywać na obecność jednego znaku;
  3. „[...]” to sekwencja znaków do porównania ze znakiem w ciągu. Ten wzorzec służy do sprawdzania, czy którykolwiek ze znaków wymienionych w nawiasach jest dopasowany. Możesz również określić zakres liczb lub liter ([a-d],);
  4. „[^ ...]” jest przeciwieństwem poprzedniego wzoru. Sprawdzana jest różnica między znakiem podanym w ciągu a znakami podanymi w nawiasach.

Aby lepiej zrozumieć i zrozumieć zasady tworzenia poprawnych szablonów, spójrzmy na kilka przykładów, które są powszechne w życiu programistów. Po pierwsze, musimy wybrać z podręcznika nomenklatury wszystkie pozycje, w nazwach których występuje słowo „CUTTER”. W takim przypadku musimy użyć LIKE w warunkach zapytania:

SELECT Nomenclature.Name AS Name FROM Directory.Nomenclature AS Nomenclature WHERE Nomenclature.Name LIKE "% CUTTING%"

Jeśli usuniemy oba symbole „%”, zapytanie pokaże nomenklaturę, której nazwa jest całkowicie zgodna z nazwą podaną w cudzysłowach. Jeśli zostawimy wzorzec „CUT%” lub „% CUT”, to wynikiem będzie lista elementów, odpowiednio kończąca lub rozpoczynająca się podaną kombinacją znaków.


Przeanalizujmy problem, który może zmylić początkujących programistów, którzy nie znają składni zapytań. Powiedzmy, że musisz znaleźć całą nomenklaturę, w nazwie której znajduje się symbol „%”. Specjalnie w przypadkach, gdy trzeba szukać znaków zastrzeżonych, istnieje operator „znaku specjalnego”. Możesz użyć #, \\, /, ~ i innych znaków jako znaku specjalnego, po którym wszelkie zastrzeżone znaki będą po prostu oznaczać znak.

SELECT Nomenclature.Name AS Name FROM Directory.Nomenclature AS Nomenclature WHERE Nomenclature.Name LIKE "% #%" SPECIAL SYMBOL "#"

Jeśli potrzebujesz użyć parametru w wyszukiwaniu, to zmienna w zapytaniu z parametrem LIKE jest używana z dodawaniem. Pamiętaj, że parametr musi być ciągiem znaków lub musisz przetłumaczyć go na łańcuch w zapytaniu. Jest to dość skomplikowana operacja i lepiej ją wcześniej wykluczyć.

SELECT Nomenclature.Name AS Name FROM Directory.Nomenclature AS Nomenclature WHERE Nomenclature.Name LIKE "%" + & name + "%"

Funkcja LIKE ma zastosowanie we wszystkich wersjach platformy, począwszy od 8, a ze względu na jej zastosowanie programiści 1C nie będą chcieli jej zmieniać. Oczywiście wyszukiwanie tekstu zawsze zależy od dokładności wpisania nazwy, ale nadal pozostaje jednym z najpopularniejszych. W związku z tym profesjonalni programiści 1C muszą przestudiować użycie LIKE ze wszystkimi jego niuansami.

DZWON

Są tacy, którzy czytają tę wiadomość przed wami.
Zapisz się, aby otrzymywać najnowsze artykuły.
E-mail
Imię
Nazwisko
Jak chcesz przeczytać The Bell
Bez spamu