Если Не ЗначениеЗаполнено(Договор) Тогда
Отказ=Истина;
<Не заполнен договор>
Возврат;
Если НеВыполнятьПроверкуПередЗаписью Тогда
НеВыполнятьПроверкуПередЗаписью = Ложь;
Возврат;
КонецЕсли;
Если ПараметрыЗаписи.РежимЗаписи = РежимЗаписиДокумента.Проведение Тогда
ВыполнитьПроверкиИЗадатьВопросыПередЗаписью(Отказ, ПараметрыЗаписи);
КонецЕсли;
(1) У Вас договор это реквизит объекта? Тогда надо писать Если не ЗначениеЗаполнено(Объект.Договор). А по хорошему, как указали коллеги надо курить ОбработкуПроверкиЗаполненияНаСервере (судя по всему, Вы проверяете в форме объекта) или в обработке проверки заполнения в модуле объекта.
Процедура ОбработкаПроверкиЗаполнения(Отказ, ПроверяемыеРеквизиты)
Договор = ПроверяемыеРеквизиты.Найти("Договор");
Если Не ЗначениеЗаполнено(Договор) Тогда
// Если он не заполнен, сообщим об этом пользователю
Сообщение = Новый СообщениеПользователю();
Сообщение.Текст = "Не указан Договор!";
Сообщение.Поле = "Договор";
Сообщение.УстановитьДанные(ЭтотОбъект);
Сообщение.Сообщить();
Отказ = Истина;
КонецЕсли;
КонецПроцедуры
Процедура ОбработкаПроверкиЗаполнения(Отказ, ПроверяемыеРеквизиты)
НепроверяемыеРеквизиты = Новый Массив();
...
// Проверка значения реквизита на соответствие некоторым требованиям
Если НЕ ИННСоответствуетТребованиям(ИНН) Тогда
Сообщение = Новый СообщениеПользователю();
Сообщение.Текст = НСтр("ru = 'ИНН задан неверно.'");
Сообщение.Поле = "ИНН";
Сообщение.УстановитьДанные(ЭтотОбъект);
Сообщение.Сообщить();
Отказ = Истина;
НепроверяемыеРеквизиты.Добавить("ИНН");
КонецЕсли;
...
// Значение реквизита не должно быть пустым в зависимости от другого реквизита
Если ЮрФизЛицо <> Перечисления.ЮрФизЛицо.ФизЛицо Тогда
НепроверяемыеРеквизиты.Добавить("ИндивидуальныйПредприниматель");
КонецЕсли;
...
УдалитьНепроверяемыеРеквизитыИзМассива(ПроверяемыеРеквизиты, НепроверяемыеРеквизиты);
КонецПроцедуры;
Процедура УдалитьНепроверяемыеРеквизитыИзМассива(МассивРеквизитов, МассивНепроверяемыхРеквизитов) Экспорт
Для Каждого ЭлементМассива Из МассивНепроверяемыхРеквизитов Цикл
// перед удалением реквизита из массива необходимо проверить, что он там есть
// (не был удален ранее платформой или в коде).
ПорядковыйНомер = МассивРеквизитов.Найти(ЭлементМассива);
Если ПорядковыйНомер <> Неопределено Тогда
МассивРеквизитов.Удалить(ПорядковыйНомер);
КонецЕсли;
КонецЦикла;
КонецПроцедуры