Доброго времени суток. Необходимо выполнить проверку, в документе реализация, если дата этого документа на три дня меньше даты реквизита "исправление", вывести сообщение, мол документ как 3 дня назад был проведен.
Вот код:
Почему-то не работает(((
Вот код:
Процедура ПриЗаписиНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи)
КоличествоДней = КонецДня(ТекущаяДата()) - 60 * 60 * 24 * 3;
Если КоличествоДней < ТекущийОбъект.ДатаПоследнейКорректировки Тогда
Сообщить ("Данный документ записан 3 дня назад, исправить")
ИначеЕсли КоличествоДней > ТекущийОбъект.ДатаПоследнейКорректировки Тогда
Сообщить ("Все верно");
КонецЕсли;
КонецПроцедуры
Почему-то не работает(((
По теме из базы знаний
- Проверка рентабельности по реализациям при проведении
- Вывод подробного описания строки формы СЗВ-ТД, где не заполнен вид мероприятия
- Доработка проведения в ERP 2.5. (Регистры накопления, Регистры сведений)
- Организация вложенных транзакций в 1С на примере трассировки ошибок при записи, проведении или отмене проведения документа
- Исправление ошибки "Поле объекта не обнаружено (Регистратор)" при проведении документа "Начисление зарплаты и взносов". ЗУП 3.1
Найденные решения
Процедура ПриЗаписиНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи)
Если ТекущийОбъект.ДатаПоследнейКорректировки < КонецДня(ТекущаяДата()) - 60 * 60 * 24 * 3 Тогда
Сообщить ("Данный документ записан более 3 дней назад, исправить");
Отказ = Истина;
ИначеЕсли ТекущийОбъект.ДатаПоследнейКорректировки >= КонецДня(ТекущаяДата()) - 60 * 60 * 24 * 3 Тогда
Сообщить ("Все верно");
КонецЕсли;
КонецПроцедуры
ПоказатьПроцедура ПриЗаписиНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи)
Если КонецДня(ТекущаяДата()) > ДатаДок Тогда
РазницаВДнях = (НачалоДня(ТекущаяДата()) - НачалоДня(ДатаДок) / (60 * 60 * 24);
Сообщение = Новый СообщениеПользователю();
Сообщение.Текст = СтрШаблон("Данный документ записан более %1 дней назад, исправить!",РазницаВДнях);
Сообщение.Сообщить();
Отказ = Истина;
ИначеЕсли ТекущийОбъект.ДатаПоследнейКорректировки >= КонецДня(ТекущаяДата()) - 60 * 60 * 24 * 3 Тогда
Сообщить ("Все верно");
КонецЕсли;
КонецПроцедуры
ПоказатьОстальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(2)например дата проведения документа была 5.11, сегодня открыли форму, произвели добавили номенклатуру еще раз провели документ, в этом случае в реквизите ДатаКорректировки должна вывести текущая дата, и соответсвенно должно выйти сообщение "Документ был проведен 3 дня назад"
Ну как минимум никак не отработана ситуация, когда КоличествоДней = ТекущийОбъект.ДатаПоследнейКорректировки.
Ну и, судя по процедуре, вы делаете это в модуле формы, сообщение соответственно выводится в форму, которая, при нажатии кнопки Провести и закрыть вполне себе закрывается и сообщение вы не видите.
Если нажимать Записать или Провести - сообщение выводится какое-нибудь?
Ну и, судя по процедуре, вы делаете это в модуле формы, сообщение соответственно выводится в форму, которая, при нажатии кнопки Провести и закрыть вполне себе закрывается и сообщение вы не видите.
Если нажимать Записать или Провести - сообщение выводится какое-нибудь?
Процедура ПриЗаписиНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи)
Если ТекущийОбъект.ДатаПоследнейКорректировки < КонецДня(ТекущаяДата()) - 60 * 60 * 24 * 3 Тогда
Сообщить ("Данный документ записан более 3 дней назад, исправить");
Отказ = Истина;
ИначеЕсли ТекущийОбъект.ДатаПоследнейКорректировки >= КонецДня(ТекущаяДата()) - 60 * 60 * 24 * 3 Тогда
Сообщить ("Все верно");
КонецЕсли;
КонецПроцедуры
ПоказатьПроцедура ПриЗаписиНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи)
Если КонецДня(ТекущаяДата()) > ДатаДок Тогда
РазницаВДнях = (НачалоДня(ТекущаяДата()) - НачалоДня(ДатаДок) / (60 * 60 * 24);
Сообщение = Новый СообщениеПользователю();
Сообщение.Текст = СтрШаблон("Данный документ записан более %1 дней назад, исправить!",РазницаВДнях);
Сообщение.Сообщить();
Отказ = Истина;
ИначеЕсли ТекущийОбъект.ДатаПоследнейКорректировки >= КонецДня(ТекущаяДата()) - 60 * 60 * 24 * 3 Тогда
Сообщить ("Все верно");
КонецЕсли;
КонецПроцедуры
Показать
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот