Создание формы документа
Прежде всего, следует заметить, что до сих пор мы использовали предопределенные формы объектов, которые система 1С:Предприятие создавала для нас сама "по умолчанию".
Теперь же у нас возникла необходимость слегка изменить логику работы формы документа, а значит, нам придется создать свою собственную форму документа "ПриходнаяНакладная" для того, чтобы в ней мы могли описать тот алгоритм, который нам нужен. [70]
Узнай больше!
О том, для чего предназначены основные формы объектов конфигурации, можно прочитать в главе "Механизм основных форм" на странице 542.
Вернемся в конфигуратор и откроем окно редактирования объекта конфигурации "ПриходнаяНакладная". В этом окне нас интересует закладка "Формы". Как мы видим, ни одна из основных форм документа пока не задана.
Для того чтобы создать форму документа, нажмем на символ лупы в поле ввода:
Создадим форму документа...
[71]
Система вызовет еще один полезный инструмент разработчика – конструктор форм. Этот инструмент также построен по принципу "мастеров" – ввод данных в определенной последовательности и передвижение кнопками "Далее" и "Назад".
Сразу нажмем кнопку "Готово", согласившись тем самым со всем, что нам предложила система. [72]
Обратите внимание, что в дереве объектов конфигурации у объекта конфигурации Документ "ПриходнаяНакладная" появилась форма "ФормаДокумента", а на экране открылось окно редактора форм, содержащее эту форму:
Новая форма документа и окно редактора форм
Как видите, форма документа "ПриходнаяНакладная" содержит большое количество всевозможных полей. Эти поля называются элементами управления. Они имеют разное назначение и разное поведение, которое соответствует их назначению. Однако все они служат для того, чтобы отображать информацию, хранящуюся в базе данных и организовывать интерактивную работу с этой информацией. [73]
Сейчас мы обратим свое внимание только на те элементы управления, которые нас интересуют – это три поля ввода, расположенные в колонках "Количество", "Цена" и "Сумма":
Интересующие нас элементы управления.
Мы хотим, чтобы каждый раз, когда меняется значение в поле "Количество" или в поле "Цена", в поле "Сумма" автоматически устанавливалось значение равное Количество*Цена. Очевидно, что для этого нужно написать на встроенном языке команду похожую на Сумма = Количество*Цена, которая будет выполняться при изменении значения поля "Количество" или "Цена". Но как "поймать" эти моменты изменения?