🤔
Процедуры и функции в 1С
❕Процедуры и функции в 1С, по сути, имеют лишь одно отличие.
Функции возвращают какой-то результат, а процедуры - нет.
Поэтому вот так
можно вызвать Функцию, но
нельзя Процедуру
Результат = МояФункция();
В ряде других языков программирования даже нет такого разделения. Существуют просто "методы", в которых указывается специальный тип, означающий отсутствие результата. Например, в C# это
void:
void SayHello() { }
Отвечу на несколько возможных вопросов:
❔
Можно ли в функции не прописать Возврат?
Да, можно. И тогда функция вернёт Неопределено.
❔Можно ли обратиться к функции как к процедуре?
Да, можно вызвать функцию, но не забирать её результат.
МояФункция();
//Результат не используется
❔
Можно ли использовать функции в обработчиках событий \ описаний оповещений?
Да, по аналогии с предыдущим пунктом. В данном случае платформа просто не будет реагировать на возвращаемое значение.
❔
А нужно ли делать вышеперечисленное?
Это нежелательно и является плохой практикой.
Если у вас в коде напрашивается один из таких вариантов, то скорее всего этот код лучше пересмотреть.
Пытливый ум скажет, что процедура тоже может вернуть какое-то значение через параметры, но это не будет именно "результатом" процедуры в контексте терминов. Но о таком подходе мы ещё поговорим и разберем нюансы в отдельном посте.
Есть ещё какие-то вопросы?
Ставьте лайк и переходите в комментарии 👇
#Теория #Код #Стандарты
@GoToOneS