Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Автоматический пересчет суммы в строках документа




Автоматический пересчет суммы в строках документа

Наверняка вы обратили внимание на то, что при заполнении документа приходится вводить сумму в каждой строке. Это неудобно, и возникает естественное желание автоматизировать работу документа так, чтобы сумма вычислялась автоматически каждый раз при изменении цены или количества материалов в строке.

Это совсем не сложно, и для этого нам потребуется сначала создать собственную форму документа, а затем воспользоваться возможно- стями встроенного языка.


 

 

Дело в том, что до сих пор мы использовали предопределенные формы объектов, которые система «1С: Предприятие» по умолчанию создавала для нас сама. Теперь же у нас возникла необходимость слегка изменить логику работы формы документа, поэтому нам нужно создать свою собственную форму документа ПриходнаяНак- ладная для того, чтобы в ней с помощью встроенного языка описать тот алгоритм, который нам нужен. И система будет использовать нашу форму вместо формы по умолчанию.

 

В режиме «Конфигуратор»

Форма документа

Вернемся в конфигуратор и откроем окно редактирования объекта конфигурации Документ ПриходнаяНакладная.

В этом окне нас интересует закладка Формы.

Как мы видим, ни одна из основных форм документа пока не задана. Для того чтобы создать форму документа, нажмем кнопку открытия  со значком лупы в поле ввода или кнопку Добавить над списком форм (рис. 4. 17).

 


Система вызовет еще один полезный инструмент разработчика –

конструктор формы (рис. 4. 18).

 

 

Этот инструмент также построен по принципу «мастеров»: ввод данных в определенной последовательности и передвижение кнопками Далее и Назад.

Выберем тип формы Форма документа и нажмем кнопку Готово, согласившись тем самым со всем, что нам предложила система (см. рис. 4. 18).

Обратите внимание, что в дереве объектов конфигурации у объекта конфигурации Документ ПриходнаяНакладная появилась форма ФормаДокумента (рис. 4. 19), а на экране открылось окно редактора форм, содержащее эту форму (рис. 4. 20).

Редактор форм объединяет несколько окон взаимосвязанных между собой редакторов. Мы не будем здесь разбирать подробно работу с редактором форм, а коснемся только тех моментов, которые нужны для выполнения простейших действий, связанных с нашей задачей.

 

подРобнее

За более подробной информацией о работе с редактором форм следует обратиться к документации «1С: Предприятие 8. 3. Руководство разра- ботчика», раздел 26. 1 «Редактор формы».


 


Пока мы рассмотрим только окно формы документа в режиме просмотра, расположенное внизу, и окно редактора элементов формы, расположенное слева в верхней части окна редактора форм.

Прежде всего, необходимо понимать, что при разработке форм объектов конфигурации разработчик не имеет возможности нари- совать форму. Он может только указать, из каких элементов будет состоять форма, а система уже сама самостоятельно расположит эти элементы в форме.

Элементы формы в верхнем левом окне редактора форм образуют иерархическую структуру, из которой следует, что чем выше в списке находится элемент, тем выше и левее на форме он будет распола- гаться.

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

Мы видим, что на основе описания в конфигурации документа ПриходнаяНакладная система создала структуру элементов, которая определяет, как будет выглядеть форма.

Эти элементы имеют разное назначение и разное поведение. Однако все они служат для того, чтобы отображать информацию, храня- щуюся в базе данных, и организовывать интерактивную работу с этой информацией.

Вы можете попробовать перетащить мышью поля в дереве элементов и поменять местами, например, реквизиты табличной части. Результат изменений сразу отразится в форме документа в нижней части редактора форм. При этом разработчику не нужно задумываться над вопросами конкретного (до пикселя) расположения того или иного элемента формы, его размеров и привязки к другим элементам. Эту работу берет на себя система.

Но разработчик может через палитру свойств изменить свойства элемента, которые повлияют на его отображение в форме. Он может также изменить структуру элементов формы – создать новое поле, группу полей, добавить табличную часть, связав эти элементы с данными формы.

Но пока нам ничего этого не нужно делать. Нас интересуют три элемента табличной части: МатериалыКоличество, МатериалыЦена и МатериалыСумма (см. рис. 4. 20).


 

 

Мы хотим, чтобы каждый раз, когда меняется значение в поле Коли- чество или в поле Цена, в поле Сумма автоматически устанавливалось значение, равное произведению значений полей Количество и Цена.

Очевидно, что для этого нужно написать на встроенном языке команду, похожую на Сумма = Количество*Цена, которая будет выпол- няться при изменении значения поля Количество или Цена. Но как

«поймать» эти моменты изменения?

 

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...