1 / 1 / 3
Регистрация: 16.02.2016
Сообщений: 83
|
|
1
|
1C 8.x Null в запросе
27.07.2016, 18:02. Показов 924. Ответов 1
Добрый вечер.
Не могу прочитать статус жалобы, хотя запрос отрабатывает верно. Что здесь не так?
1C | 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
| Процедура Филиалы (ТабДокумент)
ЗапросФилиалы = Новый Запрос;
ЗапросФилиалы.Текст = "ВЫБРАТЬ РАЗЛИЧНЫЕ
| ОУ_РешенияЖалобСрезПоследних.Филиал КАК Филиал,
| КОЛИЧЕСТВО(ОУ_РешенияЖалобСрезПоследних.ДокументЖалоба) КАК КоличествоЖалоб,
| ПРЕДСТАВЛЕНИЕ(ОУ_РешенияЖалобСрезПоследних.СтатусЖалобы) КАК Статус
|
|ИЗ
| (ВЫБРАТЬ
| МАКСИМУМ(ОУ_РешенияЖалобСрезПоследних.Период) КАК ПоследнееИзменение,
| ОУ_РешенияЖалобСрезПоследних.ДокументЖалоба КАК ДокументЖалоба
| ИЗ
| РегистрСведений.ОУ_РешенияЖалоб.СрезПоследних КАК ОУ_РешенияЖалобСрезПоследних
|
| СГРУППИРОВАТЬ ПО
| ОУ_РешенияЖалобСрезПоследних.ДокументЖалоба)КАК ВложенныйЗапрос
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ОУ_РешенияЖалоб.СрезПоследних(, ) КАК ОУ_РешенияЖалобСрезПоследних
| ЛЕВОЕ СОЕДИНЕНИЕ Перечисление.ОУ_СтатусыЖалоб КАК ОУ_СтатусыЖалоб
| ПО ОУ_РешенияЖалобСрезПоследних.СтатусЖалобы = ОУ_СтатусыЖалоб.Ссылка
| ПО ВложенныйЗапрос.ПоследнееИзменение = ОУ_РешенияЖалобСрезПоследних.Период";
//ЗАПОЛНЕНО ВСЕ
Если ЗначениеЗаполнено(НачалоПериода) И ЗначениеЗаполнено(КонецПериода) И ЗначениеЗаполнено(Филиал) Тогда
ЗапросФилиалы.Текст = ЗапросФилиалы.Текст + "
|ГДЕ
| ОУ_РешенияЖалобСрезПоследних.Филиал = &Филиал
| И ОУ_РешенияЖалобСрезПоследних.Период МЕЖДУ &НачалоПериода И &КонецПериода";
//НЕ ЗАПОЛНЕНА ДАТА
ИначеЕсли ЗначениеЗаполнено(Филиал) И НЕ ЗначениеЗаполнено(НачалоПериода) И НЕ ЗначениеЗаполнено(КонецПериода) Тогда
ЗапросФилиалы.Текст = ЗапросФилиалы.Текст + "
|ГДЕ
| ОУ_РешенияЖалобСрезПоследних.Филиал = &Филиал";
//НЕ ЗАПОЛНЕН ФИЛИАЛ
ИначеЕсли НЕ ЗначениеЗаполнено(Филиал) И ЗначениеЗаполнено(НачалоПериода) И ЗначениеЗаполнено(КонецПериода) Тогда
ЗапросФилиалы.Текст = ЗапросФилиалы.Текст + "
|ГДЕ
| ОУ_РешенияЖалобСрезПоследних.Период МЕЖДУ &НачалоПериода И &КонецПериода";
КонецЕсли;
ЗапросФилиалы.Текст = ЗапросФилиалы.Текст + "
|СГРУППИРОВАТЬ ПО
| ОУ_РешенияЖалобСрезПоследних.Филиал,
| ОУ_РешенияЖалобСрезПоследних.ДокументЖалоба,
| ОУ_РешенияЖалобСрезПоследних.СтатусЖалобы
|
|УПОРЯДОЧИТЬ ПО
| Филиал
|ИТОГИ ПО
| Филиал";
ЗапросФилиалы.УстановитьПараметр("НачалоПериода", НачалоПериода);
ЗапросФилиалы.УстановитьПараметр("КонецПериода", КонецПериода);
ЗапросФилиалы.УстановитьПараметр("Филиал", Филиал);
ВыборкаФилиалы = ЗапросФилиалы.Выполнить().Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
МакетФилиалы = ПолучитьМакет("МакетФилиалы");
ОбластьШапка = МакетФилиалы.ПолучитьОбласть("Шапка");
ОбластьСтрока = МакетФилиалы.ПолучитьОбласть("Строка");
ОбластьПодвал = МакетФилиалы.ПолучитьОбласть("Подвал");
ОбластьШапка.Параметры.НачалоПериода = Формат(НачалоПериода, "ДЛФ=Д");
ОбластьШапка.Параметры.КонецПериода = Формат(КонецПериода, "ДЛФ=Д");
ТабДокумент.Вывести(ОбластьШапка);
ТабДокумент.НачатьАвтогруппировкуСтрок();
Нпп=1;
Принята = 0; Решена = 0;
Назначена = 0; НеРешена = 0;
Закрыта = 0; РешенаЧастично = 0;
Пока ВыборкаФилиалы.Следующий() Цикл
ВыборкаСтатус = ВыборкаФилиалы.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкамСИерархией, "Филиал");
ОбластьСтрока.Параметры.Филиал = ВыборкаФилиалы.Филиал;
Пока ВыборкаСтатус.Следующий() Цикл
ОбластьСтрока.Параметры.Филиал = ВыборкаСтатус.Филиал;
Если ВыборкаСтатус.Статус = "Решена" Тогда Решена = Решена + ВыборкаСтатус.КоличествоЖалоб;
ОбластьСтрока.Параметры.Решена = Решена;
ИначеЕсли ВыборкаСтатус.Статус = "Принята" Тогда Принята = Принята + ВыборкаСтатус.КоличествоЖалоб;
ОбластьСтрока.Параметры.Принята = Принята;
ИначеЕсли ВыборкаСтатус.Статус = "Назначена" Тогда Назначена = Назначена + ВыборкаСтатус.КоличествоЖалоб;
ОбластьСтрока.Параметры.Назначена = Назначена;
ИначеЕсли ВыборкаСтатус.Статус = "Не решена" Тогда НеРешена = НеРешена + ВыборкаСтатус.КоличествоЖалоб;
ОбластьСтрока.Параметры.НеРешена = НеРешена;
ИначеЕсли ВыборкаСтатус.Статус = "Решена частично" Тогда РешенаЧастично = РешенаЧастично + ВыборкаСтатус.КоличествоЖалоб;
ОбластьСтрока.Параметры.РешенаЧастично = РешенаЧастично;
ИначеЕсли ВыборкаСтатус.Статус = "Закрыта" Тогда Закрыта = Закрыта + ВыборкаСтатус.КоличествоЖалоб;
ОбластьСтрока.Параметры.Закрыта = Закрыта;
КонецЕсли;
Нпп = Нпп + 1;
ТабДокумент.Вывести(ОбластьСтрока);
Принята = 0; Решена = 0;
Назначена = 0; НеРешена = 0;
Закрыта = 0; РешенаЧастично = 0;
//ОбластьСтрока.Параметры.Решена = "";
//ОбластьСтрока.Параметры.Принята = "";
//ОбластьСтрока.Параметры.Назначена = "";
//ОбластьСтрока.Параметры.НеРешена = "";
//ОбластьСтрока.Параметры.РешенаЧастично = "";
//ОбластьСтрока.Параметры.Закрыта = "";
//ОбластьСтрока.Параметры.Решена = "";
КонецЦикла;
КонецЦикла;
ТабДокумент.ЗакончитьАвтогруппировкуСтрок();
ТабДокумент.Вывести(ОбластьПодвал);
КонецПроцедуры |
|
0
|