Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


Собственные процедуры и функции

Процедуры и функции

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

Как процедура, так и функция - это логически самостоятельные именованные части программы (модуля), предназначенные для вы­полнения определенной задачи, которым могут передаваться аргу­менты (параметры). Различие состоит в том, что функция может воз­вращать вычисленное значение в точку вызова (причем единственное значение), а процедура - нет.

В любом модуле могут использоваться как системные (библио­течные) процедуры и функции (например, создание объекта, стан­дартные математические), так и созданные разработчиком конфигу­рации.

1. Системные процедуры и функции

Аналогом библиотечных процедур и функций в других языках программирования выступают системные процедуры и функции, ко­торые доступны в любом программном модуле конфигурации. Фор, мат вызова таких процедур (функций) является стандартным: требуется указать имя процедуры (функции) и после него в круглых скоб­ках список фактических параметров.

Все системные процедуры и функции разделены на несколько категорий: математические, строковые, работы с датой и временем, преобразования типов, форматирования, ввода данных, общего на­значения. Рассмотрим некоторые из наиболее часто используемых функций.

Математические функции обеспечивают выполнение элемен­тарных математических операций:

Окр() - округление числа, указанного в качестве параметра.

Синтаксис:

Окр(<число>, <точность>, <способ>)

Параметры:

Число - значение, которое округляем.

Точность - число значащих цифр дробной части (параметр не обязателен, по умолчанию - 0).

Способ - способ округления последней цифры:

0 - если 1.5 округляется до 1 (т.е. в меньшую сторону),

1 - если 1.5 округляется до 2 (т.е. в большую сторону) (параметр не обязателен, по умолчанию принимается значение, установленное в окне свойств конфигурации: Конфигурация/Задача/Свойства страни­ца Задача, поле Округление).

Мин - выбор минимального значения из набора;

 

Синтаксис:

Мин(<Элемент1>,..., <ЭлементN>)

Параметры:

 

<Элемент1 >,...,<ЭлементN> - список выражений базовых ти­пов данных.

Макс() - выбор максимального значения из набора.

Синтаксис:

Макс(<Элемент1>,..., <ЭлементN>)

Параметры:

<Элемент1>,...,<ЭлементN> - список выражений базовых ти­пов данных.

Цел() - возвращает значение целой части параметра.

Синтаксис: Цел(<Число>)

Параметры:

< Число> - числовое выражение.

Функции преобразования типов предназначены для явного пре­образования базовых типов из одного в другой. Таких функций три:

Дата() преобразует в дату число или строку, указанные в каче­стве параметра функции;

Cmpoка() преобразует в строку число или дату, указанные в качестве параметра;

Число() преобразует в число дату или строку, указанные в ка­честве параметра.

Функции ввода данных обеспечивают вызов специальных диалого­вых окон, с помощью которых в пользовательском режиме могут быть введены значения реквизитов объектов или какие-либо другие значения, необходимые для решения прикладной задачи. Таких функций шесть. При использовании любой из вышеперечисленных функций перемен­ная, которая определяет вводимое значение, обязательно должна быть описана в разделе Перем (описания переменных).

Функция ВвестиЗначение() открывает окно для ввода произволь­ного значения, которое будет помещено в заданную переменную про­граммного модуля.

Синтаксис:

Ввести3начение(<3начение>, <Подсказка>, < Тип>, <Длина>,<Точность>);

Возвращает: 1 - если в диалоге нажата кнопка ОК; 0 - если нажа­та кнопка 'Отмена'.

Параметры:

<3начение> - имя переменной, объявленной в модуле для прие­ма вводимого значения;

<Подсказка> - текст заголовка окна диалога ввода;

<Тип> - строковое выражение, т.е. название типа данных, кото­рое требуется ввести.

<Длина> - длина вводимого значения (для чисел и строк);

<Точность> - число знаков после десятичной точки (для чисел).

Пример использования:

ВвестиЗначение(наим_тов, "Введите наименование товара", строка, 20);

ВвестиЗначение(цена_тов, "Введите цену товара",число, 10,2);

Функция ВвестиЧисло() открывает окно для ввода числовое значения, которое будет помещено в заданную переменную программного модуля.

Синтаксис:

ВвестиЧисло(< Число>, <Подсказка>, <Длина>, <Точностъ>, <Таймаут>);

Возвращает: 1 - если в диалоге нажата кнопка ОК; 0 - если нажа та кнопка 'Отмена1; -1 - если закончилось время ожидания ответа. Параметры:

<Число> - имя переменной, объявленной в модуле для приема вводимого значения;

<Подсказка> - текст заголовка окна диалога ввода;

<Длина> - длина вводимого числа;

<Точностъ> - число знаков после десятичной точки;

<Таймаут> - число секунд времени ожидания ответа (если опу­щен или 0, то без ограничения).

 

Пример использования: ВвестиЧисло(с, "Введите число с", 10,2);

 

Функция ВвестиСтроку() открывает окно для ввода последова­тельности символов, которая будет помещена в заданную перемен­ную программного модуля.

Синтаксис:

ВвестиСтроку(<Строка>, <Подсказка>, <ДлинаСтроки>, Признак>,<Таймаут>);

Возвращает: 1 - если в диалоге нажата кнопка ОК; 0 - если нажа­та кнопка Отмена; -1 - если закончилось время ожидания ответа.

Параметры:

<Строка> - имя переменной, объявленной в модуле для приема вводимого значения;

<Подсказка> - текст заголовка окна диалога ввода;

<ДлинаСтроки> - длина вводимой строки;

<Признак> - если его значение 0 или он опущен, то вводится одна строка, если значение 1 - вводится многострочный текст с разде­лителями строк;

<Таймаут> - число секунд времени ожидания ответа (если зна­чение опущено или 0, то без ограничения). Во всех функциях этот параметр является необязательным.

ВвестиДату() - открывает окно для ввода значения даты, кото­рое будет помещено в заданную переменную программного модуля.

Синтаксис:

ВвестиДату(<Дата>, <Подсказка>,<Таймаут>);

Возвращает 1, если в диалоге нажата кнопка ОК, и 0, если нажа­та кнопка Отмена. Значение -1 возвращается, если закончилось вре­мя ожидания ответа.

Параметры:

<Дата> - имя переменной, объявленной в модуле для приема вводимого значения;

<Подсказка> - текст заголовка окна диалога ввода;

<Таймаут> - число секунд времени ожидания ответа (если опу­щен или 0, то без ограничения).

Функция ВвестиПериод() открывает окно для ввода двух значе­ний типа "Дата", каждое из которых будет помещено в отдельную переменную программного модуля.

Синтаксис:

ВвестиПериод(<НачалоПериода>,<КонецПериода>, <Подсказка>);

Возвращает: 1, если в диалоге нажата кнопка ОК; 0, если нажата кнопка Отмена, клавиша "Esc" или закрыто окно диалога. Параметры:

<НачалоПериода> - имя переменной, объявленной в модуле для приема вводимого значения даты начала периода;

<КонецПериода> - имя переменной, объявленной в модуле для приема вводимого значения даты конца периода;

<Подсказка> - текст заголовка окна диалога ввода.

Функция ВвестиПеречисление() открывает окно для ввода элементов перечисления, которое должно быть предварительно включено в конфигурацию задачи; предварительно в одну из переменных Программного модуля должно быть занесено имя этого перечисления (как строка символов).

Синтаксис:

ВвестиПеречисление(<Значение>, <Подсказка>,<Таймаут>);

Возвращает: 1, если в диалоге нажата кнопка ОК; 0, если паж кнопка Отмена; -1, если закончилось время ожидания ответа.

Параметры:

<3иачение> - имя переменной, объявленной в модуле для приема вводимого значения; На входе переменная должна содержать значение типа 'Перечисление' или строку с идентификатором требуемого вида перечисления.

<Подсказка> - текст заголовка окна диалога ввода;

<Таймаут> - число секунд времени ожидания ответа (если значение опущено или 0, то без ограничения).

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

Процедура Предупреждение() выдает текст, указанный в качестве параметра;

Синтаксис:

Предупреждение(<Текстсообщения>,<Таймаут>);

Параметры:

<Текст_вопроса> - строка текста предупреждения;

<Таймаут> - число секунд времени показа окна предупрежде­ния (если значение опущено или 0, то без ограничения).

Пример использования (рис. 1):

Предупреждение("Ответ="+окр(у, 2,1));


 

Процедура Сообщить() выводит заданное значение в окно сообщений (Табло). Пе­ред сообщениями можно отображать специ­альные пиктограммы, которыми можно по­мечать сообщения различной важности.

Синтаксис:

Сообщить(<Текст_сообщения>, <ИмиджМаркера >);

Параметры: <Текст_сообщения> - строка текста сообщения.

<ИмиджМаркера> - необязательный параметр. Строковое вы­ражение, которое задает тип пиктограммы, выводимой перед сооб­щением. Возможные значения:

• I

•!

•!!

•!!!;

• "." - обычное сообщение;

• символ "пробел" - без маркера.

Собственные процедуры и функции

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

Процедура может передавать любое количество параметров либо не передавать ни одного.

Процедура <имя процедуры>() <текс процедуры>

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

Ключевое слово Процедура начинает секцию исходного текста, выполнение которого можно инициировать из любой точки про­граммного модуля, просто указав <Имя_процедуры> со списком па­раметров (если параметры не передаются, то круглые скобки обяза­тельны). Конец программной секции процедуры определяется по ключевому слову КонецПроцедуры.

Синтаксис:

Процедура <Имя_проц>([<Парам1>,..., <ПарамN>])[Экспорт] //Объявления локальных переменных;

//Операторы;

[Возврат;]

//Операторы;

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

Параметры:

<Имя_проц> - назначает имя процедуры.

<Парам1>,...><ПарамN> - необязательный список формальных параметров, разделяемых запятыми. Значения формальных параметров должны соответствовать значениям передаваемых при вызове процедуры фактических параметров. В этом списке определяются имена каждого из параметров так, как они используются в тексте процедуры. Список формальных параметров может быть пуст.

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

//Объявления локальных переменных - Объявляются локальные переменные, на которые можно ссылаться только в рамках этой процедуры,

//Операторы - Исполняемые операторы процедуры.

Возврат - оператор, который завершает выполнение процедуру и осуществляет возврат в точку программы, из которой было обращение к процедуре. Использование данного оператора в процедуре не обязательно.

Функция всегда возвращает одно-единственное значение:

Функция <Имя_функции>()

<текст функции>

Возврат (ВозвращаемоеЗначение);

КонецФункции

Ключевое слово Функция начинает секцию исходного текста функции, выполнение которой можно инициировать из любой точки программного модуля, просто указав <Имя_функции> со списком параметров (если параметры не передаются, то круглые скобки обя­зательны). Выполнение функции заканчивается обязательным опера­тором Возврат. Функции отличаются от процедур только тем, что возвращают ВозвращаемоеЗначение. Конец программной секции функции определяется по ключевому слову КонецФункции. Вызов любой функции в тексте программного модуля можно записывать как вызов процедуры, т.е. в языке допускается не принимать от функции возвращаемое значение.

Синтаксис:

Функция <Имя_функции>([Парам 1>,..., <ПарамN>])[Экспорт]

//Объявления локальных переменных;

// Операторы;

...

Возврат <ВозвращаемоеЗначение>;

// Операторы;

КонецФункции

Параметры:

<Имя_функции> - назначает имя функции.

<Парам1>,...,<ПарамN>, как и для процедуры, - необязательный список формальных параметров, разделяемых запятыми. Значения формальных параметров должны соответствовать значениям передаваемых при вызове функции фактических параметров. В этом списке определя­тся имена каждого из параметров так, как они используются в тексте функции. Список формальных параметров может быть пуст.

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

//Объявления локальных переменных - объявляются локальные пе­ременные, на которые можно ссылаться только в рамках этой функции.

//Операторы - исполняемые операторы функции.

Возврат - оператор, который завершает выполнение функции и возвращает ВозвращаемоеЗначение в выражение, в котором исполь­зуется функция. Использование данного ключевого слова в функции обязательно.

 

<ВозвращаемоеЗначение> - выражение, значение которого со­держит результат обращения к функции.

 



<== предыдущая лекция | следующая лекция ==>
Стратегия (10 лучших доходностей) | IV. Формы рубежного контроля и структура итоговой оценки
Поделиться с друзьями:


Дата добавления: 2015-10-19; Мы поможем в написании ваших работ!; просмотров: 467 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Логика может привести Вас от пункта А к пункту Б, а воображение — куда угодно © Альберт Эйнштейн
==> читать все изречения...

2285 - | 2212 -


© 2015-2025 lektsii.org - Контакты - Последнее добавление

Ген: 0.014 с.