![]() |
|
Нужен совет по организации скидок | ☑ | ||
---|---|---|---|---|
0
Быдло замкадное
20.02.20
✎
15:46
|
Привет.
Есть некая база, в ней скидки заведены в регистр сведений с измерениями папка номенклатуры, контрагент. В документах ищется самая близкая папка по иерархии со скидкой и подставляется в документ. (Смотрим есть ли скидка на родителя, потом на родителя.родителя, и так пока не найдем) Вроде бы работает. Появилась задача вывести отчет прайс лист с этими скидками для 1 клиента, сделал отчет который использует этот алгоритм из общего модуля. Номенклатуры 20 тысяч штук. Но 20 тысяч раз вызывать общий модуль очень медленно. Подумал сделать вспомогательный регистр сведений в котором хранить готовую скидку. Но 20 тысяч номенклатуры * 7 тысяч клиентов это 140 млн записей. Даже регламентное задание в ночь умрет... Как сделать то?! |
|||
1
Быдло замкадное
20.02.20
✎
15:47
|
пока писал подумал, а может в запросе сделать много запросов родитель.родитель.родитель и т.д. раз 10)) и брать самую первую скидку..
|
|||
2
shuhard
20.02.20
✎
15:47
|
(0) использовать группы скидок и группы клиентов
|
|||
3
Быдло замкадное
20.02.20
✎
15:47
|
да, так и сделаю... оказывается надо было просто выговориться и решение пришло)
|
|||
4
Быдло замкадное
20.02.20
✎
15:50
|
Максимум 7 родителей, в запросе получу для всех и готово!
|
|||
5
Сияющий в темноте
20.02.20
✎
15:52
|
папок не так много.
расчитать скидки для папок,и если у товара нет скидки,то смотреть в таблице папок. просто и быстро. |
|||
6
Быдло замкадное
20.02.20
✎
17:17
|
Отличный говнокод получился
ВЫБОР КОГДА ВТВсеСкидки.СкидкаНоменклатура <> 0 ТОГДА ВТВсеСкидки.СкидкаНоменклатура ИНАЧЕ ВЫБОР КОГДА ВТВсеСкидки.СкидкаРодитель <> 0 ТОГДА ВТВсеСкидки.СкидкаРодитель ИНАЧЕ ВЫБОР КОГДА ВТВсеСкидки.СкидкаРодитель2 <> 0 ТОГДА ВТВсеСкидки.СкидкаРодитель2 ИНАЧЕ ВЫБОР КОГДА ВТВсеСкидки.СкидкаРодитель3 <> 0 ТОГДА ВТВсеСкидки.СкидкаРодитель3 ИНАЧЕ ВЫБОР КОГДА ВТВсеСкидки.СкидкаРодитель4 <> 0 ТОГДА ВТВсеСкидки.СкидкаРодитель4 ИНАЧЕ ВЫБОР КОГДА ВТВсеСкидки.СкидкаРодитель5 <> 0 ТОГДА ВТВсеСкидки.СкидкаРодитель5 ИНАЧЕ ВЫБОР КОГДА ВТВсеСкидки.СкидкаРодитель6 <> 0 ТОГДА ВТВсеСкидки.СкидкаРодитель6 ИНАЧЕ ВЫБОР КОГДА ВТВсеСкидки.СкидкаРодитель7 <> 0 ТОГДА ВТВсеСкидки.СкидкаРодитель7 ИНАЧЕ 0 КОНЕЦ КОНЕЦ КОНЕЦ КОНЕЦ КОНЕЦ КОНЕЦ КОНЕЦ КОНЕЦ |
|||
7
Сияющий в темноте
21.02.20
✎
08:53
|
(6) а если уровней,скажем 17 ?
хотя,текст запроса можно собирать в коде,чтобы враги не догадались. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |