1c wat zijn formulierdetails. Vorm, controles. Voorbeeld van het gebruik van gewone rekwisieten

Hieronder vindt u de belangrijkste 1C-objecten die worden gebruikt bij het werken met beheerde formulieren. Er worden korte codevoorbeelden gegeven die het traditionele gebruik van deze objecten demonstreren bij het schrijven van 1C-configuraties.

Dit formulier

Gebruikt in de formuliermodule, in procedures&Op de client en &Op de server.

Geeft u toegang tot zowel formulierelementen als details.

Het formulierelement is toegankelijk via een object Elementen en ziet er als volgt uit:

ThisForm.Elements.VersionNumber.Header = "v."+ProgramVersion;

Toegang krijgen tot attributen die op het formulier voorkomen, gebeurt als volgt:

ThisForm.AdText="Hallo kameraden!";

Vereenvoudigde toegang tot formulierelementen en details

In een formuliermodule hoeft u in principe geen trefwoord op te geven Dit formulier . U kunt op een vereenvoudigde manier toegang krijgen tot formulierelementen en details:

// Vormelement

Elements.VersionNumber.Title = "v."+ProgramVersion;

// Formulierdetails

Advertentie Text="Hallo kameraden!";

Kenmerken van het verkrijgen van formuliergegevens (belangrijk!)

Als het formulierattribuut een eenvoudig type heeft: Tekenreeks, nummer, datum ... dan kunt u de waarde van het attribuut eenvoudigweg op naam krijgen (instellen):

Tekst=Productnaam; // Productnaam is een vormattribuut

Op deze manier is het echter onmogelijk om details van een “complex” type te verkrijgen -Tabel met waarden, Boom van Waarden . Als u probeert een attribuut met dit type op naam te krijgen, wordt een object van type geretourneerdGegevensFormulierenCollectie.

Om de waarde van een attribuut met een “complex” type te verkrijgen, moet u de functie gebruikenFormAttributenWaarde():

CurrentTable=FormAttributesValue("SelectedConstructionObjects");

Om de waarde van een “complex” attribuut in te stellen, kunt u de functie gebruikenValueInFormAttributen(<Значение>, <ИмяРеквизита>) , zijn beide parameters vereist.

Functies FormAttributenWaarde() En ValueInFormAttributes()alleen beschikbaar op de server.

Voorwerp

Strikt genomen bestaat een dergelijk trefwoord niet in het formulier. Wanneer er een formulier wordt gemaakt, bijvoorbeeld een elementformulier, creëert 1C automatisch een attribuut op het formulier met de naam Voorwerp . Via dit attribuut zijn de eigenschappen van het huidige object dat op het formulier wordt bewerkt beschikbaar.

of, completere notatie:

DitObject

Bevat het object zelf. Bedoeld om een ​​object in een objectmodule of een formuliermodule te krijgen.

Gebruik: Alleen lezen.

Beschikbaarheid: Server, dikke client, externe verbinding.

Formulieren in 1C:Enterprise zijn bedoeld voor het weergeven en bewerken van informatie in de database. Formulieren kunnen bij specifieke configuratieobjecten horen of afzonderlijk daarvan bestaan ​​en worden door de gehele applicatieoplossing gebruikt.

Bijvoorbeeld een map Nomenclatuur kan verschillende formulieren hebben die voor specifieke doeleinden worden gebruikt: het bewerken van een directory-element, het weergeven van een lijst, enz.:

Daarnaast kunnen er algemene formulieren zijn die niet tot specifieke configuratieobjecten behoren - algemene formulieren.

Basisvormen

Elk configuratieobject kan worden gebruikt om enkele standaardacties uit te voeren. Voor elke map moet u bijvoorbeeld mogelijk een lijst met elementen weergeven, individuele elementen van de map weergeven, een groep van de map weergeven, elementen en groepen elementen uit de map selecteren. Voor elk document zal de lijst met dergelijke acties veel kleiner zijn: een lijst met documenten bekijken, selecteren uit een lijst met documenten en een afzonderlijk document bekijken.

Om ervoor te zorgen dat dergelijke standaardacties worden uitgevoerd met de gegevens van applicatie-oplossingsobjecten, is er voor elk ervan een reeks basisformulieren die zullen worden gebruikt bij het uitvoeren van de overeenkomstige acties. Elk van de formulieren die ondergeschikt zijn aan dit object kan als hoofdformulier worden toegewezen. Bijvoorbeeld in de map Nomenclatuur De volgende basisvormen kunnen bestaan:

En het document Ontvangst van goederen en diensten de samenstelling van de hoofdvormen zal anders zijn:

Dus als de gebruiker de directorylijst wil bekijken Nomenclatuur of lijst met documenten Ontvangst van goederen en diensten, opent het systeem het overeenkomstige formulier dat is aangewezen als lijstformulier voor deze objecten.

Automatisch gegenereerde formulieren

Een belangrijk kenmerk van het 1C:Enterprise 8-systeem is het mechanisme van automatisch gegenereerde formulieren. Dit mechanisme zorgt ervoor dat de ontwikkelaar niet voor elk configuratieobject alle mogelijke formulieren hoeft te maken. De ontwikkelaar hoeft alleen maar een nieuw configuratieobject toe te voegen, en het systeem zelf zal op de juiste momenten in het werk van de gebruiker de benodigde formulieren genereren om de informatie in dit object weer te geven.

De ontwikkelaar hoeft dus alleen zijn eigen vormen van applicatie-oplossingsobjecten te maken als deze verschillen (ander ontwerp of specifiek gedrag) moeten hebben dan de formulieren die automatisch door het systeem worden gegenereerd.

Een formulier aan gegevens koppelen

Of een formulier bij een bepaald configuratieobject hoort, bepaalt niet de samenstelling van de gegevens die in het formulier worden weergegeven. Het feit dat het formulier bijvoorbeeld bij een map hoort Nomenclatuur, kunt u het toewijzen als een van de hoofdformulieren voor deze map, maar bepaalt op geen enkele manier welke gegevens dit formulier zal weergeven en wat het gedrag ervan zal zijn.

Om een ​​formulier aan gegevens te koppelen, worden formulierdetails gebruikt, die de lijst met gegevens aangeven die door het formulier wordt weergegeven. Alle formulieren zelf vertonen hetzelfde gedrag, ongeacht welke gegevens ze weergeven. Eén van de vormattributen kan echter worden aangewezen als het hoofdattribuut ervoor (deze is vetgedrukt), in welk geval het standaardgedrag van het formulier en zijn eigenschappen zullen worden aangevuld, afhankelijk van welk type het hoofdvormattribuut is:

Bijvoorbeeld als een document is toegewezen als hoofdvormattribuut Ontvangst van goederen en diensten, en bij het sluiten van het formulier vraagt ​​het systeem om bevestiging van het opnemen en plaatsen van dit document. Als u bijvoorbeeld een directory toewijst als het hoofdattribuut van het formulier Nomenclatuur, dan verschijnt een dergelijk bevestigingsverzoek niet bij het sluiten van het formulier.

Vormstructuur

Het belangrijkste kenmerk van de formulieren is dat ze niet “pixel voor pixel” in detail door de ontwikkelaar zijn getekend. Een formulier in een configuratie is een logische beschrijving van de samenstelling van het formulier. En de specifieke plaatsing van elementen wordt automatisch door het systeem uitgevoerd wanneer het formulier wordt weergegeven.

Het weergegeven deel van het formulier (zichtbaar voor de gebruiker) wordt beschreven als een boom met daarin formulierelementen.

Elementen kunnen invoervelden, selectievakjes, keuzerondjes, knoppen, enz. zijn. Bovendien kan een element een groep zijn die andere elementen bevat. Een groep kan worden weergegeven als een paneel met een frame, een paneel met pagina's (bladwijzers), een pagina zelf of een commandopaneel. Daarnaast kan het element een tabel zijn, die ook elementen (kolommen) bevat. De elementstructuur beschrijft hoe het formulier er uit komt te zien.

Alle functionaliteit van het formulier wordt beschreven in de vorm van details en opdrachten. Details zijn de gegevens waarmee het formulier werkt, en opdrachten zijn de uit te voeren acties. De ontwikkelaar in de formuliereditor moet dus de nodige details en opdrachten in het formulier opnemen, formulierelementen maken die deze weergeven en, indien nodig, elementen in groepen rangschikken.

Op basis van deze logische beschrijving genereert het systeem automatisch het uiterlijk van het formulier, zodat het aan de gebruiker kan worden weergegeven. In dit geval houdt het systeem rekening met verschillende eigenschappen van de weergegeven gegevens (bijvoorbeeld type) om de formulierelementen voor de gebruiker zo handig mogelijk in te delen.

De ontwikkelaar kan de rangschikking van elementen beïnvloeden met verschillende instellingen. Het kan de volgorde van de elementen bepalen en de gewenste breedte en hoogte specificeren. Dit is echter slechts wat aanvullende informatie om het systeem te helpen het formulier weer te geven.

In formulieren kan de ontwikkelaar niet alleen de opdrachten van het formulier zelf gebruiken, maar ook algemene opdrachten die worden gebruikt in de opdrachtinterface van de gehele configuratie. Bovendien is het mogelijk om parametreerbare opdrachten te maken die andere formulieren openen, rekening houdend met de specifieke gegevens van het huidige formulier. Dit kan bijvoorbeeld het oproepen van een rapport zijn over de saldi in het magazijn dat momenteel is geselecteerd in het factuurformulier.

De formulierdetails zorgen voor de verbinding met de gegevens. In dit geval kan één (en slechts één) van de details als belangrijkste worden aangewezen; het hoeft niet noodzakelijkerwijs het gegevenstype te zijn waarnaar we het formulier tekenen. Maar het gedrag van het formulier zal afhangen van het gegevenstype van het hoofdattribuut. Naast het veranderen van het gedrag van het formulier, verandert ook de context van de formuliermodule. Samen met de methoden en eigenschappen van het formulier worden de methoden en eigenschappen van het object, dat de waarde is van het hoofdattribuut, daarin beschikbaar. Het is belangrijk dat formulieren van het type Vrije Vorm geen basisdetails bevatten. In dit geval wordt het gedrag van het formulier alleen bepaald door de instellingen van de gebruiker. Laten we vragen over de basisdetails bekijken.

Vraag 10.05 van examen 1C: Platform Professional. Waar wordt het hoofdvormattribuut voor gebruikt?

  1. Definieert de gegevensbron voor het formulier als geheel
  2. Definieert de standaardmogelijkheden van het platform voor het werken met het formulier met gegevens van het type dat is opgegeven in het hoofdattribuut
  3. Om de mogelijkheid te bieden om programmatisch toegang te krijgen tot objectdetails vanuit de lokale formuliercontext
  4. Biedt visualisatie van objectdetails in het formulierdialoogvenster
  5. 2 en 3 zijn juist
  6. 1 en 2 zijn juist

Het juiste antwoord is nummer zes, zie hierboven.


Vraag 10.06 van examen 1C: Platform Professional. Waar zijn de formuliergegevens voor nodig?
  1. Om de inhoud te beschrijven van de gegevens die worden weergegeven, bewerkt of opgeslagen in een formulier
  2. Gegevens in een formulier weergeven en bewerken
  3. 1 en 2 zijn juist

Het juiste antwoord is het derde: beide.

Vraag 10.07 van examen 1C: Platform Professional. Om de hoofdattributen aan een willekeurig gecontroleerde vorm toe te wijzen...

  1. U moet het selectievakje "Basisgegevens" in de eigenschappen van de formulierattributen aanvinken
  2. u moet de eigenschap “Data” van het formulier invullen door het vereiste formulierattribuut te selecteren

Het juiste antwoord is het tweede:

Vraag 10.08 van examen 1C: Platform Professional. Om de belangrijkste details aan een willekeurige reguliere vorm toe te wijzen...
  1. het formulier moet het hoofdformulier worden gemaakt, de belangrijkste details worden automatisch bepaald
  2. U moet het selectievakje "Basisgegevens" in de eigenschappen van de formulierattributen aanvinken
  3. u moet naar het menu "Bewerken" gaan, "Basisgegevens" selecteren en de gewenste waarde selecteren
  4. u moet de eigenschap “Data” van het formulier invullen door het vereiste formulierattribuut te selecteren

Het juiste antwoord is het vierde:

De belangrijkste details zijn vetgedrukt:

Vraag 10.09 van examen 1C: Platform Professional. Als er één hoofdvormattribuut is, is het dan mogelijk om nog een hoofdattribuut toe te voegen?
  1. Dit is onmogelijk
  2. Dit is mogelijk door de juiste waarde toe te wijzen aan de vormattribuuteigenschap
  3. Dit is alleen programmatisch mogelijk bij toegang tot het object "Formulier".
  4. Dit is mogelijk door een andere waarde toe te voegen aan de corresponderende vormeigenschap

Het juiste antwoord is het eerste, er is strikt één belangrijke vereiste, omdat de verbinding met het object moet eenduidig ​​zijn.

Vraag 10.113 van examen 1C: Platform Professional. Welke van de details van het formulier in de figuur is de belangrijkste?

  1. Lijst met valutakoersen
  2. DirectoryObject
  3. Directory-formulieren bevatten geen basisgegevens
  4. Directory-formulieren bevatten alle basisgegevens
Het tweede juiste antwoord is het vetgedrukte antwoord.

Formuliergegevens

Een set formulierdetails beschrijft de samenstelling van de gegevens die in het formulier worden weergegeven, bewerkt of opgeslagen. De formulierdetails zelf bieden echter niet de mogelijkheid om gegevens weer te geven en te bewerken. Formulierelementen (zie het gedeelte “Formulierelementen” van dit hoofdstuk) die verband houden met formulierdetails worden gebruikt voor weergave en bewerking. De verzameling van alle formuliergegevens worden formuliergegevens genoemd.

Belangrijk! Houd er rekening mee dat, in tegenstelling tot reguliere formulieren, alle gegevens in een beheerde vorm in de vorm van details moeten worden beschreven. Het is niet toegestaan ​​om formuliermodulevariabelen te gebruiken als gegevensbron voor formulierelementen.

Het is mogelijk om toe te wijzen Basisformulierdetails, d.w.z. attributen die de standaardfunctionaliteit van het formulier bepalen (formulierextensie). Houd er rekening mee dat een formulier slechts één hoofdattribuut kan hebben.

Formulier extensie– dit zijn aanvullende eigenschappen, methoden en formulierparameters van het ManagedForm-object, kenmerkend voor het object dat het hoofdelement van het formulier is.

Tijdens het formulierontwikkelingsproces kunt u expliciet de mogelijkheid instellen om specifieke formulierdetails te bekijken en te bewerken, in termen van rollen, met behulp van de eigenschappen Weergeven en Bewerken (voor meer details, zie de sectie “Op rollen gebaseerde formulierinstellingen” van de “Editors” " hoofdstuk). Bovendien kan de beschikbaarheid van een bepaald attribuut in het formulier zelf worden geconfigureerd met behulp van functionele opties (meer details over functionele opties vindt u in het hoofdstuk “Configuratie-interfacebeheer”).

Vorm attribuut eigenschap Opgeslagen gegevens is een teken dat een interactieve wijziging van de details zal leiden tot een poging om de formuliergegevens te blokkeren voor bewerking, evenals tot het automatisch instellen van de formulierwijzigingsvlag.

Gegevenstypen beschikbaar in een beheerde vorm

Een beheerd formulier verschilt ook van een regulier formulier in de soorten gegevens waarmee het werkt. Als de normale vorm werkt met de meeste typen die 1C:Enterprise biedt (inclusief die van het type DirectoryObject, DocumentObject, etc.), dan kunnen in de beheerde vorm de volgende categorieën van typen worden onderscheiden:

  • typen die rechtstreeks in het formulier worden gebruikt, zijn de typen die bestaan ​​aan de thin- en webclientzijde (bijvoorbeeld Number, DirectoryLink.Products, GraphicScheme, TabularDocument);
  • typen die worden geconverteerd naar speciale gegevenstypen: gegevenstypen voor beheerde formulieren. Dergelijke typen worden weergegeven in de lijst met formulierdetails tussen haakjes, bijvoorbeeld (DirectoryObject.Products);
  • dynamische lijst (voor meer details, zie het gedeelte “Dynamische lijst” van dit hoofdstuk).

Applicatieobjecten converteren naar formuliergegevens

Sommige applicatietypes (zoals DirectoryObject, etc.) bestaan ​​niet aan de thin- en webclientkant (zie het hoofdstuk Managed Application Concept voor meer details). Om dergelijke applicatietypen in het formulier weer te geven, heeft het platform daarom speciale gegevenstypen geïntroduceerd die zijn ontworpen om in beheerde formulieren te werken. Deze eigenschap van een beheerde applicatie maakt het noodzakelijk om applicatieobjecten om te zetten in vormgegevens (en omgekeerd).

De volgende gegevenstypen worden gebruikt:

  • Form DataStructure – bevat een reeks eigenschappen van een willekeurig type. Eigenschappen kunnen andere structuren, verzamelingen of structuren met verzamelingen zijn. Dit type wordt bijvoorbeeld weergegeven in de vorm DirectoryObject.
  • Een FormDataCollection is een lijst met getypte waarden, vergelijkbaar met een array. Een verzamelingselement is toegankelijk via een index of identificatie. Toegang via ID is in sommige gevallen mogelijk niet beschikbaar. Dit komt door het type applicatieobject dat door deze verzameling wordt vertegenwoordigd. De identificatie kan elk geheel getal zijn. Dit type wordt bijvoorbeeld weergegeven in de vorm van een tabelvormig deel.
  • Formulier DataStructureWithCollection is een object dat tegelijkertijd wordt weergegeven als een structuur en een verzameling. Het kan worden behandeld als elk van deze entiteiten. Dit type vertegenwoordigt bijvoorbeeld een set records in een formulier.
  • Formulier DataTree – een object dat is ontworpen om hiërarchische gegevens op te slaan.

Een applicatieobject wordt weergegeven door een of meer formuliergegevenselementen. Over het algemeen zijn de hiërarchie en samenstelling van formuliergegevens afhankelijk van de complexiteit en onderlinge samenhang van applicatieobjecten van het beheerde formulier.

Een document dat een tabelvormig deel bevat, zal bijvoorbeeld worden weergegeven door een object van het type FormDataStructure (het document zelf), waaraan een object van het type FormDataCollection (tabelvormig deel van het document) ondergeschikt is.

Belangrijk! Bij het ontwikkelen van een configuratie is het belangrijk om te onthouden dat applicatieobjecten alleen op de server beschikbaar zijn, terwijl formuliergegevensobjecten zowel op de server als op de client kunnen worden gebruikt.

Gegevens doorgeven tussen de client- en serveronderdelen van een beheerd formulier

Feitelijk kunnen we zeggen dat formuliergegevens een uniforme weergave zijn van gegevens uit verschillende applicatieobjecten waarmee het formulier uniform werkt en die zowel op de server als op de client aanwezig zijn. Dat wil zeggen dat het formulier een bepaalde “projectie” van applicatieobjectgegevens bevat in de vorm van zijn eigen gegevenstypen en indien nodig een conversie daartussen uitvoert. Als de configuratie-ontwikkelaar echter zijn eigen algoritme voor gegevensverwerking implementeert, moet hij de gegevensconversie (van gespecialiseerde typen naar toepassingstypen en omgekeerd) onafhankelijk uitvoeren.

Bij het bewerken van formulierdetails in een gespecialiseerde editor (zie voor meer details de sectie “Formulierdetails” van het hoofdstuk “Editors”), is het mogelijk om de gegevensoverdracht tussen de client en de server te beïnvloeden terwijl het formulier actief is. Hiervoor wordt de kolom van de detaileditor gebruikt. Altijd gebruiken. Het effect van deze eigenschap verschilt voor drie soorten attributen:

  • Voor een attribuut dat ondergeschikt is aan een dynamische lijst (kolom dynamische lijst):
    • eigenschap ingeschakeld – het attribuut wordt altijd uit de database gelezen en opgenomen in de formuliergegevens;
    • eigenschap is uitgeschakeld - het attribuut wordt alleen uit de database gelezen en in de formuliergegevens opgenomen als er momenteel een zichtbaar formulierelement is gekoppeld aan het attribuut of het ondergeschikte attribuut ervan.
  • Voor rekwisieten die ondergeschikt zijn aan de bewegingscollectie:
    • eigenschap is ingeschakeld – documentbewegingen worden uit de database gelezen en zullen aanwezig zijn in de formuliergegevens;
    • eigenschap is uitgeschakeld - documentverplaatsingen worden niet uit de database gelezen en worden niet opgenomen in de formuliergegevens (als er geen formulierelement is dat verwijst naar documentverplaatsingen).
  • Overige formuliergegevens:
    • eigenschap is ingeschakeld – het attribuut zal aanwezig zijn in de formuliergegevens, ongeacht of er al dan niet ten minste één formulierelement is dat is geassocieerd met het attribuut of het ondergeschikte attribuut;
    • eigenschap is uitgeschakeld - het attribuut zal alleen aanwezig zijn in de formuliergegevens als er een formulierelement is gekoppeld aan het attribuut of het ondergeschikte attribuut ervan. In tegenstelling tot dynamische lijstattributen doet de zichtbaarheid van het element dat aan het attribuut is gekoppeld hier niet toe.

Opmerking. Houd er rekening mee dat de eigenschap die op het bovenliggende attribuut is ingesteld, van invloed is op alle ondergeschikte attributen. Als bijvoorbeeld de eigenschap Use altijd is gewist voor het tabelgedeelte van het document, gaat het systeem ervan uit dat deze eigenschap ook is gewist voor alle ondergeschikte details (ondanks de werkelijke status van de eigenschap).

Methoden voor het converteren van applicatieobjectgegevens naar formuliergegevens

Om applicatieobjecten naar formuliergegevens en andersom te converteren, bestaat er een reeks globale methoden:

  • WaardeInFormData(),
  • FormDataInValue(),
  • KopieerFormData().

Belangrijk! Methoden die met toepassingsobjecten werken, zijn alleen beschikbaar in serverprocedures. De methode voor het kopiëren van waarden tussen formuliergegevens is beschikbaar op de server en op de client, omdat er geen applicatieobjecten als parameters nodig zijn.

Wanneer u formuliergegevens naar een toepassingsobject converteert, moet u rekening houden met hun compatibiliteit.

  • ValueInFormData() – converteert een applicatietypeobject naar formuliergegevens;
  • FormDataInValue() – converteert formuliergegevens naar een applicatietype object;
  • CopyFormData() – kopieert formuliergegevens met een compatibele structuur. Retourneert True als het kopiëren is gelukt, of False als de objectstructuur incompatibel is.

Opmerking. Bij het uitvoeren van standaardacties (een formulier openen, een standaard schrijfopdracht uitvoeren, etc.) van een formulier met de belangrijkste details, wordt de conversie automatisch uitgevoerd.

Laten we een voorbeeld geven van hoe u datatransformatie in uw eigen algoritmen kunt gebruiken.

&OnServerProcedure bij CreateOnServer (fout, standaardverwerking)

ObjectProduct = Directories.Products.FindByName("Koffiepot").GetObject();

ValueInFormData(ObjectItem, Object);

Einde procedure

&OnClient-procedure Schrijven()

ValueInFormData(ObjectItem, Object);

WriteOnServer();

&OnServer-procedure WriteOnServer()

ObjectProduct = FormDataValue(Object, Type("DirectoryObject.Products"));

ObjectItem.Write();

  • Einde procedure
  • Het ManagedForm-object heeft ook methoden beschikbaar op de server:

ValueFormAttribute() – converteert een applicatietypeobject naar het opgegeven vormattribuut.

FormAttributeVValue() – converteert een formuliergegevensattribuut naar een object van een applicatietype.

Het gebruik van deze methoden is meestal handiger, omdat ze bijvoorbeeld informatie hebben over het type formulierattribuut. Bovendien stelt de methode Form AttributesValue() de correspondentie in tussen de formuliergegevens en het object, die wordt gebruikt bij het genereren van berichten. Meer hierover leest u in het hoofdstuk “Servicenavigatiemogelijkheden”.

Laten we een voorbeeld geven van het gebruik van deze methoden.

ObjectProduct = FormDataValue(Object, Type("DirectoryObject.Products"));

&OnServer-procedure HerberekenOpServer()

// Converteert het objectattribuut naar een toepassingsobject.

  • Document = FormulierkenmerkenWaarde("Object");
  • // Voert een herberekening uit met behulp van de methode die is gedefinieerd in de documentmodule.

Document.Herberekenen();

// Converteert het applicatieobject terug naar een prop.

WaardeFormAttributen(Document, “Object”);

Software-interface

FormulierDataTree

FindById

Artikelen ophalen

Beschrijving:

Document.Herberekenen();

Ontworpen om een ​​boom te modelleren in beheerde formuliergegevens.

Dit object kan worden geserialiseerd naar/van XDTO. Het XDTO-type dat overeenkomt met een bepaald object wordt gedefinieerd in de naamruimte. XDTO-typenaam:

Artikelen ophalen

FormulierDataTree

Syntaxis:<Идентификатор>)

GetItems()

<Идентификатор>Retourwaarde:

Type: FormuliergegevensVerzameling van boomelementen.

Artikelen ophalen

Krijgt een verzameling boomelementen op het hoogste niveau.

Document.Herberekenen();

Beschikbaarheid: client, server, thin client, webclient.

Dit object kan worden geserialiseerd naar/van XDTO. Het XDTO-type dat overeenkomt met een bepaald object wordt gedefinieerd in de naamruimte. XDTO-typenaam:

FindById

FindById(

<Имя свойства> (<Имя свойства>)

  • Parameters:
  • (vereist)
  • // Voert een herberekening uit met behulp van de methode die is gedefinieerd in de documentmodule.
  • Soort: Nummer. Identificatie van boomelement.

Document.Herberekenen();

Type: FormDataTreeElement.

Haalt een verzamelingselement op per ID.

Verzamelingselementen: DataFormTreeElement

Voor een object is het mogelijk om de collectie te doorkruisen met behulp van de operator For every... From... Loop. De traversal selecteert de elementen van de collectie. Het is mogelijk om toegang te krijgen tot een verzamelelement met behulp van de operator [...]. De index van het element wordt als argument doorgegeven.

  • Invoegen
  • Toevoegen
  • Index (IndexVan)
  • Graaf
  • Duidelijk
  • Krijgen
  • Beweging
  • Verwijderen

Document.Herberekenen();

Verzameling houten elementen.

Dit object kan worden geserialiseerd naar/van XDTO. Het XDTO-type dat overeenkomt met een bepaald object wordt gedefinieerd in de naamruimte. XDTO-typenaam:

Zie ook:

  • FormDataTreeElement, GetElements-methode
  • DataFormTree, methode GetItems

Kenmerken van het werken met een waardenboom

Boom-update

Er is een probleem valt platforms bij het bijwerken van de boom.

Als een knooppunt in de boom is uitgebreid en er een ondergeschikt knooppunt is geselecteerd, dan wordt bij het bijwerken van de boom met de functie WaardeInFormData het platform valt.

Oplossing: U moet de structuur wissen voordat u de update uitvoert.

Bijvoorbeeld:

&Op de server Procedure ClearTree(elements) Voor elk element uit elementen Loop ClearTree(element.GetElements());

Eindcyclus;

elementen.Clear(); Einde procedure

&Op de serverprocedure Conceptboom vullen () d Concepts = srProperties.Build conceptboom (OnDate, Meta.CurrentIB());

ClearTree(ConceptTree.GetItems());

ValueInFormData(dConcepts, ConceptTree); Einde procedure

&OnClient-procedure OnDateOnChange(Element) ConceptTree(); Einde procedure

Het werk van de gebruiker met naslagwerken en documenten in 1C bestaat uit het invullen van velden op het formulier.

1C-gegevens zijn directory- en documentvelden die op het formulier worden weergegeven en door de gebruiker kunnen worden ingevuld.

Laten we het onderwerp details in 1C eens nader bekijken.

Wat zijn 1C-details

Elke directory en elk 1C-document bestaat uit een reeks velden. Dergelijke velden worden 1C-details genoemd (voor een 1C-programmeur).

Open in de configurator, in de 1C-configuratieboom, een map of document en u ziet de tak Details. Dit is een lijst met directorygegevens (velden).

Kijk hoe dezelfde 1C-details eruit zien op het 1C-directoryformulier.

Elk 1C-attribuut heeft eigenschappen die aangeven welk type waarde in het attribuut is opgeslagen (tekenreeks, getal, etc.) en hoe de gebruiker ermee gaat werken.

Het directorylijstformulier bevat ook 1C-details die niet in de lijst staan: verwijderingsmarkering.

Dit zijn standaard 1C-details. Wat is het? Iedereen heeft een standaardset met 1C-details. Voor directories is dit bijvoorbeeld code en naam. Voor documenten is dit de datum en het nummer.

Standaard 1C-details kunnen als volgt worden bekeken:

  • Ga naar de editor van het 1C-object (map of document) door erop te dubbelklikken met de muis
  • In de editor die wordt geopend, selecteert u het tabblad Gegevens
  • Hier kunt u de standaardgegevens Code en Naam van de directory configureren
  • Klik op de knop 1C Standaarddetails om de volledige lijst te bekijken.

Algemene 1C-details

Vanaf versie 1C 8.2.14 is er een nieuw 1C-object verschenen in 1C - Algemene 1C-details. Hiermee kunt u een eigenschap (veld) toevoegen die in veel mappen en documenten tegelijk aanwezig zal zijn.

Eigenschappen van algemene 1C-attributen:

  • Automatisch gebruik – voegt algemene 1C-details in één keer toe aan alle mappen en documenten
  • Samenstelling - hiermee kunt u alleen algemene 1C-gegevens toevoegen aan de benodigde mappen en documenten (automatisch gebruik wordt dan ingesteld op Niet gebruiken).

1C-details toevoegen

Klik met de rechtermuisknop op de tak 1C Details van de gewenste map en selecteer Toevoegen.

We moeten de naam van het 1C-attribuut invoeren, bijvoorbeeld 'Kantooradres' en het synoniem 'Kantooradres'. Laat het standaardtype String staan, maar vink het selectievakje Onbeperkte lengte aan.

Laten we op dezelfde manier nog een 1C-attribuut toevoegen, alleen selecteren we het Booleaanse type en noemen dit 'Werkt in het weekend'.

Details weergeven op een 1C-formulier (1C Thick Client)

Laten we de Forms-tak van dezelfde map uitbreiden. Om het formulier te openen, selecteert u het elementformulier en dubbelklikt u erop met de muis.

Versleep de rand van de vorm met uw muis en rek deze uit (optioneel).

Klik in het configuratorpaneel op de knop ‘Gegevensplaatsing’. U kunt ook het menu Formulier/Gegevensplaatsing gebruiken.

U ziet dat onze gegevens niet op het formulier worden weergegeven. Controleer ze. En ook de selectievakjes Labels invoegen en Automatisch plaatsen.

Details weergeven op het 1C-formulier (1C thin client)

Laten we de Forms-tak van dezelfde map uitbreiden. Selecteer de vorm van het element en dubbelklik erop met de muis.

Vouw op het tabblad Details de objectregel uit. U ziet een lijst met details die eerder aan de map zijn toegevoegd.

Sleep nu gewoon het gewenste attribuut van het rechtervenster naar het linkervenster en het zal op het formulier verschijnen.

Formulier 1C-details

In de dikke client heeft het formulier zijn eigen details. Ze bevinden zich op het tabblad Details.

Deze gegevens worden niet in de database opgeslagen, maar kunnen op het formulier worden gebruikt voor de velden die nodig zijn om met het formulier te werken.

U hebt bijvoorbeeld een vinkje aan het formulier toegevoegd. Als je erop klikt, gebeurt er iets op het formulier. De betekenis van het selectievakje maakt voor u niet uit (u hoeft het niet op te schrijven) - het wordt alleen gebruikt om van formulier te wisselen wanneer u ermee werkt. In dit geval gebruik je niet het directory-attribuut als data, maar het form-attribuut.

Periodieke gegevens 1C

In 1C versie 7.7 waren er periodieke details. Hun betekenis is deze: de betekenis van de rekwisieten is op verschillende data verschillend. De waarde op 1 september is bijvoorbeeld één en op 1 oktober een andere. Dezelfde rekwisieten.

In 1C 8 zijn er geen periodieke details. Dit wordt als volgt geïmplementeerd: