|
Проверка на NULL | ☑ | ||
---|---|---|---|---|
0
fmq85
11.12.14
✎
12:02
|
Макет = Отчеты.ТренировкаТУРВ.ПолучитьМакет("Макет");
Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | Вход.Период, | Вход.Контингент, | Вход.Направление, | МИНИМУМ(Выход.Период) КАК Период1 |ПОМЕСТИТЬ ТЧ |ИЗ | РегистрСведений.ДвиженияКонтингента КАК Вход | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ДвиженияКонтингента КАК Выход | ПО Вход.Контингент = Выход.Контингент | И Вход.Период < Выход.Период |ГДЕ | Вход.Период МЕЖДУ &Период1 И &Период2 | И Вход.Направление = &НаправлениеВход | И Выход.Направление = &НаправлениеВыход | И Вход.Контингент ССЫЛКА Справочник.Пользователи |СГРУППИРОВАТЬ ПО | Вход.Период, | Вход.Контингент, | Вход.Направление |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | НАЧАЛОПЕРИОДА(ТЧ.Период, ДЕНЬ) КАК Период, | ТЧ.Контингент КАК Контингент, | СУММА(РАЗНОСТЬДАТ(ТЧ.Период, ТЧ.Период1, МИНУТА)) КАК Время |ИЗ | ТЧ КАК ТЧ | |СГРУППИРОВАТЬ ПО | НАЧАЛОПЕРИОДА(ТЧ.Период, ДЕНЬ), | ТЧ.Контингент | |УПОРЯДОЧИТЬ ПО | Период |ИТОГИ ПО | Контингент"; Запрос.УстановитьПараметр("НаправлениеВход", Перечисления.ТипыСобытийПроходной.Вход); Запрос.УстановитьПараметр("НаправлениеВыход", Перечисления.ТипыСобытийПроходной.Выход); Запрос.УстановитьПараметр("Период1", Дата1); Запрос.УстановитьПараметр("Период2", КонецМесяца(Дата2)); //Запрос.УстановитьПараметр("неопределено", неопределено); Результат = Запрос.Выполнить(); ОбластьШапка = Макет.ПолучитьОбласть("Шапка"); ОбластьКолонтитул = Макет.ПолучитьОбласть("Колонтитул"); ОбластьОбласть1 = Макет.ПолучитьОбласть("Область1"); ОбластьПодвал = Макет.ПолучитьОбласть("Подвал"); ТабДок = Новый ТабличныйДокумент; ТабДок.Очистить(); ОбластьШапка.Параметры.ИмяОрганизации = Константы.НаименованиеОрганизации.Получить(); ОбластьШапка.Параметры.ДатаНач = Дата1; ОбластьШапка.Параметры.ДатаКон = Дата2; ОбластьШапка.Параметры.ДатаЗаполнения = Дата2; ТабДок.Вывести(ОбластьШапка); ТабДок.Вывести(ОбластьКолонтитул); Табл = Результат.Выгрузить(); //ВыборкаПреподаватели = Результат.Выбрать(); ВыборкаПреподаватели = Результат.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам); нп=1; ИтВремя =0; ИтДень=0; СуммаПервая = 0; СуммаВторая = 0; Явка1 = 0; Явка2 = 0; Часы = 0; Пока ВыборкаПреподаватели.Следующий() Цикл //Если ВыборкаПреподаватели.Период = Null Тогда // Продолжить; //КонецЕсли; ОбластьОбласть1.Параметры.Работник = ВыборкаПреподаватели.Контингент; ОбластьОбласть1.Параметры.Должность = ВыборкаПреподаватели.Контингент.Должность; ОбластьОбласть1.Параметры.НомерПоПорядку = нп; нп = нп+1; Для ии = 1 по 31 Цикл ОбластьОбласть1.Параметры["День"+ ии] = "НН"; ОбластьОбласть1.Параметры["Время"+ ии]= 0; КонецЦикла; //ВыборкаДетальныеЗаписи = ВыборкаПреподаватели.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам); День = День(ВыборкаПреподаватели.Период); Часы = 0; Часы = Цел(ВыборкаПреподаватели.Время/60); Минуты = ВыборкаПреподаватели.Время-Часы * 60; ОбластьОбласть1.Параметры["День"+ День]= "Я"; ОбластьОбласть1.Параметры["Время"+ День]= Часы; Если День < 16 Тогда СуммаПервая = СуммаПервая + Часы; Явка1 = Явка1+1; Иначе СуммаВторая = СуммаВторая + Часы; Явка2 = Явка2+1; КонецЕсли; ИтВремя = ИтВремя + Часы; ИтДень= ИтДень+1; Если Часы > 48 Тогда ОбластьОбласть1.Области["День"+ День].ЦветФона=WebЦвета.КрасноФиолетовый; КонецЕсли; //Пока ВыборкаДетальныеЗаписи.Следующий() Цикл // День = День(ВыборкаДетальныеЗаписи.Период); // // Часы = Цел(ВыборкаДетальныеЗаписи.Время/60); // Минуты = ВыборкаДетальныеЗаписи.Время-Часы * 60; // // // ОбластьОбласть1.Параметры["День"+ День]= "Я"; // ОбластьОбласть1.Параметры["Время"+ День]= Часы; // // Если День < 16 Тогда // СуммаПервая = СуммаПервая + Часы; // Явка1 = Явка1+1; // Иначе // СуммаВторая = СуммаВторая + Часы; // Явка2 = Явка2+1; // КонецЕсли; // // // ИтВремя = ИтВремя + Часы; // ИтДень= ИтДень+1; // // Если Часы > 48 Тогда // ОбластьОбласть1.Области["День"+ День].ЦветФона=WebЦвета.КрасноФиолетовый; // КонецЕсли; //КонецЦикла; //Если ОбластьОбласть1.Параметры["Время"+ День]= "#" Тогда //КонецЕсли; ОбластьОбласть1.Параметры.ДМ1 = Явка1; ОбластьОбласть1.Параметры.ЧМ1 = СуммаПервая; ОбластьОбласть1.Параметры.ДМ2 = Явка2; ОбластьОбласть1.Параметры.ЧМ2 = СуммаВторая; Если СуммаПервая > 200 Тогда ОбластьОбласть1.Параметры.ЧМ2 = "#"; КонецЕсли; Если ОбластьОбласть1.Параметры.ЧМ1 = "#" Тогда ОбластьОбласть1.Области["ДПМ1"].ЦветФона=WebЦвета.КрасноФиолетовый; КонецЕсли; Если СуммаВторая > 200 Тогда ОбластьОбласть1.Параметры.ЧМ2 = "#"; КонецЕсли; Если ОбластьОбласть1.Параметры.ЧМ2 = "#" Тогда ОбластьОбласть1.Области["ДПМ2"].ЦветФона=WebЦвета.КрасноФиолетовый; КонецЕсли; ОбластьОбласть1.Параметры.ДМ = ИтДень; ОбластьОбласть1.Параметры.ЧМ = ИтВремя; Если ИтВремя > 400 Тогда ОбластьОбласть1.Параметры.ЧМ = "#"; КонецЕсли; Если ОбластьОбласть1.Параметры.ЧМ = "#" Тогда ОбластьОбласть1.Области["ДМ1"].ЦветФона=WebЦвета.КрасноФиолетовый; КонецЕсли; ТабДок.Вывести(ОбластьОбласть1); КонецЦикла; ОбластьПодвал.Параметры.ФИООтветственного = ПараметрыСеанса.ТекущийПользователь; ОбластьПодвал.Параметры.ДолжностьОтветственного = ПараметрыСеанса.ТекущийПользователь.Должность; ТабДок.Вывести(ОбластьПодвал); Возврат ТабДок; Просьба помочь в запросе установить проверку на NULL, Я-новичок в этом версия 8.2 |
|||
1
vicof
11.12.14
✎
12:04
|
У тебя внутреннее соединение в запросе. Никакаих нуллов там нет.
|
|||
2
DrZombi
гуру
11.12.14
✎
12:06
|
(1) Где Внутренний? :)
|
|||
3
vicof
11.12.14
✎
12:06
|
(2) Условия на правую таблицу
|
|||
4
DrZombi
гуру
11.12.14
✎
12:09
|
(0) Проверка на нуль...
1. <Твое Значение по запросу> Есть Null 2. ЕстьNull(<Твое Значение по запросу>,Значение(<Описание типа>)) = Значение(<Описание типа>) Значение(<Описание типа>), можно получить через функцию "ПредопределенноеЗначение("")" (Подстановочник от 1С сам тебе предложит, тебе только нужно это вставить в запрос) (3) Нет там такого :) |
|||
5
Ёпрст
11.12.14
✎
12:10
|
(4) есть там такое
|
|||
6
Ёпрст
11.12.14
✎
12:10
|
И на нулл проверка не нужна.
|
|||
7
Sammo
11.12.14
✎
12:11
|
(4) И Выход.Направление = &НаправлениеВыход
|
|||
8
DrZombi
гуру
11.12.14
✎
12:12
|
(5) (7) Спасибо, увидел...
Тогда Автор нужны Нули, наверное. Ведь их итак нет :) |
|||
9
DrShust
11.12.14
✎
12:14
|
(0) Откуда NULL?
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |