Здравствуйте, например пришла заявка 10.11.2021, если ставим дату отгрузки 11.11.2021 и 12.11.2021 тогда выскакивает сообщение "дату отгрузки возможно ставить только миниму через 2 дня"

Кратко, чтобы от сегодняшней даты 10.11.2021 можно было ставить минимум на 13.11.2021, а если вводят меньше дату выскакивала ошибка

ПОМОГИТЕ ПОЖАЛУЙСТА!!!
---
```1c
    Если ЭтотОбъект.ДатаОтгрузки - ЭтотОбъект.Дата < 86400 * 2 Тогда
    // Ругаемся
    КонецЕсли;
```
---
Я забыл, в процедуре доступен флаг "Отказ". Правильнее вместо исключения делать так:

```1c
    Отказ = Истина;
    Сообщение = Новый СообщениеПользователю();
    Сообщение.УстановитьДанные(ЭтотОбъект);
    Сообщение.Поле = "Объект.ДатаОтгрузки";
    Сообщение.Текст = "Дату отгрузки возможно ставить только минимум через 2 дня";
    Сообщение.Сообщить();
```
---
В модуле документа, в процедуре "Перед записью" проверять реквизиты и если ошибка, вызывать исключение

```1c
    ВызватьИсключение("дату отгрузки возможно ставить только миниму через 2 дня");
```
---
А как проверить реквизиты, помогите пожалуйста
---
```1c
    Если ЭтотОбъект.ДатаОтгрузки - ЭтотОбъект.Дата < 86400 * 2 Тогда
    // Ругаемся
    КонецЕсли;
```
---
Я забыл, в процедуре доступен флаг "Отказ". Правильнее вместо исключения делать так:

```1c
    Отказ = Истина;
    Сообщение = Новый СообщениеПользователю();
    Сообщение.УстановитьДанные(ЭтотОбъект);
    Сообщение.Поле = "Объект.ДатаОтгрузки";
    Сообщение.Текст = "Дату отгрузки возможно ставить только минимум через 2 дня";
    Сообщение.Сообщить();
```
---
Отказ = Истина;
Сообщение = Новый СообщениеПользователю();
Сообщение.УстановитьДанные(ЭтотОбъект);
Сообщение.Поле = "Объект.ДатаОтгрузки";
Сообщение.Текст = "Дату отгрузки возможно ставить только минимум через 2 дня";
Сообщение.Сообщить();
---
Не в форме документа! Пользователи будут записывать документ без проведения, закрывать форму и проводить документ из формы списка документов. Ваша проверка не сработает в таком случае.
МодульОбъекта
---
Помогло спасибо большое !!!
---
Нажмите хотя бы ctrl+a, затем alt+shift+F, а то совсем все плохо.
И проставьте на мои ответы плюсы и "Это решение"
---
Сообщение было скрыто модератором.
---
Сообщение было скрыто модератором.
---
Можно так. Регистр сведений "ПривилегированныеПользователи" нужно добавить в конфигурацию

```1c
    Если РольДоступна("ПолныеПрава")
    Или РегистрыСведений.ПривилегированныеПользователи.Выбрать(, Новый Структура("Пользователь", ПараметрыСеанса.ТекущийПользователь)).Количество() <> 0 Тогда
    // Пользователю можно проводить документ
    КонецЕсли;
```
---
Если РольДоступна("ПолныеПрава")
Или РегистрыСведений.ПривилегированныеПользователи.Выбрать(, Новый Структура("Пользователь", ПараметрыСеанса.ТекущийПользователь)).Количество() <> 0 Тогда
      // Пользователю можно проводить документ
КонецЕсли;

В моём случае получается так ?

```1c
    Если РольДоступна("ПолныеПрава")
    Или РегистрыСведений.Список пользователей для редактирования проведенных.Выбрать(, Новый Структура("Пользователь", ПараметрыСеанса.ТекущийПользователь)).Количество() <> 0 Тогда
    // Пользователю можно проводить документ
    КонецЕсли;
```
---
А как разрешить проводить документы определённым пользователям ?
У меня есть регистр "Список пользователей для редактирования проведённых"
Как этому списку дать доступ на проведение ?

```1c
    РазрещеноРедактирование = ПЛ_Портал.ОпределитьПравоПользователяНаРедактированиеПроведенныхДокументов();
    Если НЕ РазрещеноРедактирование Тогда

    Если ЭтотОбъект.ДатаОтгрузки - ЭтотОбъект.Дата < 86400 * 2 Тогда
    Отказ = Истина;
    Сообщение = Новый СообщениеПользователю();
    Сообщение.УстановитьДанные(ЭтотОбъект);
    Сообщение.Поле = "Объект.ДатаОтгрузки";
    Сообщение.Текст = "Дату отгрузки возможно ставить только минимум через 2 дня";
    Сообщение.Сообщить();
    Иначе

    КонецЕсли;
    КонецЕсли;
```
---
Сообщение было скрыто модератором.