Как включить выбор и создание нескольких видов цен в 1С:Управление торговлей 11?

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

При разработке отчетов, обработок или написании запросов к регистру сведений ЦеныНоменклатуры в конфигурации «1С:Управление торговлей» версии 11 (УТ 11) разработчики часто сталкиваются с неожиданным поведением интерфейса платформы. При попытке задать фильтр по конкретному виду цены или выбрать его в качестве параметра запроса система открывает форму единственного элемента вместо привычного списка справочника ВидыЦен. В этой форме отсутствует кнопка создания новых элементов, а сам выбор ограничен предопределенной позицией «Прайс-лист».

В этой статье мы подробно разберем, почему возникает данная проблема, как устроена логика работы платформы «1С:Предприятие 8.3» в этой ситуации и как за несколько простых шагов разблокировать полноценную работу со справочником видов цен.

Выясним причину: почему открывается только «Прайс-лист» и нет списка видов цен?

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

По умолчанию в справочнике ВидыЦен (в метаданных он также может фигурировать как «Колонки прайс-листа») создан только один элемент — «Прайс-лист». Логика платформы «1С:Предприятие» оптимизирует интерфейс пользователя следующим образом:

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

Именно поэтому при попытке заполнить параметр &ВидЦены в тестовой консоли запросов или в режиме «1С:Предприятие» вы неизбежно попадаете в карточку «Прайс-листа» без возможности добавить оптовые, розничные или дистрибьюторские цены.

Решение проблемы: активируем функциональную опцию «Несколько видов цен»

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

  1. Перейдем в раздел меню НСИ и администрирование.
  2. В панели навигации в блоке «Настройка НСИ и разделов» найдем и выберем пункт CRM и маркетинг.
  3. В открывшемся окне настроек раскроем подраздел Маркетинг (в зависимости от релиза конфигурации УТ 11 этот подраздел также может называться Ценообразование).
  4. Найдем флажок Несколько видов цен и установим напротив него галочку. При необходимости система может предложить выполнить фоновое задание по обновлению прав и интерфейса — соглашаемся и дожидаемся окончания процесса.
  5. Полезный совет: в этом же разделе настроек рекомендуется включить опцию Ценовые группы. Это позволит вам гибко настраивать правила расчета цен и наценки для разных категорий товаров в будущем.

После установки этой опции константа ИспользоватьНесколькоВидовЦен принимает значение Истина, что кардинально меняет поведение интерфейса программы.

Что изменится в системе после включения опции?

Перейдем в раздел CRM и маркетинг, откроем меню Настройки и справочники и выберем пункт Виды цен. Теперь вместо карточки «Прайс-листа» мы увидим полноценную, удобную форму списка справочника. В командной панели появится активная кнопка Создать, с помощью которой мы сможем добавить любые необходимые виды цен:

Важные нюансы настройки новых видов цен

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

1. Область действия (Назначение использования): В карточке вида цены обязательно обратите внимание на галочки использования. Если вам нужно, чтобы цена подставлялась в документы продаж клиентам, установите флажок При продаже клиентам. Если эта цена используется для фиксации стоимости поставок от поставщиков — выберите При закупке у поставщиков.

2. Способы расчета цен: 1С:УТ 11 позволяет автоматизировать расчет цен. Вы можете выбрать один из следующих вариантов:

3. Разрешение редактирования реквизитов: Если вы решите изменить настройки уже созданного или предопределенного вида цены (например, изменить валюту цены или правила округления для «Прайс-листа»), система заблокирует эти поля для изменения во избежание нарушения целостности данных. Чтобы отредактировать их, нажмите кнопку Еще в правом верхнем углу карточки вида цены и выберите команду Разрешить редактирование реквизитов. Подтвердите действие в появившемся диалоговом окне.

Пример работы с запросом по срезу последних цен номенклатуры

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


ВЫБРАТЬ
    ЦеныНоменклатурыСрезПоследних.Номенклатура КАК Номенклатура,
    ЦеныНоменклатурыСрезПоследних.ВидЦены КАК ВидЦены,
    ЦеныНоменклатурыСрезПоследних.Цена КАК Цена,
    ЦеныНоменклатурыСрезПоследних.Валюта КАК Валюта
ИЗ
    РегистрСведений.ЦеныНоменклатуры.СрезПоследних(
            &ДатаВыборки,
            Номенклатура = &Номенклатура
                И ВидЦены = &ВидЦены) КАК ЦеныНоменклатурыСрезПоследних

Проанализируем этот запрос. Обратите внимание, что фильтрация по параметрам &Номенклатура и &ВидЦены наложена непосредственно в параметрах виртуальной таблицы СрезПоследних, а не во внешнем условии ГДЕ. Это является стандартом разработки на платформе 1С:Предприятие 8.3, так как позволяет СУБД выбрать данные максимально быстро, минуя чтение лишних записей из базы данных.

Теперь при передаче в параметр &ВидЦены ссылки на созданный элемент справочника СправочникСсылка.ВидыЦен (например, «Оптовая» или «Розничная»), запрос вернет точные и актуальные данные на указанную в параметре &ДатаВыборки дату.

← На главную