ЮНИТ 12. ТАБЛИЦА ЗНАЧЕНИЙ В ЯЗЫКЕ 1C (В ПРИМЕРАХ)

ЮНИТ 12. ТАБЛИЦА ЗНАЧЕНИЙ В ЯЗЫКЕ 1C (В ПРИМЕРАХ)

Таблица значений — это не сохраняемый в базе данных объект, который позволяет строить динамические наборы значений и манипулировать ими (добавлять, редактировать, удалять элементы, сортировать). Он может быть наполнен значениями любого типа, т.е. в одной таблице типы хранимых значений могут быть разными.

Одним из примеров использования данного объекта может служить организация представления в форме списка элементов справочника, отобранных по сложному алгоритму

Необходимо отметить, что таблица значений, связанная с элементом управления Табличное Поле, будет иметь все колонки, имеющиеся в табличном поле, с соответствующими именами. Кроме того, таблица значений может иметь также и собственные колонки, не отображаемые в табличном поле, при этом их имена должны отличаться от имен колонок табличного поля.

Элементы коллекции: СтрокаТаблицыЗначений

Для объекта доступен обход коллекции посредством оператора Для каждого . Из . Цикл. При обходе выбираются элементы коллекции.

Возможно обращение к элементу коллекции посредством оператора [. ]. В качестве аргумента передается индекс строки (нумерация с 0).

Содержит коллекцию индексов таблицы значений.

Содержит коллекцию колонок таблицы значений.

Вставляет строку на позицию в таблице значений, соответствующую указанному индексу. Возвращает вставленную строку. ВыбратьСтроку( , )

Вызывает модальное диалоговое окно для интерактивного выбора строки из таблицы значений. Возвращает выбранную строку или Неопределено, если пользователь отказался от выбора.

В ы грузить Кол он ку ( )

Создает массив и копирует в него значения, содержащиеся в колонке таблицы значений. Возвращает этот массив.

Добавляет строку в конец таблицы значений. Возвращает добавленную строку.

Загружает колонку таблицы значений из массива значений.

Заполняет все строки таблицы значений указанным значением. Индекс( )

Получает индекс строки в коллекции строк таблицы значений. Если не найдено, то возвращается —1.

Суммирует значения всех строк в указанной колонке.

Если в колонке установлен тип и он единственный, то при суммировании будет предприниматься попытка преобразования значения к типу Число.

Если колонке не присвоены типы, то в процессе суммирования будут принимать участие только значения, имеющие тип Число, значения других типов будут игнорироваться.

Если в колонке несколько типов и среди них есть тип Число, то в процессе суммирования будут принимать участие только значения, имеющие тип Число, значения других типов будут игнорироваться.

Если в колонке несколько типов и среди них нет типа Число, то результатом будет значение Неопределено.

Получает количество строк таблицы значений.

Осуществляет поиск значения в указанных колонках таблицы значений. Возвращает строку, в которой содержится искомое значение. Если значение не найдено, то возвращается значение Неопределено.

Осуществляет поиск строк таблицы значений, отвечающих заданным условиям поиска. Возвращает массив строк таблицы значений, соответствующих условиям поиска. Замечание! Массив хранит ссылки на строки таблицы значений, то есть при изменении строки в таблице значение в массиве тоже будет измененным.

Удаляет все строки таблицы значений. Структура колонок остается неизменной.

Получает значение по индексу. Работает аналогично оператору [].

Свернуть( , ) Осуществляет свертку таблицы значений по указанным колонкам группировки. Строки, у которых совпадают значения в колонках, указанных в первом параметре, сворачиваются в одну строку. Значения этих строк, хранящиеся в колонках, указанных во втором параметре, накапливаются. Важно! Списки колонок не должны пересекаться. Колонки, не вошедшие ни в один из списков колонок, после выполнения метода удаляются из таблицы значений.

Сдвигает строку на указанное количество позиций.

Если указаны строки и колонки, то только они будут скопированы. Если не указаны, то будет создана полная копия таблицы значений.

Создает таблицу значений с заданным списком колонок.

Сортирует таблицу значений в соответствии с указанными правилами сортировки.

Удаляет строку таблицы значений, где Строка — индекс или сама строка.

Процедура КнопкаВыполнитьНажатие (Кнопка)

III Как создать таблицу значений

Таб = Новый ТаблицаЗначений;

III Как добавить колонки в таблицу значений

Таб. Колонки.Добавить(" Вкус");

III Как добавить строки в таблицу значений

Стр. Цвет = "Зеленый";

Стр. Вкус = "Кислый";

Стр = Таб.Добавить(); Стр. Фрукт = "Банан"; Стр. Цвет = "Желтый"; Стр. Вкус = "Сладкий";

Стр = Таб.Добавить(); Стр.Фрукт = "Слива"; Стр. Цвет = "Синий"; Стр. Вкус = "Терпкий";

III Как связать таблицу значений на форме

ЭлементыФормы.Добавить(Тип("ТабличноеПоле"), "Таб", Истина);

ЭлементыФормы.Таб. Верх = 50;

ЭлементыФормы.Таб. Высота = 600;

ЭлементыФормы.Таб. Значение = Таб;

ЭлементыФормы.Таб. Создать Колонки();

ЭлементыФормы.Таб.Колонки[0].Ширина = 50; ЭлементыФормы.Таб. Передо ваниеЦветовСтрок =

III Как добавить в таблицу значений колонку с описанием III типа и заголовка

ОписаниеВеса = Новый ОписаниеТипов("Число",

Новый КвалификаторыЧисла(12, 3));

Таб.Колонки.Добавить("ВесФрукта", ОписаниеВеса, "Вес фрук-

III Как перечислить все строки в таблице значений в 1с

Для Каждого Стр Из Таб Цикл Сообщить(Стр.Фрукт + "" + Стр.Цвет + "" + Стр.Вкус); КонецЦикла;

III Как перечислить все колонки в таблице значений

Для Каждого Колонка Из Таб.Колонки Цикл Сообщить(Колонка.Имя);

III Как интерактивно выбрать строку из таблицы значений

// Таб. ВыбратьСтроку("Выберите фрукт", 1);

III Как выгрузить колонку таблицы значений в массив

// выгрузка названий фруктов в массив МассивФруктов = Таб. Выгрузить Колонку("Фрукт");

// ничего не измениться, так как массив не менялся Таб.ЗагрузитьКолонку(МассивФруктов, "Фрукт");

III Как заполнить значения в колонке для всех строк таблицы III значений

// обнулим вес во всех строках Таб.3аполнить3начения(0, "ВесФрукта");

// выставим новые веса

III Как в таблице значений посчитать итог по колонке

III Как найти строку в таблице значений по значению

// найдем строчку с яблоком и покажем его цвет Сообщить(Таб.Найти( "Яблоко" ).Цвет); //Зеленый

III Как найти строку в таблице значений поиском значения III в определенных колонках

// будем искать по слову "Кислый" в колонках вкус и цвет Сообщить(Таб.Найти("Кислый", "Вкус, Цвет").Фрукт); // Яблоко

//добавим еще один зеленый фрукт Стр = Таб.Добавить();

Стр. Цвет = "Зеленый";

Стр. Вкус = "Сладкий";

Стр. ВесФрукта = 30;

III Как искать в таблице значений неуникальные значения

Отбор = Новый Структура;

Для Каждого Стр Из Строки Цикл Сообщить(Стр.Фрукт); // Яблоко Киви КонецЦикла;

III Как сдвинуть строку таблицы значений

// сдвигаем первую строку на одну позицию вперед Таб.Сдвинуть(0, 1);

// и возвращаем обратно Таб.Сдвинуть(1, -1);

III Как создать копию таблицы значений в 1с 8.3, 8.2

III Как создать копию таблицы значений по нужным III колонкам

// только две колонки будет Фрукт и Цвет КопияТаб = Таб. Скопировать Кол онки("Фрукт, Цвет");

III Как создать копию таблицы значений по отбору

Отбор = Новый Структура;

// таблица будет содержать только строчку с яблоком КопияТаб = Таб.Скопировать(Отбор);

// таблица будет содержать цвет и вес яблока КопияТаб = Таб.Скопировать(Отбор, "Цвет, ВесФрукта");

III Как свернуть таблицу значений по колонке

// свернем по вкусу, просуммируем по весу Таб.Свернуть("Вкус","ВесФрукта");

III Как отсортировать таблицу значений по колонке

III Как отсортировать таблицу значений по нескольким III колонкам

📎📎📎📎📎📎📎📎📎📎