При переносе данных из конфигурации «1С:Бухгалтерия предприятия 3.0» в решения с более развитым контуром ценообразования — такие как «1С:Управление торговлей 11» или «1С:Комплексная автоматизация 2» — нередко возникает специфическая ситуация. В справочнике ВидыЦен присутствуют все перенесенные позиции, в стандартном отчете «Прайс-лист» цены по всем видам выводятся корректно, однако в специализированном рабочем месте «CRM и маркетинг» → «Цены (прайс-лист)» отображается только одна колонка цены или лишь часть из перенесенных видов цен.
Проанализируем данную ситуацию, выясним технические причины такого поведения системы и подробно разберем шаги по устранению проблемы.
Главная и наиболее частая причина кроется в системных настройках целевой конфигурации. В прикладных решениях «1С:Управление торговлей» и «1С:Комплексная автоматизация» логика работы с ценообразованием жестко завязана на функциональные опции.
Если в базе отключена функциональная опция ИспользоватьНесколькоВидовЦен, интерфейс системы переключается в упрощенный режим. Даже если в справочнике ВидыЦен физически содержится несколько записей (например, загруженных через внешнюю обработку или правила обмена), механизм рабочего места «Цены (прайс-лист)» принудительно ограничивает выборку только одним базовым видом цены.
Разберем по шагам, как проверить и исправить эту настройку:
Обработка прайс-листа сохраняет индивидуальные настройки отображения для каждого пользователя в хранилище системных настроек. При первичной загрузке новых видов цен из внешней базы программа автоматически не добавляет их в активные колонки текущего пользователя.
Рассмотрим, как актуализировать список отображаемых видов цен:
При обмене между БП 3.0 и УТ 11 / КА 2 структура справочника ВидыЦен существенно отличается. В УТ 11 справочник содержит скрытые и служебные реквизиты, которые влияют на выборку данных запросами рабочего места. Если правила конвертации перенесли только наименование и валюту, объект может не проходить внутренние программные фильтры.
Проанализируем ключевые реквизиты, критичные для отображения:
Статус должен иметь значение Действует. Элементы со статусом Не действует исключаются из обработки прайс-листа по умолчанию.СпособЗаданияЦены должен быть заполнен значением Вручную (перечисление СпособыЗаданияЦен.Вручную).ИспользоватьПриПродаже должен быть включен.Когда обмен выполняется в режиме прямой загрузки без вызова логики объекта, встроенные события справочника не отрабатывают. В результате служебные реквизиты, такие как ХранилищеСхемыКомпоновкиДанных и ХранилищеНастроекКомпоновкиДанных, остаются пустыми или инициализируются некорректно.
Для исправления ситуации выполним программную перезапись всех элементов справочника с вызовом обработчиков конфигурации:
Выборка = Справочники.ВидыЦен.Выбрать();
Пока Выборка.Следующий() Цикл
ВидЦеныОбъект = Выборка.ПолучитьОбъект();
// Проверяем и при необходимости корректируем статус
Если ВидЦеныОбъект.Статус <> Перечисления.СтатусыДействияВидовЦен.Действует Тогда
ВидЦеныОбъект.Статус = Перечисления.СтатусыДействияВидовЦен.Действует;
КонецЕсли;
Попытка
ВидЦеныОбъект.Записать();
Исключение
Сообщить("Ошибка при записи вида цены: " + ВидЦеныОбъект.Наименование + " - " + ОписаниеОшибки());
КонецПопытки;
КонецЦикла;
Если интерфейс обработки «Цены (прайс-лист)» по-прежнему блокирует вывод колонок, а цены необходимо оперативно ввести или изменить, обратимся к прямому вводу документов:
Такой подход позволяет убедиться в физической работоспособности видов цен в регистрах системы и локализовать проблему исключительно в настройках отображения прайс-листа.