Процедура Выполнить принадлежит модулю обработки. Модуль же обработки в общем случае может содержать компоненты:
(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. Если не так. Ищите ошибку.
Учтите, что функция ВычислитьУ должна быть размещена в модуле до процедуры Выполнить из которой она вызывается. Если же вы хотите записать код функции ВычислитьУ после процедуры Выполнить, то в начале модуля надо привести предварительно описание функции:
Функция ВычислитьУ(х) далее
Процедура Выполнить()
…
конецПроцедуры
функция ВычислитьУ(х)
….
КонецФункции