Передача параметров в 1С
👉Если не проходили тест, сначала выберите ответ тут, потом читайте.
Как показал опрос - на этом вопросе иногда может споткнуться даже программист с опытом. Давайте разберемся.
В 1С параметры передаются в методы (процедуры и функции)
✔️ по ссылке. Это значит, что процедура или функция может изменить переменную, которую вы ей передали.
✔️ по значению. Метод работает с "копией" исходной переменной и не меняет ее.
По умолчанию - переменная передается по ссылке.
👉Подробнее
Когда мы вызываем
в функцию попадает не просто конкретное число (текущее значение переменной) , а ссылка на переменную Цена. Параметр Сумма внутри функции фактически указывает на ту же переменную, что и Цена снаружи.
Поэтому строка:
меняет не только Сумма внутри функции, но и исходную переменную Цена.
👀Но всё меняется, когда приходит Знач
Чтобы передать параметр по значению, в 1С используется ключевое слово Знач.
Теперь при вызове функции 1С сначала делает копию значения переменной Цена.
Сама функция по прежнему вернет 90, а вот исходная переменная цена НЕ изменится
Полезно? Ставь 🔥
🤣 BGcalls. Программист 1С Здесь обсуждаем все, что должен знать программист от стажера до миддла
👉Если не проходили тест, сначала выберите ответ тут, потом читайте.
Как показал опрос - на этом вопросе иногда может споткнуться даже программист с опытом. Давайте разберемся.
В 1С параметры передаются в методы (процедуры и функции)
✔️ по ссылке. Это значит, что процедура или функция может изменить переменную, которую вы ей передали.
✔️ по значению. Метод работает с "копией" исходной переменной и не меняет ее.
По умолчанию - переменная передается по ссылке.
👉Подробнее
Когда мы вызываем
РассчитатьСкидку(Цена)
в функцию попадает не просто конкретное число (текущее значение переменной) , а ссылка на переменную Цена. Параметр Сумма внутри функции фактически указывает на ту же переменную, что и Цена снаружи.
Поэтому строка:
Сумма = Сумма - 10;
меняет не только Сумма внутри функции, но и исходную переменную Цена.
👀Но всё меняется, когда приходит Знач
Чтобы передать параметр по значению, в 1С используется ключевое слово Знач.
Функция РассчитатьСкидку(Знач Сумма)
Сумма = Сумма - 10;
Возврат Сумма;
КонецФункции
Теперь при вызове функции 1С сначала делает копию значения переменной Цена.
Сама функция по прежнему вернет 90, а вот исходная переменная цена НЕ изменится
Полезно? Ставь 🔥
🤣 BGcalls. Программист 1С Здесь обсуждаем все, что должен знать программист от стажера до миддла