В работе с файловыми базами данных 1С:Предприятие часто возникают ситуации, когда система выдает ошибку о нехватке остатков, хотя отчеты и подбор товара показывают наличие товара на складе. Особенно остро эта проблема проявляется при работе через RDP (удаленный рабочий стол) у отдельных пользователей. Давайте разберем, как диагностировать и решить эту задачу по шагам.
Первое, что необходимо сделать — это полная очистка кэша 1С у конкретного пользователя. В среде RDP пользователи часто имеют разные профили, поэтому проблема может быть локализована в одном конкретном профиле Windows.
%AppData%\1C\1CEStart и %LocalAppData%\1C\1Cv8.1Cv8.1CD.Если после очистки кэша ошибка сохраняется, рассмотрим влияние прав доступа. Убедитесь, что у пользователя нет специфических ограничений доступа на уровне записей (RLS), которые могут скрывать остатки на определенных складах в момент проведения, хотя в отчетах под полными правами вы их видите.
Рассмотрим также настройки параметров пользователя в конфигураторе. Проверьте, не установлен ли флаг «Контроль остатков при проведении» в неверное положение, и сравните настройки конкретного пользователя с настройками тех сотрудников, у которых проведение выполняется корректно.
Если логические настройки проверены, переходим к техническому состоянию файла базы данных. В файловых версиях 1С:УТ 10.4 индексы таблиц итогов могут повреждаться. Для исправления ситуации необходимо выполнить Тестирование и исправление информационной базы (ТИИБ).
Внимание: Перед выполнением обязательно сделайте полную резервную копию файла 1Cv8.1CD. ТИИБ может привести к пересчету остатков, что иногда выявляет «скрытые» недостачи, которые ранее не фиксировались из-за ошибок в индексах.
В конфигураторе выполните следующие действия:
Реиндексация таблиц, Проверка логической целостности, Пересчет итогов.Если обычное тестирование не дает результата, используйте метод полной пересборки базы. При копировании файла в другую папку и открытии его под другим пользователем проблема исчезает, так как происходит переиндексация и сброс блокировок. Аналогичного эффекта можно добиться через выгрузку:
.dt через «Администрирование» -> «Выгрузить информационную базу»..dt в новую базу.Данная процедура полностью пересоздает структуру таблиц 1С, исключая накопленную фрагментацию и битые индексы, которые могли «прилипнуть» к конкретному рабочему месту.
Если проблема возникает только у одного пользователя, возможно, у него «завис» процесс в памяти сервера. Проверьте через Диспетчер задач на сервере RDP наличие «подвисших» процессов 1cv8.exe под учетной записью пользователя. Эти процессы могут удерживать блокировку на таблицы итогов, не давая системе корректно записать новые данные.
Также рекомендуем проверить доступность дискового пространства на сервере. Недостаток места во временных папках %TEMP% пользователя RDP часто приводит к тому, что транзакция записи в регистры накопления обрывается, оставляя базу в несогласованном состоянии.
Если после выполнения всех вышеперечисленных действий ошибка сохраняется, рекомендуем провести отладку в модуле проведения документа, чтобы увидеть, на каком именно этапе система «не видит» остаток товара. Используйте Журнал регистрации для поиска записей с ошибками доступа или блокировок, предшествующих неудачному проведению документа.