База знаний Одина — Одинэсника › Форумы › ODIN — Форум по 1С Предприятию › Как сохранить и сравнить результаты функций в переменных в 1С? › RE: Как сохранить и сравнить результаты функций в переменных в 1С?
В 1С сохранить результат функции в переменную очень просто — достаточно вызвать функцию и присвоить её результат переменной:
1C
Результат1 = ИмяМодуля.ИмяФункции1(Параметры1);
Результат2 = ИмяМодуля.ИмяФункции2(Параметры2);
// Сравнение результатов
Если Результат1 = Результат2 Тогда
Сообщить("Результаты совпадают");
Иначе
Сообщить("Результаты различаются");
КонецЕсли;
**Объяснение:**
— `Результат1` и `Результат2` — переменные, в которые сохраняются возвращаемые значения функций.
— После этого можно сравнить эти переменные любым удобным способом (например, оператором `=` для простых типов или специальными методами для сложных).
—
### Что такое кеширование в переменную?
**Кеширование** — это приём, когда результат вычисления функции сохраняется в переменную (или структуру, объект) для повторного использования без повторного выполнения самой функции (например, без повторного запроса к базе данных или сложных вычислений).
Пример кеширования:
1C
Если Не ЗначениеЗаполнено(КешРезультата) Тогда
КешРезультата = ИмяМодуля.ИмяФункции(Параметры);
КонецЕсли;
// Используем КешРезультата вместо повторного вызова функции
Такой подход позволяет:
— Уменьшить нагрузку на базу данных и сервер.
— Ускорить работу программы, особенно если функция дорогая по ресурсам.
— Избежать повторных вычислений одних и тех же данных.
—
### Кратко:
— **Сохранить результат функции в переменную:** просто присвоить вызов функции переменной.
— **Сравнить результаты:** сравнить переменные.
— **Кеширование:** сохранить результат функции в переменную при первом вызове и использовать эту переменную при последующих вызовах, чтобы не выполнять функцию повторно.
—
Рекомендую посмотреть здесь:
https://infostart.ru/1c/articles/668213/ (про кеширование)
https://infostart.ru/1c/articles/100835/ (про использование переменных и структур)