|
v7: Подскажите по регистрам новичку | ☑ | ||
---|---|---|---|---|
0
oleg056
02.08.12
✎
10:46
|
Есть запрос по расходным наклонным - "Расход за период"
"//{{ЗАПРОС(Сформировать) |Период с ВыбНачПериода по ВыбКонПериода; |ТМЦ = Документ.РозничнаяНакладная.ТМЦ; |Кво = Документ.РозничнаяНакладная.Кво; |ЦенаСНДС = Документ.РозничнаяНакладная.ЦенаСНДС; |СуммаСНДС = Документ.РозничнаяНакладная.СуммаСНДС; |Склад = Документ.РозничнаяНакладная.Склад; |Условие (Склад в ВыбСклады); |Функция КвоСумма = Сумма(Кво); |Группировка ТМЦ |Упорядочить по ТМЦ.Код; |Группировка ЦенаСНДС; |";//}}ЗАПРОС Решил переделать на регистры "//{{ЗАПРОС(Сформировать) |Период с ВыбНачПериода по ВыбКонПериода; |ТМЦ = Регистр.Обороты.ТМЦ; |Кво = Регистр.Обороты.РасходКво; |ЦенаСНДС = Регистр.Обороты.Цена; //<<<<<<<<<<<<<<<<<<<<<<<<< |СуммаСНДС = Регистр.Обороты.РасходОсн; |Склад = Регистр.Обороты.Склад; |Условие (Склад в ВыбСклады); |Функция КвоСумма = Сумма(Кво); |Группировка ТМЦ |Упорядочить по ТМЦ.Код; |Группировка ЦенаСНДС; |";//}}ЗАПРОС Но в регистрах отсутствовала цена за единицу Регистр.Обороты.Цена Я добавил это поле. Вопрос. Нормально держать в регистрах цену за единицу или нет, или может первый запрос лучше, а может вообще по третьему делать. |
|||
1
Nirvana
02.08.12
✎
13:14
|
ЦенаСНДС=Регистр.Обороты.РасходОсн/Регистр.Обороты.РасходКво
|
|||
2
Ыщъ
02.08.12
✎
13:18
|
(1) Что это было?
|
|||
3
oleg056
02.08.12
✎
13:19
|
(1) Так получится средняя цена.
Вот я и думаю нормально сохранять в регистры Цену за единицу? |
|||
4
Ёпрст
02.08.12
✎
13:25
|
(3) не нормально
|
|||
5
Волесвет
02.08.12
✎
13:31
|
нафига в регистрах цену за единицу????О_О
|
|||
6
Karambol
02.08.12
✎
13:31
|
Цену, как справочную информацию, логично хранить в справочнике
|
|||
7
oleg056
02.08.12
✎
13:31
|
Подскажите как тогда правильно делать?
Если цена за единицу от документа к документу может быть разной и в отчете я должен группировать по Цене 1й запрос у меня работает, но хотелось чтоб все правильно было. Вот и пытаюсь это через регистры сделать |
|||
8
oleg056
02.08.12
✎
13:32
|
(6) Цена разная от документа к документу
|
|||
9
Karambol
02.08.12
✎
13:33
|
(8)Как цена зависит от документа?
|
|||
10
Nirvana
02.08.12
✎
13:34
|
(7) Всё зависит от задачи. Если нужна аналитика в разрезе цен, значит нужно измерение в регистре.
|
|||
11
Волесвет
02.08.12
✎
13:34
|
(7) в тз и сортируем по номенклатуре и цене
|
|||
12
ЧеловекДуши
02.08.12
✎
13:35
|
(8)Ты лучше назови ка нам отчет, как его там у вас кликать будут?
Чувствую, ты что-то не то мастеришь ;) |
|||
13
oleg056
02.08.12
✎
13:35
|
(9) Я могу не правильно выражаться
Но разве я не могу продавать один и тот-же товар по разной цене |
|||
14
Karambol
02.08.12
✎
13:36
|
Может проще получать цену так: Цена = Сумма/Количество?
|
|||
15
oleg056
02.08.12
✎
13:36
|
(14) Проще. Но разве он не среднюю цену выведет?
И я не смогу Группировать по Цене |
|||
16
oleg056
02.08.12
✎
13:38
|
В отчете одинаковый товар но с разной ценой не групируется
|
|||
17
Karambol
02.08.12
✎
13:38
|
(15)А если сделать группировку по документу и в этой группировке так получать цену?
|
|||
18
oleg056
02.08.12
✎
13:45
|
(17) Вроде так получается. Хм
Тогда нужно будет сделать ограничение в документе на повторяющие позиции. Правильно я понимаю? |
|||
19
Nikitas
02.08.12
✎
13:48
|
можешь группировать по срокам документов
|
|||
20
oleg056
02.08.12
✎
13:52
|
(19) Не очень понял как это
Сейчас получилось так ТекстЗапроса = "//{{ЗАПРОС(Сформировать) |Период с ВыбНачПериода по ВыбКонПериода; |ТМЦ = Регистр.Обороты.ТМЦ; |Кво = Регистр.Обороты.РасходКво; |СуммаСНДС = Регистр.Обороты.РасходОсн; |ТекДок = Регистр.Обороты.ТекущийДокумент; |Склад = Регистр.Обороты.Склад; |Условие (Склад в ВыбСклады); |Функция КвоСумма = Сумма(Кво); |Группировка ТМЦ |Упорядочить по ТМЦ.Код; |Группировка ТекДок; |";//}}ЗАПРОС Но есть ограничение (18) или это нормальное ограничение? |
|||
21
Nirvana
02.08.12
✎
13:55
|
(17)(18) Если везде делать группировки по документу, то пропадает смысл вообще держать регистр оборотов, достаточно самих документов.
|
|||
22
oleg056
02.08.12
✎
13:58
|
Т.е в моем случае Регистры нечего не выигрывают и можно оставить запрос (1) по документам ?
|
|||
23
oleg056
02.08.12
✎
14:03
|
ошибся (1)* а (0)
|
|||
24
Nikitas
02.08.12
✎
14:10
|
Специально держать регистр для такой цели конечно бестолково
|
|||
25
Karambol
02.08.12
✎
14:36
|
В чем суть задачи?
|
|||
26
Злопчинский
02.08.12
✎
15:07
|
неясен смысл задачи... на какой вопрос хотят получить ответ..? по какой цене лучше всего продавался товар..? это и так понятно - лучше всего будет если товар покупателям будет отдаваться безвозмездно
|
|||
27
oleg056
02.08.12
✎
15:16
|
(25) Суть задачи сделать правильно отчет больше в академических целях.
Есть рабочий вариант "//{{ЗАПРОС(Сформировать) |Период с ВыбНачПериода по ВыбКонПериода; |ТМЦ = Документ.РозничнаяНакладная.ТМЦ; |Кво = Документ.РозничнаяНакладная.Кво; |ЦенаСНДС = Документ.РозничнаяНакладная.ЦенаСНДС; |СуммаСНДС = Документ.РозничнаяНакладная.СуммаСНДС; |Склад = Документ.РозничнаяНакладная.Склад; |Условие (Склад в ВыбСклады); |Функция КвоСумма = Сумма(Кво); |Группировка ТМЦ |Упорядочить по ТМЦ.Код; |Группировка ЦенаСНДС; |";//}}ЗАПРОС И ТекстЗапроса = "//{{ЗАПРОС(Сформировать) |Период с ВыбНачПериода по ВыбКонПериода; |ТМЦ = Регистр.Обороты.ТМЦ; |Кво = Регистр.Обороты.РасходКво; |СуммаСНДС = Регистр.Обороты.РасходОсн; |ТекДок = Регистр.Обороты.ТекущийДокумент; |Склад = Регистр.Обороты.Склад; |Условие (Склад в ВыбСклады); |Функция КвоСумма = Сумма(Кво); |Группировка ТМЦ |Упорядочить по ТМЦ.Код; |Группировка ТекДок; |";//}}ЗАПРОС Но (21) Что смысла во втором варианте нет так как есть группировка по документу. Вопрос в том какой из этих двух вариантов выбрать. Тем более, что запрос с регистрами требует ограничение чтобы небыло одинаковых товаров в одном документе. Сам отчет выглядит: - продажи за периуд - группировка по товарам - группировка по ценнам (16) |
|||
28
Nirvana
02.08.12
✎
15:41
|
(27) Нужно исходить из всего комплекса задач.
В данном случае (если "Склад" - это реквизит шапки документа "РозничнаяНакладная") отбор по регистру с детализацией до документа будет сопоставим с перебором документов (и фильтрацией их по складу). Если же держать регистр в разрезе цен, то выборка итогов по регистру сразу выдаст все нужные данные (уже суммированные), в отличие от долгого перебора документов за период. Однако, если почти каждое сочетание товар+цена в документе будет уникальным (один и тот же товар по одной и той же цене не будет повторяться в периоде), в итогах регистра будет то же самое, что и в документах, то есть выигрыш опять же будет невелик. Другое дело, если понадобится ещё отбирать данные не по складу, а по конкретному товару (или группе) или по конкретной цене (списку цен) - тут, опять же, отбор итогов по регистру будет гораздо производительнее, чем перебор всех документов. |
|||
29
oleg056
02.08.12
✎
16:02
|
(28) Спасибо. Вроде начинает доходить
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |