Имя: Пароль:
1C
1С v8
Розница 2.0 автоматическая скидка по типу получателя
0 Cherry-Berry
 
24.01.13
13:03
Пытаюсь настроить автоматические скидки для определенных оптовых покупателей.
1. Создаю Условие предоставления скидок, выбираю "По типу получателя", тип получателя "Контрагент", в табличной части указываю контрагента Иванова.
2. Создаю скидку, статус "Действует", "назначается вручную" - галочка не стоит, предоставляемая скидка - процент 10%, область применения "В документе", условия - котрагент Иванов.
3. Создаю маркетинговую акцию, дату начала поставила вчерашнюю, дату окончания не задавала. Добавила в акцию созданную ранее скидку 10% для контрагента Иванова. Указала одно расписание для всех магазинов.
4. СОздаю документ "Реализация товаров и услуг", указываю контрагента Иванова, добавляю товар, жму "Расчитать скидки (наценки)", ничего не происходит.

Что я делаю не так?
1 Cherry-Berry
 
24.01.13
13:04
описалась - документ "Реализация товаров"
2 Cherry-Berry
 
24.01.13
13:04
версия 2.0.6.4
3 Cherry-Berry
 
24.01.13
15:11
Неужели никто не сталкивался?
4 Cherry-Berry
 
24.01.13
18:15
В 2.0.5.7 тоже скидка не считается
5 rs_trade
 
24.01.13
18:18
Ну посмотри отладчиком. В чем проблема?
6 Cherry-Berry
 
24.01.13
18:39
Да, другого варианта нет...
7 Cherry-Berry
 
25.01.13
16:35
В модуле СкидкиНаценкиСерверПереопределяемый
есть Функция РассчитатьПоРеализацииТоваров(Объект, ВходныеПараметры) для расчета скидок, наценок для документа реализации товаров.
В этой функции есть строка
//Скидки по типу получателя
   ПараметрыРасчета.Вставить("ПолучателиСкидок", ПолучитьМассивПолучателей(Объект.ДисконтнаяКарта, Объект.ДисконтнаяКарта.ВладелецКарты));

Т.е. по коду в возможных получателях нет реквизита объекта Контрагента
8 zippygrill
 
25.01.13
16:42
(7) как вариант возьми и привязывая просто дисконтную карту к этой скидки и на ней пиши ручкой Скидка для контрагентов и каждый раз когда приходит такой контрагент просто сканируй и все, скидка пойдет.
9 zippygrill
 
25.01.13
16:43
естественно диск.карту всегда на кассе оставляй
10 lefthander
 
25.01.13
16:45
(9) вот кассиры то порадуются :)
11 zippygrill
 
25.01.13
16:45
12 Cherry-Berry
 
25.01.13
22:34
документ реализация товаров в розница 2.0 предусмотрен для продаж оптом и там есть реквизит "Контрагент" - т.е. это может быть и юр. лицо и требуется именно задавать конкретные постоянные скидки для отдельных контрагентов-покупателей оптом и эти скидки необходимо устанавливать индивидуально для каждого контрагента.
Дело в том, что в условиях предоставления скидок есть возможность привязки к контрагенту, но по факту расчета этой скидки в конфигурации нет...
13 Cherry-Berry
 
25.01.13
23:50
да, получается, что сделать можно только через карты, но встает вопрос,
зачем предусмотрели такой вид условия предоставления скижки "По котрагенту", если он не работает?
14 Cherry-Berry
 
29.01.13
09:07
Поправила в конфигураторе модуль СкидкиНаценкиСерверПереопределяемый, добавила к функции ПолучитьМассивПолучателей параметр Контрагент и в теле этой функции

// Возвращает массив получателей скидки
//
// Параметры
//  ДисконтнаяКарта - Дисконтная карта
//  Получатель  - Контрагент или физическое лицо
//
// Возвращаемое значение:
//   Массив
//
Функция ПолучитьМассивПолучателей(ДисконтнаяКарта, Получатель, Контрагент = Неопределено)

   Получатели = Новый Массив;
   Если ЗначениеЗаполнено(ДисконтнаяКарта) Тогда
       Получатели.Добавить(ДисконтнаяКарта);
       Получатели.Добавить(ДисконтнаяКарта.ВидДисконтнойКарты)
   КонецЕсли;
   
   Если ЗначениеЗаполнено(Получатель)  Тогда
       Получатели.Добавить(Получатель);
       Получатели.Добавить(Получатель.ГруппаПолучателейСкидки)
   КонецЕсли;
   
   Если ЗначениеЗаполнено(Контрагент)  Тогда
       Получатели.Добавить(Контрагент);
   КонецЕсли;
   
   Возврат Получатели

КонецФункции // ПолучитьМассивПолучателей()

И теперь вызов этой функции в функции РассчитатьПоРеализацииТоваров выглядит так
ПолучитьМассивПолучателей( Объект.ДисконтнаяКарта, Объект.ДисконтнаяКарта.ВладелецКарты, Объект.Контрагент)

Теперь скидка по контрагенту считается как положено:)
2 + 2 = 3.9999999999999999999999999999999...