Сохранение данных и изменений в 1С 8.3: от документа до конфигурации
Содержание
В режиме «1С:Предприятие» изменения в документе или справочнике сохраняются кнопкой Записать (горячая клавиша Ctrl+S) или Записать и закрыть; документ дополнительно проводят кнопкой Провести (Ctrl+Enter). В Конфигураторе правки сначала сохраняют командой Конфигурация → Сохранить конфигурацию (Ctrl+S), а чтобы они попали в рабочую базу — Конфигурация → Обновить конфигурацию базы данных (F7).
Это два разных слоя. Пользователь сохраняет свои данные — введённые документы, настройки отчётов, записи справочников. Разработчик сохраняет изменения структуры — формы, реквизиты, процедуры. Ниже разберём оба, плюс то, как устроены транзакции, почему запись иногда «не проходит» и как не потерять работу из-за сбоя.
Как записать документ, справочник и настройки в режиме предприятия
Любая форма объекта в «1С:Предприятии» хранит изменения только после явной записи. Пока вы не нажали кнопку, данные живут в памяти формы и пропадут при закрытии без сохранения.
Основные команды на командной панели формы:
- 💾
Записать— сохраняет объект в базу, но оставляет форму открытой. Для документа это запись без проведения: движений по регистрам не будет. - ✅
Провести— записывает документ и формирует движения (проводки, записи в регистрах). Форма остаётся открытой. - 🚪
Записать и закрыть— сохраняет и закрывает окно. Для документа эта кнопка по умолчанию выполняет проведение. - ↩️
Провести и закрыть— то же, что предыдущая, но с явным проведением (для документов, где кнопки разделены).
Горячие клавиши
ускоряют работу: Ctrl+S — записать, Ctrl+Enter — записать и закрыть (для документа — с проведением), Esc — закрыть форму. Если вы меняли данные и нажали Esc, платформа спросит, сохранять ли изменения.
В формах списков (журнал документов, список справочника) отдельной кнопки «Сохранить» нет. Новый элемент создаётся и записывается в своей форме, а изменение реквизита прямо в строке списка сохраняется, как только вы уходите со строки.
Отдельная история — настройки отчётов и списков. Когда вы поменяли отбор, группировку или колонки в отчёте на СКД, их надо сохранить явно: меню Ещё → Сохранить настройки (или Ещё → Прочее → Изменить вариант). Иначе при следующем открытии вернётся стандартный вид. Персональные настройки формы (ширина колонок, видимость) платформа запоминает автоматически — отдельно сохранять не нужно.
Ещё одна частая задача — сохранить изменения во внешней обработке или отчёте. Файл .epf (обработка) или .erf (отчёт) правят в Конфигураторе и сохраняют командой Файл → Сохранить (Ctrl+S), указав путь к файлу. Если открыли обработку из встроенного редактора в режиме предприятия (через расширение или режим разработчика), там тоже действует Ctrl+S, но меняется именно файл на диске, а не конфигурация базы.
Транзакции: почему запись либо проходит целиком, либо не проходит вовсе
Внутри платформы любая запись идёт через транзакцию — неделимую операцию «всё или ничего». Когда документ проводится, система в одной транзакции записывает сам документ и все его движения по регистрам. Если на любом шаге возникает ошибка — например, сработала проверка в коде или нарушилась блокировка — транзакция откатывается полностью, и в базе не остаётся ни документа, ни половины проводок.
Отсюда практическое следствие: частичного сохранения в 1С не бывает. Нельзя «записать только шапку» документа, а табличную часть оставить на потом в рамках одной записи. Либо весь объект корректен и пишется, либо платформа возвращает ошибку и ничего не меняет.
Это же объясняет типичную жалобу «нажал записать, а изменений нет». Чаще всего запись прервалась: выскочило сообщение об ошибке, пользователь его закрыл не читая, форма осталась открытой со старыми данными. Данные не потерялись — они просто не были записаны, потому что транзакция не завершилась.
Пример. Вы проводите реализацию из десяти строк, и по девятой строке не хватает остатка на складе, а в настройках стоит контроль остатков. Платформа не запишет «девять строк из десяти» — она откатит всю запись и сообщит о нехватке. Поправили остаток или строку — проводите заново, и документ пишется целиком.
Проведение больших документов (например, закрытие месяца или объёмная реализация) может занять время. Не закрывайте программу принудительно, пока идёт запись, — прервёте транзакцию и получите тот же эффект «ничего не сохранилось».
Сохранение изменений конфигурации в Конфигураторе
Конфигуратор работает с двумя версиями конфигурации: той, что вы правите («основная конфигурация»), и той, по которой реально работает база («конфигурация базы данных»). Это ключевой момент, из-за которого новички теряют правки.
Порядок такой:
- Внесли изменения в формы, модули, реквизиты.
Конфигурация → Сохранить конфигурацию(Ctrl+S) — правки сохранились в основной конфигурации. База при этом ещё работает по-старому.Конфигурация → Обновить конфигурацию базы данных(F7) — платформа переносит изменения в рабочую базу. Только теперь пользователи увидят новую форму или реквизит.
На шаге 3 платформа показывает окно реорганизации с перечнем изменений и спрашивает подтверждение. Если менялась структура данных (добавлен реквизит, изменён тип), в список попадут пункты реорганизации таблиц.
Когда нужен монопольный (исключительный) доступ к базе:
- при изменении структуры данных (новые реквизиты, регистры, смена типов) — платформа попросит всех выйти из базы;
- при загрузке конфигурации из файла
.cfи загрузке базы из.dt; - при тестировании и исправлении информационной базы.
Правка только кода (процедур, функций) без изменения структуры обычно применяется без монопольного режима — платформа умеет обновлять такие изменения «на лету» в клиент-серверном варианте.
После F7 платформа нередко предлагает динамическое обновление — применить правки без выхода пользователей. Оно подходит для изменений кода и форм, но не для смены структуры данных. Если система пишет, что требуется перезапуск или монопольный режим, динамическое обновление не пройдёт: придётся дождаться, пока работающие сеансы завершатся. Пользователям при динамическом обновлении достаточно перезайти в программу, чтобы увидеть новую версию.
Если над конфигурацией работают несколько разработчиков, правки сохраняют не прямо в базу, а в хранилище конфигурации: Конфигурация → Хранилище конфигурации → Поместить в хранилище. Так изменения фиксируются версиями, видны коллегам и не теряются при параллельной работе.
Если нужно отдать правки, не затрагивая базу прямо сейчас, используйте Конфигурация → Сохранить конфигурацию в файл — получите файл .cf, который применяют в другой базе через Загрузить конфигурацию из файла с последующим F7.
Чем отличаются способы сохранения
Сведём в таблицу, какое действие что именно сохраняет и какие последствия имеет.
| Действие | Что сохраняет | Движения/проводки | Монопольный доступ |
|---|---|---|---|
Записать (Ctrl+S) в документе | сам документ | нет | не нужен |
Провести / Записать и закрыть | документ + движения | да | не нужен |
Сохранить настройки отчёта | вариант отчёта | — | не нужен |
Сохранить конфигурацию (Ctrl+S) в Конфигураторе | основную конфигурацию | — | не нужен |
Обновить конфигурацию БД (F7) | переносит правки в рабочую базу | — | нужен при изменении структуры |
Выгрузить информационную базу (.dt) | полную копию базы | — | нужен |
Логика простая: в режиме предприятия вы сохраняете данные, в Конфигураторе — структуру и код, а .dt-выгрузка делает снимок всего сразу.
Важно не путать эти слои. Сохранение документа в предприятии никак не трогает конфигурацию — форма, по которой вы работаете, остаётся прежней. И наоборот: обновление конфигурации меняет внешний вид форм и логику, но не создаёт и не удаляет ваши документы. Потеря данных и потеря правок конфигурации — это две разные ситуации с разными способами защиты: для первой нужны резервные копии базы, для второй — своевременное сохранение в основную конфигурацию или в хранилище.
Что делать, если изменения не сохраняются
Разберём частые ситуации по симптому. Сначала прочитайте текст сообщения платформы — в 90% случаев там уже написана причина.
Ctrl+S), но не обновили базу. Нажмите F7 (Обновить конфигурацию базы данных) и подтвердите реорганизацию.Бывает и наоборот — кнопка Записать неактивна (серая). Причины три: в форме нет ни одного изменения (писать нечего), объект открыт только на просмотр, или у роли нет права на запись. Если форма открыта на просмотр, обычно есть команда перейти к редактированию; право на запись добавляет администратор.
Отдельно про блокировки. Если объект «завис» заблокированным, хотя коллега уже вышел, причиной бывает аварийно закрытый сеанс. Администратор может посмотреть активные сеансы и при необходимости завершить зависший. Завершать чужой сеанс можно, только убедившись, что человек действительно не работает — иначе оборвёте его несохранённую работу.
Ещё одна причина «не сохраняется» в клиент-серверной базе — закончилось место на диске сервера или переполнился журнал регистрации. Это уже вопрос к администратору, пользователь тут бессилен.
Как не потерять изменения: резервные копии и регулярная запись
Платформа не делает автосохранение открытых форм: если вы час заполняли документ и программа аварийно закрылась до записи, введённое не восстановится. Поэтому защита от потерь — это не «автосейв», а привычка записывать промежуточный результат и регулярные резервные копии базы.
Резервную копию файловой базы
в типовых конфигурациях (например, «1С:Бухгалтерия 8» ред. 3.0) настраивают здесь: Администрирование → Обслуживание → Резервное копирование и восстановление. Там же задаётся расписание — например, автоматически при завершении работы. Из Конфигуратора копию всей базы делают командой Администрирование → Выгрузить информационную базу (файл .dt).
Для клиент-серверной базы (СУБД PostgreSQL или MS SQL Server) копии делают средствами самой СУБД по расписанию — это задача администратора, а не пользователя.
Восстановление — обратная операция. Файловую копию разворачивают там же, в Администрирование → Обслуживание, либо загружают .dt из Конфигуратора командой Администрирование → Загрузить информационную базу. Загрузка .dt полностью затирает текущую базу, поэтому перед восстановлением убедитесь, что берёте нужную копию, и что в базе никто не работает. Храните копии на отдельном диске или в облаке: копия рядом с базой не спасёт при отказе диска.
Как часто делать копии — зависит от того, сколько данных не жалко потерять. Для активной бухгалтерии разумно ежедневно, перед закрытием месяца и перед каждым обновлением — обязательно отдельной копией.
Простой чек-лист перед рискованными действиями — обновлением конфигурации, массовой обработкой, перепроведением:
Хорошая привычка: нажимать Ctrl+S после каждой заметной порции работы в большом документе, не дожидаясь конца. Запись без проведения проходит быстро и ничем не мешает.
Частые вопросы
В чём разница между «Записать» и «Провести»?
Записать сохраняет документ, но не формирует движения по регистрам — проводок не будет. Провести сохраняет документ и сразу создаёт движения. Непроведённый документ хранится в базе, но на учёт не влияет.Я сохранил конфигурацию в Конфигураторе, а пользователи изменений не видят. Почему?
Ctrl+S) обновляет только основную конфигурацию. Чтобы правки попали в рабочую базу, нужно Обновить конфигурацию базы данных (F7) и подтвердить реорганизацию.Можно ли отменить сохранённые изменения?
Конфигурация → Вернуться к конфигурации базы данных.Есть ли в 1С автосохранение документов?
Ctrl+S) и резервные копии базы, а не автосейв.