1С Режим Конфигуратор



         

Дополнительно - часть 3


  • В модуле формы пишем следующую процедуру:

    Перем СтКонтрагент;

    // Это мы добавили переменную, область действия которой

    // весь модуль формы документа

    //-----------------------------------------------

    Процедура ПриОткрытии()

    // Это предопределенная процедура, запускается при возникновении

    // события – открытие формы документа

    // Она сформировалась автоматически, как мы указали в визарде создания

    // документов

      ПриЗаписиПерепроводить(1);

    // Это означает, что если мы проведенный документ изменили, то при

    // попытке его сохранения программа попытается его перепровести

      СтКонтрагент=Контрагент;

    // Инициализируем переменную СтКонтрагент значением реквизита Контрагент

    КонецПроцедуры

    //-----------------------------------------------

    Процедура Контрагент()

      Если Контрагент<>СтКонтрагент Тогда

    // В поле Контрагент содержимое изменилось

        Договор="";

    // Очищаем поле Договор

        СтКонтрагент=Контрагент;

    // Инициализируем переменную СтКонтрагент новым значением

    // реквизита Контрагент

      КонецЕсли;

    КонецПроцедуры

  • Закроем форму;
  • Откроем Модуль документа;
  • Мы видим текст:

    // ********************

    Процедура ОбработкаПроведения()

    //Здесь следует написать алгоритм проведения документа

    КонецПроцедуры

    Модуль документа служит для задания правил внесения изменений в механизмы хранения данных.

  • Перепишем процедуру ОбработкаПроведения:

    Процедура ОбработкаПроведения()

    // Предопределенная процедура, запускающая механизмы регистрации движений

      Если Контрагент.Выбран()=0 Тогда

    // Выбран() – метод, возвращающий состояние поля ввода = 1, если поле

    // заполнено и 0 если нет

        Предупреждение("Контрагент не выбран");

    // Вызовем на экран информационное окно с сообщением

        НеПроводитьДокумент();

    // Указываем, что документ заполнен неправильно – он не должен быть проведен

      КонецЕсли;

      Если Договор.Выбран()=0 Тогда

        Предупреждение("Договор не выбран");




    Содержание  Назад  Вперед