Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
Denis
Зарегистрирован: 01.06.2011 Сообщения: 39
|
Добавлено: Пн Фев 02, 2015 13:47 Заголовок сообщения: Расчет значений в ячейках |
|
|
Добрый день!
Пробую доработать отчетик, застрял на том , что нужно провести некоторые вычисления в ячейках.
Для примера:
Код: | declare @val1 int;
declare @val2 int;
set @val1 = (select 1+1);
set @val2 = (select 1+2);
select @val1+@val2 as summ;
|
Сей код работает в SQL Manager Studio , но на отрез отказывается исполняться в БоссКадровике (Файл кодов, который Shift+F1)
Ругается, что @val1 not declared |
|
Вернуться к началу |
|
 |
Denis
Зарегистрирован: 01.06.2011 Сообщения: 39
|
Добавлено: Пн Фев 02, 2015 14:01 Заголовок сообщения: |
|
|
А ну может я создаю велосипед и уже есть некая функция.
В общем чего хочу сделать.
Есть неявки по невыясненным причинам, они зачастую "перекрываются" больничными, отпусками и прочими официальными неявками.
Задача - выявить НН, определить есть ли обоснование в виде Б (например больничный) и затем вычислить разницу в днях. Из количества дней по НН вычесть дни по Б.
Если результат минусовой или 0, то все в порядке, если значение плюсовое, тогда уже другой разговор.
По сути в те переменные @val1 и @val2 хочу записать запросы на вычисления дней по НН и Б и затем найти разницу |
|
Вернуться к началу |
|
 |
DUCKKK Большой шоколадный орден

Зарегистрирован: 16.09.2009 Сообщения: 1690
|
Добавлено: Пн Фев 02, 2015 16:59 Заголовок сообщения: |
|
|
Вообще-то есть серийный функционал на пересечение неявок по периодам ... а там уж анализируйте даты. Чем это не подходит? |
|
Вернуться к началу |
|
 |
Denis
Зарегистрирован: 01.06.2011 Сообщения: 39
|
Добавлено: Вт Фев 03, 2015 10:42 Заголовок сообщения: |
|
|
Это только часть для формирования отчета.
Отчет должен выводить список работников с их назначениями и всеми неявками в течении действия назначения. Получается иерархия, в вершине которой назначение с датами от и до и под ним записываем все неявки в течении этого периода.
Затем следующее назначение и тоже самое с неявками.
В одном из столбцов отчета подсчитывается количество дней.
И выходит такая табличка, в которой указаны назначения, неявки, периоды действия и количество дней.
Тут все получилось. Но дальше возникла сложность. Например есть НН с периодом и тут же с таким же периодом есть отпуск без сохранения ЗП.
Допустим по 5 дней на каждую запись.
Эти 5 дней надо вычесть из количества дней в назначении. Но если просто вычитать не глядя, то вычтем 5 дней отпуска без ЗП и 5 дней НН, хотя они друг друга перекрывают.
Т.е. тут я решил сначала разобраться с пересечениями.
Как вариант из количества дней НН вычесть количество дней отпуска без ЗП.
Получим в итоге что в НН = 0 дней , а Отпуск без ЗП = 5 дней
И уже потом только вычитаем эти дни из назначения.
Т.е. тут возврат к вопросу в начале поста.
Как записать результат запроса в переменную? |
|
Вернуться к началу |
|
 |
RVV Большой шоколадный орден

Зарегистрирован: 14.01.2010 Сообщения: 449
|
Добавлено: Вт Фев 03, 2015 12:12 Заголовок сообщения: Re: Расчет значений в ячейках |
|
|
Denis писал(а): | Добрый день!
Пробую доработать отчетик, застрял на том , что нужно провести некоторые вычисления в ячейках.
Для примера:
Код: | declare @val1 int;
declare @val2 int;
set @val1 = (select 1+1);
set @val2 = (select 1+2);
select @val1+@val2 as summ;
|
Сей код работает в SQL Manager Studio , но на отрез отказывается исполняться в БоссКадровике (Файл кодов, который Shift+F1)
Ругается, что @val1 not declared |
Для информации: в БОСС используется Х-язык. И этот язык не равен T-SQL.
LOCAL _summ := 0;
SELECT 1+2+.... INTO _summ; |
|
Вернуться к началу |
|
 |
|