Почему не формируются движения в документе Установка цен номенклатуры в 1С:КА 2.5

Программист 1С v8.3 (Управляемые формы) Управленческий учет IT и автоматизация бизнеса
← На главную

При переходе на новые версии 1С:Комплексная автоматизация 2.5 или 1С:ERP 2.5 многие специалисты сталкиваются с ситуацией, когда документ Установка цен номенклатуры проводится без ошибок, но при этом не формирует никаких записей в регистре сведений. В этой статье мы подробно разберем, почему регистры ЦеныНоменклатуры и ЦеныНоменклатуры2_5 могут оставаться пустыми, и как это исправить, особенно если номенклатура создается программно.

Анализ новой архитектуры ценообразования 2.5

Прежде всего, важно понимать, что в версии 2.5 механизм хранения цен был радикально изменен. Основным местом хранения актуальных цен стал регистр ЦеныНоменклатуры2_5. Если вы привыкли проверять старый регистр ЦеныНоменклатуры, имейте в виду, что в новых релизах он может не заполняться вовсе, так как система полностью переходит на новую структуру таблиц. Рассмотрим пошагово, какие факторы влияют на появление движений в этом регистре. При обновлении конфигурации можно использовать обработку для переноса исторических данных цен в новый регистр.

Проверка статусов и регламентных заданий

Для начала проанализируем базовые настройки документа. В 1С:КА 2.5 документ Установка цен номенклатуры имеет статусную модель. Убедимся в следующем:

  1. Документ должен находиться в статусе Согласован. В статусе Не согласован движения по регистру цен не формируются.
  2. Проверим наличие фоновых заданий. В системе часто используется механизм отложенного обновления цен. Если записи в регистрах не появились мгновенно, необходимо проверить очередь заданий и убедиться, что регламентное задание Отложенное обновление цен успешно выполнено. Ошибки в работе этого задания можно отследить через Журнал регистрации.

Влияние характеристик номенклатуры на запись цен

Одной из наиболее неочевидных причин отсутствия движений является некорректная настройка использования характеристик в карточке номенклатуры. Рассмотрим ситуацию, когда база является типовой, права пользователя полные, но движений все равно нет.

Выясним причину: механизм ценообразования 2.5 при проведении документа анализирует «разрез» хранения цены. Если в системе не определено четко, используются характеристики или нет, процедура формирования записей может быть пропущена без вывода сообщений об ошибках. Это особенно актуально при программной загрузке данных (например, из Excel или через API). Если данные от поставщиков поступают регулярно, можно организовать автоматический сбор прайс-листов с почты или FTP.

Если вы создаете номенклатуру программно, обязательно проверьте заполнение реквизита ИспользованиеХарактеристик. Даже если вы планируете не использовать характеристики, это значение должно быть установлено явно. Разберем пример правильной инициализации объекта номенклатуры в коде:


НоменклатураОбъект = Справочники.Номенклатура.СоздатьЭлемент();
// Заполнение основных реквизитов
НоменклатураОбъект.Наименование = "Ваш Товар";
НоменклатураОбъект.ВидНоменклатуры = Справочники.ВидыНоменклатуры.НайтиПоНаименованию("Товары");

// Обязательная установка признака использования характеристик
НоменклатураОбъект.ИспользованиеХарактеристик = Перечисления.ВариантыИспользованияХарактеристикНоменклатуры.НеИспользовать;

НоменклатураОбъект.Записать();

Без этой строки система может считать состояние объекта неопределенным, что приведет к игнорированию этой позиции при расчете цен в документе УстановкаЦенНоменклатуры.

Проверка валютных настроек и курсов

Следующий важный момент — это настройка Вида цены и валюты. Рассмотрим ситуацию, когда используется условная единица (УЕ) или валюта, отличная от регламентированной.

Проанализируем следующие условия:

Технические нюансы программного создания данных

Если вы являетесь разработчиком и занимаетесь автоматизацией загрузки цен, обратите внимание на вызов служебных процедур. В конфигурациях на базе ERP 2.5 и КА 2.5 многие проверки при проведении документов опираются на технические реквизиты, которые не всегда заполняются при прямой записи объекта.

Рекомендуется при программном создании номенклатуры вызывать метод ЗаполнитьСлужебныеРеквизиты() из модуля менеджера или соответствующей библиотеки. Также проверьте, заполнены ли такие поля, как ВариантОформленияПродажи и ТипНоменклатуры. Если тип номенклатуры не определен как Товар, Услуга или Работа, подсистема ценообразования может проигнорировать такие позиции в документе установки цен.

Пороги срабатывания и пересчет цен

Еще один фактор, который стоит проверить — это Пороги срабатывания в настройках вида цены. Если в настройках указано, например, что цена должна меняться только при отклонении более чем на 5% от старой цены, а новая вводимая вами цена отличается лишь на 2%, система может принять решение не создавать новую запись в регистре сведений, так как порог не пройден. Чтобы регулярно получать актуальные данные для преодоления порогов и пересмотра стоимости, можно настроить автоматический сбор цен конкурентов в интернете.

Также помните о Расчетных ценах. Если вы вводите документ для базовой цены (от которой рассчитываются другие), движения появятся только по этой базовой цене. Зависимые цены обновятся либо автоматически (если настроено), либо после запуска регламентного задания по расчету цен. В самом документе Установка цен номенклатуры по умолчанию отображаются и записываются только те виды цен, которые выбраны в настройках колонок документа.

Заключение

Подведем итог. Если в 1С:КА 2.5 документ Установка цен номенклатуры не делает движений, проверьте цепочку условий: статус документа — наличие курса валюты — корректность заполнения реквизитов номенклатуры (особенно характеристик). В большинстве случаев проблема кроется именно в «неявных» настройках карточки товара, которые критически важны для работы механизмов версии 2.5.

← На главную