Форум программистов, компьютерный форум, киберфорум
1С: Собственные программы
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
1 / 1 / 3
Регистрация: 16.02.2016
Сообщений: 83
1
1C 8.x

Null в запросе

27.07.2016, 18:02. Показов 924. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Добрый вечер.
Не могу прочитать статус жалобы, хотя запрос отрабатывает верно. Что здесь не так?


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;
            
            //ОбластьСтрока.Параметры.Решена = "";
            //ОбластьСтрока.Параметры.Принята = "";
            //ОбластьСтрока.Параметры.Назначена = "";
            //ОбластьСтрока.Параметры.НеРешена = "";
            //ОбластьСтрока.Параметры.РешенаЧастично = "";
            //ОбластьСтрока.Параметры.Закрыта = "";
            //ОбластьСтрока.Параметры.Решена = "";
            
        КонецЦикла;
    КонецЦикла;
    
    ТабДокумент.ЗакончитьАвтогруппировкуСтрок();
    ТабДокумент.Вывести(ОбластьПодвал);
КонецПроцедуры
Null в запросе


Null в запросе


Null в запросе
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
27.07.2016, 18:02
Ответы с готовыми решениями:

Ошибка в запросе. Тип NULL
Добрый день! Можете подсказать уже голову сломал. Выдает такую ошибку {Форма.Форма.Форма(67)}:...

Что быстрее, проверка на null, или проверка на тип перечисления в запросе?
вопрос такой. если несколько таблиц. сходных по структуре в запросе. в первой таблице ...

not null в запросе в коде пхп
Какой смысл при создании таблицы в базе данных, например вот такой: create table yra(id...

При запросе к Б\Д возвращается Null
Добрый день. Такая беда.. При запросе к Б\Д возвращается Null. Драйвер ODBC Firebird установил,...

1
Эксперт 1С
3057 / 2004 / 524
Регистрация: 25.06.2009
Сообщений: 6,964
28.07.2016, 15:40 2
philophobia, попробуйте это
1C
1
ВыборкаСтатус = ВыборкаФилиалы.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкамСИерархией, "Филиал");
заменить на
1C
1
ВыборкаСтатус = ВыборкаФилиалы.Выбрать();
0
28.07.2016, 15:40
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
28.07.2016, 15:40
Помогаю со студенческими работами здесь

Как игнорировать null значения в SQL запросе
Написал вот такой запрос @Repository public interface DepositMatrixDaoInt extends...

Игнорировать параметры в запросе при значении Null
Всем доброго времени суток. Возник такой вопрос. Готовлю запрос для репортса. В запросе есть...

Invalid use of Null при коде-запросе If на новую строку
Добрый день. Есть такой простой код: Private Sub Form_Current() If Me.Модельер Then ...

Как вывести данные из нескольких таблиц, если в запросе есть поле с NULL?
select Таблица1_ПолеА, Таблица1_ПолеБ, Таблица2_ПолеВ from Таблица1, Таблица2 where...

Как вернуть в запросе значение по умолчанию, если SELECT возвращает NULL или ничего не возвращает?
Добрый день! Например я хочу чтобы донное выражение возвращало мне 0 или скажем 1, если...

Блин, для ЧЕГО НУЖНА Функция CREATE TABLE invoice( inv_id INT AUTO_INCREMENT NOT NULL , usr_id INT NOT NULL , prod_id INT NOT NULL , quantity INT NOT
Погуглив, так и не смог толком понять. Есть тут ГУРУ по mysql Которые могут на пальцах или на...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru