StavAnalit. Podaci za kontakt. Izgledi SKD 1S Tablice resursa za dizajn SKD izgleda

💖 Sviđa li vam se? Podijelite vezu sa svojim prijateljima

Kreirajmo eksterno izvješće koje će prikazati informacije o izvješćivanju o stanju artikla i njegovom prometu. Traženi podaci traže se zahtjevom pomoću skupa podataka tipa "Zahtjev" koji sadrži tekst zahtjeva:
BIRAJTE
_DemoNomenklatura.Poveznica HOW Nomenklatura
MJESTO CurrentNomenclature
IZ
Imenik._DemoNomenclature KAKO _DemoNomenclature
GDJE
NIJE _DemoNomenklatura. Oznaka za brisanje
A NE _DemoNomenklatura. Ovo je grupa
;

////////////////////////////////////////////////////////////////////////////////
BIRAJTE
CurrentNomenclature.Nomenclature,
_Demo Ostaci robe na skladištima Ostaci i promet. Skladište,
_DemoRemaining GoodsIn Storage LocationsRemainingsAndTurnover.QuantityInitialRemaining,
_DemoRemaining GoodsIn Storage LocationsRemainingsAndTurnover.QuantityFinalRemaining,
_DemoRemaining GoodsIn Storage LocationsRemainingsAndTurnover.QuantityIncoming,
_DemoPreostala roba u skladišnim mjestimaPreostanakIpromet.KoličinaPotrošnja,
_DemoPreostala roba na lokacijama skladištaRemainingsAndTurnover.QuantityTurnover
IZ
CurrentNomenclature KAO CurrentNomenclature
LIJEVA VEZA RegisterAccumulations._DemoRemaining GoodsInStorageLocations.RemainingsAndTurnover AS _DemoRemainingGoodsInStorageLocationsRemainingAndTurnover
Software CurrentNomenclature.Nomenclature = _DemoRemaining GoodsIn Storage LocationsRemainingsAndTurnover.Nomenclature

Kao rezultat toga, izvješće sadrži sljedeća polja (vidi sliku 1):

Budući da se podaci preuzimaju iz virtualne tablice "Stanja i obrti", ACS automatski kreira dva parametra podataka, Početak razdoblja i Kraj razdoblja, koji su potrebni za postavljanje ograničenja razdoblja uzorkovanja podataka. Radije ne radim s takvim parametrima izravno, već postavljam njihove vrijednosti putem drugog parametra koji će biti dostupan korisniku za uređivanje (vidi sliku 2).
Izvješće se nosi sa svojom zadaćom, ali je zaglavlje izvješća prilično suhoparno. Tijekom svog rada pronašao sam nekoliko načina za dizajniranje zaglavlja izvješća:

  1. Postavljanje zaglavlja polja na ACS kartici "Skupovi podataka";
  2. Postavljanje zaglavlja polja na ACS kartici "Postavke";
  3. Programsko postavljanje zaglavlja polja;
  4. Postavljanje zaglavlja izvješća korištenjem izgleda;
  5. Finalizacija rezultata (tabelarni dokument);
Pogledajmo ih detaljno.

1. Postavljanje zaglavlja na kartici ACS "Skupovi podataka".

Ovdje je sve jednostavno, potvrdite okvir pored svojstva polja "Naslov" (tj. poništite automatski naslov) i unesite traženi tekst naslova (vidi sliku 4).
Ako trebate postaviti dizajn za cijelo polje, a ne samo za njegov naslov, tada postoji svojstvo polja "Dizajn", pomoću kojeg možete postaviti neki dizajn za polje, na primjer, promijeniti font ili postaviti pozadinu boja (vidi sliku 5).
Ovdje moje znanje o kartici "Skupovi podataka" završava.

2. Postavljanje zaglavlja polja na ACS kartici "Postavke".

Za postavljanje naslova polja potrebno je odabrati željeno polje, desnom tipkom miša otvoriti kontekstni izbornik i odabrati “Postavi naslov” (vidi sliku 6)
Da biste grupirali polja (na primjer, prema vrsti informacija), morate dodati polje za grupiranje i u njega smjestiti potrebna polja (vidi sliku 7), gniježđenje je neograničeno.
Također se možete igrati sa svojstvom polja za grupiranje "Lokacija", koje određuje vrstu grupiranja polja.

Ove se radnje također mogu izvršiti u načinu rada 1C:Enterprise otvaranjem postavki izvješća, ALI stavka "Odabrana polja" mora biti uključena u postavke izvješća (vidi sliku 8).
Ovo dovršava jednostavan dio postavljanja zaglavlja izvješća. Jedna od prednosti gore navedenih radnji: sva se podešavanja izvode pomoću standardnih alata. Nedostaci: nedostatak mogućnosti postavljanja višerednog naslova polja.

3. Programsko postavljanje zaglavlja polja

Platforma omogućuje programsko postavljanje zaglavlja polja, štoviše, postavljanje višelinijskih, što pak omogućuje fleksibilno i dinamičko postavljanje zaglavlja polja prilikom generiranja izvješća.

Da bismo to učinili, definirat ćemo proceduru u modulu izvješća Prilikom izlaganja rezultata. U ovoj proceduri ćemo napisati kod za postavljanje zaglavlja polja.

// 1. Dobivanje korisničkih postavki.
SettingsKD = ThisObject.SettingsLitter.GetSettings();

// 2. Dobivamo vrijednost parametra "Period" iz kojeg određujemo datum početka i završetka razdoblja.
ParametarPeriod = NewDataCompositionParameter("Period");
Period = SettingsCD.DataParameters.FindParameterValue(PeriodParameter).Value;
StartPeriod = Period.StartDate;
EndPeriod = Period.EndDate;

// 3. Pripremite informacije o redefiniranju zaglavlja polja. Da bismo to učinili, stvarajmo
// niz koji će sadržavati informacije: FieldName - vrijednosti svojstva "Path" u
// skup podataka (vidi sliku 1), Naslov - tekst naslova.
FieldList = Novi niz;
pPeriodStart = Format(PeriodStart, "DF=dd.MM.yyyy; DP="Prazan datum"");
FieldInitialRemaining = Nova struktura("FieldName, Heading", "QuantityInitialRemaining", "Remaining on " + Symbols.PS + pageBeginningPeriod);
List ofFields.Add(FieldInitialRemaining);
strEndPeriod = Format(EndPeriod, "DF=dd.MM.yyyy; DP="Prazan datum"");
FieldFinalRemaining = Nova struktura("FieldName, Heading", "QuantityFinalRemaining", "Remaining on " + Symbols.PS + strEndPeriod);
FieldList.Add(FieldFinalRemaining);

// 4. Dohvatite popis polja koja su u grupi "Preostalo" (pogledajte sliku 7) i
// postavljanje novog naslova prelaženjem elemenata u petlji.
SelectedFields = SettingsCD.Selection.Items; // Prva razina polja.
SelectedFieldsRemains = SelectedFields.Items; // Ostaci grupiranja polja.
Za svako SelectedField From SelectedFields Remaining Cycle
Za svaki element niza iz ciklusa popisa polja
LayoutField = NewDataCompositionField(ArrayItem.FieldName);
If SelectedField.Field = LayoutField Then
SelectedField.Header = ArrayItem.Header;
završi ako;
EndCycle;
EndCycle;

// 5. Učitajte promijenjene korisničke postavke natrag.
ThisObject.SettingsLinker.LoadSettings(CDSettings);

Izvješće o rezultatu (vidi sliku 10):
Metoda je teža od svih navedenih, ali mi se sviđa.

4. Postavljanje zaglavlja izvješća korištenjem izgleda

Za fleksibilniju prilagodbu izgleda izvješća, ACS omogućuje izradu izgleda. U postavkama izvješća kreirat ćemo još jedno grupiranje „detaljni zapisi” i postaviti naziv „DZ linija” za ovo grupiranje (vidi sliku 11).
Na kartici Izgledi dodajte izgled zaglavlja grupiranja. Za izgled u dokumentu proračunske tablice izradit ćemo zaglavlje izvješća (zaglavlje izvješća treba sadržavati onoliko zaglavlja polja koliko polja prikazuje detaljni zapis) i naznačiti područje dokumenta proračunske tablice za izgled (pogledajte sliku 12).
Kao rezultat toga, izvješće ima sljedeće zaglavlje (vidi sliku 13):

Slika 13. ACS izgled kao zaglavlje izvješća
Po mom mišljenju, izgledi imaju jedan veliki nedostatak: nemogućnost prilagodbe zadanoj grupi korisnika, pa ih treba koristiti ako je obrazac za izvješćivanje reguliran i ne može se mijenjati. Pokušajte postaviti grupiranje za “LineDZ” grupiranje i vidjet ćete da je izgled zbunjen.

Web stranica za podršku informacijskoj tehnologiji sadrži članak Korištenje unaprijed definiranih izgleda, koji detaljno opisuje kako koristiti rasporede u sustavima kontrole pristupa.

5. Finalizacija rezultata (tabelarni dokument)

Ova metoda koristi prekrasnu metodu proračunskih tablica FindText(), ali da biste koristili ovu metodu, morate onemogućiti standardnu ​​obradu za generiranje rezultata izvješća.

Započnimo. Onemogućujemo standardno generiranje kako bismo to učinili u modulu izvješća za događaj Prilikom izlaganja rezultata Postavimo varijablu StandardProcessing na False i napišimo vlastiti izgled rezultata:
Standardna obrada = False;
LayoutLinker = newDataLayoutLayoutLinker;
LayoutLayout = LayoutLocker.Execute(
ThisObject.DataCompositionSchema,
ThisObject.SettingsLinker.Settings,
DešifriranjePodataka);
ComppositionProcessor = newDataCompositionProcessor;
LayoutProcessor.Initialize(LayoutLayout, DecryptionData, True);
IzlazniProcesor = Novi IzlazniProcesorDataCompositionResultInTabularDocument;
OutputProcessor.SetDocument(DocumentResult);
IzlazniProcesor.Izlaz(Procesor Sastavljanja);
Programski izgled rezultata izvješća detaljnije je opisan u članku SKD. Softverska kompozicija rezultata.

Prevedeni rezultat izlazi u dokument proračunske tablice - to je varijabla DocumentResult. Zatim, nakon generiranja rezultata i njegovog ispisivanja u dokument proračunske tablice, pišemo kod za zamjenu jednog teksta ćelije drugim. Na primjer, promijenimo naziv grupe "Preostali" u "Preostale stavke" u zaglavlju izvješća (pogledajte sliku 14):
Cell = DocumentResult.FindText("Remainings");
Ako Cell<>Nedefinirano Zatim
Cell.Text = "Preostale stavke";
završi ako;

Također možete postaviti oblikovanje za pronađenu ćeliju; pogledajte svojstva ćelije dokumenta proračunske tablice u pomoćniku za sintaksu.

Nedavno sam otkrio ovu metodu; jednostavna je i omogućuje vam vrlo fleksibilan rad sa zaglavljem izvješća, glavno je da tekst ćelije ima jedinstveni tekst.

p.s. Možda imate drugi način za dizajn zaglavlja polja?

U ovom ćemo članku ukratko proći kroz sve kartice dizajnera sheme sastava podataka.

Skupovi podataka

Na ovoj kartici možete kreirati neograničen broj skupova podataka. Skup podataka je izvor podataka.

Postoji nekoliko vrsta skupova podataka:

  • Zahtjev;
  • Objekt;
  • Udruga.

Zahtjev je uobičajeni 1C zahtjev, samo je jezik zahtjeva malo proširen. Radi praktičnosti, možete koristiti konstruktor upita.

Objekt je vanjski skup podataka, kao što je tablica vrijednosti.

Unija – kombiniranje nekoliko skupova podataka tipa upita i objekata.

U ovom ćemo članku ukratko proći kroz sve kartice dizajnera sheme sastava podataka. Skupovi podataka Na ovoj kartici možete kreirati neograničen broj skupova podataka. Skup podataka je izvor podataka. Postoji nekoliko vrsta skupova podataka: Upit; Objekt; Udruga. Zahtjev je uobičajeni 1C zahtjev, samo je jezik zahtjeva malo proširen. Radi praktičnosti, možete koristiti konstruktor upita. Objekt je vanjski skup podataka, kao što je tablica vrijednosti. Unija – kombiniranje nekoliko skupova podataka tipa upita i objekata. Odnosi skupova podataka Ova kartica opisuje odnose između skupova podataka. Ovdje možete odrediti koje skupove podataka želite povezati te po kojim poljima i s kojim parametrima. Najvažnija stvar koju treba zapamtiti: u shemi sastava podataka, kada se povezuju skupovi, uvijek se koristi lijevo spajanje! Izračunata polja Na ovoj kartici možete kreirati dodatna polja koja nisu opisana na kartici Skupovi podataka. Kao izraze za izračune možete koristiti jezik izraza za sastav podataka, polja iz glavnih skupova podataka, kao i funkcije neglobalnih zajedničkih modula. Resursi Resursi su zbirni podaci za grupiranje. Na kartici možete dodijeliti polja iz skupova podataka kao i izračunata polja kao resurs. Također, za resurse je naznačen izraz po kojem se izračunavaju, a moguće je naznačiti grupiranje po kojem će se izraz za resurse izračunati. Na temelju vrijednosti resursa izračunavaju se i ukupni iznosi izvješća. Parametri Parametri podataka obično se koriste u upitu skupa podataka. Svi parametri opisani u zahtjevu pojavljuju se na kartici Opcije. Na ovoj kartici možete odrediti naslov, dostupne vrste, dostupne vrijednosti i neke druge stvari. Više detalja o parametrima malo kasnije. Izgledi Prema zadanim postavkama, sustav za sastavljanje podataka automatski generira izgled generiranog izvješća. Ali sustav također omogućuje programeru da dizajnira pojedinačna područja izvješća (polja, grupiranja, resursi...). Svi pojedinačni izgledi područja stvoreni na ovoj kartici povezani su samo s trenutnim izvješćem. Ugniježđene sheme Ugniježđene sheme koriste se u slučajevima kada podatke iz jednog izvješća treba koristiti u drugom. Drugim riječima, "ugrađujemo" jednu shemu rasporeda podataka u drugu, označavajući vezu preko zajedničkog polja. Primjer korištenja ugniježđenih shema može se pronaći u ovom članku. Postavke Na ovoj kartici programer stvara standardne postavke za generiranje izvješća. Hijerarhijska struktura navedena je na vrhu prozora. Struktura generiranja izvješća može se sastojati od sljedećih elemenata: Grupiranje; Stol; Dijagram; Ugniježđeni dijagram U donjem dijelu prozora navedene su postavke za cijeli izvještaj i za svaki element strukture izvještaja. Ukratko u karticama postavki: Odabrana polja – popis polja prikazanih u izvješću; Odabir – svi mogući odabiri zapisa izvješća; Redoslijed – sortiranje zapisa u izvješću; Parametri podataka – vrijednost parametara izvješća; Prilagođena polja – dodatna polja izvješća koje kreira korisnik; Uvjetno oblikovanje – postavlja uvjetno oblikovanje zapisa izvješća; Ostale postavke – sve vrste dodatnih postavki kao što su: naslov izvješća, izgled dizajna, izgled polja itd....

Kreirajmo eksterno izvješće koje će prikazati informacije o izvješćivanju o stanju artikla i njegovom prometu. Traženi podaci traže se zahtjevom pomoću skupa podataka tipa "Zahtjev" koji sadrži tekst zahtjeva:
BIRAJTE
_DemoNomenklatura.Poveznica HOW Nomenklatura
MJESTO CurrentNomenclature
IZ
Imenik._DemoNomenclature KAKO _DemoNomenclature
GDJE
NIJE _DemoNomenklatura. Oznaka za brisanje
A NE _DemoNomenklatura. Ovo je grupa
;

////////////////////////////////////////////////////////////////////////////////
BIRAJTE
CurrentNomenclature.Nomenclature,
_Demo Ostaci robe na skladištima Ostaci i promet. Skladište,
_DemoRemaining GoodsIn Storage LocationsRemainingsAndTurnover.QuantityInitialRemaining,
_DemoRemaining GoodsIn Storage LocationsRemainingsAndTurnover.QuantityFinalRemaining,
_DemoRemaining GoodsIn Storage LocationsRemainingsAndTurnover.QuantityIncoming,
_DemoPreostala roba u skladišnim mjestimaPreostanakIpromet.KoličinaPotrošnja,
_DemoPreostala roba na lokacijama skladištaRemainingsAndTurnover.QuantityTurnover
IZ
CurrentNomenclature KAO CurrentNomenclature
LIJEVA VEZA RegisterAccumulations._DemoRemaining GoodsInStorageLocations.RemainingsAndTurnover AS _DemoRemainingGoodsInStorageLocationsRemainingAndTurnover
Software CurrentNomenclature.Nomenclature = _DemoRemaining GoodsIn Storage LocationsRemainingsAndTurnover.Nomenclature

Kao rezultat toga, izvješće sadrži sljedeća polja (vidi sliku 1):

Budući da se podaci preuzimaju iz virtualne tablice "Stanja i obrti", ACS automatski kreira dva parametra podataka, Početak razdoblja i Kraj razdoblja, koji su potrebni za postavljanje ograničenja razdoblja uzorkovanja podataka. Radije ne radim s takvim parametrima izravno, već postavljam njihove vrijednosti putem drugog parametra koji će biti dostupan korisniku za uređivanje (vidi sliku 2).
Izvješće se nosi sa svojom zadaćom, ali je zaglavlje izvješća prilično suhoparno. Tijekom svog rada pronašao sam nekoliko načina za dizajniranje zaglavlja izvješća:

  1. Postavljanje zaglavlja polja na ACS kartici "Skupovi podataka";
  2. Postavljanje zaglavlja polja na ACS kartici "Postavke";
  3. Programsko postavljanje zaglavlja polja;
  4. Postavljanje zaglavlja izvješća korištenjem izgleda;
  5. Finalizacija rezultata (tabelarni dokument);
Pogledajmo ih detaljno.

1. Postavljanje zaglavlja na kartici ACS "Skupovi podataka".

Ovdje je sve jednostavno, potvrdite okvir pored svojstva polja "Naslov" (tj. poništite automatski naslov) i unesite traženi tekst naslova (vidi sliku 4).
Ako trebate postaviti dizajn za cijelo polje, a ne samo za njegov naslov, tada postoji svojstvo polja "Dizajn", pomoću kojeg možete postaviti neki dizajn za polje, na primjer, promijeniti font ili postaviti pozadinu boja (vidi sliku 5).
Ovdje moje znanje o kartici "Skupovi podataka" završava.

2. Postavljanje zaglavlja polja na ACS kartici "Postavke".

Za postavljanje naslova polja potrebno je odabrati željeno polje, desnom tipkom miša otvoriti kontekstni izbornik i odabrati “Postavi naslov” (vidi sliku 6)
Da biste grupirali polja (na primjer, prema vrsti informacija), morate dodati polje za grupiranje i u njega smjestiti potrebna polja (vidi sliku 7), gniježđenje je neograničeno.
Također se možete igrati sa svojstvom polja za grupiranje "Lokacija", koje određuje vrstu grupiranja polja.

Ove se radnje također mogu izvršiti u načinu rada 1C:Enterprise otvaranjem postavki izvješća, ALI stavka "Odabrana polja" mora biti uključena u postavke izvješća (vidi sliku 8).
Ovo dovršava jednostavan dio postavljanja zaglavlja izvješća. Jedna od prednosti gore navedenih radnji: sva se podešavanja izvode pomoću standardnih alata. Nedostaci: nedostatak mogućnosti postavljanja višerednog naslova polja.

3. Programsko postavljanje zaglavlja polja

Platforma omogućuje programsko postavljanje zaglavlja polja, štoviše, postavljanje višelinijskih, što pak omogućuje fleksibilno i dinamičko postavljanje zaglavlja polja prilikom generiranja izvješća.

Da bismo to učinili, definirat ćemo proceduru u modulu izvješća Prilikom izlaganja rezultata. U ovoj proceduri ćemo napisati kod za postavljanje zaglavlja polja.

// 1. Dobivanje korisničkih postavki.
SettingsKD = ThisObject.SettingsLitter.GetSettings();

// 2. Dobivamo vrijednost parametra "Period" iz kojeg određujemo datum početka i završetka razdoblja.
ParametarPeriod = NewDataCompositionParameter("Period");
Period = SettingsCD.DataParameters.FindParameterValue(PeriodParameter).Value;
StartPeriod = Period.StartDate;
EndPeriod = Period.EndDate;

// 3. Pripremite informacije o redefiniranju zaglavlja polja. Da bismo to učinili, stvarajmo
// niz koji će sadržavati informacije: FieldName - vrijednosti svojstva "Path" u
// skup podataka (vidi sliku 1), Naslov - tekst naslova.
FieldList = Novi niz;
pPeriodStart = Format(PeriodStart, "DF=dd.MM.yyyy; DP="Prazan datum"");
FieldInitialRemaining = Nova struktura("FieldName, Heading", "QuantityInitialRemaining", "Remaining on " + Symbols.PS + pageBeginningPeriod);
List ofFields.Add(FieldInitialRemaining);
strEndPeriod = Format(EndPeriod, "DF=dd.MM.yyyy; DP="Prazan datum"");
FieldFinalRemaining = Nova struktura("FieldName, Heading", "QuantityFinalRemaining", "Remaining on " + Symbols.PS + strEndPeriod);
FieldList.Add(FieldFinalRemaining);

// 4. Dohvatite popis polja koja su u grupi "Preostalo" (pogledajte sliku 7) i
// postavljanje novog naslova prelaženjem elemenata u petlji.
SelectedFields = SettingsCD.Selection.Items; // Prva razina polja.
SelectedFieldsRemains = SelectedFields.Items; // Ostaci grupiranja polja.
Za svako SelectedField From SelectedFields Remaining Cycle
Za svaki element niza iz ciklusa popisa polja
LayoutField = NewDataCompositionField(ArrayItem.FieldName);
If SelectedField.Field = LayoutField Then
SelectedField.Header = ArrayItem.Header;
završi ako;
EndCycle;
EndCycle;

// 5. Učitajte promijenjene korisničke postavke natrag.
ThisObject.SettingsLinker.LoadSettings(CDSettings);

Izvješće o rezultatu (vidi sliku 10):
Metoda je teža od svih navedenih, ali mi se sviđa.

4. Postavljanje zaglavlja izvješća korištenjem izgleda

Za fleksibilniju prilagodbu izgleda izvješća, ACS omogućuje izradu izgleda. U postavkama izvješća kreirat ćemo još jedno grupiranje „detaljni zapisi” i postaviti naziv „DZ linija” za ovo grupiranje (vidi sliku 11).
Na kartici Izgledi dodajte izgled zaglavlja grupiranja. Za izgled u dokumentu proračunske tablice izradit ćemo zaglavlje izvješća (zaglavlje izvješća treba sadržavati onoliko zaglavlja polja koliko polja prikazuje detaljni zapis) i naznačiti područje dokumenta proračunske tablice za izgled (pogledajte sliku 12).
Kao rezultat toga, izvješće ima sljedeće zaglavlje (vidi sliku 13):

Slika 13. ACS izgled kao zaglavlje izvješća
Po mom mišljenju, izgledi imaju jedan veliki nedostatak: nemogućnost prilagodbe zadanoj grupi korisnika, pa ih treba koristiti ako je obrazac za izvješćivanje reguliran i ne može se mijenjati. Pokušajte postaviti grupiranje za “LineDZ” grupiranje i vidjet ćete da je izgled zbunjen.

Web stranica za podršku informacijskoj tehnologiji sadrži članak Korištenje unaprijed definiranih izgleda, koji detaljno opisuje kako koristiti rasporede u sustavima kontrole pristupa.

5. Finalizacija rezultata (tabelarni dokument)

Ova metoda koristi prekrasnu metodu proračunskih tablica FindText(), ali da biste koristili ovu metodu, morate onemogućiti standardnu ​​obradu za generiranje rezultata izvješća.

Započnimo. Onemogućujemo standardno generiranje kako bismo to učinili u modulu izvješća za događaj Prilikom izlaganja rezultata Postavimo varijablu StandardProcessing na False i napišimo vlastiti izgled rezultata:
Standardna obrada = False;
LayoutLinker = newDataLayoutLayoutLinker;
LayoutLayout = LayoutLocker.Execute(
ThisObject.DataCompositionSchema,
ThisObject.SettingsLinker.Settings,
DešifriranjePodataka);
ComppositionProcessor = newDataCompositionProcessor;
LayoutProcessor.Initialize(LayoutLayout, DecryptionData, True);
IzlazniProcesor = Novi IzlazniProcesorDataCompositionResultInTabularDocument;
OutputProcessor.SetDocument(DocumentResult);
IzlazniProcesor.Izlaz(Procesor Sastavljanja);
Softverski izgled rezultata izvješća detaljnije je opisan u članku

Prevedeni rezultat izlazi u dokument proračunske tablice - to je varijabla DocumentResult. Zatim, nakon generiranja rezultata i njegovog ispisivanja u dokument proračunske tablice, pišemo kod za zamjenu jednog teksta ćelije drugim. Na primjer, promijenimo naziv grupe "Preostali" u "Preostale stavke" u zaglavlju izvješća (pogledajte sliku 14):
Cell = DocumentResult.FindText("Remainings");
Ako Cell<>Nedefinirano Zatim
Cell.Text = "Preostale stavke";
završi ako;

Također možete postaviti oblikovanje za pronađenu ćeliju; pogledajte svojstva ćelije dokumenta proračunske tablice u pomoćniku za sintaksu.

Nedavno sam otkrio ovu metodu; jednostavna je i omogućuje vam vrlo fleksibilan rad sa zaglavljem izvješća, glavno je da tekst ćelije ima jedinstveni tekst.

p.s. Možda imate drugi način za dizajn zaglavlja polja?

Danas ćemo pogledati rješavanje zanimljivog problema - prikazivanje slika u izvješću.

Za što ovo može biti korisno?

Ovdje nekoliko primjera:

  • Cjenik sa slikama proizvoda i logom u zaglavlju
  • Profili zaposlenika s fotografijama
  • Usklađivanje obračuna s pečatom i potpisom u podrumu
  • Izvješća/ispisani obrasci sa skeniranim ispisom

U videu također raspravljamo formiranje programa prijaviti SKD. Koristi se ovaj način generiranja izvješća u standardnim konfiguracijama– ovo je još jedan razlog da ga pažljivo pogledate :)

Predefinirani izgledi u ACS-u

Koristeći unaprijed definirane izglede, možete nadjačati standardni izgled izvješća.

U ovoj lekciji, osim postavljanja problema, razmotrit ćemo:

  • Pohranjivanje binarnih podataka u konfiguraciji modela
  • Mogućnost korištenja ACS izgleda za prikaz slika

Programska izrada izvještaja o sustavu kontrole pristupa

Za rješavanje problema prikaza slika u izvješću o sustavu kontrole pristupa potrebno ga je programski generirati.

Pri programskom generiranju izvješća moguće je pristupiti binarnim podacima.

Tijekom ove lekcije učinit ćemo:

  • Ispis rezultata izgleda u dokument proračunske tablice
  • Korištenje objekta Decryption Data
  • Dohvaćanje binarnih podataka iz baze podataka
  • Programska izrada crteža u dokumentu proračunske tablice

Prikaz slike u ACS izvješću

U ovoj lekciji izvodimo završne korake: prikazujemo prethodno dobivene binarne podatke u izvješću.

Da biste to učinili, crtež se dodaje u dokument proračunske tablice, nakon čega se prikazuje u izvješću.

Svestranost algoritma za izlaz slike

Razvijeni algoritam za ispis slike je univerzalan - algoritam nastavlja raditi bez obzira na promjenu strukture izvješća.

Zapravo, to ćemo dokazati u ovoj lekciji.

Osim toga, razmotrit ćemo značajku generiranja pozadinskog izvješća o sustavu kontrole pristupa (generiranje izvješća korištenjem rutinskih zadataka).

Prikaz slike u zaglavlju izvješća

Često morate prikazati statičnu sliku u zaglavlju ili podnožju izvješća.

Čini se jednostavan zadatak, ali u slučaju ACS-a morate znati kako ga riješiti:

  • Korak 1. Programski generirajte izvješće
  • Korak 2. Napravite zaseban izgled sa željenim zaglavljem ili podnožjem
  • Korak 3. Prije ispunjavanja ACS izvješća, prikazati odjeljak s potrebnim podacima.

Ovaj video jasno pokazuje rješenje problema.

Uživajte u gledanju! :)

Zadnjih nekoliko dana objavljujemo materijale na ACS-u.

Što ako 1C programer/implementator ne poznaje sustav kontrole pristupa? Možda to stvarno i nije toliko važno?

Dobro, pogledajmo što čeka stručnjaka koji piše izvješća "na koljenima" (na primjer, koristeći ručni izlaz u dokument proračunske tablice).

Ne pucajte u pijanistu, on svira najbolje što zna.

Izvještaji su praktički u svim standardnim konfiguracijama na temelju SKD.

Za stručnjaka bez CDS znanja finaliziranje standardnih izvješća postaje lutrija - zašto i kako se ova ili ona brojka prikazuje u izvješću, kako dodati nove izvore, gdje urediti izračunate brojke u kodu...

SKD – standard izvještavanja u standardnim konfiguracijama, a 1C ne piše komentare na temelju onih koji još nisu proučili standarde :)

Prokleto vrijeme...

Bez sustava kontrole pristupa, izrada izvješća uglavnom se radi ručno.

Naravno, fora je izaći kao Rambaud sa odvijačem u zubima i učiniti sve :)

Kao rezultat - veliki troškovi rada za izradu izvješća i otklanjanje pogrešaka. A ovo će u najmanju ruku alarmirati svakog upravitelja/kupca: "čudno, ali on to stvarno razumije??"

A kada je u pitanju naknadna revizija izvješća, to često postane glavobolja (pogotovo ako se radi o tuđem izvješću)…

Razvojna putovanja klijentima radi promjene grupiranja u izvješću

SKD vam omogućuje primanje izvješća o kvaliteti bez programiranja. Radi se skelet nekoliko minuta, zatim – lukovi.

Korisnici mogu prilagoditi takva izvješća bez uključivanja programera, generirajte nekoliko opcija prezentacije - grafikone, grafikone, popise, tablice.

Da bi se postigla takva svestranost u programski izgrađenim izvješćima, nemoguće u razumnom roku.

Zato - zovi, tramvaj, idemo... Ovo je takav profesionalni rast za 1C nadimak...

“Zar nemate isti, ali sa sedefastim gumbima? “Nažalost, ne…” (c)

Što ako neke podatke treba dobiti iz drugog sustava - iz druge baze podataka 1C ili uopće ne iz 1C?

Pomoću sustava kontrole pristupa možete izraditi izvješće koje radi s trenutnim podacima o sigurnosti informacija i prima podatke iz drugog izvora - nije potrebno programiranje.

Bez sustava kontrole pristupa, vanjski podaci će se dobiti programski, a ne na najtrivijalniji način.

Ako želiš profesionalno ovladati ACS-om i svakodnevno primijenite u svom radu, prijavite se na tečaj:

podrška - 2 mjeseca. Opseg tečaja – 34 nastavna sata.

Ne odgađajte trening!

Ovaj će članak biti koristan onim programerima koji su već izradili izvješća o sustav sastavljanja podataka, ali nije koristio ugrađeni mehanizam izgleda.

Prilikom izrade izvješća ponekad je potrebno koristiti nestandardni naslov ili je potrebno dodati naslove. U članku se raspravlja o dvije mogućnosti:

  1. Ugrađeni mehanizam za određivanje rasporeda izravno u sustavu kontrole pristupa
  2. 2. Nadopunjavanje SKD rezultira kodom pomoću uobičajenih izgleda.

Recimo da već imamo izvješće o sastavu podataka koje izgleda ovako.

Moramo dodati naslov i natpis kako bi izvješće izgledalo ovako:

Opcija 1 . Mehanizam za razvoj izgleda možete koristiti izravno u SKD.

Prvo moramo dodati grupiranja i dati im imena u stablu grupiranja. Dodajmo jedno grupiranje prije glavnog grupiranja izvješća i dajmo mu naziv " Policajac" Dodajmo drugu grupu na kraj i dajmo joj ime " Podrum».

Zatim, na kartici Izgledi, morate dodati dva izgleda grupiranja i postaviti područja za njih. Ako su područja prilično složena (na primjer, neke ćelije su spojene u jednu), tada se mogu napraviti u uobičajenom rasporedu i premjestiti ovdje pomoću mehanizma "kopiraj, zalijepi". Ovdje možete proslijediti parametre.

Na kartici postavki za grupe "Zaglavlje" i "Podnožje" trebate onemogućiti "glavni" izgled dizajna odabirom "bez dizajna". Ako se to ne učini, tada će ćelije naših grupa biti uokvirene.

Također za naše grupiranje potrebno je onemogućiti odabrana polja.

Bilješka. Slična verzija izvješća može se razviti samo pomoću SKD. Takvo će izvješće raditi i na redovnoj aplikaciji i na upravljanoj.

opcija 2. Korištenje rezultata SKD i redoviti izgledi (razmatraju se za redovnu primjenu)

Dodajmo regularni izgled izvješću.

Postavimo područja "Zaglavlje i podnožje" u njemu.

U modul obrasca ćemo dodati kod za gumb “Generate” u kojem ćemo prvo prikazati područje “Header”, zatim rezultat rasporeda podataka, zatim područje “Footer”.

Bilješka. Kako bi izvješće radilo u upravljanim aplikacijama, potrebno je modificirati proceduru za gumb “generiraj”.

reci prijateljima