К статье
Практический материал

Разработка и Конфигурация · 9 мин

Код строки в 1С: что это такое и где используется

Что такое код строки в 1С, чем он отличается от номера строки, где применяется в документах и отчётах и как найти или изменить его в табличной части.

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

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

Ниже разобраны все основные значения термина, способы найти код строки в типовых конфигурациях и приёмы работы с ним при программировании на встроенном языке 1С.

Что означает термин «код строки» в разных контекстах

В экосистеме 1С одно и то же словосочетание используется в трёх разных смыслах, и важно понимать, о каком из них идёт речь.

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

Второе значение — реквизит «Код строки» (КодСтроки), который присутствует в табличных частях ряда типовых документов, например в заказах поставщику и заказах клиента в 1С:ERP и «Управлении торговлей». Этот код используется механизмами обеспечения потребностей и связывает строку заказа с движениями в регистрах. Он не совпадает с номером строки и не меняется при перестановке строк.

Третье значение — код строки в отчётных формах. В бухгалтерской, налоговой и статистической отчётности каждый показатель имеет утверждённый код строки (например, строка 1210 «Запасы» в балансе). В регламентированных отчётах 1С эти коды можно увидеть в расшифровке показателей.

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

Номер строки — системное свойство, которое платформа ведёт самостоятельно. При добавлении новой строки ей присваивается следующий по порядку номер, при удалении строки остальные перенумеровываются автоматически. Пользователь не может изменить номер строки вручную — только переместить строку вверх или вниз кнопками перемещения.

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

bsl
Для Каждого СтрокаТовары Из Объект.Товары Цикл
    Если СтрокаТовары.Количество = 0 Тогда
        Сообщить("В строке " + СтрокаТовары.НомерСтроки + " не указано количество");
    КонецЕсли;
КонецЦикла;

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

Реквизит «Код строки» в документах: зачем он нужен

В конфигурациях с развитыми механизмами планирования (1С:ERP, «Управление торговлей», «Комплексная автоматизация») в табличных частях заказов присутствует скрытый или явный реквизит «Код строки». Его назначение — обеспечить однозначную связь между строкой заказа и записями в регистрах обеспечения, графиках поставок и связанных документах.

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

Обычному пользователю редактировать этот реквизит не требуется — он обслуживается механизмами конфигурации. Вмешательство в него вручную или через обработки может нарушить связность данных: строка заказа «потеряет» свои движения, и отчёты по обеспечению покажут искажённые остатки.

Код строки в регламентированной отчётности

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

В 1С:Бухгалтерии коды строк видны при расшифровке показателя: достаточно дважды щёлкнуть по ячейке отчёта, и программа покажет, из каких данных сформировано значение. Если показатель заполняется вручную, код строки помогает сверить форму с официальным бланком и убедиться, что сумма внесена в правильную позицию.

Типичная ошибка — путать код строки отчёта с номером строки в таблице расшифровки. Расшифровка может содержать несколько строк детализации, и их порядковые номера не имеют отношения к официальному коду показателя.

Как программно работать со строками табличной части

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

Если нужна устойчивая ссылка на конкретную строку между вызовами, используйте метод ПолучитьИдентификатор строки формы — он возвращает уникальный идентификатор, по которому строку можно найти снова через НайтиПоИдентификатору. Это надёжнее, чем запоминать номер строки.

Порядок действий при поиске строки
  1. 1
    Сформируйте структуру отбора: поля и искомые значения
  2. 2
    Вызовите метод НайтиСтроки у табличной части с этим отбором
  3. 3
    Проверьте количество найденных строк — их может быть ноль или несколько
  4. 4
    Обратитесь к нужной строке по индексу массива результата
  5. 5
    При необходимости выведите номер строки в сообщении пользователю
Типичные ошибки
01
Привязка логики к номеру строки — связь ломается при удалении или перемещении строк
02
Обращение к строке по индексу без проверки количества строк — при пустой табличной части возникает ошибка
03
Ручное изменение реквизита «Код строки» — строка теряет связь с движениями в регистрах
04
Путаница между кодом строки отчёта и номером строки расшифровки — суммы попадают не в те показатели

Как проверить корректность работы со строками

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

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

Контрольные точки

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

Номера строк после удаления строки
Норма

Нумерация пересчитана, пропусков нет

Тревожный признак

Номера дублируются или идут с пропусками

Связь заказа с регистрами
Норма

Отчёт по обеспечению показывает корректные остатки по строкам

Тревожный признак

Строки заказа отсутствуют в отчёте или задвоены

Коды строк в отчётной форме
Норма

Коды соответствуют действующей редакции формы

Тревожный признак

Форма устарела, файл не проходит форматный контроль

Итог

Что важно запомнить

Код строки в 1С имеет три значения: автоматический номер строки табличной части, служебный реквизит «Код строки» для связи с регистрами и код показателя в отчётных формах. Номер строки нестабилен, реквизит «Код строки» нельзя менять вручную, а коды отчётности нужно сверять с актуальной редакцией формы.

Частые вопросы о коде строки в 1С

Чем код строки отличается от номера строки?

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

Можно ли изменить код строки вручную?

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

Где посмотреть код строки в отчёте?

В регламентированных отчётах 1С:Бухгалтерии код строки отображается рядом с наименованием показателя или в расшифровке ячейки. Достаточно открыть форму отчёта и дважды щёлкнуть по нужному показателю.

Почему после удаления строки «съехали» ссылки на номера?

Номер строки пересчитывается автоматически при удалении. Если логика или внешние данные были привязаны к номерам, связь нарушится. Для устойчивых связей используйте реквизит «Код строки» или идентификатор строки.

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

Через свойство НомерСтроки объекта строки табличной части, например: СтрокаТовары.НомерСтроки. Нумерация начинается с единицы и поддерживается платформой автоматически.

Что делать, если отчёт не проходит форматный контроль по кодам строк?

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