|
Создание отчета на СКД | ☑ | ||
---|---|---|---|---|
0
black_cat1305
12.03.14
✎
14:07
|
Добрый день! Необходимо на основе РегистраСведений создать отчет на СКД.
Есть регистр сведений с измерениями: дата Заказы Статусы 05.09.2013 14:27:37 55701 Действующий 05.09.2013 15:07:43 55701 Разработка 05.09.2013 15:08:53 55701 Действующий В отчете колонку Статусы разбить на две колонки СтатусПредыдущий и СтатусНастоящий, примерно должно быть так: дата Заказы СтатусПредыд СтатусыНаст 05.09.2013 14:27:37 55701 Действующий 05.09.2013 15:07:43 55701 Действующий Разработка 05.09.2013 15:08:53 55701 Разработка Действующий Может кто подкинет идею. Никак не могу правильно реализовать? |
|||
1
butterbean
12.03.14
✎
14:08
|
таблицу регистра саму с собой соединяешь по всем измерениям и сравнением по периоду на <
|
|||
2
black_cat1305
12.03.14
✎
14:09
|
а, можно поточнее?
|
|||
3
butterbean
12.03.14
✎
14:18
|
(2) вот как-то так:
ВЫБРАТЬ Т1.Заказ, Т1.Статус, Т2.Статус КАК ПредыдущийСтатус, ИЗ(ВЫБРАТЬ Т1.Заказ, Т1.Статус МАКСИМУМ(Т2.Период) КАК ПредПериод, ИЗ РегистрСведений.ТвойРегистр.СрезПоследних КАК Т1 ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ТвойРегистр КАК Т2 ПО Т1.Заказ = Т2.Заказ И Т1.Период > Т2.Период СГРУППИРОВАТЬ ПО Т1.Заказ,Т1.Статус) КАК Т1 ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ТвойРегистр КАК Т2 ПО Т1.Заказ = Т2.Заказ И Т1.ПредПериод = Т2.Период |
|||
4
black_cat1305
12.03.14
✎
14:23
|
спасибо! Буду пробовать)
|
|||
5
black_cat1305
28.03.14
✎
09:21
|
Добрый день.. Вопрос возник по данной проблеме снова, вот сделала отчет на СКД с запросом:
////////////////////////////////////// ВЫБРАТЬ СтатусыЗаказов.Заказ, СтатусыЗаказов.СтатусЗаказа КАК СтатусПредыдущий, ДатыПредыдущегоСтатуса.СтатусЗаказа КАК СтатусПоНастоящееВремя, ДатыПредыдущегоСтатуса.Период КАК ДатаИзмененияСтатуса ИЗ (ВЫБРАТЬ РАЗЛИЧНЫЕ СтатусыЗаказов.Период КАК Период, СтатусыЗаказов.Заказ КАК Заказ, СтатусыЗаказов.СтатусЗаказа КАК CтатусЗаказа, МАКСИМУМ(СтатусыЗаказовСрез.Период) КАК ПериодСтарый ИЗ РегистрСведений.СтатусыЗаказов КАК СтатусыЗаказов ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.СтатусыЗаказов КАК СтатусыЗаказовСрез ПО СтатусыЗаказов.Заказ = СтатусыЗаказовСрез.Заказ И СтатусыЗаказов.Период > СтатусыЗаказовСрез.Период ГДЕ СтатусыЗаказов.Период МЕЖДУ &НачалоПериода И &КонецПериода СГРУППИРОВАТЬ ПО СтатусыЗаказов.Заказ, СтатусыЗаказов.СтатусЗаказа, СтатусыЗаказов.Период) КАК ДатыПредыдущегоСтатуса ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.СтатусыЗаказов КАК СтатусыЗаказов ПО ДатыПредыдущегоСтатуса.ПериодСтарый = СтатусыЗаказов.Период И ДатыПредыдущегоСтатуса.Заказ = СтатусыЗаказов.Заказ УПОРЯДОЧИТЬ ПО ДатаИзмененияСтатуса //////////////////////////////////////////// /////////////////////////////////////////// Запрос срабатывает правильно кроме одного - если есть в РС СтатусыЗаказов один заказ, то в отчет данный заказ не выводится так как в РС СтатусыЗаказов только одно движение по этому заказу. Помогите, ежу перепробовала все возможные варианты установки условий но никак у меня не срабатывает((( |
|||
6
barrgand
28.03.14
✎
09:26
|
(5) Поменять соединение на ЛЕВОЕ?
|
|||
7
black_cat1305
28.03.14
✎
09:26
|
неа, не помогает(((
|
|||
8
black_cat1305
28.03.14
✎
09:44
|
отзовитесь!!!!
|
|||
9
barrgand
28.03.14
✎
10:40
|
(8) Сделай пакетный запрос:
1 запрос - текущий статус 2 запрос - левое соединение с регистром - выбор даты пред. статуса 3 запрос - левое соединение с регистром - выбор статуса по дате пред. статуса |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |