В практике сопровождения 1С:Предприятие 8.3, особенно в конфигурациях для Казахстана, нередко встречается пугающая ситуация: бухгалтер создает документ Реализация товаров и услуг, указывает в табличной части 1 единицу товара, но при попытке проведения система выдает ошибку: «Недостаточно товара. Пытаемся списать 10 шт., не хватает 9 шт.». При этом по всем отчетам, включая Оборотно-сальдовую ведомость (ОСВ) и ведомости по складам, числится ровно 1 штука.
Ситуация осложняется, если база работает в файловом режиме и подвергается регулярным аварийным завершениям из-за перепадов напряжения. Разберем по шагам, почему возникают такие «фантомные» цифры и как привести систему в чувство.
Первым делом проанализируем настройки самой номенклатуры. В 1С существует разделение на базовые единицы измерения, единицы хранения и единицы для отчетов. Если программа «умножает на 10», это классический признак расхождения коэффициентов.
Выполним следующие действия:
ЕдиницыИзмерения могла нарушиться связь. Попробуем перевыбрать единицу измерения в самом документе Реализация, даже если визуально она указана верно.Для конфигураций 1С:Бухгалтерия для Казахстана учет товаров значительно сложнее из-за подсистемы «Виртуальный склад» (ВС) и СНТ. Система может проверять остатки не только по бухгалтерскому регистру Хозрасчетный, но и по специализированным регистрам накопления.
Проанализируем регистр Товары на виртуальных складах. Часто бывает так, что по бухгалтерскому учету товар есть, а в регистре ВС он числится с другими признаками или в другом количестве. Программа при проведении реализации пытается «собрать» нужное количество по источникам происхождения. Если алгоритм подбора источников из-за внутреннего программного сбоя срабатывает некорректно, он может формировать запрос на списание избыточного количества.
Также проверим справочник Источники происхождения. Если в документе реализации вручную выбран источник, в котором зафиксировано иное количество, система может выдавать ошибку несоответствия.
Если база файловая (формат .1cd) и часто выключался свет, обычное «Тестирование и исправление» из Конфигуратора может не помочь. Проблема может лежать на уровне физических страниц данных. Выясним причину с помощью внешней утилиты.
C:\Program Files\1cv8\номер_версии\bin) файл chdbfl.exe.1Cv8.1CD и установим галочку Исправлять обнаруженные ошибки.Именно Пересчет итогов является ключевым. ОСВ строится по основным таблицам движений, а оперативный контроль остатков при проведении документа часто обращается к таблицам итогов. Если итоги «разъехались» из-за сбоя питания, вы будете видеть правильные цифры в отчете, но документ не проведется.
В современных версиях БП 3.0 используется механизм ключей аналитики. Вместо хранения длинных наборов (Номенклатура, Склад, Тип налогообложения) в каждой записи регистра, система создает уникальный идентификатор (ключ). Рассмотрим ситуацию: если из-за сбоя в справочнике КлючиАналитикиУчетаНоменклатуры возник дубль или некорректная ссылка, документ может начать «видеть» чужие остатки или умножать свои.
Для исправления попробуем воспользоваться стандартной обработкой по очистке и переформированию ключей аналитики (доступна в некоторых версиях через раздел Администрирование — Обслуживание) или просто полностью перепроведем цепочку документов по данной номенклатуре за текущий месяц.
Иногда странное поведение (документ то проводится, то нет) связано с локальным кэшем на компьютере пользователя. Проанализируем ситуацию: программа хранит часть метаданных локально для ускорения работы. Если в кэш попала ошибка, расчеты в памяти могут выдавать неверные результаты.
Выполним очистку кэша:
%AppData%\1C\1cv8 и %LocalAppData%\1C\1cv8.
Чтобы окончательно убедиться, в чем проблема — в логике документа или в данных регистров — можно временно отключить контроль остатков. В Казахстане это делается в разделе Администрирование — Настройки учета — Общие настройки (или в настройках параметров учета в зависимости от релиза).
После отключения контроля:
Бухгалтерский и налоговый учет и Товары на складах.Если в движениях записалась 1 шт., но при включенном контроле программа ругалась на 10 — значит, проблема в механизме проверки (битые итоги или кэш). Если же в движения записалось 10 шт. при указанной в форме 1 шт. — значит, работает какой-то программный код (подписки на события или расширения), который модифицирует данные при записи.
Для стабильной работы файловой базы крайне важно обеспечить бесперебойное питание. Однако если «глюки» с количеством уже начались, лучшим решением будет:
chdbfl.exe и полного ТиИ.Помните, что в файловом режиме 1С очень чувствительна к качеству сети и электропитания. Переход на клиент-серверный вариант (SQL) практически полностью исключает подобные проблемы с целостностью данных.