Прейскуранты
Прейскурант отвечает на вопрос «почём этот товар этому клиенту». Разные клиенты законно видят разные цены: у каждого в карточке (или в категории) свой прейскурант, и документы берут цены именно из него.
Где искать: Модули → Цены → Регистры → Прейскуранты
Регистр живёт в модуле Цены. Работает он в паре с регистром «Цены»: прейскурант — «обложка» с правилами, а конкретные числа лежат в «Ценах» — строка на каждую пару «прейскурант + товар».
Разбор на примере

Главный прейскурант демонстрационной базы — RRP «Розничные цены» (рядом с ним живёт оптовый ОПТ, до него дойдём ниже). В шапке:
- «Код» и «Комментарий» — имя, которым прейскурант вписывают в карточки клиентов.
- «НДС»: Исключает / Включает — важнейший переключатель. Он говорит, что означает число в цене: «Исключает» — цены чистые, налог добавится сверху; «Включает» — налог уже внутри. В RRP цены без НДС: дрель стоит 1 200,00, а в счёте клиент увидит 1 440,00 с налогом.
- «Валюта» — валюта всех цен прейскуранта. Пусто — базовая валюта фирмы. В английской демо-фирме тот же RRP ведёт цены в фунтах.
- «Заменяет» и «Период» — механизм акционного прейскуранта, о нём ниже.
- «Продавец» — менеджер, за которым закреплён прейскурант. Поле только хранится и печатается: на цены документов и на то, кто может брать прейскурант, оно не влияет.
Сами цены — в регистре «Цены»:

Как документ находит цену
Когда в строку заказа или счёта вписывают товар, система идёт по очереди:
- Действует ли сейчас акционный прейскурант? Если существует прейскурант, у которого в поле «Заменяет» указан наш и чья дата в «Периоде» покрывает дату документа, а товар в нём есть, — цена берётся из него. Товара в акции нет — дальше как без акции.
- Цена из «Цен» по паре «прейскурант документа + товар» — если дата документа в «Периоде» прейскуранта (пустой «Период» ограничений не ставит). Если прейскурант документа сам что-то заменяет, то и он действует как акция: только в своём «Периоде», а дальше поиск теми же шагами идёт к прейскуранту, который он заменяет.
- Товара в прейскуранте нет — берётся базовая цена из карточки товара.
На демонстрационных данных видно все три судьбы товара: дрель в прейскуранте дешевле карточки (1 200 против 1 600 базовой), стремянка — дороже (900 против 800), а каски в прейскуранте нет совсем — она пойдёт по карточке (179). Поэтому в заказе из трёх строк цены могут иметь три разных источника — и все три правильные.
Откуда берётся сам прейскурант в документе: из карточки клиента, а если там пусто — из его категории, а если и там — из условия оплаты. В демо обе категории клиентов ведут на RRP, поэтому он и подставляется везде. Ещё один путь — «Прейскурант по умолчанию» в карточке пользователя: новый документ этого человека берёт его, только когда клиент документа ни карточкой, ни категорией своего прейскуранта не даёт; а когда в документе выбирают клиента, в карточке или категории которого есть свой прейскурант (или прейскурант есть в его условии оплаты), документ берёт тот.
Акционный прейскурант
Чтобы на время распродажи не переписывать цены туда-сюда, заводят отдельный прейскурант: в поле «Заменяет» указывают основной, в «Периоде» — даты акции, а в «Ценах» — акционные числа. Пока период длится, документы сами берут акционные цены; закончился — сами возвращаются к основным. Основной прейскурант при этом не меняется вообще.
В акционный прейскурант достаточно внести только товары акции: остальные товары и во время акции берут цены из основного. Если на дату документа действуют две акции одного прейскуранта и товар есть в обеих, побеждает та, у которой «Период» длиннее, — длину система меряет классом по разнице между концом и началом: однодневная акция (начало = конец) — самый короткий класс, дальше — разница 1–6 дней, 7–30, 31–364, год и больше. Поэтому однодневная акция проигрывает недельной, даже если началась раньше. В одном классе (скажем, обе акции длятся от недели до месяца) побеждает та, что началась раньше. Акция, в которой товара нет, в выборе не участвует.
«Заменяет» без «Периода» система сохранить позволяет, но такой прейскурант не действует никогда: ни как акция, ни как прейскурант самого документа — документ с ним берёт цены прейскуранта, который он заменяет. «Время» на выбор цены не влияет: акцию судят только по датам «Периода».
Матрица внизу карточки
Строки «Код товара — Код ценовой группы — Формула» — это правила для массового расчёта цен. В RRP матрица пустая: его цены ведутся руками прямо в «Ценах». А вот оптовый прейскурант ОПТ демо-базы построен именно правилами: строка матрицы связывает ценовую группу или отдельный товар с формулой, а обслуживание «Посчитать цены товаров» превращает правила в строки в «Ценах». Разбор этого механизма — в статье «Формулы цен».
Порядок работы
1. Создать прейскурант
Код, комментарий, переключатель НДС (решите сразу — менять его на живом прейскуранте значит, что все числа начнут значить другое), валюта при необходимости.
2. Внести цены
В регистре «Цены»: строка на товар — прейскурант, товар, цена. Быстрый старт для похожего прейскуранта — «Дубликат» существующих цен.
3. Назначить
Впишите прейскурант в карточки клиентов или сразу в категорию — тогда все клиенты категории получат его автоматически.
Переменные печати
Значения, доступные в шаблонах печатных форм этого документа. Как записать переменную в шаблоне — см. Печатные формы.
Поля заголовка:
| Переменная | Что подставляется |
|---|---|
| PrList_Code | Код |
| PrList_Repl | Код 2 |
| PrList_Comment | Комментарий |
| PrList_StDate | Период |
| PrList_StTime | Время |
| CurCode_No | Валюта (код) |
| CurCode_Comment | Валюта (название) |
| PrList_VAT | НДС |
| PrList_EndDate | Дата конца |
| PrList_EndTime | Вр. оконч. |
| PrList_Sman | Продавец (логин) |
Поля строк:
| Переменная | Что подставляется |
|---|---|
| PrList_MNo | Номер позиции строки |
| PrList_MItCode | Код товара |
| PrList_MPrGrCode | Код ценовой группы |
| PrList_MForm | Формула |
Записи, на которые документ ссылается полями формы (склад, клиент, валюта…), дают в шаблон и остальные свои переменные — код и название уже названы в таблицах выше, остальное описано в статье справочника:
- Валюта — Валюты (
CurCode_*)
Частые ситуации
«Почему клиенту посчиталась не та цена?» Посмотрите в документе вкладку «Прейскурант» — чей прайс подставился. Дальше цепочка: карточка клиента → категория → условие оплаты. Потом — не действовала ли на дату документа акция, заменяющая этот прейскурант. И помните о третьем источнике: если товара в прейскуранте нет, цена пришла из карточки товара.
Товар новый, в прейскуранте его ещё нет. Документы не остановятся — возьмут базовую цену из карточки. Когда внесёте строку в «Цены», пойдут прейскурантные.
Цены «поехали» после смены переключателя НДС. Число 1 200 с «Исключает» и с «Включает» — две разные цены. Переключатель задают при создании и не трогают.
Акция кончилась, а цены всё ещё акционные. Проверьте «Период» акционного прейскуранта — пока конечная дата не прошла, он продолжает заменять основной. Акцию документ судит по своей дате, а не по сегодняшней: документ, датированный днём акции, и дальше получает акционные цены. А цены, уже вписанные в строки, документ держит и после конца акции — само изменение даты их не перечитывает.
Справочник полей
| Поле | Описание |
|---|---|
| Код, Комментарий | Имя прейскуранта; им он вписывается в карточки клиентов и категорий |
| НДС: Исключает / Включает | Что означает число цены: налог сверху или уже внутри |
| Валюта | Валюта всех цен; пусто — базовая валюта фирмы |
| Заменяет | Основной прейскурант, который этот заменяет на время «Периода» (акция) |
| Период | Когда акционный прейскурант действует (по дате документа) |
| Время | Только хранится и печатается; на выбор цены не влияет |
| Продавец | Менеджер, за которым закреплён прейскурант; только хранится и печатается |
| Матрица (Товар / Ценовая группа / Формула) | Правила массового расчёта цен — см. «Формулы цен»; при ручном ведении цен пустая |