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