• Курсы Академии Кодебай, стартующие в мае - июне, от команды The Codeby

    1. Цифровая криминалистика и реагирование на инциденты
    2. ОС Linux (DFIR) Старт: 16 мая
    3. Анализ фишинговых атак Старт: 16 мая Устройства для тестирования на проникновение Старт: 16 мая

    Скидки до 10%

    Полный список ближайших курсов ...

Блокировкаданных

  • Автор темы WildAnther
  • Дата начала
Статус
Закрыто для дальнейших ответов.
W

WildAnther

Товарищи добрый день. Как можно реализовать блокировку документа от редактирования.
Пытался ставить простые блокировки через ЭтотОбъект.Заблокировать(), блокирует от интерактивного, через обработку АРМ документ изменяется...
Пробую через БлокировкуДанных, как то не получается опять таки от обработки заблокироваться.
p.s. 8.1
 
D

Darlock

В каком смысле "заблокировать"? Заблокировать от изменения каких-то определенных реквизитов или полностью? Опишите полностью задачу.
 
W

WildAnther

Заблокировать от изменения полностью объект(документ).
Есть документ ЗаказНаряд. Консультанты забив его сохранили, при этом держат документ и как бы должны поставить на документ блокировку чтобы никто уже не мог зайти в документ и изменить.
Параллельно работают мехи которые работают в обработке АРМ. которая в свою очередь может вносить изменения в документ ЗаказНаряд. Вот и от этих самых мехов и надо так сказать защититься =)
 
P

puh14

Сделай подписку на событие перед записью документа и шли там всех кто лишний нафиг.
 
D

Darlock

Теперь цель ясна. Тогда варианта 2:

1 - Создать РС в который попадают записи при открытии и удаляются после выхода (вариант не айс, но пару раз я выкручивался так)

2 - только "Заблокировать()". При открытии формы или обработкой проверять заблокированность "Заблокирован()" кажется так имя функции. И если не т, то слать нах или открывать в режиме просмотра.
 
W

WildAnther

Теперь цель ясна. Тогда варианта 2:

1 - Создать РС в который попадают записи при открытии и удаляются после выхода (вариант не айс, но пару раз я выкручивался так)

2 - только "Заблокировать()". При открытии формы или обработкой проверять заблокированность "Заблокирован()" кажется так имя функции. И если не т, то слать нах или открывать в режиме просмотра.

Насчет 1-го уже задумались. скорей всего по этому пути и пойдем.

По 2-му. Заблокировать() вещь хорошая. НО Блокирует только от интерактивного редактирования, получается что обработка спокойненько изменяет данные даже если документ открыт и заблокирован... И почему то не работает управляемая блокировка через БлокировкаДанных, но она не работает скорей всего из-за того что режим блокировок автоматический=)
так что думаю будем придерживаться первому варианту, а с блокировками мутно)

Редактирование: Назрел тут вопросик. Возможно ли из обработки заблокировать документ методом ЭтотОбъект.Заблокировать() ?
 
D

Darlock

Насчет 1-го уже задумались. скорей всего по этому пути и пойдем.

По 2-му. Заблокировать() вещь хорошая. НО Блокирует только от интерактивного редактирования, получается что обработка спокойненько изменяет данные даже если документ открыт и заблокирован... И почему то не работает управляемая блокировка через БлокировкаДанных, но она не работает скорей всего из-за того что режим блокировок автоматический=)
так что думаю будем придерживаться первому варианту, а с блокировками мутно)

Редактирование: Назрел тут вопросик. Возможно ли из обработки заблокировать документ методом ЭтотОбъект.Заблокировать() ?

Из обработки проверять надо заблокирован объект или нет. Потому как "ПолучитьОбъект()" создает новый экземпляр объекта.

И ответ на ваш вопрос - да. Можно.
 
W

WildAnther

По сути проверить заблокирован документ или нет можно попытавшись заблокировать его верно же?
 
D

Darlock

Можно и так. Только в попытке. Но мы же не хотим лишней напруги при компиляции? в частности "Попытка Исключение КонецПопытки" - тяжело переваривается.
 
D

Darlock

Никак. Или регистром или попыткой. Если можно как-то иначе, то я не знаю. :rolleyes:
 
W

WildAnther

Ну да. Именно так я и думал. Пока что решаю попыткой блокировки.
Дабы темы не плодить спрошу пожалуй тут.
Имеется два регистра. Есть обработка которой перетаскиваю данные из одно в другой (запросом). Как корректней организовать хранение последней считанной записи с первого регистра, чтобы можно было дополнить второй регистр при пополнении первого. Как то так.)
Заранее спасибо.
 
D

Darlock

А смысл таких манипуляций? Почему не добавлять записи во второй регистр, когда записи попадают в первый? или я чего-то не понял?
 
W

WildAnther

Уходим от одного старого регистра, пока полностью не перевели хотим такую сделать хитрую тему... Хотя может добавить в первый регистр чтобы при записи писалось и в второй регистр... во общем то идея....)
 
D

Darlock

Это не идея, это решение проблемы :facepalm:. А при необходимости переноса старых данных, можно выполнить запрос с ограничеим по периоду до даты официального запуска регистра и перенести все 1 раз
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!