Разработка и Конфигурация · 9 мин
Как добавить ячейку в 1С
Пошаговая инструкция, как добавить ячейку в 1С: в табличном документе, макете печатной формы и таблице на форме. Способы, ограничения и типичные ошибки.
Вопрос «как добавить ячейку в 1С» возникает в трёх разных ситуациях, и способ действий в каждой из них свой. Первая — вы работаете с табличным документом (отчёт, печатная форма на экране) и хотите вставить ячейку, строку или столбец, как в Excel. Вторая — вы редактируете макет печатной формы в конфигураторе, чтобы изменить выводимые данные. Третья — нужно добавить колонку в таблицу на форме документа или справочника.
Ключевое отличие 1С от Excel: ячейки табличного документа не «вдвигаются» между существующими с автоматическим сдвигом соседних. Табличный документ в 1С — это сетка строк и колонок, и добавить можно строку, колонку или область, а не одиночную ячейку посередине сетки. Поэтому правильная постановка задачи — понять, что именно вы хотите получить в итоге.
Ниже разобраны все три сценария: ручная работа с табличным документом, изменение макета в конфигураторе и добавление колонки программным кодом. Для каждого случая указаны условия, при которых способ работает, и ограничения, о которых нужно знать заранее.
Как устроены ячейки в табличном документе 1С
Табличный документ — это объект 1С, который используется для отчётов, печатных форм и макетов. Внешне он похож на лист Excel: есть строки, колонки, ячейки с адресами вида R1C1. Но логика работы другая. В Excel вставка ячейки со сдвигом вниз или вправо — штатная операция. В 1С такой операции нет: минимальная вставляемая единица — строка или колонка целиком.
Если вам нужно «освободить место» для данных в середине таблицы, есть два пути. Первый — вставить целую строку или колонку и оставить лишние ячейки пустыми. Второй — объединить или разъединить ячейки, если задача касается оформления (например, нужна широкая шапка над двумя узкими колонками). Обе операции выполняются через меню «Таблица» в режиме просмотра табличного документа или через палитру свойств ячейки.
У каждой ячейки есть свойства: имя, тип значения, формат, шрифт, рамки, параметры расшифровки. Посмотреть и изменить их можно через контекстное меню ячейки — пункт «Свойства». Именно там настраивается, например, что ячейка содержит параметр макета, а не фиксированный текст.
Как вставить строку или колонку в открытый табличный документ
Этот способ подходит, когда табличный документ уже сформирован и открыт на экране — например, вы сформировали отчёт и хотите вручную дописать в него данные. Условие: документ должен быть доступен для редактирования. Многие отчёты открываются в режиме «только просмотр», и сначала нужно снять защиту.
Порядок действий такой. Установите курсор в ячейку той строки, перед которой нужно вставить новую. Откройте главное меню программы (кнопка со стрелкой в левом верхнем углу) или меню «Таблица», выберите пункт «Вставить» → «Строки». Новая пустая строка появится выше текущей. Аналогично для колонки: курсор в нужный столбец, затем «Вставить» → «Колонки» — новый столбец появится слева.
Если пункты меню неактивны, проверьте защиту документа: меню «Таблица» → «Вид» → «Только просмотр» — галочка должна быть снята. В некоторых конфигурациях защита устанавливается программно при формировании отчёта, и тогда редактирование невозможно без изменения настроек отчёта.
- 1Откройте табличный документ и снимите режим «Только просмотр» в меню «Таблица» → «Вид»
- 2Установите курсор в ячейку строки, перед которой нужна новая
- 3Выберите меню «Таблица» → «Вставить» → «Строки» (или «Колонки» для столбца)
- 4Заполните новые ячейки данными и проверьте, что оформление и итоги не нарушились
Как добавить ячейку в макет печатной формы
Если нужно изменить печатную форму документа — добавить колонку в таблицу товаров, новое поле в шапку, дополнительную строку итогов, — работа ведётся в конфигураторе с макетом. Макеты хранятся в объекте конфигурации (документе, обработке) или в общих макетах. Откройте конфигуратор, найдите нужный объект, перейдите на вкладку «Макеты» и откройте макет типа «Табличный документ».
В редакторе макета работают те же команды: «Таблица» → «Вставить» → «Строки» или «Колонки». После вставки новой ячейки задайте её содержимое через палитру свойств. Если ячейка должна выводить данные из объекта, в свойстве «Заполнение» выберите «Параметр», а в свойстве «Текст» укажите имя параметра. Затем этот параметр нужно заполнить в программном коде формирования печатной формы — иначе ячейка выведется пустой.
Обратите внимание на области макета. Печатная форма обычно разбита на именованные области: «Шапка», «Строка», «Подвал». Новую ячейку нужно добавить в ту область, которая выводится в нужном месте. Если добавить колонку только в область «Строка», но не в «Шапка» и «Подвал», колонки таблицы «разъедутся»: данные не совпадут с заголовками.
Как добавить колонку в таблицу на форме
Табличная часть документа или таблица значений на форме — это не табличный документ, и ячейки там добавляются иначе. Чтобы появилась новая колонка, в данных должна существовать соответствующая колонка (реквизит табличной части или колонка таблицы значений), а на форме — элемент, связанный с ней.
В конфигураторе откройте форму, найдите таблицу в дереве элементов и через контекстное меню добавьте новый элемент «Поле», указав путь к данным. Если реквизита в табличной части ещё нет, сначала добавьте его в структуру объекта (документ → «Данные» → «Табличные части»), затем перетащите реквизит из окна реквизитов формы в нужное место таблицы — платформа создаст колонку автоматически.
Для динамических таблиц, которые формируются программно, колонку добавляют кодом: сначала в таблицу значений методом Таблица.Колонки.Добавить("ИмяКолонки"), затем создают элемент формы и связывают его с данными пути.
Таблица.Колонки.Добавить("Примечание", Новый ОписаниеТипов("Строка"));
Элемент = Элементы.Добавить("ТаблицаПримечание", Тип("ПолеФормы"), Элементы.Таблица);
Элемент.ПутьКДанным = "Таблица.Примечание";Объединение и разъединение ячеек
Частая задача, которую ошибочно называют «добавить ячейку», — сделать в шапке таблицы широкую ячейку над несколькими колонками. Для этого выделите диапазон ячеек и выполните «Таблица» → «Объединить». Ячейки сольются в одну, текст внутри неё можно выровнять по центру. Обратная операция — «Разъединить» — доступна, когда курсор стоит в объединённой ячейке.
Учтите ограничение: объединять можно только прямоугольные диапазоны, и если в объединяемых ячейках уже есть данные, сохранится содержимое только верхней левой ячейки. Поэтому сначала объединяйте, потом заполняйте. В макетах печатных форм объединение шапки — стандартный приём для многоуровневых заголовков колонок.
Как проверить результат и какие ошибки встречаются
После вставки строки или колонки проверьте три вещи. Во-первых, целостность формул и итогов: если в табличном документе есть ячейки с вычислениями по областям, вставка строки внутрь области обычно учитывается, а вставка рядом с границей может разорвать диапазон. Во-вторых, именованные области макета: новые строки должны попасть внутрь нужной области, иначе они не выведутся при печати. В-третьих, ширину колонок и перенос по страницам — новая колонка может «выполнить» таблицу за поля печати.
Если после изменения макета печатная форма выглядит не так, вернитесь в конфигуратор и сравните структуру областей: у областей «Шапка», «Строка», «Подвал» должно быть одинаковое количество колонок и совпадающие ширины. Быстрый способ проверки — выделить колонку целиком и посмотреть, сквозная ли она по всем областям.
Что важно запомнить
В 1С добавляют не одиночную ячейку, а строку или колонку табличного документа через меню «Таблица» → «Вставить». Для печатных форм правьте макет в конфигураторе и синхронно меняйте все области. Для таблиц на форме добавляйте колонку в данные и элемент формы. Типовые макеты меняйте через расширение, чтобы не потерять правки при обновлении.
Частые вопросы
Можно ли в 1С вставить одну ячейку со сдвигом, как в Excel?
Нет, табличный документ 1С не поддерживает вставку одиночной ячейки со сдвигом соседних. Вставляйте строку или колонку целиком, а лишние ячейки оставляйте пустыми. Если нужен произвольный фрагмент, скопируйте область, вставьте строку и перенесите данные вручную.
Почему пункт «Вставить» в меню «Таблица» неактивен?
Чаще всего включён режим «Только просмотр». Снимите его через меню «Таблица» → «Вид». Если режим устанавливается программно при формировании отчёта, редактирование возможно только после изменения настроек отчёта или кода, который его формирует.
Добавил колонку в макет, а на печати она пустая. Что не так?
Ячейка в макете — это только место вывода. Если её заполнение задано как «Параметр», значение должно быть присвоено в коде формирования печатной формы через Область.Параметры.ИмяПараметра = Значение. Проверьте, что имя параметра в макете и в коде совпадает точно, включая регистр.
Как добавить колонку в табличную часть документа без конфигуратора?
Штатно — никак: состав колонок табличной части определяется структурой конфигурации. Пользователь может лишь скрывать и показывать существующие колонки через «Изменить форму» (меню «Ещё»). Добавление нового реквизита требует доработки конфигурации или расширения.
Пропадут ли мои изменения макета при обновлении конфигурации?
Если конфигурация типовая и находится на полной поддержке — да, при обновлении изменённые макеты будут заменены типовыми. Чтобы сохранить правки, используйте механизм расширений конфигурации или внешние печатные формы, которые подключаются через «Дополнительные отчеты и обработки».