1c laajennusmoduuliobjekti. Julkaisut. Omien objektien luominen kokoonpanolaajennuksessa

Kokoonpanon laajennusmekanismi on erityinen mekanismi, joka on suunniteltu muokkaamaan laajennettavaa kokoonpanoa muuttamatta tätä kokoonpanoa (mukaan lukien ilman tuen poistamista).

Konfiguroinnin laajennusmekanismia harkittaessa käytetään seuraavia termejä:

  • Laajennettava kokoonpano– tietokannan pääkokoonpano, jolle laajennusta haetaan tai jolle laajennusta kehitetään.
  • Määrityslaajennus– joukko konfiguraatioobjekteja, jotka on yhdistetty laajennettavaan kokoonpanoon ja sisältää joukon laajennettavaan kokoonpanoon lisättyjä objekteja. Laajennus voi sisältää sekä laajennetun kokoonpanon objekteja että objekteja, jotka eivät ole laajennetussa kokoonpanossa.
  • Oma esine– itsenäinen konfiguraatioobjekti, joka voidaan sijoittaa sekä laajennettavissa olevaan kokoonpanoon että laajennukseen (raportti, käsittely tai alijärjestelmä).
  • Lainattu esine– konfigurointilaajennukseen lisätty mukautettu objekti.
  • Laajentuva esine– oma objekti, jonka parametreja (ominaisuuksia, muotoja jne.) on muutettu lainatussa objektissa.
  • Laajentuva objekti on lainattu objekti, jota on muokattu suhteessa laajennettavaan kohteeseen. Se, että lainatussa esineessä on vain ohjattuja ominaisuuksia, ei tee lainatusta kohteesta laajennettavissa.
  • Tulosobjekti– tämä on sen oma objekti plus kaikkien ulottuvien objektien liitto (jos laajennuksia on useita). Jos omalle objektilleen ei ole laajennettavia objekteja, siitä tulee tuloksena oleva "ilman muutoksia". Nuo. kokoonpanossa, jolla käyttäjä työskentelee, kaikki objektit ovat tuloksena riippumatta asennettujen laajennusten olemassaolosta ja lukumäärästä.
  • Laajentuva omaisuus– lainatun kohteen ominaisuus, joka muuttaa laajennetun objektin samannimisen ominaisuuden.
  • Hallittu omaisuus– lainatun kohteen ominaisuus, jonka arvo tarkistetaan liitettäessä laajennus laajennettuun kokoonpanoon. Jos laajennusta yhdistettäessä (1C:Enterprise-tilassa) laajennuksen ohjatun ominaisuuden arvo ei vastaa saman ominaisuuden arvoa laajennetussa kokoonpanossa, laajennusta ei yhdistetä.
  • Muokattava omaisuus– lainatun kohteen ominaisuus, jonka arvo tuloksena olevassa esineessä saadaan laajennuksesta.

Lainatun kohteen ominaisuutta ei voi sekä hallita että muokata.

Kokoonpanon laajentamisen päätarkoitus on jalostaa sovellusratkaisua toteutuksen aikana (tai "pilvessä") asiakkaan tarpeiden mukaan. Tässä tapauksessa muokattavaa kokoonpanoa ei tarvitse poistaa tuesta. Tämän seurauksena tuetun vakiosovellusratkaisun päivittäminen on edelleen helppoa ja siihen on tehtävä muutoksia. Kun kehität laajennusta, sinun tulee ymmärtää joitakin määrityslaajennuksen toiminnan ominaisuuksia. Näin ollen laajennettavaa konfiguraatiota voidaan muuttaa milloin tahansa, esimerkiksi päivityksen seurauksena. Samanaikaisesti laajennuksen kehittäjä ei voi millään tavalla vaikuttaa päivityksen mahdollisuuteen tai mahdottomuuteen. Sinun tulee myös ottaa huomioon, että järjestelmässä voi toimia useampi kuin yksi laajennus, ja kunkin laajennuksen kirjoittaja (yleensä) ei tiedä, miten toinen laajennus toimii.

Laajennus luodaan konfiguraattorissa, tallennetaan tietokantaan ja voidaan tallentaa tiedostoon. Jos haluat lisätä (liittää) tiedostoon tallennetun laajennuksen tietyn asiakkaan sovellusratkaisuun, konfiguraattoria ei tarvitse käyttää. Voit liittää laajennuksen käyttämällä erityistä vakiotoimintoa (Kaikki toiminnot – Vakio – Hallitse kokoonpanolaajennuksia). Voit myös liittää laajennuksen käyttämällä sovellusratkaisun työkalupakkia, joka käyttää alustan tarjoamaa ohjelmointirajapintaa. Laajennuksen yhdistäminen (interaktiivisesti tai sisäänrakennetulla kielellä) on mahdollista joko suojaamattomassa tilassa tai siinä tapauksessa, että suojausprofiili, jossa istunto on käynnissä, sallii pääsyn yhdistettyyn laajennukseen.

Laajentuvat objektit voivat olla:

  • Hallitut lomakkeet;
  • Roolit;
  • Osajärjestelmät;
  • Sovellusratkaisun kotisivun (työpöydän) asetukset;
  • Yleiset moduulit;
  • Objektimoduulit kaikentyyppisille objekteille;
  • Hallintamoduulit kaikentyyppisille objekteille;
  • Session moduuli;
  • Hallittu sovellusmoduuli;
  • Ulkoinen liitäntämoduuli;
  • Komentomoduulit.

Seuraavat voivat toimia omina laajennusobjekteinasi:

  • Osajärjestelmät;
  • Käsittely;
  • Raportit;
  • Yksityiskohdat, taulukkoosat ja taulukkoosien yksityiskohdat lainatussa käsittelyssä ja raporteissa;
  • Roolit;
  • XDTO-paketti;
  • Web palvelut;
  • HTTP-palvelut;
  • WS linkit;
  • Yleiset asettelut;
  • Yleiset komennot;
  • Yhteiset moduulit (paitsi globaali palvelin ja etuoikeutetut yhteiset moduulit);
  • Joukkueryhmät;
  • Yleiset kuvat;
  • Lainattujen objektien lomakkeet, asettelut ja komennot:
  • Vaihtosuunnitelmat;
  • Valintakriteeri;
  • Asetusten tallennustila;
  • Hakemistot;
  • Asiakirjat;
  • Asiakirjalokit;
  • Siirrot;
  • Raportit;
  • Käsittely;
  • Tietorekisterit;
  • Keräysrekisterit;
  • Kirjanpitorekisterit;
  • Laskentarekisterit;
  • Ominaisuustyyppien suunnitelmat;
  • Tilikartat;
  • Laskentatyyppien suunnitelmat;
  • Liiketoimintaprosesseja;
  • Tehtävät;
  • Taulukot ulkoisista tietolähteistä;
  • Ulkoisten tietolähteiden kuutiot;
  • Mittataulukot ulkoisista tietolähteistä.

Valvotuista kiinteistöistä on syytä mainita erityisesti:

  • Vaihtosuunnitelman kokoonpano;
  • Ennalta määritellyt elementit hakuteoksille, tunnustyyppien suunnitelmat, tilikartat ja laskentatyyppien suunnitelmat.

Sovellusratkaisujen perusversiot eivät tue työskentelyä laajennusten kanssa.

Virhe liitettäessä laajennusta... for 1C:Accounting 8.3, edition 3.0

2016-12-08T16:04:02+00:00

Tässä ohjeessa kerron, kuinka käsitellä seuraavanlaista virhettä: "Virhe liitettäessä laajennusta: NameExtensions..." 1C:Accounting 8.3:lle, painos 3.0.

ladata":

6. Napsauta sen jälkeen "Käynnistä uudelleen" -painiketta:

1C käynnistyy uudelleen ja laajennuksen uusi versio toimii ilman virheitä.

Poista laajennus käytöstä

Jos laajennuksen uutta versiota ei voi saada tai päätät hylätä sen muista syistä, sinun on:

1. Kirjaudu tietokantaan käyttäjätilassa.

2. Avaa "Kaikki toiminnot" -valikko ():

3. Laajenna avautuvassa valintaikkunassa "Standard"-kohde ja valitse "Hallinnoi määrityslaajennuksia" -käsittely:

4. Etsi tästä asennettujen laajennusten joukosta tarvitsemasi laajennus (virheilmoituksessa olevan nimen mukaan), valitse se ja paina painiketta " Poistaa":

Tämän jälkeen laajennus poistetaan tietokannasta (se ei enää toiminut) eikä virheilmoitusta enää näy ohjelmaa avattaessa.

Ystävällisin terveisin, Vladimir Milkin(opettaja ja kehittäjä).

Ohjelmiston räätälöintitarve, ts. sen tietyn käyttäjän tarpeita vastaavat muutokset ilmestyivät luultavasti samanaikaisesti itse ohjelmiston kanssa. Kaikkia tyydyttävän ohjelman kirjoittaminen on vaikeaa, ja siksi muutosten mahdollisuus on hyvä rakentaa ilman ohjelman valmistajaa. Varsinkin kun on kyse yrityssovelluksista, koska... liiketoimintaprosessit, jopa samoilla alueilla, voivat vaihdella organisaatioittain.

Lähdekoodin muuttaminen

On olemassa erilaisia ​​räätälöintistrategioita. Jos sovellus toimitetaan lähdekoodina, ilmeisin tapa on kirjoittaa lähdekoodi uudelleen tarpeidesi mukaan. Ja ilmeisin ongelma tässä tapauksessa on siirtyminen sovelluksen uuteen versioon, koska... se edellyttää asiakaspuolella muokatun version ja toimittajan uuden version lähdekoodien yhdistämistä. Ja tämä voi olla ei-triviaali tehtävä, varsinkin jos asiakaspuolen koodi on erittäin räätälöity.

Plugins

Turvallisempi strategia tässä suhteessa ovat laajennukset. Lähdesovellus tarjoaa laajennukselle kiinteät rajapinnat sekä mahdollisuuden rekisteröityä sovellukseen. Kun sovelluksesta julkaistaan ​​uusi versio, edelliseen versioon kirjoitetut lisäosat toimivat edelleen uudessa versiossa (edellyttäen, että käyttöliittymät pysyvät muuttumattomina). Lisäosat voivat toimia eri tavalla uudessa versiossa kuin edellisessä versiossa, jos ohjelmistotoimittaja on muuttanut sovelluksen toimintaa. Lisäosien käsitettä käytetään monenlaisissa ohjelmistoluokissa - toimisto- ja yritysohjelmistoissa, kehitysympäristöissä (Visual Studio, Eclipse, ...), grafiikka- ja äänieditoreissa jne.

Tilaukset

Toinen mukautustekniikka on mahdollisuus tilata tapahtumia sovelluksessa ja suorittaa mukautettua koodia tunnetulla tai omalla kielellä näiden tapahtumien aikana. Tapahtumat voivat olla erilaisia ​​- ikkunan avaaminen, kuvan lataaminen (graafiselle editorille), tilauksen käsittely (yritysjärjestelmälle).

Yksi tämän lähestymistavan muunnelma on rakentaa pääohjelmaan kyky suorittaa mukautettuja komentosarjoja kielillä, kuten Visual Basic for Application (VBA). Mukautettu koodi voidaan suorittaa erityisesti vastauksena sovellustapahtumiin. Sama VBA on osoittautunut erittäin tehokkaaksi ja joustavaksi mukauttamiskeinoksi; se on sisäänrakennettu Microsoft Office-, AutoCAD-, SolidWorks-, CorelDRAW-, WordPerfect-, ESRI ArcGIS- ja muihin tuotteisiin.

Räätälöinti 1C-ratkaisuissa: alku

1C:Enterprise-alusta toteuttaa erilaisia ​​mukautusstrategioita. Koska 1C-sovellusratkaisut toimitetaan lähdekoodina, yksi ilmeisimmistä skenaarioista on luonnollisesti lähdekoodin muuttaminen.

1C-sovellusten lähdekoodin muuttaminen

Kun asiakas muuttaa 1C-ratkaisun lähdekoodia tarpeidensa mukaan, hänen on muistettava, että sovellustoimittaja ei myöskään ole toimettomana ja julkaisee uusia versioita, jotka lisäävät toimintoja ja korjaavat virheitä. Jotta sovelluksen uutta versiota asennettaessa voidaan varmistaa, että asiakkaan tarpeiden mukaan tehdyt muutokset eivät katoa, sinun on jotenkin yhdistettävä muokattu aiempi sovelluksen versio ja uusi versio.

Luonnollisesti me 1C:llä kiinnitimme tähän tehtävään suurta huomiota ja kehitimme toimitus- ja tukimekanismin helpottamaan sen ratkaisemista. Ennen kuin kerron, kuinka se toimii, muutama yksityiskohta 1C-ratkaisujen sisäisestä rakenteesta.

1C-sovellusratkaisun lähdekoodit ja metatiedot (konfiguraatiot) tallennetaan tietokantaan, samaan, johon on tallennettu itse sovelluksen tiedot (lähetykset, tiedot hakemistoista ja dokumenteista jne.), ts. ohjelma tallennetaan tietojen mukana. Tietokantaa, jossa on konfiguraatio (ja sovellustiedot) 1C-terminologiassa, kutsutaan tietokantaksi (lyhennettynä tietokanta).

Konfiguroinnin toimittaja määrittää kehitysprosessin aikana, mitä konfiguraatioobjekteja (hakemistoja, dokumentteja jne.) asiakas voi muuttaa ja mitä ei.

Toimituksen asettaminen toimittajan puolelle

Asiakas voi puolestaan ​​tätä mekanismia käyttäen määrittää myös säännöt toimittajan toteutetun konfiguraation kohteiden tukemiseksi - esimerkiksi se voi kieltäytyä toimittajan tuesta tietylle kohteelle, jos se ottaa vastuun toimittajan lisämuokkauksista. tämä esine. Tai päinvastoin, voit kieltää "oman" konfiguraation kohteen muokkaamisen (vaikka toimittaja sallisi sen) vahingossa tapahtuvien muutosten varalta.

Asiakaspuolen tuen määrittäminen

Kun asiakas alkaa muuttaa jotain vakiokokoonpanossa, tietokantaan luodaan kaksi kokoonpanoa:

  1. Alkuperäinen toimittajan kokoonpano.
  2. Nykyistä kokoonpanoa on muokattu asiakaspuolella.
Ja nyt toimittaja julkaisee uuden version. Se voidaan toimittaa täydellisenä sovelluksena tai päivityspaketina muokatuilla objekteilla. Uuteen versioon siirryttäessä meillä on asiakaspuolella 3 konfiguraatiota, joiden perusteella suoritetaan ns. kolmisuuntainen konfiguraatioiden yhdistäminen:
  1. Vanha kokoonpano myyjältä.
  2. Asiakkaan nykyinen kokoonpano (vanha kokoonpano toimittajalta sekä asiakkaan siihen tekemät muutokset).
  3. Uusi konfiguraatio toimittajalta.
On selvää, että joissakin tapauksissa toimittajan muokkaamat objektit voidaan päivittää automaattisesti:
  • Objektit, joita asiakas ei ole muokannut.
  • Yksinkertaiset muutokset asiakaspuolen objekteihin (esimerkiksi lisätietojen lisääminen objektiin).
Siinä tapauksessa, että kohdetta on muutettu sekä asiakkaan puolella että toimittajan uudessa versiossa, manuaalinen puuttuminen on tarpeen. Meillä on tehokas vertailu- ja yhdistämismekanismi paitsi koodimoduuleille, myös malleille (metadata, lomakkeet, raportit...), mutta jopa tällä mekanismilla konfiguraatioiden yhdistäminen voi olla ei-triviaali tehtävä.

Ulkoiset raportit ja käsittely

Toinen uusiin versioihin siirtymisen kannalta suhteellisen turvallinen mukautusmekanismi on ulkoisten raporttien ja käsittelyn mekanismi. Kuten nimestä voi päätellä, molemmat objektit - ulkoiset raportit ja ulkoinen käsittely - ovat sovellusratkaisun ulkopuolisia, tallennetaan erillisiin tiedostoihin ja ladataan sovellusratkaisuun suoritushetkellä. Siten uuteen versioon siirtyminen ei vaikuta niihin ollenkaan. Mutta jos uudessa versiossa kohteen tiedot on poistettu tai nimetty uudelleen ja käsittely tai raportti viittaa niihin, raportti tai käsittely ei toimi uudessa versiossa ilman muutoksia.

Ulkoiset raportit ja käsittely ovat pohjimmiltaan laajennuksia. Ne soveltuvat hyvin "muokattuihin" raportteihin ja tiettyihin datatoimintoihin (esimerkiksi tiedon tuomiseen muista järjestelmistä), mutta ne eivät tietenkään kata kaikkia räätälöintiskenaarioita. Jos asiakkaan on lisättävä tietty koodi, joka tulee suorittaa dokumenttia kirjattaessa, ulkoinen käsittely ei riitä - dokumenttimoduulin lähdekoodia on muokattava.

Räätälöinti pilvissä

Pilviteknologian 1cFresh myötä räätälöintitehtävä on saavuttanut uuden tason. Tosiasia on, että "pilvessä" eri organisaatioiden sovellusratkaisun käyttäjät voivat fyysisesti työskennellä yhden tietokannan (eli yhden sovelluksen esiintymän) kanssa, mutta samalla tiedonjakomekanismin ansiosta he näkevät vain organisaationsa tiedot. Räätälöinti lähdekoodin muuttamisen kautta tulee tässä mahdottomaksi - jokainen organisaatio tarvitsee omat mukautuksensa, eikä tietokannassa ole minkäänlaista tarvetta mukauttaa "naapureita".

Pilvessä vain ulkoisten raporttien ja käsittelyn käyttö soveltuu mukauttamiseen, mutta kuten edellä mainittiin, ulkoiset raportit ja käsittely eivät kata kaikkia käyttäjien tarvitsemia skenaarioita.

Määrityslaajennukset

Joten meidän piti keksiä mukautusmekanismi, joka täyttäisi seuraavat vaatimukset:
  1. Sen avulla voit helposti päivittää mukautetun ratkaisun uuteen versioon välttäen kokoonpanojen yhdistämisen manuaalista työtä.
  2. Salli meidän sallia räätälöinnin tietyissä olosuhteissa (esimerkiksi jos työskentelemme tietyn organisaation yhteydessä).
  3. Vähensi todennäköisyyttä, että mukauttaminen menettää toiminnallisuutensa, kun vaihdetaan alkuperäisen kokoonpanon uuteen versioon.
  4. Pystyi poistamaan räätälöinnin käytöstä ongelmatilanteissa sovelluksen toimivuuden säilyttämiseksi.
Tällainen mekanismi helpottaisi sen lisäksi, että sitä käytetään pilviratkaisuissa, uuteen versioon siirtyessä, kun toteutetaan vakiokonfiguraatioita, joissa räätälöinti on välttämätöntä.
Keksimme tällaisen mekanismin ja kutsuimme sitä laajennuksiksi. Tämä mekanismi yhdistää tietyssä mielessä kaksi lähestymistapaa mukauttamiseen - liitännäisten ideologian ja tilausmekanismin.

Laajennukset ovat tapa pitää kokoonpanomuutokset erillään itse kokoonpanosta. Laajennus on itse asiassa erillinen konfiguraatio, joka sisältää muokattuja objekteja. Se, kuten kokoonpano, esitetään objektien puuna. Laajennuksen kanssa työskentelyyn käytetään samoja työmenetelmiä kuin tavallisessa määrityksessä:

Jos haluamme käyttää päämäärittelyssä olevaa objektia laajennuksessa (esimerkiksi lisätä uuden lomakkeen päämäärittelyssä olevaan dokumenttiin), meidän on ensin lainattava objekti laajennukseen "Lisää laajennukseen" -komennolla. . Välittömästi sen jälkeen, kun objekti on lisätty laajennukseen, se on "tyhjä" laajennuksen objektipuussa - sillä on vain ne ominaisuudet, jotka ovat pääkokoonpanossa. Voit myös lainata olemassa olevan lomakkeen pääkonfiguraatiosta ja lisätä siihen esimerkiksi uuden painikkeen, joka suorittaa tietyn toiminnon. Laajennuksissa oleviin objekteihin ei ole vielä mahdollista lisätä uusia yksityiskohtia, mutta työstetään sitä.

Peruskokoonpano ja laajennus lainatulla asiakirjalla InvoiceIssued

Laajennuksella on myös analoginen tapahtumatilaus - kyky käsitellä laajennetun kokoonpanon objektien tapahtumia, esimerkiksi tietueiden käsittelyä. Voit määrittää tarkalleen, kuinka koodiamme kutsutaan laajennuksessa:

Ennen dokumentin tallentamisen vakiomenettelyä voimme kutsua koodimme, joka esimerkiksi tarkistaa, onko asiakirjasta vastaavan työntekijän kenttä täytetty, ja jos ei, kirjoittaa nykyisen käyttäjän tähän kenttään:

&After("BeforeWrite") Procedure ExpandAndromeda_BeforeWrite(Failure, WriteMode, PostMode) If (ThisObject.Responsible = Directories.Users.EmptyLink()) Then ThisObject.Responsible = ModuleUsers.GetCurrentUser(); loppu Jos; Menettelyn loppu
Kokoonpanon uudessa versiossa dokumenttien tallennuksen toteutus saattaa muuttua, mutta laajennuksessa oleva koodimme toimii edelleen ennen normaalia dokumentin tallennuskoodia ja tekee tehtävänsä.

Suorituksen aikana vakiokokoonpano ja laajennukset (niitä voi olla useita) "summautuvat yhteen", mikä johtaa uuteen, mukautettuun kokoonpanoon, jolla loppukäyttäjä työskentelee.

Laajennuksen täytäntöönpanomääräys

Kun kehität laajennuksia, ota huomioon, että alusta ei takaa, että laajennukset toimivat samassa järjestyksessä, kun lisäät kokoonpanoon useita laajennuksia. Luovuimme tarkoituksella laajennuksien suoritusjärjestyksen nimenomaisesta määrittämisestä, koska Mielestämme tämä vaikeuttaa asennusta ja aiheuttaa lopulta enemmän ongelmia kuin ratkaisee.

Jos lisäämme konfiguraatioon useita laajennuksia, joista jokaisessa on käsittely saman asiakirjan käsittelemiseksi "&After" -käskyllä, kaikki käsittelijät suoritetaan, mutta alusta ei takaa, että niiden suoritusjärjestys on aina sama . Tämä on otettava huomioon laajennuksia kehitettäessä.

Jos samalle tapahtumalle on käsittelijöitä useissa laajennuksissa "&Instead"-käskyllä, suoritetaan vain yksi käsittelijä, jota ei voida sanoa etukäteen. Tämä on muistettava ja valvottava, jotta vain yhdellä kokoonpanon laajennuksella ei ole &Instead-käsittelijää samalle objektille/tapahtumalle.

Lomakkeiden mukauttaminen laajennuksissa

Voimme lainata objektin muotoa konfiguraatiosta laajennukseen (esimerkiksi asiakirjan muotoon). Samanaikaisesti laajennuksen visuaalisen lomakkeen editorissa näemme lomakkeen saman kuin pääkokoonpanossa. Ja lomakekoodieditorissa laajennus on tyhjä - kaikki lomakkeen koodi sisältyy tällä hetkellä vain pääkokoonpanoon.

Voit lisätä lomakkeeseen uuden painikkeen (tai jopa useita). Jos useat laajennukset lisäävät omat painikkeensa samaan lomakkeeseen, ne kaikki ovat läsnä lopullisessa lomakkeessa suorituksen aikana.

Mutta ei ole suositeltavaa poistaa vakioelementtejä lomakkeesta - tämä voi rikkoa alkuperäisessä kokoonpanossa olemassa olevan koodin (jos se käyttää lomakeelementtejä). Jos sellainen tarve on, on parempi tehdä elementeistä näkymättömiä "Visibility" -ominaisuuden kautta.

On otettava huomioon, että 1C:Enterprisen sovellus ei ole vain ohjelmointikielen koodia. Suurin osa sovelluksista on kuvattu deklaratiivisten mallien muodossa. Lisäksi eri tehtäviin käytetään erilaisia ​​malleja (lomakkeet, raportit, oikeudet, ....). Jokaiselle mallityypille valitsemme laajennuksissa oman räätälöintitapamme, joka tarjoaa kätevimmän muutoksen tyypillisiin tapauksiin.

Laajennusten edut

Laajennuksilla on ideologinen ero toimitus- ja tukimekanismiin verrattuna. Toimitus- ja tukimekanismissa kehittäjä muokkaa toimittajan määrityksiä haluamallaan tavalla, ikään kuin hän vain viimeistelisi määrityksensä, ja sitten (päivityksen yhteydessä) selvittää, kuinka ristiriitaiset muutokset synkronoidaan. Laajennuksissa kehittäjä kehittää heti aluksi itse laajennuksen - lisättyjen toimintojen suhteen. Järjestelmä tallentaa laajennuksen lisäosana ja järjestelmä huolehtii turvallisimmasta päivityksestä.

Helppo siirtyminen uuteen kokoonpanoversioon

Kun toimittaja julkaisee uuden version vakiokokoonpanosta, automaattinen päivitys suoritetaan, koska vakiokokoonpanon tukitila ei ole muuttunut – toimittaja tukee sitä edelleen. Ja kun käynnistät päivitetyn sovellusratkaisun, alusta yhdistää automaattisesti muuttuneen vakiokokoonpanon laajennuksen kanssa. Ja asiakas jatkaa työskentelyä hänen tarpeisiinsa muokatun vakioratkaisun parissa.

Joskus vakiokokoonpanon version päivityksen jälkeen voi olla tarpeen mukauttaa laajennus uuteen versioon, esimerkiksi jos uudessa versiossa laajennuksen mukana olevat objektit tai objektien tiedot nimetään uudelleen. Tästä hieman lisää alla, osiossa "Varhainen virheilmoitus".

Muutokset ovat erillisiä

Laajennusten ensimmäinen ilmeinen etu on, että kaikki asiakkaalle tehdyt mukautukset ovat erillisiä vakiokokoonpanosta, eikä nyt tarvitse verrata muutettua konfiguraatiota vakiokokoonpanoon ymmärtääksesi, mitä tarkalleen on muutettu.

On jo mainittu, että voidakseen käyttää pääkonfiguraation kohdetta laajennuksessa, se on lainattava laajennukseen pääkonfiguraatiosta. Siten laajennuksessa näkyy jotain, kuten linkki pääkokoonpanon objektiin.

Samalla on tapa ymmärtää, mitä lainattuja objekteja konfiguraatiossa on todella muutettu ja mitkä lainattu vain luku -tilassa - esimerkiksi käytettäväksi raporteissa. Laajennusobjektien puussa on suodatinpainike ”Muutettu ja lisätty laajennukseen”, jonka napsautuksen jälkeen puuhun jäävät vain tässä laajennuksessa muokatut lainatut objektit ja tässä laajennuksessa luodut uudet objektit.

Varhainen varoitus virheistä

Oletetaan, että lainasimme sopimushakemiston pääkokoonpanosta laajennukseen käyttääksemme sitä raportissa. Sillä välin julkaistiin uusi versio vakiokokoonpanosta, jossa Contracts-hakemisto nimettiin uudelleen Sopimukset. Luonnollisesti uuteen versioon vaihtamisen jälkeen laajennuksen raporttimme ei toimi. Jos olisimme käyttäneet vanhaa räätälöintitekniikkaa - ulkoista raporttia, niin virhe olisi tapahtunut vasta raportin suoritushetkellä. Laajennusten osalta meillä on mahdollisuus tarkistaa laajennusten oikeellisuus suunnittelun aikana vakiokonfiguraatioversion päivityksen jälkeen ja korjata kaikki ongelmat ennen käyttäjien aloittamista.

Tämä pätee erityisesti toteutuksissa, joissa yhdessä tietokannassa käytetään useita laajennuksia ja konfigurointiversio päivitetään keskitetysti (esimerkiksi pilvitoteutuksissa, joissa eri organisaatiot, jotka käyttävät samaa kokoonpanoa, mutta työskentelevät eri tietoalueilla, voivat käyttää eri sarjoja laajennukset). Järjestelmänvalvoja voi päivittää vakiokokoonpanon version testipohjalta ja tarkistaa kaikkien käyttäjälaajennusten oikeellisuuden suhteessa uuteen versioon. Ongelmatilanteissa hän ilmoittaa niistä laajennusten omistajille, ja työkannan siirtyminen uuteen vakiokokoonpanon versioon tehdään vasta, kun kaikki laajennukset on saatettu vastaamaan kokoonpanon uutta versiota.

Mitä seuraavaksi?

Pidämme laajennusten kehittämistä yhtenä pääsuunnasta räätälöintityökalujen kehittämiseen 1C:Enterprise-alustalla. Laajennukset, jotka alun perin suunniteltiin helpottamaan räätälöimistä pilvipalvelussa, on suunniteltu helpottamaan sekä räätälöintitilanteita että muita kuin pilvipalveluita.

Vaikka et voi mukauttaa kaikkea mitä haluat laajennuksissa. Esimerkiksi uusia sovellusobjekteja (hakemistoja, dokumentteja jne.) ei voi vielä luoda, eikä ole mahdollista lisätä uusia yksityiskohtia olemassa oleviin sovellusobjekteihin. Työskentelemme tämän (ja myös muiden ominaisuuksien) parissa, ja lähes jokaisessa uudessa 1C:Enterprise-alustan versiossa lisäämme uusia ominaisuuksia laajennuksiin: Lisää tunnisteita

Alkaen 1C:Enterprise-alustan versiosta 8.3.6, siihen ilmestyi mekanismi kokoonpanolaajennukset.

Sen avulla voit ottaa käyttöön uusia ja määritellä uudelleen olemassa olevia toimintoja muuttamatta pääkokoonpanoa (laajennettavaa). Näin ollen meillä on paljon uusia mahdollisuuksia, jotka eivät aiemmin olleet käytettävissä.

Uusia mahdollisuuksia

Rajoitukset

Tietysti on rajoituksia:

  • Laajennukset voivat lisätä vain rajoitetun joukon uusia metatietoja. Näitä ovat alijärjestelmät, roolit, raportit, käsittely ja joitain muita.
  • Joissakin tilanteissa virheenkorjauksessa voi olla ongelmia.

Käyttöesimerkki

Katsotaanpa esimerkkiä siitä, kuinka voit ohittaa yleisen moduulimenettelyn kokoonpanolaajennuksella. Eli tämä on tilanne, kun meidän on nopeasti korjattava jokin virhe julkaisematta julkaisua ja päivittämättä pääkokoonpanoa. Oletetaan siis, että meillä on yhteinen moduuli professia1c_ry_Extensions.

Ja se sisältää yksinkertaisimman menettelyn, joka näyttää viestin:

Procedure OutputMessage() Export Message = Uusi viestiKäyttäjälle; Viesti. Teksti = "Tämä on peruskokoonpano"; Viesti. Raportoida() ; Menettelyn loppu

Nyt näytetään toinen viesti käyttämällä laajennusta. Ensinnäkin meidän on tietysti luotava itse laajennus. Valitse konfiguraattorin valikosta Configuration - Configuration Extension


Napsauta avautuvassa ikkunassa painiketta Lisätä ja täytä kentät laajennuksen ominaisuuksilla. Kentät Nimi Ja Synonyymi ei vaadi kommentteja. Etuliitettä käytetään sen laajennusmenettelyn nimessä, joka korvaa alkuperäisen. Ja listalla Tarkoitus Valitsemme kolmesta mahdollisesta vaihtoehdosta (korjaus, mukauttaminen, lisäys). Korjaus:

Poista seuraavaksi laajennusluettelon valintaruudut "Vikasietotila, suojausprofiilin nimi" Ja "Suojaus vaarallisilta teoilta":


Näin loimme laajennuksen. Mutta jos avaamme sen kaksoisnapsauttamalla, näemme sen metatietopuun olevan tyhjä. Ja nyt meidän on lisättävä laajennukseen yleinen moduuli.

Voit tehdä tämän napsauttamalla pääkokoonpanon metatietopuussa hiiren oikealla painikkeella haluttua yhteistä moduulia ja valitsemalla "Lisää laajennukseen":


Ja nyt laajennus näyttää tältä:

Mutta jos katsomme yleisen laajennusmoduulin koodia, näemme sen olevan tyhjä. Ja seuraava vaihe on lisätä siihen menettely. Siirrymme jälleen pääkokoonpanoon, avaa yhteisen moduulin koodi, napsauta hiiren kakkospainikkeella menettelyä, valitse kohde uudelleen "Lisää laajennukseen" ja valitse avautuvasta ikkunasta puhelun tyyppi Soita sen sijaan:

Tämän seurauksena yleiseen laajennusmoduuliin lisätään menettely seuraavalla koodilla:

&Sen sijaan("OutputMessage") Toimenpideviestit_OutputMessage() // Lisää menetelmän sisältö. ContinueCall() ; Menettelyn loppu

Kuten näet, toimenpiteen nimi sisältää etuliitettä, joka määritettiin laajennusta luotaessa. Nyt ei jää muuta kuin muokata menettelykoodia tarpeen mukaan:

&Sen sijaan("OutputMessage") Toimenpide Messages_OutputMessage_() Message = Uusi viestiKäyttäjälle; Viesti. Text = "Tämä on laajennus" ; Viesti. Raportoida() ; Menettelyn loppu

Ja nyt voimme helposti varmistaa, että suoritamme laajennuskoodin päämäärityskoodin sijaan, jos suoritamme seuraavan koodin:

Professia1c_ry_Extensions. OutputMessage() ;

Käyttäjät haluavat usein muuttaa vakioratkaisuja omien tarpeidensa mukaan. Aina ei ole mahdollista ratkaista ongelmaa käyttämällä ulkoista käsittelyä tai raportteja, ja siksi standardiratkaisuihin on tehtävä muutoksia.

Päivityksiä julkaistaan ​​säännöllisesti vakiokokoonpanoille. Jotta päivitykset suoritettaisiin automaattisesti, konfiguraatiota on tuettava ilman muutoksia. Jos sallit muutokset, automaattiset päivitykset eivät ole käytettävissä. Ja jotta voit suorittaa päivityksen manuaalisesti, sinun on otettava yhteyttä asiantuntijoihin. Muutettujen kokoonpanojen päivittäminen voi kestää kauan tehtyjen muutosten määrästä riippuen.

Alustaversiosta 8.3.6 alkaen on ilmestynyt uusi tapa tehdä muutoksia - "Asetuslaajennukset". Tätä menetelmää käytettäessä kokoonpano ei muutu, minkä ansiosta voit säilyttää mahdollisuuden päivittää automaattisesti. Määrityslaajennukset luodaan ja niitä muokataan konfigurointitilassa. Jotta voit avata ikkunan laajennusten katselua ja muokkaamista varten, sinun on siirryttävä päävalikkoon: Kokoonpano-> Asetuslaajennukset.


Laajennusmekanismi on uusi, joten muutosten lisääminen ei ole mahdollista kaikille metatieto-objekteille.
Esimerkki lisäämisestä.

Seuraavat toiminnot ovat käytettävissä laajennuksille:
Uusien raporttien lisääminen ja käsittely;
Hallittujen lomakkeiden muokkaaminen ja lisääminen;
Säännöllisten lomakkeiden lisääminen;
Komentoliittymän muutos saatavilla;
Roolien muokkaaminen;
Osajärjestelmien lisääminen ja niiden koostumuksen muuttaminen;

Jotta objekti olisi muokattavissa, se on lisättävä laajennukseen. Tee tämä valitsemalla objekti metatietopuusta ja napsauttamalla hiiren kakkospainikkeella ja valitsemalla "Lisää laajennukseen". Tämän jälkeen "Double"-elementti luodaan laajennuspuuhun. Esimerkiksi kun lisäät hakemiston "Nimikkeistö", sama hakemisto näkyy laajennuksessa. Tästä syystä samasta objektista on kaksi versiota. Yksi versio on pääkokoonpanossa ja toinen laajennuksessa. Kun käyttäjä työskentelee tämän objektin kanssa 1C:Enterprisessa, ohjelma vertaa nimen mukaan pääkokoonpanon versiota ja laajennuksen versiota ja soveltaa sitten muutokset laajennuksesta pääkokoonpanon objektiin. Jos objekteja ei voida täsmäyttää, näyttöön tulee virheilmoitus.

Laajennusten lataaminen ja lataaminen

Laajennukset voidaan ladata tiedostoon (*.cfe). Lataaminen on mahdollista konfiguraattorissa ja yrityksessä. Konfigurointitilassa laajennuksen muokkausikkuna avautuu yllä olevan kuvan mukaisesti. Yritystilassa laajennusten lataamiseen, purkamiseen ja poistamiseen käytetään erikoiskäsittelyä, joka avataan päävalikon kautta:
Kaikki toiminnot -> Vakio -> Hallitse kokoonpanolaajennuksia.


Voit lukea lisää toimenpiteiden ja toimintojen ohittamisesta artikkelista
.

Voit lukea lisää laajennuksen lisäämisestä kokoonpanoon artikkelista