Открыть меню Закрыть меню
Развивайте свой бизнес, а мы позаботимся о вашей 1С
mail
E-mail msk@1c.yar.ru
mail
Телефон 8 495 975 93 57
mail
E-mail msk@1c.yar.ru
mail
Телефон 8 495 975 93 57
Иконка поиска Скачать прайс-лист

1С функции и процедуры

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

Объявляются функции в модуле в произвольном порядке. То есть имеется возможность использования в тексте процедуры не в порядке очередности, а находящейся в конкретном модуле существенно ниже. Как и в случае с переменными 1С, доступно экспортирование функции 1С.

С помощью команды «Возврат;» осуществляется «выход» из выполняемой функции и процедуры 1С.

Функцией (и в этом заключается ее отличие от процедуры), выполняется «возврат» полученного результата вычислений, если будет написано «Возврат ЗНАЧЕНИЕ;».

Типизация функции 1С отсутствует, а потому возможно возвращение значения различных типов. Зависит это от параметров либо условий.

Возвращение функцией результата вычислений

Функция Функция1(Параметр)

     Возврат Параметр * 2;

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

Переменная1 = Функция1(10);

//Переменная1 будет равна 20

Параметры функции 1С и процедуры являются ссылками на переменные, присутствующие в месте вызова. Они подразумевают, что, если изменится параметр в «теле» функции1С, то аналогичное действие произойдет и «снаружи». Чтобы это исключить, передача параметра осуществляется со значением ПЕРЕМ.

Но когда речь идет о значениях-объектах (объекты базы данных, таблицы, списки), эта схема не работает, и их передача будет выполняться по ссылке. А это означает, что в результате изменения параметра внутри процедуры, происходит его изменение после завершения функции 1С.    

Изменение параметра функции внутри процедуры

Процедура Процедура1(Параметр)

     Параметр = Параметр * 2;

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

Переменная1 = 10;

Процедура1(Переменная1);

Сообщить(Переменная1);

//Результатом будет 20

Передача в процедуру значения переменной

Процедура Процедура1(ЗНАЧ Параметр)

     //действия..

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

Работая с объектами (документами, справочниками), нельзя забывать о возможности выполнения действий внутри функции/процедуры 1С. В том случае, когда функция 1С/процедура 1С имеет несколько параметров, то ненужные могут быть пропущены (указывается запятая или пропускается номер в середине).

Действия внутри функции, процедуры

Функция Функция1(Параметр1, Параметр2, Параметр3 = “Строковое значение”)

     //Чтото делаем

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

//Вызов функции без некоторых параметров

//параметр2 будет равен Неопределено

//параметр3 будет равен “Строковое значение”

Функция1(10);

//Вызов функции без второго параметра

Функция1(10, , “Значение”);

Выше по тексту уже говорилось, об использовании процедур 1С для обработки событий, которые возникают если пользователь работает с формой:

  • нажимает кнопки;
  • открывает, закрывает форму;
  • прочие подобные действия.

Или платформой:

  • осуществляет запуск;
  • закрывает;
  • прочие подобные действия.

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

На панели конфигуратора имеется всплывающий список с видами обработчиков в модуле объекта. В нем отображены все события, как уже определенных, как и неопределенных.

Разные события имеют различные характеристики, а потому, когда добавляется обработчик 1С, происходит автоматическое переписывание списка параметров.  

Для размещения обработчиков событий используется модуль формы объекта. Для добавления (назначения) обработчика можно использовать несколько соответствующих способов.

Остались вопросы?
Позвоните нам или оставьте заявку на сайте. Ответим в течение 1 часа в рабочее время.