0. fixin 3958 10.10.17 00:09 Сейчас в теме

Скидка на количество для Розницы 2.2

В Рознице 2.2 есть очень гибкая система скидок, но увы, такие востребованные скидки, как скидка на первый и второй товар в чеке не реализованы. К счастью, есть возможность реализовать алгоритм в виде внешней обработки, не меняя конфигурации. Эта обработка позволяет делать скидки на 1-ю, 2-ю, 3-ю и далее позиции в чеке из заданного сегмента.

Перейти к публикации

Комментарии
Избранное Подписка Сортировка: Древо развёрнутое
Свернуть все
1. psviridov 10.10.17 08:45 Сейчас в теме
Прошу прощения, а это точно востребованная скидка? Ни разу не видел и не реализовывал, хотя и проработал в торговле больше 10 лет. И даже не могу ее себе представить-я как покупатель выложил товары на ленту, а что потом? Говорю кассиру-вот это пусть будет первой/последней позицией в чеке (она-же берет сперва что поближе, но товар лежит некой компактной кучкой, а не строгой вереницей)? Учитывает-ли ваша обработка то, что n-ной позицией в чеке, на которую надо предоставить скидку может являться товар с фиксированной ценой или товар, на которую скидка не распространяется (акционный, например)?
2. fixin 3958 10.10.17 09:18 Сейчас в теме
(1) показываю на пальцах.
Допустим, покупают:

Туфли 1000 рублей
Ботинки 2000 рублей.

Акция - скидка 10% на второй товар в чеке по цене.

Соответственно скидка будет даваться на туфли, как более дешевый товар.

Т.е. будет 100 рублей.

все алгоритмически прозрачно и таких акций пруд пруди, обычно на обувь и вещи.

Скидка дается на товары из сегмента, а не на все товары в чеке.

Акционный не учитывает, это вам надо дописать, или создать сегмент без акционных товаров, если хотите. Но и так востребована.
5. psviridov 10.10.17 10:54 Сейчас в теме
(2) Т.е. скидка дается не на позицию, которая стоит на n- строке по порядку, а в смысле если в чеке n-позиций, то дается на самое дешевое (т.е. скидка на длину чека)?
6. fixin 3958 10.10.17 12:48 Сейчас в теме
(5) ну не знаю что вы подразумеваете под длиной чека. По-моему в примере все ясно написано.
Часто такая скидка дается в обувных и одежных - скидка на вторую, третью и далее пару. Причем первой считается самая дорогая.
3. user635667 10.10.17 09:41 Сейчас в теме
да идея вполне актуально. во всяких Кари магазинах часто такое бывает, странно что в типовой конфиге не реализованно. хотя там наверное по каким то мудренным скидочным акциям.
4. fixin 3958 10.10.17 09:50 Сейчас в теме
(3) я сперва тоже пробовал через типовые мудреные акции, но потом плюнул, и написал код.
В реальном магазине (обувном) работает, так шта...
7. Davlad_A 61 13.10.17 14:23 Сейчас в теме
Сережа, можно подробнее:
-поле "Количество товаров 2" используется альтернативно с "Количество товаров 1" или одновременно (если 2-е, при какой прикладной логике);
-опция "Точное количество" за что отвечает?
- последняя опция "При наличии товара из сегмента в чеке" - содержит скидку, кот. надо предварительно создать в справочнике? А значение скидки тогда берется из этого элемента или из "Процент скидки", не совсем ясно.
Спасибо.
8. fixin 3958 13.10.17 15:49 Сейчас в теме
(7) Количество 1 и Количество 2 - это пороги.
Можно указать количество 1 = 1, количество 2 = 3, тогда за 1 и 2-ю пару будет процент 1, а за 3ю, 4ю и т.д - процент 2. Если не указывать количество 2 (ноль), то только первый порог используется.

Точное количество - обозначает, что не количество1 (количество2) и выше, а именно на такое количество. Т.е. в прошлом примере действует на 1-ю пару и третью. На вторую скидки нет.

Последняя опция обозначает наличие определенного товара-маркера в чеке, который будет активизировать скидку. Например, скидка дается только при наличии в чеке купона (у нас была такая услуга за 1 копейку)...
Эти купоны добавлялись в сегмент "Купоны".

Всё из практики.
9. Davlad_A 61 13.10.17 21:45 Сейчас в теме
Отлично, теперь все понятно.
Спасибо, хорошая вещь!
10. fixin 3958 14.10.17 12:35 Сейчас в теме
(9) да, эта разработка закрывает определенное белое пятно. Ведь такие акции не редкость, а инструмента для их проведения в 1с не было.

Я закрыл этот пробел, буду рад, если кому пригодится.
11. annach-83@mail.ru 28.11.17 07:48 Сейчас в теме
Добры день. Подскажите, пжл, а как сделать скидку на третий товар? Например: на 1-й - 20%, на второй - 30%, на третий - 40%
12. fixin 3958 28.11.17 15:03 Сейчас в теме
(11) тут только два порога.
Могу доработать третий за 1000, предоплата. Или сами допишите по аналогии
13. qsanatoly 01.12.17 08:47 Сейчас в теме
Сергей, скажите, а действует ли данная обработка, если в чеке 4 товара и на 2 из них (самых дешевых) необходима скидка. Не пойму как настроить в этом случае: если в чеке больше двух товаров, а скидку необходимо на каждый второй более дешевый?
14. fixin 3958 02.12.17 23:13 Сейчас в теме
(13) поставьте первый порог на количество = 1 и второй порог на количество = 2. Т.е. ставьте галочку "Точное количество". Тогда на 3-й и 4-й товар и т.п. скидки не будет. Процент скидки соответственно ставьте одинаковым.
15. d.tohmahov 08.08.18 14:30 Сейчас в теме
Именно то что я и искал, подскажите, работает из РМК ?
16. fixin 3958 13.08.18 11:49 Сейчас в теме
(15) да, все такие внешние обработки работают из рмк
17. Dilovar9 40 16.11.18 09:19 Сейчас в теме
Нашел ошибку. Если кол. товара в строке больше чем 1, то тогда считается неверно. Исправить можно так.

СуммаСкидки = Окр(КоличествоСкидки * ТоварСегмента.Цена * ПроцентСкидки / 100, ОкруглятьСуммуДо);
Прикрепленные файлы:
18. user834076 05.12.18 00:50 Сейчас в теме
Сергей, добрый день! А можно настроить скидку на каждый 3-ий товар независимо от количества товаров в чеке? Если да, то можете помочь ее настроить в базе за доп плату!
20. fixin 3958 08.12.18 00:01 Сейчас в теме
(18) напишите мне на fixin@mail.ru я скину более актуальную версию, там 3 скидки, если вы ставите порог3 = 0, то скидка будет всегда (вроде). Но если что, смогу и допилить за символическую плату, если так не сработает.
19. user896337 05.12.18 10:41 Сейчас в теме
Сергей, добрый день! Не корректно работает обработка.
Мои настройки:
- Сегмент номенклатуры выбран
- Количество товаров1: 2
- Процент скидки: 10
- Количество товаров2: 0
- Точное количество: Да
- Сортировать вперед дешевые: Да
- При наличии товара из сегмента в чеке Не выбран
- Округлять сумму до: 0

Документ чек
1) Товар 1. Количество 1. цена 230
2) Товар 2. Количество 1. Цена 650
3) Товар 3. Количество 1. Цена 450. % авт 10. Сумма авт. 45

Не работает сортировка и не работает порог.

Для примера еще один документ чек. В этот же чек добавил еще одну позицию.
1) Товар 1. Количество 1. цена 230. % авт 10. Сумма авт. 23
2) Товар 2. Количество 1. Цена 650
3) Товар 3. Количество 1. Цена 450
4) Товар 4. Количество 1. Цена 150

Так же не работает сортировка и не работает порог. Исправьте пожалуйста обработку
Прикрепленные файлы:
21. fixin 3958 08.12.18 00:01 Сейчас в теме
(19) напишите в fixin@mail.ru , пришлю последнюю версию, протестируете.
22. user896337 08.12.18 09:04 Сейчас в теме
23. fixin 3958 11.12.18 00:22 Сейчас в теме
думаю, на этих выходных выложу апдейт обработки. исправлены будут ошибки и добавлено несколько новых возможностей. Алгоритм станет более надежным и качественным.
все возможности апробированы на клиентах.
24. fixin 3958 18.12.18 23:48 Сейчас в теме
выложил новую версию. читайте UPD к статье (внизу)
25. STnmsk 07.02.19 19:36 Сейчас в теме
Добрый день!
При вот таких настройках https://yadi.sk/i/8rv7kiIvuadx4w скидка на третий товар считается 50%, а на второй не считается совсем.
В сегменте всего один товар.
https://yadi.sk/i/mugQln7O4OWedw
26. fixin 3958 15.05.19 13:20 Сейчас в теме
(25) в протоколе все правильно, похоже, что 105 и 175 не суммируются, т.к. в одной строке сразу 3 штуки товара. Видимо, ошибка, что не суммируются скидки в одну строку. Проверю, поправлю. Напишите мне на fixin@mail.ru, вышли исправление.

И не обязательно заполнять поле "давать скидку при наличии товара в чеке". Он же у вас и так есть.
27. fixin 3958 16.05.19 08:41 Сейчас в теме
(25) Какую версию используете?
По скриншоту видно, что на закладке (скидки) всего одна строка, а должно быть две.
Я воспроизвел ситуацию, в последней версии обработки все работает. Пишите в личку, вышлю версию (которая здесь последняя).
28. pererva98 27.09.19 18:15 Сейчас в теме
Добрый вечер! Не работает обработка. Пишет недействительный адрес или не найден родительский сеанс задания
Прикрепленные файлы:
29. fixin 3958 29.09.19 09:05 Сейчас в теме
(28) нажимаете вверху справка - о программе - там "Информация для технической поддержки" и копируете оттуда.
или пришлите мне запрос на fixin@mail.ru вышлю последнюю версию, может там это уже починено.
30. pererva98 30.09.19 09:27 Сейчас в теме
Перевыбрали заново из файла - ошибка ушла. Вроде работает. Спасибо
31. pererva98 30.09.19 17:44 Сейчас в теме
Подскажите пожалуйста, как можно сделать? Условия такие: При покупке трех товаров из сегмента, на третий по наименьшей стоимости дается скидка 50%. Это настроить получилось. Но еще должна применяться ДК, с которой скидка не должна даваться, только накопления падают с покупки этих товаров. Так вот это не получается сделать. Скидка по ДК на дешевый товар не дается, а на остальных два дается. Как ее можно убрать?
32. fixin 3958 01.10.19 10:02 Сейчас в теме
(31) копать в группы совместного применения, хотя думаю, что в таком случае на первые два товара тоже должна начисляться скидка одна копейка, как вариант.
eugene1C; +1 Ответить
33. eugene1C 3 02.10.19 16:05 Сейчас в теме
(32) вы правы, создание корневой группы скидок с вытеснением, помещение новой скидки первой в группе с вытеснением, работает.
34. eugene1C 3 02.10.19 16:13 Сейчас в теме
(32) При применении в обработке надо добавлять "нулевые" записи сумм скидок даже для тех строк, для которых скидка не работает, чтобы вытеснение срабатывало.
35. eugene1C 3 02.10.19 16:13 Сейчас в теме
(32) Если заранее непонятно, должна ли хоть в какой то строке сработать новая скидка, то чтобы "нулевые" записи не вытеснили ошибочно остальные скидки, придется делать первый дублирующий прогон с установкой флага необходимости применить новую скидку, и запись "нулевых" записей производить по этому флагу.
36. pererva98 07.10.19 14:17 Сейчас в теме
Подскажите пожалуйста такую ситуацию как правильно настроить? При покупке 3-х вещей из сегмента, на самую дешевую 50%. При этом если в чек подбирается 4-е вещи или 5 вещей, то все равно должна даваться скидка 50% только на одну самую дешевую. А скидка перепрыгивает не на самую дешевую вещь. Как это настроить?
37. fixin 3958 08.10.19 19:38 Сейчас в теме
(36) напишите мне Fixin@mail.ru, вышлю самую последнюю версию, там это можно настроить
Хотя даже в таком варианте скидка должна даваться на самую маленкькую, ведь сортировка по цене идет.
38. LifeRock 06.11.19 15:20 Сейчас в теме
обработка умеет делать скидку на каждую вторую штуку по строке?
39. LifeRock 06.11.19 15:28 Сейчас в теме
точнее не так. а может ли считать только по строке а не по документу?
40. fixin 3958 06.11.19 20:19 Сейчас в теме
(39) обратитесь ко мне за последней версией в лычку, вышлю, она умеет намного больше.
42. grinlawyer 08.02.20 14:17 Сейчас в теме
Здравствуйте, а можно тоже узнать про последнюю версию grinlawyer@yandex.ru
(40)
44. fixin 3958 17.02.20 19:02 Сейчас в теме
(39) приведите пример. Думаю, что да.
Там все очень гибко, можно даже свои условия писать.
41. grinlawyer 08.02.20 14:16 Сейчас в теме
Здравствуйте, а можно тоже узнать про последнюю версию grinlawyer@yandex.ru
43. fixin 3958 17.02.20 18:56 Сейчас в теме
(41) по многочисленным просьбам выложил последнюю версию здесь.
45. pererva98 04.03.20 21:21 Сейчас в теме
Розница 2.3.3.19
При подборе товаров в Чек ошибка
Прикрепленные файлы:
46. fixin 3958 04.03.20 21:46 Сейчас в теме
(45) 1С - мракобесы. Зачем переименовывать имена процедур
Переименовали ПолучитьОписаниеТиповЧисла в ОписаниеТиповЧисла

	
ВсеТовары.Колонки.Добавить("СуммаВГруппе", ОбщегоНазначенияРТКлиентСервер.ПолучитьОписаниеТиповЧисла(15, 2));
	ВсеТовары.Колонки.Добавить("СуммаБезСкидки", ОбщегоНазначенияРТКлиентСервер.ПолучитьОписаниеТиповЧисла(15, 2));



Вынес в свою функцию:

Функция ПолучитьОписаниеТиповЧисла(Разрядность, РазрядностьДробнойЧасти) Экспорт
	Возврат Новый ОписаниеТипов("Число", Новый КвалификаторыЧисла(Разрядность, РазрядностьДробнойЧасти));
КонецФункции


И вызов:

	ВсеТовары.Колонки.Добавить("СуммаВГруппе", ПолучитьОписаниеТиповЧисла(15, 2));
	ВсеТовары.Колонки.Добавить("СуммаБезСкидки", ПолучитьОписаниеТиповЧисла(15, 2));




Обновил.
Оставьте свое сообщение
Новые вопросы с вознаграждением
Автор темы объявил вознаграждение за найденный ответ, его получит тот, кто первый поможет автору.

Вакансии

Программист, аналитик, эксперт 1С
Санкт-Петербург
По совместительству

Программист 1С
Новосибирск
зарплата от 30 000 руб.
Временный (на проект)

Программист 1С
Москва
зарплата от 100 000 руб. до 150 000 руб.
Полный день

Автор новостных обзоров на тему 1С и бухучета
Санкт-Петербург
По совместительству

Специалист внедрения и сопровождения 1С
Москва
зарплата от 80 000 руб.
Полный день