Урок 11 — Делаем недоступными для изменения некоторые поля

Этот урок не совсем относится к формулам, но будет полезно сказать об этом именно сейчас.

Вспомните Excel — мы не вводим данные в те поля, в которых есть формулы, потому, что мы испортим формулы. Это грозит тем, что данные на листе будут посчитаны неправильно, ведь там, где должна быть формула стоит число. В нашей программе формулы не портятся, но ввод данных в поля, где есть формулы, тоже может привести к неприятным последствиям. Возьмем для примера поле Скидка в руб. Это поле считается формулой, используя поля Скидка в % и Цена без скид. в руб.

На рисунке ниже представлена карточка продажи с точно посчитанными данными.

Что будет, если пользователь изменит значение поля Скидка в руб., округлив скидку до 20 рублей? Программа просто пересчитает поле К оплате, согласно формуле в нем. Это штатная ситуация для программы.

Но скидка уже не 10%, как раньше, хотя в поле осталось число 10. Для кого-то это не будет критичным, но в некоторых ситуациях требуется, чтобы все формулы «бились». Как обезопасить себя? Нужно просто запретить поля с формулами редактировать. Делает это соответствующими галочками дизайнере карточки:

Отметьте обе галочки для полей с формулами и проверьте работу карточки.

Теперь все в порядке. Приступаем к следующему уроку.