1c 8.3 mga parameter ng katangian ng cell na nagde-decode
Tanong: Mangyaring payuhan kung paano gawin ang mga sumusunod.
Mayroon akong resulta ng query na ipinapakita sa isang spreadsheet na dokumento, mayroong isang decryption para sa cell.
Gusto kong mag-double click sa isang cell upang magpatakbo ng isang pamamaraan na, halimbawa, ay naglulunsad ng isang ulat sa pag-decryption ng cell.
Sagot: Ang mga decryption ay karaniwan at hindi pamantayan.
i) Pamantayan:
maaaring magamit nang direkta sa isang dokumento ng spreadsheet at sa bagay na SpreadsheetDocumentField (iyon ay, isang dokumento ng spreadsheet na inilagay hindi sa isang hiwalay na window, ngunit direkta sa form).
Para gumana ang Decryption, 3 kundisyon ang dapat matugunan:
1) Para sa cell ng dokumento ng spreadsheet kung saan gusto naming tawagan ang Decryption, dapat itakda ang propertyDecryptionParameter. Halimbawa, gusto naming mag-double click sa cell na may pangalan ng katapat upang buksan ang anyo ng elemento ng sangguniang libro ng Counterparty upang linawin namin ang ilang data na hindi ipinapakita sa ulat. Itakda ang DecryptionParameter property sa ilang value, halimbawa, AccountDecryption.
2) Sa proseso ng pag-output ng mga lugar ng layout sa nagreresultang dokumento ng spreadsheet, MANDATORY na italaga ang halaga ng nais na uri sa parameter ng decryption, halimbawa:
Code 1C v 8.x TabDoc = Bagong SpreadsheetDocument;
Selection = Directories.Contractors.Select();
// .................................................
Scope.Parameters.DecryptionAccountant = Selection.Reference;
TabDoc.Output(Rehiyon);
EndCycle;
3) Dapat mayroong pagbabawal sa pag-edit ng isang cell na may decryption, i.e. dapat tukuyin
TabDoc.ViewOnly = True;
kung hindi, sa kabila ng promising na hitsura ng cursor, kapag nag-hover sa isang cell, maaari mong i-click ito hangga't gusto mo, ngunit walang mangyayari.
II) Hindi pamantayan:
sa pamamagitan ng pag-double click sa isang cell na may decryption, maaari mong tawagan ang iyong sariling pamamaraan. Upang maipatupad ito, maraming mga kundisyon ang dapat matugunan:
1) Ang output ng isang spreadsheet na dokumento ay dapat isagawa sa SpreadsheetDocument Field object;
2) Dapat na italaga ang isang value sa cell property na ParameterDecryption, halimbawa, DecryptionAccount.
3) Ang decryption parameter Decryption of the Counterparty ay itinalaga sa Listahan ng mga Halaga na puno ng mga kinakailangang halaga sa panahon ng pagbuo ng spreadsheet na dokumento o, mas madalas, ang Structure. Sa partikular, ang pangalan ng isang karaniwang ulat sa pagsasaayos at ang mga parameter na itatakda sa form ng ulat, tulad ng panahon ng petsa, numero ng account, atbp., ay maaaring maipasa. At pagkatapos ang ulat na ito ay tinatawag na isang pamamaraan.
4) Para sa SpreadsheetDocument Field object, ang ViewOnly property ay dapat na nakatakda sa True.
5) Ang user procedure code ay inilalagay sa procedure
1C v 8.x Code
// ang unang linya dito ay dapat na ganito:
StandardProcessing = Mali;
Magbibigay ako ng isang maliit na halimbawa na nagbubukas ng isang subordinate na direktoryo para sa "na-click" na katapat.
Code 1C v 8.x Procedure ButtonGeneratePress(Button)
Mga Kontratista = Direktoryo.Mga Kontratista;
Selection = Counterparties.Select();
Tab = FormElements.SpreadsheetDocumentField1;
Layout = GetLayout("Layout");
Habang Selection.Next() Loop
Kung Selection.ThisGroup = False Then
Rehiyon = Layout.GetRegion("String");
Scope.Parameters.Account = Selection.Description;
.................................................................................................
StructDecryption = Bagong Struct;
StructureDecoding.Insert("Account", Selection.Reference);
StructureDecryption.Insert(".......",.........);
.........................................................................
Scope.Parameters.DecryptionAccountant = StructureDecryption;
FormElements.SpreadsheetDocumentField1.Output(Area);
Kung hindi
Magpatuloy;
Tapusin kung;
EndCycle;
FormElements.SpreadsheetDocumentField1.ViewOnly = True;
EndProcedure
pamamaraan
StandardProcessing = Mali;
Contracts = Directories.Contracts.GetListForm();
Contracts.ParameterSelectionByOwner = Explanation.Contractor;
Contracts.Open();
EndProcedure
Sa araling ito, matututunan natin kung paano gumawa ng mga tabular na layout sa 1C, na maaaring magamit sa ibang pagkakataon.
Halimbawa, kung paano ako nakabuo ng mga layout para sa .
Pumunta ako sa processing form at pumunta sa tab na "Mga Layout":
Magbubukas ang editor ng spreadsheet:
Sa maraming paraan, ang pagtatrabaho sa editor ay katulad ng pagtatrabaho sa Excel, ngunit may ilang mga kakaibang bagay na nais kong pag-isipan.
Ano ang ibig kong sabihin sa rehiyon? Ito ay ilang mga linya at ilang mga cell, sa pangkalahatan, anumang bahagi ng isang spreadsheet na dokumento na mapipili namin gamit ang kaliwang pindutan ng mouse.
Narito ang isang seleksyon ng dalawang linya:
At narito ang napiling lugar na may 2 column:
At ngayon ay pipiliin namin ang lugar sa intersection ng unang dalawang hanay at ang unang dalawang hanay:
Kaya. Kung nagawa naming piliin ang lugar na kailangan namin, pagkatapos ay sa pamamagitan ng pag-right-click dito at pagpili sa item na "Properties", maaari naming bigyan ito ng isang pangalan kung saan kami ay sumangguni dito mula sa aming code, na bumubuo ng isang napi-print:
Ito ang pangunahing kasanayan na kailangan nating makabisado upang makagawa ng mga tabular na layout.
Paano tingnan ang mga nakatalagang pangalan
At tingnan natin kung anong mga pangalan ang nakatalaga na sa mga lugar sa layout?
Upang gawin ito, pumili mula sa menu ng configurator:
Narito ang aming bagong itinalagang "Header" na lugar:
At kung pipiliin natin ito ngayon sa dialog at pindutin ang "Piliin", pagkatapos ay pipiliin ang nararapat sa editor. lugar ng cell:
Paano itakda ang parameter ng saklaw
Kadalasan, kapag bumubuo ng isang napi-print na lugar, kinakailangan hindi lamang alisin ang lugar mula sa layout. Kailangan mo ring punan ang ilang mga cell na may ilang mga parameter.
Itinakda namin ang mga parameter na ito para sa lugar at ang mga ibinigay na halaga ay awtomatikong nahuhulog sa nais na mga cell.
Upang gawin ito, sa mga katangian ng cell na kailangan namin (kung saan ipapakita ang halaga ng parameter) ...
Tukuyin ang value na "Parameter" sa field na "Filling", at sa field na "Parameter" isusulat namin ang pangalan kung saan kami ay sumangguni sa parameter na ito mula sa code:
Kung tinukoy mo sa pagpuno hindi ang "Parameter", ngunit "Template", posible na magpahiwatig ng ilang teksto (template) sa cell mismo gamit ang pangalan ng parameter sa mga square bracket:
Sa kasong ito, ang pangalan ng parameter (at ang posisyon nito sa template) ay nakapaloob sa mga square bracket.
Paano itakda ang opsyon sa pag-decryption?
Ang pangalan ng parameter ng decryption ay nakatakda sa parehong mga katangian ng cell:
Sa ibang pagkakataon, mula sa code, itatalaga namin ang parameter na ito (sa pangalang "Nomenclature Decoding") ang nais na halaga (isang reference sa item ng nomenclature).
At kapag nag-double-click ang user sa cell na ito, magbubukas para sa kanya ang value na itinalaga sa parameter ng decryption (sa kasong ito, magbubukas ang form ng nomenclature element).
Karagdagang mga salitang paghihiwalay
Sinakop namin ang mga kinakailangang pangunahing kaalaman. Ngayon suriing mabuti.
I-download ang database na ito. sa loob nito ang pagproseso ng "Pagproseso para sa Mga Pagsusuri".
Ang mga layout nito ay may mga opsyon sa tabular. I-explore ang mga ito nang lubusan hangga't maaari, umaasa sa mga diskarteng tinalakay namin sa itaas.