Как обновить цены в 1С 7.7 после изменения процента наценки в типе цен

Пользователь 1С v7.7 Управленческий учет Торговля и дистрибуция
← На главную

При работе в среде 1С:Предприятие 7.7 (особенно в конфигурации «Торговля и Склад» редакции 9.2) пользователи часто сталкиваются с ситуацией, когда изменение процента наценки в справочнике Типы цен не приводит к автоматическому изменению цен у товаров. Мы видим, что в шапке столбца наценка изменилась, но фактические значения в строках остаются прежними. Разберем детально, почему так происходит и как правильно обновить цены, чтобы новые значения вступили в силу.

Почему цены не меняются автоматически?

Для начала проанализируем внутреннюю логику системы. В 1С 7.7 цены номенклатуры являются периодическими реквизитами. Это означает, что программа хранит не одно значение, а целую историю изменений, привязанную к конкретным датам. Когда мы меняем процент в справочнике Типы цен, мы меняем лишь «шаблон» или «правило», по которому 1С может рассчитать цену в будущем.

Существует два основных вида цен в системе:

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

Рассмотрим пошаговый алгоритм действий для актуализации хранимых цен.

Шаг 1. Проверка настроек типа цен

Прежде чем приступать к массовому пересчету, убедимся, что настройки в справочнике выполнены верно. Перейдем в меню «Справочники» — «Цены и налоги» — «Типы цен». Выберем нужный нам тип (например, «Мелкий опт»). Проверим, что указан верный Процент наценки и правильно выбрана Базовая цена, от которой будет идти расчет. После внесения изменений нажмите «ОК».

Шаг 2. Работа с обработкой «Формирование цен»

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

  1. Откроем обработку через меню: «Справочники» — «Цены и налоги» — «Формирование цен».
  2. В открывшемся окне в первую очередь необходимо заполнить список товаров. Нажмем кнопку «Заполнить» (можно выбрать заполнение по всей номенклатуре или по конкретной группе товаров).
  3. Выберем интересующий нас Тип цен в соответствующей колонке.
  4. Важный момент: если вы только что изменили процент в справочнике, а обработка уже была открыта, данные в ней не обновятся. Переоткройте обработку или воспользуйтесь кнопкой «Изменить» над табличной частью, чтобы массово установить новый процент наценки для текущего сеанса работы.

Шаг 3. Запуск пересчета

Теперь рассмотрим, как инициировать сам процесс вычисления. В нижней части или в меню кнопки «Действия» (в зависимости от релиза конфигурации) выберем пункт «Рассчитать все цены по наценкам».

Проанализируем ситуацию: система возьмет значение базовой цены для каждого товара, прибавит к ней ваш новый процент (например, 50% вместо 45%) и выведет результат в колонку «Новая цена».

Обратите внимание: на данном этапе изменения еще не сохранены в базу данных! Вы видите только предварительный расчет в таблице.

Шаг 4. Фиксация новых значений

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

  1. Убедимся, что в поле «Дата» установлена верная дата (обычно текущая).
  2. Нажмем кнопку «Выполнить».
  3. Программа создаст записи в справочнике цен для каждой позиции номенклатуры.

Только после нажатия кнопки «Выполнить» старые значения (45%) будут перекрыты новыми значениями (50%) в истории цен.

Тонкости и нюансы, которые могут помешать

Рассмотрим причины, по которым расчет может не сработать даже после выполнения всех шагов:

Технический взгляд на проблему

Для программистов и администраторов полезно понимать, как этот процесс выглядит изнутри. В момент нажатия кнопки «Выполнить» обработка Формирование цен перебирает строки таблицы и для каждой строки вызывает метод записи периодического реквизита. Примерная логика выглядит так:


// Пример логики записи новой цены
СпрЦены = СоздатьОбъект("Справочник.Цены");
СпрЦены.ИспользоватьВладельца(Товар);
Если СпрЦены.НайтиПоНаименованию(ВыбранныйТипЦен, 0, 1) = 1 Тогда
    СпрЦены.Цена.Установить(РабочаяДата, НовоеЗначениеЦены);
    СпрЦены.Записать();
КонецЕсли;

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

Таким образом, мы выяснили: изменение процента наценки в справочнике Типы цен — это лишь подготовительный этап. Основная работа по актуализации данных выполняется в обработке Формирование цен. Только пройдя цикл «Заполнить — Рассчитать — Выполнить», вы добьетесь корректного обновления цен в системе 1С 7.7.

← На главную