gifts2017

Обработка в помощь переводящему конфигурацию на управляемые блокировки

Опубликовал Алексей Кошелев (Ruler) в раздел Программирование - Практика программирования

Обработка под платформу 1С Предприятие 8.1, выводит все регистры по которым документ(ы) делает движения и регистры сведений у которых есть измерения с признаком ведущее и содержащее тип "Искомый документ" или "ДокументСсылка".

При переводе конфигурации на управляемые блокировки часто бывает необходимо перевести несколько документов и адаптировать их а остальную конфигурацию не трогать.

Есть одна маленькая неприятность если есть регистр сведений, у которого есть измерение с признаком ведущее и с типом значение "ДокументССылка" при непосредственном удалении документа (адаптированного под упр. блокировки) из базы платформа попытается удалить записи из этого регистра даже если их там нет, что вызовет ошибку менеджера блокировок.

Чтоб вручную не проверять все регистры сведений предназначена эта обработка. Она формирует список регистров, по которым выделенные документы делают движения и регистров сведений у кторых есть измерение  с признаком ведущее и типом "ДокументСсылка" или типом "ДокументСсылка.ИмяДокумента", где "ИмяДокумента" это имя отмеченого в обработке документа.

Добавлен фильтр для возможности вывода только не модифицированных регистров, уверен будет полезно для контроля изменений.

Скачать файлы

Наименование Файл Версия Размер Кол. Скачив.
-
.epf 10,11Kb
21.10.09
201
.epf 10,11Kb 201 Скачать

См. также

Подписаться Добавить вознаграждение

Комментарии

1. Герман (German) 20.10.09 18:10
8) На всех регистрах (подчиненных регистратору) нужно включать Управляемое, а потом уже заморачиватся с документами, так надежнее. Если у документа не будет стоять управляемый режим, значит блокировка будет автоматическая, несмотря на режим регистра.
2. Алексей Кошелев (Ruler) 20.10.09 23:43
Возможно Вы правы, но есть Регистры Сведений например в УТ "ЗначенияСвойствОбъектов" которые не подчинены регистратору, но у них есть измерение например "Объект" которое имеет значение "ДокументССылка" и признак "Ведущее" и при удалении из базы документа платформа попытается очистить все записи с этим документов в регистре и если его не модифицировать получим ошибку и документ не удалиться. Для нахождения таких регистров и предназначена моя обработка.
3. Vlad П (JIGIT) 21.10.09 10:37
Полезная вещь...но кнопочка снять все галочки не работает :(
4. Алексей Кошелев (Ruler) 21.10.09 10:47
5. Алексей Кошелев (Ruler) 21.10.09 12:49
Обновил обработку.
Добавлен фильтр для возможности вывода только не модифицированных регистров, уверен будет полезно для контроля изменений.
6. Александр Космачев (greystone) 24.01.11 17:29
Обработка Зе Бест. Хорошо бы кто нибудь написал конструктор управляемых блокировок документа, а то регистров у документа реализация полно, что-то я запарился писать.
7. Олег Бондаренко (legawww) 20.09.11 17:32
Документ Заказ покупателя делает движения только по одному регистру "Товары в резерве", тем не менее перевода документа и регистра не хватает для установки режима блокировок "управляемый". Что еще ему надо не понимаю. Может эта обработка поможет. Вот пишу это сообщение чтобы заработать какие то балы и скачать обработку, а то самому жалко времени писать сначала.
Для того чтобы было больше текста привожу рекомендации по модификации конфигураций при переходе к режиму управляемых блокировок:
Конвертируем конфигурацию из версии 8.0 в конфигурацию версии 8.1. Режим управляемых блокировок - автоматический.
Если в процессе эксплуатации информационной базы возникают проблемы с параллельностью работы пользователей - например, часто стали появляться сообщения о превышении времени ожидания блокировки или о конфликтах взаимных блокировок, то составляем список документов, работа с которыми приводит к появлению вышеупомянутых проблем.
Постепенно переводим конфигурацю в управляемый режим. Устанавливаем свойство Режим управления блокировкой данных всей конфигурации в целом в режим Автоматический и управляемый.
Для указанных в списке видов документов переводим свойство Режим управления блокировкой данных в значение Управляемый. Также в управляемый режим переводим все регистры, по которым эти документы выполняют движения и все транзакции (явные и неявные), открываемые в процессе проведения документа.
Анализируем тексты модулей каждого из указанных видов документов. Нас интересуют операции чтения данных. Причем не все, а только те, где выполняется чтение некоторых данных, на основании которых затем модифицируются эти же, или другие данные. Очевидно, что читаемые данные в этом случае не должны быть изменены до окончания транзакции проведения документа, а значит перед чтением их требуется заблокировать.
Устанавливаем управляемые блокировки на найденные нами данные. При этом разделяемая блокировка устанавливается для того, чтобы данные не были изменены другими транзакциями. Исключительная блокировка, помимо этого, обеспечивает запрет не только изменения этих данных, но даже их чтения другими транзакциями, устанавливающими управляемые блокировки. Можно сказать, что исключительная управляемая блокировка является средством борьбы с конфликтами блокировок (deadlock) и может использоваться аналогично ключевому слову ДЛЯ ИЗМЕНЕНИЯ языка запросов в режиме автоматических блокировок.
8. Олег Бондаренко (legawww) 20.09.11 17:34
Уже 0.8, еще 0.2 надо. просьба к админам небанить меня, уж очень нужна обработка!
9. Олег Бондаренко (legawww) 20.09.11 17:57
Не помогло :( Поставил управляемый режим всем регистрам, а все равно "Автоматический режим блокировок недопустим в этой транзакции"
10. Владимир Епифанов (kovgard) 04.10.11 18:13
(9) legawww,

Запустите отладку, наверняка, где-нибудь в модуле набора записей увидите программный вызов записи в дополнительные регистры.
11. Михаил Ражиков (tango) 04.10.11 18:22
(6) посмотри, как в УНФ сделано
12. Олег Бондаренко (legawww) 04.10.11 18:30
Оказалось последовательность надо перевести в управляемый режим
pradd19@mail.ru; +1 Ответить 1
13. Ирина К (ProgaN) 06.10.11 08:04
Оказалась полезной в свое время обработкой.
14. pradd (pradd19@mail.ru) 26.06.12 09:49
(12) legawww, подскажите как перевести последовательность в управляемый режим
15. Олег Бондаренко (legawww) 26.06.12 11:56
(14) pradd, так же как и остальные объекты в свойствах последовательности на закладке Прочее выставить свойство "Режим блокировки" в значение "Управляемый"
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа