При разработке и внедрении в конфигурацию «1С:Управление торговлей 11.5» полностью самописных модулей складского учета часто возникает необходимость синхронизации данных с типовыми отчетами. Основной вопрос, который встает перед разработчиком: стоит ли делать движения напрямую в типовой регистр накопления (РН) Товары на складах или же лучше создать собственный регистр? В этой статье мы проанализируем риски прямой записи в типовые регистры, выясним, как это влияет на закрытие месяца, и рассмотрим оптимальные варианты реализации задачи.
Разберем фундаментальную особенность архитектуры УТ 11. В этой конфигурации складской учет (количественный) и финансовый учет (стоимостный и учет в разрезе организаций) жестко связаны. Типовой регистр Товары на складах отвечает за физическое наличие товара на конкретном месте хранения. Однако за ним всегда «стоит» регистр Товары организаций.
Рассмотрим основные риски нарушения этой связи:
Товары на складах, то отчет «Ведомость по товарам на складах» покажет верные данные, а «Ведомость по товарам организаций» — нет. Это приведет к тому, что бухгалтерия не сможет сопоставить остатки по складу с остатками по балансу.Товары на складах будут изменены вручную (программно), а связанные финансовые регистры останутся прежними, процедура закрытия может выдать ошибку или сформировать некорректные корректировки стоимости.Товары организаций. Если ваш «виртуальный склад» делает движения только по складскому регистру, система «не увидит» товар как доступный для продажи от лица другой организации.Выясним причину, почему коллеги в обсуждении так акцентируют внимание на финансовом результате. В УТ 11.5 расчет себестоимости и финансового результата (отчет по ВВП — валовой прибыли) напрямую зависит от корректности цепочки документов. Если вы планируете видеть серии товаров и их финансовые показатели, простая запись в Товары на складах не поможет.
Для корректного расчета себестоимости в разрезе серий должна быть включена соответствующая Политика учета серий (например, «Учет себестоимости по сериям»). В этом случае серии должны фиксироваться не только в складском регистре, но и в регистре Себестоимость товаров. Без этого отчеты по движениям серий и финансовым результатам будут пустыми или неверными.
Посмотрим на ситуацию со стороны отдела продаж. Если товары на вашем «виртуальном складе» должны резервироваться под заказы клиентов, необходимо учитывать регистр Запасы и потребности. Система обеспечения потребностей в УТ 11.5 работает в связке с этим регистром. Если данные попадут только в Товары на складах, менеджер увидит товар в остатках, но не сможет его зарезервировать или отгрузить стандартным заказом, так как свободного остатка с точки зрения системы обеспечения не будет.
Проанализируем три основных способа реализации обмена данными между вашим модулем и типовой системой.
Это более безопасный метод, чем прямая запись набором записей в регистр. Использование документа-регистратора позволяет сохранить ссылочную целостность данных. Мы можем программно создавать документ Корректировка регистров, который будет делать движения по Товары на складах.
Пример программного создания корректировки:
// Создаем новый документ корректировки
НовыйДокумент = Документы.КорректировкаРегистров.СоздатьДокумент();
НовыйДокумент.Дата = ТекущаяДата();
НовыйДокумент.Организация = Справочники.Организации.НайтиПоНаименованию("Наша организация");
НовыйДокумент.Комментарий = "Синхронизация из самописного модуля склада";
НовыйДокумент.Записать();
// Формируем движения по регистру ТоварыНаСкладах
Движение = НовыйДокумент.Движения.ТоварыНаСкладах.Добавить();
Движение.ВидДвижения = ВидДвиженияНакопления.Приход;
Движение.Период = НовыйДокумент.Дата;
Движение.Склад = СкладСсылка;
Движение.Номенклатура = НоменклатураСсылка;
Движение.Количество = 100;
// Важно: если используется учет серий, необходимо заполнить АналитикуСерий
// Движение.Серия = СерияСсылка;
НовыйДокумент.Движения.ТоварыНаСкладах.Записать();
Плюсы: Видно регистратор в отчетах, проще отлаживать.
Минусы: Все еще остаются риски расхождения с финансовыми регистрами.
Рассмотрим совет из сообщения №7. Это самый надежный способ с точки зрения типовой логики. Вместо того чтобы имитировать движения регистров, мы можем заставить систему саму сформировать их, создав «невидимые» или программные экземпляры типовых документов: Оприходование излишков товаров, Списание недостач товаров или Пересчет товаров.
Преимущества этого подхода:
Если ваша задача — просто «поклацать отчетики» (как указано в сообщении №5) и данные вашего склада не должны влиять на официальный финансовый результат и баланс организации, то создание собственного РН — самый стабильный путь.
Алгоритм действий:
упрТоварыНаВиртуальныхСкладах.ОБЪЕДИНИТЬ ВСЕ добавляем данные из вашего регистра в запрос отчета.Плюсы: Полная независимость от типового функционала, отсутствие проблем при обновлениях и закрытии месяца.
Минусы: Необходимость кастомизировать каждый типовой отчет, где вы хотите видеть эти данные.
Проанализировав ситуацию, мы рекомендуем следующее:
1. Если данные из самописного модуля должны участвовать в продажах, формировать прибыль и стоять на балансе — используйте Способ №2 (создание типовых документов). Это гарантирует отсутствие ошибок в Детализации себестоимости товаров при закрытии месяца в версии 11.5.
2. Если данные носят информационный характер (учет на полках, специфические серии, которые не нужны бухгалтерии) — используйте Способ №3 (свой регистр + доработка отчетов через расширение). Это убережет вас от конфликтов с механизмом исправления отрицательных остатков, который в последних версиях УТ стал очень чувствительным к ручным корректировкам.
Помните, что в УТ 11.5 любая «ручная» запись в типовой регистр без понимания всей цепочки взаимосвязей (от склада до НДС) — это мина замедленного действия, которая сработает в момент формирования регламентированной отчетности или расчета финансового результата за год.