Ліміт полів у формі
Технічне обмеження кількості полів у одному документі і як правильно проєктувати додаткові поля.
Іноді при додаванні власного поля у форму система показує помилку на кшталт:
Row size too large. The maximum row size for the used table type, not counting BLOBs, is 65535. This includes storage overhead, check the manual. You have to change some columns to TEXT or BLOBs
Повідомлення приходить від бази даних англійською. Означає воно одне: у цьому типі документа закінчилося місце для нових полів.
Звідки береться ліміт
Кожен тип документа зберігається в окремій таблиці бази даних, і один рядок такої таблиці не може перевищувати 65 535 байт. Кожне коротке поле резервує місце під свою максимальну довжину: поле на 140 символів займає 140 × 4 = 560 байт (у базі використовується кодування, де один символ може займати до 4 байт). Отже, таких полів в одному документі поміститься приблизно 65 535 / 560 ≈ 117, причому частину з них уже займають стандартні поля самого документа.
Короткими (по 140 символів за замовчуванням) є поля типів «Дані», «Посилання», «Вибрати», «Динамічне посилання», «Пароль» і «Лише для читання».
Що робити
Власні поля додаються і змінюються в «Налаштувати форму»: Робочий стіл → «Framework» → «Конструктор» → у лівій панелі «Налаштувати форму», або через пошук (Ctrl+K). Виберіть тип документа і відкрийте потрібне поле.
- Змініть тип довгих полів на текстові: «Текст», «Короткий текст», «Текстовий редактор» або «Код». Їх вміст зберігається окремо від рядка, і в ліміті кожне таке поле займає лише кілька байт. Підходить для приміток, описів, адрес.
- Зменшіть «Довжину» коротких полів. Якщо в поле пишуть код з 10 символів, довжина 140 не потрібна - поставте 20, і поле займатиме в кілька разів менше місця.
- Перегляньте, чи всі поля потрібні. Часто частину даних краще винести в окрему таблицю всередині документа або в пов'язаний довідник.