Контролирани ключалки в 1с 8.3. Управление на брави за транзакции

Механизъм блокове за транзакции Използвани за конкурентоспособност на потребителския достъп до DBMS.
Транзакцията е определена неразривна работа, през която състоянието на основата се променя. Това е минимален размер на промяната: е невъзможно да се направи половин транзакция; Ако транзакцията не е завършена, базата се връща обратно към първоначалното състояние.
Тъй като транзакцията улавя множество данни, настъпването на достъп до този масив: например една транзакция променя данните, а другият се опитва да ги прочете. Резултатът от четенето може да е неправилен, защото няма да включват последните промени. Следователно, на ниво СДБД, изолацията на транзакцията работи. Възможни са следните нива на изолация:

  • Прочетете Communmited - Докато една транзакция променя масива, другата не може да я промени, но може да чете. По-ниско ниво на изолация.
  • Прочетете. - докато една транзакция променя масива, другата не може да я промени, нито чете
  • Повторяем четене. - докато една транзакция чете масива, другата не може да я промени, но може да чете
  • Сериализурама - докато една транзакция чете масива, другата не може да я променя или да прочете. Всички операции са последователни. Максимално ниво на изолация.

Ако за конфигуриране 1С: инсталирани предприятия автоматичен режим на заключванеИзбрана е транзакцията, изолираща DBMS. В случай на MS SQL, той ще бъде повторяем чете или сериализиращи нива, т.е. изолацията на данни е близо до максимума. Това решава проблеми с верността на данните, но може да доведе до появата на ключалки на нивото на СУБД по време на интензивната работа на потребителите. Ето защо, в 1C: Компанията има своя собствена функционалност със ключалки, която се активира от включването на контролирани ключалки. В този случай нивото на изолиране на транзакцията за MS SQL ще бъде прочетено. Самата платформа ще изолира данните, без да разчита на СУБД.

Включването на контролирания режим на заключване възниква в конфигурационните свойства:

Също така, режимът на заключване може да бъде зададен за специфични обекти на конфигурацията:

В случай, че конфигурацията като цяло е инсталиран режим на автоматично заключване, всички транзакции на всички регистри ще работят специално в автоматичен режим, независимо от режима, който е зададен за конфигурационния обект. Ако управляваният е подобен, всички транзакции ще бъдат управляеми. Ако конфигурацията е автоматична и контролирана за конфигурацията, тогава режимът за всеки обект ще бъде определен от неговите настройки.

За режима, автоматичен и управляем е един момент. Транзакция, един потребител може да бъде няколко транзакции от гледната точка на платформата. Например интерактивното поведение на регистъра прави дветранзакции - записване на самия документ и в рамките на тези редове за запис на транзакции за регистър. В зависимост от режима за управление на заключването за самия документ и за преместването на регистъра, са възможни четири ситуации:

  1. Режим на документи Автоматично, Регистрирайте се автоматичен режим -\u003e
  2. Режим на режим на документи, Регистрирайте Режим Управляван-\u003e Регистрирайте се в режим управляван режим
  3. Режим на документ Автоматично, Регистрирайте Режим Управляван -\u003e Регистрирайте се в автоматичен режим
  4. Режим на документ, регистър автоматичен регистър -\u003e Изключителна ситуация (грешка)

Въпрос 06.59 Изпит 1в: Професионален на платформата. При провеждане на документ във всеки регистър, ако документът има автоматичен режим на управление на транзакцията, и се управлява регистърът (в конфигурационните свойства се използва опцията "автоматична и управляема"), тогава такова поведение ще доведе:

Правилният отговор е вторият, дефинирай първата транзакция, ако е автоматично, тогава всичко е автоматично.

Въпрос 06.60 Изпит 1в: Професионален на платформата. При провеждане на документ за всеки регистър, ако документът има контролен режим за управление на транзакцията, и регистърът е автоматичен (в конфигурационните свойства се използва опцията "автоматична и управляема"), след това такова поведение ще доведе:

  1. до появата на погрешна ситуация
  2. цялата транзакция ще се извършва автоматично
  3. цялата транзакция ще бъде извършена в управлявания режим.

Правилният отговор е първият, дефинирайте на първата транзакция, ако се управлява, след това грешка.

Въпрос 06.61 Изпит 1в: Професионален на платформата. При провеждане на документ във всеки регистър, ако документът има автоматичен режим на управление на заключването на транзакции и се управлява регистърът (в конфигурационните свойства се използва "управляема" опция), тогава такова поведение ще доведе:

  1. до появата на погрешна ситуация
  2. цялата транзакция ще се извършва автоматично
  3. цялата транзакция ще бъде извършена в управлявания режим.

Системата "1c: Enterprise" ви позволява да използвате две работни режима на база данни: автоматичен режим на заключване в транзакцията и контролирани ключалки в транзакцията.

Фундаменталната разлика в тези режима е както следва. Режимът за автоматично заключване не изисква разработчик на каквито и да било действия за контрол на ключалките в транзакцията по ред. Тези правила се предоставят от платформата 1C: Enterprise System чрез използване на нива на изолация на транзакции в даден СУБД. Такъв начин на работа е най-прост за разработчика, но в някои случаи (например с интензивно едновременно функциониране на голям брой потребители), нивото на входа на изолацията на транзакцията в СУБД не може да осигури достатъчно паралелизъм на работата, \\ t което се проявява под формата на голям брой блокиращи конфликти, когато потребителите работят.

Когато работите в контролирани ключалки, системата "1c: Enterprise" използва много по-ниско ниво на изолиране на транзакцията в СУБД, което дава възможност значително да се увеличи паралелизмът на прилагането на приложеното решение. За разлика от режима за автоматично заключване, това ниво на изолиране на транзакцията вече не може да изпълни всички правила за работа с данни в сделката. Следователно, когато работите в управляем режим, разработчикът се изисква самостоятелно да контролира ключалките, инсталирани в транзакцията.

В обобщение на разликата по време на работа в режим на автоматично заключване и в режим на контролирано заключване вижте следната таблица:

Lock Type. Ниво на изолация на транзакции
Автоматично блокиране
Файлова база данни Таблици Сериализаруем
MS SQL Server. Рекорд
IBM DB2. Рекорд Повтарящи се четене или сериализаруеми
PostgreSQL. Таблици Сериализаруем
Oracle база данни. Таблици Сериализаруем
Контролирано блокиране
Файлова база данни Таблици Сериализаруем
MS SQL Server. Рекорд Прочетете.
IBM DB2. Рекорд Прочетете.
PostgreSQL. Рекорд Прочетете.
Oracle база данни. Рекорд Прочетете.

Настройване на заключването в конфигурацията
Конфигурацията има свойство. Всеки конфигурационен обект също има свойство. Режим на управление на блока за данни.
Режимът за блокиране на данни за цялата конфигурация като цяло може да бъде настроен на автоматични стойности, управлявани (по подразбиране за нова конфигурация) и Автоматично и управляемо. Стойностите са автоматични и управлявани означават, че съответният режим на заключване ще се използва за всички конфигурационни обекти, независимо от стойностите, зададени за всеки от обектите. Стойност Автоматично и управляемо означава, че режимът, който е посочен в нейния имот, ще бъде използван за конкретен обект на конфигуриране. Режим на управление на блокиране на данни: Автоматично или управлявано.
Трябва да се отбележи, че режимът на блокиране на данни, определен за обекта на метаданните, е зададен за транзакции, които са инициирани от системата "1c: Enterprise", когато работите с данните на този обект (например, когато променяте данните за обекта).
Ако например операцията за запис на обект се извършва в транзакция, инициирана от разработчика (метод Старт напрежение ()) Режимът за управление на заключването на данни ще се определя от стойността на параметъра. Режим на заключванеметод Старт напрежение (), а не стойността на свойствата на обекта на метаданните Режим на управление на блокиране на данни.
По подразбиране параметърът Режим на заключване има значението Регистрационни ключалки. Автоматичнотака и за
За да използвате контролирани ключалки в изрична транзакция, трябва да зададете стойността на този параметър.
Разтърси ключалки (Задайте този параметър има смисъл, акоза конфигурацията свойство "режим на управление на данни" е избран "автоматичен и управляем") .

Работа с контролирани ключалки в вградения език
Вграденият обект е предназначен да контролира ключалките в транзакцията BlockingData.. Екземпляр на този обект може да бъде създаден с помощта на конструктор и ви позволява да опишете необходимите заключени пространства и блокиране на режими. За да инсталирате всички създадени ключалки, методът се използва за блокиране () обект BlockingData.. Ако този метод се извърши в транзакцията (изрично или имплицитно), заключването се инсталира и краят на транзакцията ще бъде отстранен автоматично. Ако методът е блокиран () се извършва извън транзакцията, заключването няма да бъде монтирано.

Условията са настроени на равенството на полевата стойност на определената стойност или да въведете стойността на полето в определения диапазон.
Условията могат да бъдат зададени по два начина:

● Използване на изричната спецификация на името и стойността на полето (метод Зададена стойност () Обект Елементи на елементите);
● Чрез задаване на източника на данни, съдържащ необходимите стойности (собственост на изходния обект Елементи на елементите).

За всеки блокиращ елемент може да се зададе един от двата режима на заключване:

● споделен
● Изключителен.

Таблицата за съвместимост на контролираните ключалки е както следва.

Разделимият режим на блокиране предполага, че блокираните данни не могат да бъдат променяни от друга транзакция, докато текущата транзакция бъде завършена.
Изключителният режим на заключване предполага, че блокираните данни не могат да бъдат променяни от друга транзакция до края на текущата транзакция и не могат да бъдат прочетени от друга транзакция, която определя разделената блокиране към тези данни.

Характеристики на работата в режим "Автоматичен и управляем"

Когато работите в режим на управление на заключването, трябва да се вземат предвид и автоматични и управлявани:

● Независимо от режима, определен за тази транзакция, системата ще инсталира подходящо управлявано
Ключалка.
● Режимът за управление на заключването се определя от транзакцията на самата "горна" ниво. С други думи, ако друга транзакция, започнала от началото на транзакцията, началната транзакция може да бъде изпълнена само в режима, който е инсталиран за операцията, която вече работи.

Погледнете повече подробности.
Първа функция Това е, че дори ако транзакцията се използва автоматичен режим за управление на заключването, системата ще инсталира допълнително и съответните контролирани ключалки при писане на данни в тази транзакция. От това следва, че сделките, изпълнявани в контролирани ключалки, могат да се изправим с транзакции,
Извършени в режим на автоматично управление на заключването.
Втора характеристика Именно, че режимът за управление на заключването е посочен за обекта на метаданните в конфигурацията или зададената, когато транзакцията е изрично посочена (като параметър на метода Старт напрежение ()) е само "желаният" режим. Реалният режим на управление на заключването, в който ще бъде изпълнена транзакцията, зависи от това дали това предизвикателство за началото на транзакцията е първо или по това време друга транзакция вече е започнала в тази сесия на системата "1c: Enterprise".
Например, ако искате да контролирате ключалките, когато записвате записите в регистъра, когато провеждате документ, контролираният режим на заключване трябва да бъде инсталиран както за самия регистър, така и за документа, тъй като записването на вписванията в регистъра ще бъде записано в сделката отворете при писане на документ.

Натиснете дясната страница! Най-вероятно сутрин открихте, че любимата ми 1C 8.3 не започва с посланието: " Началото на сесията с информационната база е забранено. За да извършите резервно копие ...».

Първото нещо, което трябва да се направи сега - Спешно позволяват на потребителите на потребителите. След това спокойно прочетете статията до края и разберете защо се е случило и какво е "блокиране и премахване на блокирането от информационната база от 1с 8.3".

Моят опит предполага, че сте потребител (не системен администратор, а не програмист), а информационната база е файл (ако SQL Base, специалистите вече са ангажирани в проблема ви). Да започна Необходимо е да се разбере коя папка (директория) се намира и изтрива един файл в тази папка - 1cv8.cdn (Не можете да запишете файла, вече няма да имате нужда).

* Ако сте ИТ специалист, можете спокойно да прочетете "заключването и премахването на блокирането от 1C информационната база".

В прозореца със списък с информационни бази, намерете базата данни (фигура 1 на илюстрацията по-долу) и кликнете върху него (и само един!) Веднъж с мишка. След това кликнете върху бутона "Редактиране" (цифров 2).

Списъкът може да бъде само една база, така че този прозорец може да бъде запознат с "прозореца за стартиране 1c". В този случай просто кликнете върху бутона Редактиране.

Ако видите, че информационната база се намира на този компютър или в локалната мрежа - моят опит не се провали - основният файл и всички го правим правилно. Копирайте този път ( фигури 3 и 4).

Сега отидете в тази папка.

Само в случай, тук са някои възможности за стартиране на проводника:

  • Имате Windows XP или Windows 7. Щракнете върху Старт, изпълнете, поставете предварително копираното местоположение на информационната база. Explorer ще се отвори.
  • Имате Windows 7. Но няма елемент "Изпълнение". Поставете местоположението веднага след натискане на старта. Explorer ще се отвори.
  • Имате Windows 8 или Windows 10. Щракнете върху Старт, в горния десен ъгъл щракнете върху ливада, поставете предварително копираното местоположение на информационната база, натиснете ENTER. Explorer ще се отвори.

  • Намерете жълта флопи диск в лентата на задачите и кликнете върху нея. Поставете местоположението на информационната база в адресната лента в горната част на прозореца на проводник. (Кликнете с десния бутон върху адресната лента, променете адреса, щракнете с десния бутон върху адресната лента, поставете).

  • Универсален метод за всички версии на Windows и неговите настройки. Кликнете върху бутона на клавиатурата с квадратчето за отметка и, без да го освободите, кликнете върху клавиатурата на латински R (или руски k). Отваря се прозорецът "Run", поставете предварително копираното местоположение на информационната база и щракнете върху OK.

Възползвайки се от една от предложените опции, ще попаднете в прозореца на проводник с местоположението на информационната база.


В прозореца Explorer намерете 1cv8.cdn файл в списъка с файлове, кликнете върху него с десния бутон на мишката, изберете "Delete", както е показано на предишната фигура.

Готов! Вашият "1c: Счетоводство" или "1С: заплата и управление на персонала" или "1c: управление на търговията" отново стартира.

Заключване и премахване на заключването от 1C информационна база. Ние унищожаваме митове.

В този раздел ще намерите уникална информация за работа с ключалки, както и да получите опровержение на общи погрешни схващания на темата "заключване на данни".

Как да инсталирате блокиране?

Механизмът за блокиране на информационния база данни е предназначен да завърши текущите отворени сесии и да предотврати нови връзки. Местоположението на функционалността на ключалката в менюто може да варира в зависимост от конфигурацията. Например, в UT, издание 11 (11.3.3.163) Това са НСИ и администриране, [услуга] за заключване на потребителя. Алтернатива: НСИ и администриране, поддръжка и поддръжка, блокиране на потребителите. UT, издание 10.3 (10.3.21.2) Това е услуга, потребители, блокиращи инсталирането на връзки с информационна база.

* Има специални секторни конфигурации, в които блокирането от гледна точка на интерфейса и от гледна точка на механизма няма да изглежда както е описано в тази статия. Тъй като считаме за стандартния механизъм за повечето 1с конфигурации, ние няма да засегнем специални секторни конфигурации.


Когато се избере диалоговият прозорец "Заключване на потребителите", в който искате да въведете съобщение за потребителите, да започнете време и прекратяване на блокирането, както и код за отключване.


От самото начало и края на блокиращото действие е необходимо да бъдете изключително внимателни в този диалог и да въведете информация изрично. Ако в диалога би било възможно да се влезе в началото на блокирането "след 15 минути", продължителността на "за 20 минути" или поне тези стойности са отразени въз основа на абсолютното време на началото и края От блокирането би било трудно да се установи блокиране годишно, тъй като може да се случи, когато грешката на въвеждането на датата е грешка.

Опцията "Стартиране" се препоръчва да инсталирате като текуща дата / час + време, изисквана от потребителите, за да се подготвят за изхода с запазването на редактируемите документи. Например, сега 9 H 50 min, даваме 10 минути на потребителите да запазят резултатите си. Общото време за блокиране трябва да бъде 10 h 00 min.

Крайно време - не можете да влезете, докато блокирате обекта ще бъде инсталиран за неопределено време (завинаги).

Кодът за отключване е една "парола" за пускането на "от нулата", противно на инсталираното блокиране, което може да е необходимо в някои случаи (ще бъде посочено по-долу). Въведете и запомнете. Този параметър в случая на SQL версията на информационната база е видим в "администрирането на 1с корпоративни сървъри" Snap и се нарича "код за разрешаване".

В случай на SQL версията на информационната база, ще се изисква разрешение на администратора на информационната база или клъстерът.


Така че, след натискане на бутона "Инсталиране на заключване" и положителен отговор, за да потвърдите ...


... ще се върнете към предишния диалогов прозорец, чийто външен вид се промени:


В долния десен ъгъл ще бъде издадено съобщение, че блокирането на потребителите ще бъде насрочено. Това съобщение ще видите само вас.


Планиран? Може би това е някак връзка с регулаторните задачи?

Планираното блокиране на потребителите ще работи, ако задачите за заключване са зададени? Да, тя ще работи. Заключващият механизъм не използва регулаторни задачи.

Какво ще се вижда от потребителите и аз сам?

Докато блокирането започне, активните потребители ще получат "любезни" напомняния за необходимостта от пълна работа. В този диалог за изчакване "да" се задейства, така че потребителите, които липсват на работното място, ще излязат успешно от 1С сесията.


Блокиращият инициатор получава друго съобщение:


След стартиране на блокирането, информационната база не може да бъде регистрирана по обичайния начин. За това как все още върви, ще бъде разговарян по-долу. Моля, обърнете внимание, че диалоговият прозорец не съдържа автоматично указание по време на заключващото време, така че задачата да информира потребителите за времето на възобновяване на работата пада върху администратора. Тази информация може да бъде посочена в съобщението на потребителя.



Бомбата експлодира точно в определеното време. Сирената е как да експлодира.

Противно на популярното убеждение, че завършването на активните потребителски сесии е направено внимателно, след предупреждение, което може да бъде игнорирано и да продължи да работи, всъщност завършва, и е по-добре да се каже, "опаковане", активни сесии се случват точно на Графикът, твърдо и със загубата на всички неспасени резултати. Всички предупреждения се издават в интервала от времето на кликване върху бутона "Задаване на заключване", докато след началото на блокирането, след което завършването на активната сесия ще се появи без никакво уведомление, и 1С ще превключи на цикъла да започне Конфигурация Anew, с интервал от 1 минута.

Не компенсирайте с изключение на входните режими на референтни стойности, в които стойността липсва в директорията - за излизане от входния режим не може да бъде (например затворете 1с кръст), но няма да предотврати пълната работа. По-значителен интерес е начинът на модалния диалог, така че ще се каже повече за това.

* Завършването на потребителските сесии в стари конфигурации се среща малко по-късно от определеното време, защото Потребителите първо получават предупреждение "Работата на системата е завършена."

И точно избухнаха?

За да започнем, отбелязваме, че в старите конфигурации може да не работят блокиране на инициатора на ключалката. И сега се обръщаме към разглеждане на въпроса за платформата 8.3.

Файлът IB потребител, който е решен, например, изтрийте документ и след това отидете за обяд, оставяйки диалоговия прозорец "Марк документ" на екрана, ще запази отворена връзка с информационната база. Разбира се, неговата сесия ще приключи след обяд, след като отговори "да" или "не", но преди този момент ще видите, че има активни потребители. В същото време инициаторът на ключалката ще бъде видян:


Ще се появи съобщение за грешка по време на регистрация, което трябва да се тълкува не като грешка по време на изпълнение, но как "не всички потребители са завършили сесиите си":


И това не е единствената блокираща причина може да не работи (Cm. След това, "за чийто часовник" и "но какво да кажем за моите потребители във Владивосток?").

Модален диалог в SQL версията на информационната база на управляваните форми

1C сървърът на приложения има възможност да премахне сесията, въпреки режима на модалния диалог. 1C интерфейс и модален диалог ще останат на потребителя на екрана, създавайки видимостта на непълна сесия, но всъщност сесията ще бъде изтрита и връзката с IB ще бъде прекъсната своевременно. Когато се опитате да продължите да работите, потребителят ще види съобщение за грешка "сесия липсва или изтрива" или "сесия е завършена от администратора" в зависимост от нюансите.



Модален диалог в SQL версията на информационната база върху обикновените форми

Потребителските сесии са завършени.

След инсталирането на ключалката от диалога, по-добре е да не излизате, защото Когато запазвате вход към този диалог, преди началото на блокирането, съобщението, което блокира вече е инсталирано (наистина само половината), активни сесии нула (не е вярно). В този случай процесът на завършване на работата на потребителите продължава (противоречи на нула на активни сесии + не съвсем така, защото потребителите "са завършени"). Въпреки че кодът за блокиране на кода не е идеален, в крайна сметка, той няма да попречи на настройката на ключалката и да завършите активните сесии, но дезориентирането на администратора на информационния база.



Ще блокира ли блокирането, ако зададете ключалката и затворите диалога?

Дали блокирането ще работи, ако зададете ключалката и веднага изход 1c (т.е. завършете 1C сесията, преди да започнете блокирането)?

Да. Механизмът за реагиране за инсталираното блокиране не предвижда взаимодействие между инициатора на ключалката и останалите потребители. Потребителските сесии самостоятелно проверяват дали могат да работят.

Чий часовник ще заключи ключалката, ако времето на компютрите е малко по-различно?

Проблемът на изненадата на часовника

С файл IB, всеки компютър проверява дали има временно блокиращ диапазон в IB и го сравнява с местния часовник. Зависи от точността на часовника, може ли този компютър да бъде завършен, за да завърши сесията точно в точното време. Ако базата е блокирана от 10:00, за един компютър този момент ще дойде по-рано и за друго - по-късно.

В средата на домейна и с безупречно функциониране на системните администратори времето на всички компютри се синхронизира с контролера на домейна. Но по различни причини времето може да бъде свалено: синхронизирането на времето с контролер на домейн е конфигуриран, конфигурирано синхронизиране на времето с външен текущ сървър за време, който е по-недостъпен, неуспехи в мрежови или домейни услуги, без права за промяна на системното време и т.н.

Изглежда, че можем да говорим за секунди, като последна мярка, минути. Но всъщност на компютъра може да има, например, актуализацията на операционната система не е инсталирана, която поддържа прехода към сезонно (зимно / лято) време, а грешката вече може да не е секунда, а часовникът. Лесно извършвате такъв експеримент: планирайте ключалката в 10 часа на половин час, а на един от компютрите, обърнете времето за един час напред - блокирането не работи върху него.

Ето защо, преди да инсталирате ключалката, внимателно проверете времето в долния десен ъгъл на компютъра със собствен часовник, и също така да се свържете с вашия системен администратор, независимо дали синхронизацията на времето работи във вашата ИТ инфраструктура.

А какво да кажем за моите потребители в Владивосток?

Проблемът с абсолютното време, когато потребителите от различни часови зони

В информационната база се запазва временно блокировка. Погледнете съдържанието на 1CV8.cdn блокиращия файл (който е създаден във файловата версия на IB), той е записан в IT начално време на 07/17/2017 13:59 във формата на GGHMDDHCHMSS без никаква индикация навреме зона:


Без инструкции за часовата зона, би било ясно какво е абсолютно време, ако времето винаги ще се отнася до определен ремък за време, като UTC + 0. Но в базата данни местното време се съхранява от компютъра, който е инициатор на ключалката. От коя часова зона е този компютър - той е неизвестен, което означава неизвестно абсолютно време за блокиране.

Ако в Москва, в централизиран IB, вие поставяте блокирането в 13:59 и този момент на времето за Москва е в бъдеще, след това потребителите на същия IB във Владивосток 13:59 е преди 7 часа. И в зависимост от техническото решение, в съответствие с работата на IB потребителите на Vladivostostok, блокирането на тези потребители ще работят или не.

Какви са техническите решения, в които блокирането ще работи неправилно за потребителите на Владивосток? Тези, на които клиентската част 1в ще получи време във Владивосток, а не в Москва. Например, офисите са свързани към локална VPN мрежа, а клиентската част 1C започва от локалния компютър, като има време UTC + 10. Но ако те работят с базата данни чрез RDP връзката или в режим RemoteApp на Moscow сървъра, работи на този сървър, клиентската част 1C - всичко ще бъде добре, защото Ще има време UTC + 3.

Има ли проблеми с изследването на часовете и часовата зона в случай на SQL версия на информационната база?

Не. В това изпълнение има "часовник на сървъра", които са приети за стандарта.

Ще ме изхвърли ли от конфигуратора, ако бях в него, и блокирането започна да действа?

Ще бъде ли възможно да влезете в конфигуратора след стартиране на заключването?

Невъзможно е! Проверка на способността за работа с конфигуратора се извършва само при стартиране и не се извършва по време на работа. Ето защо, ако заключването е инсталирано за последваща работа в конфигуратора, е много по-лесно да го стартирате, отколкото след това да заобиколите забраната за стартиране.

Как да премахнете блокирането?

В същия диалог, в който е инсталиран блокирането. Припомняме ви, че след като зададете ключалката в нея, вместо бутона "Инсталиране на заключването", бутона "Премахване на заключването".

В случай на SQL версия на IB, блокирането е възможно и в "администриране на 1с корпоративни сървърни сървъри". (виж отдолу)

Какво ви трябва код за отключване?

За да влезете в IB в момента, когато блокирането е валидно. Ситуации, в които е необходимо:

  • След инсталирането на блокирането се извършва сесия на работа с IB (ръчно или в резултат на блокирането на самия инициатор) и е необходимо да започне нова сесия;
  • Времето за терминиране по погрешка не беше попълнена изобщо;
  • Крайното време на блокирането беше погрешно (например следващия месец или година е неподходящ);
  • Информационна база в SQL версията и за отмяна на неправилно инсталирано блокиране Не е възможно да изтриете файла 1CV8.cdn в каталога на информационната база данни.

В този случай използвайте намека, който се дава при стартиране. Тези. В прозореца със списъка с информационни бази данни щракнете върху "Промяна" и въведете низ до опциите за стартиране:

Enterprise / F "Z: Exchange 11" / Голям потребител / UC12345

... Като се вземат предвид каталога на местоположението и кода за отключване.


По-добре е да копирате този низ в клипборда и да коригирате диалоговия прозорец за редактиране на информация. Ако объркате вида на кавичките или руския "C" и латински, ще видите съобщение за грешка:



В случай на правилен вход и последващо стартиране на 1C в режим на предприемачество, 1C автоматично ще премахне ключалката и ще завърши работата си. След това можете да изтривате допълнителни параметри и да стартирате 1c както обикновено.

Какво да направите, ако не инсталирах ключалката, и SQL базата е блокирана от някого? В същото време не знам кода за отключване.

Заключването на информационната база данни може да бъде зададено от самата конфигурация по време на създаването на архивно копие. Ако процесът на неговото създаване не е завършен нормално, SQL базата може да остане в блокиращото състояние. В този случай достъпът до конзолата (по-правилно) "администриране на сървъри 1С: предприятия".

Къде да я потърсите?

Въвеждането на "администриране на сървъри 1C: предприятия" често се инсталира на същия сървър, където е разположен SQL Server, както и къде е разгърнат "сървърът 1c" (или "1с сървър за приложения"). Въпреки че не е необходимо: SQL може да бъде инсталиран на един компютър, "сървърът на приложения 1c" - от друга страна, и пристъпите може да бъде разположен на нейната работна станция. С голяма вероятност за успех можете да постигнете, като направите следното:

  • Свържете се към RDP към сървъра, който е посочен в SRVR \u003d ред ... с помощта на вход и парола за домейн. Ако не сте възможни да се свържете, помолете системния администратор да ви добави към потребителска група за отдалечен работен плот. (В случай на отказ на такива права, разширете и конфигурирайте на работната станция за включване на "администриране на корпоративния сървър 1c");

  • На сървъра, намерете "администриране на сървъри 1c: предприятия";
  • Стартирайте snap-on, разширете дървото на възела с информационната база данни;

  • В свойствата на информационната база данни, премахнете квадратчето "Блокиране на началото на сесиите" или поправете началото и края на ключалката или вижте "допустимия код", за да влезете в IB (той е "код за отключване" в настройката за заключване диалог).

Какво ще стане, ако всички потребители на SQL информационната база излязоха и конфигураторът все още може да бъде пуснат, защото Има ли активни потребители?

В "връзката" на информационната база, наличните връзки могат да бъдат премахнати от дясната страна на екрана.


Това не са всички въпроси, свързани с блокирането на информационната база.

Ако имате някакви въпроси:

  • Възможно ли е да се работи за Москва време, ако наемете сървър в Европа и не искате да зависи от своята часова зона?
  • Как да намерите 1C приложения сървър, ако е неизвестен къде е инсталиран?
  • Как да се разгърне "администриране 1c: корпоративни сървъри" и как да го конфигурирате?
  • Ако в една локална мрежа няколко приложения сървъри, как да бъдете?
  • Как да бъдем в случай на клъстер система? и т.н.

Нашите сертифицирани технологични съветници 1c ще се радват да им отговорят.

Основните причини за прехода към управлявани ключалки:

  • Основната причина е 1C препоръка: експерт въз основа на показания или 1C: PC
  • Проблеми с паралелната работа на потребителите ()
  • Използвайте Oracle, PostgreSQL и.

Цената на работата:

Същност на контролираното блокиране

При работа в режим на автоматично управление на заключването 1C: компанията определя висока степен на изолация на данни в транзакцията на нивото на СУБД. Това прави възможно напълно да се премахне възможността за получаване на неопределените или неправилни данни без никакви специални усилия от прилаганите разработчици.

Това е удобен и правилен подход с малък брой активни потребители. Цената на лекотата на развитие е определено количество излишно блокиране на нивото на СУБД. Тези ключалки са свързани както с характеристиките на прилагането на заключващите механизми в самата СОБ и така, че СУБД не могат да вземат под внимание (и не вземат под внимание) физическото значение и структура на метаданните обекти 1C: предприятия.

При работа с висока конкуренция за ресурси (голям брой потребители) в някакъв момент, ефектът от блокиращото редукция става забележим от гледна точка на производителността с паралелен режим.

След като конфигурацията се преобразува в контролирания режим, опционалният "мениджър на заключване" и контрол над целостта на данните се активират сега отстрани на СУБД, но отстрани на сървъра 1c. Това увеличава натоварването на желязото на IC сървъра (необходимите по-бързи процесори и повече памет) и всъщност прави дори малко забавяне (няколко процента), но много по-значимо подобрява ситуацията с ключалки (по-малко блокове поради запушвания към обекта, и не на комбинация от таблици, по-малко блок зона и в някои случаи по-малко спасяване на живота, т.е. не до края на транзакцията). Поради това общият паралелизъм се подобрява.


Новите конфигурации на 1с се изпълняват незабавно в режим на управление.

  • Въпрос: Възможно ли е първо да направите одит и след това да се прехвърлите в UB?

Отговор: Можете ли одитът да служи като допълнителна обосновка на осъществимостта на превод в контролирани ключалки и да оцени приноса на автоматичните ключалки към цялостното забавяне и дали са необходими допълнителни усилия, различни от превод.

  • Въпрос: За да прехвърлите в UB, какво точно за предоставяне на достъп - RDP, TeamViewer? Или можете да изпратите конфигурация на файлове?

Отговор: Опитваме се да не ограничаваме една специфична технология за отдалечен достъп, тя е подходяща всяка технология на отдалечен достъп. Ако няма значение за вас, тогава практичен ПРСР.
Ние можем да извършим оптимизация от изпратения конфигурационен файл, но след това няма да можем да отстранявате отстраняването на реални данни и ще трябва да бъдете внимателни към теста. Ако извършваме оптимизация на копието на базата, тогава можем внимателно да тестваме, преди да ви дадем резултата от работата.

  • Въпрос: Имаме 10 редовни програмисти, които променят нещо на конференцията всеки ден. Използвана обща конфигурационна памет ". Как ще бъде организирана взаимодействието при прехвърляне на UB? Или всички програмисти трябва да бъдат изпратени на почивка?

Отговор: Като правило, нашите промени са направени в рамките на няколко дни. Останалата част от времето е да се проверят направените промени, включително от гледна точка на необходимата логика на определения бизнес, а не технически съображения. Ние Ние можем да направим промени в отделен конфигурационен файл. CF, а след това вашият програмист ще позволи в хранилището. На почивка всеки не може да бъде изпратен. В други опции за взаимодействие, просто трябва да се съгласите, че обектите планират да уловят разработчиците си, така че да изградим план за работа, удобно и за двете страни. Обикновено цялата конфигурация улавяне на разработчиците не се изисква или ни дават "волана" за нас.

Ускорете 1c, като натиснете няколко бутона 2. Контролирани ключалки. 4 септември 2011 година

Ако прочетете методологията за контрол на конфигурацията за контролирани ключалки от 1C - можете да намерите много интересни и плашещи. Всъщност всичко е просто: В конфигурационните свойства променете режима на блокиране на данни, е "управляем". Всичко. Мога да ви поздравя - просто сте преминали към управлявани ключалки. Всъщност всичко е по-сложно - но не много.

За начало, малка теоретична екскурзия - защо се нуждаете от ключалки: кой има достъп, разбира се, можете да прочетете тук: http://kb.1c.ru/articleview.jsp?id\u003d30 1c са заети да напишете a Достатъчно достъпна статия за блокиране на данни. Кой няма достъп накратко, ще опиша какви блокове са необходими:

Пример 1. Ако след включване на контролираните ключалки няма нищо общо, и в същото време да започнете 2 документа паралелно (една от тях все още е част от секундата по-рано), ние ще получим приблизително следната снимка:

Транзакция 1. Транзакция 2. Състояние на остатъци
Start. | 1 бр
| Start. 1 бр
| | 1 бр
Четене остатък | 1 бр
| Четене остатък 1 бр
| | 1 бр
Отписване от остатъка | 0 броя
| Писане извън баланса -1 PC.
Завършване |
Завършване

Какво не е наред? Контролните остатъци дават повреда. Вторият документ успя да прочете останките по-рано от 1-ви успя да ги запише. В същото време видях това на остатъците от 1 нещо и спокойно ги избрах след първия. Заслужава да се уведомим, че от факта на блокиране тук все още ще бъде. 2 Документите няма да могат да отпишат остатъците едновременно, необходимо е логическата цялост на базата данни, но за решаване на приложна задача в този пример е малко вероятно да бъде полезен.

Сега ще се опитаме да коригираме ситуацията - в процеса на провеждане на документ, инсталирането на изключителното блокиране непосредствено преди да прочете остатъците:

Е, сега, когато разбрахме ключалката, трябва само да инсталирате контролирани ключалки, където е необходимо: а именно - само когато се извършва контрол на остатъците. Ако имате мениджър в базата данни има право да извършва документ, независимо дали има продукт (пари) на балансите или не, защо се нуждаете от блокиране? Можете просто да не ги инсталирате или да се регистрирате и да коментирате по-добри времена. Ако сте контролирани от остатъци, като правило, той е 3-4 регистри, добре, максимум 10-OK. Контролът може да бъде спрян както в общите процедури, така и в функциите и в модулите за определяне на рН. Кодът е изключително прост, отворете синтаксиса на асистента - разглеждаме:

Ключалка \u003d Нови блокове;
Блокиране на елемента \u003d блокиране. Добавяне ( "Регистрация. Градснскланди") ;
Елемент на елементите. Установяване (качество ", препратки. Качество. Намерен контакт (" 1 "));
Елемент на елементите. Режим \u003d картофи. Изключителен;
Елемент на елементите. Извор \u003d обект на документа. Връщане;
Елемент на елементите. Използвайте студията ("номенклатура", "номенклатура");
Елемент на елементите. Използвайте фабриката ("склад", "склад");
Ключалка. Блок ();

Всъщност всичко е веднага ясно - блокира "стоки на склада", 1 измерване става изрично, стойностите на 2 други вземат от документа за източника на данни - PM.

Тези, които четат книгите на 8,2, вероятно запомнят за "новата логика на холдинга" - когато контролът на остатъка е направен след записване на движенията на документа. Разпределете въпроса защо е? Но същото име на табела преначертаване, така че остатъците и блокирането ще бъдат след записване на движения:

Транзакция 1. Транзакция 2. Състояние на остатъци
Start. | 1 бр
| Start. 1 бр
| | 1 бр
Отписване от остатъка | 0 броя
| Отписване от остатъка -1 PC.
Ключалка | -1 PC.
Четене остатък Опит за блокиране -1 PC.
| Чакащи за блокиране -1 PC.
| Чакащи за блокиране -1 PC.
Завършване Чакащи за блокиране -1 PC.
Ключалка -1 PC.
Четене остатък -1 PC.
| -1 PC.
Отказ 0 броя

Разликата с външния вид не е значителна - печалбите на производителността се дължат на факта, че по време на отписването на остатъците (записването им в базата данни, което всъщност отнема време) все още няма блокиране. Заключването се извършва по-късно до края на сделката, където са направени отрицателни остатъци, бизнес логиката на приложението е доста удовлетворяваща.

Знаейки за това, което блокира наистина, можете да управлявате въз основа на бизнес задачите, които решавате. СУБД се развиват въз основа на предположението за защита на данните за максимума. В случай, че например извършвате блокиране на банкови транзакции, трябва да бъде навсякъде и на максимално ниво. По-добре е да се блокират допълнителни записи, отколкото да се позволи несъответствието на данните.

В случай, ако продавате Buns или Ballpoint дръжки, едва ли имате нужда от толкова много брави. Вие губите стотици пъти повече чрез брак и реорганизация по човешка вина, която може да бъде в случай на двата потребителя на двете идентични доходи на пратката.

Да се \u200b\u200bпроменя между такива различни задачи в СУБД, изолационните нива излязоха. Чрез инсталиране на нивото на изолацията на транзакцията можете да кажете, че СУБД, които блокират да се прилагат в различни случаи (при запис и при четене в транзакцията) в различни случаи са насложени (не можете да пишете) или X (е невъзможно да пишете или пишете ) Блокиране.

Така че в автоматичен режим ви почти винаги имате сериализиращо се ниво на изолация, което ще наложи х брави, където се нуждаете и къде не е необходимо, че значително ще разваля живота ви

И в управляемите ще сте прочели, които ще наложат и незабавно премахнете S заключването при четене и X само при запис. Най-хитрото ниво. Бързо наложеното блокиране просто ви позволява да проверите дали заключването не се наслагва от тези данни, което гарантира, че се прочете само последователни данни, както е обичайно за това ниво на изолация, и в случай, че сте проял и изпълнили управлението в предишния Статия, ще има дори ключалка при четене, така че само записът ще бъде блокиран на нивото на СУБД по време на запис - което е правилно и необходимо за тежестта на данните.

Как се справяте с контролирани ключалки - само вашето решение. Но аз непредъклагородно не бързам да ги инсталирам. Срещнах компаниите, в които имаше автоматичен заключващ режим, докато думата "залепва блокиране" дори от дилъра на генералния директор и в същото време контролът на отрицателните остатъци беше изключен ....



Статии по темата: