|
v7: Убрать (отключить) скидку на товары по акции | ☑ | ||
---|---|---|---|---|
0
ipsmatrix
28.08.12
✎
10:23
|
1с 7.7 Торговля+склад 9.2
Подскажите пожалуйста срочно нужно (наверное было) тогда ссылку. В общем надо сделать чтобы на товары которые по акции не действовала скидка? Может как-нибудь можно поставить галку "товар по акции" и прописать чтоб на них еще скидка не считалась? Спасибо |
|||
1
Fedot200
28.08.12
✎
10:23
|
Разрешаю!
|
|||
2
Скользящий
28.08.12
✎
10:25
|
Пусть это будет убРать а не то что я подумал.
|
|||
3
ipsmatrix
28.08.12
✎
10:25
|
Интересует как это все реализовать? наверняка это уже кто-то делал. help
|
|||
4
ipsmatrix
28.08.12
✎
14:35
|
Спецы! help!
какой реквизит создать и процедуру как подправить? чайник в беде( |
|||
5
akaBrr
28.08.12
✎
14:47
|
(0) нет такого функционала в типовой ТиС
|
|||
6
ipsmatrix
28.08.12
✎
15:00
|
akaBrr спасибо!
А что можно тогда сделать в этой ситуации? |
|||
7
miki
28.08.12
✎
15:01
|
(6)допилить (с)кэп
|
|||
8
ipsmatrix
28.08.12
✎
15:03
|
miki Спасибо, Кэп, объясните пожалуйста как! опыта маловато, а сделать срочно надо( что где допилить?
|
|||
9
miki
28.08.12
✎
15:04
|
ну, про галку ты ужЕ сам догадался. Осталось дописАть
Если галка=1 Тогда и т. д. |
|||
10
dva1c
28.08.12
✎
15:05
|
(8) И сейчас тебе приведут код с подробными комментариями. Тебе это нужно? )
|
|||
11
ipsmatrix
28.08.12
✎
15:08
|
Я до этого в 8 версии немного работал. Мне нужно знать ГДЕ создать этот реквизит с каким ТИПОМ и ГДЕ именно лежит заветная процедура
был бы очень благодарен!!!)) |
|||
12
Азазель
28.08.12
✎
15:35
|
Пересчет сумм в табличной части выполняет процедура глПересчетТаблЧасти в глобальном модуле.
Вот в этом месте надо усложнить вычисление процента скидки в зависимости от приведения вами акций с игрой цен. Если ЕстьСкидка=1 Тогда ПроцентСкидки=Конт.Скидка.Процент; Иначе ПроцентСкидки=0; КонецЕсли; То есть помимо проверки реквизита Скидка нужно добавить проверку применения акции путем считывания признака акции из документа или справочника номенклатуры, либо из других мест конфигурации. В случае использования флажка "акция" (и реквизита шапки в документе реализации): Если (Естьскидка=1) и (Конт.Акция=0) тогда... далее по тексту модуля. Осталось добавить проверку наличия реквизита шапки "Акция" (чуть выше по тексту процедуры): ЕстьАкция = глЕстьРеквизитШапки("Акция", Конт.Вид()); Все! Дело в шляпе! |
|||
13
SED
28.08.12
✎
15:39
|
+(12) глПересчитатьСтрокиДокумента, глПересчитатьСкидки поправить в гм
|
|||
14
ЧеловекДуши
28.08.12
✎
15:45
|
(0)Даю добро, делай!
... Коль не можешь делать, то 10 000 р и я сделаю :) |
|||
15
SED
28.08.12
✎
15:46
|
ну а реквизит Акция лучше наверно добавить в справочник номенклатура и сделать его переодическим
|
|||
16
ЧеловекДуши
28.08.12
✎
15:46
|
(11)Судя по тексту, автор лукавит, ибо 7-ка содержит в себе зачатки 8-ки.
И код почти одинаков :) |
|||
17
SED
28.08.12
✎
15:47
|
(16)...немного работал
написал же |
|||
18
ЧеловекДуши
28.08.12
✎
15:48
|
(15)Хм, зачем?
Я все организовал через оборотный регистр. Акция устанавливается документом. В глобальном модуле попросту в определенный момент подставляется цена по акции. При этом акция действует только в определенном отрезке времени. Соответственно все делалось на прямых запросах :) |
|||
19
ЧеловекДуши
28.08.12
✎
15:48
|
(17)Т.е. по сути не работал :)
|
|||
20
SED
28.08.12
✎
15:49
|
(19) ну это смотря как работать)))
|
|||
21
Азазель
28.08.12
✎
15:50
|
(15) Акции могут проводиться в отношении отдельных клиентов или отдельных операций реализации, поэтому лучше не привязывать целиком к номенклатуре.
По крайней мере, не только к ней. К номенклатуре лучше привязать только принципиальную возможность участия в акциях. Само использование- лучше к документам. |
|||
22
SED
28.08.12
✎
15:52
|
(18) а какая разница установил реквизит Акция=1 с определенной даты и также не учитываеш скидку
снял с определенной даты учитываеш скидку |
|||
23
Азазель
28.08.12
✎
15:53
|
(22) см (21)
|
|||
24
SED
28.08.12
✎
15:55
|
(21) в документе есть номенклатура участвующая в акции и не участвующая поэтому не обязательно к документу
|
|||
25
SED
28.08.12
✎
15:56
|
(21)а так про отдельные акции для отдельных клиентов много еще чего прикрутить можно
|
|||
26
ipsmatrix
28.08.12
✎
16:28
|
Всем большое спасибо! буду переваривать инфу)
Вообще да есть номенклатура и например 50 товаров по акции (они по себестоимости и надо чтобы на них не действовала скидка). Скидка накопительная - напокупал на 10к - 5% на 20к - 6% и тд. В другом месте посоветовали создать Основное свойство у номенклатуры: Если свойство не заполнено, то скидка не действует. Если заполнено - действует. Процедура глПересчетТаблЧасти(Конт,ИмяРеквизита, ПараметрыРозничнойЦены = 0) Экспорт ............... Если ПустоеЗначение(Номенклатура.ОсновноеСвойство)=1 Тогда Конт.Сумма = Конт.Цена*Конт.Количество; Иначе Конт.Сумма = Конт.Цена*Конт.Количество-ПроцентСкидки/100*Конт.Цена*Конт.Количество; КонецЕсли; Тоже верно? |
|||
27
SED
28.08.12
✎
16:33
|
(26) Основное свойство у номенклатуры поменяешь, прошло время заново вошли в документ....
|
|||
28
Злопчинский
28.08.12
✎
18:58
|
надо править в:
глПересчитатьСкидки() глПересчитатьСтрокиДокумента() глПересчетТаблЧасти() |
|||
29
ipsmatrix
30.08.12
✎
15:43
|
А что надо изменить в глПересчитатьСтрокиДокумента ? (версия 7.70.952)
Создал реквизит число длина 1. Добавил галку на форму. Вот еще вариант сосветовали Процедура глПересчитатьСкидки(Конт) Экспорт Перем Скидка; Скидка = Конт.Скидка; ВидДок = Конт.Вид(); Конт.ВыбратьСтроки(); Пока Конт.ПолучитьСтроку()=1 Цикл //начало отличия от типовой Если Конт.Номенклатура.НеУчитыватьСкидку=1 Тогда //вот тут мы обращаемся к новому реквизиту продолжить; КонецЕсли; //конец отличия от типовой Цена = Конт.Цена; Количество = Конт.Количество; КоэффСкидки = 0; КоэффСкидки=Конт.Скидка.Процент/100; Конт.Сумма = Цена*Количество - Цена*Количество*КоэффСкидки; Если глЕстьРеквизитШапки("УчитыватьНП", ВидДок) =1 Тогда глРасчетНалога(Конт,"НП"); КонецЕсли; Если глЕстьРеквизитШапки("УчитыватьНДС", ВидДок) =1 Тогда глРасчетНалога(Конт,"НДС"); КонецЕсли; КонецЦикла; КонецПроцедуры // глПересчитатьСкидки() А в глПересчетТаблЧасти надо везде заменить Конт.Сумма = Конт.Цена*Конт.Количество-ПроцентСкидки/100*Конт.Цена*Конт.Количество; на Если Конт.Номенклатура.НеУчитыватьСкидку=1 Тогда Конт.Сумма = Конт.Цена*Конт.Количество; Иначе Конт.Сумма = Конт.Цена*Конт.Количество-ПроцентСкидки/100*Конт.Цена*Конт.Количество; КонецЕсли; так?) |
|||
30
Злопчинский
30.08.12
✎
15:46
|
(29) изменить надо то, что тебе надо...
|
|||
31
ipsmatrix
30.08.12
✎
15:50
|
Просьба тут загадок не сочинять если конкретно ответить не можете.
|
|||
32
Злопчинский
30.08.12
✎
16:26
|
(31) а что конкретно у тебя не получилось?
|
|||
33
ipsmatrix
30.08.12
✎
16:29
|
Выше было - А что надо изменить в глПересчитатьСтрокиДокумента ?
Попробовал способ с того же сообщения вроде правильно. надо детальней проверить еще) |
|||
34
Злопчинский
30.08.12
✎
16:32
|
(33) > А что надо изменить в глПересчитатьСтрокиДокумента ?
- это не конкретный вопрос. это типа "сделайте мне вместо меня", катер так не катит.. суши весла... ;-) |
|||
35
ipsmatrix
30.08.12
✎
16:38
|
Конкретный вопрос
заменить Конт.Сумма = Конт.Цена*Конт.Количество-ПроцентСкидки/100*Конт.Цена*Конт.Количество; на Если Конт.Номенклатура.НеУчитыватьСкидку=1 Тогда Конт.Сумма = Конт.Цена*Конт.Количество; Иначе Конт.Сумма = Конт.Цена*Конт.Количество-ПроцентСкидки/100*Конт.Цена*Конт.Количество; КонецЕсли; ? |
|||
36
SED
30.08.12
✎
16:44
|
Если (ЕстьСкидка=1) и (Конт.Номенклатура.НеУчитыватьСкидку=0) Тогда
ПроцентСкидки=Конт.Скидка.Процент; Иначе ПроцентСкидки=0; КонецЕсли; |
|||
37
Злопчинский
30.08.12
✎
16:49
|
(35) это не конкретный вопрос. это "я даже не пробовал, скажите - оно правильно"...
. |
|||
38
ipsmatrix
30.08.12
✎
16:51
|
скажите - оно правильно - это не конкретный вопрос?
|
|||
39
Злопчинский
30.08.12
✎
16:52
|
||||
40
Злопчинский
30.08.12
✎
16:52
|
(38) ясен пень неправильный.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |