В «1С:Предприятии» появится возможность взаимодействия при редактировании одних и тех же данных

14.12.2018      25010

Редактировать одни и те же данные в прикладных решениях «1С:Предприятие» раньше было неудобно. Пользователи не могли согласовать последовательность своих действий или освободить занятые другими данные.

С новым механизмом взаимодействия это становится возможным. «1С» разбирает опцию на примерах.

Пессимистическая блокировка

Редактирование одних и тех же данных пользователя в платформе «1С:Предприятие» осуществляется с помощью пессимистической блокировки.

Работа механизма выглядит так: когда первый пользователь начинает изменять какой-то документ, платформа устанавливает пессимистическую блокировку. У второго пользователя заблокировать объект уже не получится.

 

Сообщение о блокировке редактируемого объекта

 

Если пользователь забудет закрыть форму, другие не смогут изменять документ, пока форма не будет закрыта. Сообщение о блокировке не позволит отменить ее, даже если вы установили ее самостоятельно и решили продолжить редактирование на другом компьютере и в другом сеансе.

Разработчики фирмы «1С» внесли несколько поправок, чтобы избежать таких неудобств.

Взаимодействие при пессимистической блокировке

В версии платформы 8.3.14 ограничения снимаются до того, как пользователь закрыл форму. Признак модифицированности формы просигнализирует о том, что данные записаны. Через минуту после сигнала пессимистическая блокировка снимется автоматически. Форму для этого закрывать необязательно.

В версии платформы «1С:Предприятие» 8.3.15 задействован сервер взаимодействия 1С:Диалог. Любые пользователи прикладных решений смогут зарегистрировать на нем свою информационную базу. Если решение подключено к системе взаимодействия, сценарий редактирования одних и тех же данных будет выглядеть более простым и удобным.

Примеры

Менеджер по продажам открывает заказ и добавляет туда несколько позиций. В этот же момент заказ открывает администратор, чтобы изменить его статус. Администратор увидит вот такое сообщение:

 

 

Администратор пишет сообщение менеджеру по продажам и просит его закрыть форму. Менеджер видит окно:

 

 

Менеджер, который еще не окончил редактирование заказа, отвечает:

 

 

В клиентском приложении администратора этот диалог останется и будет отсчитывать время до возможности начать редактирование. Через минуту после того, как менеджер сохранит внесенные изменения (или закроет форму), администратор об этом узнает:

 

 

Администратор нажмет кнопку «Перечитать», увидит новые данные и сможет изменить статус заказа. Снять блокировку получится и в том случае, если администратор забудет закрыть форму заказа на работе и продолжит вносить изменения дома. Если он подключится к базе и откроет заказ, он увидит сообщение:

 

 

Если администратор нажмет кнопку «Начать редактирование», платформа снимет пессимистическую блокировку. Администратор, который и так помнит, что хотел заказать, отредактирует документ заново и сохранит изменения.

На рабочем компьютере утром администратор увидит вот такое сообщение:

 

 

Если вы работаете в клиент-серверном варианте, и система взаимодействия недоступна, то в диалоге не будет предложения «Написать сообщение пользователю?». Если вы используете файловый вариант работы, то сообщение будет выглядеть так:

 

 

Пользователь просто узнает, что данные заблокированы и сможет подождать, когда блокировку снимут. Каждые 10 секунд диалог проверяет, не освободились ли данные.

Изменения запланированы в версиях 8.3.15, 8.3.14.


Автор:
Редактор


См. также

Новость Новый релиз Обзор готовых решений

Фирма «1С» сообщила о выходе обновления для отраслевой конфигурации 1С:Отель. В релиз вошли новые функциональные возможности, а также некоторые технологические улучшения, в том числе поддержка 1С:Шины.

03.09.2024    739    ЕленаЧерепнева    0       

1

Новость

В рамках сотрудничества между Инфостарт и Selectel мы приготовили специальное предложение – промокод на 10 000 рублей, который можно использовать для аренды готового облака 1С на облачной платформе Selectel!

26.08.2024    937    Alexcheps    0       

16

Новость Платформа 1С v8.3 Зазеркалье

Фирма «1С» продолжает развивать механизм хранилищ двоичных данных. Разработчики обещают добавить в 8.3.28 горизонтальное масштабирование хранилища, а также возможность переносить данные из хранилища в базу данных и обратно.

23.08.2024    864    ЕленаЧерепнева    0       

2

Новость

13 августа Инфостарт и компания АЙТОБ провели открытый вебинар «Импортозамещение зарубежных систем управления перевозками с помощью 1С:TMS. Кейсы российских компаний». Делимся видеозаписью вебинара и ответами на самые частые вопросы о решении.

20.08.2024    1724    user997184    1       

17

Новость Зазеркалье

Фирма «1С» объявила о начале программы бета-тестирования технологической платформы 1С:Предприятие версии 8.3.27. Присоединиться к испытаниям тестовой версии может любой партнер «1С» или компания-пользователь бесплатно.

16.08.2024    679    ЕленаЧерепнева    0       

1

Новость Платформа 1С v8.3 Зазеркалье

Фирма «1С» опубликовала актуальную версию плана задач для технологической платформы 1С:Предприятие 8.3.28. Некоторые задачи разработчики отложили, а какие-то отметили как выполненные. Рассказываем о возможностях будущего релиза 1С 8.3.28.

15.08.2024    824    ЕленаЧерепнева    0       

2

Новость

Фирма «1С» сообщила о начале продаж комплекта расширений для отраслевых продуктов АПК. Комплект предназначен для автоматизации обмена с ФГИС Ветис Хорриот. Новый вариант поставки позволяет обеспечить автоматизацию обмена с минимальными трудозатратами.

07.08.2024    1052    ЕленаЧерепнева    0       

1

Новость Зазеркалье

Фирма «1С» поделилась планами по развитию технологической платформы. В будущем релизе 8.3.27 будет увеличено предельное количество записей для табличной части. Сейчас максимальное число строк равно 99 999. Планируется увеличить лимит до 999 999 999.

06.08.2024    4696    ЕленаЧерепнева    6       

1
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. dimisa 136 14.12.18 17:11 Сейчас в теме
При введении текущего механизма в рабочей базе , следует так же разработать свод регламентов изменений захваченых объектов.
и правила кулачных боев на предприятии.
bazookaa; axelerleo; LuxVeritatis; Hazker; SagittariusA; portwein; olezhe; rovenko.n; Orlando Skibraves; kild; D_e_X_T_e_R; Serega-artem; TMV; TreeDogNight; Brawler; trumanl; rossoxa; +17 Ответить
2. PerlAmutor 130 14.12.18 17:40 Сейчас в теме
Было бы здорово, если в механизм запросов добавят виртуальные поля или доп.функции, позволяющие из существующей ссылки на объект получить информация о том когда и кем он заблокирован, например так:

ВЫБРАТЬ
Т.Ссылка КАК Документ,
Т.Ссылка.Блокировка.Установлена КАК Заблокирован,
Т.Ссылка.Блокировка.НомерСеанса КАК СеансБлокирующийДокумент,
Т.Ссылка.Блокировка.Пользователь КАК ПользовательУстановившийБлокировку,
Т.Ссылка.Блокировка.Дата КАК ДатаВремяУстановкиБлокировки,
ТекущаяДатаСеанса() - Т.Ссылка.Блокировка.Дата КАК ПродолжительностьБлокировки
ИЗ
Документ.ПоступлениеТоваровУслуг Т
Показать


Или так:

ВЫБРАТЬ
Т.Ссылка КАК Документ,
Блокировка(Т.Ссылка).Установлена КАК Заблокирован,
Блокировка(Т.Ссылка).НомерСеанса КАК СеансБлокирующийДокумент,
Блокировка(Т.Ссылка).Пользователь КАК ПользовательУстановившийБлокировку,
Блокировка(Т.Ссылка).Дата КАК ДатаВремяУстановкиБлокировки,
ТекущаяДатаСеанса() - Блокировка(Т.Ссылка).Дата КАК ПродолжительностьБлокировки
ИЗ
Документ.ПоступлениеТоваровУслуг Т
Показать


Или так:

ВЫБРАТЬ
Т.Ссылка КАК Документ,
Блокировка.Установлена КАК Заблокирован,
Блокировка.НомерСеанса КАК СеансБлокирующийДокумент,
Блокировка.Пользователь КАК ПользовательУстановившийБлокировку,
Блокировка.Дата КАК ДатаВремяУстановкиБлокировки,
ТекущаяДатаСеанса() - Блокировка.Дата КАК ПродолжительностьБлокировки
ИЗ
Документ.ПоступлениеТоваровУслуг Т,
Блокировки(&Ссылка) Блокировка
ГДЕ
Т.Ссылка = &Ссылка
Показать


Это позволит, например, выводить в динамических списках картинку с замочком и видеть, что с объектом работают. Или позволит не вносить изменения в документ программно, если это не критично для алгоритма, но критично для работающего пользователя, который в итоге получит сообщение, что документ был изменен кем-то.

И, да, ТекущейДатыСеанса() тоже не существует в запросах.
KolBbl4; SagittariusA; user654546_kirill.masloboev; olezhe; yad; falsepilot; ilialin; TMV; TreeDogNight; dimisa; gea81; t.v.s.; +12 1 Ответить
6. Darklight 32 25.12.18 10:06 Сейчас в теме
(2)Идея здравая, но малореализуемая, т.к. 1С Предпритие 8 - свои запросы просто транслирует в запросы, выполняемые в СУБД (и лишь в конце - немного дообрабатывает результат, например для формирования итогов). А СУБД об объектных блокировках не знает ничего (и передавать ему эти сведения, например, в виде временной таблицы) - не очень эффективное (хотя и возможное) решение! Поэтому в результирующих запросах не удастся обращаться к данным объектных блокировок.
3. s22 21 14.12.18 19:58 Сейчас в теме
работают для больших компаний.
Логично
rovenko.n; +1 Ответить
8. Darklight 32 25.12.18 10:22 Сейчас в теме
(3)Почему только для больших. Такое решение может быть очень актуально и для небольших компаний, но имеющих сильно распределённую по удалённым местам структуру клиентских компьютеров. Когда пользователи далеко друг от друга работают с одними и теми же данными - такая помощь очень даже полезна - реализовано только очень грубо. И ничего не сказано про мобильного клиента - но, по идеи, там тоже самое должно быть - что для МК ещё более актуально (сотруднику "в поле" тяжело разбираться сейчас - почему ему не удаётся отредактировать, скажем документ, который занят сейчас офисным планктоном или другим сотрудников в другом "огороде", но с пересекающимися интересами).
4. webester 26 16.12.18 05:59 Сейчас в теме
Должна быть возможность перехватывать события отменять\разрешать\запрещать бокировку с помощью программного интерфейса. Иметь возможнсть писать свои сообщения. Механизм с абстрактными заявлениями как сейчас, будет только путать пользователя. Было бы круто, если бы сделали как в гугдокс, что бы было видно, кто редактирует данные и какое поле. Хотя бы для табличных документов(как я понимаю с ними проще всего это сделать) но и с другими прикладными объектами тоже неплохо бы.
SagittariusA; pecherskikh; JohnyDeath; Waanneek; tsmult; TreeDogNight; +6 Ответить
5. rovenko.n 19.12.18 10:54 Сейчас в теме
(4) Я так думаю, нагрузка на сервер сильно увеличиться.
9. Darklight 32 25.12.18 10:33 Сейчас в теме
(5)От чего, от того, что к заблокированной ссылке, имени пользователю и дате добавится ещё имя поля (или нескольких полей)? Не смешите меня!
10. rovenko.n 25.12.18 13:52 Сейчас в теме
(9)ну не знаю, не знаю. Мы же говорим о куче документов, открытых одновременно? А тот же 1C: ERP систему и без всяких примочек грузит очень неслабо.
11. Darklight 32 25.12.18 15:25 Сейчас в теме
(10)Объектные блокировки можно получить программно (или в коносли) - посмотрите - там нет каких-то гигантских объёмов данных, они уже хранятся. Добавление изменённых реквизитов лишь немного увеличели бы их.
12. rovenko.n 25.12.18 16:23 Сейчас в теме
(11) Так вся проблема в том, что последние версии во всём "немного увеличили". Тут кусочечек, там кусочечек, и имеем, что для ЕРП нужно 4 гига оперативки. А теперь еще немножечко увеличить на измененные реквизиты, и еще туда, туда и туда. И свапить у вас будет даже на мощном сервере.
7. Darklight 32 25.12.18 10:08 Сейчас в теме
Очень грубая реализация механизма - мне кажется от неё пользы не так уж много, в итоге - т.к. раздражать такие сообщения будут очень сильно.

Я бы лучше встроил бы такое информирование (в кратком виде), например, в заголовок (вернее под ним) форм - и ввёл бы цветовое выделение (в т.ч., например, рамки формы, и рамки закладки формы в панели открытых окон + в клиентском приложении можно получать всплывающие краткие уведомления).

В управляемых формах это можно сделать встроенным механизмом платформы (с возможность персонального отключения).
Для обычных форм - сделать обработку исключительно программной - т.е. вносить изменения на форму нужно будет самостоятельно написанным алгоритмом (обрабатывая специальное событие).
У всех форм должно быть соответствующее событие!

Вот бы ещё, нечто подобное сделали бы для РИБ - когда один и тот же объект хотят отредактировать в разных узлах - сейчас этому ничего не препятствует - только потом, всплывёт (а может и не всплывёт), что чья-то версия стала главнее и заменила собой другие - но об этом самих авторов изменений никто даже не уведомит, ни постфактум, ни тем более в реальном времени! Поэтому РИБ в 1С Предприятие 8 вещь специфическая, ненадёжная - и мало практикуемая в серьёзных организациях.
Оставьте свое сообщение