В модуле формы пишем следующую
В модуле формы пишем следующую процедуру:
Перем СтКонтрагент;
// Это мы добавили переменную, область действия которой
// весь модуль формы документа
//-----------------------------------------------
Процедура ПриОткрытии()
// Это предопределенная процедура, запускается при возникновении
// события – открытие формы документа
// Она сформировалась автоматически, как мы указали в визарде создания
// документов
ПриЗаписиПерепроводить(1);
// Это означает, что если мы проведенный документ изменили, то при
// попытке его сохранения программа попытается его перепровести
СтКонтрагент=Контрагент;
// Инициализируем переменную СтКонтрагент значением реквизита Контрагент
КонецПроцедуры
//-----------------------------------------------
Процедура Контрагент()
Если Контрагент<>СтКонтрагент Тогда
// В поле Контрагент содержимое изменилось
Договор="";
// Очищаем поле Договор
СтКонтрагент=Контрагент;
// Инициализируем переменную СтКонтрагент новым значением
// реквизита Контрагент
КонецЕсли;
КонецПроцедуры
Закроем форму;
Откроем Модуль документа;
Мы видим текст:
// ********************
Процедура ОбработкаПроведения()
//Здесь следует написать алгоритм проведения документа
КонецПроцедуры
Модуль документа служит для задания правил внесения изменений в механизмы хранения данных.
Перепишем процедуру ОбработкаПроведения:
Процедура ОбработкаПроведения()
// Предопределенная процедура, запускающая механизмы регистрации движений
Если Контрагент.Выбран()=0 Тогда
// Выбран() – метод, возвращающий состояние поля ввода = 1, если поле
// заполнено и 0 если нет
Предупреждение("Контрагент не выбран");
// Вызовем на экран информационное окно с сообщением
НеПроводитьДокумент();
// Указываем, что документ заполнен неправильно – он не должен быть проведен
КонецЕсли;
Если Договор.Выбран()=0 Тогда
Предупреждение("Договор не выбран");
Содержание Назад Вперед