Дата отгрузки в документе "Заказ Покупателя"

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

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

ПОМОГИТЕ ПОЖАЛУЙСТА!!!
По теме из базы знаний
Найденные решения
4. acces969 366 10.11.21 08:46 Сейчас в теме
(3)
Если ЭтотОбъект.ДатаОтгрузки - ЭтотОбъект.Дата < 86400 * 2 Тогда
      // Ругаемся
КонецЕсли;
5. acces969 366 10.11.21 08:51 Сейчас в теме
(2) Я забыл, в процедуре доступен флаг "Отказ". Правильнее вместо исключения делать так:
Отказ = Истина;
Сообщение = Новый СообщениеПользователю();
Сообщение.УстановитьДанные(ЭтотОбъект);
Сообщение.Поле = "Объект.ДатаОтгрузки";
Сообщение.Текст = "Дату отгрузки возможно ставить только минимум через 2 дня";
Сообщение.Сообщить();
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. acces969 366 10.11.21 08:33 Сейчас в теме
В модуле документа, в процедуре "Перед записью" проверять реквизиты и если ошибка, вызывать исключение
ВызватьИсключение("дату отгрузки возможно ставить только миниму через 2 дня");
3. G_116834340000555431722 10.11.21 08:37 Сейчас в теме
А как проверить реквизиты, помогите пожалуйста
4. acces969 366 10.11.21 08:46 Сейчас в теме
(3)
Если ЭтотОбъект.ДатаОтгрузки - ЭтотОбъект.Дата < 86400 * 2 Тогда
      // Ругаемся
КонецЕсли;
5. acces969 366 10.11.21 08:51 Сейчас в теме
(2) Я забыл, в процедуре доступен флаг "Отказ". Правильнее вместо исключения делать так:
Отказ = Истина;
Сообщение = Новый СообщениеПользователю();
Сообщение.УстановитьДанные(ЭтотОбъект);
Сообщение.Поле = "Объект.ДатаОтгрузки";
Сообщение.Текст = "Дату отгрузки возможно ставить только минимум через 2 дня";
Сообщение.Сообщить();
6. G_116834340000555431722 10.11.21 08:57 Сейчас в теме
(5)
Прикрепленные файлы:
7. G_116834340000555431722 10.11.21 09:01 Сейчас в теме
(5)
Отказ = Истина;
Сообщение = Новый СообщениеПользователю();
Сообщение.УстановитьДанные(ЭтотОбъект);
Сообщение.Поле = "Объект.ДатаОтгрузки";
Сообщение.Текст = "Дату отгрузки возможно ставить только минимум через 2 дня";
Сообщение.Сообщить();
Прикрепленные файлы:
8. acces969 366 10.11.21 09:11 Сейчас в теме
(7)Не в форме документа! Пользователи будут записывать документ без проведения, закрывать форму и проводить документ из формы списка документов. Ваша проверка не сработает в таком случае.
МодульОбъекта
9. G_116834340000555431722 10.11.21 09:31 Сейчас в теме
(8) Помогло спасибо большое !!!
Прикрепленные файлы:
11. acces969 366 10.11.21 09:33 Сейчас в теме
(9)Нажмите хотя бы ctrl+a, затем alt+shift+F, а то совсем все плохо.
И проставьте на мои ответы плюсы и "Это решение"
12. пользователь 10.11.21 09:36
Сообщение было скрыто модератором.
...
10. пользователь 10.11.21 09:32
Сообщение было скрыто модератором.
...
14. acces969 366 10.11.21 09:44 Сейчас в теме
(10) Можно так. Регистр сведений "ПривилегированныеПользователи" нужно добавить в конфигурацию
Если РольДоступна("ПолныеПрава") 
Или РегистрыСведений.ПривилегированныеПользователи.Выбрать(, Новый Структура("Пользователь", ПараметрыСеанса.ТекущийПользователь)).Количество() <> 0 Тогда
      // Пользователю можно проводить документ
КонецЕсли;
15. G_116834340000555431722 10.11.21 09:47 Сейчас в теме
(14)
Если РольДоступна("ПолныеПрава")
Или РегистрыСведений.ПривилегированныеПользователи.Выбрать(, Новый Структура("Пользователь", ПараметрыСеанса.ТекущийПользователь)).Количество() <> 0 Тогда
// Пользователю можно проводить документ
КонецЕсли;



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

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

РазрещеноРедактирование = ПЛ_Портал.ОпределитьПравоПользователяНаРедактированиеПроведенныхДокументов();
	Если НЕ РазрещеноРедактирование Тогда
		
		Если ЭтотОбъект.ДатаОтгрузки - ЭтотОбъект.Дата < 86400 * 2 Тогда
			Отказ = Истина;
			Сообщение = Новый СообщениеПользователю();
			Сообщение.УстановитьДанные(ЭтотОбъект);
			Сообщение.Поле = "Объект.ДатаОтгрузки";
			Сообщение.Текст = "Дату отгрузки возможно ставить только минимум через 2 дня";
			Сообщение.Сообщить();
		Иначе
			
		КонецЕсли;
	КонецЕсли;
Показать
16. пользователь 10.11.21 11:14
Сообщение было скрыто модератором.
...
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот