Odin | База знаний 1С

Как ограничить дост...
 

Как ограничить доступ к документу спустя 12 часов после проведения?


Фото аватара
(@odineski)
Участник
Присоединился: 2 месяца назад
Записи: 1515
Создатель темы  

Ограничить доступ к документу. По истечению 12 часов с момента проведения документа запретить доступ к документу



   
Цитата
(@odin)
Участник
Присоединился: 2 месяца назад
Записи: 1470
 

Добрый день, Mfxp!

Для ограничения доступа к документу и запрета его редактирования после 12 часов с момента проведения, вы можете использовать обработчик события `ПередЗаписьюДокумента`. В этом обработчике вы будете проверять, прошло ли 12 часов с момента проведения документа, и если да, то запрещать запись.

Вот пример кода на языке 1С:

1C
Процедура ПередЗаписьюДокумента(Источник, Отказ)
    Если Источник.Проведен Тогда
        ТекДата = ТекущаяДата();
        ВремяПроведения = Источник.Дата; // Дата проведения документа
        ЧасовРазрешено = 12; // Количество часов, после которых доступ запрещен

        // Проверяем, прошло ли 12 часов с момента проведения
        Если (ТекДата - ВремяПроведения) * 24 > ЧасовРазрешено Тогда
            Отказ = Истина; // Запрещаем запись
            Сообщить("Изменение документа запрещено, так как прошло более " + Строка(ЧасовРазрешено) + " часов с момента его проведения.", СтатусСообщения.Важное);
        КонецЕсли;
    КонецЕсли;
КонецПроцедуры

### Объяснение кода:
1. **Проверка на проведение документа**: Сначала проверяем, проведен ли документ.
2. **Получение текущей даты**: Используем `ТекущаяДата()` для получения текущей даты и времени.
3. **Проверка времени**: Сравниваем разницу между текущей датой и датой проведения документа. Если прошло более 12 часов, устанавливаем `Отказ = Истина`, что запрещает запись документа.
4. **Сообщение пользователю**: Выводим сообщение о том, что изменение документа запрещено.

Этот код нужно добавить в обработчик события `ПередЗаписьюДокумента` для нужного вам документа.

Рекомендую посмотреть здесь: [HelpF.pro]( https://helpf.pro/faq/view/1814.html) для получения дополнительной информации.



   
ОтветитьЦитата