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

Программирование в 1С для всех

Любая таблица значений состоит из колонок, каждая из которых имеет свой тип и уникальное название, а также из строк. Если таблица значений размещена на управляемой форме в виде элемента Таблица, то колонки создаются изначально на этапе разработки, а строки пользователь может создать самостоятельно, нажав на кнопку «Добавить» в командной панели этой таблицы.

номер строки таблицы значений 1с. Смотреть фото номер строки таблицы значений 1с. Смотреть картинку номер строки таблицы значений 1с. Картинка про номер строки таблицы значений 1с. Фото номер строки таблицы значений 1с

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

Программное добавление строк таблицы значений в 1С

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

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

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

НоваяСтрока = ФИО.Добавить();

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

Осуществить это можно двумя способами:

НоваяСтрока.Фамилия = «Иванов»;

НоваяСтрока[1] = «Иван»;

В первом способе мы получаем доступ к колонке как к свойству через точку, во втором — используя оператор квадратные скобки и указывая в них номер индекса колонки. Я предпочитаю первый способ, так как он делает код гораздо лучше читаемым и наглядным.

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

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

Добавим с помощью этого метода еще одну строку в таблицу ФИО. И поставим ее на первое место.

Программный обход строк таблицы значений в 1С

Узнаем как обходить сроки таблицы. Это можно осуществлять с помощью операторов цикла Для каждого…Цикл и Для…Цикл.

Оператор цикла Для каждого…Цикл.

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

Оператор цикла Для…Цикл.

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

Когда мы используем квадратные скобки применительно к таблице значений (например, ФИО[н]), то результатом данной операции является строка таблицы с соответствующим индексом.

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

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

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

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

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

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

Более подробно о работе с таблицами значений и другими интересными объектами языка программирования в 1С читайте в моей книге «Программировать в 1С за 11 шагов»

Изучайте программирование в 1С в месте с моей книги «Программировать в 1С за 11 шагов»

номер строки таблицы значений 1с. Смотреть фото номер строки таблицы значений 1с. Смотреть картинку номер строки таблицы значений 1с. Картинка про номер строки таблицы значений 1с. Фото номер строки таблицы значений 1с

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

Промо-код на скидку в 15% — 48PVXHeYu


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

можно оплатить вручную:

Яндекс.Деньги — 410012882996301
Web Money — R955262494655

Источник

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

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

Метод Найти

Метод таблицы значений Найти, предназначен для поиска строки таблицы, содержащей указанное значение. Если строк содержащих значение будет несколько, будет найдена только первая из них. Эту особенность надо учитывать. Поиск осуществляется только на «равно». Синтаксис метода:

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

Рассмотрим простой пример. У нас есть таблица значений с колонками: Номенклатура, Количество, Цена, Сумма. Найдем строку, содержащую значение 2 в колонке Количество или в колонке Цена.

После поиска, обязательно делаем проверку на Неопределено. Иначе, в случае не найденной строки, можно получить ошибку.

При изменении значений в найденной строке, изменяются и значения в самой таблице. Это логично, так как мы работаем непосредственно со строкой таблицы значений.

Метод НайтиСтроки

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

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

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

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

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

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

Пример 3. Воспользуемся таблицей из самого первого примера. Обработаем строки, цена в которых находится в интервале от 100 до 1000.

Пример 4. Сделаем тоже самое при помощи запроса.

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

Источник

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Поиск строк

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

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

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

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

Источник

1с получить номер строки таблицы значений

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

Синтаксис

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

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

Параметры

Описание параметров метода Получить() :

Имя параметраТипОписание
ИндексЧислоИндекс строки таблицы значений
Жирным шрифтом выделены обязательные параметры

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

Описание

Метод Получить() возвращает строку таблицы значений по индексу

Доступность

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

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

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

Описание:

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

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

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

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

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

Скачать программы, софт бесплатно. Программирование 1С

Таблица значений 1С – 2 часть. Основы. Обращение к данным, перебор строк таблицы значений

номер строки таблицы значений 1с. Смотреть фото номер строки таблицы значений 1с. Смотреть картинку номер строки таблицы значений 1с. Картинка про номер строки таблицы значений 1с. Фото номер строки таблицы значений 1с

(Эта статья относится к циклу статей 1С с нуля; программирование 1с с нуля; таблица значений 1с)

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

Давайте расширим эти знания, для более удобной работы с таблицей значений. Начнем с некоторых полезных свойств таблицы значений.

1. Перебор строк таблицы значений при помощи индексов строк (номеров строк)

Метод ТаблицаЗначений.Количество() — возвращает количество строк в таблице значений.

Напоминаю, что если метод ТаблицаЗначений.Количество() показал, что в таблице 5 строк, то индексы(номера) этих строк такие: 0, 1, 2, 3, 4.

Предположим, что мы имеем таблицу значений 1С с колонкой «ФамилияКлиента»

Если мы желаем перебрать все строки таблицы значений при помощи индекса строк, мы должны использовать заголовок цикла, как в следующем примере. В нем мы выводим на экран содержимое колонки «ФамилияКлиента» для каждой строки, то есть, по-сути, печатаем весь столбец с фамилиями клиентов.
Итак:

Обратите внимание, что счетчик цикла мы наращиваем до значения, равного числу строк таблицы минус один: НашаТаблица.Количество() — 1

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

Далее, получив объект — одну строку таблицы значений в виде переменной СтрокаТаблицы, мы можем работать отдельно с этим объектом-строкой. Пример ниже делает тоже самое, что и пример выше, только в нижнем примере использована «лишняя» переменная СтрокаТаблицы

Если внутри цикла мы напишем такой код: Сообщить(СтрокаТаблицы) — этот код НЕ выведет на экран данные из текущей строки таблицы значений (например фамилию клиента и прочее).

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

Например, код СтрокаТаблицы.ФамилияКлиента как раз означает доступ к данным, хранящимся в колонке «ФамилияКлиента» у текущей строки-объекта. Чем мы и воспользовались в примере, чтобы вывести фамилии всех клиентов, хранящиеся в таблице значений. Перебирая все строки и выводя на экран по очереди эти самые фамилии.

2. Перебор строк таблицы значений при помощи цикла перебора коллекции «Для Каждого. «

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

А любую коллекцию в 1С можно перебрать при помощи цикла:

Выведем все фамилии клиентов из всех строк таблицы, при помощи перебора коллекции строк таблицы значений:

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

Таким образом в СтрокаТаблицы по мере выполнения цикла, подряд попадают все строки нашей таблицы значений. А мы только и делаем, что у каждой переданной нам строки выводим на экран содержимое колонки «ФамилияКлиента» с помощью конструкции Сообщить(СтрокаТаблицы.ФамилияКлиента);

3.А сейчас: повторение материала.

Итак, таблица значений 1С является коллекцией строк. Кто-то коллекционировал строки, складывал их в кучу, и получилась целая такая коллекция строк — которую назвали — таблицей значений.

Только это коллекция не просто обычных текстовых строк. Это коллекция объектов типа СтрокаТаблицыЗначений. И этот отдельный объект-строка хранит в себе данные для каждой колонки в текущей строке. Он хранит фамилию клиента, рост клиента или что-то там еще, что было нужно.

Получить доступ к строке таблицы значений можно по ее индексу, который начинается с нуля. При помощи кода МояЧетвертаяСтрока = МояТаблица[3] — мы получаем четвертую строку таблицы значений, так как нумерация строк начинается с нуля: 0, 1, 2, 3.

Число строк мы определяем методом МояТаблица.Количество(). Скобки в конце не забываем, так как мы вызываем метод без параметров.

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

Последнее: При переборе коллекции, как получить номер строки таблицы значений?
Получить номер текущей строки можно вызовом метода Индекс() для таблицы значений, в который мы передаем объект-строку.

Пример ниже выведет на экран номера всех строк в таблице значений 1С:

Продолжение материалов будет в следующих статьях.

Как научиться программировать в 1С с нуля?

Как работать программистом 1С и получать до 150 000 рублей в месяц?

номер строки таблицы значений 1с. Смотреть фото номер строки таблицы значений 1с. Смотреть картинку номер строки таблицы значений 1с. Картинка про номер строки таблицы значений 1с. Фото номер строки таблицы значений 1с

ЗАПИШИСЬ НА БЕСПЛАТНЫЙ

«ПРОГРАММИРОВАНИЕ в 1С ДЛЯ НОВИЧКОВ»

номер строки таблицы значений 1с. Смотреть фото номер строки таблицы значений 1с. Смотреть картинку номер строки таблицы значений 1с. Картинка про номер строки таблицы значений 1с. Фото номер строки таблицы значений 1с

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

Для участия нужен только компьютер и интернет

Источник

Таблица значений в 1С 8.3

номер строки таблицы значений 1с. Смотреть фото номер строки таблицы значений 1с. Смотреть картинку номер строки таблицы значений 1с. Картинка про номер строки таблицы значений 1с. Фото номер строки таблицы значений 1с

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

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

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

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

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

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

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

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

Работа с колонками таблицы значений

Для проверки наличия необходимой колонки в таблице можно выполнить поиск в коллекции колонок. Если такой колонки нет, то метод Найти вернет Неопределено:

Колонку можно переименовать. При этом, значения в данной колонке сохранятся. Изменить тип колонки нельзя.

Колонки можно удалять, соответственно будут удалены и все значения в данной колонке:

Изменение значений в существующих строках

К строкам таблицы значений можно обращаться через оператор индексации [ ]. Индексация строк начинается с нуля, чтобы изменить значение в первой строке нужно использовать индекс 0:

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

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

Удаление строк

Удалить строку из таблицы можно методом Удалить. Параметром можно передать индекс строки или саму строку. Для удаления всех строк таблицы можно воспользоваться методом Очистить.

Иногда нужно удалить несколько строк из таблицы по условию. Например, все строки, где цена меньше 100. На первый взгляд это можно сделать так:

Однако после удаления линейка осталась в таблице, хотя ее цена равна 80. Почему так произошло? При удалении строки, таблица как бы сжимается. То есть на первой итерации цикла мы получили первую строку с диваном, его цена больше 100, поэтому строка осталась. Получаем вторую строку с ручкой за 50. Так как цена меньше 100, строка была удалена. И после удаления все строки сдвинулись, третья строка переместилась на вторую позицию, четвертая на третью и т.д. На следующей итерации мы получаем третью строку, а там уже кресло за 2000. Линейка была пропущена, цикл даже не проверял ее цену.

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

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *