Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
19 мая 2024, 04:43

1C 8.3. Чем отличается процедура от функции?

Автор nasvyaze, 04 окт 2023, 10:54

0 Пользователей и 1 гость просматривают эту тему.

nasvyaze

Может ли кто-нибудь объяснить своими словами, чем отличается процедура от функции? Пишут что функция возвращает, а процедура выполняет то, что внутри.
Т.е. мне это ни о чем не говорит, ну возвращает, и что?

Вот на этом примере как их отличить:

Процедура Один()
Сообщить(111);
КонецПроцедуры

 Функция Два() 
Возврат 111;
КонецФункции   

Один();
Сообщить(Два());

antoneus

На этом примере с пользовательской точки зрения - никак.

nasvyaze

antoneus, а как переделать данный пример? (чтобы было понятно, их отличие)

antoneus

Тут и так видно их отличие. Для вывода результата функции надо вызывать еще и Сообщить, для вывода в случае процедуры - надо просто ее вызвать.

oooo800

Отличие прямо в вашем примере - слово "Возврат"
Функция что-то выполняет в "себе" и может вернуть результат нат этого "чего-то", а процедура выполняет что-то в "себе" и выполняет.

Если в функцию перед Возврат поставить Сообщить, так она будет и сообщать.

antoneus

Ну в процедуре тоже можно встретить слово Возврат.

oooo800

Попробуйте вставьте слово Возврат в процедуру и посмотрите, будет ошибка или нет.

antoneus

В процедуре Возврат прекращает ее выполнение и инициирует выход из нее.

Если ПроцедуруПораПрекращать Тогда
    Возврат
КонецЕсли;

ПроцедураНеПрекратилась = Истина;

oooo800

antoneus, об том и говорил, что Функция -  тождественно возврату.

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск