Версия для печати темы (https://pro1c.org.ua/index.php?s=a770598ea63e779d51d414bea81b852a&showtopic=53556)

Нажмите сюда для просмотра этой темы в обычном формате

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 _ Программирование в 1С Предприятие 8.3 _ Запрет групповой обработки при определенных условиях

Автор: Constantus 12.08.19, 15:23

Приветствую, Форумчане!
1с8.3.12, самопис, БСП, УФ

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

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

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

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


Что можно придумать, если требуется запретить изменение данных документа при помощи обработки групповое изменение документов?

Автор: pablo 12.08.19, 15:48

Переделать групповую обработку?

Автор: sava1 12.08.19, 16:28

в модуле документа ПередЗаписью - проверить условия и действовать

Автор: Constantus 12.08.19, 16:32

pablo @ Сегодня, 19:48 * ,

Наверно это слишком радикально... Но можно установить другую групповую обработку...

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

Проблем основная в том, что запрет идет по дате, например если сегодня 12.08, то ряд документов до 12.07 нужно забыть для каких-либо изменений,
а обработка позволит изменить дату на любое число и провести документ с новой датой...

sava1 @ Сегодня, 20:28 * ,


Как победить групповое изменение документов?

Автор: sava1 13.08.19, 8:24

Цитата(Constantus @ 12.08.19, 17:32) *
Как победить групповое изменение документов?


Цитата(sava1 @ 12.08.19, 17:28) *
в модуле документа ПередЗаписью - проверить условия и действовать


В чем проблема ? Или групповая обработка как-то по другому записывает документы ?

Автор: Constantus 13.08.19, 11:59

sava1 @ Сегодня, 12:24 * ,


Всё правильно. Но вот обнаружил засаду.

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

Что нужно поставить в подписку на событие ПередЗаписью, чтобы запомнил первоначальную дату и по ней осуществлял проверку?

Автор: sava1 13.08.19, 13:10

первоначальная - это какая?

Автор: Constantus 13.08.19, 13:17

Решил вроде, установил проверку по всем датам:

    ДатаНовая = Источник.Дата;
    ДатаСтара = Источник.Ссылка.Дата;



Автор: sava1 13.08.19, 13:18

ПередЗаписью

запрос = ...
ВЫБРАТь Дата ИЗ Документ...... как док ГДЕ Ссылка= &Ссылка

ОригинальнаяДата = Выборка.Дата

Если ОригинальнаяДата< ДатаЗапрета Тогда Отказ=Истина;


и т.д.

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7
https://pro1c.org.ua