При выполнении регламентной операции "Закрытие месяца" в 1С:Управление торговлей 11 (а также в схожих конфигурациях, например, 1С:Комплексная автоматизация) можно столкнуться с трудно диагностируемой ошибкой. Особенно часто это происходит после того, как в уже закрытом периоде были изменены или перепроведены какие-либо документы. Рассмотрим ситуацию, когда на этапе "Оформление счетов-фактур и таможенных документов" система прерывает работу и выдает сообщение об ошибке.
Типичное сообщение выглядит так:
При определении состояния операции Оформление счетов-фактур и таможенных документов произошла ошибка: Ошибка при вызове метода контекста (НайтиСтроки) ... по причине: Неверное имя колонки
Эта ошибка указывает на внутреннюю проблему в коде обработки, когда программа пытается найти строки в таблице по условию, в котором используется несуществующее имя колонки. Давайте разберем по шагам, как проанализировать эту проблему и найти ее решение.
Как показывает практика, подобные ошибки редко бывают связаны с самой платформой или конфигурацией в целом. Чаще всего корень проблемы кроется в данных и конкретных хозяйственных операциях. Проанализировав обсуждение, можно выделить ключевой сценарий, который провоцирует ошибку:
Проблема возникает при разнесении аванса и реализации по разным месяцам.
Например:
Поступление безналичных денежных средств как аванс от клиента на основании Заказа клиента.Реализация товаров и услуг.При закрытии января система должна сформировать счет-фактуру на полученный аванс. Именно на этом этапе и происходит сбой. Если же и поступление денег, и реализация находятся в одном месяце, проблема, как правило, не возникает, так как аванс сразу зачитывается.
Еще одно важное наблюдение: ошибка может проявляться для организаций на общей системе налогообложения (ООО), где ведется полноценный учет НДС, и не возникать для организаций на УСН (ИП), где учет НДС с авансов не требуется. Это еще раз подтверждает, что проблема находится в механизме учета НДС.
Чтобы локализовать и устранить ошибку, необходимо провести комплексную проверку. Двигаться будем от простого к сложному: от проверки данных до технической отладки.
Прежде всего, убедимся, что сама цепочка документов оформлена корректно. Ошибки в объектах расчетов — одна из самых частых причин сбоев при зачете авансов.
Заказ клиента → Поступление безналичных денежных средств → Реализация товаров и услуг.Заказ клиента. Это гарантирует, что система понимает, какой именно аванс должна зачесть реализация.Если проверка данных не выявила проблем, переходим к технической диагностике. Операция "Закрытие месяца" выполняется в фоновом режиме, поэтому обычный запуск отладки не поможет "поймать" ошибку.
Необходимо подключить отладку фоновых заданий.
Для этого:
ragent или rphost) и подключитесь к нему.ОперацииПоНДСКВыполнению в модуле менеджера обработки ПомощникПоУчетуНДС, а конкретно — строка:
КОформлению = ОрганизацииКОформлению.НайтиСтроки(СтруктураОтбора);
ОрганизацииКОформлению — это таблица значений. Посмотрите ее колонки.СтруктураОтбора — это структура, по ключам и значениям которой выполняется поиск в таблице.Ошибка "Неверное имя колонки" означает, что один из ключей в СтруктураОтбора не соответствует ни одному имени колонки в таблице ОрганизацииКОформлению. Выяснив, какое именно поле вызывает ошибку, можно глубже понять причину сбоя, которая может быть связана с некорректно заполненными данными в регистрах НДС.
Логика регистрации счетов-фактур на аванс напрямую зависит от настроек учетной политики организации.
Проверьте, какой способ регистрации счетов-фактур на авансы выбран. Путь в программе может отличаться в зависимости от версии, но обычно это: НСИ и администрирование → Настройка НСИ и разделов → Учет НДС и ВЭД. Также эти настройки могут находиться в учетной политике организации.
Возможные варианты:
Важно: никогда не меняйте эту настройку "задним числом" для периодов, в которых уже есть документы. Изменение этого параметра может нарушить логику работы программы и привести к ошибкам при перепроведении документов или закрытии месяца.
Если найти причину сразу не удается, а месяц закрывать нужно, можно воспользоваться временными решениями.
Если в базе ведется учет по нескольким юридическим лицам, попробуйте выполнить операцию "Закрытие месяца" не для всех организаций сразу, а для каждой по отдельности. Часто ошибка возникает именно при обработке сводных данных по нескольким организациям, а индивидуальное закрытие проходит успешно. Это также поможет быстрее локализовать, в данных какой именно организации содержится проблема.
Попробуйте создать счет-фактуру на аванс вручную, не дожидаясь регламентной операции. Для этого найдите документ Поступление безналичных денежных средств, который является авансом, и на его основании создайте документ Счет-фактура выданный (с видом "на аванс"). Если документ создается и проводится без ошибок, возможно, это позволит регламентной операции "пройти" проблемное место. Если же и при ручном создании возникает ошибка, это даст дополнительную информацию для анализа.
Наконец, не забывайте про стандартные процедуры, которые могут помочь в решении многих проблем:
Системный подход к диагностике, начиная от проверки данных и заканчивая технической отладкой, поможет вам успешно справиться с ошибкой "Неверное имя колонки" и обеспечить корректное закрытие периода.