|
Проблема со скидкой для товаров документа | ☑ | ||
---|---|---|---|---|
0
Додик429
31.03.24
✎
20:53
|
Мне нужно сделать,так чтобы при выборе скидки(Это реквизит Документа Продажи, тип данных ссылка на справочник акции. Справочник Акции имеет следующие реквизиты: Начало акции тип дата, конец акции тип дата и Скидка число в %) в документе
сумма срезалась на размер этой скидки. Вот что я написал в модуле объекта Документа Продажи Процедура ПриЗаписи(Отказ) СуммаЗаказа = 0; Для Каждого СтрокаРТ ИЗ Заказ Цикл СуммаЗаказа = (СтрокаРТ.Цена * СтрокаРТ.Количество) + СуммаЗаказа; КонецЦикла; Если ТекущаяДата() > Справочники.Акции.НачалоАкции И ТекущаяДата() < Справочники.Акции.КонецАкции Тогда СуммаЗаказа = СуммаЗаказа - (СуммаЗаказа * Справочники.Акции.Скидка / 100); КонецЕсли; КонецПроцедуры И в предприятии появляется такая ошибка, не знаю что делать. Не судите строго я только начинаю во всем этом разбираться. |
|||
1
Додик429
31.03.24
✎
20:53
|
Поле объекта не обнаружено (НачалоАкции)
{Документ.Продажи.МодульОбъекта(18)}: Если ТекущаяДата() > Справочники.Акции.НачалоАкции И ТекущаяДата() < Справочники.Акции.КонецАкции Тогда Вот ошибка |
|||
3
Волшебник
31.03.24
✎
20:55
|
(1) Надо обращаться не к менеджеру справочника, а к ссылке
|
|||
4
Додик429
31.03.24
✎
20:55
|
А как это правильно сделать?
|
|||
5
Волшебник
31.03.24
✎
20:56
|
Кстати, многократная запись документа приведёт к почти нулевой сумме
|
|||
6
Волшебник
31.03.24
✎
20:57
|
(4) Нужно различать типы, а не просто генерировать код
|
|||
7
Волшебник
31.03.24
✎
20:58
|
(5) Хотя нет, не приведёт, потому что в табличной части ничего не меняется. Ошибка не повлияла на данные, это уже хорошо. Глюки тоже бывают полезными
|
|||
8
Смотрящий
31.03.24
✎
21:01
|
Если ТекущаяДата() > Заказ.Акция.НачалоАкции И ТекущаяДата() < Заказ.Акция.КонецАкции Тогда
Как там у тебя акция обозвана в документе |
|||
9
Волшебник
31.03.24
✎
21:03
|
(8) Не учтено время дня
|
|||
10
Волшебник
31.03.24
✎
21:05
|
(8) Кстати, документ Заказ Вы придумали. У него это табличная часть док Продажа
|
|||
11
Додик429
31.03.24
✎
21:07
|
(10)Нет Документ продажа и в нем есть табличная часть Заказы, где уже и перечислены товары, которые заказал клиент
|
|||
12
Волшебник
31.03.24
✎
21:11
|
(11) Что Вы мне неткаете? Я не Вам пишу
|
|||
13
Додик429
31.03.24
✎
21:13
|
аааа
|
|||
14
Додик429
31.03.24
✎
21:13
|
Все, Спасибо вам, у меня получилось
|
|||
15
Волшебник
31.03.24
✎
21:16
|
(14) Обманываете. Это нехорошо
|
|||
16
Смотрящий
31.03.24
✎
21:22
|
(10) Идею показать, вот в (14) догнал уже
|
|||
17
Волшебник
31.03.24
✎
21:26
|
(16) Да это жулик. Работающего программного кода мы так и не увидели
|
|||
18
Додик429
31.03.24
✎
23:19
|
Процедура ПриЗаписи(Отказ)
СуммаЗаказа = 0; Для Каждого СтрокаРТ ИЗ Заказ Цикл СуммаЗаказа = (СтрокаРТ.Цена * СтрокаРТ.Количество) + СуммаЗаказа; КонецЦикла; Если ТекущаяДата() > Скидка.НачалоАкции И ТекущаяДата() < Скидка.КонецАкции Тогда СуммаЗаказа = СуммаЗаказа - (СуммаЗаказа * Скидка.Скидка / 100); КонецЕсли; КонецПроцедуры Вот работающий код, зачем мне врать? |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |