Почему в обработке «Цены (прайс-лист)» отображаются не все виды цен после переноса данных?

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

При переносе данных из конфигурации «1С:Бухгалтерия предприятия 3.0» в решения с более развитым контуром ценообразования — такие как «1С:Управление торговлей 11» или «1С:Комплексная автоматизация 2» — нередко возникает специфическая ситуация. В справочнике ВидыЦен присутствуют все перенесенные позиции, в стандартном отчете «Прайс-лист» цены по всем видам выводятся корректно, однако в специализированном рабочем месте «CRM и маркетинг» → «Цены (прайс-лист)» отображается только одна колонка цены или лишь часть из перенесенных видов цен.

Проанализируем данную ситуацию, выясним технические причины такого поведения системы и подробно разберем шаги по устранению проблемы.

Причина 1. Состояние функциональной опции «Несколько видов цен»

Главная и наиболее частая причина кроется в системных настройках целевой конфигурации. В прикладных решениях «1С:Управление торговлей» и «1С:Комплексная автоматизация» логика работы с ценообразованием жестко завязана на функциональные опции.

Если в базе отключена функциональная опция ИспользоватьНесколькоВидовЦен, интерфейс системы переключается в упрощенный режим. Даже если в справочнике ВидыЦен физически содержится несколько записей (например, загруженных через внешнюю обработку или правила обмена), механизм рабочего места «Цены (прайс-лист)» принудительно ограничивает выборку только одним базовым видом цены.

Разберем по шагам, как проверить и исправить эту настройку:

  1. Перейдем в раздел «НСИ и администрирование» → «Настройка НСИ и разделов».
  2. Откроем подраздел «CRM и маркетинг» (в некоторых версиях — «Маркетинг»).
  3. Найдем группу настроек «Ценообразование».
  4. Установим флаг напротив пункта «Несколько видов цен».
  5. Перезапустим сеанс программы и повторно откроем обработку «Цены (прайс-лист)».

Причина 2. Настройки видимости колонок в обработке «Цены (прайс-лист)»

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

Рассмотрим, как актуализировать список отображаемых видов цен:

  1. В окне рабочего места «Цены (прайс-лист)» нажмем кнопку «Настроить» или «Настройки».
  2. Перейдем на закладку «Колонки прайс-листа» (или «Виды цен»).
  3. Проверим наличие перенесенных видов цен в дереве доступных элементов и отметим их флагами.
  4. Если список колонок отображается некорректно, нажмем кнопку «Еще» в шапке формы и выберем пункт «Установить стандартные настройки», чтобы сбросить сохраненные кэшированные параметры интерфейса.
  5. Нажмем «Применить» для обновления таблицы прайс-листа.

Причина 3. Некорректные реквизиты перенесенных видов цен

При обмене между БП 3.0 и УТ 11 / КА 2 структура справочника ВидыЦен существенно отличается. В УТ 11 справочник содержит скрытые и служебные реквизиты, которые влияют на выборку данных запросами рабочего места. Если правила конвертации перенесли только наименование и валюту, объект может не проходить внутренние программные фильтры.

Проанализируем ключевые реквизиты, критичные для отображения:

  1. Статус: реквизит Статус должен иметь значение Действует. Элементы со статусом Не действует исключаются из обработки прайс-листа по умолчанию.
  2. Способ задания цены: для статических цен реквизит СпособЗаданияЦены должен быть заполнен значением Вручную (перечисление СпособыЗаданияЦен.Вручную).
  3. Использовать при продаже: если цены планируется выбирать в документах реализации, флаг ИспользоватьПриПродаже должен быть включен.

Когда обмен выполняется в режиме прямой загрузки без вызова логики объекта, встроенные события справочника не отрабатывают. В результате служебные реквизиты, такие как ХранилищеСхемыКомпоновкиДанных и ХранилищеНастроекКомпоновкиДанных, остаются пустыми или инициализируются некорректно.

Для исправления ситуации выполним программную перезапись всех элементов справочника с вызовом обработчиков конфигурации:


Выборка = Справочники.ВидыЦен.Выбрать();
Пока Выборка.Следующий() Цикл
    ВидЦеныОбъект = Выборка.ПолучитьОбъект();
    
    // Проверяем и при необходимости корректируем статус
    Если ВидЦеныОбъект.Статус <> Перечисления.СтатусыДействияВидовЦен.Действует Тогда
        ВидЦеныОбъект.Статус = Перечисления.СтатусыДействияВидовЦен.Действует;
    КонецЕсли;
    
    Попытка
        ВидЦеныОбъект.Записать();
    Исключение
        Сообщить("Ошибка при записи вида цены: " + ВидЦеныОбъект.Наименование + " - " + ОписаниеОшибки());
    КонецПопытки;
КонецЦикла;

Альтернативный вариант работы через документ «Установка цен номенклатуры»

Если интерфейс обработки «Цены (прайс-лист)» по-прежнему блокирует вывод колонок, а цены необходимо оперативно ввести или изменить, обратимся к прямому вводу документов:

  1. Перейдем в раздел «CRM и маркетинг» → «История изменения цен» (или через журнал документов «Установка цен номенклатуры»).
  2. Создадим новый документ «Установка цен номенклатуры».
  3. Нажмем кнопку «Перейти к установке цен». В открывшемся окне выбора видов цен перенесенные позиции будут доступны для выбора напрямую из справочника, в обход кэша рабочего места прайс-листа.

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

← На главную