Есть еще один очень хитрый вариант, если данные меняются не часто: Использовать свойство внешнего модуля "
Повторное использование возвращаемых значений" (Повторне використання значень, що повертаються).
1. Создаете новый общий модуль
2. Ставите галку "Повторное использование возвращаемых значений"
3. Пишите функцию, которая Вам возвращает Ваши труднособираемые данные в этом модуле
4. Функция обязательно должна иметь параметр (например число. Параметр не обязательно использовать внутри функции)
Например у Вас функция:
Функция ПолучитьСложныеДанные(КакойТоПараметр)
...
// Нигде в функции "КакойТоПараметр" не встречается, но функция путем запросов возвращает данные
КонецФункции
Далее дело обстоит так: когда Вы вызываете функцию и например передаете число или строку:
Результат = ПолучитьСложныеДанные(5);
Функция проведет сложные расчеты и вернет Вам результат. Но если вы ее вызовите снова:
Результат = ПолучитьСложныеДанные(5);
Функция вернет тот же результат, но в этот раз не будет проводить расчетов, а вернет сразу результат, полученный в предыдущий раз.
Если теперь вызвать
Результат = ПолучитьСложныеДанные(6);
функция опять проведет расчеты и вернет некий (может и другой результат)
Если снова вызвать
Результат = ПолучитьСложныеДанные(6);
- тот же результат но без вычислений
Результат = ПолучитьСложныеДанные(5);
- результат полученный в первый раз тоже без вычислений.
И все это делает галочка в модуле "Повторное использование возвращаемых значений".
Честно говоря я не тестировал это все, но теоретически - должно работать