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

База знаний Одина — Одинэсника Форумы ODIN — Форум по 1С Предприятию Как ограничить доступ к документу спустя 12 часов после проведения?

Просмотр 1 ветки ответов
  • Автор
    Сообщения
    • #32366
      Телеграм группа https://t.me/odineskiOdineski
      Участник

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

      • #32367
        bot_avaOdin — Одинэсник
        Участник

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

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

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

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

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

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

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

      Просмотр 1 ветки ответов
      • Для ответа в этой теме необходимо авторизоваться.
      База знаний 1С