Скидка на второй товар в чеке 50%, третий бесплатно!

11.08.16

Задачи пользователя - Адаптация типовых решений

Небольшая доработка конфигурации Управление Торговлей 11, которая позволяет использовать популярные в наше время конфигурации скидок "скидка 50% на второй товар", "скидка 70% на второй товар", "третий товар в чеке БЕСПЛАТНО" и т. д.

Скачать файл

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

Наименование По подписке [?] Купить один файл
ИнструкцияПоСкидкам
.rar 129,77Kb
7
7 Скачать (1 SM) Купить за 1 850 руб.

Клиент поставил задачу настроить скидки в конфигурации Управление торговлей, редакция 11.1 - "скидка 50% на второй товар" или "третий товар в чеке БЕСПЛАТНО". Со второй половиной задачи проблем не было (настраивается с помощью типа скидки подарок), а вот функционала конфигурации для решения первой половины задачи не оказалось! Погуглил - действительно нет! Специалист учебного центра в комментариях к своей статье  предлагает использовать готовые динамические комплекты (наборы) для решения данной задачи, но такое решение не подходит если не известны заранее компоненты набора или их очень много. И тут, как обычно в таких случаях, помогает "напильник". 

В общем модуле "СкидкиНаценкиСервер" находим процедуру "РассчитатьСкидку"  в ней условие: 

	ИначеЕсли ПараметрыСкидки.СпособПредоставления = Перечисления.СпособыПредоставленияСкидокНаценок.Подарок Тогда

после строки "Сумма = 0;" вносим корректировки в код:

		//Определяем делитель исходя из скидки в размере тысячных долей стоимости последнего самого дешевого товара в чеке. 0,500 соответствует 50% скидки и т.д. 
		Если ПараметрыСкидки.ЗначениеСкидкиНаценки < 1 И Не ПараметрыСкидки.ЗначениеСкидкиНаценки = 0 Тогда
			Делитель = 1/ПараметрыСкидки.ЗначениеСкидкиНаценки;
		Иначе
			Делитель = 1;
		КонецЕсли; 
		//конец изменений
		

        //округляем до целых, т.к. если при вычислении получится число хоть на миллионную меньше целого, скидка не рассчитаться
		Для i=1 По МинимальнаяКратностьВыполнения * Окр(ПараметрыСкидки.ЗначениеСкидкиНаценки*Делитель ,0) Цикл   
			Для Каждого СтрокаТЧ Из ТаблицаСтоимостейТоваров Цикл
				Если СтрокаТЧ.Количество > 0 Тогда
					СтрокаТЧ.Количество = СтрокаТЧ.Количество - 1;
		//в след. строке определяется сам размер скидки - половина, третья часть, полная стоимость последнего товара в чеке			
                    Сумма = Сумма + СтрокаТЧ.Цена/Делитель;  
					Прервать;
				КонецЕсли;
			КонецЦикла;
		КонецЦикла;

Теперь, для решения первоначальной задачи создадим  группу совместного применения и укажем вариант применения (максимум или вытеснение), добавим две новые скидки "50% на второй товар" и "3й товар в подарок" с типом скидки "Подарок", а в поле "Предоставить скидку на стоимость" указываем соответственно 0,500 и 1,000 стоимости единицы, в условиях указываем соответственно количество в документе не менее 2 ед. и не менее  3 ед. По правде говоря, в чеке 3й товар не будет с нулевой стоимостью, а второй товар с 50% стоимости - будет рассчитана скидка величиной половина стоимости второго или полная стоимость третьего, которая распределится на все позиции в чеке. Но нас это устраивает, т.к. по закону стоимость не может быть 0 рублей. 
Задача решена. Пользуемся  на здоровье!   

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

скидка на второй товар третий товар бесплатно настройка скидок

См. также

Логистика, склад и ТМЦ Адаптация типовых решений Пользователь Платформа 1С v8.3 1С:Управление нашей фирмой 1.6 1С:Управление нашей фирмой 3.0 Россия Управленческий учет Платные (руб)

Чтобы не допустить путаницы с обещаниями клиентам и для четкого контроля исполнения заказов мы используем резервирование товаров. Мы доработали УНФ, чтобы она автоматически отменяла старые резервы и не мешала эффективно продавать.

7200 руб.

02.08.2023    4331    16    1    

34

Адаптация типовых решений Платформа 1С v8.3 1С:Документооборот Россия Платные (руб)

Расширение конфигурации для «1С:Документооборот КОРП», редакция 3.0. позволяет: 1.использовать произвольные табличные части в качестве дополнительных реквизитов к документу; 2 использовать произвольные табличные части в шаблонах в формате docx для автоматического заполнения таблиц.

29400 руб.

29.06.2023    6193    15    5    

24

Печатные формы Адаптация типовых решений Бухгалтер Пользователь Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Платные (руб)

Расширение позволяет вывести в табличном документе факсимиле печати и подписей и/или вывести произвольную картинку из прикреплённых файлов организации для 1С УТ 11.5, КА 2.5, ERP 2.5, УНФ 3, Розница 3. Вывод факсимиле возможен в табличные документы УПД, УКД, Счёт-фактура, ТОРГ-12 и другие. Возможно настроить вывод для любых типовых макетов (Акт сверки, М-15, ТТН), для этого потребуется отредактировать макет и разместить на нём картинки с установленными именами. Редактирование осуществляется через типовой механизм в пользовательском интерфейсе.

3000 руб.

07.02.2023    6902    73    17    

30

Адаптация типовых решений Программист Пользователь Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Абонемент ($m)

Каждый из нас сталкивается с ситуацией, когда какой-нибудь менеджер показывает свой Excel и рассказывает, как он что-то из 1С копирует в него, снабжает пояснениями, выделяет цветом и т.д. и т.п. Заканчивается все просьбой сделать вот чтобы также было в 1С. И оказывается такой человек (почти с гарантией) либо лучшим продажником, либо каким-то важным, за все отвечающим, - на ком все держится.

2 стартмани

22.04.2024    5357    dimanich70    15    

22

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

Понадобилось в подменю "Создать на основании" добавить свою команду, которая открывает обработку. В процессе доработок появилась проблема двух подменю "Создать на основании". В статье о том, как решились проблемы.

01.03.2024    7448    dimanich70    10    

19

Адаптация типовых решений Программист Платформа 1С v8.3 1С:Управление торговлей 11 Россия Абонемент ($m)

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

1 стартмани

27.10.2023    3723    30    TempTablesManager    14    

54
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. CnupT 70 17.08.16 13:12 Сейчас в теме
Ну оочень частный случай задачи.
Например в моей практике была задача увеличивать скидку на 10% на каждую последующую покупку в чеке. Т.е.:
1я строка 10%
2я Строка 20%
3я строка 30% и т.д.

Или просто на вторую строку 20%.

На мой взгляд, правильным решением этой задачи было бы добавление нового условия срабатывания скидки: "номер строки равен (больше, меньше) Х".
2. script 128 08.01.17 03:05 Сейчас в теме
А разве не для этого предназначен тип скидки "Специальная цена"?
3. aharechko 47 04.04.17 14:10 Сейчас в теме
Загрузил вашу инструкцию.
"Скидка 50% на второй товар" - все работат.

Ваш код не решает следующую проблему:
Клиент купляет три товара.
Должен получить следующие скидки:
1. "Скидка 50% на второй товар"
2. "Скидка 30% на третий товар"

Можно это реализовать?
4. Artem1405 25 03.12.18 07:56 Сейчас в теме
Автор ты хоть код модуля кинь в архив, а то не понятно куда вставлять твой код!
5. yaroshevsky 04.02.19 12:43 Сейчас в теме
А можно такую же доработку для 1С:Управление небольшой фирмой для Украины
vvvvv@meta.ua
Оставьте свое сообщение