Bahay - Mga kompyuter
Mga post na may tag na "mga layout". Pamamahala ng uri ng ulat sa SKD 1S SKD na nagpapakita ng talahanayan na may layout

Lumilikha kami ng isang ulat sa sistema ng kontrol sa pag-access.

Ang komposisyon ng mga patlang, halimbawa, ay ang mga sumusunod:

Sa mga linya ng ulat ay mayroong pagpapangkat na "Counterparty", sa mga column - ang pagpapangkat ng "Proyekto". Kasama sa data ng ulat ang mapagkukunang "Mutual Settlements".

Bilang resulta, nakakakuha kami ng isang resulta tulad nito:

Nakikita namin na ang header ng ulat ay kasama ang pamagat ng mapagkukunan na "Mutual settlements". Hindi namin kailangan ang heading na ito dito, kaya aalisin namin ito.

Mayroong ilang mga pagpipilian.

Opsyon 1.

Sa pamamagitan ng pagpapasadya ng layout.

Buksan ang kaukulang tab sa taga-disenyo ng sistema ng komposisyon ng data. Piliin ang "Magdagdag ng layout ng pagpapangkat". Sa form na "Pagpapangkat ng Layout," idagdag ang field na "Proyekto". Uri ng layout - "Header".

Itinakda namin ang lugar. Halimbawa, ang cell R1C1. Para sa cell, itakda ang Filling property: "Option". Pangalanan natin ang parameter, halimbawa, "Proyekto".

Itakda ang expression para sa parameter: View(Project). Nangangahulugan ito ng isang representasyon ng field na "Proyekto".

Ang resulta ay dapat na ganito:

Bilang resulta, kukuha ang ulat sa form na kailangan namin, nang walang header ng mapagkukunan.

Opsyon 2.

1. Sa mga napiling field ng buong ulat, iwanan lamang ang mapagkukunan
2. Sa mga napiling field ng pagpapangkat ng column, alisin ang autofield at magdagdag ng field para sa column na ito (halimbawa, kung ang mga column ay pinagsama-sama ayon sa tuldok, piliin ang tuldok dito)
3. Sa tab na "Iba pang mga setting" ng root ng ulat, piliin ang "lokasyon ng mapagkukunan" - "vertical".

Ang pagpipiliang ito ay hindi nangangailangan ng isang layout.

Gumawa tayo ng panlabas na ulat na magpapakita ng impormasyon sa pag-uulat tungkol sa mga balanse ng item at turnover nito. Ang kinakailangang impormasyon ay hinihiling ng kahilingan gamit ang isang set ng data ng uri ng "Kahilingan", na naglalaman ng text ng kahilingan:
PUMILI
_DemoNomenclature.Link HOW Nomenclature
PLACE CurrentNomenclature
MULA SA
Direktoryo._DemoNomenclature PAANO _DemoNomenclature
SAAN
HINDI _DemoNomenclature.Tanda ng Pagtanggal
AT HINDI _DemoNomenclature.Ito ay isang Grupo
;

////////////////////////////////////////////////////////////////////////////////
PUMILI
KasalukuyangNomenclature.Nomenclature,
_DemoLabi ng Mga Kalakal sa Mga Lugar ng ImbakanNananatili at Mga Turnover. Lugar ng Imbakan,
_DemoRemaining GoodsIn Storage LocationsRemainingsAnd Turnover.QuantityInitialRemaining,
_DemoRemaining GoodsIn Storage LocationsRemainingsAndTurnover.QuantityFinalRemaining,
_DemoRemaining GoodsIn Storage LocationsRemainingsAndTurnover.Dami Papasok,
_DemoMga Natitirang KalakalSa Mga Lugar na ImbakanMga NatitiraAt Paglipat.Dami ng Pagkonsumo,
_DemoRemaining GoodsIn Storage LocationsRemainingsAndTurnover.QuantityTurnover
MULA SA
CurrentNomenclature AS CurrentNomenclature
LEFT CONNECTION RegisterAccumulations._DemoRemaining GoodsInStorageLocations.RemainingsAndTurnover AS _DemoRemaining GoodsInStorageLocationsRemaining And Turnover
Software CurrentNomenclature.Nomenclature = _DemoRemaining Goods in Storage LocationsRemainingsAndTurover.Nomenclature

Bilang resulta, ang ulat ay naglalaman ng mga sumusunod na field (tingnan ang Larawan 1):

Dahil ang impormasyon ay kinuha mula sa virtual na talahanayan na "Mga Balanse at Mga Turnover", awtomatikong gumagawa ang ACS ng dalawang parameter ng data, Simula ng Panahon at Katapusan ng Panahon, na kinakailangan upang itakda ang mga limitasyon ng panahon ng sampling ng data. Mas gusto kong hindi gumana nang direkta sa mga naturang parameter, ngunit upang itakda ang kanilang mga halaga sa pamamagitan ng isa pang parameter na magagamit ng gumagamit para sa pag-edit (tingnan ang Larawan 2).
Ang ulat ay nakayanan ang gawain nito, ngunit ang header ng ulat ay medyo tuyo. Sa panahon ng aking trabaho, nakakita ako ng ilang paraan upang magdisenyo ng header ng ulat:

  1. Pagse-set up ng mga field header sa tab na "Mga Set ng Data" ng ACS;
  2. Pagse-set up ng mga field header sa tab na "Mga Setting" ng ACS;
  3. Programmatic na setting ng mga field header;
  4. Pagtatakda ng header ng ulat gamit ang isang layout;
  5. Pagtatapos ng resulta (tabular na dokumento);
Tingnan natin ang mga ito nang detalyado.

1. Pagse-set up ng mga header sa tab na "Mga Set ng Data" ng ACS

Ang lahat ay simple dito, lagyan ng tsek ang kahon sa tabi ng field property na "Title" (i.e. kanselahin ang auto-title) at ilagay ang kinakailangang teksto ng pamagat (tingnan ang Figure 4).
Kung kailangan mong itakda ang disenyo para sa buong field, at hindi lamang para sa pamagat nito, mayroong isang field property na "Disenyo", kung saan maaari kang magtakda ng ilang disenyo para sa field, halimbawa, baguhin ang font o itakda ang background kulay (tingnan ang Larawan 5).
Dito nagtatapos ang aking kaalaman tungkol sa tab na "Mga Set ng Data."

2. Pagse-set up ng mga field header sa tab na "Mga Setting" ng ACS

Upang magtakda ng pamagat ng field, kailangan mong piliin ang nais na field, i-right-click upang buksan ang menu ng konteksto at piliin ang "Itakda ang pamagat" (tingnan ang Larawan 6)
Upang igrupo ang mga field (halimbawa, ayon sa uri ng impormasyon), kailangan mong magdagdag ng field ng pagpapangkat at ilagay ang mga kinakailangang field dito (tingnan ang Figure 7), walang limitasyon ang nesting.
Maaari ka ring maglaro gamit ang property ng field ng pagpapangkat ng "Lokasyon", na tumutukoy sa uri ng pagpapangkat ng field.

Ang mga pagkilos na ito ay maaari ding isagawa sa 1C: Enterprise mode sa pamamagitan ng pagbubukas ng mga setting ng ulat, PERO, ang item na "Mga napiling field" ay dapat isama sa mga setting ng ulat (tingnan ang Figure 8).
Kinukumpleto nito ang madaling bahagi ng pag-set up ng header ng ulat. Isa sa mga pakinabang ng mga aksyon sa itaas: ang lahat ng pag-setup ay isinasagawa gamit ang mga karaniwang tool. Sa mga minus: ang kawalan ng kakayahang magtakda ng pamagat ng field na multi-line.

3. Programmatically pagtatakda ng mga field header

Binibigyang-daan ka ng platform na magtakda ng mga header ng field gamit ang program, bukod pa rito, magtakda ng mga multi-line, na ginagawang posible na flexible at dynamic na magtakda ng mga field header kapag bumubuo ng isang ulat.

Upang gawin ito, tutukuyin namin ang isang pamamaraan sa module ng ulat Kapag Inilatag ang Resulta. Sa pamamaraang ito, magsusulat kami ng code upang itakda ang mga header ng field.

// 1. Kunin ang mga setting ng user.
SettingsKD = ThisObject.SettingsLitter.GetSettings();

// 2. Nakukuha namin ang halaga ng parameter na "Panahon" kung saan namin tinutukoy ang petsa ng pagsisimula at pagtatapos ng panahon.
ParameterPeriod = NewDataCompositionParameter("Panahon");
Panahon = SettingsCD.DataParameters.FindParameterValue(PeriodParameter).Value;
StartPeriod = Period.StartDate;
EndPeriod = Panahon.EndDate;

// 3. Maghanda ng impormasyon tungkol sa muling pagtukoy sa mga header ng field. Para magawa ito, gumawa tayo
// isang array na maglalaman ng impormasyon: FieldName - mga value ng "Path" property in
// set ng data (tingnan ang Larawan 1), Pamagat - teksto ng pamagat.
FieldList = Bagong Array;
pPeriodStart = Format(PeriodStart, "DF=dd.MM.yyyy; DP="Empty date"");
FieldInitialRemaining = Bagong Structure("FieldName, Heading", "QuantityInitialRemaining", "Remaining on " + Symbols.PS + pageBeginningPeriod);
Listahan ngFields.Add(FieldInitialRemaining);
strEndPeriod = Format(EndPeriod, "DF=dd.MM.yyyy; DP="Empty date"");
FieldFinalRemaining = Bagong Structure("FieldName, Heading", "QuantityFinalRemaining", "Remaining on " + Symbols.PS + strEndPeriod);
FieldList.Add(FieldFinalRemaining);

// 4. Kumuha ng listahan ng mga field na nasa pangkat na "Natitirang" (tingnan ang Figure 7) at
// magtakda ng bagong pamagat sa pamamagitan ng pagtawid sa mga elemento sa isang loop.
SelectedFields = SettingsCD.Selection.Items; // Unang antas ng mga patlang.
SelectedFieldsRemains = SelectedFields.Items; // Nananatiling pagpapangkat ng mga field.
Para sa bawat SelectedField Mula sa SelectedFieldsRemainders Cycle
Para sa Bawat Elemento ng Array Mula sa Ikot ng Listahan ng Mga Field
LayoutField = NewDataCompositionField(ArrayItem.FieldName);
Kung SelectedField.Field = LayoutField Pagkatapos
SelectedField.Header = ArrayItem.Header;
endIf;
EndCycle;
EndCycle;

// 5. I-load ang binagong setting ng user pabalik.
ThisObject.SettingsLinker.LoadSettings(CDSettings);

Iulat ang resulta (tingnan ang Larawan 10):
Ang pamamaraan ay mas mahirap kaysa sa lahat ng nasa itaas, ngunit gusto ko ito.

4. Pagtatakda ng header ng ulat gamit ang isang layout

Para sa mas nababaluktot na pag-customize ng hitsura ng ulat, ang ACS ay nagbibigay para sa paglikha ng mga layout. Sa mga setting ng ulat, gagawa kami ng isa pang pagpapangkat na "mga detalyadong tala" at itatakda ang pangalan na "DZ Line" para sa pagpapangkat na ito (tingnan ang Larawan 11).
Sa tab na Mga Layout, magdagdag ng layout ng header ng pagpapangkat. Para sa layout sa isang dokumento ng spreadsheet, gagawa kami ng header ng ulat (dapat maglaman ang header ng ulat ng kasing dami ng field header gaya ng bilang ng mga field na ipinapakita ng detalyadong tala) at ipahiwatig ang lugar ng dokumento ng spreadsheet para sa layout (tingnan ang Figure 12).
Bilang resulta, ang ulat ay may sumusunod na header (tingnan ang Larawan 13):

Figure 13. Layout ng ACS bilang header ng ulat
Sa palagay ko, ang mga layout ay may isang malaking disbentaha: ang kawalan ng kakayahang umangkop sa isang partikular na pagpapangkat ng user, kaya dapat itong gamitin kung ang form ng pag-uulat ay kinokontrol at hindi mababago. Subukang magtakda ng pagpapangkat para sa pagpapangkat ng "LineDZ" at makikita mong nalilito ang layout.

Ang website ng suporta sa teknolohiya ng impormasyon ay naglalaman ng isang artikulo Gamit ang mga paunang natukoy na layout, na naglalarawan nang detalyado kung paano gumamit ng mga layout sa mga access control system.

5. Pagtatapos ng resulta (tabular na dokumento)

Ginagamit ng paraang ito ang napakagandang paraan ng dokumento ng spreadsheet FindText(), ngunit para magamit ang paraang ito, kailangan mong i-disable ang karaniwang pagpoproseso para sa pagbuo ng resulta ng ulat.

Magsimula na tayo. Hindi namin pinagana ang karaniwang henerasyon, upang gawin ito sa module ng ulat para sa kaganapan Kapag Inilatag ang Resulta Itakda natin ang StandardProcessing variable sa False at isulat ang sarili nating layout ng resulta:
StandardProcessing = Mali;
LayoutLinker = newDataLayoutLayoutLinker;
LayoutLayout = LayoutLocker.Execute(
ThisObject.DataCompositionSchema,
ThisObject.SettingsLinker.Settings,
DecryptionData);
CompositionProcessor = newDataCompositionProcessor;
LayoutProcessor.Initialize(LayoutLayout, DecryptionData, True);
OutputProcessor = Bagong OutputProcessorDataCompositionResultInTabularDocument;
OutputProcessor.SetDocument(DocumentResult);
OutputProcessor.Output(CompositionProcessor);
Ang layout ng software ng resulta ng ulat ay inilalarawan nang mas detalyado sa artikulo ng SKD. Ang komposisyon ng software ng resulta.

Ang pinagsama-samang resulta ay output sa isang spreadsheet na dokumento - ito ang DocumentResult variable. Susunod, pagkatapos mabuo ang resulta at i-output ito sa isang spreadsheet na dokumento, nagsusulat kami ng code upang palitan ang isang cell text ng isa pa. Halimbawa, palitan natin ang pangalan ng pangkat na "Mga Natitira" sa "Mga Natitirang item" sa header ng ulat (tingnan ang Larawan 14):
Cell = DocumentResult.FindText("Remainings");
Kung Cell<>Hindi Natukoy Pagkatapos
Cell.Text = "Mga natitirang item";
endIf;

Maaari mo ring itakda ang pag-format para sa nahanap na cell, tingnan ang mga katangian ng cell ng dokumento ng spreadsheet sa syntax assistant.

Natuklasan ko kamakailan ang pamamaraang ito, ito ay simple at nagbibigay-daan sa iyo upang gumana nang napaka-flexible sa header ng ulat, ang pangunahing bagay ay ang cell text ay may natatanging teksto.

P.S. Baka mayroon kang ibang paraan para magdisenyo ng mga field header?

Ngayon ay titingnan natin ang paglutas ng isang kawili-wiling problema - pagpapakita ng mga larawan sa isang ulat.

Para saan ito maaaring maging kapaki-pakinabang?

Dito ilang halimbawa:

  • Listahan ng presyo na may mga larawan ng mga produkto at logo sa header
  • Mga profile ng empleyado na may mga larawan
  • Pagkakasundo ng mga kalkulasyon na may selyo at lagda sa basement
  • Mga ulat/naka-print na mga form na may na-scan na pag-print

Sa video din natin tinatalakay pagbuo ng programa iulat sa SKD. Ang pamamaraang ito ng pagbuo ng mga ulat ay ginagamit sa karaniwang mga pagsasaayos– ito ay isa pang dahilan upang panoorin itong mabuti :)

Mga paunang natukoy na layout sa ACS

Gamit ang mga paunang natukoy na layout, maaari mong i-override ang karaniwang layout ng ulat.

Sa araling ito, bilang karagdagan sa pagtatakda ng problema, isasaalang-alang natin ang:

  • Pag-iimbak ng binary data sa isang configuration ng modelo
  • Posibilidad ng paggamit ng mga layout ng ACS para sa pagpapakita ng mga larawan

Programmatic na pagbuo ng isang ulat sa access control system

Upang malutas ang problema ng pagpapakita ng mga imahe sa isang ulat sa sistema ng kontrol sa pag-access, kinakailangan upang mabuo ito sa programmatically.

Ito ay kapag bumubuo ng isang ulat sa programmatically na posibleng ma-access ang binary data.

Sa araling ito gagawin natin ang:

  • Pag-output ng resulta ng layout sa isang spreadsheet na dokumento
  • Gamit ang object ng Decryption Data
  • Kinukuha ang binary data mula sa database
  • Programmatic na paggawa ng mga drawing sa isang spreadsheet na dokumento

Pagpapakita ng larawan sa ulat ng ACS

Sa araling ito ginagawa namin ang mga huling hakbang: ipinapakita namin ang dati nang nakuhang binary data sa ulat.

Upang gawin ito, ang isang pagguhit ay idinagdag sa isang dokumento ng spreadsheet, pagkatapos nito ay ilalabas sa ulat.

Ang versatility ng image output algorithm

Ang binuong algorithm para sa pagpapakita ng mga larawan ay unibersal - gaano man ang pagbabago ng istraktura ng ulat, patuloy na gumagana ang algorithm.

Sa totoo lang, ito ang ating papatunayan sa araling ito.

Bilang karagdagan, isasaalang-alang namin ang tampok ng pagbuo ng ulat sa background sa sistema ng kontrol sa pag-access (pagbuo ng isang ulat gamit ang mga nakagawiang gawain).

Pagpapakita ng larawan sa header ng ulat

Kadalasan kailangan mong magpakita ng static na imahe sa header o footer ng isang ulat.

Tila isang simpleng gawain, ngunit sa kaso ng ACS kailangan mong malaman kung paano ito lutasin:

  • Hakbang 1. Programmatically bumuo ng isang ulat
  • Hakbang 2. Gumawa ng hiwalay na layout gamit ang gustong header o footer
  • Hakbang 3. Bago punan ang ulat ng ACS, magpakita ng seksyon na may kinakailangang data.

Malinaw na ipinapakita ng video na ito ang solusyon sa problema.

Masiyahan sa panonood! :)

Sa mga huling araw ay naglalathala kami ng mga materyales sa ACS.

Paano kung hindi alam ng 1C programmer/implementer ang access control system? Baka hindi naman talaga importante?

Ok, tingnan natin kung ano ang naghihintay sa isang espesyalista na nagsusulat ng mga ulat "sa tuhod" (halimbawa, gamit ang manu-manong output sa isang dokumento ng spreadsheet).

Huwag barilin ang piyanista, tumutugtog siya sa abot ng kanyang makakaya.

Ang mga ulat ay praktikal sa lahat ng karaniwang pagsasaayos batay sa SKD.

Para sa isang espesyalista na walang kaalaman sa CDS, ang pagsasapinal sa mga karaniwang ulat ay nagiging isang lottery - bakit at paano ito o ang figure na iyon ay ipinapakita sa ulat, kung paano magdagdag ng mga bagong mapagkukunan, kung saan i-edit ang mga kalkuladong numero sa code...

SKD – pamantayan sa pag-uulat sa mga karaniwang pagsasaayos, at ang 1C ay hindi nagsusulat ng mga komento batay sa mga hindi pa nag-aaral ng mga pamantayan :)

Damn time...

Kung walang access control system, ang pagbuo ng ulat ay higit na ginagawa nang manu-mano.

Siyempre, cool na lumabas tulad ni Rambaud na may distornilyador sa kanyang mga ngipin at uri ng ginagawa ng lahat :)

Bilang resulta - malaking gastos sa paggawa para sa pagbuo ng ulat at pag-debug. At ito ay hindi bababa sa mag-aalarma sa sinumang manager/customer: "kakaiba, ngunit naiintindihan ba niya ito??"

At pagdating sa kasunod na rebisyon ng ulat, ito ay kadalasang nagiging sakit ng ulo (lalo na kung ito ay ulat ng ibang tao)...

Mga developmental na paglalakbay sa mga kliyente upang baguhin ang pagpapangkat sa ulat

Binibigyang-daan ka ng SKD na makatanggap kalidad ng mga ulat walang programming. Ginagawa ang balangkas sa loob ng ilang minuto, pagkatapos – yumuko.

At maaaring i-customize ng mga user ang mga naturang ulat nang hindi kinasasangkutan ng isang programmer, bumuo ng ilang mga pagpipilian sa pagtatanghal - mga tsart, mga graph, mga listahan, mga talahanayan.

Upang makamit ang gayong kagalingan sa mga ulat na binuo sa pamamagitan ng program, imposible sa loob ng makatwirang takdang panahon.

Samakatuwid - tumawag, tram, umalis na tayo... Isa itong propesyonal na paglago para sa isang 1C na palayaw...

"Hindi ba mayroon kang pareho, ngunit may mga pindutan ng ina-ng-perlas? “Sa kasamaang palad, hindi…” (c)

Paano kung ang ilang data ay kailangang makuha mula sa ibang system - mula sa isa pang 1C database o hindi mula sa 1C?

Gamit ang access control system, maaari kang lumikha ng isang ulat na gumagana sa kasalukuyang data ng seguridad ng impormasyon at tumatanggap ng data mula sa ibang pinagmulan - walang programming na kailangan.

Kung walang mga access control system, ang panlabas na data ay makukuha sa programmatically at hindi sa pinakawalang halaga na paraan.

Kung gusto mo master ang ACS nang propesyonal at araw-araw mag-apply sa iyong trabaho, mag-sign up para sa kurso:

Suporta - 2 buwan. Saklaw ng kurso - 34 na oras ng pagtuturo.

Huwag ipagpaliban ang iyong pag-aaral!

Ang artikulong ito ay magiging kapaki-pakinabang sa mga programmer na nakagawa na ng mga ulat sa sistema ng komposisyon ng data, ngunit hindi gumamit ng built-in na mekanismo ng layout.

Kapag bumubuo ng mga ulat, minsan ay kinakailangan na gumamit ng hindi karaniwang pamagat, o kailangan mong magdagdag ng mga caption. Tinatalakay ng artikulo ang dalawang pagpipilian:

  1. Built-in na mekanismo para sa pagtukoy ng mga layout nang direkta sa access control system
  2. 2. Ang pagpupuno sa resulta ng SKD sa code gamit ang mga regular na layout.

Sabihin nating mayroon na tayong ulat sa komposisyon ng data na ganito ang hitsura.

Kailangan naming magdagdag ng pamagat at caption para maging ganito ang ulat:

Pagpipilian 1 . Maaari mong gamitin ang mekanismo ng pagbuo ng layout nang direkta sa SKD.

Una kailangan nating magdagdag ng mga pagpapangkat at bigyan sila ng mga pangalan sa puno ng pagpapangkat. Magdagdag tayo ng isang pagpapangkat bago ang pangunahing pagpapangkat ng ulat at bigyan ito ng pangalan " Cap" Idagdag natin ang pangalawang pagpapangkat sa dulo at bigyan ito ng pangalan " Silong».

Susunod, sa tab na Mga Layout, kailangan mong magdagdag ng dalawang layout ng pagpapangkat at magtakda ng mga lugar para sa kanila. Kung ang mga lugar ay medyo kumplikado (halimbawa, ang ilang mga cell ay pinagsama sa isa), pagkatapos ay maaari silang gawin sa isang regular na layout at ilipat dito gamit ang mekanismong "kopya, i-paste". Dito maaari mong ipasa ang mga parameter.

Sa tab na mga setting para sa pagpapangkat ng "Header" at "Footer", kailangan mong i-disable ang layout ng "pangunahing" disenyo sa pamamagitan ng pagpili sa "walang disenyo". Kung hindi ito nagawa, ang mga cell ng aming mga grupo ay i-frame.

Gayundin para sa aming mga pagpapangkat ay kinakailangan na huwag paganahin ang mga napiling field.

Tandaan. Ang isang katulad na bersyon ng ulat ay maaaring mabuo gamit lamang SKD. Ang nasabing ulat ay gagana pareho sa isang regular na aplikasyon at sa isang pinamamahalaan.

Opsyon 2. Gamit ang resulta SKD at mga regular na layout (itinuturing para sa isang regular na aplikasyon)

Magdagdag tayo ng regular na layout sa ulat.

Itakda natin ang mga lugar na "Header at Footer" dito.

Sa module ng form, magdaragdag kami ng code para sa button na "Bumuo", kung saan ipapakita muna namin ang lugar na "Header", pagkatapos ay ang resulta ng layout ng data, pagkatapos ay ang lugar na "Footer".

Tandaan. Upang gumana ang ulat sa mga pinamamahalaang aplikasyon, kinakailangan na baguhin ang pamamaraan para sa pindutang "bumuo".

Sa artikulong ito, nais kong pag-usapan ang tungkol sa mga nuances na naranasan ko sa pagbuo ng isang ulat sa isang access control system, mas tiyak sa pamamahala ng hitsura ng layout ng ulat, at ang mga solusyon na inilapat ko sa kanila.

Alam ko na ang layout sa ACS ay maaaring palitan (baguhin) gamit ang coding nang direkta sa form ng ulat, ngunit para sa akin ito ay pangunahing mahalaga na gumawa ng mga pagbabago sa ACS nang hindi gumagamit ng coding.

Ang teksto ng query sa ulat ay ang sumusunod:

PUMILI ng Item. Pangalan, Nomenclature. Code, Nomenclature. Pangunahing Yunit ng Pagsukat, Nomenclature. Yunit ng MeasurementPlace, Nomenclature. Yunit ng Residue Storage, Nomenclature. UnitForReports, Nomenclature. Komentaryo, Nomenclature. Artikulo, Nomenclature. Link HOW Nomenclature MULA sa Direktoryo. Nomenclature AS Nomenclature WHERE NOT Nomenclature. Ito ay isang grupo

Point 1. Arbitrary na ulat at column heading.


Bilang default, ang ACS ay may kakayahang magpakita ng arbitrary na teksto ng pamagat. Ginagawa ito sa mga setting ng ACS:

sa output na nakukuha namin:

Ngunit kung ang mga heading ng ulat at hanay ay dapat na arbitrary, kung gayon ang pagpipiliang ito ay hindi angkop. Kaya ginawa ko ang sumusunod:

Tinukoy ang isang pangalan para sa mga detalyadong talaan:


Iginuhit ko ang layout na kailangan ko sa SKD

Doon, sa tab na "Layout", binalangkas ko ang mga hangganan ng layout ng header ng pangkat:

at ipinahiwatig ang pangalan ng grupo:

pagkatapos ay itinalaga ko ang lugar ng layout na kailangang ipakita sa header ng ulat:

Kung bubuo ka ng ulat, kung gayon:

hindi eksakto kung ano ang gusto kong makuha. Para sa aking sarili, nakakita ako ng paraan upang malutas ang problemang ito: Ginawa ko ang kulay ng background at frame ng lugar ng layout, na siyang header ng ulat, puti:

at ang output ay ang nais na uri ng ulat:

Point 2. Libreng pag-decode ng mga field ng ulat.

Ang gawain ay ang mga sumusunod: kapag nag-double click ka sa field na "Artikulo", posible na buksan ang item card na bumuo ng linyang ito.

Sa ulat sa itaas, kung mag-double click ka sa anumang field, hindi mo mabubuksan ang item card:

Halimbawa, kung nag-click ka sa field na “Artikulo,” makukuha namin ang sumusunod:

Ang solusyon ay:

Pagdaragdag ng layout ng field:

ipahiwatig ang patlang (Artikulo), kapag na-click, dapat na buksan ang card ng item:

sa layout, punan ang anumang walang laman na patlang ng tekstong "Artikulo", sa mga katangian ay nagpapahiwatig - Pagpuno = "Parameter", Decryption Parameter = "Nomenclature Decoding":

at tukuyin ang layout ng field area ng field na ito:

Pagkatapos nito, dapat lumitaw ang mga pagpipilian sa layout:

Sa mga parameter na ito ay tinukoy namin ang expression para sa "Decoding Nomenclature", sa aking kaso ito ay isang link sa nomenclature:


Nakukuha namin ang pagkakataong buksan ang card ng produkto sa pamamagitan ng pag-click sa field na "Artikulo":

Sa tingin ko magkakaroon ng mga developer na nakatagpo ng mga katulad na nuances at nalutas ang mga ito sa ibang mga paraan, ngunit iyon ay isa pang artikulo...

Ang ulat ay batay sa mga totoong kaganapan; ang hitsura, teksto ng query at mga pangalan ng column ay binago para sa kapakinabangan ng artikulo.



 


Basahin:



Ano ang gagawin kung walang D drive sa iyong computer?

Ano ang gagawin kung walang D drive sa iyong computer?

Pagkatapos i-install ang bagong Windows 10, maaaring makatagpo ang user ng sitwasyon kung saan ang isa sa mga hard drive kung saan...

Pagsusuri ng mga JBL Flip3 Bluetooth speaker

Pagsusuri ng mga JBL Flip3 Bluetooth speaker

Ngayon gusto kong pag-usapan ang JBL Flip 3, isang budget wireless speaker mula sa JBL, na kilala sa mga speaker system nito. Parang dati na...

Pagkonekta at pag-set up ng interactive na TV mula sa Rostelecom

Pagkonekta at pag-set up ng interactive na TV mula sa Rostelecom

Ang henerasyon ng mga modernong TV na may maraming karagdagang mga opsyon ay nagbibigay-daan sa iyo na manood ng mga pelikula at programa sa pinakamataas na kalidad. Provider RTK...

Paano tanggalin ang iyong Instagram account

Paano tanggalin ang iyong Instagram account

Ang ilang mga tao ay gumugugol ng oras nang kapaki-pakinabang sa kanila, habang ang iba ay pinapatay lamang ito sa pamamagitan ng panonood sa feed ng balita. Ang social network na Instagram ay walang pagbubukod....

feed-image RSS