|
Как это сделать (СКД)? | ☑ | ||
---|---|---|---|---|
0
Тоненький Клиент
23.10.12
✎
17:11
|
В СКД новичок, прошу помощи.
Подскажите, как сделать следующее: одним запросом я выцепляю данные по расходу номенклатуры по дням ВЫБРАТЬ НАЧАЛОПЕРИОДА(Продажи.Период, ДЕНЬ) КАК Период, СУММА(Продажи.Количество) КАК КоличествоОтгрузка, Продажи.Номенклатура, Продажи.Контрагент ИЗ РегистрНакопления.Продажи КАК Продажи ГДЕ Продажи.Контрагент = &Контрагент И Продажи.Номенклатура = &Номенклатура И Продажи.Период МЕЖДУ &НачПериод И &КонПериод И Продажи.Количество < &Порог //порог равен нулю СГРУППИРОВАТЬ ПО НАЧАЛОПЕРИОДА(Продажи.Период, ДЕНЬ), Продажи.Номенклатура, Продажи.Контрагент вторым получаю количество прихода номенклатуры (то же, но Продажи.Количество > &Порог. Как сделать соединение результатов запроса так, чтобы в одной колонке было количество расхода, в другой - количество прихода, если в данный день было хотя бы какое-то движение? Например дата расход приход 01.01.2011 -2 5 02.01.2011 6 04.01.2011 -3 Заранее спасибо, извините за глупые вопросы. |
|||
1
Kashemir
23.10.12
✎
17:13
|
Зачем тебе 2 таблицы. Делай одной - значение ресурса ограничь условием а не таблицы
Выбор когда Продажи.Количество > &Порог Тогда Продажи.Количество иначе 0 конец как ПродажиВышеПорога |
|||
2
GLazNik
23.10.12
✎
17:15
|
(0) А использовать РегистрНакопления.Продажи.Обороты не судьба?
|
|||
3
Тоненький Клиент
23.10.12
✎
17:16
|
(2) а он даст мне возможность отделить положительные и отрицательные движения в пределах дня, а не общим итогом?
|
|||
4
Kashemir
23.10.12
✎
17:20
|
(3) Ну так поставь периодичность день
|
|||
5
GLazNik
23.10.12
✎
17:21
|
(3) Хмъ... Продажи... регистр оборотный... так понимаю... но нафига тут тогда приход????
Ну и (1) как вариант... вот только зачем использовать параметр &Порог тож не пойму... можно ж сразу с 0 и сравнить. |
|||
6
GLazNik
23.10.12
✎
17:22
|
+(5) к (0) похоже у вас кривая архитектура и используете не те регистры и не в том месте...
|
|||
7
Тоненький Клиент
23.10.12
✎
17:25
|
Подскажите, какие лучше использовать...
|
|||
8
Тоненький Клиент
23.10.12
✎
17:33
|
или вот такой ... говн0код я сделал
ВЫБРАТЬ НАЧАЛОПЕРИОДА(Продажи.Период, ДЕНЬ) КАК Период, СУММА(Продажи.Количество) КАК приход, 0 КАК расход, Продажи.Номенклатура, Продажи.Контрагент ИЗ РегистрНакопления.Продажи КАК Продажи ГДЕ Продажи.Контрагент = &Контрагент И Продажи.Номенклатура = &Номенклатура И Продажи.Период МЕЖДУ &НачПериод И &КонПериод И Продажи.Количество > &Порог СГРУППИРОВАТЬ ПО НАЧАЛОПЕРИОДА(Продажи.Период, ДЕНЬ), Продажи.Номенклатура, Продажи.Контрагент ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ НАЧАЛОПЕРИОДА(Продажи.Период, ДЕНЬ), 0, СУММА(Продажи.Количество), Продажи.Номенклатура, Продажи.Контрагент ИЗ РегистрНакопления.Продажи КАК Продажи ГДЕ Продажи.Контрагент = &Контрагент И Продажи.Номенклатура = &Номенклатура И Продажи.Период МЕЖДУ &НачПериод И &КонПериод И Продажи.Количество < &Порог СГРУППИРОВАТЬ ПО НАЧАЛОПЕРИОДА(Продажи.Период, ДЕНЬ), Продажи.Номенклатура, Продажи.Контрагент УПОРЯДОЧИТЬ ПО Период В итоге получил ПОЧТИ то, что хотел: дата приход расход номенклатура контрагент 02.05.2011 4 Тара Крючков маг.Крючков 07.05.2011 -3 Тара Крючков маг.Крючков 07.05.2011 2 Тара Крючков маг.Крючков 10.05.2011 -6 Тара Крючков маг.Крючков Но надо, чтобы было не две строчки на 07.05.12, а одна типа 07.05.2011 2 -3 Тара Крючков маг.Крючков Подскажите, пожалуйста! |
|||
9
GLazNik
23.10.12
✎
17:36
|
(8) вы регистр сами добавили или он уже был? что за конфа? какая задача вообще стоит?
|
|||
10
Всеяд
23.10.12
✎
17:39
|
Если предположить, что действительно так и нужно использовать сей регистр, то тебе не хватает либо группировки в СКД, либо итоговой группировки результата объединения в запросе.
|
|||
11
Тоненький Клиент
23.10.12
✎
17:40
|
(9) это УТ 10.3, типовая на 99%
стоит задача получить отчет движения номенклатуры-тары, которая продается через РТиУ буз стоимости (бесплатно), а потом возвращается Возвратом товаров от покупателя. Надо всего лишь получить в отчете инфу по схеме: день изменений - входящий остаток - движение приход (если было) - движение расход (если было) -конечный остаток. Проблемы у меня возникли именно с тем, как объединить те дни, когда были движения и расхода и прихода, чтобы они не сворчивались в сумму |
|||
12
Тоненький Клиент
23.10.12
✎
17:41
|
(10) как итоговую группировку сделать?
|
|||
13
GLazNik
23.10.12
✎
17:45
|
(11) хмъ... вот чего нет под рукой того нет... Регистр Продажи оборотный?
|
|||
14
Тоненький Клиент
23.10.12
✎
17:46
|
оборотный
|
|||
15
GLazNik
23.10.12
✎
17:50
|
(14) странные движения он делает.... и в "+" и в "-"...
а вообще вернись к (1) там ответ был: Сумма(Выбор когда Продажи.Количество > 0 Тогда Продажи.Количество иначе 0 конец) как КоличествоПриход аналогично и для расхода... но возможно правильнее будет использовать какой-то другой регистр... |
|||
16
Тоненький Клиент
23.10.12
✎
17:57
|
(15) спасибо, но всё равно не могу объединить в одну строчку (((
ВЫБРАТЬ НАЧАЛОПЕРИОДА(Продажи.Период, ДЕНЬ) КАК Период, СУММА(Выбор когда Продажи.Количество > 0 Тогда Продажи.Количество иначе 0 конец) КАК приход, 0 КАК расход, Продажи.Номенклатура, Продажи.Контрагент ИЗ РегистрНакопления.Продажи КАК Продажи ГДЕ Продажи.Контрагент = &Контрагент И Продажи.Номенклатура = &Номенклатура И Продажи.Период МЕЖДУ &НачПериод И &КонПериод И Продажи.Количество > &Порог СГРУППИРОВАТЬ ПО НАЧАЛОПЕРИОДА(Продажи.Период, ДЕНЬ), Продажи.Номенклатура, Продажи.Контрагент ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ НАЧАЛОПЕРИОДА(Продажи.Период, ДЕНЬ), 0 как приход, Сумма(Выбор когда Продажи.Количество < 0 Тогда Продажи.Количество иначе 0 конец) как Расход, Продажи.Номенклатура, Продажи.Контрагент ИЗ РегистрНакопления.Продажи КАК Продажи ГДЕ Продажи.Контрагент = &Контрагент И Продажи.Номенклатура = &Номенклатура И Продажи.Период МЕЖДУ &НачПериод И &КонПериод И Продажи.Количество < &Порог СГРУППИРОВАТЬ ПО НАЧАЛОПЕРИОДА(Продажи.Период, ДЕНЬ), Продажи.Номенклатура, Продажи.Контрагент УПОРЯДОЧИТЬ ПО Период или не так? |
|||
17
GLazNik
23.10.12
✎
18:00
|
(16) или не так... думалку то включать надо иногда...
ВЫБРАТЬ НАЧАЛОПЕРИОДА(Продажи.Период, ДЕНЬ) КАК Период, СУММА(Выбор когда Продажи.Количество > 0 Тогда Продажи.Количество иначе 0 конец) КАК приход, СУММА(Выбор когда Продажи.Количество < 0 Тогда Продажи.Количество иначе 0 конец) КАК расход, Продажи.Номенклатура, Продажи.Контрагент ИЗ РегистрНакопления.Продажи КАК Продажи ГДЕ Продажи.Контрагент = &Контрагент И Продажи.Номенклатура = &Номенклатура И Продажи.Период МЕЖДУ &НачПериод И &КонПериод СГРУППИРОВАТЬ ПО НАЧАЛОПЕРИОДА(Продажи.Период, ДЕНЬ), Продажи.Номенклатура, Продажи.Контрагент |
|||
18
Тоненький Клиент
23.10.12
✎
18:04
|
(17) спасибо тебе огромное!!!
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |