Запрет групповой обработки при определенных условиях

1. Arkadag 12.08.19 16:22 Сейчас в теме
Приветствую, Форумчане!
1с8.3.12, самопис, БСП, УФ

В состав нашей конфигурации входит групповая обработка документов, судя по всему классика.

У нас имеется некие документы, "Заказ", РКО, "ПКО" у которых программно закрыт доступ к изменению данных при определенном условии (прошел месяц после создания документа).

Ну при открытии формы стоит проверка даты, если разница дат между датой документа и текущей, то:

ЭтаФорма.ТолькоПросмотр = ДатаЗапрета();


Что можно придумать, если требуется запретить изменение данных документа при помощи обработки групповое изменение документов?
По теме из базы знаний
Ответы
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
2. Denis_CFO 48 12.08.19 16:31 Сейчас в теме
(1) проверка на интерактивное проведение.
Типа, если Форма.Открыта() Тогда //значит не групповая, т.е. сам пользователь открыл
3. mazechild 12.08.19 16:39 Сейчас в теме
Подписка на событие ПередЗаписью, ОбработкаПроведения. Или в модуле объекта перед записью. Ну или в обработку внести изменения.
4. Arkadag 12.08.19 17:30 Сейчас в теме
Наверно это слишком радикально внести изменения в обработку... Но можно установить другую групповую обработку...

А можно программно запретить права на Проведение, на Редактирование и т.д., ну типа будут выходить сообщение "У Вас нет вообще никаких прав..."

Проблем основная в том, что запрет идет по дате, например если сегодня 12.08, то ряд документов до 12.07 нужно забыть для каких-либо изменений,
а обработка позволит изменить дату на любое число и провести документ с новой датой...
5. _MavR_ 12.08.19 21:14 Сейчас в теме
(4)
А можно программно запретить права на Проведение, на Редактирование и т.д., ну типа будут выходить сообщение "У Вас нет вообще никаких прав..."

Как было сказано выше это решается подписками на события. Добавляешь свою подписку, к ней дописываешь свой общий модуль уже с кодом запретов и выводимых сообщений и все. Можно еще роль добавить, чтоб шибко много условий не городить (в зависимости от Ваших хотелок) - есть у юзверя роль "Можно лезть в прошлые даты" и у него все проводится, нет роли - выдает сообщение "Покорми собак и ничего руками не трогай". И это будет работать в Вашей конфигурации в общем, а не в конкретной обработке. Подписки вообще крайне приятная штука - можно настроить доступы тем же пользователям к складам и документам как Вы того хотите, а не как предлагает конфигурация. Второй плюс - не мешает обновлению, если для Вас это важно.
6. catena 110 13.08.19 06:04 Сейчас в теме
Проверяйте не в форме, а в модуле ПередЗаписью() значение даты в ссылке. Если это сделать еще и до ОбменДанными.Загрузка=Истина, то вообще в принципе никакая групповая запись не пройдет.
7. Arkadag 13.08.19 13:00 Сейчас в теме
Всё правильно. Но вот обнаружил засаду.

Взял ПКО из "запрещенного периода". Открыл групповое изменение, выбрал этот документ, поставил сегодняшнюю дату и документ благополучно изменился, т.е. поставил разрешенную условиям дату и провелся...

Что нужно поставить в подписку на событие ПередЗаписью, чтобы запомнил первоначальную дату и по ней осуществлял проверку?
8. Arkadag 13.08.19 14:16 Сейчас в теме
9. Arkadag 13.08.19 14:16 Сейчас в теме
ДатаНовая = Источник.Дата;
ДатаСтара = Источник.Ссылка.Дата;
Оставьте свое сообщение
Вакансии
1С аналитик
Москва
зарплата от 210 000 руб.
Полный день

Руководитель направления 1С
Москва
зарплата от 350 000 руб.
Полный день

1С Программист
Москва
зарплата от 180 000 руб.
Полный день

Программист 1С
Москва
зарплата от 180 000 руб. до 220 000 руб.
Полный день

Аналитик 1С / Бизнес-аналитик
Нижний Новгород
зарплата от 100 000 руб. до 250 000 руб.
Временный (на проект)