Список значений добавить колонку

Содержание
  1. ТаблицаЗначений.Колонки Метод Добавить()
  2. Синтаксис
  3. Параметры
  4. Возвращаемое значение
  5. Описание
  6. Доступность
  7. Пример использования
  8. Список значений в 1С 8.3 на примерах
  9. Создание объекта СписокЗначений
  10. Добавить элемент в список значений
  11. Удалить элемент списка значений
  12. Вставить элемент в список значений
  13. Установить/снять пометки у всех элементов
  14. Найти в списке значений
  15. Узнать индекс элемента с известным значением
  16. Отсортировать список значений
  17. Сдвинуть элемент списка значений
  18. Создать копию списка значений
  19. Получить количество элементов списка значений
  20. Перебор элементов списка значений
  21. Загрузить/выгрузить в массив
  22. Удалить все элементы из списка значений
  23. Интерактивный выбор одного элемента из списка на форме
  24. Интерактивная отметка значений из списка на форме
  25. Преобразования таблицы значений в список значений
  26. Работаем с таблицей значений программно
  27. Создание таблицы значений
  28. Колонки таблицы значений
  29. Свойства колонки таблицы значений
  30. Методы коллекции колонок таблицы значений
  31. Строки таблицы значений
  32. Добавление и удаление строк
  33. Перебор строк таблицы значений
  34. Поиск строк
  35. Все методы таблицы значений:
  36. Список значений добавить колонку
  37. Дополнительная вычисляемая или текстовая колонка в списке
  38. Как добавить в список значений колонку

ТаблицаЗначений.Колонки Метод Добавить()

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

Синтаксис

Метод Добавить() имеет следующий синтаксис:

А также альтернативный англоязычный синтаксис:

Параметры

Описание параметров метода Добавить() :

Имя параметра Тип Описание
Имя (необязательный) Строка Имя колонки. Значение по умолчанию: Пустая строка.
Тип (необязательный) ОписаниеТипов Объект, описывающий допустимые типы значений для колонки. Если параметр не указан, в колонке можно будет хранить значение любого типа.
Заголовок (необязательный) Строка Заголовок колонки таблицы значений. Используется при визуальном отображении таблицы значений. Значение по умолчанию: Пустая строка
Ширина (необязательный) Число Ширина колонки в символах. Используется при визуальном отображении таблицы значений. Значение по умолчанию: 0
Жирным шрифтом выделены обязательные параметры
Читайте также:  Почему компьютер не распознает наушники как аудио

Возвращаемое значение

Описание

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

Доступность

Сервер, толстый клиент, внешнее соединение, мобильное приложение(сервер).

Пример использования

Пример кода с использованием метода Добавить() :

Источник

Список значений в 1С 8.3 на примерах

Список значений в 1С 8.3 — это объект, позволяющий строить динамические наборы значений и манипулировать ими.

Визуально можно представить как таблицу из четырёх колонок:

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

Рассмотрим работу с объектом на примерах:

Создание объекта СписокЗначений

Добавить элемент в список значений

Удалить элемент списка значений

Вставить элемент в список значений

Установить/снять пометки у всех элементов

Найти в списке значений

Узнать индекс элемента с известным значением

Отсортировать список значений

Сдвинуть элемент списка значений

Создать копию списка значений

Получить количество элементов списка значений

Перебор элементов списка значений

Загрузить/выгрузить в массив

Удалить все элементы из списка значений

Интерактивный выбор одного элемента из списка на форме

Модальный и немодальный режим. Универсальный способ:

Интерактивная отметка значений из списка на форме

Модальный и немодальный режим. Универсальный способ:

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

К сожалению, мы физически не можем проконсультировать бесплатно всех желающих, но наша команда будет рада оказать услуги по внедрению и обслуживанию 1С. Более подробно о наших услугах можно узнать на странице Услуги 1С или просто позвоните по телефону +7 (499) 350 29 00. Мы работаем в Москве и области.

  1. 5
  2. 4
  3. 3
  4. 2
  5. 1

(0 голосов, в среднем: 0 из 5)

Поддержите нас, расскажите друзьям!

СПРОСИТЕ в комментариях!

При использовании данного сайта, вы подтверждаете свое согласие на использование файлов cookie в соответствии с настоящим уведомлением в отношении данного типа файлов. Если вы не согласны с тем, чтобы мы использовали данный тип файлов, то вы должны соответствующим образом установить настройки вашего браузера или не использовать сайт.

Отправляя любую форму на сайте, вы соглашаетесь с политикой конфиденциальности данного сайта.

Источник

Работаем с таблицей значений программно

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

Таблицы состоят из строк и колонок. Строки располагаются вниз по вертикали, а колонки — вправо по горизонтали. Строки и колонки имеют индексы, по которым к ним можно обращаться напрямую (начинаются с 0). Кроме этого, к колонкам можно обращаться по идентификатору.

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

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

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

Создание таблицы значений

Как и большинство объектов встроенного языка, новая таблица значений может быть создана с помощью оператора Новый :

Колонки таблицы значений

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

  1. Имя — идентификатор колонки (может содержать только алфавитные символы, цифры и знаки подчеркивания. Причем, начинаться имя колонки может только с буквы или символа подчеркивания);
  2. Заголовок — представление колонки в диалогах (может содержать произвольные символы);
  3. ТипЗначения — тип значения содержимого ячеек в этой колонке. Если тип не задан, в ячейке можно хранить значения произвольного типа;
  4. Ширина — ширина колонки в диалогах;

Доступ к колонкам производится через свойство Колонки объекта ТаблицаЗначений . Для добавления новой колонки используется метод Добавить():

Для того, чтобы определить наличие колонки с нужным именем используется метод Найти():

Перебор колонок выполняется следующим образом:

Для удаления колонки используется метод Удалить():

Свойства колонки таблицы значений

Имя Тип Описание
Имя Строка символьный идентификатор колонки, по которому к ней можно обращаться из кода
Заголовок Строка строковое представление колонки на форме
ТипЗначения ОписаниеТипов свойство органичивает пространство доступных значений, которые можно указать в данной колонке
Ширина Число ширина колонки на форме (выражается в количестве символов)

Методы коллекции колонок таблицы значений

Вставить() Вставляет новую колонку в указанную позицию коллекции
Добавить() Добавляет новую колонку в конец коллекции
Количество() Возвращает количество колонок в коллекции
Найти() Ищет колонку в коллекции по имени
Очистить() Удаляет все колонки из коллекции
Сдвинуть() Сдвигает колонку влево или вправо
Удалить() Удаляет колонку из коллекции

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

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

Добавление и удаление строк

Для добавления новой строки используется метод Добавить() объекта ТаблицаЗначений . Метод возвращает объект СтрокаТаблицыЗначений , с которым доступны дальнейшие манипуляции:

И только теперь мы можем заполнить строку данными. Для этого обращаемся к ячейкам строки, указывая идентификаторы колонок через точку:

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

Для удаления строки используется метод Удалить() объекта ТаблицаЗначений . Строку можно удалить либо передав методу непосредственно строку, либо ее индекс:

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

Для перебора строк удобнее всего использовать оператор цикла Для Каждого . В редких случаях оправдано применение цикла Для :

Поиск строк

В отличие от платформы 1С:Предприятие 7.7 в 8-ке расширен функционал работы с таблицей значений. Поиск можно выполнять не только по значению в колонке (в этом случае будет возвращена первая найденная строка), но и по набору свойств (в этом случае возвращается массив строк):

Все методы таблицы значений:

Вставить() Вставляет строку на указанное место
ВыбратьСтроку() Позволяет интерактивно выбрать строку в диалоговом окне
ВыгрузитьКолонку() Выгружает значения ячеек указанной колонки в массив значений
Добавить() Добавлет новую строку в таблицу значений
ЗагрузитьКолонку() Загружает значения в ячейки указанной колонки из массива
ЗаполнитьЗначения() Заполняет ячейки указанных колонок определенным значением
Индекс() Возвращает индекс строки таблицы значений
Итог() Возвращает просуммированный итог по колонке таблицы значений
Количество() Возвращает количество строк в таблице значений
Найти() Выполняет поиск строки по значению
НайтиСтроки() Выполняет поиск строк по указанным параметрам
Очистить() Очищает строки таблицы значений
Получить() Возвращает строку по ее индексу
Свернуть() Выполняет сжатие строк и колонок таблицы значений
Сдвинуть() Сдвигает строку вверх или вниз по таблице
Скопировать() Создает новую таблицу значений копированием текущей
СкопироватьКолонки() Создает новую пустую таблицу значений путем копирования колонок текущей таблицы
Сортировать() Выполняет сортировку строк таблицы значений по указанным колонкам
Удалить() Удаляет строку таблицы значений

Иерархию свойств и типов значений, связанных с таблицей значений, схематически можно представить в виде дерева:

Источник

Список значений добавить колонку

Дополнительная вычисляемая или текстовая колонка в списке

В 7.7 были текстовые колонки, в Формуле которых можно было написать произвольное выражение. В 8.0 программный код может находиться только в модулях, поэтому дополнительные колонки реализуются с помощью события ПриВыводеСтроки табличного поля. Автор статьи: Волшебник | Редакторы: Мелкий бес, Гений 1С, le_
Последняя редакция №10 от 06.02.12 | История
URL: http://kb.mista.ru/article.php?id=48

1-й вариант:

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

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

Если начались тормоза, то рекомендуется сделать следующее:

  1. Кеширование результата запроса в переменной модуля формы (таблица значений или массив, еще можно использовать соответствие, которое индексируется для примитивных типов данных, например, код товара или артикул)
  2. При отключенной колонке (видимость) запрос к базе НЕ должен выполняться.
    По умолчанию колонку держать выключенной, включение только по кнопке в форме или при личных настройках определенного пользователя.
  3. Лучше выполнять один большой запрос на несколько товаров, чем несколько маленьких запросов на один товар.
  4. Список товаров нужно передавать как ПАРАМЕТР виртуальной таблицы Остатки, а не как параметр условия ГДЕ.
  5. При повышенных требованиях к скорости отображения списка и большом количестве пользователей можно завести регистр сведений, хранящий актуальные остатки. Для поддержки его актуальности можно создать последовательность.
  6. Еще вариант через обработчик — при ПолученииДанных (вроде так называется). Там сразу передается массив ОформленияСтрок — в нем все строки сразу и вызывается он реже, чем при выводе строки. От Гения 1С: Именно этот способ и надо использовать в профессиональном подходе.
  7. От Гения 1С: Завести в табличной части реквизит, куда при открытии формы и по мере надобности помещать остатки, это значительно ускорит вывод остатков, правда будет не лучшим образом влиять на флаг Модифицированность

С помощью этого события можно выводить не только текст, но также флажки и картинки, например:

Установка картинки одной строкой:

или другой пример:

Еще можно менять цвет фона и текста, шрифт и другие характеристики оформления:

Можно также управлять доступностью отдельных строк и ячеек табличного поля:

Источник

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

Как добавить в список значений колонку Юридический адрес?

ункция СформироватьСписокПолейПоиска(Список, Знач ТипДанныхСправочника = Неопределено) Экспорт

СписокПолейПоиска = Новый СписокЗначений;
// Добавление в СЗ Юр.Адреса
СписокПолейПоиска.Добавить(«Юридический адрес», Истина);

Если ТипДанныхСправочника = Неопределено Тогда

МетаданныеСправочника = Неопределено;
// определяем что под данными лежит
СписокДанных = Список.Значение;
Если СписокДанных = Неопределено Тогда
Возврат СписокПолейПоиска;
КонецЕсли;

Для Каждого Колонка Из Список.Колонки Цикл

Если Колонка.Видимость = Ложь ИЛИ ПустаяСтрока(Колонка.Данные) Тогда
Продолжить;
КонецЕсли;

КолонкаПодходит = Ложь;
// и данные есть и колонка видима, остается определиться с типами данных колонки
Попытка

Если МетаданныеСправочника = Неопределено Тогда

КолонкаПоиска = СписокДанных.Колонки[Колонка.Данные];
СписокТипов = КолонкаПоиска.ОграничениеТипа;

Если ВРЕГ(Колонка.Данные) = «КОД» Тогда

Если МетаданныеСправочника.ДлинаКода = 0 Тогда
СписокТипов = Неопределено;
Иначе
СписокТипов = МетаданныеСправочника.ТипКода;
КонецЕсли;

ИначеЕсли ВРЕГ(Колонка.Данные) = «НАИМЕНОВАНИЕ» Тогда

Если (МетаданныеСправочника.ДлинаНаименования <> 0) Тогда
СписокТипов = Тип(«Строка»);
Иначе
СписокТипов = Неопределено;
КонецЕсли;

Если МетаданныеКолонки <> Неопределено Тогда
СписокТипов = МетаданныеКолонки.Тип.Типы();

// по типам колонки определим можем ли мы по ней наложить ограничений
КолонкаПодходит = ОпределитьВозможностьОграниченияПоВсемТипам(СписокТипов);

Исключение
// колонки в данных нет
КолонкаПодходит = Ложь;
КонецПопытки;

Если КолонкаПодходит Тогда
СписокПолейПоиска.Добавить(Врег(Колонка.Данные));
КонецЕсли;

а если вот так искать
Заранее справочник или то что там у вас запросом выгрузить
в таблицу значений и потом искать там ао структуре «ПараметрыОтбора»

НайтиСтроки (FindRows)
Синтаксис:

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

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

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

Сервер, толстый клиент, внешнее соединение.
Примечание:

Метод эффективно использовать для выборки неуникальных значений.
Пример:

// СписокРаботников — реквизит формы для представления информации
// о работниках (тип ТаблицаЗначений).
// В форме расположено табличное поле СписокРаботников, в котором
// показываются данные СписокРаботников.
// С помощью запроса выбирается информация о работниках.
Запрос = Новый Запрос;
ТекстЗапроса =
«ВЫБРАТЬ
// текст запроса
// .
«;
Запрос.Текст = ТекстЗапроса;
СписокРаботников = Запрос.Выполнить().Выгрузить();
Отбор = Новый Структура();
Отбор.Вставить(«ФизЛицо»,Справочники.ФизическиеЛица.ПустаяСсылка());
Строки = СписокРаботников.НайтиСтроки(Отбор);
Если Строки.Количество() > 0 Тогда
ЭлементыФормы.СписокРаботников.ТекущаяСтрока = Строки[0];
КонецЕсли;

Источник

Оцените статью