Универсальные коллекции значений




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

Массив

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

Для каждого … Из … Цикл.

При обходе выбираются значения элементов массива. Возможно обращение к значению элемента посредством оператора [...]. В качестве аргумента передается индекс значения (нумерация с 0). Объект создается из программного кода с использованием конструктора Новый.

МойМассив=Новый Массив (Кол-во элем 1….. N);

Структура

Структура представляет собой динамический набор данных — коллекцию значений, каждый элемент которой состоит из пары «Ключ» и «Значение». Ключи структуры уникальны, и поэтому ими можно идентифицировать значения. Ключ структуры должен быть строковым и отвечать требованиям к именам переменных. К значениям структуры можно обращаться как к свойствам объекта, при этом ключ используется как имя свойства.

СтруктураОтбора = Новый Структура («Ключи», Значения);

Например:

СтруктураОтбора = Новый Структура («Валюта, Контрагент», Валюта, Контрагент);

Допустим другой вариант создания структуры:

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

СтруктураОтбора.Вставить(«Валюта», Валюта);

СтруктураОтбора.Вставить(«Контрагент», Контрагент);

Соответствие

Соответствие представляет собой динамический набор данных — коллекцию значений, каждый элемент которой состоит из пары «Ключ» и «Значение». Ключи соответствия уникальны, и поэтому ими можно идентифицировать значения. В отличие от ключа структуры, ключи соответствия могут быть произвольных типов. Рекомендуется, чтобы в качестве ключа выступало значение неизменяемого типа или другого типа, значение которого может только присваиваться, но не может менять свое содержимое.

Соотв = Новый Соответствие();

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

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

СПЗ=Новый СписокЗначений();

Таблица значений

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

 

«табличное поле».

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

Дерево значений

Объект похожий на таблицу значений. Но в отличие от нее строки дерева значений могут образовывать иерархические структуры: каждая строка дерева может иметь набор подчиненных строк и т. д.

ДЗ=Новый ДеревоЗначений();

Основные конструкции языка 1С

Таблица1 - Основные конструкции

Конструкция языка 1С Примечание
Процедура <Имя> (<Параметры>) … КонецПроцедуры Простая процедура. После слова КонецПроцедуры точка с запятой не нужна, потому что это не оператор, а операторная скобка
Функция <Имя> (<Параметры>) … Возврат 1; КонецФункции Функция должна обязательно возвращать результат.
Если Оклад > 10000 Тогда Результат = "Жить можно"; Иначе Результат = "Плохо"; КонецЕсли; Простое условие. После слова КонецЕсли должна быть точка с запятой.
Результат =?(Оклад > 10000, "Нормально","Плохо"); Сокращенное Если.
Если Оклад > 10000 Тогда Результат = "Жить можно"; ИначеЕсли Оклад > 5000 Тогда Результат = "Плохо"; Иначе Результат = "Так жить нельзя"; КонецЕсли; Множественное условие. Если первое условие не выполняется, то проверяется второе. Если второе условие не выполняется, то третье. Если ни одно из условий не выполняется то выполняется блок Иначе.
Если (Оклад>10000) И (КодКатегории=2) Тогда … КонецЕсли; В составном логическом выражении скобки обязательны! (в версии 8.0 и выше необязательны)
Пока Номер <= 50 Цикл … КонецЦикла; Простой цикл Пока (цикл с неизвестным числом повторений).
Для Номер = 1 По 50 Цикл … КонецЦикла; Простой цикл Для (цикл с известным числом повторений).
Для Каждого Элемент Из Массив Цикл … КонецЦикла Можно перебирать массивы, списки, таблицы и т.д.
Перейти ~метка; ... ~метка: Так оформляются метки и оператор безусловного перехода (GOTO). Чем меньше в вашей программе будет меток, тем лучше.
Пока <условие> Цикл Если <условие> Тогда Продолжить; КонецЕсли; КонецЦикла; Оператор Продолжить передает управление в начало цикла.
Пока <условие> Цикл Если <условие> Тогда Прервать; КонецЕсли; КонецЦикла; Оператор Прервать производит досрочный выход из цикла. Управление передается на операторы после цикла.
Перем Сотр; Явное объявление переменной.
Номер = 1; Переменные можно не объявлять явно. При первом присвоении значения создается новая переменная.
ФИО = Фамилия + " " + Имя + " " + Отчество; Сложение строк (конкатенация)
НекаяДата = '01.01.2002'; Переменная, которая хранит дату.
Перем глТекущийПользователь Экспорт; Объявление глобальной переменной в Глобальном модуле. Такие переменные доступны в любом месте конфигурации.  
Попытка а = 10 / 0; Исключение Предупреждение("Деление на ноль!"); КонецПопытки;     Обработка исключительных ситуаций.  
//это комментарий Так оформляются комментарии. Можно закомментировать сразу несколько строк кода, выделив их и нажать Ctrl + /. Чтобы раскомментировать несколько строк – выделить их и нажать Shift + Ctrl + /.
СпрСотр.Выбрать(); Вызов метода объекта производится как обычно, через точку.

 

 

ПРИМЕР ВЫПОЛНЕНИ РАБОТЫ

 

Для начала создадим формы для документа «ПриходнаяНакладная».

Форма списка:

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

Форма документа:

 

На первый взгляд кажется, что форма выглядит нормально, но это не совсем так. Изменим внешний вид формы.

 

При изменении формы с неё были удалены все надписи и поля кроме 2 верхних строк (Номер и Дата) - эти элементы управления просто изменили своё расположение и были переименованы. Затем была создана панель с 2 страницами. Для заполнения страницы данными нужно перейти на нужную страницу, затем на панели инструментов выбрать пункт «Форма» -> «Размещение данных». В появившемся окне нужно отметить, какие элементы управления будут размещены на странице и включить галочку «Вставить надписи». После нажатия «ОК» нужно обвести мышкой тот участок, куда должны быть помещены элементы управления (лучше всего обвести всю страницу).

 

Теперь форма выглядит лучше, но её нужно ещё настроить. Например, все поля, которые отображаются на форме являются обязательными для заполнения, поэтому с полей ввода можно убрать кнопку «Удалить», а вместо неё использовать кнопку «Открыть»

 

 

Также можно поступить с полем «Номенклатура» табличной части Товары. Кроме того было бы не плохо увидеть сумму, на которую мы приходуем товар. Для этого в табличной части Товары можно включить подвал и отображать итог в подвале. Для этого выделяем табличное поле и заходим в его свойства. Включаем галочку «Подвал». Затем выделяем колонку «Сумма» и заходим в её свойства. Включаем галочку «ОтображатьИтогиВПодвале». Механизм отображения суммы готов.

 

Теперь форма приняла достойный вид и в режиме предприятия выглядит так, как показано на рисунке ниже:



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2016-04-27 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: