Альтернатива накопительной системы скидок в конфигурации "Управление торговлей, редакция 11.1"

25.09.14

Разработка - Механизмы типовых конфигураций

В обход подводных камней стандартной накопительной системы скидок в конфигурации "Управление торговлей, редакция 11.1" используем альтернативное решение подобной задачи.

Файлы

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование Скачано Купить файл
(только для физ. лиц)
Схема компоновки данных для получения сегмента партнеров исходя из истории продаж сегмента номенклатуры
.xml 13,85Kb ver:1.0
0 1 850 руб. Купить

Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний

Оформите подписку на компанию для решения рабочих задач

Оформить подписку и скачать решение со скидкой

Эта статья не претендует на внесение в "конституцию", возможно многие и сами дошли до этого, но я счёл полезным поделится своими знаниями.

Всё началось с того, что мне поручили внедрить накопительную систему скидок в нашей организации. Не долго думая создал маркетинговое мероприятие со скидкой в 10%, в которой выбрал только одно условие скидки, а именно: "сумма проданного товара за весь период более 10000 рублей". Сохранил. Создал заказ клиента, накидал товаров и с довольной "миной" нажал на "Расчетать скидки (наценки)". Шикарно, скидка назначилась. Я, довольный собой и типовыми возможностями УТ11, кинулся дополнять созданное ранее маркетинговое мероприятие новыми скидками и условиями. В клочке бумажки, который мне снизашёл сверку был вкраце обрисованы всевозможные скидки и условия акции.

Примерная таблица:

    за 24 месяца за 20 месяцев за 16 месяцев за 12 месяцев
Сегмент номенклатуры После первой покупки от 10000 руб. от 20000 руб. от 30000 руб. от 40000 руб.
Сегмент1  1,5  2  2,5  3
Сегмент2  1,5  2  2,5  3  3,5
Сегмент3  2 2,5   3  3,5  4
Сегмент4  2,5  3  3,5  4  4,5
Сегмент5  3  3,5  4  4,5  5
Сегмент6   3,5  4  4,5  5  5,5

 

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

Не вопрос, подумал я, УТ11 это умеет и родилось это:

Настройка условия

В итоге вышло следующее:

Скидка в 1,5% на товар сегмента Сегмент1

Сохранив и опробовав на заказе клиента я как заводной начал шлёпать подобные скидки для остальных условий таблицы.

Через минут 30 всё было готово. Зову "надзорный орган" и демонстрирую своё произведение искусства, демонстративно создаю заказ клиента напихиваю туда товар из разных сегментов и жму "Рассчитать скидки (наценки)" и ...

Ждём...

Ждём...

Кофе попьём?

Не, подождём.

(Спустя 40 секунд, замечу сразу, база не файловая)

Всё расчиталось как и положено, но что-то мне не нравится взгляд "надзорного органа". Осознав причиву взгляда и пообещав разобраться, начинаю копать конфигуратор и смотреть как в УТ11 считаются скидки. МОЩНО!. Одним запросом. Принимаю решение оптимизировать расчёт и распилить запрос на несколько и смотря на результат одного запроса принимать решение о необходимости выполнять следующий запрос или "перепрыгнуть" на другой. Ушёл домой.

Заснуть не мог долго, мысли витали в голове. Одну из них я смог поймать. Идея заключалась в том, чтобы не проверять каждый раз накопленную сумму, а вычислять её раз в день и запоминать, а именно заполнять сегмент партнеров для каждой категории скидки. Поняв, что это верная мысль, я смог уснуть.

На работу я ехал с необыновенным удовольствием, желая побыстрее разобраться с этой проблемой.

В итоге я написал свой запрос для схемы СКД сегмента партнёров, который учитывал покупки партнёра определённого сегмента номенклатуры и период.


ВЫБРАТЬ
	АналитикаУчетаНоменклатуры.КлючАналитики
ПОМЕСТИТЬ ВТ_Ключи
ИЗ
	РегистрСведений.АналитикаУчетаНоменклатуры КАК АналитикаУчетаНоменклатуры
		ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.НоменклатураСегмента КАК НоменклатураСегмента
		ПО АналитикаУчетаНоменклатуры.Номенклатура = НоменклатураСегмента.Номенклатура
			И АналитикаУчетаНоменклатуры.Характеристика = НоменклатураСегмента.Характеристика
ГДЕ
	НоменклатураСегмента.Сегмент = &Сегмент
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ РАЗЛИЧНЫЕ
	ВыручкаИСебестоимостьПродажОбороты.АналитикаУчетаПоПартнерам.Партнер КАК Ссылка
ПОМЕСТИТЬ ВТ_Партнеры
ИЗ
	РегистрНакопления.ВыручкаИСебестоимостьПродаж.Обороты(
			&НачалоПериода,
			&ОкончаниеПериода,
			Авто,
			АналитикаУчетаНоменклатуры В
				(ВЫБРАТЬ
					АналитикаУчетаНоменклатуры.КлючАналитики
				ИЗ
					ВТ_Ключи КАК АналитикаУчетаНоменклатуры)) КАК ВыручкаИСебестоимостьПродажОбороты
ГДЕ
	ВыручкаИСебестоимостьПродажОбороты.СуммаВыручкиОборот > &СуммаВыручкиОборот
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ РАЗРЕШЕННЫЕ
	Партнеры.Ссылка КАК Партнер
{ВЫБРАТЬ
	Партнер}
ИЗ
	ВТ_Партнеры КАК Партнеры
{ГДЕ
	Партнеры.Ссылка.* КАК Партнер}

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

Загрузка схемы компоновки 

После этого если нажать на "Редактировать схему компоновки" вы увидите изменённый запрос:

Новый запрос компоновки

а также новые параметры:

Новые параметры компоновки

В итоге введя следующие параметры в настройки компановки:

Заполнение параметров компоновки

мы получим сегмент партнеров с оборотом покупок за последние 24 месяца номенклатуры из сегмента "Сегмент1" на сумму более 10000 руб.

Теперь остаётся только поправить условия предоставления скидок в нашей накопительной системе.

Заменяем ранее созданное условие накопление на следующее:

Новое условие накопления

Финальная версия скидки с условиями выглядит так:

Финальные условия скидки

Вступайте в нашу телеграмм-группу Инфостарт

накопительная система скидок УТ11 скидки в УТ11 Управление торговлей 11 скидки в Управление торговлей 11

См. также

Механизмы типовых конфигураций Программист 1С v8.3 Бесплатно (free)

Каждый, кто работал с кадровыми отчетами в ЗУП, ERP или УХ, сталкивался с механизмом представлений – странным кодом запроса, где поля отображаются пустыми ссылками, а в названии временной таблицы есть слово «Представление». В статье разберем, что такое представления и как ими пользоваться. Больше не нужно ломать голову над тем, откуда и как правильно получать данные. Механизм представлений сделает это за вас.

08.07.2025    2850    user2012581    44    

46

Механизмы типовых конфигураций Программист Стажер 1С v8.3 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Бесплатно (free)

В типовых решениях типа УТ, КА, ERP при вводе строк в поля ввода осуществляется поиск по первым символам. С помощью небольшой доработки (делается через расширение) можно организовать поиск по вхождению.

02.06.2025    612    lkey    0    

5

Работа с интерфейсом БСП (Библиотека стандартных подсистем) Механизмы типовых конфигураций Программист 1С v8.3 1C:ERP Бесплатно (free)

В этой статье я расскажу, как в конфигурации 1С:ERP 2.5 при начале работы системы настроить открытие своих нетиповых форм (в том числе и из внешних обработок). Данную методику можно использовать как на тонком клиенте, так и на мобильном или веб-клиенте, а также в мобильном приложении.

12.05.2025    2467    PROSTO-1C    1    

16

Механизмы типовых конфигураций Программист 1С v8.3 1С:ERP Управление предприятием 2 Бесплатно (free)

В этой статье расскажу, как можно добавлять свои отборы в типовую обработку формирования заказов по потребностям с минимальными доработками.

27.02.2025    1064    PROSTO-1C    1    

6
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. eeeio 127 25.09.14 16:58 Сейчас в теме
2. Pavean 27.09.14 14:21 Сейчас в теме
Было 40 секунд а стало сколько?
3. frutty 123 27.09.14 18:03 Сейчас в теме
(2) Pavean, а стало в 40 раз быстрее :)
4. Vitstav 3 30.04.15 08:34 Сейчас в теме
А не проще ли было присваивать клиенту определенный сегмент.... без изменения кода? По заданию? Есть же сегменты которые формируются периодически. Поставить расписание на ночь... и прописать те же самые условия... на утро перешерстив продажи ваш клиент получит нужный вам сегмент и писать ничего ненужно будет...
5. frutty 123 30.04.15 12:16 Сейчас в теме
(4) Vitstav, без обид, вы статью читали? в ней именно этот способ и описан.
Оставьте свое сообщение