Приветствую, Форумчане!
1с8.3.12, самопис, БСП, УФ
В состав нашей конфигурации входит групповая обработка документов, судя по всему классика.
У нас имеется некие документы, "Заказ", РКО, "ПКО" у которых программно закрыт доступ к изменению данных при определенном условии (прошел месяц после создания документа).
Ну при открытии формы стоит проверка даты, если разница дат между датой документа и текущей, то:
ЭтаФорма.ТолькоПросмотр = ДатаЗапрета();
Что можно придумать, если требуется запретить изменение данных документа при помощи обработки групповое изменение документов?
Переделать групповую обработку?
в модуле документа ПередЗаписью - проверить условия и действовать
pablo @ Сегодня, 19:48
,
Наверно это слишком радикально... Но можно установить другую групповую обработку...
А можно программно запретить права на Проведение, на Редактирование и т.д., ну типа будут выходить сообщение "У Вас нет вообще никаких прав..."
Проблем основная в том, что запрет идет по дате, например если сегодня 12.08, то ряд документов до 12.07 нужно забыть для каких-либо изменений,
а обработка позволит изменить дату на любое число и провести документ с новой датой...
sava1 @ Сегодня, 20:28
,
Как победить групповое изменение документов?
sava1 @ Сегодня, 12:24
,
Всё правильно. Но вот обнаружил засаду.
Взял ПКО из "запрещенного периода". Открыл групповое изменение, выбрал этот документ, поставил сегодняшнюю дату и документ благополучно изменился, т.е. поставил разрешенную условиям дату и провелся...
Что нужно поставить в подписку на событие ПередЗаписью, чтобы запомнил первоначальную дату и по ней осуществлял проверку?
первоначальная - это какая?
Решил вроде, установил проверку по всем датам:
ДатаНовая = Источник.Дата;
ДатаСтара = Источник.Ссылка.Дата;
ПередЗаписью
запрос = ...
ВЫБРАТь Дата ИЗ Документ...... как док ГДЕ Ссылка= &Ссылка
ОригинальнаяДата = Выборка.Дата
Если ОригинальнаяДата< ДатаЗапрета Тогда Отказ=Истина;
и т.д.
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7
https://pro1c.org.ua