DZWONEK

Są tacy, którzy czytają te wiadomości przed tobą.
Subskrybuj, aby otrzymywać świeże artykuły.
E-mail
Imię
Nazwisko
Jak chcesz przeczytać Dzwon
Bez spamu

Dobry dzień.

Dzisiaj porozmawiamy o innowacjach na platformie 8.3 dotyczących wstępnie zdefiniowanych elementów.

Wprowadzenie

Przypomnę, że wcześniej w praktyce bardzo często chciałem zajrzeć do elementu katalogu, aby znaleźć jego predefiniowaną nazwę. Na przykład utworzyłeś dwóch predefiniowanych kontrahentów i nadałeś im nazwy IPSidorov i OOO Meteor. I przyszyli jakąś logikę.

Kiedy wszystko zostało debugowane i opracowane, okazało się, że zadanie zostało postawione na odwrót i że logika dla adresu IP jest potrzebna dla LLC, a logika dla LLC dla IP. „Nie ma problemu”, mówimy, aw trybie korporacyjnym zmieniamy nazwy elementów. W końcu indeksowanie do kodu jest znacznie trudniejsze. Minął rok i zostało dla ciebie nowe zadanie: dla SP Sidorova, aby skonfigurować inną logikę. Wchodzisz do konfiguratora, piszesz logikę, zaczynasz sprawdzanie i nic nie działa, ponieważ w konfiguratorze IPSidor oraz w przedsiębiorstwie - Meteor LLC. Mózg jest zepsuty i chcesz zniszczyć tę prowizję. Najprostszym i najbardziej oczywistym sposobem jest wyświetlenie nazwy predefiniowanego elementu w formie listy. Oto zasadzka, nazwę predefiniowanej wersji 8.2 można uzyskać tylko metodą. Metoda jest jej niedogodnością, nie można jej uzyskać w żądaniu. Te. pierwszą niedogodnością jest uzyskanie nazwy predefiniowanej z linku do katalogu.

Druga niedogodność, gdy mamy już element katalogu i musimy go wstępnie zdefiniować. Tworzymy predefiniowany element i uzyskujemy dwa elementy w katalogu. Jeden predefiniowany, inny pracownik, do którego odnoszą się wszystkie nasze dokumenty. Zastąpienie linków z pewnością pomaga, ale jeśli baza danych jest duża, to jest trudna.

Teraz w interesach

Po pierwsze, katalog ma właściwość „Aktualizuj predefiniowane dane”.

Co daje nam to pole? Jeśli ustawiono opcję „Nie aktualizuj automatycznie”, a następnie dodając predefiniowany element, nie zobaczymy go od razu w katalogu. Te. metadane nie są w żaden sposób powiązane z danymi. A jeśli nie utworzysz go w katalogu, dostęp do jego nazwy za pomocą menedżera katalogów spowoduje błąd składniowy.

Bardzo interesujące, ale dlaczego? Jak tworzymy przedmiot w katalogu? I jak chcesz, możesz utworzyć lub połączyć go z już istniejącym. Teraz katalog ma atrybut „Nazwa predefiniowanych danych”. Element katalogu tworzymy programowo jak zwykle poprzez „Katalogi. Konta. Utwórz element ()” i wypełniamy go atrybutem „Predefiniowana nazwa danych” równym nazwie wstępnie zdefiniowanego elementu. Lub jeśli element już istnieje, otrzymujemy jego obiekt i ponownie wypełniamy w nim „Nazwę predefiniowanych danych”. Wszystko.

I na koniec trochę syropu

Ten nowy atrybut jest dostępny nie tylko do czytania i pisania, ale także w żądaniach. W ten sposób można narzucić warunki w zapytaniach, niezależnie od tego, czy jest predefiniowane, czy nie.

Dziękuję za uwagę.

Podczas pracy na platformie 1C: Enterprise 8.x często konieczne jest powiązanie kodu programu ze zwykłymi (niezdefiniowanymi) elementami katalogu. Na przykład organizacja może mieć pięć rodzajów cen, które są stosowane w prawie wszystkich mechanizmach. W takim przypadku programowe odniesienie do konkretnej ceny jest w najlepszym wypadku realizowane przez pisanie kodu w katalogu, w najgorszym przypadku według nazwy przedmiotu.

Byłem świadkiem tego, jak raporty wykorzystywały wybór według rodzaju ceny we wniosku o jego nazwę w raportach w celu uzyskania wymaganej ceny (patrz poniższy zrzut ekranu).

  W rezultacie otrzymujemy niestabilny raport, który przestanie działać po zmianie nazwy typu ceny. Jeśli powiążesz z kodem elementu, zawsze istnieje możliwość jego zmiany. Na przykład z powodu naruszenia unikalności kodów katalogowych administrator może rozpocząć numerację obiektów, co doprowadzi do zmiany kodów elementów, a raport przestanie działać poprawnie.

Ponadto, jeśli powiążesz się z nazwą lub kodem elementów katalogu, to kiedy otrzymasz link do elementu, wyszukiwanie zawsze będzie wykonywane w tabeli katalogu. Pomimo faktu, że standardowe szczegóły systemu są indeksowane przez DBMS, ich wyszukiwanie w niektórych przypadkach może wymagać znacznych zasobów. Co więcej, bardziej racjonalne byłoby nie występowanie wyszukiwana fraza  zgodnie z tabelą referencyjną, jeśli, powiedzmy, link do elementu jest już „znany z góry”.

Jako wynik możesz zapisać link do każdego często używanego elementu katalogu „Typy cen produktów” w osobnych stałych i uzyskać z nich wartości w żądaniu. Jednak w tym przypadku programista będzie musiał dodać osobną stałą dla każdego podobnego elementu. Sytuacja stanie się znacznie bardziej skomplikowana, jeśli takie elementy znajdziemy nie tylko w książce „Rodzaje cen w nomenklaturze”, ale także w innych katalogach („Kategorie obiektów”, „Jakość”, „Nomenklatura” i inne). Wtedy liczba stałych w systemie może wzrosnąć kilka razy!

Oczywiście możesz dodać predefiniowane elementy do każdego z katalogów, a dostęp do nich byłby znacznie łatwiejszy. Jednak zmiana typowych obiektów skomplikowałaby proces aktualizacji konfiguracji z pakietów dostawców.

Istnieje bardziej optymalne podejście zarówno pod względem opracowywania struktury metadanych konfiguracji, jak i pod względem wydajności systemu. Zostanie to dzisiaj omówione.

Jedno rozwiązanie stop

Istota uniwersalnego rozwiązania będzie następująca: zostanie utworzony katalog, w którym programista doda predefiniowane elementy. Do katalogu dodano atrybut „Wartość”, którego rodzaj zależy od wartości, dla których zostanie utworzona korespondencja „Wstępnie zdefiniowany element katalogu -\u003e Połączona wartość”. Struktura metadanych katalogu jest następująca (patrz poniższy zrzut ekranu).

Aby uzyskać predefiniowany przedmiot najlepsza opcja  jest użycie metody globalnej „Wartość predefiniowana (<Имя>)" . Jako parametr pełna ścieżka do predefiniowanego elementu jest przekazywana do metody. Składnia jest podobna do funkcji wartości zapytania „VALUE ()”.

Dla wygody programowania zalecamy usunięcie funkcji w celu uzyskania wartości powiązanej z predefiniowanym elementem w module ogólnym. W konfiguracji testowej, dostępnej do pobrania linkiem na końcu artykułu, utworzono moduł ogólny „Wartości predefiniowanych elementów” z funkcją eksportu „GetValue z predefiniowanego elementu (<ИмяПредопределенногоЭлемента>)" . Kod programu funkcji otrzymuje link do predefiniowanego elementu, a następnie na żądanie otrzymuje wartości rekwizytów „Wartość”. Poniższy zrzut ekranu pokazuje pełną listę funkcji.

Jak widzimy, w funkcji generowane jest żądanie do atrybutu „Wartość” predefiniowanego elementu przekazanego jako parametr. Parametr funkcji jest łańcuchem o nazwie z góry określonego elementu.
Aby utworzony mechanizm działał poprawnie, w trybie użytkownika należy skojarzyć predefiniowany element ze zwykłym elementem katalogu, wybierając odpowiedni element w atrybucie „Wartość”. Przejdźmy do kwestii wpływu na wydajność.

Wpływ na wydajność

Przeprowadzono test prędkości dla obu opcji wyszukiwania: według nazwy i linku z predefiniowanego elementu. Wyszukiwanie odbyło się w katalogu „Produkty” z 20 000 pozycji. Podczas przeprowadzania testów na bazie plików uzyskano następujące wyniki:

Wyniki pokazały, że w wersji pliku pracy użycie predefiniowanych elementów w celu uzyskania często używanych elementów innych katalogów działa prawie 4 razy wolniej!

W wersji pracy klient-serwer wyniki testu pokazują zupełnie inny obraz. Szybkość uzyskania linku do pożądanego elementu nie zmniejszyła się znacząco (jeden z testów wykazał 0,002 sekundy na wyszukiwanie według nazwy i 0,0008 sekundy podczas pracy z predefiniowanym elementem), jednak niezawodność programu znacznie wzrosła!

Wyniki

W przypadkach, w których często konieczne jest powiązanie ze zwykłymi elementami katalogu, odradzam używanie powiązania według kodu lub nazwy. Takie podejście zmniejsza niezawodność i wydajność systemu.

Podczas pracy z platformą często napotykałem sytuacje, w których po zmianie nazwy, na przykład w pozycji katalogu „Typy cen i nazewnictwo”, migała praca w przypadku większości niestandardowych raportów.

Im więcej algorytmów jest powiązanych ze zwykłymi elementami katalogów poprzez kod lub nazwę, tym mniej stabilny jest system.

  Ponadto takie podejście pozwoli ci nie zmieniać typowych obiektów konfiguracji, jeśli chcesz dodać do nich predefiniowany element. W przyszłości proces aktualizacji konfiguracji będzie nieco łatwiejszy.

Pliki do pobrania:

  1. Zwalnianie bazy testowej z przykładami z artykułu.

Wszyscy znają różnicę między predefiniowanymi elementami a zwykłymi: „Predefiniowane elementy są tworzone w trybie„ Konfiguratora ”i nie można ich usunąć w trybie 1C: Tryb korporacyjny”. W trybie użytkownika możesz odróżnić predefiniowany element od tych dodanych przez użytkowników specjalną ikoną (patrz poniższy zrzut ekranu).

Zasadniczo, predefiniowane elementy są tworzone przez programistów w celu powiązania z nimi algorytmów w różnych obiektach konfiguracyjnych. Na przykład w konfiguracji „Zarządzanie przedsiębiorstwem produkcyjnym” w katalogu „Jakość” programiści dodali predefiniowany element „Nowy”.

Ten element jest używany w wielu modułach konfiguracyjnych. Tak więc w dokumencie „Odbiór towarów i usług”, podczas przeprowadzania kontroli we wszystkich rejestrach, w których występuje wymiar „Jakość”, wartość predefiniowanego elementu jest zastępowana. Poniżej znajduje się lista tabeli wypełnienia rejestru produktów organizacji:

// REJESTRACJA PRODUKTÓW Produkty organizacji.   Zestaw ruchów \u003d ruchy. Towar organizacji; Jeżeli typ dochodu \u003d przelewy. Rodzaje przyjęcia towarów. Magazyn wtedy // Uzyskaj tabelę wartości, która pasuje do struktury zestawu wpisów rejestru.   Tabela ruchów \u003d zestaw ruchów. Unload (); // Wypełnij tabelę ruchów.   Ogólny cel. Pobierz do tabeli wartości (tabela produktów, tabela ruchów); // Brakujące pola.   Tabela ruchów. Wypełnij wartości (organizacja, „organizacja”); Tabela ruchów. Wypełnij wartości (niepewne, „Agent”); Tabela ruchów. Wypełnij wartości (referencje. Jakość. Nowy, „Jakość”); // Wypełnij jakość z góry określonego elementu

Zatem charakterystyczne cechy predefiniowanych elementów i ich przeznaczenie są dość proste. Rozważ sposób przechowywania ich w tabelach bazy danych i jego różnicę od zwykłych elementów.

Różnice

W konfiguracji testowej utworzono katalog „Produkty”. Utworzono w nim grupę „Elementy testowe”. Możesz zobaczyć zawartość grupy na zrzucie ekranu na początku artykułu. Dla podręcznika „Towary” w bazie danych SQL istnieje odpowiednia tabela „_Reference37” o następującej strukturze:

Ale jak ustalić zgodność szczegółów z drzewem konfiguracji i polami w tabeli SQL?

Zdobyć przewagę standardowa metoda  globalnego kontekstu „GetStorage DatabaseStructure Structure ()”, który zwróci nam tabelę wartości z opisem struktury tabel.

W tabeli wartości „Pola” widzimy zgodność pól tabeli SQL i szczegóły obiektu w drzewie metadanych. W naszym przykładzie rozważamy strukturę katalogu „Produkty”. Wszystkie katalogi mają standardowy atrybut „Predefiniowany” typu boolean, który dla predefiniowanych elementów jest ustawiony na PRAWDA:

Zgodnie z tabelą ze strukturą katalogu w bazie danych możemy wyraźnie powiedzieć, że pole „Predefiniowane” odpowiada polu „IsMetadata”. Jeśli spojrzymy na zawartość tabeli „_Reference37” w bazie danych SQL, zobaczymy:

W rekordzie dla predefiniowanego elementu wartość pola „IsMetadata” jest ustawiona na „0x01”, co odpowiada flagi PRAWDA. W przypadku zwykłych elementów wartość jest ustawiona na „0x00”. Jest to główna różnica między predefiniowanymi elementami a zwykłymi. Wszystkie pozostałe pola są przechowywane w bazie danych podobne do pól zwykłych elementów dodawanych przez użytkowników.

Możesz znaleźć bardzo ciekawe miejsce docelowe dla predefiniowanych elementów. Za ich pomocą możesz zabronić usuwania / oznaczania usuwania grupy elementów w katalogu i innych obiektów, do których możesz je dodać. Jeśli spróbujemy usunąć lub oznaczyć usunięcie grupy „Testuj elementy”. wtedy otrzymujemy następujące błędy:

Tak więc predefiniowane elementy sprawiają, że grupa, w której są umieszczone, jest również „predefiniowana”.

Ukończenie

Predefiniowane elementy są integralną częścią większości konfiguracji. Ich użycie upraszcza rozwój i sprawia, że \u200b\u200bbudowa funkcjonalności jest logicznie bardziej „wąska” i zintegrowana.

W czwartej naszej lekcji   będziemy nadal zapoznawać się z programem. Dzisiaj jesteśmy praktyczne przykłady  poznać ihierarchiczne podręczniki, a także dowiedz się, jak tworzyć predefiniowane elementy.

Harmonogram 4 lekcji kursu:

00:19   Zmiany w książce referencyjnej Pracownicy po zakończeniu pracy domowej na 3. lekcji kursu
00:35   Edycja kolejności szczegółów w katalogach
02:54   Tworzenie nomenklatury katalogów
03:40   Tworzenie i konfigurowanie katalogu hierarchicznego
05:10   Tworzenie grup Usługi i towary w katalogu Nomenklatura
06:05   Wypełnianie katalogu Nomenklatura
07:14   3 sposoby przeniesienia elementu katalogu do innej grupy
08:21   Tworzenie katalogu Magazyny
09:19   Tworzenie predefiniowanych pozycji katalogu
11:25   Wypełnianie katalogu Magazyny
12:20   Rozwiąż test na 4 lekcjach

Odniesienie hierarchiczne  - katalog z możliwością hierarchicznego uporządkowania jego elementów. Na przykład w katalogu Nomenklatury można tworzyć grupy: Towary, Usługi itp., W których znajdują się elementy należące do tych grup. Ponadto grupy katalogów mogą obejmować inne grupy, tworząc w ten sposób wielopoziomową strukturę hierarchiczną.

Ponadto katalogi obsługują inny typ hierarchii, w którym elementy katalogu nie będą należeć do grup, ale do innych elementów tego samego katalogu. Ten rodzaj hierarchii ( hierarchia elementów) można wykorzystać na przykład podczas tworzenia katalogu Jednostki, gdzie jedna jednostka (jednostka w tym przypadku jest raczej pozycją katalogu niż grupą) może zawierać kilka innych jednostek. Ten typ hierarchii jest rzadko używany.

Formularze katalogowe  - wizualna reprezentacja katalogu. W zależności od tego, jakie działania chcemy wykonać za pomocą naszego podręcznika, musimy wyświetlić podręcznik w „różnych formach”. Tak więc w czwartej lekcji zredagowaliśmy kolejność szczegółów w formie listy i elementu katalogu.

System automatycznie tworzy (generuje) formularze, ale w razie potrzeby programista może „narysować” formularze niezależnie.

W sumie w przypadku książek referencyjnych istnieje 5 formularzy (rodzaje formularzy):

  • kształt elementu  - aby utworzyć lub edytować element katalogu;
  • formularz grupowy  - aby utworzyć lub edytować grupę katalogów;
  • formularz listy  - aby wyświetlić listę pozycji katalogu;
  • formularz wyboru  - służy do wybrania jednego z elementów tego katalogu w polu o określonej formie. Na przykład w dokumencie Przyjęcie materiałów w polu magazynu wybierz konkretny magazyn z katalogu Magazyny;
  • formularz wyboru grupy  - służy do wybrania jednej z grup w tym katalogu w polu o określonej formie.

Predefiniowane elementy katalogu  - elementy katalogu utworzone przez programistę w trybie konfiguratora, do których można uzyskać dostęp z wbudowanego języka 1c według nazwy.

Istnieje zasadnicza różnica między zwykłymi a predefiniowanymi elementami katalogu. Zwykłe elementy są niespójne w konfiguracji. W trakcie pracy użytkownika można je tworzyć, edytować i usuwać, dlatego nie należy polegać na wykonywaniu jakichkolwiek algorytmów (użytkownik może zmienić kod i nazwę elementu).Natomiast predefiniowane elementy są stałe. W tym procesie, nawet jeśli użytkownik zmieni nazwę takiego elementu, można uzyskać do niego dostęp z wbudowanego języka 1c. Uzyskuje się to dzięki temu, że predefiniowany element ma wymaganie Imięktóre nie jest dostępne dla użytkownika. Zwykłe elementy katalogu nie mają tego atrybutu.

Ważny! Z technicznego punktu widzenia użytkownik ma możliwość usunięcia predefiniowanego elementu katalogu, ale z reguły użytkownikom nie przysługuje prawo do usuwania predefiniowanych elementów katalogu.

Praca domowa na 4 lekcje kursu

Praca domowa z czwartej lekcji kursu będzie dostępna od razu po pomyślnym rozwiązaniu testu teoretycznego.

Sam pomysł programowania z predefiniowanymi elementami jest moim zdaniem bardzo poprawny. Podczas pracy należy wziąć pod uwagę tylko niuanse.

Najpierw musisz sobie wyraźnie uświadomić, że w konfiguracji znajdują się predefiniowane elementy oraz że istnieją predefiniowane elementy w bazie informacji (IS). Technicznie predefiniowane elementy bezpieczeństwa informacji są najczęstszymi elementami katalogów, które w rekwizytach „Nazwa predefiniowanych danych” wskazują, który element predefiniowanej konfiguracji odpowiada. Nie różnią się od zwykłych elementów niczym innym. Odpowiednio, każdy zwykły element IB może być predefiniowany, dowolny predefiniowany element zwykły. Aby to zrobić, wystarczy wpisać żądaną wartość w rekwizytach „Predefiniowana nazwa danych”.

Od czasu do czasu ta właściwość nie jest wartością przewidywaną przez programistę. W rezultacie występują błędy w działaniu 1C. Od krytycznych, w których praca jest zasadniczo niemożliwa, do niekrytycznych, w których naruszana jest logika algorytmów.

Warunkowo możesz wybrać   Trzy rodzaje błędów:
1. „Z danych brakuje predefiniowanego elementu”;

3. Niepoprawne wskazanie predefiniowanego elementu;

1. „Brak predefiniowanego elementu w danych” - okołobrak predefiniowanego elementu opisanego w konfiguracji w zakresie bezpieczeństwa informacji.

Jest to najłatwiejszy rodzaj błędu do debugowania i naprawy. Jego prostota polega na tym, że platforma poprawnie informuje o tej sytuacji: „Brakuje predefiniowanego elementu w danych” i jest całkiem jasne, jak to naprawić.

Podczas uzyskiwania dostępu do nieobecnego elementu w kodzie „Katalogi. Rodzaje informacji kontaktowych. E-mail osoby kontaktowej” wyświetlany jest komunikat

Podczas uzyskiwania dostępu do elementu w zapytaniu „WARTOŚĆ (odniesienie. Typy informacji kontaktowych. E-mail osoby kontaktowej)” wyświetlany jest komunikat:

Taki błąd występuje, jeśli element w konfiguracji jest opisany, ale element nie jest odwzorowany na niego w bazie danych.

Na początek wyjaśniamy, że ta sytuacja nie zawsze jest błędna. Możliwe jest użycie predefiniowanych danych w logice programu, która dla większości użytkowników może nie być używana. W takim przypadku, aby nie zaśmiecać katalogu wszystkimi użytkownikami konfiguracji, logiczne jest określenie predefiniowanych elementów w konfiguracji, ale nie tworzenie ich we wszystkich IB, ale tylko dla tych IB, w których stosowana jest niezbędna logika konfiguracji. W takim przypadku programista może określić dla katalogu właściwość „Nie aktualizuj predefiniowanych danych” i utworzyć elementy programowo podczas uzyskiwania dostępu do funkcji modułu. Lub daj użytkownikowi możliwość niezależnego powiązania predefiniowanych elementów modułu z jego zwykłymi elementami.

Również automatyczne tworzenie predefiniowanych elementów nie jest używane podczas pracy w trybie RIB. Ponieważ nowe elementy powinny być przenoszone z centralnej bazy, a nie tworzone w węzłach o różnych UID.

Te. czasami błędem jest odwoływanie się do niedopasowanego elementu, a nie samo istnienie takiego elementu.

Konieczne jest przeanalizowanie, dlaczego element nie został utworzony. Być może należy go utworzyć podczas wykonywania dowolnego trybu programu. Na przykład po przeprowadzeniu wymiany w RIB. A może został przypadkowo usunięty.

Jeśli logika przewiduje wypełnianie predefiniowanych elementów nie automatycznie, ale w osobnym trybie, to przed użyciem połączenia według nazwy „ Katalogi, rodzaje informacji kontaktowych, osoba do kontaktów e-mail„W celu uniknięcia wyjątkowej sytuacji zaleca się sprawdzenie, czy element jest już w bazie danych. Jeśli elementu brakuje, poinformuj o tym użytkownika i wyjaśnij, jaki tryb należy wykonać, aby wypełnić element. W celu takiej kontroli możesz zapytać o dane.

Żądanie \u003d Nowe żądanie; Request.Text \u003d "WYBIERZ | Rodzaje informacji kontaktowych. Link | Z | Katalogu. Rodzaje informacji kontaktowych AS Rodzaje informacji kontaktowych | GDZIE | Rodzaje informacji kontaktowych. Predefiniowana nazwa danych \u003d" " Kontakt e-mail"" "; ElementNo DataData \u003d Request. Execute (). Empty ();

Jeśli nadal jest to błąd w danych bazy danych, musisz powiązać z predefiniowanym elementem elementu IB. Te. należy wyjaśnić systemowi, do którego elementu IB powinien odwoływać się kod programu pod tą nazwą. Technicznie powiązanie jest po prostu wskazaniem nazwy predefiniowanego elementu w polu „Predefiniowana nazwa danych"elementu IB. Aby go zainstalować, po prostu uruchom kod:

2. „Predefiniowany przedmiot nie jest unikalny” - spredefiniowane predefiniowane elementy:

Ta sytuacja polega na tym, że kilka elementów IB jest powiązanych z jednym predefiniowanym elementem. W takim przypadku podczas uzyskiwania dostępu do wstępnie zdefiniowanej nazwy element zostanie losowo wybrany. Ta sytuacja jest zawsze zła. Jego złożoność polega na tym, że platforma w ogóle o tym nie informuje. Algorytmy po prostu zaczynają działać niepoprawnie.

Platforma zgłosi błąd „Predefiniowany element nie jest unikalny” tylko podczas próby edycji duplikatu elementu.

Dopóki nikt nie będzie musiał edytować elementu, nikt nie będzie wiedział o błędzie.

Takie duplikaty można utworzyć, na przykład, jeśli RIB jest używany jako odniesienie, a tryb „Automatycznie aktualizuj” jest określony we właściwościach predefiniowanych danych. W takim przypadku podczas wymiany zostanie utworzone jedno wystąpienie predefiniowanych danych podczas aktualizacji konfiguracji. Druga instancja predefiniowanych elementów o tej samej nazwie zostanie przeniesiona z centralnej bazy danych podczas wymiany.

Te duplikaty pojawią się również przy stosowaniu wymiany między konfiguracjami, jeżeli różne elementy bezpieczeństwa informacji odpowiadają predefiniowanym elementom w różnych bazach danych. W takim przypadku jedno wystąpienie predefiniowanych danych znajduje się już w bazie danych, drugie wystąpi podczas ładowania danych za pomocą innego identyfikatora UID. Jeśli wykonujesz transfer danych, musisz zdecydować, które elementy bazy są uważane za główne i użyć ich w podrzędnej bazie danych. W bazie podrzędnej konieczne jest zastąpienie użycia starych elementów elementami bazy głównej.

Takie błędy w bazie danych można wykryć za pomocą zapytania formularza:

WYBIERZ Rodzaje informacji kontaktowych. Nazwa predefiniowanych danych, NUMER (RÓŻNE rodzaje informacji kontaktowych. Link) AS Liczba predefiniowanych z katalogu. Rodzaje informacji kontaktowych JAK KODOWAĆ Rodzaje informacji kontaktowych IDENTYFIKACJA INFORMACJI IDENTYFIKACJA (1)

To zapytanie zwróci listę predefiniowanych elementów, z którymi powiązany jest więcej niż jeden element IB.

Jeśli istnieją takie elementy, konieczne jest usunięcie połączenia z predefiniowanym dla jednego z nich. Te. konieczne jest jednoznaczne określenie dla systemu elementu IB, do którego kod programu powinien uzyskać dostęp podczas używania tej nazwy.Aby to zrobić, po prostu uruchom kod.

3. Niepoprawne wskazanie predefiniowanego elementu.

Błąd polega na tym, że predefiniowany element nie odpowiada elementowi zapewnianemu przez logikę programu. Takie błędy są najtrudniejsze do zdiagnozowania. W przeciwieństwie do dwóch pierwszych typów konfiguracji nie można automatycznie sprawdzić pod kątem tych błędów. Można je zidentyfikować tylko poprzez analizę logiki pracy. W razie wątpliwości możesz sprawdzić, czy używany element jest używany.

Aby to zrobić, wystarczy wykonać jedno z poleceń.

   // Definicja elementu bezpieczeństwa informacji, który jest dołączony do pożądanego predefiniowanego raportu (katalogi. Rodzaje informacji kontaktowych. E-mail osoby kontaktowej) // Zdefiniuj predefiniowany element, z którym połączony jest wybrany raport (Link do elementu. Nazwa predefiniowanych danych)

W przypadku wykrycia takich błędów należy usunąć nieprawidłowe połączenie ze starym elementem i dodać połączenie z nowym elementem. Kod operacji jest podobny do kodu korekcji dla pierwszych dwóch rodzajów błędów.

Cóż, krótko o błędach z program pracy  lub w trybie konfiguratora:

„Predefiniowany element nie należy<Имя справочника>"   - występuje błąd podczas próby napisania predefiniowanego elementu o nazwie, która nie pasuje do nazwy w konfiguratorze.

„Niezdefiniowane obiekty nie mogą mieć predefiniowanych wpisów widoku subkonta” - błąd pojawia się, gdy próbujesz uczynić element predefiniowanego planu kont niezdefiniowanym. Aby wyeliminować błędy, konieczne jest usunięcie znaku „Predefiniowane” dla każdej linii podwykonawstwa elementu.

„Niezdefiniowane obiekty nie mogą mieć predefiniowanych rekordów wiodących typów obliczeń”- występuje błąd podczas próby zdefiniowania predefiniowanego elementu planu typów obliczeń. Aby wyeliminować błędy, konieczne jest usunięcie atrybutu „Predefiniowane” w każdym wierszu wiodącego rodzaju obliczeń elementu.

„Predefiniowane elementy nie są unikalne”  - błąd pojawia się w konfiguratorze podczas aktualizacji baza informacyjna  zwolnić konfigurację bez trybu zgodności z 8.3.4. Konieczne jest sprawdzenie duplikatów przed aktualizacją i ich wyeliminowanie.

„Nazwa predefiniowanego elementu nie jest unikalna”. - błąd występuje, gdy w konfiguracji podczas aktualizacji do platformy występuje kilka predefiniowanych elementów o tej samej nazwie8.3.6.2332 i wyżej. Konieczne jest wyeliminowanie duplikatów w konfiguracji.

Do pracy z predefiniowanymi danymi zalecam przetwarzanie. Może wykonywać dowolne działania z predefiniowanymi danymi, a także może sprawdzić konfigurację jako całość pod kątem błędów dwóch pierwszych typów (elementy podwojone i brakujące) we wszystkich obiektach bezpieczeństwa informacji (książkach referencyjnych, planach kont, PCW, TAC).

DZWONEK

Są tacy, którzy czytają te wiadomości przed tobą.
Subskrybuj, aby otrzymywać świeże artykuły.
E-mail
Imię
Nazwisko
Jak chcesz przeczytać Dzwon
Bez spamu