Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторная работа №10 «Документ и регистр све...doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
602.62 Кб
Скачать

10.5.2. Получение итогов в подвале табличного поля

Во время заполнения формы пользователь захочет иметь итоги по колонкам "Количество", "СуммаРуб" и "СуммаУЕ". В этом разделе мы рассмотрим применение метода Итог(…), который есть как у объекта "Табличное поле", так и у объекта типа "Табличная часть". Уточним, что первый из этих объектов относится к интерфейсным, а второй к прикладным объектам.

Среди свойств объекта "Табличное поле" есть свойство "Подвал", установка которого приведет к появлению в табличном поле строки подвала.

Упражнение №10.12.

Установите для элемента формы "Список" свойство "Подвал":

Свойство

Значение

Подвал

Теперь для каждой отдельной колонки можно указать "что" должно отображаться в подвале.

Упражнение №10.12 (продолжение).

Произведите настройку свойств для колонок табличного поля в соответствии со следующей таблицей:

Имя

Текст подвала

Горизонт. положение в подвале

Показывать итог в подвале

ОС_Деталь

Итого:

Прижать вправо

 -

Количество

 -

Прижать вправо

 

СуммаРуб

 -

Прижать вправо

 

СуммаУЕ

 -

Прижать вправо

 

Проверьте работу формы в режиме "1С:Предприятие".

10.5.3. Обработка событий формы

К этому моменту у вас уже достаточно опыта, поэтому следующее упражнение предназначено на закрепление материала из предыдущей главы:

Упражнение №10.13.

Напишите обработку события "При открытии" и проверьте работу формы в режиме "1С:Предприятие".

Мы можем отобразить в форме некоторую информационную строку в виде объекта типа "Надпись":

Упражнение №10.14.

Увеличьте высоту формы и вставьте в форму элемент управления типа "Надпись":

Свойство

Значение

Имя:

ИнформационнаяСтрока

Заголовок:

 -

Горизонт. положение:

Прижать влево

Расположите этот элемент согласно рисунку 10.10.

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

Свойство

Значение

Обновление отображения

ОбновлениеОтображения

Рис. 10.10. Информационная строка в "подвале" формы.

Теперь мы можем заполнять заголовок этой надписи при каждом обновлении отображения в форме, реализовав следующий программный код:

//ОбновлениеОтображения() - отображает итоговую строку в // "подвале" формы Процедура ОбновлениеОтображения()     ЭлементыФормы.ИнформационнаяСтрока.Заголовок =     "Итого: поступило средств на сумму "+     Список.Итог("СуммаРуб")+" руб. "+     "("+Список.Итог("СуммаУЕ")+" УЕ)"; КонецПроцедуры

Упражнение №10.15.

Наберите текст обработчика ОбновлениеОтображения() и проверьте его работу в режиме "1С:Предприятие".

 

10.6. Обработка проведения документа Последнее, что осталось нам сделать с этим документом - "научить" его формировать движения в регистре сведений. К счастью, в системе имеется специальный Конструктор движений, применение которого мы рассмотрим ниже.

10.6.1. Конструктор движений Для того чтобы вызвать этот конструктор, необходимо на закладке "Движения" окна редактирования документа нажать одноименную кнопку.

После этого Конфигуратор откроет окно конструктора (см. рис. 10.11).

Рис. 10.11. Окно Конструктора движений.

Поскольку наш документ имеет табличную часть, то прежде чем писать выражения для каждого из свойств регистра нужно выбрать в поле "Табличная часть" значение "Список".

Упражнение №10.16.

Для табличной части "Список", используя мышь, заполните окно Конструктора согласно рисунку 10.12.

Рис. 10.12. Окно конструктора после завершения работы.

Сразу после окончания своей работы в Модуле объекта появится процедура (комментарии конструктора выделены другим шрифтом):

Процедура ОбработкаПроведения(Отказ, Режим)     //{{__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ     // Данный фрагмент построен конструктором.     // При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!     Для Каждого ТекСтрокаСписок Из Список Цикл         // регистр ДанныеОС         Движение = Движения.ДанныеОС.Добавить();         Движение.Период = Дата;         Движение.ОС = ТекСтрокаСписок.ОС_Деталь;         Движение.БалансоваяСтоимость = ТекСтрокаСписок.СуммаРуб;         Движение.РыночнаяСтоимость = ТекСтрокаСписок.СуммаУЕ;     КонецЦикла;     // записываем движения регистров     Движения.ДанныеОС.Записать();     //}}__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ КонецПроцедуры

Упражнение №10.16 (продолжение).

Проверьте проведение документа в режиме "1С:Предприятие".