Constantus
12.08.19, 15:23
Приветствую, Форумчане!
1с8.3.12, самопис, БСП, УФ
В состав нашей конфигурации входит групповая обработка документов, судя по всему классика.
У нас имеется некие документы, "Заказ", РКО, "ПКО" у которых программно закрыт доступ к изменению данных при определенном условии (прошел месяц после создания документа).
Ну при открытии формы стоит проверка даты, если разница дат между датой документа и текущей, то:
ЭтаФорма.ТолькоПросмотр = ДатаЗапрета();
Что можно придумать, если требуется запретить изменение данных документа при помощи обработки групповое изменение документов?
Переделать групповую обработку?
в модуле документа ПередЗаписью - проверить условия и действовать
Constantus
12.08.19, 16:32
pablo @ Сегодня, 19:48 необходимо зарегистрироваться для просмотра ссылки
,
Наверно это слишком радикально... Но можно установить другую групповую обработку...
А можно программно запретить права на Проведение, на Редактирование и т.д., ну типа будут выходить сообщение "У Вас нет вообще никаких прав..."
Проблем основная в том, что запрет идет по дате, например если сегодня 12.08, то ряд документов до 12.07 нужно забыть для каких-либо изменений,
а обработка позволит изменить дату на любое число и провести документ с новой датой...
sava1 @ Сегодня, 20:28 необходимо зарегистрироваться для просмотра ссылки
,
Как победить групповое изменение документов?
Цитата(Constantus @ 12.08.19, 17:32) необходимо зарегистрироваться для просмотра ссылки
Как победить групповое изменение документов?
Цитата(sava1 @ 12.08.19, 17:28) необходимо зарегистрироваться для просмотра ссылки
в модуле документа ПередЗаписью - проверить условия и действовать
В чем проблема ? Или групповая обработка как-то по другому записывает документы ?
Constantus
13.08.19, 11:59
sava1 @ Сегодня, 12:24 необходимо зарегистрироваться для просмотра ссылки
,
Всё правильно. Но вот обнаружил засаду.
Взял ПКО из "запрещенного периода". Открыл групповое изменение, выбрал этот документ, поставил сегодняшнюю дату и документ благополучно изменился, т.е. поставил разрешенную условиям дату и провелся...
Что нужно поставить в подписку на событие ПередЗаписью, чтобы запомнил первоначальную дату и по ней осуществлял проверку?
первоначальная - это какая?
Constantus
13.08.19, 13:17
Решил вроде, установил проверку по всем датам:
ДатаНовая = Источник.Дата;
ДатаСтара = Источник.Ссылка.Дата;
ПередЗаписью
запрос = ...
ВЫБРАТь Дата ИЗ Документ...... как док ГДЕ Ссылка= &Ссылка
ОригинальнаяДата = Выборка.Дата
Если ОригинальнаяДата< ДатаЗапрета Тогда Отказ=Истина;
и т.д.
Для просмотра полной версии этой страницы, пожалуйста,
пройдите по ссылке.