Автоматический пересчет суммы в строках документа
Автоматический пересчет суммы в строках документа Наверняка вы обратили внимание на то, что при заполнении документа приходится вводить сумму в каждой строке. Это неудобно, и возникает естественное желание автоматизировать работу документа так, чтобы сумма вычислялась автоматически каждый раз при изменении цены или количества материалов в строке. Это совсем не сложно, и для этого нам потребуется сначала создать собственную форму документа, а затем воспользоваться возможно- стями встроенного языка.
В режиме «Конфигуратор» Форма документа Вернемся в конфигуратор и откроем окно редактирования объекта конфигурации Документ ПриходнаяНакладная. В этом окне нас интересует закладка Формы. Как мы видим, ни одна из основных форм документа пока не задана. Для того чтобы создать форму документа, нажмем кнопку открытия
Система вызовет еще один полезный инструмент разработчика – конструктор формы (рис. 4. 18).
Этот инструмент также построен по принципу «мастеров»: ввод данных в определенной последовательности и передвижение кнопками Далее и Назад.
Выберем тип формы Форма документа и нажмем кнопку Готово, согласившись тем самым со всем, что нам предложила система (см. рис. 4. 18). Обратите внимание, что в дереве объектов конфигурации у объекта конфигурации Документ ПриходнаяНакладная появилась форма ФормаДокумента (рис. 4. 19), а на экране открылось окно редактора форм, содержащее эту форму (рис. 4. 20). Редактор форм объединяет несколько окон взаимосвязанных между собой редакторов. Мы не будем здесь разбирать подробно работу с редактором форм, а коснемся только тех моментов, которые нужны для выполнения простейших действий, связанных с нашей задачей.
подРобнее За более подробной информацией о работе с редактором форм следует обратиться к документации «1С: Предприятие 8. 3. Руководство разра- ботчика», раздел 26. 1 «Редактор формы».
Пока мы рассмотрим только окно формы документа в режиме просмотра, расположенное внизу, и окно редактора элементов формы, расположенное слева в верхней части окна редактора форм. Прежде всего, необходимо понимать, что при разработке форм объектов конфигурации разработчик не имеет возможности нари- совать форму. Он может только указать, из каких элементов будет состоять форма, а система уже сама самостоятельно расположит эти элементы в форме. Элементы формы в верхнем левом окне редактора форм образуют иерархическую структуру, из которой следует, что чем выше в списке находится элемент, тем выше и левее на форме он будет распола- гаться. Эта структура редактируется на закладке Элементы и позволяет управлять отображением и редактированием данных в форме. Мы видим, что на основе описания в конфигурации документа ПриходнаяНакладная система создала структуру элементов, которая определяет, как будет выглядеть форма. Эти элементы имеют разное назначение и разное поведение. Однако все они служат для того, чтобы отображать информацию, храня- щуюся в базе данных, и организовывать интерактивную работу с этой информацией.
Вы можете попробовать перетащить мышью поля в дереве элементов и поменять местами, например, реквизиты табличной части. Результат изменений сразу отразится в форме документа в нижней части редактора форм. При этом разработчику не нужно задумываться над вопросами конкретного (до пикселя) расположения того или иного элемента формы, его размеров и привязки к другим элементам. Эту работу берет на себя система. Но разработчик может через палитру свойств изменить свойства элемента, которые повлияют на его отображение в форме. Он может также изменить структуру элементов формы – создать новое поле, группу полей, добавить табличную часть, связав эти элементы с данными формы. Но пока нам ничего этого не нужно делать. Нас интересуют три элемента табличной части: МатериалыКоличество, МатериалыЦена и МатериалыСумма (см. рис. 4. 20).
Очевидно, что для этого нужно написать на встроенном языке команду, похожую на Сумма = Количество*Цена, которая будет выпол- няться при изменении значения поля Количество или Цена. Но как «поймать» эти моменты изменения?
Воспользуйтесь поиском по сайту: ![]() ©2015 - 2026 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|