Имя: Пароль:
1C
1С v8
Очень хитрый запрос
,
0 tigrandis
 
20.05.21
16:39
Всем привет, помогите идеей, сразу говорю не предлагать другие варианты кроме запроса, т.к. построчно обрабатывать не хочется, есть 2 периодических регистра, в одном регистре задания на сегодня, в другом результат выполнения, нужно получать время выполнения половины работы по дням, сам додумался получить задания на каждый день и 50 процентов от задания, если построчно то можно получить ПЕРВЫЕ КОЛИЧЕСТВО50Процентов и обратная сортировка, а можно как то это сделать для всей таблицы ??? + 100500 к карме кто придумает что то хорошее
1 RomanYS
 
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%
?
4 tigrandis
 
20.05.21
16:47
Таблица Задания На Сегодня
Починить Компьютер АСУС
Починить Компьютер ХП
Починить Компьютер Мак
Починить Компьютер АСЕР
Починить Компьютер Леново

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

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

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

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

УПОРЯДОЧИТЬ ПО
    Дата,
2 + 2 = 3.9999999999999999999999999999999...