В процессе работы с конфигурацией 1С:Управление нашей фирмой (УНФ) пользователи часто сталкиваются с парадоксальной ситуацией: отчеты показывают наличие денежных средств в кассе, однако при попытке провести документ Расход из кассы система выдает ошибку: «Касса: Основная касса, остаток 0 руб., недостаточно...». Особенно часто эта проблема проявляется после миграции данных из других систем, например, из 1С:Управление торговлей 11.
В данной статье мы подробно разберем, почему программа «теряет» деньги, проанализируем технические ошибки в коде и определим пошаговый алгоритм восстановления корректного учета.
Как показывает практика и реальные кейсы с форумов, наиболее вероятной причиной того, что 1С:УНФ не видит остатки, является дублирование записей в справочнике «Валюты». Рассмотрим, как это происходит:
Для решения этой проблемы необходимо воспользоваться обработкой «Поиск и удаление дублей». Выберите справочник Валюты, сравните элементы по коду и наименованию, и объедините найденные дубли. После этого обязательно перепроведите кассовые документы, чтобы ссылки обновились.
Часто проблема с остатками сопровождается критической ошибкой при формировании Платежного календаря. Проанализируем техническую ошибку, возникающую в коде типовой конфигурации:
Значение не является значением объектного типа (Строки)
{Отчет.ПлатежныйКалендарь.Форма.Форма.Форма(2085)}: МассивАналитики = Родитель.Строки.НайтиСтроки(Новый Структура("Аналитика", Аналитика), Истина);
Эта ошибка напрямую связана с нарушением структуры данных. Проанализируем ситуацию: механизм платежного календаря пытается построить дерево платежей, опираясь на аналитику (валюты, подразделения, статьи ДДС). Если в базе присутствуют дубли или битые ссылки (объекты, помеченные на удаление, но используемые в движениях), рекурсивная функция ЗаполнитьДеревоПлатежейРекурсивно не может корректно определить родительский узел. Это подтверждает, что корень проблемы лежит в чистоте справочников.
Рассмотрим еще один важный нюанс. Иногда проведение расхода блокируется без предварительно утвержденной заявки. В настройках программы (раздел Деньги — Настройки) может быть включен контроль остатков с учетом планируемых расходов.
Выясним, почему проведение через Заявку на расход иногда «чинит» ситуацию:
Расход из кассы напрямую, система проверяет свободный остаток.Заявки на расход, программа «бронирует» под них деньги.Если вы хотите иметь возможность списывать деньги без заявок, проверьте настройки контроля денежных средств в разделе Администрирование.
Если справочники чисты, а деньги все равно не видны, необходимо проанализировать движения по регистру накопления Денежные средства. Посмотрим на ситуацию глазами системы:
Для диагностики сформируйте отчет «Движения документов» по проблемному документу прихода и расхода. Обратите внимание на следующие измерения:
Если в регистрах всё верно, но ошибка сохраняется, выполните пересчет итогов. Пройдите в Обслуживание — Регламентные операции — Управление итогами. Установите период рассчитанных итогов на текущую дату. Это заставит систему пересчитать оперативные остатки, которые она использует при проведении документов.
Подводя итог, разберем пошагово, что нужно сделать, если вы столкнулись с «невидимыми» деньгами в кассе УНФ:
Значение не является значением объектного типа (Строки), значит, в аналитике (валютах или статьях) точно есть мусор.Заявка на расход -> Расход из кассы. Это часто позволяет обойти жесткие контроли свободного остатка.Соблюдение этих шагов позволит вам восстановить работоспособность системы и обеспечить корректное отображение денежных средств в кассах предприятия.