Tilbakestille brukerinnstillinger 1s 8.3. Publikasjoner. Innstillingslagre opprettet av programmereren

Å tømme hurtigbufferen til 1C Enterprise 8.3 er en av tjenestefunksjonene som gjenoppretter funksjonaliteten til programmet. Operasjonen er ganske populær, så publikasjonen gir et omfattende svar på spørsmålet "Hvordan tømme bufferen til 1C Enterprise 8.3?"

Å tømme 1C-bufferen er en veldig effektiv løsning på mange plattformunøyaktigheter, for eksempel: formene til 1C-elementer "go", rapporten genereres med en feil, " "-vinduet vises og mange andre. Derfor bør denne tekniske teknikken alltid være "for hånden" både for 1C-administratoren og for den vanlige brukeren av 1C-programmer. For å implementere dette foreslår jeg å diskutere følgende spørsmål i dag:

Ved å ringe selskapets tekniske støtte eller 1C-partnere angående feil drift av 1C Enterprise 8.3, vil en av de foreslåtte løsningene (sammen med) være å tømme 1C-cachen. Hvis du ikke vet hva "1C cache" er og hvorfor det er nødvendig, vil jeg kort fortelle deg det.

Cache 1C Enterprise 8.3 er et område på datamaskinen hvor 1C Enterprise 8.3-plattformen lagrer filer med tjenesteinformasjon.

Hvilken tjenesteinformasjon er lagret i 1C-bufferen?

Under driften av 1C Enterprise er det behov for å lagre rekker av tjenesteinformasjon, for eksempel plassering av vinduer, innstillinger av fonter, farger, valg og mye mer spesifisert av brukeren mens du arbeider med 1C-konfigurasjoner, samt nødvendige elementer. for å fremskynde arbeidet til 1C Enterprise, tjenestedata for arbeidsbruker, etc.

Følgelig, hvis informasjonen i 1C-bufferen er i feil format, vil ikke 1C Enterprise 8.3-konfigurasjonene fungere riktig. Feil data kan vises, for eksempel når det er et strømbrudd mens du skriver data til 1C-cachen (i dette tilfellet vil noen av dataene ikke bli skrevet), på grunn av defekte områder på harddisken på grunn av dens fysiske foreldelse, og av mange andre grunner.

Hvordan gå til cache-mapper 1C Enterprise 8.3

1C Enterprise 8.3-bufferen er lagret i brukerprofilen i følgende mapper:

  • %userprofile%\AppData\Roaming\1C\1Cv82
  • %userprofile%\AppData\Roaming\1C\1Cv8
  • %userprofile%\AppData\Local\1C\1cv82
  • %userprofile%\AppData\Local\1C\1cv8

Konstant %brukerprofil%- inneholder banen til brukerprofilen i Windows OS, slik at du kan skrive inn adressen til 1C-cachen i Explorer, som angitt ovenfor, vil Windows OS forstå deg og gå til ønsket mappe.

Noen mapper eksisterer kanskje ikke fordi de er på forskjellige plattformversjoner. Den sikreste måten å finne mapper med cacher på er å gå til " …\1C\", vil cacher bli lagret i mapper som begynner med " \1cv8«.

For å gå til profilen selv, følg stien i Windows Utforsker:

C:\Brukere\Brukernavn

Herfra må du gå til "AppData"-mappen.

MERK FØLGENDE!"AppData"-mappen er skjult, for å gå til den fra brukerprofilen, må du legge til " \AppData\» manuelt og trykk Enter.

Fra "AppData"-mappen går du til mappene med 1C Enterprise-cachen, i samsvar med beskrivelsen ovenfor.

Slik tømmer du 1C Enterprise 8.3-bufferen selv

Bufferen tømmes ved å slette tjenestefiler direkte fra 1C Enterprise 8.3 cache-lagringsmappene.

De. nødvendig i mapper " \1Cv8"Og" \1Cv82» slette alle filer.

Denne operasjonen vil ikke skade driften av 1C Enterprise 8.3-konfigurasjoner; plattformen vil gjenopprette alle nødvendige tjenestefiler for 1C-cachen neste gang 1C-konfigurasjonene startes.

For å lette prosedyren for å slette 1C-cacher, kan du lage en batchfil .flaggermus.

Slik tømmer du hurtigbufferen til 1C Enterprise 8.3 via en batchfil.bat

*.bat-filen kjører sekvensielt Windows OS-kommandoene skrevet i den. For å gjøre fjerningsprosedyren enklere, bruk kommandoen rd(slett katalog)

Tøm buffer 1C Enterprise 8.3

Jeg kaller 1C-objektet "System Settings Storage" den "interne cachen" til 1C; det inneholder et standardinnstberegnet for tilgang til systeminnstillinger.
Når du endrer konfigurasjonen, er det noen ganger ikke nok å tømme den eksterne 1C-cachen, dvs. filer opprettet av 1C-plattformen på harddisken for å lagre brukerinnstillinger, og du må i tillegg tømme den "interne cachen" til 1C, som er hva den presenterte utviklingen kan håndtere!

Beskrivelse

Behandling "Systeminnstillinger lagring" er en helt autonom løsning, med tanke på innbygging i enhver konfigurasjon, både på vanlige og administrerte skjemaer! Og plattformversjonen som starter fra 8.2 spiller ingen rolle! Koden bruker ikke synkrone eller modale anrop!

Behandling viser arbeid med datatypemetoder:

StandardStorageSettingsManager

StandardSettingsStorageManager
Metoder:
Plukke ut
Laste
Få beskrivelse
GetList
Lagre
Slett
SetDescription
Beskrivelse:
Objekter av denne typen er designet for å få tilgang til innstillinger som er lagret i standardlagring.
For å få tilgang til innstillingene for rapportalternativer, må et objekt av denne typen hentes fra den globale kontekstegenskapen ReportOptionsStorage.
For å få tilgang til egendefinerte rapportinnstillinger, må et objekt av denne typen hentes fra den globale kontekstegenskapen CustomReportSettingsStorage.
For å få tilgang til brukerinnstillinger for skjemadata, må et objekt av denne typen hentes fra den globale kontekstegenskapen FormDataSettingsStorage.
For å få tilgang til generelle innstillinger må et objekt av denne typen hentes fra den globale kontekstegenskapen GeneralSettings Storage.
For å få tilgang til systeminnstillinger må et objekt av denne typen hentes fra den globale kontekstegenskapen SystemSettings Storage.
For å få tilgang til brukerinnstillinger for dynamiske lister, må et objekt av denne typen hentes fra den globale kontekstegenskapen DynamicListsUserSettings Storage.
Tilgjengelighet:
Server, tykk klient, ekstern tilkobling.
Se også:
Global kontekst, Systeminnstillinger Lagringsegenskap

All funksjonalitet er illustrert i skjermbilder.

Merk følgende! Brukernavnet må samsvare med IB-brukernavnet! Ellers vil ikke "Hent brukerinnstillinger"-knappen fungere riktig og noe av funksjonaliteten vil ikke fungere. Men hvis det er problematisk å gi nytt navn til brukere, bruk bare "Hent innstillinger for alle brukere"-knappen!

P.S. Hvis materialet hjalp deg, takk forfatteren ved å gi det en stjerne!

Det er ingen hemmelighet at du med jevne mellomrom må rense brukerinnstillingene i 1C!

fordi Under prosessen med å oppdatere programmet eller fullføre ny funksjonalitet, kan det hende at formen til dokumentet eller rapporten endres og gamle lagrede innstillinger ikke vises riktig med det nye grensesnittet. For å fikse dette, må du fjerne de gamle innstillingene og lagre dem med nye.

Innstillingene for dokumentutskriftsskjemaer lagres også her; hvis dokumentet ikke skrives ut fra 1C eller skrives ut skjevt, så må slette 1C-innstillingene.

Behandling av sletting av brukerinnstillinger fungerer i to moduser:

1. Velg en bruker - klikk Slett ALLE brukerinnstillinger - alle gamle innstillinger vil bli slettet for den valgte brukeren, og programmet vil fungere og vise slik det var tenkt av utviklerne. Denne metoden hjelper til med å bli kvitt problemene med skjemavisning i 1C.

2. Selektivt - Klikk Hent innstillinger for alle brukere - merk av i boksene for hva du vil slette og klikk Slett merkede. Denne metoden lar deg slette bare de innstillingene du anser som problematiske eller unødvendige.

I klient-tjener-driftsmodus lagres alle data i en database som administreres av en av DBMSene: MS SQL, Postgree SQL, IBM DB2 eller Oracle. Kontoinformasjon lagres i to tabeller: "v8users" og "Params".

I noen situasjoner kan det være nødvendig å tilbakestille brukerkontoer for å logge på infobasen. I denne artikkelen vil vi se på trinnene som kreves for å fullføre denne oppgaven. I eksemplet vil vi bruke MS SQL Server 2012 Express. Databasenavnet på SQL-serveren er "Exp".

For å tilbakestille kontoene dine må du utføre to trinn:

  1. Slipp tabellen "v8users".
  2. Slett en post fra "Params"-tabellen hvis første kolonne "FileName" inneholder verdien "users.usr".

SQL-kommandoer

Og så trenger vi SQL-kommandoer for å tilbakestille og gjenopprette infobase-brukere. La oss starte med kommandoene for å tilbakestille brukerlisten. Vi må gjøre følgende:

  1. Gi nytt navn til "v8users"-tabellen til "h8users" i stedet for å slette den. Dette vil tillate deg å gjenopprette tabellen i fremtiden. " sp_rename "v8users" , "h8users"Du kan lese mer om "sp_rename"-kommandoen her.
  2. Vi vil heller ikke slette oppføringen i «Params»-tabellen, men vil bare endre verdien i «FileName»-kolonnen fra «users.usr» til «husers.usr». Da vil ikke plattformen kunne finne informasjonsbasens brukerparametere. Du kan finne ut mer om kommandoen "UPDATE" her. " OPPDATERING Params Set FileName = "husers. usr" Hvor FileName = "users. usr""

Etter å ha fullført disse trinnene, kan vi enkelt gå inn i informasjonsdatabasen og hoppe over autentiseringstrinnet. La oss nå gå videre til å vurdere kommandoer for å gjenopprette listen over brukere. Det vil være tre lag totalt:

  1. Sletter "v8users"-tabellen, siden påloggingsplattformen oppretter tabellen på nytt hvis den manglet. Slik ser SQL-kommandoen for å slette en tabell fra databasen ut. " DROP TABLE v8users " Det er nødvendig å sørge for fravær av denne tabellen slik at det ikke oppstår en kjøretidsfeil. Lær mer om kommandoen "DROP TABLE". se linken.
  2. Gjenopprett det opprinnelige tabellnavnet "v8users". " sp_rename "h8users" , "v8users"" Syntaksen ligner på forrige eksempel, bare tabellnavnene er endret.
  3. Vi returnerer den opprinnelige parameterposten. " OPPDATERING Params Set FileName = "users. usr" Hvor FileName = "husers. usr"" Om nødvendig må du slette den nye brukerinnstillingsoppføringen hvis plattformen opprettet en.

Ved å bruke kommandoene ovenfor kan vi tilbakestille/gjenopprette listen over infobasebrukere.

Vi automatiserer prosessen

Som et eksempel på bruk av SQL-kommandoene ovenfor, la oss lage et lite program på .NET-plattformen som automatiserer prosessen med å tilbakestille og gjenopprette kontoer.

Du kan last ned fra lenken. Du kan laste ned prosjektkildefilene her. I prinsippet er det ikke vanskelig å skrive et lignende program. Et viktig poeng er at alle handlinger for å endre databasen må utføres i en transaksjon, noe som ble tatt i betraktning.

For å tilbakestille/gjenopprette kontoer må du angi SQL-serveradressen, databasenavnet og SQL-serverautentiseringsinformasjonen.

Dermed er problemet løst, og ved hjelp av det opprettede programmet vil ikke prosessen med å tilbakestille kontoer være et problem.

Hensikten med "Settings Storage"-konfigurasjonsobjektet er tydelig fra navnet - å lagre forskjellige brukerinnstillinger. Bruksomfanget til dette objektet er bredt - i enhver konfigurasjon, uansett hvor alvorlig det er, er det nødvendig å lagre noen brukerinnstillinger.

For enkelhets skyld for programmerere, i hver konfigurasjon er det flere standardinnstillingslagre; i tillegg er det mulig å opprette så mange ekstra innstillingslagre som nødvendig.

La oss først se på standardinnstillingslagrene som er til stede i enhver 1C-konfigurasjon fra og med versjon 8.2.

Standardinnstillinger lagres

Så som standard inneholder konfigurasjonen følgende innstillingslagre:

  • Lagring av rapportalternativer – for å få tilgang til innstillingene for rapportalternativer.
  • Lagring av egendefinerte rapportinnstillinger - for å få tilgang til egendefinerte rapportinnstillinger.
  • Lagring av skjemadatainnstillinger – for tilgang til brukerinnstillinger for skjemadata.
  • Generelle innstillinger Lagring – for å få tilgang til generelle innstillinger.
  • SystemSettings Storage - for tilgang til systeminnstillinger.
  • Lagring av brukerinnstillinger for dynamiske lister - for tilgang til brukerinnstillinger for dynamiske lister.

Hver av disse butikkene kan nås som en egenskap av den globale konteksten.

Programmereren kan bruke standard lagring for sine egne behov, og lagre ulike innstillinger i sammenheng med brukeren, objektet og selve innstillingen.

For å jobbe med innstillingslagre (både standard og de som legges til av programmereren), brukes følgende metoder.

Innstillinger for opptak og mottak:

GeneralSettings Storage.Save(ObjectName,SettingsName,SettingsValue,SettingsDescription,UserName); SettingsValue = GeneralSettings Storage.Load(ObjectName, SettingsName, SettingsDescription, UserName);

Fjerne overflødige/unødvendige innstillinger:

GeneralSettings Storage.Delete(ObjectName,SettingsName,UserName);

Få en liste over innstillinger:

SettingsValueList = GeneralSettings Storage.GetList(ObjectName, UserName);

Parametrene "ObjectName", "SettingsName" og "UserName" må være av strengtype.

I databasen er alle innstillinger lagret i en egen tabell.

Innstillingslagre opprettet av programmereren

La oss nå snakke om de innstillingslagrene som er opprettet av programmereren. Generelt sett er programmereren ikke begrenset på noen måte i sitt ønske om å opprette en ny innstillingsbutikk, men vanligvis opprettes separate innstillingsbutikker av følgende grunner:

  • det er nødvendig å flytte innstillinger mellom databaser;
  • referansekontroll er nødvendig når du lagrer innstillinger;
  • en spesiell struktur med 1C-innstillinger er nødvendig.

Innstillingslagre legges til i den tilsvarende konfigurasjonsdelen.

En nøkkelfunksjon i innstillingslagre opprettet av programmereren er behovet for å manuelt implementere metoder for å skrive og hente verdier (Save() og Load()). I disse metodene må programmereren beskrive lagring (i informasjonsregistre, filer, kataloger osv.) og lasting av innstillinger ved hjelp av det innebygde språket.

Ellers er prinsippene for å jobbe med det opprettede depotet praktisk talt ikke forskjellige fra å jobbe med standardinnstillinger.

Det opprettede depotet kan nås på denne måten:

Innstillinger Storage.StorageName.Load();

I tillegg kan de opprettede lagringene erstatte standardene i ulike konfigurasjonsobjekter og i selve konfigurasjonen.

Administrerte skjemaer har to egenskaper:

  • Automatisk lagring av data - hvis verdien "Bruk" er valgt, lagres dataene automatisk til standardlagring av skjemadatainnstillinger;
  • Lagre data i innstillinger - hvis verdien "Bruk liste" er valgt, vil kolonnen "Lagre" vises i vinduet med skjemadetaljer, der du kan spesifisere hvilke skjemadetaljer som skal lagres, og du vil også kunne velge innstillingslagring for disse dataene.

Det er alt, jeg håper denne artikkelen hjalp deg.