При работе с информационными базами 1С:Управление торговлей (УТ 11) специалисты часто сталкиваются с последствиями некорректной «обрезки» базы или небрежного ввода начальных остатков. В таких ситуациях типовые механизмы закрытия месяца начинают выдавать ошибки, связанные с отрицательными остатками в регистрах или отсутствием цен себестоимости. Разберем комплексный подход к решению этой задачи, основываясь на практическом опыте восстановления учета.
Представим ситуацию: база эксплуатируется несколько лет, была произведена свертка (обрезка) данных, но начальные остатки завязаны на помеченные на удаление документы прошлых периодов. Основные проблемы, которые мешают расчету себестоимости:
Проанализируем шаги, которые помогут нам привести базу в рабочее состояние без создания новой чистой базы.
Прежде чем запускать Закрытие месяца, необходимо наполнить документы Ввод начальных остатков стоимостными данными. Если в базе сохранились помеченные на удаление документы поступления, мы можем использовать их как источник информации.
Рассмотрим алгоритм автоматизированного исправления:
Приобретение товаров и услуг перед датой ввода остатков для каждой номенклатурной позиции.Ввод начальных остатков.Себестоимость товаров.Посмотрим на технический нюанс: в УТ 11 за себестоимость отвечают не только цены в документах, но и корректно заполненные аналитики учета (организация, склад, номенклатура). Если аналитика в остатках не совпадает с аналитикой в последующих продажах, система не сможет «подцепить» стоимость.
При закрытии месяца помощник указывает на ошибки в регистре Товары организаций. Разберем, как с этим бороться:
А) Развернутое сальдо. Часто товар есть в наличии, но не хватает конкретного номера ГТД или организации. В этом случае используем встроенный мастер исправления — он создаст документы Корректировка обособленного учета или Исправление развернутого сальдо.
Б) Реальный дефицит. Если товара действительно не хватает по учету на конец месяца, но на текущий момент остатки уже выровнены менеджерами, воспользуемся методом «временной подпорки»:
Прочее оприходование товаров. Это позволит расчету себестоимости «увидеть» приход и закрыть расходные документы.Списание недостач товаров. Таким образом, мы не влияем на актуальные остатки текущего дня, но позволяем системе выполнить расчет в прошлом периоде.Работа с регистром Товары переданные на комиссию сложнее, так как для него нет автоматического помощника исправления остатков. Рассмотрим ситуацию, когда Отчет комиссионера уводит остатки в минус.
Выясним причину: часто менеджеры забывают оформить Реализацию через комиссионера (передачу) или оформляют ее позже отчета. Для исправления ситуации на этапе закрытия прошлых периодов можно применить следующий метод:
Ввод начальных остатков товаров, переданных на комиссию на конец закрываемого месяца на количество выявленного минуса.Важное предупреждение: Использование отрицательного количества в документах ввода остатков — это «хак», который может привести к программным ошибкам в будущих версиях. Рассмотрим более безопасную альтернативу: использование документа Корректировка регистров. Мы можем точечно поправить движения в регистре накопления Товары переданные на комиссию, не создавая сомнительных операционных документов.
Проанализируем ситуацию с методом оценки стоимости. Многие ошибочно полагают, что при методе По средней партии не важны. Однако в УТ 11 (особенно в версии партионного учета 2.1) комиссионный учет жестко завязан на партии.
Разберем почему:
По средней, система часто использует «пустую партию». Однако при возникновении минусов и пересортицы расчет может «зависнуть».Проанализируем версию 2.2: переход на версию партионного учета 2.2 (в настройках финансового результата) часто помогает решить проблемы с комиссией, так как там используется более мощный математический аппарат для решения систем линейных уравнений при расчете стоимости.
Для того чтобы не выполнять эти действия вручную каждый месяц, можно разработать простую обработку, которая будет анализировать регистр Себестоимость товаров и Товары организаций на наличие отрицательных остатков перед запуском закрытия месяца.
Пример логики для поиска «минусов» по комиссии:
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ТоварыПереданныеНаКомиссиюОстатки.Номенклатура,
| ТоварыПереданныеНаКомиссиюОстатки.КоличествоОстаток КАК Минус
|ИЗ
| РегистрНакопления.ТоварыПереданныеНаКомиссию.Остатки(&ДатаКонцаМесяца, ) КАК ТоварыПереданныеНаКомиссиюОстатки
|ГДЕ
| ТоварыПереданныеНаКомиссиюОстатки.КоличествоОстаток < 0";
На основании данных этого запроса можно программно создавать документы «подпорки», описанные в Шаге 2 и 3.
Рассмотрим, к чему может привести такой способ «выправления» базы:
Подводя итог, можно сказать, что предложенный вариант с использованием временных корректирующих документов имеет право на жизнь в условиях, когда «чистая база» невозможна. Главное — обеспечить преемственность остатков, чтобы ваши временные документы полностью компенсировали друг друга и не оставляли «хвостов» в актуальном периоде.