Живе на форумі
Група: Команда
Повідомлень: 3410
З: Одеса
Подякували: 1251 Росія раз
Рейтинг: 909.3
У деяких випадках потрібно організувати введення даних довільного типу в колонки табличного поля. Причому тип даних, які будуть вводитися в колонку табличного поля, заздалегідь невідомий. Наприклад, нехай необхідно створити форму підбору, що дозволяє вибирати значення довільного типу. Причому тип обраного значення заздалегідь невідомий і вибирається з заздалегідь сформованого списку доступних типів. Вибрані значення необхідно помістити в таблицю значень. Для вирішення даного завдання необхідно вміти вибирати тип зі списку доступних типів і на підставі обраного типу динамічно змінювати тип редагованого значення в елементі управління, розташованому в колонці табличного поля, що відображає вибране значення. Особливість елементів управління, розташованих в колонках табличного поля, полягає в тому, що тип редагованого значення можна змінювати тільки для колонок табличного поля, не пов'язаних з даними. Тому реалізація даного завдання має деякі особливості.
Нехай існує форма підбору, що містить табличне поле, що складається з двох колонок: колонки Тип, що містить тип обраного значення, і колонки Значення, що містить значення зазначеного типу. Колонка Тип містить індекси в масиві доступних типів, а колонка Значення не пов'язана з даними, т. К. Для елемента управління, розташованого в цій колонці, потрібно змінювати тип редагованого значення.
Для реалізації даного завдання, перш за все, необхідно сформувати масив доступних типів. Для цього в модулі форми створюється масив доступних типів, в який поміщаються необхідні типи. У нашому випадку це Число, Рядок, Дата, Булево і посилання на довідники і документи. На підставі сформованого масиву в елементі управління колонки Тип табличного поля Список формується список значень, що містить індекси типів в масиві доступних типів. Також в таблицю значень додається спеціальна колонка - Значення, в якій буде зберігатися значення обраного типу.
У обробнику події ПріІзмененіі елемента управління, розташованого в колонці Тип робиться установка обраного типу в елемент управління (в нашому випадку це поле введення) в колонці Значення.
При виборі значення в колонці Значення отримане значення необхідно зберегти в таблиці значень, тому що дана колонка не пов'язана з даними. Для цього також використовується обробник події ПріІзмененіі поля введення, розташованого в колонці Значення табличного поля.
Нарешті для того, щоб вибрані значення коректно відображалися в табличному полі необхідно використовувати обробник події ПріВиводеСтрокі, в якому текст для обраного типу і значення.