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

Добавил пользователь Евгений Кузнецов
Обновлено: 04.10.2024

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

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

Как добавить новую колонку с определенным типом и заголовком?

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

Как добавить новые строки?

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

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

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

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

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

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

Как выполнить сортировку?

Как вычислить итоги по колонке?

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

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

  • КолонкиГруппировок (обязательный, тип Строка ). Имена колонок, разделенные запятыми, по которым необходимо группировать строки таблицы значений.
  • КолонкиСуммирования (необязательный, тип Строка ). Имена колонок, разделенные запятыми, по которым необходимо суммировать значения в строках таблицы значений.

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

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

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

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

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

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

Будет ли востребован в режиме управляемого приложения функционал: история отборов, отбор по значению в текущей колонке, отключение отбора и т.д. (в общем практически такой же как в обычном приложении). P.s.: так же фактически появляется возможность отлавливать событие изменения динамического списка в результате отбора, сортировки, группировки и условного оформления.

никакая возможность изменения ДСписка не появиться, вернее она будет ущебрной и не "поймает" еще 100500 вариантов изменения - не надо врать, это раз на УФ масса возможностей сохранить наиболее востребуемые отборы как вариант формы с любой степенью извращений и эффективности, причем тьотка будет видет "Мой любимый отбор", "Мой нящный отбор", "Мой секретный отбор", а всю массу г-истории она как не смотрела, так и не будет смотреть, ибо в г колупаються очень плохие тьотки и полные конченные отморозки - это два крой топ, чувак

Где есть? По любой - это нужно понимать в т.ч. и по колонке с типом данных Строка неограниченной длины?

Где посмотреть? Плюс в речь идет далеко не только об отборе по текущей колонке. Не спорю - но комментарии, наименования полные, да и еще кое-какие поля все таки выводят.

И в не верится. Ибо отбор по текущему значению - есть отбор на равно. А в доступных видах сравнения поля типа "Строка" неограниченной длины - нет Равно.

Мы сейчас не про поиск говорим. В нем куча недостатков: как например настроив поиск по нескольким полям я в итоге не вижу и не могу посмотреть по каким же именно реквизитам отобраны данные в отборе по текущему значение все куда прозрачней. Плюс к этому став на колонку по состоянию кнопки я могу судить настроен отбор по текущей колонке или нет. Поиск сбрасывается весь полностью - а отбор по текущему значению можно убирать для конкретной колонки, при этом оставив на других.

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

Оставь свой голос за какой-нить из вариантов. А что до вариантов отображения формы: совсем несложно разработать.

Компоновщик настроек содержит необходимые средства для установки отборов и сохранялки. В отчетах вообще прелесть, также его можно заточить под Дсписки, отборы Тч - да, слабоваты и чтобы иметь с ними универсальный отбор нужно цеплять к ней тот же компоновщик, думаю эту "бедность" Тч поправят и прикрутят к ней компоновщик. Все остальное - бред сивой кобылы, я создавал мега-подсистемы своего функцинала под УФ в контекте Тч, нескольких схем СКД, но практика показала - от лукавого все это, ибо сложно в обслуживании и настройуке, тогда как стандартные механимы все это уже имеют, исключая озвученный минус. Ах да, мозги должны быть правильные и руки не из попы, как у тс)

Ты бы на свои руки лучше смотрел - кроме понтов реально за тобой ничего нет. В дальнейшем прошу проходить мимо моих тем.

маня это тебе нужно идти мыть полы, так как на большее ты не способен. Для особо одаренных на люой колонке Ctrl+F и не ипите мозг людям. Неудачники

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

нет никаких принципиальных ограничений не позволяющих реализовать свою форму "типа отбора" на манер как она была в обычном интерфейсе. мало того - ее можно сделать универсальной которая сама будет смотреть на структуру таблицы по которой осуществляется поиск - то есть пара вызовов общего модуля и можно пихать такой отбор в любой список. возьмите и сделайте если это очень нужно. но суть в том что один раз показываешь поиск пользователям который по ctrl+f открывается и все.. отборы нах.й никому не упали.. только задроты 1Сники которые сами реально с базой не работали более 1 минуты (это обычно время затрачиваемое на тестирование поделок) помнят про этот отбор и ноют всюду про него..

дибил. сделай там условие чтобы можно было отобрать чтолибо с условием больше или меньше. Я уж молчу чтобы сразу два поля отобрать

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

чем принципиально настройка списка и отбор в этой настройке отличается от той формы отбора что была в обычном интерфейсе? ну за исключением того что этот отбор в 100500 раз гибче и возможностей у него в 100500 раз больше?

Речь и не шла о форме из неуправляемого, как раз сделана форма точно повторяющая управляемую форму настройка списка.

Маня пидальны лохан, как обычно облажался. Му ха ха. Зы говноподелки для клюшек не катят в снеговике.

НИКОЛАЙ 23.01.2014
Но появились другие кнопки НАЙТИ и ПОИСК, читаем ВОПРОСНИК, в нем много полезностей

Вам будет интересно

Для отправки комментария вам необходимо авторизоваться.


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

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

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

//можно указать тип данных каждой колонки
//если тип данных колонки не указан, то можно хранить данные любого типа
Синтаксис: НоваяКолонка( , , , , , , , )

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

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

ТабЗнач.ВыбратьСтроки();
Пока ТабЗнач.ПолучитьСтроку()=1 Цикл
. Сообщить(ТабЗнач.Сотрудник);
КонецЦикла;

2-й способ.

Для НомерСтроки = 1 По ТабЗнач.КоличествоСтрок() Цикл
. ТабЗнач.ПолучитьСтрокуПоНомеру(НомерСтроки);
. Сообщить(ТабЗнач.Сотрудник);
КонецЦикла;

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

//сортировать по должности по возрастанию, а внутри должности по убыванию оклада
ТабЗнач.Сортировать(«Должность+,Оклад-«);

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

Синтаксис: НайтиЗначение( , , )
Возвращает число: 0 — значение не найдено; 1 — значение найдено
Если указан параметр , то поиск производится только по заданной строке
Если указан параметр , то поиск производится только по заданной колонке

Итоги и группировка таблицы значений

//часто требуется группировать строки и подсчитывать итоги по группам,
//в этом случае применяется метод Свернуть

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

ТабЗнач.Очистить(); //очистить таблицу значений и удалить колонки

ТабЗнач.УдалитьСтроки(); //удаляет все строки (колонки сохраняются)

ТабЗнач.УдалитьСтроку(); //удаляет текущую строку
ТабЗнач.УдалитьСтроку(3); //удаляет 3-ю строку

ВНИМАНИЕ
Часто требуется удалить строки, удовлетворяющие определенному условию.
Так как при удалении строки из таблицы значений следующая строка становится текущей,
то указанная ниже программа может удалить НЕ ВСЕ необходимые строки.

//ЭТА ПРОГРАММА НЕПРАВИЛЬНАЯ .
ТабЗнач.ВыбратьСтроки();
Пока ТабЗнач.ПолучитьСтроку()=1 Цикл
. Если Тогда
. ТабЗнач.УдалитьСтроку(); //следующая строка стала текущей,
. КонецЕсли;
КонецЦикла;

В этом случае я рекомендую использовать следующий прием:

ТабЗнач.ВыбратьСтроки();
Пока ТабЗнач.ПолучитьСтроку()=1 Цикл

начало:
. Если Тогда
. ТабЗнач.УдалитьСтроку(); //следующая строка стала текущей
. Если ТабЗнач.НомерСтроки<>0 Тогда
. Перейти

начало;
. КонецЕсли;
. КонецЕсли;
КонецЦикла;

А вот еще один правильный алгоритм, предложенный Wlad:

ТабЗнач.выбратьстроки();
Пока ТабЗнач.ПолучитьСтроку()=1 Цикл
. Пока ( ) и (ТабЗнач.НомерСтроки<>0) Цикл
. ТабЗнач.УдалитьСтроку(); //следующая строка стала текущей
. КонецЦикла;
КонецЦикла;

Таблица значений как элемент диалога
Таблица значений может использоваться в экранных формах как элемент диалога с пользователем.

//установить курсор на указанную колонку или можно узнать, где находится курсор
ТабЗнач.ТекущаяКолонка(НоваяКолонка,ТекКолонка);

//установить курсор на указанную строку или можно узнать, где находится курсор.
ТекСтрока = ТабЗнач.ТекущаяСтрока(НовСтрока);

//можно зафиксировать верхние строки и левые колонки для удобства прокрутки таблицы значений в диалоге
ТабЗнач.Фиксировать(КолСтрок,КолКолонок);

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

Синтаксис: УстановитьЗначение( , , )
Синтаксис: ПолучитьЗначение( , )

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

1С работа с таблицей значений

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

7. Как перебрать таблицу значений в произвольном порядке

10. Как заполнить таблицу значений, если имена колонок содержатся в переменных?

Применяем для таблицы значений метод ЗаполнитьЗначения(). Первым параметром передаем заполняемое значение. Вторым параметром – имя заполняемой колонки.

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

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

Частичный перенос данных для колонок с совпадающими именами:

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

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

Полное копирование данных для колонок с совпадающими именами

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

При добавлении колонки можно просто указать ее имя, а второй параметр метода Добавить() не трогать. В этом случае тип данных колонки – произвольный .

Добавление колонки без указания типа данных

Можно заполнить значение второго параметра. Туда необходимо передавать описание разрешенного для колонки типа. Само описание можно получить при помощи конструктора, передав последнему в качестве параметра строковое название типа (если много типов, то через запятую) или массив допустимых типов.

Добавление колонки с указанием типа данных

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

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

Использование существующих описаний типов для указания типа данных колонки таблицы значений

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Поиск строк

Как работать с таблицей значений в 1С 8.2 – 8.3

Таблица значений — это не сохраняемый в базе данных объект, предназначенный для создания динамических наборов данных.

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

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

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

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

По умолчанию в таблице значений могут храниться значения разных типов. Но в 1С:Предприятии 8.0 для колонки можно задать список возможных типов значений. Это делается следующим образом (для повышения наглядности нам понадобится вспомогательная функция СоздатьОписаниеТипов):

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

Чтобы удалить колонки из таблицы значений нужно применить метод Очистить для свойства-коллекции Колонки:

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

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

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

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

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

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

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

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

В следующем примере эта таблица сворачивается по колонкам Сотрудник и Год с подсчетом суммы по колонке Доход:

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

Таблица значений позволяет подсчитать итог по колонке числового типа, например:

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

Руководство 1С

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

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


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

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

Как добавить новую колонку с определенным типом и заголовком?

Как можно добавить новые строки?

ВыбНоменклатура = Справочники.Номенклатура.Выбрать();
Пока ВыбНоменклатура.Следующий() Цикл
НоваяСтрока = ТабЗначений.Добавить();
НоваяСтрока. КолКод = ВыбНоменклатура.Код;
НоваяСтрока. КолНоменклатура = ВыбНоменклатура.Ссылка;
НоваяСтрока. КолКоличество = 1;
КонецЦикла;

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

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

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

Для Каждого СтрокаТаб Из ТабЗначений Цикл
Сообщить(СтрокаТаб.КолНоменклатура);
КонецЦикла;

// Узнаем количество строк в таблице, так как индекс начинается с нуля, уменьшаем количество строк на 1 (одну).
КоличествоСтрок = ТабЗначений.Количество() — 1;
// Выполняем цикл по количеству строк
Для Н = 0 по КоличествоСтрок Цикл
Сообщить(ТабЗначений [Н]. КолНоменклатура);
КонецЦикла;

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

// Создаем отбор
ОтборСтруктура = Новый Структура;
ОтборСтруктура.Вставить(«КолНоменклатура «, СсылкаНоменклатура);
// Используем отбор в поиске строк
ТабЗначенийСтроки = ТабЗначений.НайтиСтроки(ОтборСтруктура);
Для Каждого СтрокаТаб Из ТабЗначенийСтроки Цикл
Сообщить(СтрокаТаб.КолКоличество);
КонецЦикла;

Как сделать сортировку?

Как вычислить итоги по колонке?

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

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

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

Функция делает поиск по таблице и возвращает строку если строка найдена.

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

ТабЗначений.Удалить(0); // Удалит первую строку по индексу
ТабЗначений.Очистить(); // Полностью очистить таблицу

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

Функция получает строку из таблицы значений по индексу

Как вставить значение в таблицу?

НоваяСтрока = ТабЗначений.Вставить(1);
НоваяСтрока.КолНоменклатура = ТекНоменклатура;
НоваяСтрока.КолКоличество = 5;

Функция вставляет строку по индексу и устанавливает значения.

Дополнительные функции, которые упрощают работу с таблицей значений в 1С

Читайте также: