|
Посчитать количество купонов | ☑ | ||
---|---|---|---|---|
0
informts
28.11.11
✎
19:51
|
Помогите еще разобраться, стоит задача подсчета количества купонов для выдачи.
Критерии выдачи таковы: Выдаем купоны по следующей схеме: 1коэ-20% от стоимости 2коэ-30% от стоимости 4коэ-40% от стоимости 6коэ-50% от стоимости 7коэ-20% от стоимости 8коэ-20% от стоимости 10коэ-50% от стоимости Делаю так: мСтрокаТЧ = ЭлементыФормы.Товары.ТекущиеДанные; Отбор = Новый Структура; Отбор.Вставить("Номенклатура", мСтрокаТЧ.Номенклатура); Отбор.Вставить("Склад", Склад); Конструктор = РегистрыСведений.ПоказателиКонструкторовУслоувий; Коэфф = Конструктор.ПолучитьПоследнее(ТекущаяДата(), Отбор); Для каждого т из товары цикл Если (Коэфф.КонструкторУсловий.Наименование="1") ИЛИ (Коэфф.КонструкторУсловий.Наименование="7") ИЛИ (Коэфф.КонструкторУсловий.Наименование="8") Тогда КолКуп_20 = ОКР(мСтрокаТЧ.цена/100*20/200); КонецЕсли; Если Коэфф.КонструкторУсловий.Наименование="2" Тогда КолКуп_30 = ОКР(мСтрокаТЧ.цена/100*30/200); КонецЕсли; Если Коэфф.КонструкторУсловий.Наименование="4" Тогда КолКуп_40 = ОКР(мСтрокаТЧ.цена/100*40/200); КонецЕсли; Если Коэфф.КонструкторУсловий.Наименование="10" Тогда КолКуп_50 = ОКР(мСтрокаТЧ.цена/100*50/200); КонецЕсли; КонецЦикла; И с моим опытом для меня тупик, как теперь посчитать общее кол-во? И что тут я не так делаю?? |
|||
1
Лефмихалыч
28.11.11
✎
20:10
|
опиши критерии нормально. В том, как ты это делат собираешься разбираться ни кто не будет
|
|||
2
informts
28.11.11
✎
20:17
|
Лефмихалыч, спасибо что остались не равнодушны!
Критерии выдачи таковы: 1купон равен 200 рублям Для товара с коэффициентом 1 выдаем 20% от стоимости товара 2коэффициент-30% от стоимости 4коэффициент-40% от стоимости 6коэффициент-50% от стоимости 7коэффициент-20% от стоимости 8коэффициент-20% от стоимости 10коэффициент-50% от стоимости Пример товар с 1 коэффициентом стоит 5000 рублей 5000/100*20%/200 = 5 Нужно выдать человеку 5 купонов номиналом по 200 рублей В табличной части может быть несколько товаров с разными коэффициентами, не могу сообразить как посчитать ИТОГ |
|||
3
Лефмихалыч
28.11.11
✎
20:24
|
1. Регистр сведений с измерением "Коэффициент" и ресурсом для хранения процента купонов
2. В номенклатуре реквизит "Коэффициент" 3. при реализации соединяешь ТЧ документа с регистром п.1 и нехитрыми арифметическими операциями получаешь количество купонов коэффициент я бы наверное сделал перечислением или справочником и назвал как-нить иначе (чтобы путаницы не было и с индексами заморочек) |
|||
4
informts
28.11.11
✎
20:31
|
Коэффициент и есть в регистре сведений, на каждом филиале на одну и ту же номенклатуру они могут быть разными.
|
|||
5
Лефмихалыч
28.11.11
✎
20:32
|
(4) процент купонов по коэффициентам тоже должен быь в регисте, но в другом
|
|||
6
informts
28.11.11
✎
20:34
|
т.е. вы предлагаете создать еще один регистр?
|
|||
7
Лефмихалыч
28.11.11
✎
20:37
|
я настаиваю
|
|||
8
informts
28.11.11
✎
20:38
|
а как дальше это в коде будет? :)
|
|||
9
Лефмихалыч
28.11.11
✎
20:47
|
(8) Как-то так
ВЫБРАТЬ Док.Номенклатура, Док.Сумма, ВЫРАЗИТЬ(Рег.ПроцентКупонов*Док.Сумма/100 как Число(15,0)) КАК КоличествоКупонов ИЗ Документ.РасхднаяНакладная.Товары КАК Док ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ТвойНовыйРегистр.Срезпоследних как Рег ПО Рег.КоэффициентНоменклатуры = Док.Номенклатура.Коэффициент ГДЕ Док.Ссылка = &СсылкаНаДокумент |
|||
10
informts
28.11.11
✎
20:56
|
а мои соображения что совсем не катят
мСтрокаТЧ = ЭлементыФормы.Товары.ТекущиеДанные; Отбор = Новый Структура; Отбор.Вставить("Номенклатура", мСтрокаТЧ.Номенклатура); Отбор.Вставить("Склад", Склад); Конструктор = РегистрыСведений.ПоказателиКонструкторовУслоувий; Коэфф = Конструктор.ПолучитьПоследнее(ТекущаяДата(), Отбор); Для каждого т из товары цикл Если (Коэфф.КонструкторУсловий.Наименование="1") ИЛИ (Коэфф.КонструкторУсловий.Наименование="7") ИЛИ (Коэфф.КонструкторУсловий.Наименование="8") Тогда КолКуп_20 = ОКР(мСтрокаТЧ.цена/100*20/200); КонецЕсли; Если Коэфф.КонструкторУсловий.Наименование="2" Тогда КолКуп_30 = ОКР(мСтрокаТЧ.цена/100*30/200); КонецЕсли; Если Коэфф.КонструкторУсловий.Наименование="4" Тогда КолКуп_40 = ОКР(мСтрокаТЧ.цена/100*40/200); КонецЕсли; Если Коэфф.КонструкторУсловий.Наименование="10" Тогда КолКуп_50 = ОКР(мСтрокаТЧ.цена/100*50/200); КонецЕсли; КонецЦикла; |
|||
11
informts
28.11.11
✎
20:58
|
просто не хотелось бы добавлять регистр, мне кажется тут все очень просто и запрос не нужен...
как максимально просто все написать? |
|||
12
Лефмихалыч
28.11.11
✎
21:00
|
(10) в код такие вещи зашивать - безмозглое решение
|
|||
13
informts
28.11.11
✎
21:03
|
такие вещи просто нужны кассирам на время акции - на одну неделю
|
|||
14
informts
28.11.11
✎
21:04
|
а для этого создавать регистр тоже не вижу смысла...
|
|||
15
Лефмихалыч
28.11.11
✎
21:05
|
(13) ага, регистр добавлять на одну неделю - плохо, а быдлокода навалить кучу - хорошо, хотя и то, и другое - навечно. При том, что коэффициент номенклатуры по разным филиалам у тебя уже в отдельном регистре хранится
|
|||
16
informts
28.11.11
✎
21:08
|
тоже верно, и всетаки )) в моем варианте все считает правильно, но выводит количество по разным коэффициентам отдельно, как вывести итого по всем строкам?
|
|||
17
informts
28.11.11
✎
21:46
|
ап
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |