Обмеження на встановлення ознаки «Виклик сервера» у спільних модулів
1. Не слід усім спільним модулям з ознакою Сервер примусово встановлювати прапорець Виклик сервера. У таких спільних модулях слід розміщувати лише ті процедури та функції, які дійсно призначені для виклику з клієнтського коду і гарантують виконання лише тих дій (і передавання лише тих даних на бік клієнта), які дозволені користувачеві під час його роботи в програмі. Наприклад, серверна функція, що реалізує певний алгоритм розрахунку, повинна передавати на бік клієнта остаточний результат цього розрахунку, але не вихідні (або проміжні) дані для розрахунку, які самі по собі можуть бути недоступні поточному користувачеві.
1. Не слід усім спільним модулям з ознакою Сервер примусово встановлювати прапорець Виклик сервера. У таких спільних модулях слід розміщувати лише ті процедури та функції, які дійсно призначені для виклику з клієнтського коду і гарантують виконання лише тих дій (і передавання лише тих даних на бік клієнта), які дозволені користувачеві під час його роботи в програмі. Наприклад, серверна функція, що реалізує певний алгоритм розрахунку, повинна передавати на бік клієнта остаточний результат цього розрахунку, але не вихідні (або проміжні) дані для розрахунку, які самі по собі можуть бути недоступні поточному користувачеві.
Див. також: Безпека прикладного програмного інтерфейсу сервера, Правила створення спільних модулів
Особливої уваги потребують процедури та функції, що використовують встановлення привілейованого режиму або розміщені в спільних модулях з ознакою Привілейований.
Серверні процедури та функції, не призначені для виклику з клієнтського коду, слід розміщувати в спільних модулях без ознаки Виклик сервера.
2.1. Як правило, під час розроблення об'єктів конфігурації (довідників, документів тощо) виходять з того, що в керованому режимі робота з екземплярами цих об'єктів (СправочникОбъект, ДокументОбъект тощо) виконується на боці сервера. Тому в керованому режимі не гарантується можливість роботи з ними на боці клієнтської програми.
Зокрема, у товстому клієнті в режимі керованої програми не слід створювати або отримувати об'єкти:
- у клієнтських спільних модулях (використовуючи інструкцію препроцесора ТолстыйКлиентУправляемоеПриложение);
- у звичайних формах під час запуску в керованому режимі. Такі форми слід використовувати лише в режимі звичайної програми.
Це дасть змогу уникнути виконання коду модулів об'єктів і підписок на події на клієнті, а також надлишкових серверних викликів процедур і функцій спільних модулів із цього коду.
Див. також: Підтримка товстого клієнта, керована програма, клієнт-сервер
2.2. Якщо конфігурація не розрахована на роботу в товстому клієнті, керована програма, слід зняти прапорець Товстий клієнт (керована програма, режим клієнт-сервер), щоб під час перевірки конфігурації уникнути хибних повідомлень про помилки.