Почему 1С не проводит документ и как найти причину
Содержание
ПД в 1С в контексте ошибок — это проведение документа, а проверка ПД — набор контролей, которые программа выполняет в момент нажатия Провести или Провести и закрыть. Если хоть одна проверка не прошла, документ остаётся непроведённым, а внизу формы появляется сообщение вида Не удалось провести «Реализация (акт, накладная, УПД) …».
Чтобы найти и исправить причину, есть три пути. Прочитать текст сообщения — хватает, когда ошибка в заполнении или остатках. Открыть журнал регистрации — когда сообщение пропало или ошибка у другого пользователя. Запустить отладку в конфигураторе — когда текст ничего не объясняет и проблема в доработках.
Аббревиатуру ПД в 1С используют и для персональных данных (согласия на обработку, контроль доступа к ним в ЗУП). Если у вас вопрос про них, это другая тема: ниже речь только о проведении документов.
Что проверяет 1С при проведении документа
Проведение — это момент, когда документ формирует движения: проводки по счетам, записи в регистры накопления и сведений. Перед тем как записать движения, платформа и конфигурация прогоняют документ через несколько фильтров.
Порядок такой:
- Проверка заполнения. Платформа смотрит реквизиты с признаком «Выдавать ошибку» и вызывает обработчик
ОбработкаПроверкиЗаполненияв модуле объекта. Пустой контрагент, договор, счёт учёта — документ дальше не идёт. - Проверка даты запрета изменения. Если дата документа попадает в закрытый период, запись отклоняется.
- Запись документа и вызов
ОбработкаПроведения— там конфигурация формирует движения. - Контроль остатков. Для списания товаров, материалов, денег программа сверяет количество с остатками на момент документа.
- Запись движений в регистры. Тут возможны конфликты блокировок, если тот же регистр в эту секунду пишет другой пользователь.
Любой шаг может вернуть «Отказ = Истина». Тогда транзакция откатывается целиком: документ записан (если вы нажали Записать отдельно), но проводок нет.
| Этап | Типичный текст ошибки | Кто виноват |
|---|---|---|
| Проверка заполнения | Поле "Договор" не заполнено | Пользователь, не заполнен реквизит |
| Дата запрета | Дата запрета изменения … Недостаточно прав | Закрытый период |
| Контроль остатков | Недостаточно … на складе | Учёт: нет поступления, неверный склад, порядок документов |
| Движения | Конфликт блокировок при выполнении транзакции | Параллельная работа |
| Код конфигурации | Ошибка при вызове метода контекста | Доработка или битые данные |
Частые причины, по которым проверка проведения не проходит
Ошибок много, но причин — ограниченный набор. Перед тем как лезть в журнал и отладчик, пройдитесь по списку.
Учётные причины
- 📦 Нет остатка на дату документа. Поступление проведено позже реализации — хотя бы на минуту. 1С сравнивает остатки на момент времени документа, а не на конец дня.
- 🏬 Не тот склад или организация. Товар оприходован на «Основной склад», а списывают с «Розничного».
- 📑 Не заполнен договор или вид договора не подходит. Договор с видом «С поставщиком» в документе продажи не выбрать.
- 🧾 Нет счёта учёта в строке табличной части. Обычно — новая номенклатура без настроенных счетов учёта.
Причины на уровне доступа
- 🔒 Закрытый период. Бухгалтер закрыл квартал, а менеджер правит документ прошлым числом.
- 👤 Нет прав на проведение этого вида документа или на запись в нужный регистр. Сообщение:
Недостаточно прав для ….
Технические причины
- ⚙️ Доработки. Подписка на событие или расширение конфигурации добавляет свою проверку и отказывает в проведении.
- 💥 Битые ссылки. В реквизите стоит
<Объект не найден>— элемент справочника удалили, а ссылка осталась. - ⏳ Блокировки. Два пользователя одновременно проводят документы по одной номенклатуре и складу.
Текст Ошибка при вызове метода контекста или Поле объекта не обнаружено в типовой конфигурации без доработок почти всегда означает, что в базе остались битые данные или прервалось обновление. Пользователь своими действиями такую ошибку не исправит.
Как найти ошибку проведения через журнал регистрации
Сообщение под формой исчезает, как только окно закрыли. Пользователь звонит и говорит: «Что-то не проводится». Журнал регистрации хранит всё: кто, когда, какой документ и с каким текстом ошибки.
Где открыть журнал
- В БП 3.0, ЗУП 3.1, УТ 11:
Администрирование → Обслуживание → Журнал регистрации. - Из любой конфигурации: главное меню →
Функции для технического специалиста → Стандартные → Журнал регистрации. Пункт появляется после включения режима технического специалиста в параметрах (главное меню →Сервис → Параметры). - В конфигураторе:
Администрирование → Журнал регистрации.
Как отфильтровать нужное
- Нажмите
Установить отбор. - Задайте интервал — например, последние 2 часа.
- В поле «Пользователь» выберите того, у кого не провелся документ.
- В «Уровне» оставьте только
Ошибка. - В «Событии» отметьте
Данные. ПроведениеиДанные. Запись. - Примените отбор и откройте строку двойным щелчком.
В карточке события видно поле «Данные» (ссылка на документ) и «Комментарий» с полным текстом исключения. Там бывает то, чего пользователь не видел: имя модуля и номер строки, где сработал отказ.
Если журнал пустой, проверьте уровень записи: Администрирование → Настройка журнала регистрации в конфигураторе. При уровне «Не регистрировать» ошибки не попадают никуда.
Что искать в комментарии
- Строка вида
{Документ.РеализацияТоваровУслуг.МодульОбъекта(512)}— ошибка в коде модуля объекта документа, строка 512. {ОбщийМодуль.…}— общая процедура, часто из подсистемы проведения.- Упоминание модуля расширения — виновата доработка, а не типовая конфигурация.
Режим отладки: смотрим, где 1С отказывает в проведении
Когда журнал показывает модуль и строку, но непонятно, какие данные к этому привели, нужна отладка. Работайте на копии базы, а не в рабочей.
Перед отладкой выгрузите базу в .dt или сделайте копию каталога файловой базы — не ставьте точки останова в рабочей базе в рабочее время.
Порядок действий
- Откройте копию базы в конфигураторе.
- Найдите документ в дереве конфигурации:
Документы → <имя документа> → Модуль объекта. - Установите точку останова (
F9) в начале процедурыОбработкаПроведенияи, при необходимости, вОбработкаПроверкиЗаполнения. - Включите остановку по ошибке:
Отладка → Остановка по ошибке, флажок «Останавливаться по ошибке». - Запустите
Отладка → Начать отладку → 1С:Предприятие. - В открывшемся клиенте откройте проблемный документ и нажмите
Провести. - Отладчик остановится. Пошагово идите
F10иF11, а в окне «Вычислить выражение» (Shift+F9) смотрите значения переменных.
Что смотреть в отладчике
- Значение параметра
Отказ— на какой строке он становитсяИстина. - Содержимое таблиц, из которых формируются движения: пустая таблица часто значит, что запрос не нашёл данных по складу или счёту.
- Результат запроса остатков: количество на момент документа против количества в строке.
Для клиент-серверной базы отладку на сервере нужно разрешить: служба агента сервера запускается с ключом -debug. Включение ключа требует перезапуска службы — все пользователи будут отключены, делайте это вне рабочего времени или на тестовом сервере.
Расширения тоже отлаживаются: модуль объекта документа в расширении открывается через дерево расширения (Конфигурация → Расширения конфигурации). Если отказ появляется только с подключённым расширением, отключите его на копии базы и проверьте проведение ещё раз.
Как исправить ошибку проведения документа
Ниже — способы от самого безопасного к радикальному. Начинайте сверху.
1. Заполнить недостающие реквизиты
Самый частый случай. Текст Поле "…" не заполнено прямо говорит, что делать. Если поле в табличной части — 1С подсвечивает строку и колонку: щёлкните по сообщению, курсор перейдёт к нужной ячейке.
Для счетов учёта номенклатуры: откройте карточку товара и задайте счета через ссылку «Счета учёта» или поправьте их прямо в строке документа.
2. Разобраться с остатками
- Сформируйте оборотно-сальдовую ведомость по счёту 41 или 10 с отбором по номенклатуре и складу.
- Проверьте время документов: поступление должно быть раньше реализации. Если оба документа в один день — поправьте время поступления на более раннее.
- Убедитесь, что склад и организация совпадают.
3. Открыть период или попросить ответственного
Если дата документа попала в закрытый период, есть два честных варианта: перенести документ в открытый период или попросить главного бухгалтера временно сдвинуть дату запрета. В БП 3.0 настройка находится в Администрирование → Настройки пользователей и прав, флажок «Даты запрета изменения».
Правка документа в закрытом периоде меняет уже сданную отчётность. Согласуйте её с главным бухгалтером и пересчитайте закрытие месяца.
4. Устранить битые ссылки
Найдите в документе реквизит с <Объект не найден> и выберите правильное значение. Если таких ссылок много по базе — нужна проверка ссылочной целостности в конфигураторе.
5. Перепровести документы пакетом
После исправления остатков или счетов учёта зависимые документы тоже нужно перепровести. В БП 3.0: Операции → Закрытие периода → Групповое перепроведение документов. Задайте период и запустите. Обработка проводит документы в хронологическом порядке и показывает те, что не провелись.
6. Тестирование и исправление информационной базы
Радикальный шаг для технических ошибок. Конфигуратор → Администрирование → Тестирование и исправление. Режим требует монопольного доступа: все пользователи должны выйти из базы.
Обязательно сделайте резервную копию перед запуском — режим исправления меняет данные необратимо.
| Способ | Когда применять | Риски |
|---|---|---|
| Заполнить реквизиты | Поле не заполнено | Нет |
| Поправить остатки и время | Недостаточно… | Сдвиг себестоимости |
| Сдвинуть дату запрета | Закрытый период | Меняется сданная отчётность |
| Групповое перепроведение | Цепочка зависимых документов | Долго на больших базах |
| Тестирование и исправление | Битые данные, ошибки платформы | Монопольный режим, нужен бэкап |
Профилактика: как настроить контроль, чтобы ошибок проверки ПД было меньше
Многие проблемы проведения можно предупредить настройками.
Даты запрета изменения
Закрывайте период сразу после сдачи отчётности. Для разных пользователей можно задать разные даты: главбуху — открыт, менеджерам — закрыт на конец прошлого месяца. Так менеджер не испортит закрытый квартал, а бухгалтер сохранит возможность исправлений.
Контроль остатков
В БП 3.0 можно разрешить списание запасов при отсутствии остатков — флажок находится в настройках проведения документов раздела Администрирование. Это снимает ошибку Недостаточно…, но учёт уходит в минус. Включайте только если поступления вводят с опозданием и дальше пройдёт перепроведение.
Регулярная проверка учёта
- 🔍
Отчёты → Анализ учёта → Экспресс-проверка— ловит непроведённые документы, отрицательные остатки, нарушения последовательности. - 📊 Список документов с отбором «Проведён = Нет» — быстрый способ увидеть «хвосты» до закрытия месяца.
- 📝 Журнал регистрации с уровнем
Ошибкараз в неделю — особенно после обновления конфигурации.
Обновления и доработки
После каждого обновления или установки расширения проводите на копии базы по 2-3 документа каждого вида, которые используете. Ошибка в доработке проявится там, а не у пользователей в конце месяца.
Частые вопросы
Чем «Записать» отличается от «Провести»?
Почему документ провёлся вчера, а сегодня не проводится?
Можно ли провести документ, игнорируя ошибку?
Ошибку видит только один пользователь. Почему?
Где увидеть, кто последний перепровёл документ?
Данные. Проведение.