logo
KompTehn_vNaukTehn_amp_ObrazLekts

Список значений.

Список значений – объект, предназначен для хранения и обработки нескольких данных. Но это не массив. В нём могут хранится данные разного типа. Список значений создается в памяти и не сохраняется в базе данных, т.е. это временный набор данных. (Есть управляющий элемент «Список значений», который имеет все методы списка значений, но создается когда создаётся управляющий элемент)

СписокЗнач = СоздатьОбъект("СписокЗначений");

Имеет отображение в виде управляющего элемента на форме. Может использоваться для организации выбора значений (основное применение).

СписокЗнач.ВыбратьЗначение(<Значение>,<Заголовок>>,<Позиция>,<Таймаут>,<СпособВыбора>)

Назначение: Открыть окно для интерактивного выбора значения из списка.

Возвращает: -1 (минус единица) - закончилось время <Таймаут> ожидания отклика пользователя, 1 - если выбор произведен, 0 - иначе.

Параметры:

<Значение> - идентификатор переменной, куда помещается результат выбора;

<Заголовок> - строка заголовка диалогового окна.

<Позиция> - идентификатор переменной, куда помещается номер позиции выбранного значения в списке.

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

Добавление значений в список

ДобавитьЗначение(<значение>,[<представление>]);

//у каждого значения в СпискеЗначений есть экранное представление

//если оно не указано, то используется стандартное строковое представление объекта

СписокЗнач.ДобавитьЗначение("Иванов Иван Иванович");

СписокЗнач.ДобавитьЗначение(Сотрудник);

СписокЗнач.ДобавитьЗначение(1,"Значение №1");

Одно из применений списка значений – передача параметров в предопределённые процедуры, в которых задан один формальный параметр. Требуемые значения помещаются в список и таким образом передаются в процедуру.

Удалить СпДети.УдалитьВсё()

ДобавитьЗначение()

ВставитьЗначение()

УстановитьЗначение()

Установить()

Сортировать()

Принадлежит()

НайтиЗначение()

ПолучитьЗначение()

Получить()

ИзСтрокиСРазделителями()

ВСтрокуСРазделителями()

ВыбратьЗначение()

ТекущаяСтрока()

УдалитьЗначение()

УдалитьВсё()

Выгрузить()

Объект таблица значений. Использование. Основные методы работы.

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

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

ТабЗнач = СоздатьОбъект("ТаблицаЗначений");

Добавление новых колонок в таблицу значений

НоваяКолонка([<Идентификатор>],[<Тип>],[<Длина>],[<Точность>],[<Заголовок>],[<Ширина>],[<Формат>],[<Положение>])

Возвращает номер новой колонки.

Параметры:

<Идентификатор> - Идентификатор колонки. Если не указан, то обращение к колонке возможно только по номеру.

<Тип> - Строка или вид субконто, задающий тип колонки. Если не указан, то можно хранить любой тип.

<Длина> - Длина для числовой или строковой колонки.

<Точность> - Длина дробной части для числовой колонки.

<Заголовок> - необязательный параметр. Строковое выражение, содержащее заголовок колонки в элементе диалога типа ''ТаблицаЗначений''.

<Ширина> - Числовое выражение, содержащее ширину колонки (в символах) для представления колонки в элементе диалога типа ''ТаблицаЗначений''.

<Формат> - Строковое выражение, содержащее форматную строку, которая будет использована при визуальном отображении значений данной колонки.

<Положение> - Определяет вариант выравнивания при визуальном отображении значений данной колонки. Число: 1 - слева; 2 - справа.

Пример

ТабЗнач.НоваяКолонка("Номер");

ТабЗнач.НоваяКолонка("Сотрудник");

ТабЗнач.НоваяКолонка("Должность");

ТабЗнач.НоваяКолонка("Оклад");

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

НоваяСтрока([<НомерСтроки>])

Параметры:

<НомерСтроки> - Числовое выражение, содержащее позицию, в которую следует вставить новую строку.

ТабЗнач.НоваяСтрока();// будет добавлена последней

ТабЗнач.Номер = 1;

ТабЗнач.Сотрудник = "Иванов Иван Иванович"; //следите за типом колонки!

ТабЗнач.Должность = "Программист";

ТабЗнач.Оклад = 20000;

Для существующих колонок можно изменить параметры или установить новые.

Для обращения к элементам текущей строки используются наименования колонок, заданные при их создании (идентификаторы колонок), (не путать с «заголовком» колонки.

Обработка данных таблицы значений.

Организация цикла просмотра строк.

Для этого необходимо использовать специальный метод подготовки таблицы к просмотру. ВыбратьСтроки

ВыбратьСтроки()

Назначение:

Открывает выборку строк таблицы значений. Дальнейшая выборка осуществляется при помощи метода ПолучитьСтроку.

ПолучитьСтроку()

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

Возвращает: 1 - если очередная строка выбрана, 0 - если не выбрана.

Пример.

СуммаОкладов=0;

ТабЗнач.ВыбратьСтроки();

Пока ТабЗнач.ПолучитьСтроку()<0 Цикл

СуммаОкладов = СуммаОкладов +ТабЗнач.Количество;

КонецЦикла;

Таблица значений позволяет считать итоговые показатели и без перебора с помщью метода Итог()

Общий формат

Итог(<колонка>);

Параметры:

<Колонка> - номер или идентификатор колонки, по которой считать сумму.

То есть действие по подсчёту оклада можно было выполнить одной командой

СуммаОкладов = ТабЗнач.Итог(‘Оклад’);

Большие возможности по обработки данных таблицы предоставляет метод свернуть()

Пусть существует таблица ТабНачисл

Фамилия

Начислено

Отработано

ДатаНачисления

Сидоров

20000

160

2.09.2011

Курёхин

33рёхин11ления000

200

2.09.2011

Сичкин

25рёхин11ления000

200

2.09.2011

Сидоров

25000

180

2.10.2011

Курёхин

30рёхин11ления000

190

2.10.2011

Пусть необходимо посчитать сколько было всего начисленно сотрудникам и сколько они отработали часов.Для этого необходимо свернуть таблицу по атрибуту «фамилия», с суммированием атрибута «начислено»

Свернуть(<ГруппКолонки>,<СуммКолонки>)

Назначение:

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

Параметры:

<ГруппКолонки> - группировочные колонки (номера или идентификаторы колонок через запятую), по которым группировать данные.

<СуммКолонки> - суммируемые колонки (номера или идентификаторы колонок через запятую), по которым суммировать данные.

В данном случае необходимо выполнить команду

ТабНачисл.Свернуть(«Фамилия», «Отработано, Начислено»);

КоличествоКолонок()

ВставитьКолонку()

УдалитьКолонку()

УстановитьПараметрыКолонки()

ПолучитьПараметрыКолонки()

КоличествоСтрок()

НоваяСтрока()

УдалитьСтроку()

УдалитьСтроки()

ПолучитьСтрокуПоНомеру()

СдвинутьСтроку()

УстановитьЗначение()

ПолучитьЗначение()

НайтиЗначение()

Сортировать()

Очистить()

Выгрузить()

Загрузить()

ТекущаяСтрока()

ТекущачКолонка()

Выгрузка таблицы значений

Выгрузить(<Знач>,<НачСтрока>,<КонСтрока>,<Колонки>)

Параметры:

<Знач> - значение типа ''Таблица значений'' или ''Список значений'', в которое нужно выгрузить данные. Если переданное значение пустое, тогда система сама создаст объект типа ''Таблица значений''.

<НачСтрока> - необязательный параметр. Номер начальной строки, с которой надо начинать выгрузку. Значение по умолчанию 1.

<КонСтрока> - необязательный параметр. Номер последней строки, по которую надо выгружать. Если не указан, то до последней.

<Колонки> - необязательный параметр. Номера или идентификаторы колонок, которые надо выгружать. Если параметр не задан, то выгружаются все колонки.