Endre eller deaktiver kompatibilitetsmodus. Konfigurasjonsutvidelser - hvordan legge til funksjonalitet til en standardkonfigurasjon uten å fjerne støtte (20 minutters video) Hvilke utvidelser trengs for

I denne artikkelen foreslår jeg å vurdere hva en "konfigurasjonsutvidelse" er, hvordan du legger til en utvidelse eller deaktiverer den. Fra versjon 1C 8.3.6.1977 ble en ny mekanisme introdusert i plattformen - konfigurasjonsutvidelser. Først en liten teori.

I 1C er utvidelser noe sånt som parallelle konfigurasjoner som automatisk kombineres med hovedleverandørkonfigurasjonen. Dessuten kan du i utvidelser legge til både dine egne objekter og låne objekter i hovedkonfigurasjonen.

Hva er utvidelser til?

Først av alt lages utvidelser for å gjøre det enklere å gjøre endringer i programmet. Det vil si at hvis brukere ber om å legge til funksjonalitet, måtte programmerere fjerne konfigurasjonen fra full støtte og endre før utvidelsene dukket opp. typisk konfigurasjon.

Fjerning fra full støtte medfører en rekke ulemper:

  • muligheten går tapt automatisk oppdatering, som fører til minst en økning i tid for;
  • det kreves en høyt kvalifisert spesialist som betjener programmet;
  • hvis det ble gjort endringer i standardobjekter av en standardkonfigurasjon, kan de under en oppdatering forsvinne, det vil si at de kan erstattes igjen med standardobjekter fra leverandøren.

Når du bruker utvidelser, når du gjør endringer, vil ikke programmereren berøre standardkonfigurasjonen. Alle endringer vil bli gjort ved hjelp av utvidelser, som (som jeg skrev ovenfor) også er konfigurasjoner. På denne måten vil hovedkonfigurasjonen forbli fullt støttet.

Etter oppdatering av hovedkonfigurasjonen, hvis det er noen endringer i den nye utgivelsen til et objekt som tidligere ble endret av utvidelsen, vil endringene fortsatt bli tatt fra utvidelsen. Det vil si at utvidelser har høyere prioritet enn hovedkonfigurasjonen.

Video - utvidelser i 1C på 45 minutter

Få 267 videotimer på 1C gratis:

Et eksempel på å legge til en utvidelse til 1C

For å vise hva en utvidelse er, er det bedre å gi et eksempel på opprettelsen i 1C-konfiguratoren.

I konfiguratoren går du til "Konfigurasjon"-menyen og velger "Konfigurasjonsutvidelser". Et vindu åpnes med en liste over utvidelser (hvis noen). Klikk på "Legg til"-knappen og legg til en ny utvidelse. Nå kan du åpne utvidelseskonfigurasjonen:

Som du kan se, har utvidelseskonfigurasjonen nøyaktig samme struktur som den viktigste. Bare det er i utgangspunktet helt rent, uten gjenstander.

Jeg skrev nylig en artikkel om hvordan du lager det selv. Ved å bruke eksemplet hennes vil jeg gjøre det innebygd ved å bruke en utvidelse.

Under behandling har jeg et felt med en lenke til katalogen "Organisasjoner". Det er derfor jeg trenger denne guiden. Men vi vil ikke opprette en ny "Organisasjoner"-katalog, spesielt siden plattformen ikke tillater dette. Det er umulig for en utvidelseskonfigurasjon å inneholde objekter med samme navn som objekter i hovedkonfigurasjonen.

Derfor vil vi låne referanseboken fra hovedkonfigurasjonen:

Høyreklikk nå på "Behandler" og velg "Sett inn ekstern behandling, rapport..." La oss derfor legge til ny behandling i utvidelseskonfigurasjonen. Hvis du bruker behandlingen min, gi den umiddelbart nytt navn, siden hovedkonfigurasjonen allerede har en behandling med samme navn.

Vel, siste finpuss. Jeg vil at behandlingen min skal gjenspeiles i Administrasjon-menyen. For å gjøre dette vil vi låne undersystemet med samme navn fra hovedkonfigurasjonen. Ikke glem å angi i behandlingen at den tilhører dette undersystemet.

Dette er strukturen jeg kom opp med:

La oss se hva vi har. Vi oppdaterer databasekonfigurasjonen og starter programmet i 1C: Enterprise-modus, og går til "Administrasjon"-menyen. Ja, jeg glemte nesten, utvidelseskonfigurasjonen må lukkes, ellers starter ikke programmet:

En ny utgivelse av plattformen 8.3.11 er sluppet, som lar deg legge til og endre metadataobjekter gjennom en utvidelse. Kan vi virkelig nå implementere noen forbedringer uten å fjerne konfigurasjonen fra støtten? Er det verdt å love en klient fjell av gull uten konsekvenser?

Først av alt må du være klar over begrensningene som utvidelser har.

Begrensning på opprettede objekter

dette øyeblikket du kan lage:

  • Kataloger
  • Dokumentasjon
  • Informasjonsregistre
  • Utvekslingsplaner

Du kan legge til detaljer til:

  • Kataloger
  • Dokumentasjon

Hva ender vi opp med? Ikke alle typer metadataobjekter kan legges til. Den vanligste og mest populære, men fortsatt ikke alle. I tillegg kan ikke nye dimensjoner og ressurser legges til informasjonsregistre. Du kan bare opprette et helt nytt register.

Funksjonaliteten til utvidelser avhenger av kompatibilitetsmodusen til konfigurasjonen som utvidelsen brukes på.

Kompatibilitetsmodus 8.3.8- du kan bare endre formene til objekter og deres moduler, legge til egne rapporter og behandling.

Kompatibilitetsmodus 8.3.10- du kan endre generelle moduler, objekt- og ledermoduler, roller, bruk "Før", "Etter", "I stedet"-direktivene for alle moduler.

Kompatibilitetsmodus "Ikke bruk"- du kan bruke all funksjonaliteten til utvidelser, inkludert å legge til nye objekter.

For øyeblikket har standard UT 11.3 kompatibilitetsmodus 8.3.8. I UT 11.4 er kompatibilitetsmodusen 8.3.10, det vil si at for eksempel for UT er det meste av utvidelsesfunksjonaliteten ikke tilgjengelig, inkludert oppretting av metadataobjekter.

Dette ser ut til å stille spørsmålet: hvorfor ikke bare fjerne støtten til roten, sette kompatibilitetsmodusen til "Ikke bruk" og stille bruk av utvidelsene? Når du endrer kompatibilitetsmodus, kan oppførselen til skjemaer og søkeresultater endres, dvs. oppførselen til systemet som helhet. Det anbefales på det sterkeste å ikke endre kompatibilitetsmodus uten å ha testet først. Men det er åpenbart at det virker mulig å fullstendig teste (eller i det minste delvis teste dokumentene som brukes) en hel applikasjonsløsning. Derfor bør du ikke bruke dette alternativet.

Når du kobler en utvidelse til en standardkonfigurasjon og låner standardobjekter, kontrollerer utvidelsen kompatibilitetsmodusen til hovedkonfigurasjonen og typene lånte objekter og deres detaljer. Hvis de overvåkede egenskapene ikke samsvarer, er utvidelsen deaktivert og fungerer ikke før årsaken er eliminert. Det vil si at med en større oppdatering er det stor sannsynlighet for å endre minst én av de kontrollerte egenskapene og få utvidelsen til å miste funksjonalitet.


I tillegg, hvis endringene er betydelige, erstattes mange prosedyrer og funksjoner i standardkonfigurasjonen, det vil være nødvendig å nøye overvåke dem og, om nødvendig, bringe dem i tråd med standardkonfigurasjonen, og bevare de tidligere utførte endringene.


I de ovennevnte tilfellene vil du fortsatt trenge hjelp fra en programmerer og muligens betydelig tid for endring (men fortsatt mindre enn når du oppdaterer en konfigurasjon som er fjernet fra støtten).

konklusjoner

  • Den nye utgivelsen av plattformen ga nye muligheter for bruk av utvidelser, det ble mulig å legge til metadataobjekter, men til tross for dette har funksjonaliteten visse begrensninger.
  • Kompatibilitetsmodusen til konfigurasjonen som utvidelsen brukes på, begrenser utvidelsens muligheter sterkt. Det anbefales ikke å endre kompatibilitetsmodusen.
  • Store oppdateringer krever fortsatt oppmerksomhet fra utviklere, da det er stor sannsynlighet for å endre kontrollerte egenskaper.

Tema "ryddig" endringer i standarden konfigurasjoner er alltid oppdatert.

Ved hjelp av utvidelser blir det mulig å gjøre endringer uten å forlate konfigurasjonen Uten endringer(det er uten å fjerne låsen).

Som et eksempel vi la oss utvide standardfunksjonaliteten"1C: Regnskap 8" - vi vil legge til kontroller for fullstendighet av dokumentdetaljer. Som et resultat vil systemet utstede diagnostikk hvis detaljene er fylt ut med "feil" verdier.

Bokstavelig på 15 minutter Du vil lære teknikker som du kan bruke til å løse ulike problemer.

Dessuten, i den andre videoen vil vi vise universell mekanisme, basert på utvidelser. Og etter å ha utviklet en slik mekanisme en gang, kan den kobles til enhver standard konfigurasjon.

Drømmer om egen uforgjengelig kan bli virkelighet :)

Så la oss komme i gang:

Video 1. Teknikker for å jobbe med utvidelser – ved å bruke eksempelet «1C: Accounting 8»

Etter å ha studert videoen, vil du lære:

  • Opprett og koble til utvidelser til konfigurasjon
  • Innfri feilsøking utvidelser
  • Forbedre standardskjemaer behandling/dokumenter ved hjelp av utvidelser
  • Avskjær hendelser standard konfigurasjonsskjemaer
  • Lagre data ikke i informasjonssikkerhetstabeller (lagring av innstillinger)
  • Bruk behandlinger som algoritmelager

Vi skal også se på optimalisering sammensetning av utvidelsesobjekter og utvidelsesbegrensninger i gjeldende plattformutgivelser.

Video 2. Lage universelle mekanismer ved hjelp av utvidelser

I denne videoen vil vi vise:

  • Koble til en utvidelse i brukermodus ( uten konfigurator)
  • Eksempel universell verifisering fylling
  • Funksjoner ved implementering av utvidelser - lage skjemaer med vilkårlige valg og lagring av data i utvidelser

Kolleger, hei alle sammen.

Forleden ble en test Enterprise Accounting utgitt med kompatibilitetsmodus for 8.3.6-plattformen deaktivert.
Dette betyr at denne versjonen bruker en ny motor som gjengir skjemaer på en ny måte.
Du kan lese om det i Through the Looking Glass.

Sammen med de vanlige, bør du også konvertere utvidelsene dine til den nye plattformen.
Under oversettelsesprosessen laget jeg en liten sjekkliste eller påminnelse for meg selv om hva som må gjøres.

Memo:


1. Overfør utvidelsen til en ny plattform

For å gjøre dette, endre utvidelseskompatibilitetsmodus tilus.
Enterprise Accounting-versjonen har følgende egenskaper:

I utvidelsen kan du angi nøyaktig de samme egenskapene eller fjerne alle avmerkingsboksene.
Ingen avmerkingsbokser betyr at utvidelsen ikke vil sjekke disse egenskapene ved tilkobling.
Hvis disse egenskapene endres i hovedkonfigurasjonen, vil utvidelsen fortsatt starte:


2. Løs tilkoblingsproblemer

For å gjøre dette starter vi konfigurasjonen i bedriftsmodus og ser om den tar av eller ikke.
Feil som skyldes at utvidelsen ikke kunne kobles til, kan vises i loggen
(Administrasjon - Støtte og vedlikehold - Loggbok)
Vi er interessert i arrangementer - «Session. Feil ved bruk av konfigurasjonsutvidelse":

Som oftest løses tilkoblingsproblemet ved å fjerne unødvendige detaljer eller gjenstander.

Hovedproblemet er at utvidelsen ikke viser alle feilene på en gang (forresten, dette problemet ble løst i 8.3.9).
Derfor er det nødvendig å kjøre konfigurasjonene sekvensielt etter å ha fikset hver feil.
For å gjøre det praktisk å starte loggboken, legg den til i favorittene dine:



3. Oppdater skjemaer i utvidelsen

For å gjøre dette, i hvert endret skjema, klikk på "Oppdater skjemautvidelse"
Ved å bruke denne kommandoen laster vi inn hovedkonfigurasjonsskjemaet på nytt i utvidelsen.

I prinsippet vil det fungere uten dette, men dette er nødvendig slik at i utvidelsen ser skjemaet ut som i hovedkonfigurasjonen.
I versjon 3.0.44 har nesten alle skjemaer gjennomgått endringer, så det ville vært fint å inkludere disse endringene i utvidelsen.


4. Vi tilpasser skjemaet til reglene for den nye motoren.

Jeg anbefaler at du leser artikkelen - Anbefalinger for tilpasning av skjemaer til 8.3.7.
Den undersøker funksjonene til den nye motoren og gir spesifikke anbefalinger om hvordan du kan sikre at alt er bra i den nye plattformen.

Jeg kom opp med følgende fremgangsmåte:

  • Vi fjerner alle dekorasjonene, som ble brukt til innrykk.
    Grupper brukes nå i stedet.
  • La oss se at alt ser bra ut.
    Hvis noe går galt, så se på artikkelen.
    Hvis alt er bra, så går vi videre.
  • Sjekker de nye plattformegenskapene"Kombinert", "AutomaksimalBredde" og "AutomaksimumHøyde".
    Bare se at disse egenskapene er satt til plattformstandarder og at skjemaet ikke flyttes fra hverandre på grunn av dette.