Как выйти из процедуры 1с
Перейти к содержимому

Как выйти из процедуры 1с

  • автор:

Как выйти из процедуры 1с

Да вы что, все тупые тут что-ли.
Вам же сказали, что Возврат — это для функции!! А вы продолжаете долбить.
Наберут, блин, дятлов от ларька.

Если возврат не для процедуры. то 1С точно не для тебя
(21) я на 77 99% времени
(18) Убеждения крепче веры?
Та напиши ты уже в своей процедуре

Возврат;
А точно спасибо))) яж говорил что у меня ошибка в ДНК))))
Ура! В конце то концов нашел то наконец как выйти из процедуры!
И немного критики )
wiki:Спагетти-код
(0)че бы не возврат?
v8: Подскажите какие беруши выбрать для работы?
Выбрал все-таки, наверное.
(24) Ты удивишься, но в 7.7 возврат и для процедуры работает.
(33) что черьёзно. блин с 2003 года работаю не знал((( знал бы раньше легче работать былоб))))
(18) кто тебе такое сказал. Открой хотя бы процедуру ПриНачалеРаботыСистемы() и увидишь там возврат
Самое Тупо — кнопка reset
(34) А еще из функции можно не делать Возврат 🙂
(37) упс, в 77?
(0) ЗавершитьРаботуСистемы(ЛОЖЬ); гы!
+(38) гы, действительно необязательно . прикольненько 🙂

Стаж: 3г. и 6мес. и не научиться пользоваться Синтакс-Помощником.

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

(41) оттуда-же
Возврат []
— значение возвращаемое функцией.
Замечание:
Возвращаемое значение обязательно. при завершении функции

и при этом нижеследующая функция ничего про «обязательно» не знает :))
Функция Сформировать()
Сообщить(«Сформировать»);
КонецФункции

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • О компании
  • Контакты
  • Статусы компании
  • Вакансии
  • Акции
  • Отправить заявку
  • Часто задаваемые вопросы
  • Политика конфиденциальности
  • Оцените работу сотрудника
  • Обучающие материалы
  • Карта сайта
  • Реквизиты

PROИТ

Office 365, AD, Active Directory, Sharepoint, C#, Powershell. Технические статьи и заметки.

1С 8.3. Как прервать выполнение процедуры (принудительный выход)

Дано : 1С, версия платформы 8.3. Написан определенный код процедуры.
Задача : прервать выполнение процедуры, чтобы не выполнялся определенный код.

Решение : выход из процедуры в 1С такой же, как и из функции, т.е. командой Возврат . Однако в отличие от функции возвращать ничего не нужно, достаточно только написать данную команду. Например:

Процедура ДПВ_ПредставлениеПредставительВузаНачалоВыбора ( Элемент , ДанныеВыбора , СтандартнаяОбработка )

// здесь много кода
ЭлементПредставительВуза = Элементы . Найти ( «ПредставительВуза» );
// если не найден элемент «представитель вуза»,
// тогда принудительно выходим из процедуры
Если ЭлементПредставительВуза = Неопределено Тогда Возврат ; КонецЕсли ;
// здесь много кода
КонецПроцедуры

Данную команду можно вызывать в тех местах процедуры, где необходимо завершить дальнейшее выполнение процедуры (возможно не один раз на протяжении процедуры).

Если же нужно прервать выполнение функции без возвращения какого-либо значения, то можно написать так:

Возврат Неопределено ;

Если Вам понравилась статья, пожалуйста, поставьте лайк, сделайте репост или оставьте комментарий. Если у Вас есть какие-либо замечания, также пишите комментарии.

Как выйти из процедуры 1с

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

Далее подробнее про функции 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(Параметр1, Параметр2, Параметр3 = «Строковое значение»)
//Чтото делаем
КонецФункции

//Вызов функции без некоторых параметров
//параметр2 будет равен Неопределено
//параметр3 будет равен «Строковое значение»
Функция1(10);

//Вызов функции без второго параметра
Функция1(10, , «Значение»);

Как уже говорилось ранее, процедуры 1С используются в качестве обработчиков событий, возникающих при работе пользователя с формой (открытие, закрытие, нажатие кнопок и т.п.) или работе платформы (старт, завершение и т.п.). Возможные виды обработчиков формы или ее элементов можно увидеть в свойствах — щелкнув мышью на соответствующий элемент формы (и прокрутив окно свойств вниз). Виды обработчиков в модуле объекта можно увидеть с помощью выпадающего списка на панели в конфигураторе — где отображается список еще неопределенных и уже определенных событий. У разных событий различные параметры, при добавлении обработчика 1С автоматически прописывает список параметров.

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

Только зарегистрированные пользователи VIP группы могут видеть этот контент.

Проголосовать за этот пост:

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *