Процедура Выполнить принадлежит модулю обработки. Модуль же обработки в общем случае может содержать компоненты:
(1) объявления переменных модуля, которые доступны в любом его программном компоненте,
(2) процедуры, в том числе предопределенные, и функции, созданные пользователем,
(3) операторы основной программы модуля, следующие за его процедурами и функциями. Основная программа выполняется один раз при загрузке модуля.
30. Откройте обработку Фузеева: в конфигураторе выберите вкладку Модуль
31. Внимание! Закомментируйте программу 1: перед каждой строкой введите знак комментария //. Текст должен стать зеленым.
32. Введите в модуле обработки код, содержащий (1) объявление переменной модуля а, (2) пользовательскую процедуру Выполнить и (3) основную программу из одного оператора:
Пример 25.2. Модуль обработки
// Пример 2
// Объявляем переменную модуля обработки
// Она может быть использована в любой процедуре модуля и его основной
программе
перем а;
// Основная программа модуля состоит из одного оператора
а = 5.1; // Определяем значение переменной модуля
процедура Выполнить( ) // Выполнить - имя процедуры
перем б; // Локальная переменная процедуры Выполнить
ОчиститьОкноСообщений( ); // Очищаем окно сообщений
Сообщить("а = " + а); // Выводим значение переменной а в окно
сообщений
б = 4.2; // Определяем значение локальной переменной б
Сообщить("Сумма а и б равна " + (а + б));
конецПроцедуры
33. Проверьте синтаксис — см. 25
34. Если ошибка — то исправьте и снова — см. 25.
35. Сохраните обработку: Ctrl+S.
36. Запустите 1С:Предприятие: нажмите F11, выберите Начало, выберите Пуск, нажмитекнопку Пуск, в окне сообщений должно появиться число а=5.1. Сумма а и б равна 9.3
37. Закройте 1С:Предприятие
В общем случае процедура модуля может быть вызвана как из диалога, так и из иного программного модуля, в том числе и из иного программного компонента модуля, в том числе и из его основной программы.
38. Внимание! Закомментируйте пример 2.
39. Введите такой код:
Пример 25.3. Вызов процедуры модуля
// пример 3
процедура Выполнить( ) // Связана с кнопкой Пуск обработки Фузеева
б = 4.2; // Определяем значение локальной переменной б
Сообщить("б = " + б);
конецПроцедуры
// Основная программа модуля
ОчиститьОкноСообщений( )
а = 5.1; // Определяем значение локальной переменной а
Сообщить("а = " + а);
// Процедура Выполнить вызвана из основной программы при загрузке обработки
Фузеева
Выполнить( );
40. Проверьте синтаксис — см. 25
41. Сохраните обработку: Ctrl+S.
42. Запустите 1С:Предприятие: нажмите F11, выберите Начало | Пуск, нажмите Пуск, в окне сообщений должно появиться число а=5.1 б =4.2
43. Нажмите несколько раз на кнопке Пуск, должна появляться только строка б =4.2. Код основной программы модуля для исполнения более недоступен.
44. Закройте 1С:Предприятие
Что есть функция? Функция — программный компонент, возвращающий значение и вызываемый из выражения, которое это значение использует.
44. Закомментируйте пример 3. Текст должен стать зеленым.
45. Введите в модуле обработки следующий код:
Пример 25.4. Пользовательская функция модуля
// Пример 4
функция ВычислитьУ (х) // х - формальный параметр функции ВычислитьУ
у = 2 * Лог(х); // Лог - встроенная функция
// Вернем в выражение, из которого вызывается функция ВычислитьУ, значение у
возврат у;
конецФункции
процедура Выполнить( ) // Связана с кнопкой Пуск обработки Фузеева
б = ВычислитьУ(3.0); // Функция ВычислитьУ вернет 2ln(3)
ОчиститьОкноСообщений( ); // Очищаем окно сообщений
Сообщить("б = " + б);
конецПроцедуры // Выполнить
46. Проверьте синтаксис
47. Сохраните обработку: Ctrl+S
48. Запустите 1С:Предприятие: нажмите F11, выберите Начало | Пуск, нажмите кнопку Пуск, в окне сообщений должно появиться число б = 2.197224577336
49. Если не так. Ищите ошибку.
Учтите, что функция ВычислитьУ должна быть размещена в модуле до процедуры Выполнить из которой она вызывается. Если же вы хотите записать код функции ВычислитьУ после процедуры Выполнить, то в начале модуля надо привести предварительно описание функции:
Функция ВычислитьУ(х) далее
Процедура Выполнить()
…
конецПроцедуры
функция ВычислитьУ(х)
….
КонецФункции