Табличная часть документа 1С: как не потерять строки и выгрузить их в файл
Содержание
Табличная часть в 1С сохраняется только вместе с документом: нажмите Записать (или Ctrl+S) либо Провести и закрыть. Отдельной кнопки «сохранить таблицу» в программе нет. Если же нужно сохранить строки в файл, откройте над таблицей меню Ещё → Вывести список..., а в открывшемся окне выберите Сохранить как и формат .xlsx, .mxl или .pdf.
Способ зависит от задачи. Хотите, чтобы строки остались в базе, — записывайте документ. Нужна таблица для письма или сверки — выводите список в Excel. Надо перенести те же товары в новый документ — копируйте документ целиком или переносите строки через буфер. Всё это работает в 1С 8.3 с интерфейсом «Такси»: в Бухгалтерии 3.0, ЗУП 3.1, Управлении торговлей 11 и других типовых конфигурациях, потому что механизм общий для платформы.
Как 1С хранит строки табличной части
Табличная часть — это не самостоятельный объект, а часть документа или справочника. Строки «Товары» в реализации, «Начисления» в документе зарплаты, «Услуги» в акте живут внутри своего документа.
Из этого следуют три практических правила:
- 📌 Пока документ не записан, строки существуют только в открытой форме, в памяти вашего сеанса.
- 📌 Записывается всегда весь документ: шапка и все табличные части сразу. Сохранить «только таблицу» без шапки нельзя.
- 📌 Если в шапке не заполнено обязательное поле (например, контрагент или склад), документ не запишется — и строки тоже.
Отсюда частая ситуация: бухгалтер полчаса заполнял 80 позиций, закрыл окно, на вопрос программы нажал «Нет» — и всё пропало. Восстановить такие строки нечем: в базу они не попали.
Признак несохранённых изменений — звёздочка * в заголовке окна документа. Пока она есть, данные живут только на экране.
Записать или провести: штатные способы сохранить документ
В форме документа есть три команды, и они делают разное.
| Команда | Что происходит | Когда использовать |
|---|---|---|
Записать (Ctrl+S) | Документ и его таблицы сохраняются в базе, проводки и движения не формируются | Заполнение не закончено, нужно сохранить промежуточный результат |
Провести | Документ записывается и проводится, форма остаётся открытой | Хотите сразу проверить проводки через кнопку Дт/Кт |
Провести и закрыть | Запись, проведение и закрытие формы | Работа с документом закончена |
Порядок для большого документа на 50–200 строк:
- Заполните шапку: организацию, контрагента, договор, склад.
- Добавьте первые 10–20 строк и нажмите
Ctrl+S. Документ получит номер и появится в журнале. - Продолжайте заполнение, периодически снова нажимая
Ctrl+S. - Когда таблица готова, проверьте итоги внизу формы и нажмите
Провести и закрыть.
Если запись не проходит, 1С показывает сообщение в нижней части формы. Типичные тексты: Поле "Контрагент" не заполнено, Не заполнена колонка "Количество" в строке 14 списка "Товары". Щелчок по сообщению переводит курсор прямо в проблемную ячейку.
Проведение может не пройти из-за нехватки остатков, хотя запись проходит. Тогда сначала нажмите Записать, чтобы не потерять строки, а с остатками разбирайтесь отдельно.
Почему строки не сохраняются после записи
Бывает, что документ записан, а при повторном открытии строк меньше. Обычно причины такие:
- 🔹 строки удалены другим пользователем, который открыл тот же документ позже;
- 🔹 документ перезаполнен командой
Заполнить— она очищает таблицу и подставляет данные заново; - 🔹 обработка или расширение при записи удаляет строки с нулевым количеством.
Кто менял документ, покажет история изменений (о ней ниже) или журнал регистрации: Администрирование → Обслуживание → Журнал регистрации, отбор по документу.
Как сохранить табличную часть в Excel и другие файлы
Это самый частый смысл запроса «сохранить табличную часть»: получить таблицу файлом. Работает в любом документе, где разработчик не отключил стандартные команды.
Вывод списка: основной способ
- Откройте документ и перейдите на вкладку с нужной таблицей, например «Товары».
- В командной панели таблицы нажмите
Ещё → Вывести список.... - В окне настроек отметьте колонки, которые нужны в файле. Флажок «Только выделенные» выводит только выделенные строки.
- Выберите вывод в табличный документ и нажмите
ОК. - В открывшейся таблице нажмите значок дискеты или используйте главное меню
Файл → Сохранить как. - В поле «Тип файла» выберите формат и укажите папку.
Какой формат выбрать:
| Формат | Для чего | Особенности |
|---|---|---|
.xlsx | Редактирование в Excel, отправка коллегам | Числа остаются числами, можно считать формулами |
.mxl | Открыть позже в 1С | Читается только программами 1С |
.pdf | Отправить «как есть», без правок | Нельзя редактировать |
.ods | LibreOffice, «Мой Офис» | Аналог xlsx для свободных офисных пакетов |
.html | Вставить в письмо или на портал | Открывается браузером |
Перед выводом настройте колонки в самой форме: Вывести список берёт за основу видимые колонки. Скрытые сначала можно включить флажками в окне вывода.
Копирование через буфер обмена
Если нужно 5–10 строк, быстрее скопировать:
- Выделите строки: щелчок с
Shift— диапазон, сCtrl— отдельные строки,Ctrl+A— все. - Нажмите
Ctrl+C. - В Excel встаньте в ячейку и нажмите
Ctrl+V.
Значения колонок разложатся по ячейкам через табуляцию. Числа с пробелами-разделителями тысяч Excel иногда принимает за текст. Лечится заменой пробела на пустоту через Ctrl+H в Excel.
Печатная форма как файл
Если нужна не «сырая» таблица, а документ для контрагента (ТОРГ-12, УПД, счёт), используйте Печать. В окне печатной формы есть кнопка сохранения, где те же форматы плюс .docx. А кнопка с конвертом отправляет файл по почте прямо из 1С, если в программе настроена учётная запись электронной почты.
Перенос табличной части в другой документ
Задача «сохранить строки, чтобы использовать ещё раз» решается без Excel.
Копирование документа целиком
- Откройте журнал документов
, например
Продажи → Реализация (акты, накладные, УПД)в Бухгалтерии 3.0. - Выделите исходный документ и нажмите
F9или кнопку копирования в командной панели. - Откроется новый документ с теми же шапкой и строками и текущей датой.
- Поменяйте контрагента, количество, цены и запишите.
Копия создаётся незаписанной: если закрыть её без записи, она исчезнет, а оригинал останется нетронутым.
Не проводите копию «для проверки», если не планируете её оставить. Проведённая копия задвоит движения: остатки, выручку и НДС. Ненужную копию пометьте на удаление и отмените проведение.
Ввод на основании
Если новый документ логически следует из исходного (счёт → реализация, поступление → возврат поставщику), используйте Создать на основании. Табличная часть заполнится из документа-основания, а связь между документами сохранится. Для сверки взаиморасчётов это лучше простого копирования.
Перенос отдельных строк
В Бухгалтерии 3.0 и других конфигурациях на свежих релизах БСП у товарных таблиц есть команды Копировать строки и Вставить строки (в командной панели или в меню Ещё). Порядок такой:
- В исходном документе выделите строки и выполните
Копировать строки. - Откройте целевой документ, перейдите на ту же вкладку.
- Выполните
Вставить строкии запишите документ.
Если таких команд нет, остаётся путь через Excel: выгрузить строки, как описано выше, и загрузить командой загрузки из файла в табличной части. В БП 3.0 она есть у товарных таблиц поступления и реализации (кнопка Загрузить).
Сохранение настроек отображения колонок
Под «сохранить табличную часть» иногда имеют в виду другое: чтобы колонки стояли в нужном порядке и не сбрасывались. Эти настройки 1С запоминает сама, для каждого пользователя отдельно.
Как настроить колонки
- В командной панели таблицы нажмите
Ещё → Изменить форму.... - В дереве элементов найдите таблицу и раскройте её.
- Снимите флажки у ненужных колонок, стрелками поменяйте порядок.
- Нажмите
ОК.
Ширину колонки меняйте мышью, перетаскивая границу заголовка. После закрытия формы ширина и порядок запоминаются и при следующем открытии документа восстанавливаются.
Почему настройки не сохраняются
- 🔸 Пользователь входит без права «Сохранение данных пользователя». Проверьте профиль групп доступа в
Администрирование → Настройки пользователей и прав. - 🔸 Сеанс завершается аварийно: настройки пишутся при штатном закрытии формы.
- 🔸 После обновления конфигурации разработчик изменил форму, и старые настройки не подошли.
Сброс и копирование настроек
Если форма «съехала» после экспериментов, откройте Ещё → Изменить форму... и в меню Ещё этого окна выберите Установить стандартные настройки.
Администратор может скопировать удобную раскладку другим сотрудникам: Администрирование → Настройки пользователей и прав → Настройки пользователей. Там же настройки очищаются, если у сотрудника форма открывается с ошибкой.
Автосохранения нет: как работать с черновиками
В 1С 8.3 нет автосохранения документа по таймеру, как в Word. Пока вы не нажали Записать, строки нигде не хранятся. Если зависнет компьютер или оборвётся связь с сервером, незаписанный документ пропадёт.
Роль черновика играет записанный, но не проведённый документ. В журнале он выглядит обычной строкой без значка проведения. Такой документ:
- ✅ хранится в базе и виден другим пользователям;
- ✅ не формирует проводок и не влияет на остатки и отчёты;
- ✅ можно дозаполнить и провести позже.
Чтобы найти свои черновики, установите в журнале отбор по ответственному или отсортируйте по колонке с признаком проведения.
История изменений документа
В Бухгалтерии 3.0 и других конфигурациях на БСП можно включить хранение версий объектов: Администрирование → Общие настройки → История изменений. После этого при каждой записи 1С сохраняет версию документа вместе со всеми табличными частями.
Что это даёт:
- В документе через
Ещё → История измененийвидно, кто и когда его записывал. - Две версии можно сравнить и увидеть удалённые или изменённые строки.
- Выбранную версию можно восстановить, если строки по ошибке удалили.
История хранит только записанные версии: то, что не попало в базу через Записать, она не вернёт.
Хранение версий увеличивает размер базы. В настройках ограничьте его нужными видами документов и сроком хранения, например годом.
Для разработчика: программное сохранение табличной части
В обработках и расширениях табличную часть удобно сохранять в таблицу значений и загружать обратно:
// Сохраняем строки табличной части в таблицу значений
ДокОбъект = Документ.ПолучитьОбъект();
ТаблицаТоваров = ДокОбъект.Товары.Выгрузить();
// Загружаем их в другой документ и записываем его
НовыйДок = Документы.РеализацияТоваровУслуг.СоздатьДокумент();
НовыйДок.Дата = ТекущаяДатаСеанса();
НовыйДок.Товары.Загрузить(ТаблицаТоваров);
НовыйДок.Записать(РежимЗаписиДокумента.Запись);
Метод Загрузить() сопоставляет колонки по именам, поэтому структура табличных частей у источника и приёмника должна совпадать. Шапку нового документа (организацию, контрагента, склад) заполните до записи, иначе проверка заполнения не пропустит документ. Для выгрузки в файл подойдут ТабличныйДокумент и его метод Записать() с указанием типа, например ТипФайлаТабличногоДокумента.XLSX.