Имя: Пароль:
1C
1С v8
Запрет проведения документа
0 avatar1870
 
22.10.15
23:05
Здравствуйте. Нужно запретить проведение документа и принятие изменений при выполнении определённых условий. Мой код не работает

&НаКлиенте
Процедура ДатаУстановПриИзменении(Элемент)
      ДатаУстановПриИзмененииНаСервере();
КонецПроцедуры

&НаСервере
Процедура ДатаУстановПриИзмененииНаСервере()
    Отказ=Ложь;
    
Если (Объект.ДатаУстанов<Справочники.Эксплуатация.НайтиПоНаименованию(Объект.НомерАКБ).ДатаПолуч) Тогда
    Результат = "Дата установки не может быть раньше даты получения АКБ!";
    Сообщить(Результат);
    Отказ=Истина;
    Возврат;
КонецЕсли;

Если (Объект.ДатаУстанов<Справочники.Эксплуатация.НайтиПоНаименованию(Объект.НомерАКБ).ДатаИзготов) Тогда
    Результат = "Дата установки не может быть раньше даты изготовления АКБ!";
    Сообщить(Результат);
    Возврат;
    Отказ=Истина;
КонецЕсли;

КонецПроцедуры
1 lxndr
 
23.10.15
04:23
используй процедуру ОбработкаПроверкиЗаполнения
2 Рэйв
 
23.10.15
06:05
(0)Проверяй все ПередЗаписью и если что не так - Отказ=Истина и все.
3 НЕА123
 
23.10.15
08:19
(0)
Отказ - это кто?
4 senior
 
23.10.15
08:30
(3) Отказ это переменная, которую он инициализировал значением Истина и больше нигде не использует
5 Лефмихалыч
 
23.10.15
08:32
(0) не работает потому, что ты код не там написал
(2) проверять надо в обработке проверки заполнения - вне транзакции