Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Учебное пособие 1567

.pdf
Скачиваний:
3
Добавлен:
30.04.2022
Размер:
1.4 Mб
Скачать

Рис. 16. Конструктор формы обработки

Рис. 17. Окно редактора форм

19

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

5.В обработке нам требуется реализовать следующую функциональность: пользователь может интерактивно вводить в

поля ввода Параметр1 и Сч целые числа. По нажатии кнопки Вычислить результаты вычислений должны заноситься в справочник и отображаться в таблице результатов.

6.Для реализации данной функциональности в правой верхней части редактора форм на закладке «Реквизиты» добавим два реквизита «Параметр1» и «Сч». Для них установим следующие значения: Имя – «Параметр1» Тип – Числовой Точность – 2, и Имя – «Сч», Тип – числовой (рис. 18).

Рис. 18. Добавление реквизитов в редактор форм

20

7. Настроим внешний вид формы, для этого в левой верхней части редактора форм на закладке «Элементы» выделим Форма и нажмем кнопку Добавить. В открывшемся диалоговом окне выберем тип элемента Декорация – Надпись. В палитре свойств этого объекта имя изменять не будем, а в качестве заголовка укажем «Функция: Результат = sqr(Параметр1) + sqr(Параметр2)». После чего из правой верхней части редактора форм перетащим реквизит Сч в левую верхнюю часть редактора форм на поле Форма. В палитре свойств данного элемента имя оставим без изменений, а заголовок изменим на «Количество итераций». Аналогичные действия произведем с реквизитом Параметр1, только в палитре свойств менять ничего не будем

(рис. 19).

Рис. 19. Окно редактора форм В нижней части редактора форм автоматически

показывается, как будет выглядеть форма обработки. Замечание. При работе с диалоговой формой не стоит

забывать о возможности предварительного просмотра. Для этого необходимо нажать <Ctrl>+<R>, и на экран будет выведено

21

создаваемое окно в таком виде, каким оно будет в режиме 1С: Предприятие.

8.Добавим на форму таблицу результатов. Для этого в правой верхней части редактора форм на закладке «Реквизиты» добавим еще один реквизит и установим для него следующие значения: Имя – ТаблицаРезультатов, Тип – ТаблицаЗначений. После чего щелкнем правой кнопкой мыши по только что созданному реквизиту (в правой верхней части редактора форм на закладке «Реквизиты») и выберем «Добавить колонку реквизита». Для данной колонки реквизита установим следующие настройки в палитре свойств: Имя – Параметр1, Тип – Число, Точность – 2. Аналогично добавим еще две колонки реквизита с тем же типом и точностью, но в качестве имени укажем соответственно «Параметр2»и «Результат».

9.Перетащим реквизит «ТаблицаРезультатов» в левую верхнюю часть редактора форм на поле Форма. После чего система предложит создать колонки таблицы –нажимаем«ДА»(рис. 20).

Рис. 20. Окно редактора форм

22

10. Добавим на форму последний элемент – кнопку «Рассчитать». Для этого в правой верхней части редактора форм перейдем на закладку «Команды». И добавим новую команду. В качестве имени укажем «Рассчитать» и перетащим данную команду в левую верхнюю часть редактора форм на поле Форма (рис. 21).

Рис. 21. Окно редактора форм

11.Создадим процедуру обработки события нажатия кнопки Рассчитать. Для этого нажмем на правую кнопку мыши (курсор находится на только что созданной команде «Рассчитать» в правой верхней части редактора форм на закладке «Команды») и выберем пункт «Свойства».

12.В палитре свойств для свойства «Действие» нажмем кнопку «Открыть» (рис. 22).

23

Рис. 22. Палитра свойств команды «Рассчитать»

13.Система предложить автоматически создать обработчик команды.

Т.к. 1С:Предприятие 8.3 ориентирована в основном на работу в клиент-серверном режиме, то для каждой процедуры или функции требуется указывать директивы компилятора, т.е. где будет выполняться код: на клиентской части или на серверной части.

В данном примере нам не принципиально, где будет выполняться код, поэтому соглашаемся со значениями по умолчанию и нажимаем на кнопку «ОК».

14.Открывается модуль формы, в которой система автоматически сгенерировала процедуру обработки нажатия кнопки «Рассчитать».

Листинг 4.1. Модуль формы обработки

&НаКлиенте Процедура Рассчитать(Команда)

//Запомним параметр1 Пар1 = Параметр1;

//выполним расчет результатов в цикле

24

Для Сч1=1 по Сч цикл

//Присвоение значения параметр2 Параметр2 = Пар1 - Сч1;

//Вычисление функции Результат = Пар1 * Пар1 - Параметр2 * Параметр2;

//Присвоение значения параметр1 Пар1 = Результат;

Конеццикла;

КонецПроцедуры

15. Сохранить обработку. В главном меню выбрать Файл Сохранить.

Имя файла внешней обработки имеет расширение .epf. Сохраним обработку в папку с базой «С:\Учебная» (рис. 23).

Рис. 23. Сохранение созданной обработки на диске 16. Запустить обработку на выполнение. Запустить

систему 1С в режиме запуска Предприятия. В запущенном на выполнении Предприятии нажать кнопку «Главное меню»

25

верхней левой части окна), далее Файл Открыть. Появится стандартный диалог Windows Открыть (рис. 24).

Рис. 24. Стандартное диалоговое окно открытия файла

17. Выбрать сохраненную обработку и нажать Открыть. Если все было сделано правильно, то после проделанных операций должны получить результат, приведенный на рис. 25.

Рис. 25. Созданная внешняя обработка

26

5.СОХРАНЕНИЕ РЕЗУЛЬТАТОВ РАСЧЕТОВ

В ТАБЛИЦЕ ЗНАЧЕНИЙ

Объект «ТаблицаЗначений» применяется для создания таблицы с любым количеством строк и колонок (не сохраняемых в БД), которые могут отображаться в формах объектов (элемент «Таблица значений»). Таблица значений создается с помощью конструктора Новый ТаблицаЗначений, либо визуально при добавлении на форму элементов «Таблица значений».

Модифицируем код нашей процедуры следующим образом: перед выполнением цикла вычислений добавим строки для очистки таблицы значений от предыдущих результатов:

//Очистим таблицу от предыдущих значений ТаблицаРезультатов.Очистить();

В цикле вычисления результатов функции добавим строки для занесения результата в таблицу значений (перед строкой

Параметр1 = Результат;):

//Сохраним параметры и результат в таблице значений НовСтрока = ТаблицаРезультатов.Добавить();

НовСтрока.Параметр1 = Пар1; НовСтрока.Параметр2 = Параметр2; НовСтрока.Результат = Результат;

Результат выполнения обработки представлен на рис. 26.

6. ЗАПИСЬ РЕЗУЛЬТАТОВ В СПРАВОЧНИК

Далее необходимо выполнить запись параметров функции и результатов вычисления в справочник. Для этого модифицируем процедуру «Рассчитать». Для добавления нового элемента в справочник используется метод «СоздатьЭлемент()». Этот метод инициализирует создание нового элемента справочника. Собственно запись нового элемента происходит

27

при вызове метода «Записать». Метод СоздатьЭлемент() может использоваться только для типа данных СправочникМенеджер.<Имя справочника>. Поэтому, для решения поставленной задачи внесем в нашу процедуру следующие дополнения:

1. Т.к. система 1С: Предприятие 8.3 ориентирована на клиент-серверный режим работы, а создание элементов справочника возможно только на стороне сервера, то сначала создадим серверную процедуру «Создать элемент справочника» с тремя нужными нам параметрами.

Рис. 26. Результат выполнения обработки

28