DZWONEK

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

Ildarovich 6489 16.11.12 18:24 Teraz w temacie

() Vladimir! Cieszę się, że zwróciłeś uwagę na ten artykuł, zwłaszcza że byłeś jednym z pierwszych, którzy zobaczyli (i docenili) tę technikę w dyskusji „Naprawdę napisz trudne zapytanie” dwa lata temu. Ciekawe pytanie, które sobie nie wymyśliłem, ale widziałem je na forum. Autorem pytania jest Stanislav Sheptalov. Dalej - 24.10.12 to samo (tylko zwróciłem na to uwagę, bo pseudonim jest inny) członek forum zadał podobne pytanie, ale zastosował się do hierarchii. Okazuje się, że PRAKTYCZNY problem został rozwiązany. Ponadto, zgodnie z podejściem „naukowym”, dokonałem przeglądu praktycznych problemów, w których można zastosować tę technikę. Znaleziono jeszcze 7 problemów. 5 - w tym artykule. Wśród nich jest problem dotyczący pętli w specyfikacji, który wcześniej obiecałem rozwiązać za pomocą Ish_2 w jednym zapytaniu. Myślę, że Ish_2 będzie w stanie przekonać cię o pilności tego zadania - poświęcił mu dużo czasu. Rozwiązanie jest krótkie - składa się z kilku wierszy, dlatego jest niezwykle czytelne, sformułowane w stylu nieproceduralnym, poprzez wymóg wyniku. Otóż \u200b\u200bw artykułach i na forum napotkano inne zadania, zaproponowano im bardziej uciążliwe rozwiązania. Poczekajmy więc chwilę, aby zobaczyć, jak często będzie to stosowane. Tego rodzaju informacji zwrotnej oczekuję - od tych, którzy będą próbowali.
Nawiasem mówiąc, o tym, że ta gałąź matematyki nie jest daleka od praktyki i jest potrzebna księgowym, świadczy ogólny moduł „Korekta kosztów” w BP2, nad którym właśnie majstrujemy (niestabilna praca regularnego zlecenia). Mówimy tam o przełamywaniu cykli wykresu przemieszczeń nomenklatury i budowaniu drzewa rozpinającego.
Teraz o strukturze bazy danych „do konkretnego zadania”. Zadano pytanie o realizację zadania w 1C, dlatego zadanie zostało rozwiązane w 1C. Gdyby zapytano Cię „jakim autobusem dojechać do biblioteki” i odpowiedziałeś, że lepiej latać statkiem powietrznym, po prostu nie zostałbyś zrozumiany (być może poza tymi, którzy są w moskiewskim korku). Metoda pierwotnie działała w zupełnie innym języku.
Generalnie nie mogę Cię przekonać, jeśli uważasz, że architektura platformy 1C jest bezwartościowa. Mogę tylko wyrazić swoją opinię. Opracowanie schematu bazy danych od podstaw dla określonego zadania jest kosztowne. Jeśli porównamy z budową: 1C to panelowe wieżowce - tanie mieszkania - środek masowej automatyzacji - w ciasnych dzielnicach, ale nie obrażone. Poszczególne organizacje mogą zatrudnić Normana Fostera, aby spełnić ich dokładne wymagania. Reszta musi korzystać z tanich projektów masowych - relacyjnego DBMS ze sztywnym modelem obiektowym. Ponadto znam smutne doświadczenie związane z użyciem Caсhe w kilku projektach. W oczach dewelopera wszystko nie wygląda tak różowo, jak w teorii. Model obiektowy 1C wytrzymuje próbę czasu - „ogromne terytoria są budowane i zaludniane”. Ponadto się rozwija. Niedawno pojawiła się technologia zewnętrznych źródeł danych. A jeśli zadanie wymaga większej reaktywności (na przykład systemy rozliczeniowe), teraz możesz bezproblemowo zadokować 1C z innym DBMS. Na przykład zrobiliśmy to za pomocą importu ERP.
Jednak nadal nie chciałbym odwracać rozmowy od głównego tematu - pracy nad proponowanymi technikami w szczegółowych zadaniach PRAKTYCZNYCH.

Co to jest podręcznik 1c i do czego służy? Księga informacyjna przechowuje warunkowo stałe informacje, tj. informacje, które prawie się nie zmieniają przez długi czas. Na przykład katalog „Nomenklatura” zawiera listę sprzedanych lub wyprodukowanych towarów. Ponadto odwołanie może zawierać wiele właściwości opisujących element odniesienia.

Jeśli weźmiemy dla porównania płeć osoby, to lista tutaj jest ograniczona i niezmieniona, więc wyliczenie jest do tego lepsze.

Po utworzeniu nowego katalogu zobaczymy następujący obraz.

Rozważmy wszystkie jego zakładki.

Główny

W tym miejscu wskazana jest nazwa (identyfikator w bazie danych) i synonim (niestandardowa nazwa katalogu). Komentarz opcjonalny to komentarz, który może wyjaśnić cel podręcznika lub opisać jego cechy.

Hierarchia

Na tej karcie możesz ustawić głębokość zagnieżdżenia elementów słownika. Przy pomocy tego ustawienia wygodnie jest rozróżniać i wyszczególniać elementy według pewnych kryteriów. Na przykład produkty „Szafy” znajdują się w jednej grupie, a produkty „Tabele” w innej. Domyślnie po utworzeniu odwołanie przedstawia lista rzeczy... Jeśli zaznaczysz pole Hierarchiczne odniesienie, to każdy element może zostać podporządkowany innemu elementowi (grupie). Poniżej przedstawiono opcje dostosowywania tej karty i zmiany wyświetlania w trybie niestandardowym.

Typ hierarchii:

Hierarchia grup i elementów

Przy tym ustawieniu elementy mogą być zagnieżdżane tylko w grupach (folderach).

Tutaj, jak widać, wszystkie elementy i grupy mają te same ikony, a każdy element może być zagnieżdżony.

Umieść grupy na górze

Gdy to pole wyboru jest zaznaczone, grupy zawsze będą na górze, w przeciwnym razie zostaną ułożone w kolejności sortowania, na przykład w ten sposób:

Ograniczenie liczby poziomów w hierarchii

Jeśli to pole nie jest zaznaczone, zagnieżdżanie jest nieograniczone.

Jeśli pole jest zaznaczone, poniżej możesz określić liczbę poziomów.

Właściciele

Na zakładce właściciele można wskazać inne katalogi, w stosunku do których jest to podrzędne. Schemat relacji między katalogami podrzędnymi jest podobny do schematu relacji katalogu hierarchicznego, tylko tutaj inny katalog pełni rolę nadrzędną i nazywany jest właścicielem. W typowych konfiguracjach dobrym przykładem jest podporządkowanie katalogu „Kontrakty” katalogowi „Wykonawcy”, ponieważ nie może być kontraktu, który nie należy do żadnego kontrahenta.

W polu „Lista właścicieli katalogu” wskazana jest lista katalogów, do których należą elementy tego katalogu.

Poniżej w polu „Użycie podporządkowania” wskazano, jakim elementom tego odniesienia będą podporządkowane.

Jak programowo sprawdzić, czy katalog jest hierarchiczny, czy nie

Aby to zrobić, musisz odwołać się do metadanych

It isHierarchicalDirectory \u003d Metadata.Reference.Contractors.Hierarchical;

Ciąg dalszy nastąpi ...

Struktura „IN HIERARCHY” w zapytaniach 1C: Enterprise 8.x umożliwia uzyskanie podrzędnych elementów hierarchicznego obiektu konfiguracyjnego zgodnie z podanym wyborem. Dzisiaj w artykule rozważymy przykład jego wykorzystania, a także działania platformy po stronie DBMS i jej wpływ na wydajność.

Za pomocą

Rozważmy prosty przykład użycia konstrukcji „W HIERARCHII”. Podczas wykonywania kolejnego zapytania zostaną pobrane podrzędne elementy katalogu hierarchicznego „Produkty” dla przekazanej wartości zmiennej „Referencja”.

Tekst żądania \u003d "WYBIERZ | Produkty ... Połączyć, | Produkty ... kod dostawcy |Z | Informator ... Produkty jako produkty | GDZIE | Produkty ... Link IN HIERARCHY (& Link)"

W bazie testów katalog „Produkty” zawiera następujące dane testowe:

Oczywiście nie wszystkie pozycje katalogu są pokazane na obrazku. Zrzut ekranu przedstawia tylko strukturę przechowywania danych w katalogu hierarchicznym. Tabela przeglądowa zawiera 10 grup najwyższego poziomu, z których każda zawiera 5 zagnieżdżonych grup po 200 elementów każda.

Wróćmy do zapytania testowego. Przekażmy w parametrze „& Link” link do grupy „Grupa - 1” (patrz obrazek powyżej). Wtedy wynik zapytania będzie wyglądał następująco:

Jak widać, żądanie zwróciło odsyłacz do samej grupy nadrzędnej (przekazanej przez parametr), a także do grup zagnieżdżonych z elementami. Dzięki temu zastosowanie struktury „W HIERARCHII” pozwala w wygodny sposób uzyskać dane hierarchicznie podporządkowane.

Składnia języka zapytań 1C: przedsiębiorstwa i klasyczny SQL są bardzo podobne w niektórych punktach. Ale dla wyrażenia „IN HIERARCHY” nie ma odpowiednika w języku zapytań SQL, ponieważ na przykład dla wyrażenia języka zapytań platformy „B” istnieje podobny operator SQL „IN”. Dlatego podczas korzystania z tego operatora warto pracować z platformą z systemem DBMS.

Za kulisami

Więc zacznijmy. Jako przykład użyjemy wcześniej zapisanego zapytania do katalogu „Produkty”. Przeanalizujemy działania platformy dla dwóch sytuacji:

  1. Jako parametr „& Link” przekażemy grupę najwyższego poziomu „Grupa 1” (tak jak zrobiliśmy to wcześniej).
  2. W parametrze przekażemy link do grupy „Group 1 - 1” zagnieżdżonej w grupie najwyższego poziomu „Group 1”.

Teraz w porządku. W pierwszym przypadku platforma wykona następujące czynności na serwerze SQL:

1. Najpierw wykonywane jest zapytanie SQL w celu uzyskania odniesienia do grupy referencyjnej przekazanej jako parametr i wszystkich podległych jej grup. Wynik jest umieszczany w tymczasowej tabeli „# tt1”.

2. W drugim kroku to samo zapytanie jest wykonywane dwukrotnie:

Zrzut ekranu zawiera szczegółowy tekst zapytania SQL. Krótko mówiąc, zapytanie umożliwia wybranie elementów podrzędnych dla grup, do których istnieją odniesienia w tabeli tymczasowej. Pozostaje pytanie: „Dlaczego żądanie jest wykonywane dwukrotnie?” Tutaj odpowiedź jest prosta: po pierwsze, wniosek otrzymuje elementy podrzędne dla grup pierwszego poziomu, które są już zawarte w tabeli tymczasowej (patrz punkt 1). Drugie zapytanie pobiera następnie podwładnych dla podrzędnych grup drugiego poziomu. Ponieważ na trzecim poziomie hierarchii nie ma żadnej grupy katalogów, to zapytanie nie jest już wykonywane.

W naszym przypadku drugie zapytanie zwróci pusty wynik, ponieważ nie ma elementów podrzędnych dla rekordów znajdujących się na 3 poziomie hierarchii (nie ma tam grup).

3. Aby uzyskać ostateczny wynik zapytania, platforma tworzy następujące zapytanie SQL:

Wynik tego konkretnego żądania może być dalej przetwarzany przez algorytmy w języku wbudowanym w platformę. Zatem rekordy w tabeli tymczasowej „# tt1” są używane do ustawiania warunku wyboru z tabeli przeglądowej „_Reference41”.

4. Na ostatnim etapie platforma 1C: Enterprise 8.x usuwa tymczasową tabelę „# tt1”, ponieważ nie będzie ona już używana w przyszłości.

Na tym kończy się proces wykonywania operatora „IN HIERARCHY”. Przypomnę, że rozważana sekwencja działań na serwerze SQL została wykonana, gdy przekazaliśmy link do grupy najwyższego poziomu „Grupa - 1” do zapytania po stronie platformy. Ale jak zachowa się platforma, jeśli jako parametr „& Link” przekażemy link do grupy drugiego poziomu „Grupa - 1 - 1”? Wszystko będzie się działo w ten sam sposób, z wyjątkiem punktu: powyżej w drugim etapie wykonywania zapytań SQL przez platformę napisano, że żądanie pobrania elementów podrzędnych było wykonywane dwukrotnie - w przypadku pobrania elementów podrzędnych dla grupy „Grupa - 1 - 1” tak nie jest ... Żądanie zostanie wykonane tylko raz.

Chodzi o to, że liczba zapytań o pozycje podrzędne zależy od liczby grup w hierarchii. Innymi słowy, jeśli przynajmniej jedna grupa jest zawarta na poziomie hierarchii elementów, to wniosek z punktu 2.

Wpływ na wydajność

Nieprawidłowe użycie dowolnego operatora w żądaniu może prowadzić do nieoptymalnej wydajności systemu. Wspomniany operator „IN HIERARCHY” nie jest wyjątkiem. Należy go używać ostrożnie, ponieważ znacznie komplikuje algorytm wykonywania zapytań SQL w bazie danych, a tym samym zwiększa obciążenie serwera DBMS.

Podam przykład nieoptymalnego żądania, które może prowadzić do wyżej wymienionych smutnych konsekwencji:

WYBIERZ produkty. Link z katalogu. Produkty JAKO produkty GDZIE (Produkty. Odniesienie W HIERARCHII (i Odniesienie) LUB Produkty. Odniesienie W HIERARCHII (i Odniesienie1) LUB Produkty. Odniesienie W HIERARCHII (i Odniesienie2))

Jak można się domyślić, zapytanie doprowadzi do powstania wielu zapytań SQL, co pociągnie za sobą spadek wydajności systemu informacyjnego.

Wyciągnij własne wnioski!

Wnioski do ciebie. Powiem tylko, że operator „W HIERARCHII” jest używany przez platformę do systemu kompozycji danych, gdy warunki wyboru obejmują „W GRUPIE”, „W GRUPIE Z LISTY” i inne. Myślę, że nie warto wyjaśniać, że przy nieprawidłowych manipulacjach użytkownicy mogą dokonać bardzo złożonego wyboru i kilkakrotnie zwiększyć obciążenie serwera 1C i DBMS. Zmieńmy tylko ustawienia dla zaawansowanych użytkowników.

I oczywiście, pisząc własne mechanizmy, zwróć uwagę na operator „IN HIERARCHY”. Z jednej strony bardzo wygodny, z drugiej niebezpieczny.

W tej sekcji przedstawiono przykłady rozwiązywania typowych zadań podczas pracy z katalogami hierarchicznymi.

Pobieranie elementów hierarchicznego katalogu podrzędnego danej grupie

Aby uzyskać podrzędne elementy katalogu hierarchicznego, język zapytań zapewnia konstrukcję IN HIERARCHY. Przykład użycia W HIERARCHII:


WYBIERAĆ
Nomenklatura Kod,
Nomenklatura Cena zakupu
Z

Ten przykład spowoduje pobranie wszystkich pozycji z katalogu nomenklatury, które znajdują się w grupie & Group, w tym siebie, jej grup podrzędnych i pozycji należących do grup podrzędnych.

Jeśli interesują nas tylko elementy i grupy, które są bezpośrednio w danej grupie, to takie elementy możemy uzyskać ustawiając warunek w polu Parent. Przykład:


WYBIERAĆ
Nomenklatura Kod,
Nazewnictwo Nazwa AS Nazwa,
Nomenklatura Cena zakupu
Z
Odniesienie Nomenklatura AS Nomenklatura

GDZIE
Nomenclature.Parent \u003d & Group

To zapytanie wybierze grupy i członków, którzy są podporządkowani grupie z łączem & Grupa.

Sprawdzanie, czy pozycja katalogu ma elementy podrzędne

Aby sprawdzić istnienie podrzędnych rekordów elementu słownika, możesz użyć zapytania podobnego do przedstawionego:

W tym przykładzie odwołanie do elementu, dla którego chcesz sprawdzić elementy podrzędne, jest zapisywane w parametrze zapytania Parent. Po wykonaniu takiego zapytania należy sprawdzić wynik pod kątem pustki. Jeśli wynik nie jest pusty, istnieją rekordy podrzędne. W przeciwnym razie nie. Przykład:


Jeśli Query.Run (). Empty () Then
Raport („Brak zapisów”);
Inaczej
Raport („Istnieją zapisy”);
EndIf;

Pobranie wszystkich rodziców elementu

Nie ma specjalnych środków w języku zapytań, aby pobrać wszystkie elementy nadrzędne elementu. Możesz użyć sum hierarchicznych do wykonania zadania, ale uzyskiwanie sum hierarchicznych jest zoptymalizowane pod kątem tworzenia sum z dużej liczby rekordów i nie jest całkiem wydajne w przypadku pobierania elementów nadrzędnych jednej pozycji. W celu wydajniejszego pobierania wszystkich rekordów nadrzędnych elementu zaleca się iterowanie po jego elementach nadrzędnych w pętli w małych porcjach. Przykład:


CurrentNomenclatureItem \u003d NomenclatureItem;

Żądanie \u003d Nowe żądanie („WYBIERZ
| Nomenklatura: rodzic,
| Nomenklatura: rodzic, rodzic,
| Nomenklatura: Parent.Parent.Parent,
| Nomenklatura: Parent.Parent.Parent.Parent,
| Nomenklatura: rodzic.Parent.Parent.Parent.Parent
| OD
| Odniesienie Nomenklatura AS Nomenklatura
| GDZIE
| Nomenclature.Ref \u003d & CurrentNomenclatureItem ";

Aż do cyklu prawdy
Query.SetParameter ("CurrentNomenclatureItem", CurrentNomenclatureItem);
Wynik \u003d Query.Run ();
Jeśli Result.Empty () Then
Anulować;
EndIf;
Selection \u003d Wynik.Select ();
Sample.Next ();
Dla ColumnNumber \u003d 0 By Result.Columns.Number () - 1 cykl
CurrentNomenclatureItem \u003d Selection [ColumnNumber];
Anulować;
Inaczej
Raport (CurrentNomenclatureItem);
EndIf;
Koniec cyklu;

Jeśli CurrentNomenclatureElement \u003d Directories.Nomenclature.EmptyRef () Then
Anulować;
EndIf;
Koniec cyklu;

W tym przykładzie wszyscy rodzice są wyświetlani w oknie komunikatu usługi dla łącza zapisanego w zmiennej ElementNomenclature. Cykl wybiera 5 rodziców linku.

Jeśli liczba poziomów w podręczniku jest ograniczona i mała, można uzyskać wszystkich rodziców w jednym wniosku bez pętli.

Wyjście hierarchicznego katalogu do raportu

Aby wyświetlić katalog hierarchiczny w raporcie, zachowując hierarchię, należy użyć zapytania podobnego do następującego:


WYBIERAĆ
Nomenklatura Kod,
Nazewnictwo Nazwa AS Nazwa,
Nomenklatura Cena zakupu
Z
Odniesienie Nomenklatura AS Nomenklatura
SORTUJ WEDŁUG
Imię HIERARCHY

To zapytanie wybiera wszystkie rekordy z katalogu i sortuje je według hierarchii. Wynik zostanie posortowany według nazwy z uwzględnieniem hierarchii.

W celu umieszczenia grup katalogu nad elementami konieczne jest zastąpienie propozycji ZAMÓW WEDŁUG OPROGRAMOWANIA w tym zapytaniu następującym:


SORTUJ WEDŁUG
Nomenklatura To jest Grupa HIERARCHY,
Nazwa

Wynik nadal będzie posortowany w hierarchii, ale grupy pojawią się nad elementami.

Istnieje również możliwość zastąpienia oferty ZAMÓW OPROGRAMOWANIE ofertą ZAMÓWIENIE AUTOMATYCZNE. W takim przypadku wynik zostanie uporządkowany zgodnie z ustawieniami z podręcznika tj. jeśli podręcznik wskazuje, że grupy powinny znajdować się nad elementami, będą znajdować się powyżej.

Możliwe jest również uzyskanie hierarchicznej struktury podręcznika za pomocą sum.


WYBIERAĆ
Nomenklatura Kod,
Nazewnictwo Nazwa AS Nazwa,
Nomenklatura Cena zakupu

Z Odniesienia Nomenklatura AS Nomenklatura

GDZIE
(Nomenclature.ThisGroup \u003d FALSE)

ZAMÓW WEDŁUG Imię

Pobieranie sum według hierarchii

Aby uzyskać sumy według hierarchii w zapytaniu, należy określić słowo kluczowe HIERARCHY w klauzuli TOTALS BY po określeniu pola, według którego będą obliczane sumy. Przykład raportu „Obrót towarami” z podsumowaniem odbioru według hierarchii:


WYBIERAĆ

Z

Nomenklatura HIERARCHIA

W wyniku tego żądania sumy zostaną obliczone nie tylko dla każdej pozycji, ale także dla grup, do których należy ta lub inna pozycja.

W przypadku, gdy nie potrzebujemy sum dla elementów, a potrzebujemy tylko sum dla grup, w sumach musimy zastosować konstrukcję TYLKO HIERARCHIA. Przykład:


WYBIERAĆ
KsięgowośćNomenklatura Obroty Nomenklatura AS Nomenklatura,
KsięgowośćNomenklatura Obroty Nomenklatura Prezentacja
KsięgowośćNomenklatura Obrót. Ilość Obrót AS Ilość Obrót
Z
Rejestr akumulacji Nomenklatura księgowa Obroty AS Nomenklatura Księgowość Obroty
SUMA SUMA (liczba obrotów) WEDŁUG
Nomenklatura TYLKO HIERARCHIA

W wyniku tego zapytania pojawią się rekordy sumaryczne tylko dla grup towarów.

References 1C - wyspecjalizowany obiekt drzewa metadanych, który służy do przechowywania statycznych informacji o charakterze referencyjnym. Na przykład w typowych konfiguracjach można zobaczyć następujące widoki :, Nomenklatura, Pracownicy, Środki trwałe itp. Informacje w podręcznikach z reguły nie zmieniają się często. Księgi referencyjne są ponadto wykorzystywane w prawie wszystkich obiektach księgowych jako sekcja księgowa lub informacje referencyjne.

Poniżej rozważymy utworzenie i zaprojektowanie podręcznika z konfiguratora na przykładzie podręcznika „Nomenklatura”.

Karta Podstawowa

W zakładce „Ogólne” możesz określić nazwę, synonim, prezentację obiektów, opis przeznaczenia.

Zakładka Hierarchia odniesień

Tutaj ustalana jest hierarchia katalogu.

W 1C 8.3 istnieją dwa rodzaje hierarchii - „ grupy i elementy"I" elementy”. Różni się tym, że w pierwszym przypadku rodzic (folder) może być tylko folderem (grupą), aw drugim przypadku rodzicem może być również element.

„Umieść grupy na górze” - flaga odpowiada za wyświetlanie grup w postaci listy.

Również w ustawieniach możesz ograniczyć liczbę grup w hierarchii katalogów przez odpowiednie ustawienie.

Karta Właściciele

Katalog może być podrzędny w stosunku do innego katalogu. Z punktu widzenia konfiguracji 1C 8.3 oznacza to, że atrybut „Właściciel” staje się obowiązkowy dla elementu podrzędnego. Przykład takiego powiązania między katalogami w standardowych konfiguracjach „Nomenklatura - Jednostki miary”, „Wykonawcy - Umowy wykonawców”.

Następujące obiekty metadanych mogą być również właścicielami katalogu:,.

Karta danych

Pobierz bezpłatne samouczki wideo 267 1C:

Najważniejsza zakładka z punktu widzenia programisty. Wskazane są na nim szczegóły podręcznika.

Podręcznik zawiera zestaw standardowych szczegółów, które nie są edytowane przez programistę 1C 8.2. Ich listę można wyświetlić, klikając przycisk „Szczegóły standardowe”:

Rozważę każdy bardziej szczegółowo:

  • Ta grupa - atrybut typu logicznego wskazujący, czy jest to grupa, czy element. Dostępne tylko w odwołaniu hierarchicznym. Uwaga, wartości tej zmiennej nie można zmienić w trybie 1C: Enterprise.
  • Kod - atrybut, typ numer lub ciąg znaków (zwykle ciąg znaków). Numer nadawany przez system automatycznie. Zwykle obliczane jako (poprzedni kod + 1). Zalecam użycie typu string, ponieważ sortowanie wartości liczbowych nie odbywa się zgodnie z oczekiwaniami. Może być używany jako widok wyszukiwania na liście i w polach wejściowych. Zwykle używane do wyszukiwania elementu podczas wpisywania według ciągu. Jeśli chcesz usunąć pole Kod, podaj zero w długości linii.
  • Nazwa - Wymagany atrybut, typ ciągu. Maksymalna długość linii to 150 znaków. Może być używany jako widok wyszukiwania na liście i w polach wejściowych. Zwykle używane do wyszukiwania elementu podczas wpisywania według ciągu. Jeśli chcesz usunąć pole Nazwa, podaj zero w długości linii.
  • Rodzic - atrybut typu ReferenceLink.<ИмяТекущегоСправочника>... Dostępne tylko w katalogu hierarchicznym. Wskazuje nadrzędnego rodzica w hierarchii. Jeśli element lub grupa znajduje się w katalogu głównym katalogu, określana jest wartość katalogu.<ИмяТекущегоСправочника>.EmptyRef.
  • Właściciel - odnośnik do właściciela elementu aktualnego elementu (grupy) katalogu. Dostępny tylko w podrzędnej książce informacyjnej 1C.
  • Znak usunięcia - atrybut boolowski. Odpowiada za wyświetlanie „znaku skreślenia” w systemie. Element oznaczony do usunięcia jest uważany za bezużyteczny, ale mogą na nim pozostać stare ruchy w dokumentach.
  • Połączyć - pole typu string. Ten atrybut przechowuje unikalny identyfikator obiektu - GUID. To, co widzimy w systemie na wyświetlaczu wizualnym pod nazwą „link”, jest tylko reprezentacją obiektu. Niemożliwe do zmiany.
  • Predefiniowane - typ boolean, wyświetla czy element jest predefiniowany, więcej o tym później. Niemożliwe do zmiany.

Zakładka „Dane” wskazuje również widok podręcznika w systemie, do wersji 8.2.16 widokiem mógł być tylko Kod lub Nazwa. W najnowszych wersjach platformy (począwszy od 8.3) widok można opisać niezależnie w module menadżera za pomocą handlera ViewGetProcessing.

Zakładka numeracja

Tutaj możesz określić ustawienia książki referencyjnej pod względem numeracji. Zaleca się używanie automatycznego numerowania. Kontrola niepowtarzalności to flaga, która w razie potrzeby pomaga uczynić kod unikalnym. Jeśli z ustawioną flagą spróbujesz napisać pozycję katalogu z nieunikalnym kodem, w 1C otrzymasz komunikat „Kod katalogu stał się nieunikalny”.

Seria kodów - określa sposób numerowania katalogu, możesz wpisać numerację katalogu w kontekście właściciela. Na przykład kontrahent „Horns and Hooves” będzie miał własną numerację kontraktu - „1, 2, 3” i tak dalej.

Karta Formularze

Formularze referencyjne są opisane tutaj. Jeśli konfiguracja zostanie uruchomiona zarówno w trybie normalnym, jak i zarządzanym, domyślnie będą dostępne dwie zakładki z formularzami: „główny” i „dodatkowy” - różne dla aplikacji zwykłej i zarządzanej.

Na tej stronie znajduje się ważna właściwość podręcznika - „”. Jest to bardzo wygodna funkcja 1C 8, która pozwala podczas wypełniania danych w polu wejściowym nie wchodzić do katalogu, ale wpisywać jego nazwę, kod itp. i wybierz żądaną pozycję z listy rozwijanej. To wygląda tak:

Inne zakładki

W zakładce można uzyskać szybki dostęp do głównych modułów podręcznika - modułu obiektowego i modułu menedżera.

Na stronie można również zdefiniować listę wstępnie zdefiniowanych pozycji katalogu. Są to elementy, których nie można usunąć w trybie korporacyjnym. Wstępnie zdefiniowane elementy są dostępne bezpośrednio w konfiguratorze po nazwie, na przykład: Katalogi.Nomenklatura.Serwis.

Ta zakładka definiuje również tryb blokowania - automatyczny lub kontrolowany. Korzystanie z wyszukiwania pełnotekstowego, a także informacji referencyjnych o książce referencyjnej, dostępnej w trybie 1C: Enterprise.

DZWONEK

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