Прежде всего, следует заметить, что до сих пор мы использовали предопределенные формы объектов, которые система 1С:Предприятие создавала для нас сама «по умолчанию».
Теперь же у нас возникла необходимость слегка изменить логику работы формы документа, а значит, нам придется создать свою собственную форму документа ПриходнаяНакладная для того, чтобы в ней мы могли описать тот алгоритм, который нам нужен.
Вернемся в конфигуратор и откроем окно редактирования объекта конфигурации Документ ПриходнаяНакладная. В этом окне нас интересует закладка Формы. Как мы видим, ни одна из основных форм документа пока не задана.
Для того чтобы создать форму документа, нажмем на символ лупы в поле ввода (рис. 3.6):
Рис. 3.6. Создадим форму документа…
Система вызовет еще один полезный инструмент разработчика – конструктор форм. Этот инструмент также построен по принципу «мастеров»: ввод данных в определенной последовательности и передвижение кнопками Далее и Назад (рис. 3.7).
Рис. 3.7. Конструктор форм
|
|
Выберем тип формы ФормаДокумента и нажмем кнопку Готово, согласившись тем самым со всем, что нам предложила система.
Обратите внимание, что в дереве объектов конфигурации у объекта конфигурации Документ ПриходнаяНакладная появилась форма ФормаДокумента, а на экране открылось окно редактора форм, содержащее эту форму (рис. 3.8):
Рис. 3.8. Новая форма документа и окно редактора форм
Как видите, форма документа Приходная накладная содержит большое количество всевозможных полей. Эти поля называются элементами управления. Они имеют разное назначение и разное поведение, которое соответствует их назначению. Однако все они служат для того, чтобы отображать информацию, хранящуюся в базе данных, и организовывать интерактивную работу с этой информацией.
Сейчас мы обратим свое внимание только на те элементы управления, которые нас интересуют, – это три поля ввода, расположенные в колонках Количество, Цена и Сумма (рис. 3.9):
Рис. 3.9. Интересующие нас элементы управления…
Мы хотим, чтобы каждый раз, когда меняется значение в поле Количество или в поле Цена, в поле Сумма автоматически устанавливалось значение, равное Количество * Цена. Очевидно, что для этого нужно написать на встроенном языке команду, похожую на Сумма = Количество * Цена, которая будет выполняться при изменении значения поля Количество или Цена. Но как «поймать» эти моменты изменения?