StavAnalit. Informacje kontaktowe. Układy SKD 1S Tabele zasobów projektowych SKD

💖 Podoba Ci się? Udostępnij link swoim znajomym

Stwórzmy raport zewnętrzny, który będzie wyświetlał informacje raportowe o saldach pozycji i jej obrocie. Żądanie wymaganych informacji następuje poprzez zbiór danych typu „Zapytanie”, który zawiera treść żądania:
WYBIERAĆ
_DemoNomenclature.Link JAK Nazewnictwo
MIEJSCE Aktualna nomenklatura
Z
Katalog._DemoNomenklatura JAK _DemoNomenklatura
GDZIE
NOT _DemoNomenklatura.Znak usunięcia
ORAZ NIE _DemoNomenklatura. To jest grupa
;

////////////////////////////////////////////////////////////////////////////////
WYBIERAĆ
Obecna nomenklatura. Nomenklatura,
_DemoRemaining GoodsIn Storage PlacesRemainingsAndTurnover.Miejsce przechowywania,
_DemoRemaining GoodsIn Storage LocationsRemainingsAndTurnover.QuantityInitialRemaining,
_DemoRemaining GoodsIn Storage LocationsRemainingsAndTurnover.QuantityFinalRemaining,
_DemoRemaining GoodsIn Storage LocationsRemainingsAndTurnover.QuantityIncoming,
_DemoRemaining GoodsIn Storage PlacesRemainingsAndTurnover.QuantityConsumption,
_DemoRemaining GoodsIn Storage LocationsRemainingsAndTurnover.QuantityTurnover
Z
Bieżąca nomenklatura AS bieżąca nomenklatura
LEWE POŁĄCZENIE RegisterAccumulations._DemoRemaining GoodsInStorageLocations.RemainingsAndTurnover AS _DemoRemainingGoodsInStorageLocationsRemainingAndTurnover
Oprogramowanie CurrentNomenclature.Nomenclature = _DemoRemaining GoodsIn Storage LocationsRemainingsAndTurnover.Nomenclature

W rezultacie raport zawiera następujące pola (patrz rysunek 1):

Ponieważ informacje pobierane są z wirtualnej tabeli „Salda i obroty”, ACS automatycznie tworzy dwa parametry danych Początek okresu i Koniec okresu, które są niezbędne do ustalenia granic okresu próbkowania danych. Wolę nie pracować bezpośrednio z takimi parametrami, ale ustawić ich wartości za pomocą innego parametru, który będzie dostępny dla użytkownika do edycji (patrz rysunek 2).
Raport radzi sobie ze swoim zadaniem, jednak nagłówek raportu jest raczej suchy. Podczas mojej pracy znalazłem kilka sposobów zaprojektowania nagłówka raportu:

  1. Konfigurowanie nagłówków pól w zakładce „Zestawy danych” ACS;
  2. Konfigurowanie nagłówków pól w zakładce „Ustawienia” ACS;
  3. Programowe ustawienie nagłówków pól;
  4. Ustawianie nagłówka raportu za pomocą układu;
  5. Finalizacja wyniku (dokument tabelaryczny);
Przyjrzyjmy się im szczegółowo.

1. Konfigurowanie nagłówków w zakładce „Zestawy danych” ACS

Tutaj wszystko jest proste, zaznacz pole obok właściwości pola „Tytuł” ​​(czyli anuluj automatyczny tytuł) i wprowadź żądany tekst tytułu (patrz rysunek 4).
Jeśli chcesz ustawić projekt całego pola, a nie tylko jego tytułu, dostępna jest właściwość pola „Projekt”, za pomocą której możesz ustawić projekt pola, na przykład zmienić czcionkę lub ustawić tło kolor (patrz rysunek 5).
Na tym kończy się moja wiedza na temat zakładki „Zbiory danych”.

2. Ustawianie nagłówków pól w zakładce „Ustawienia” ACS

Aby ustawić tytuł pola, należy wybrać żądane pole, kliknąć prawym przyciskiem myszy, aby otworzyć menu kontekstowe i wybrać „Ustaw tytuł” ​​(patrz rysunek 6)
Aby pogrupować pola (np. według rodzaju informacji) należy dodać pole grupujące i umieścić w nim wymagane pola (patrz rysunek 7), zagnieżdżanie jest nieograniczone.
Można także pobawić się właściwością pola grupującego „Lokalizacja”, która określa rodzaj grupowania pól.

Akcje te można również wykonać w trybie 1C:Enterprise, otwierając ustawienia raportu, ALE pozycja „Wybrane pola” musi być uwzględniona w ustawieniach raportu (patrz rysunek 8).
Na tym kończy się łatwa część konfigurowania nagłówka raportu. Jedna z zalet powyższych działań: cała konfiguracja odbywa się przy użyciu standardowych narzędzi. Z minusów: brak możliwości ustawienia wielowierszowego tytułu pola.

3. Programowe ustawianie nagłówków pól

Platforma pozwala na programowe ustawianie nagłówków pól, ponadto ustawianie wieloliniowych, co z kolei pozwala elastycznie i dynamicznie ustawiać nagłówki pól podczas generowania raportu.

W tym celu zdefiniujemy procedurę w module raportowym Podczas ustalania wyniku. W tej procedurze napiszemy kod ustawiający nagłówki pól.

// 1. Pobierz ustawienia użytkownika.
UstawieniaKD = ThisObject.SettingsLitter.GetSettings();

// 2. Otrzymujemy wartość parametru „Okres”, z którego określamy datę początkową i końcową okresu.
ParametrPeriod = NewDataCompositionParameter("Okres");
Okres = SettingsCD.DataParameters.FindParameterValue(PeriodParameter).Value;
StartPeriod = Okres.StartDate;
EndPeriod = Okres.DataKońcowa;

// 3. Przygotuj informację o przedefiniowaniu nagłówków pól. Aby to zrobić, utwórzmy
// tablica, która będzie zawierać informacje: FieldName – wartości właściwości „Path” w
// zbiór danych (patrz rysunek 1), Tytuł - tekst tytułu.
FieldList = Nowa tablica;
pagePeriodStart = Format(PeriodStart, "DF=dd.MM.rrrr; DP="Pusta data"");
FieldInitialRemaining = New Structure("Nazwa pola, nagłówek", "QuantityInitialRemaining", "Pozostałe w " + Symbols.PS + pageBeginningPeriod);
Lista pól.Add(FieldInitialRemaining);
strEndPeriod = Format(EndPeriod, "DF=dd.MM.rrrr; DP="Pusta data"");
FieldFinalRemaining = New Structure("Nazwa pola, nagłówek", "QuantityFinalRemaining", "Pozostałe w " + Symbols.PS + strEndPeriod);
FieldList.Add(FieldFinalRemaining);

// 4. Uzyskaj listę pól znajdujących się w grupie „Pozostałe” (patrz rysunek 7) i
// ustaw nowy tytuł, przechodząc przez elementy w pętli.
SelectedFields = UstawieniaCD.Selection.Items; // Pierwszy poziom pól.
SelectedFieldsRemains = SelectedFields.Items; // Pozostaje grupować pola.
Dla każdego SelectedField z pozostałego cyklu SelectedFields
Dla każdego elementu tablicy z cyklu listy pól
LayoutField = NewDataCompositionField(ArrayItem.FieldName);
Jeśli SelectedField.Field = LayoutField Następnie
SelectedField.Header = ArrayElement.Header;
koniecJeśli;
Koniec cyklu;
Koniec cyklu;

// 5. Załaduj ponownie zmienione ustawienia użytkownika.
ThisObject.SettingsLinker.LoadSettings(CDSettings);

Wynik raportu (patrz rysunek 10):
Metoda jest trudniejsza niż wszystkie powyższe, ale podoba mi się.

4. Ustawianie nagłówka raportu za pomocą układu

Aby zapewnić bardziej elastyczną personalizację wyglądu raportu, ACS umożliwia tworzenie układów. W ustawieniach raportu utworzymy kolejne grupowanie „rekordy szczegółowe” i nadamy dla tego grupowania nazwę „Linia DZ” (patrz rysunek 11).
Na karcie Układy dodaj układ nagłówka grupowania. Dla układu w dokumencie arkusza kalkulacyjnego utworzymy nagłówek raportu (nagłówek raportu powinien zawierać tyle nagłówków pól, ile pól wyświetla szczegółowy rekord) i wskażemy obszar dokumentu arkusza kalkulacyjnego dla układu (patrz rysunek 12).
W rezultacie raport ma następujący nagłówek (patrz rysunek 13):

Rysunek 13. Układ ACS jako nagłówek raportu
Moim zdaniem układy mają jedną dużą wadę: brak możliwości dostosowania się do danej grupy użytkowników, dlatego warto je stosować, jeśli forma raportowania jest uregulowana i nie można jej zmienić. Spróbuj ustawić grupowanie dla grupowania „LineDZ”, a zobaczysz, że układ jest pomieszany.

Na stronie wsparcia informatycznego znajduje się artykuł Korzystanie z predefiniowanych układów, który szczegółowo opisuje techniki stosowania układów w systemach kontroli dostępu.

5. Finalizacja wyniku (dokument tabelaryczny)

Ta metoda wykorzystuje wspaniałą metodę dokumentu w arkuszu kalkulacyjnym Znajdź tekst(), ale aby skorzystać z tej metody, należy wyłączyć standardowe przetwarzanie w celu wygenerowania wyniku raportu.

Zacznijmy. Wyłączamy generowanie standardowe, w tym celu w module raportu z wydarzenia Podczas ustalania wyniku Ustawmy zmienną StandardProcessing na False i napiszmy własny układ wyniku:
StandardProcessing = Fałsz;
LayoutLinker = newDataLayoutLayoutLinker;
LayoutLayout = LayoutLocker.Execute(
ThisObject.DataCompositionSchema,
ThisObject.SettingsLinker.Settings,
Odszyfrowanie danych);
CompositionProcessor = newDataCompositionProcessor;
LayoutProcessor.Initialize(LayoutLayout, DecryptionData, True);
OutputProcessor = Nowy OutputProcessorDataCompositionResultInTabularDocument;
OutputProcessor.SetDocument(DocumentResult);
OutputProcessor.Output(CompositionProcessor);
Układ oprogramowania wyniku raportu opisano bardziej szczegółowo w artykule SKD. Skład oprogramowania wyniku.

Skompilowany wynik jest wyprowadzany do dokumentu arkusza kalkulacyjnego - jest to zmienna DocumentResult. Następnie, po wygenerowaniu wyniku i zapisaniu go w dokumencie arkusza kalkulacyjnego, piszemy kod zastępujący tekst jednej komórki innym. Przykładowo zmieńmy nazwę grupy „Pozostałe” na „Pozostałe pozycje” w nagłówku raportu (patrz rysunek 14):
Komórka = DocumentResult.FindText("Pozostałości");
Jeśli Komórka<>Nieokreślony następnie
Cell.Text = "Pozostałe elementy";
koniecJeśli;

Możesz także ustawić formatowanie znalezionej komórki; zobacz właściwości komórki dokumentu arkusza kalkulacyjnego w asystencie składni.

Niedawno odkryłem tę metodę, jest prosta i pozwala bardzo elastycznie pracować z nagłówkiem raportu, najważniejsze jest to, że tekst komórki ma unikalny tekst.

P.S. Może masz inny sposób projektowania nagłówków pól?

W tym artykule omówimy pokrótce wszystkie zakładki projektanta schematu kompozycji danych.

Zbiory danych

Na tej zakładce możesz utworzyć nieograniczoną liczbę zestawów danych. Zbiór danych jest źródłem danych.

Istnieje kilka typów zbiorów danych:

  • Wniosek;
  • Obiekt;
  • Stowarzyszenie.

Żądanie jest zwykłym żądaniem 1C, tylko język żądania jest nieco rozszerzony. Dla wygody możesz użyć konstruktora zapytań.

Obiekt to zewnętrzny zbiór danych, taki jak tabela wartości.

Unia – łączenie kilku zbiorów danych typów zapytań i obiektów.

W tym artykule omówimy pokrótce wszystkie zakładki projektanta schematu kompozycji danych. Zestawy danych Na tej zakładce możesz utworzyć nieograniczoną liczbę zestawów danych. Zbiór danych jest źródłem danych. Istnieje kilka typów zbiorów danych: Zapytanie; Obiekt; Stowarzyszenie. Żądanie jest zwykłym żądaniem 1C, tylko język żądania jest nieco rozszerzony. Dla wygody możesz użyć konstruktora zapytań. Obiekt to zewnętrzny zbiór danych, taki jak tabela wartości. Unia – łączenie kilku zbiorów danych typów zapytań i obiektów. Relacje między zbiorami danych Ta karta opisuje relacje między zbiorami danych. Tutaj możesz określić, które zbiory danych mają zostać połączone, według jakich pól i z jakimi parametrami. Najważniejsza rzecz do zapamiętania: w schemacie kompozycji danych podczas łączenia zbiorów zawsze używane jest złączenie lewe! Pola obliczone Na tej zakładce możesz utworzyć dodatkowe pola, które nie są opisane na zakładce Zbiory Danych. Jako wyrażenia do obliczeń można wykorzystać język wyrażeń kompozycji danych, pola z głównych zbiorów danych, a także funkcje nieglobalnych wspólnych modułów. Zasoby Zasoby to dane podsumowujące dla grup. Na zakładce możesz przypisać pola ze zbiorów danych, a także pola obliczeniowe jako zasób. Ponadto w przypadku zasobów wskazane jest wyrażenie, według którego są one obliczane, a także możliwe jest wskazanie grupowania, według którego zostanie obliczone wyrażenie dla zasobów. Na podstawie wartości zasobów obliczane są również sumy raportów. Parametry Parametry danych są zwykle używane w zapytaniu zbioru danych. Wszystkie parametry opisane w żądaniu pojawiają się na zakładce Opcje. Na tej karcie możesz określić tytuł, dostępne typy, dostępne wartości i kilka innych rzeczy. Więcej szczegółów na temat parametrów nieco później. Układy Domyślnie układ wygenerowanego raportu jest generowany automatycznie przez system kompozycji danych. Ale system pozwala także programiście zaprojektować poszczególne obszary raportu (pola, grupy, zasoby...). Wszystkie indywidualne układy obszarów utworzone na tej zakładce są powiązane wyłącznie z bieżącym raportem. Schematy zagnieżdżone Schematy zagnieżdżone stosuje się w przypadkach, gdy dane z jednego raportu muszą zostać wykorzystane w innym. Innymi słowy, „osadzamy” jeden schemat układu danych w innym, wskazując połączenie na wspólnym polu. Przykład wykorzystania schematów zagnieżdżonych znajdziesz w tym artykule. Ustawienia Na tej karcie programista tworzy standardowe ustawienia generowania raportów. Struktura hierarchiczna jest określona w górnej części okna. Struktura generowania raportu może składać się z następujących elementów: Grupowanie; Tabela; Diagram; Diagram zagnieżdżony W dolnej części okna określane są ustawienia dla całego raportu oraz poszczególnych elementów struktury raportu. W skrócie w zakładkach ustawień: Wybrane pola – lista pól wyświetlanych w raporcie; Selekcja – wszystkie możliwe selekcje rekordów raportu; Kolejność – sortowanie rekordów w raporcie; Parametry danych – wartość parametrów raportu; Pola niestandardowe – dodatkowe pola raportu utworzone przez użytkownika; Formatowanie warunkowe – ustawia formatowanie warunkowe rekordów raportu; Inne ustawienia – wszelkiego rodzaju dodatkowe ustawienia, takie jak: tytuł raportu, układ projektu, układ pól itp....

Stwórzmy raport zewnętrzny, który będzie wyświetlał informacje raportowe o saldach pozycji i jej obrocie. Żądanie wymaganych informacji następuje poprzez zbiór danych typu „Zapytanie”, który zawiera treść żądania:
WYBIERAĆ
_DemoNomenclature.Link JAK Nazewnictwo
MIEJSCE Aktualna nomenklatura
Z
Katalog._DemoNomenklatura JAK _DemoNomenklatura
GDZIE
NOT _DemoNomenklatura.Znak usunięcia
ORAZ NIE _DemoNomenklatura. To jest grupa
;

////////////////////////////////////////////////////////////////////////////////
WYBIERAĆ
Obecna nomenklatura. Nomenklatura,
_DemoRemaining GoodsIn Storage PlacesRemainingsAndTurnover.Miejsce przechowywania,
_DemoRemaining GoodsIn Storage LocationsRemainingsAndTurnover.QuantityInitialRemaining,
_DemoRemaining GoodsIn Storage LocationsRemainingsAndTurnover.QuantityFinalRemaining,
_DemoRemaining GoodsIn Storage LocationsRemainingsAndTurnover.QuantityIncoming,
_DemoRemaining GoodsIn Storage PlacesRemainingsAndTurnover.QuantityConsumption,
_DemoRemaining GoodsIn Storage LocationsRemainingsAndTurnover.QuantityTurnover
Z
Bieżąca nomenklatura AS bieżąca nomenklatura
LEWE POŁĄCZENIE RegisterAccumulations._DemoRemaining GoodsInStorageLocations.RemainingsAndTurnover AS _DemoRemainingGoodsInStorageLocationsRemainingAndTurnover
Oprogramowanie CurrentNomenclature.Nomenclature = _DemoRemaining GoodsIn Storage LocationsRemainingsAndTurnover.Nomenclature

W rezultacie raport zawiera następujące pola (patrz rysunek 1):

Ponieważ informacje pobierane są z wirtualnej tabeli „Salda i obroty”, ACS automatycznie tworzy dwa parametry danych Początek okresu i Koniec okresu, które są niezbędne do ustalenia granic okresu próbkowania danych. Wolę nie pracować bezpośrednio z takimi parametrami, ale ustawić ich wartości za pomocą innego parametru, który będzie dostępny dla użytkownika do edycji (patrz rysunek 2).
Raport radzi sobie ze swoim zadaniem, jednak nagłówek raportu jest raczej suchy. Podczas mojej pracy znalazłem kilka sposobów zaprojektowania nagłówka raportu:

  1. Konfigurowanie nagłówków pól w zakładce „Zestawy danych” ACS;
  2. Konfigurowanie nagłówków pól w zakładce „Ustawienia” ACS;
  3. Programowe ustawienie nagłówków pól;
  4. Ustawianie nagłówka raportu za pomocą układu;
  5. Finalizacja wyniku (dokument tabelaryczny);
Przyjrzyjmy się im szczegółowo.

1. Konfigurowanie nagłówków w zakładce „Zestawy danych” ACS

Tutaj wszystko jest proste, zaznacz pole obok właściwości pola „Tytuł” ​​(czyli anuluj automatyczny tytuł) i wprowadź żądany tekst tytułu (patrz rysunek 4).
Jeśli chcesz ustawić projekt całego pola, a nie tylko jego tytułu, dostępna jest właściwość pola „Projekt”, za pomocą której możesz ustawić projekt pola, na przykład zmienić czcionkę lub ustawić tło kolor (patrz rysunek 5).
Na tym kończy się moja wiedza na temat zakładki „Zbiory danych”.

2. Ustawianie nagłówków pól w zakładce „Ustawienia” ACS

Aby ustawić tytuł pola, należy wybrać żądane pole, kliknąć prawym przyciskiem myszy, aby otworzyć menu kontekstowe i wybrać „Ustaw tytuł” ​​(patrz rysunek 6)
Aby pogrupować pola (np. według rodzaju informacji) należy dodać pole grupujące i umieścić w nim wymagane pola (patrz rysunek 7), zagnieżdżanie jest nieograniczone.
Można także pobawić się właściwością pola grupującego „Lokalizacja”, która określa rodzaj grupowania pól.

Akcje te można również wykonać w trybie 1C:Enterprise, otwierając ustawienia raportu, ALE pozycja „Wybrane pola” musi być uwzględniona w ustawieniach raportu (patrz rysunek 8).
Na tym kończy się łatwa część konfigurowania nagłówka raportu. Jedna z zalet powyższych działań: cała konfiguracja odbywa się przy użyciu standardowych narzędzi. Z minusów: brak możliwości ustawienia wielowierszowego tytułu pola.

3. Programowe ustawianie nagłówków pól

Platforma pozwala na programowe ustawianie nagłówków pól, ponadto ustawianie wieloliniowych, co z kolei pozwala elastycznie i dynamicznie ustawiać nagłówki pól podczas generowania raportu.

W tym celu zdefiniujemy procedurę w module raportowym Podczas ustalania wyniku. W tej procedurze napiszemy kod ustawiający nagłówki pól.

// 1. Pobierz ustawienia użytkownika.
UstawieniaKD = ThisObject.SettingsLitter.GetSettings();

// 2. Otrzymujemy wartość parametru „Okres”, z którego określamy datę początkową i końcową okresu.
ParametrPeriod = NewDataCompositionParameter("Okres");
Okres = SettingsCD.DataParameters.FindParameterValue(PeriodParameter).Value;
StartPeriod = Okres.StartDate;
EndPeriod = Okres.DataKońcowa;

// 3. Przygotuj informację o przedefiniowaniu nagłówków pól. Aby to zrobić, utwórzmy
// tablica, która będzie zawierać informacje: FieldName – wartości właściwości „Path” w
// zbiór danych (patrz rysunek 1), Tytuł - tekst tytułu.
FieldList = Nowa tablica;
pagePeriodStart = Format(PeriodStart, "DF=dd.MM.rrrr; DP="Pusta data"");
FieldInitialRemaining = New Structure("Nazwa pola, nagłówek", "QuantityInitialRemaining", "Pozostałe w " + Symbols.PS + pageBeginningPeriod);
Lista pól.Add(FieldInitialRemaining);
strEndPeriod = Format(EndPeriod, "DF=dd.MM.rrrr; DP="Pusta data"");
FieldFinalRemaining = New Structure("Nazwa pola, nagłówek", "QuantityFinalRemaining", "Pozostałe w " + Symbols.PS + strEndPeriod);
FieldList.Add(FieldFinalRemaining);

// 4. Uzyskaj listę pól znajdujących się w grupie „Pozostałe” (patrz rysunek 7) i
// ustaw nowy tytuł, przechodząc przez elementy w pętli.
SelectedFields = UstawieniaCD.Selection.Items; // Pierwszy poziom pól.
SelectedFieldsRemains = SelectedFields.Items; // Pozostaje grupować pola.
Dla każdego SelectedField z pozostałego cyklu SelectedFields
Dla każdego elementu tablicy z cyklu listy pól
LayoutField = NewDataCompositionField(ArrayItem.FieldName);
Jeśli SelectedField.Field = LayoutField Następnie
SelectedField.Header = ArrayElement.Header;
koniecJeśli;
Koniec cyklu;
Koniec cyklu;

// 5. Załaduj ponownie zmienione ustawienia użytkownika.
ThisObject.SettingsLinker.LoadSettings(CDSettings);

Wynik raportu (patrz rysunek 10):
Metoda jest trudniejsza niż wszystkie powyższe, ale podoba mi się.

4. Ustawianie nagłówka raportu za pomocą układu

Aby zapewnić bardziej elastyczną personalizację wyglądu raportu, ACS umożliwia tworzenie układów. W ustawieniach raportu utworzymy kolejne grupowanie „rekordy szczegółowe” i nadamy dla tego grupowania nazwę „Linia DZ” (patrz rysunek 11).
Na karcie Układy dodaj układ nagłówka grupowania. Dla układu w dokumencie arkusza kalkulacyjnego utworzymy nagłówek raportu (nagłówek raportu powinien zawierać tyle nagłówków pól, ile pól wyświetla szczegółowy rekord) i wskażemy obszar dokumentu arkusza kalkulacyjnego dla układu (patrz rysunek 12).
W rezultacie raport ma następujący nagłówek (patrz rysunek 13):

Rysunek 13. Układ ACS jako nagłówek raportu
Moim zdaniem układy mają jedną dużą wadę: brak możliwości dostosowania się do danej grupy użytkowników, dlatego warto je stosować, jeśli forma raportowania jest uregulowana i nie można jej zmienić. Spróbuj ustawić grupowanie dla grupowania „LineDZ”, a zobaczysz, że układ jest pomieszany.

Na stronie wsparcia informatycznego znajduje się artykuł Korzystanie z predefiniowanych układów, który szczegółowo opisuje techniki stosowania układów w systemach kontroli dostępu.

5. Finalizacja wyniku (dokument tabelaryczny)

Ta metoda wykorzystuje wspaniałą metodę dokumentu w arkuszu kalkulacyjnym Znajdź tekst(), ale aby skorzystać z tej metody, należy wyłączyć standardowe przetwarzanie w celu wygenerowania wyniku raportu.

Zacznijmy. Wyłączamy generowanie standardowe, w tym celu w module raportu z wydarzenia Podczas ustalania wyniku Ustawmy zmienną StandardProcessing na False i napiszmy własny układ wyniku:
StandardProcessing = Fałsz;
LayoutLinker = newDataLayoutLayoutLinker;
LayoutLayout = LayoutLocker.Execute(
ThisObject.DataCompositionSchema,
ThisObject.SettingsLinker.Settings,
Odszyfrowanie danych);
CompositionProcessor = newDataCompositionProcessor;
LayoutProcessor.Initialize(LayoutLayout, DecryptionData, True);
OutputProcessor = Nowy OutputProcessorDataCompositionResultInTabularDocument;
OutputProcessor.SetDocument(DocumentResult);
OutputProcessor.Output(CompositionProcessor);
Układ oprogramowania wyniku raportu opisano szerzej w artykule

Skompilowany wynik jest wyprowadzany do dokumentu arkusza kalkulacyjnego - jest to zmienna DocumentResult. Następnie, po wygenerowaniu wyniku i zapisaniu go w dokumencie arkusza kalkulacyjnego, piszemy kod zastępujący tekst jednej komórki innym. Przykładowo zmieńmy nazwę grupy „Pozostałe” na „Pozostałe pozycje” w nagłówku raportu (patrz rysunek 14):
Komórka = DocumentResult.FindText("Pozostałości");
Jeśli Komórka<>Nieokreślony następnie
Cell.Text = "Pozostałe elementy";
koniecJeśli;

Możesz także ustawić formatowanie znalezionej komórki; zobacz właściwości komórki dokumentu arkusza kalkulacyjnego w asystencie składni.

Niedawno odkryłem tę metodę, jest prosta i pozwala bardzo elastycznie pracować z nagłówkiem raportu, najważniejsze jest to, że tekst komórki ma unikalny tekst.

P.S. Może masz inny sposób projektowania nagłówków pól?

Dzisiaj przyjrzymy się rozwiązaniu interesującego problemu - wyświetlanie obrazów w raporcie.

Do czego może się to przydać?

Tutaj kilka przykładów:

  • Cennik ze zdjęciami produktów i logo w nagłówku
  • Profile pracowników ze zdjęciami
  • Uzgodnienie obliczeń z pieczątką i podpisem w piwnicy
  • Raporty/drukowane formularze ze zeskanowanym wydrukiem

W filmie również omawiamy tworzenie programu zgłosić do SKD. Stosowana jest ta metoda generowania raportów w standardowych konfiguracjach– to kolejny powód, żeby go uważnie oglądać :)

Predefiniowane układy w ACS

Korzystając z predefiniowanych układów, możesz zastąpić standardowy układ raportu.

Podczas tej lekcji oprócz ustalenia problemu rozważymy:

  • Przechowywanie danych binarnych w konfiguracji modelu
  • Możliwość wykorzystania układów ACS do wyświetlania obrazów

Programowe generowanie raportu z systemu kontroli dostępu

Aby rozwiązać problem wyświetlania obrazów w raporcie w systemie kontroli dostępu, konieczne jest ich programowe wygenerowanie.

Dostęp do danych binarnych możliwy jest podczas programowego generowania raportu.

Podczas tej lekcji zrobimy:

  • Wyprowadzanie wyniku układu do dokumentu arkusza kalkulacyjnego
  • Korzystanie z obiektu Deszyfrowanie danych
  • Pobieranie danych binarnych z bazy danych
  • Programowe tworzenie rysunków w dokumencie arkusza kalkulacyjnego

Wyświetlanie obrazu w raporcie ACS

W tej lekcji wykonujemy ostatnie kroki: wyświetlamy w raporcie uzyskane wcześniej dane binarne.

W tym celu do dokumentu arkusza kalkulacyjnego dodawany jest rysunek, po czym jest on wyświetlany w raporcie.

Wszechstronność algorytmu wyjściowego obrazu

Opracowany algorytm wyjściowy obrazu jest uniwersalny – algorytm kontynuuje pracę niezależnie od jakiejkolwiek zmiany w strukturze raportu.

Właściwie właśnie to udowodnimy w tej lekcji.

Dodatkowo rozważymy funkcję generowania raportów w tle w systemie kontroli dostępu (generowanie raportu przy użyciu rutynowych zadań).

Wyświetlanie obrazu w nagłówku raportu

Często konieczne jest wyświetlenie statycznego obrazu w nagłówku lub stopce raportu.

Wydawałoby się, że to proste zadanie, jednak w przypadku ACS trzeba wiedzieć jak je rozwiązać:

  • Krok 1. Programowo wygeneruj raport
  • Krok 2. Utwórz osobny układ z żądanym nagłówkiem lub stopką
  • Krok 3. Przed wypełnieniem raportu ACS wyświetl sekcję z niezbędnymi danymi.

Ten film wyraźnie pokazuje rozwiązanie problemu.

Miłego oglądania! :)

Od kilku dni publikujemy materiały na portalu ACS.

Co jeśli programista/wdrożeniowiec 1C nie zna systemu kontroli dostępu? Może to naprawdę nie jest takie ważne?

OK, przyjrzyjmy się, co czeka specjalistę piszącego raporty „na kolanie” (np. ręcznie wyprowadzając je do dokumentu arkusza kalkulacyjnego).

Nie strzelaj do pianisty, gra najlepiej jak potrafi.

Raporty są praktycznie we wszystkich standardowych konfiguracjach na bazie SKD.

Dla specjalisty bez wiedzy CDS finalizowanie standardowych raportów staje się loterią – dlaczego i jak ta czy inna liczba jest wyświetlana w raporcie, jak dodać nowe źródła, gdzie edytować wyliczone wielkości w kodzie…

SKD – standard raportowania w standardowych konfiguracjach, a 1C nie pisze komentarzy na podstawie tych, którzy jeszcze nie przestudiowali standardów :)

Cholerny czas...

Bez systemu kontroli dostępu opracowywanie raportów odbywa się w dużej mierze ręcznie.

Oczywiście fajnie jest wyjść jak Rambaud ze śrubokrętem w zębach i zrobić to wszystkim :)

W rezultacie - duże koszty pracy związane z opracowywaniem raportów i debugowaniem. A to przynajmniej zaalarmuje każdego menedżera/klienta: „dziwne, ale czy on naprawdę to rozumie?”

A jeśli chodzi o późniejszą rewizję raportu, często przyprawia to o ból głowy (zwłaszcza jeśli jest to raport kogoś innego)…

Wyjazdy rozwojowe do klientów w celu zmiany grupowania w raporcie

SKD umożliwia odbiór raporty jakościowe bez programowania. Szkielet jest w trakcie robienia przez kilka minut, następnie – łuki.

Użytkownicy mogą dostosowywać takie raporty bez angażowania programisty, wygeneruj kilka opcji prezentacji - wykresy, wykresy, listy, tabele.

Aby osiągnąć taką wszechstronność w raportach budowanych programowo, niemożliwe w rozsądnym terminie.

Dlatego - zadzwoń, tramwaj, jedziemy... To taki rozwój zawodowy jak na pseudonim 1C...

„Nie masz takiej samej, tylko z guzikami z masy perłowej? „Niestety nie…” (c)

A co, jeśli trzeba uzyskać niektóre dane z innego systemu - z innej bazy danych 1C lub w ogóle nie z 1C?

Korzystając z systemu kontroli dostępu, możesz stworzyć raport, który współpracuje z aktualnymi danymi dotyczącymi bezpieczeństwa informacji i pobiera dane z innego źródła - nie wymaga programowania.

Bez systemów kontroli dostępu dane zewnętrzne będą pozyskiwane programowo i nie w najbardziej trywialny sposób.

Jeśli chcesz profesjonalnie opanuj ACS i codziennie zastosuj w swojej pracy, zapisz się na kurs:

Wsparcie - 2 miesiące. Zakres kursu – 34 godziny dydaktyczne.

Nie zwlekaj ze studiami!

Artykuł ten będzie przydatny dla programistów, którzy już opracowali raporty nt system kompozycji danych, ale nie korzystał z wbudowanego mechanizmu układu.

Przy opracowywaniu raportów czasami konieczne jest użycie niestandardowego tytułu lub dodanie podpisów. W artykule omówiono dwie opcje:

  1. Wbudowany mechanizm określania układu bezpośrednio w systemie kontroli dostępu
  2. 2. Uzupełnienie wyniku SKD w kodzie przy użyciu regularnych układów.

Załóżmy, że mamy już raport dotyczący składu danych, który wygląda tak.

Musimy dodać tytuł i podpis, aby raport wyglądał następująco:

Opcja 1 . Możesz użyć mechanizmu tworzenia układu bezpośrednio w SKD.

Najpierw musimy dodać grupy i nadać im nazwy w drzewie grupowania. Dodajmy jedno grupowanie przed głównym grupowaniem raportów i nadajmy mu nazwę „ Czapka" Dodajmy na końcu drugie zgrupowanie i nadajmy mu nazwę „ Piwnica».

Następnie w zakładce Układy należy dodać dwa układy grupujące i ustawić dla nich obszary. Jeśli obszary są dość złożone (np. niektóre komórki są połączone w jedną), to można je ułożyć w regularny układ i przenieść tutaj za pomocą mechanizmu „kopiuj, wklej”. Tutaj możesz przekazać parametry.

Na karcie ustawień grup „Nagłówek” i „Stopka” należy wyłączyć „główny” układ projektu, wybierając „bez projektu”. Jeśli nie zostanie to zrobione, komórki naszych grup zostaną otoczone ramkami.

Również w przypadku naszych grupowania konieczne jest wyłączenie wybranych pól.

Notatka. Podobną wersję raportu można opracować wyłącznie za pomocą SKD. Taki raport sprawdzi się zarówno na zwykłej aplikacji, jak i na zarządzanej.

Opcja 2. Korzystanie z wyniku SKD i regularne układy (rozważane w przypadku zwykłego zastosowania)

Dodajmy do raportu zwykły układ.

Ustawmy w nim obszary „Nagłówek i Stopka”.

W module formularza dodamy kod dla przycisku „Generuj”, w którym najpierw wyświetlimy obszar „Nagłówek”, następnie wynik układu danych, a na końcu obszar „Stopka”.

Notatka. Aby raport działał w zarządzanych aplikacjach należy zmodyfikować procedurę dla przycisku „generuj”.

Powiedz przyjaciołom