В процессе эксплуатации конфигурации «1С:Управление торговлей» версии 11.4 многие пользователи сталкиваются с необходимостью упростить систему расчета себестоимости. Часто это связано с тем, что финансовый учет ведется во внешней системе (например, в «1С:Бухгалтерия предприятия 3.0»), а постоянные исправления документов задним числом в оперативной базе приводят к «разваливанию» партионного учета и ошибкам при закрытии месяца. В этой статье мы подробно разберем, как технически и методически грамотно уйти от партионного учета, проанализируем риски и рассмотрим необходимые программные манипуляции.
Прежде чем приступать к изменениям, нам необходимо разобраться, с чем мы имеем дело. В УТ 11.4 используется архитектура партионного учета версии 2.2. Рассмотрим ее ключевое отличие от старой версии 2.1: движения по партиям в новой версии формируются не в момент проведения первичного документа (накладной), а при выполнении регламентного задания Расчет себестоимости в конце отчетного периода. Это означает, что данные в регистрах партий являются производными и зависят от настроек учетной политики.
Простое программное отключение флажка в настройках может привести к непредсказуемым последствиям, так как многие внутренние алгоритмы системы (возвраты, НДС, корректировки) ожидают наличия партионных записей. Разберем ситуацию по шагам.
Прежде чем писать код для принудительного изменения констант, проанализируем штатные возможности системы. Самый безопасный способ «отключить» влияние партий — это изменить метод оценки стоимости товаров.
При выборе этого метода система перестает детализировать себестоимость до каждого конкретного документа поступления (партии). Хотя технически регистры могут продолжать заполняться упрощенными записями, для пользователя и большинства отчетов партионный учет фактически перестает существовать. Это исключает большинство проблем при перепроведении документов задним числом.
Если ваша цель — привести базу к состоянию «чистой» (где партионный учет еще не был включен), стандартный интерфейс заблокирует изменение настроек, если в системе уже есть хотя бы одно движение по партиям. В этом случае нам придется прибегнуть к программным методам.
Для начала выясним, какая константа отвечает за этот функционал. Основной константой является ИспользоватьПартионныйУчет. Также существует вспомогательная настройка для переключения между версиями 2.1 и 2.2.
Выполним код для принудительной установки значения. Это можно сделать через внешнюю обработку или через окно «Вычислить выражение» (в режиме толстого клиента):
// Отключение основного механизма партионного учета
Константы.ИспользоватьПартионныйУчет.Установить(Ложь);
// Если необходимо переключить режим версии
// Константы.ПараметрыПартионногоУчета.Установить(Перечисления.ВариантыПартионногоУчета.Версия21);
Важно: После выполнения этого кода форма настроек в разделе «Финансовый результат и контроллинг» обновится, но «хвосты» в регистрах останутся. Это может вызвать ошибки при последующих расчетах себестоимости.
Проанализируем ситуацию: если мы выключили константу, но записи в специализированных регистрах остались, регламентные операции 1С могут начать вести себя некорректно. Рассмотрим список регистров, которые необходимо очистить или «свернуть», если вы решили полностью избавиться от данных партионного учета:
ПартииТоваровОрганизаций — основной регистр, где хранится информация о партиях в версии 2.2.ДетализацияСебестоимостиТоваров — вспомогательный регистр, обеспечивающий расшифровку стоимостных показателей.ПартииТоваровПереданныеНаКомиссию — если в базе велась комиссионная торговля.ПартииРасходовНаСебестоимостьТоваров — здесь учитываются дополнительные расходы, включенные в стоимость товаров.Для очистки этих регистров лучше всего использовать механизм Свертки информационной базы на начало отчетного периода (например, на начало года). Свертка удалит движения и создаст документы Ввод остатков, которые зафиксируют только количественно-суммовые показатели без привязки к историческим партиям.
Разберем, почему полное отключение партий может быть опасным. В системе «1С:Управление торговлей 11» партионный учет неразрывно связан с раздельный учетом НДС. Если ваша организация работает с НДС 0% (экспорт) или осуществляет продажи без НДС, система обязана знать, из какой именно закупки пришел проданный товар, чтобы корректно сформировать книгу покупок и записей книги продаж.
Посмотрим на риски:
Расчет себестоимости содержит проверки. Если константа выключена, а записи в СебестоимостьТоваров ссылаются на партии, может возникнуть ошибка «Индекс находится вне границ массива».Проанализировав все способы, мы рекомендуем следующий алгоритм перехода, который минимизирует риски потери данных:
ИспользоватьПартионныйУчет в значение Ложь.Ввод остатков (если они были) и заново запустите расчет себестоимости за первый месяц работы в новом режиме.Таким образом, мы выяснили, что «вырезать» партионный учет программно возможно, но делать это стоит только в совокупности с изменением методологии учета и пониманием того, как это повлияет на подсистему НДС и возвратов.