Строка табличной части.НомерСтроки

Свойства · LineNumber

Тип: Число. Номер строки табличной части.

Полное описание, параметры и ограничения

Строка табличной части.НомерСтроки (Line of a tabular section.LineNumber)

Строка табличной части (Line of a tabular section)

НомерСтроки (LineNumber)

Доступен, начиная с версии 8.0.

Использование:
Только чтение.
Описание:
Тип: Число.
Номер строки табличной части.
Доступность:

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

Использование в версии:

Доступен, начиная с версии 8.0.

Методическая информация

Практические примеры

Сравнить индекс строки и НомерСтроки после сортировки и сдвига

Индекс коллекции начинается с 0, отображаемый номер строки — с 1. Порядок изменяем только внутри нового учебного документа.

Где и как запускать

Учебная база: создайте серверный общий модуль УчебныеЗадачи (флаг Сервер). Код без директив вставьте в тело процедуры ВыполнитьПример() Экспорт. Вызовите её из серверного обработчика команды учебной обработки. Не запускайте в рабочей базе.

Подготовка

  1. Создайте НОВУЮ пустую файловую учебную базу, не копию рабочего каталога. В Конфигураторе задайте корню имя Учебная85. Не добавляйте эти объекты в рабочую УТ/КА2/УНФ/БП.

  2. Справочники → Добавить: имя УчебныеТовары. Длина кода 10, тип кода Строка, автонумерация и контроль уникальности включены, длина наименования 100.

  3. Для УчебныеТовары включите иерархию групп и элементов. Добавьте реквизиты Артикул (Строка, длина 20) и Цена (Число, 12 цифр, 2 дробных, неотрицательное). Проверка заполнения для этих учебных реквизитов не устанавливается.

  4. Добавьте табличную часть Штрихкоды: Штрихкод (Строка, длина 20) и Основной (Булево). Обновите конфигурацию базы данных. Модули объектов оставьте пустыми.

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

  6. Документы → Добавить: имя УчебнаяЗаявка, тип номера Строка, длина 9, автонумерация включена. Проведение запретите: это только учебный документ без движений.

  7. Добавьте реквизит Комментарий (Строка, длина 100) и табличную часть Товары: Товар (СправочникСсылка.УчебныеТовары), Количество (Число, 9 цифр, 0 дробных, неотрицательное), Цена (Число, 12 цифр, 2 дробных, неотрицательное). Модуль документа пустой.

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


Если Метаданные.Справочники.Найти("УчебныеТовары") = Неопределено Тогда
    ВызватьИсключение "Сначала создайте учебный справочник по подготовке";
КонецЕсли;

Если Метаданные.Документы.Найти("УчебнаяЗаявка") = Неопределено Тогда
    ВызватьИсключение "Сначала создайте учебный документ по подготовке";
КонецЕсли;
Заявка = Документы.УчебнаяЗаявка.СоздатьДокумент();
Заявка.Дата = Дата(2026, 10, 2, 10, 0, 0);
Для Номер = 1 По 2 Цикл
    СтрокаЗаявки = Заявка.Товары.Добавить();
    СтрокаЗаявки.Товар = Справочники.УчебныеТовары.ПустаяСсылка();
    СтрокаЗаявки.Количество = ?(Номер = 1, 3, 1);
    СтрокаЗаявки.Цена = 250;
КонецЦикла;

Первая = Заявка.Товары.Получить(0);
Вторая = Заявка.Товары.Получить(1);
Сообщить(Первая.НомерСтроки = 1 И Заявка.Товары.Индекс(Первая) = 0);
Сообщить(Вторая.НомерСтроки = 2 И Заявка.Товары.Индекс(Вторая) = 1);
Заявка.Товары.Сортировать("Количество Возр");
Сообщить(Заявка.Товары.Получить(0).Количество = 1);
Сообщить(Заявка.Товары.Индекс(Первая) = 1);
Сообщить(Первая.НомерСтроки = 2);
Заявка.Товары.Сдвинуть(Первая, -1);
Сообщить(Заявка.Товары.Получить(0).Количество = 3);
Сообщить(Первая.НомерСтроки = 1);
Сообщить(Заявка.Товары.Индекс(Первая) = 0);
Сообщить(Заявка.ЭтоНовый());

Разбор по шагам

  1. Получить(0) возвращает первую строку; у неё НомерСтроки=1. Различаем два соглашения о нумерации.

  2. Сортировать по количеству по возрастанию переставляет строку с 1 перед строкой с 3.

  3. Сохранённая ссылка на строку Первая остаётся той же строкой этого экземпляра, но её индекс и номер меняются.

  4. Сдвинуть с отрицательным смещением перемещает строку вверх. Делаем сдвиг на -1 только после проверяемой сортировки двух строк.

Как проверить результат

  1. После сортировки первое количество 1, у исходной строки с 3 индекс 1 и номер 2.

  2. После сдвига строка с 3 снова первая: индекс 0 и номер 1.

  3. Все сравнения Истина. НомерСтроки вручную не присваивается: свойство только для чтения.

Ожидаемый результат

На одном незаписанном документе показана перенумерация строк при изменении порядка.

На что обратить внимание

  1. НомерСтроки — не постоянный внешний идентификатор: перестановки его меняют.

  2. Не сдвигайте строку за границы коллекции. Здесь границы известны по фиксированному учебному набору.

  3. Не переносите ссылку на строку между разными экземплярами документов.

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

Не хотите разбираться сами?

Адаптируем это решение под вашу базу. Оценка бесплатно.

Оставить задачу

1С, 1С:Предприятие — товарные знаки ООО «1С». Сайт не является официальным представительством фирмы «1С» и не аффилирован с ней.