Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

Очень хитрый запрос

Очень хитрый запрос
Я
   tigrandis
 
20.05.21 - 16:39
Всем привет, помогите идеей, сразу говорю не предлагать другие варианты кроме запроса, т.к. построчно обрабатывать не хочется, есть 2 периодических регистра, в одном регистре задания на сегодня, в другом результат выполнения, нужно получать время выполнения половины работы по дням, сам додумался получить задания на каждый день и 50 процентов от задания, если построчно то можно получить ПЕРВЫЕ КОЛИЧЕСТВО50Процентов и обратная сортировка, а можно как то это сделать для всей таблицы ??? + 100500 к карме кто придумает что то хорошее
   RomanYS
 
1 - 20.05.21 - 16:42
(0) Ничего не понятно.
Пример таблиц и ожидаемого результата давай
   Малыш Джон
 
2 - 20.05.21 - 16:43
запрос не хитрый, запрос обыкновенный

формулировка задачи непонятная
   программистище
 
3 - 20.05.21 - 16:46
т.е. может быть 1 мая выполнено 30% за 5 часов, 2 мая 60% за 2 часа
и тебе надо просуммировать только те что меньше либо равны 50%
?
   tigrandis
 
4 - 20.05.21 - 16:47
Таблица Задания На Сегодня 
Починить Компьютер АСУС
Починить Компьютер ХП
Починить Компьютер Мак
Починить Компьютер АСЕР
Починить Компьютер Леново 

Таблица Выполненные 
Компьютер АСУС 11:15:13
Компьютер ХП 13:15:23
Компьютер Мак 14:16:40
Компьютер АСЕР 16:35:43
   tigrandis
 
5 - 20.05.21 - 16:48
(4) Если смотреть по моей таблице, Мне нужно получить время починки Мака т.к всего на сегодня 5, половина 2,5(окр 3), во второй таблице номер записи 3
   tigrandis
 
6 - 20.05.21 - 16:49
(3) ну у меня почти каждый день выполнено 100 %, хочу понять во сколько выполняется 50 процентов,
   Arbuz
 
7 - 20.05.21 - 16:49
В тему приглашаются опытные телепаты.
   Ivan_495
 
8 - 20.05.21 - 16:50
левое , плюс фильтр по дате
   tigrandis
 
9 - 20.05.21 - 16:51
(7) и исключаются неопытные программисты)
   Arbuz
 
10 - 20.05.21 - 16:51
Мыслепереводчикам потоков сознания также будем рады.
   Малыш Джон
 
11 - 20.05.21 - 16:51
(9) то есть у тебя эти задания идут подряд и тебе нужно задание на котором наступает половина рабочего дня?
   tigrandis
 
12 - 20.05.21 - 16:52
(8) в первой таблице период просто день, а во второй секунда
   tigrandis
 
13 - 20.05.21 - 16:52
(11) да да
   Малыш Джон
 
14 - 20.05.21 - 16:53
(13) нумеруй вторую таблицу в рамках дня, потом - нужный номер = количество заданий пополам, потом вытаскиваешь задание с нужным номером
   tigrandis
 
15 - 20.05.21 - 16:54
(14) ооо, спс, Я уже почти сдался и сделал через обработку
   Малыш Джон
 
16 - 20.05.21 - 17:03
(15) ВЫБРАТЬ
    &День1 КАК День,
    &Задание1 КАК Задание,
    &ВремяВыполнения1 КАК ВремяВыполнения
ПОМЕСТИТЬ ВТ_ТаблицаВыполнения

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
    &День2,
    &Задание2,
    &ВремяВыполнения2

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
    &День3,
    &Задание3,
    &ВремяВыполнения3
;

////////////////////////////////////////////////////////////////////////////////

ВЫБРАТЬ
    ВТ_ТаблицаВыполнения.День,
    ВТ_ТаблицаВыполнения.Задание,
    ВТ_ТаблицаВыполнения.ВремяВыполнения,
    КОЛИЧЕСТВО(ВТ_ТаблицаВыполнения1.ВремяВыполнения) КАК ПорядковыйНомер
ПОМЕСТИТЬ ВТ_ТаблицаПронумерованная
ИЗ
    ВТ_ТаблицаВыполнения КАК ВТ_ТаблицаВыполнения
        ЛЕВОЕ СОЕДИНЕНИЕ ВТ_ТаблицаВыполнения КАК ВТ_ТаблицаВыполнения1
        ПО ВТ_ТаблицаВыполнения.День = ВТ_ТаблицаВыполнения1.День
            И ВТ_ТаблицаВыполнения.ВремяВыполнения >= ВТ_ТаблицаВыполнения1.ВремяВыполнения

СГРУППИРОВАТЬ ПО
    ВТ_ТаблицаВыполнения.День,
    ВТ_ТаблицаВыполнения.Задание,
    ВТ_ТаблицаВыполнения.ВремяВыполнения
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    ВТ_ТаблицаПронумерованная.День,
    ВЫРАЗИТЬ((КОЛИЧЕСТВО(ВТ_ТаблицаПронумерованная.ВремяВыполнения)+1) / 2 КАК ЧИСЛО(5,0)) КАК НомерСреднего
ПОМЕСТИТЬ ВТ_НомерСреднего
ИЗ
    ВТ_ТаблицаПронумерованная КАК ВТ_ТаблицаПронумерованная

СГРУППИРОВАТЬ ПО
    ВТ_ТаблицаПронумерованная.День
;

////////////////////////////////////////////////////////////////////////////////

ВЫБРАТЬ
    ВТ_НомерСреднего.День,
    ВТ_ТаблицаПронумерованная.Задание,
    ВТ_ТаблицаПронумерованная.ВремяВыполнения,
    ВТ_ТаблицаПронумерованная.ПорядковыйНомер
ИЗ
    ВТ_НомерСреднего КАК ВТ_НомерСреднего
        ЛЕВОЕ СОЕДИНЕНИЕ ВТ_ТаблицаПронумерованная КАК ВТ_ТаблицаПронумерованная
        ПО ВТ_НомерСреднего.НомерСреднего = ВТ_ТаблицаПронумерованная.ПорядковыйНомер
   Said_We
 
17 - 20.05.21 - 17:03
(0) Переходящие задачи изо дня в день к какому дню относятся?
   Said_We
 
18 - 20.05.21 - 17:06
(16) Порядковый номер можно получать через Автономер записи.

ВЫБРАТЬ ПЕРВЫЕ 1316134911
    ВТ_Данные.Дата КАК Дата,
    АВТОНОМЕРЗАПИСИ() КАК нпп
ПОМЕСТИТЬ ВТ_ДанныеСорт
ИЗ
    ВТ_Данные КАК ВТ_Данные

УПОРЯДОЧИТЬ ПО
    Дата,

Список тем форума
 
Миста — веселый ресурс со своими эксклюзивными тараканами Ymryn
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.