Обучающие статьи. Урок - Таблица Значений в BAS
Таблица значений в программе BAS
Предназначена для хранения и обработки промежуточных данных, возникающих в процессе работы программы. Таблица значений часто применяется при программировании на BAS, потому что имеет множество полезных возможностей и работает очень быстро. Таблица значений создается в памяти и не сохраняется в базе данных, т.е. это временный набор данных.
Создаем внешнюю обработку, на которую размещаем кнопку, при нажатии которой будут происходить все операции с таблицами.
Простая таблица значений
Посмотрим в отладке что получилось.
Все как мы и описали в коде. Колонки с нашими названиями и строки с нашими значениями.
Давайте перейдем к частичной визуализации наших решений в интерфейсе программы. Добавим программный вывод нашей таблицы значений на форму.
Работа с элементами формы
Разберем новые значения.
На первом этапе создаем новый массив Реквизиты, в который записываем нужные нам Реквизиты формы.
Элементы – это свойство интерфейса формы. У Элементы есть свои методы, например Добавить(). Этот метод добавляет новый элемент на форму. В первом параметре мы указываем имя, далее тип элемента (если открыть синтаксис-помощник на методе Добавить(), то можно посмотреть какие еще типы можно указывать). На первом этапе добавляем пустую таблицу
Далее использую метод Добавить() в цикле создаем колонки. Никаких размеров не указываем, как в обычных формах, платформа все сделает автоматически.
На последнем этапе заполняем таблицу данными.
Открываем нашу обработку, чтобы посмотреть что получится. Напомним, на форме мы никаких таблиц не создавали. Нажимаем Кнопку.
На форме появилась таблица и заполнилась информацией из кода.
Теперь давайте пройдемся по методам таблицы значений.
Метод Вставить() – Вставляет строку на указанный индекс строки. В отличии от предыдущих коллекций значений тут добавляется целая строка, а не значение в конкретной строке.
Таблица значений метод Вставить()
Таким образом, мы добавим строку перед строкой с яблоком.
В том случае, если на форме уже есть табличная часть, то загрузка значений в нее, при условии совпадения колонок происходит еще проще.
Создаем табличную часть Товары.
Используем метод Загрузить() и получаем еще одну таблицу на форме.
МетодВыбратьСтроку() - нужен в том случае если вы хотите взаимодействовать с пользователем.
Метод Выгрузить() – Нужен если вы хотите получить отдельную колонку или строку, для передачи например в запрос или загрузки в другую таблицу значений или еще куда-то. Для примера выгрузим колонку Вкус.
Метод Загрузить() – обратный методу Выгрузить(). Загружает массив в указанную колонку, в параметрах обязательно указывать имя колонки как и загружаемый массив.
Метод Итог() – очень полезный метод если вам нужно получить сумму числовой колонки.
Метод НайтиСтроки() или НайтиПоИдетнификатору()– нужен для поиска строки с искомым значением. Можно так же указать, в каких колонках искать значения. В итоге мы получим одну строку с искомым значением.
Таблица значений отбор строк
Результат такого поиска:
Так же стоит отметить, что возвращается в результате поиска массив.
Метод Количество(), Индекс(), Получить(), Очистить() – аналогичны предыдущим типам универсальных коллекций.
Метод Скопировать() – копирует всю таблицу значений, в параметрах можно указать строки и колонки для копирования.
Метод СкопироватьКолонки() – копирует только колонки таблицы значений, без самих значений этих колонок, т.е. строки скопированы не будут.
Метод Сортировать() – сортирует значения в указанных колонках указанным методом. Например, для сортировки по убыванию: "Убыв" и "Возр" для возрастания.
Метод Сдвинуть() – сдвигает строку на указанное количество вверх по таблице или в низ. Для сдвига вниз Таблица.Сдвинуть(0, 1), и в обратную сторону Таблица.Сдвинуть(0, -1);
Метод Свернуть() – очень полезный метод если у вас есть несколько повторяющихся значений. Как и в методе Итог() мы получим таблицу с итогом по одной или нескольких числовых колонках.
Для примера расширим нашу таблицу колонкой Сумма.
Таблица значений метод Свернуть()
До сворачивания наша таблица будет иметь такой вид:
Сворачиваем по полю Вкус:
После сворачивания:
Метод, во-первых удалил колонки, которых не было в параметрах, колонки Фрукт и Цвет были удалены, во-вторых по колонке Сумма были просуммированы значения.
Почему только по Солодкий, а остальных никак не тронуло?
Все просто, в первой части параметров мы указали, какие колонки и их значения считать уникальными. Т.е. у нас изначально было две строки со значением «Солодкий», но т.к. они одинаковы и мы указали эту колонку в параметрах, метод соединил все строки с одинаковыми значениями, и просуммировал последнюю колонку «Сумма», т.к. мы указали ее как суммируемую.
Выгрузка Таблицы в XML файл
Воспользуемся Фабрикой XDTO для формирования XML файла. Добавим код в нашу процедуру:
Для простоты примера не будем вызывать окно выбора пути и имени файла. Полученный результат:
Также можно вручную создать XML файл с требуемой структурой.
Более подробно с таблицами можно ознакомиться на наших курсах программирования BAS и онлайн программирования BAS
Так же, наша компания проводит обучение по курсам:
Обучение проводится в вечернее время, что позволит вам не отрываться от работы или обучения, практикующим программистом нашей компании.
Если у вас остались вопросы, Вы всегда можете обратиться к нашим аналитикам по телефонам:
(093) 090-70-20
(095) 090-70-20
(068) 090-70-20
Свяжитесь с нами
Если вы хотите получить больше информации, заполните эту форму. Мы свяжемся с вами в ближайшее время.