Работа с ценообразованием в крупных конфигурациях, таких как 1С:Комплексная автоматизация 2 (КА 2) или 1С:ERP, требует от специалиста понимания не только логики подбора цен, но и архитектурных особенностей системы. Часто возникают ситуации, когда новые цены «не подтягиваются» в документы продажи или когда манипуляции с документами прошлых периодов вызывают гнев бухгалтерии. Разберем подробно, как устроены эти процессы, и выясним причины типичных ошибок.
Проанализируем ситуацию с точки зрения системы. Формально документ УстановкаЦенНоменклатуры является «техническим» — он не делает движений по регистрам накопления, не формирует проводок и не влияет на расчет себестоимости напрямую. Однако на практике изменение любого документа в закрытом периоде может привести к негативным последствиям. Рассмотрим причины:
ЗаданияКЗакрытиюМесяца. Это сигнализирует бухгалтеру, что данные в прошлом периоде изменились, и система потребует как минимум «актуализировать движения документов» за весь последующий период.Важный совет: Если вам нужно «перекрыть» старую цену, никогда не удаляйте документы в закрытом периоде. Просто создайте новый документ УстановкаЦенНоменклатуры текущей датой. Система 1С работает по принципу «Среза последних»: актуальной считается та цена, которая была установлена последним по времени документом на момент создания заказа.
Одной из самых частых причин того, что цены отображаются некорректно, является переход системы на новую версию подсистемы ценообразования. В настройках 1С:КА 2 (НСИ и администрирование — Настройка НСИ и разделов — CRM и маркетинг) можно переключить версию с 2.0 на 2.5. Рассмотрим, что при этом меняется:
ЦеныНоменклатуры. Логика работы более простая, данные хранятся в разрезе видов цен и номенклатуры.ЦеныНоменклатуры25. В этой версии значительно расширены возможности работы с характеристиками и сериями.Если ваша база была обновлена или настройки переключены в процессе эксплуатации, может возникнуть конфликт: старые документы записаны в регистры версии 2.0, а новые заказы ищут данные в регистрах версии 2.5. Проанализируем это: если вы создали документ по старой схеме, он просто «не существует» для новой подсистемы. Именно это часто становится причиной того, что в ЗаказКлиента подставляется цена из очень старого, но «правильно сконвертированного» документа, игнорируя ваши свежие записи. Для переноса старых сведений в новый регистр пригодится обработка переноса истории данных цен при переходе на ценообразование 2.5.
Если вы уверены, что версия ценообразования настроена верно, но цена все равно берется из документа двухлетней давности, проверим следующие моменты:
ЗаказКлиента создан в 09:00, а УстановкаЦенНоменклатуры — в 12:00 того же дня, то при автоматическом заполнении цен система возьмет цену, действующую на 09:00. Всегда старайтесь устанавливать цены либо будущей датой (начало дня), либо концом предыдущего дня.ИндивидуальноеСоглашение или ТиповоеСоглашение с клиентом. Возможно, там жестко закреплен старый вид цены (например, «Цена поставщика электроники»), а вы загружаете данные в новый вид («Оптовая цена спорта»).Часто возникает задача очистить базу от загруженных по ошибке тысяч позиций номенклатуры. Удалить их просто так не получится, если на них ссылаются документы УстановкаЦенНоменклатуры. Рассмотрим правильный алгоритм действий:
Использовать непосредственное удаление в рабочей базе категорически не рекомендуется. Вместо этого применим программный подход с использованием режима загрузки данных. Это позволит пометить документы на удаление, минуя некоторые проверки:
// Пример программной пометки на удаление документов УЦ без проверки периода
Процедура ПометитьНаУдалениеЦеныБезПроверок(МассивСсылокУЦ)
Для Каждого Ссылка Из МассивСсылокУЦ Цикл
ОбъектУЦ = Ссылка.ПолучитьОбъект();
// Устанавливаем режим загрузки, чтобы обойти проверки даты запрета
ОбъектУЦ.ОбменДанными.Загрузка = Истина;
ОбъектУЦ.УстановитьПометкуУдаления(Истина);
ОбъектУЦ.Записать();
КонецЦикла;
КонецПроцедуры
Однако, даже если вы пометили документы на удаление, ссылки в базе остаются. Проанализируем способы окончательного решения проблемы:
УстановкаЦенНоменклатуры, удалив оттуда только те строки, которые содержат «мусорную» номенклатуру.Для того чтобы избежать конфликтов с бухгалтерией и обеспечить корректную работу цен, придерживайтесь следующих правил:
ЦеныНоменклатуры или ЦеныНоменклатуры25) и делайте отбор по конкретной позиции. Там наглядно видно, какая запись является последней.ВидыЦен и переведите на них работу компании. Это гораздо безопаснее, чем пытаться «вычистить» историю в старых документах.Таким образом, мы выяснили, что основная проблема автора темы заключалась в несоответствии версий подсистемы ценообразования и попытке исправить ситуацию через удаление данных в закрытом периоде. Соблюдение методологии 1С и использование штатных механизмов перекрытия цен новыми документами — залог стабильной работы системы и спокойствия бухгалтерии.