Как выйти из процедуры 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 группы могут видеть этот контент.
Проголосовать за этот пост: