Имя: Пароль:
1C
1С v8
Не могу понять логику отчета. (Недавно начал изучать)
0 Sergeyssk
 
07.06.19
12:06
Помогите разобраться. У меня есть задача, которое имеет состояние "новый, в работе, решен, завершен". Есть вид события. Делаю выбоку данных по последнему состоянию за указанный промежуток времени у меня всё выводит. Нужно добавить еще одну выборку где указать что допустим с такое-то по такое-то число месяца задача была в состоянии "решен".

ВЫБРАТЬ
    ТР_ИсторияСостояний.Задача,
    ТР_ИсторияСостояний.Задача.Номер,
    ТР_ИсторияСостояний.Состояние,
    ТР_ИсторияСостояний.Задача.ВидСобытия,
    ТР_ИсторияСостояний.Период
ИЗ
    РегистрСведений.ТР_ИсторияСостояний.СрезПоследних КАК ТР_ИсторияСостояний
ГДЕ
    ТР_ИсторияСостояний.Задача.Дата МЕЖДУ &ДатаНачала И &ДатаОкончания


Понимаю что нужно делать вложенный запрос но не могу понять как... Очень прошу просвятите...
1 Nuobu
 
07.06.19
12:08
Тестовое задание? Или действительно учишь?
2 Sergeyssk
 
07.06.19
12:16
Месяц как на работе. Времени просто не хватает начинать с азов изучать и подсказать никто -не может, нет знакомых по 1С.
3 Nuobu
 
07.06.19
12:22
(2) В запросе очень тяжело сделать выборку по "Периодам с такого-то по такое-то".
Гораздо проще вывести все дни и напротив каждого написать состояние задачи.
4 sqr4
 
07.06.19
12:28
связывай таблицу саму с собой, в соединение больше или меньше по периоду и потом агрегация максимум или минимум для периода, в зависимости от условия и будут тебе интервалы
5 sqr4
 
07.06.19
12:34
а вообще наши стажеры, первые пару месяцев делали тестовые задания и у каждого был наставник, которому они задавали вопросы и также у них была программа обучения на период стажировки с прохождением курсов и сдачи профа по платформе.
я к тому, что может не стоит сидеть в том месте где приходится вопросы задавать на форум?
6 Sergeyssk
 
07.06.19
12:47
У меня большая просьба, если кто может, посмотрите по удалёнке через TeamViewer. А созвониться можно по ватсапу 8-952-165-1501
Сроки горят очень нужно!
7 Вафель
 
07.06.19
12:51
сколько платишь?
8 Sergeyssk
 
07.06.19
12:55
Там по сути задача пустяковая, на 5 минут опытному специалисту! Я бы с радостью заплатил, но пока что с деньгами трудно..
9 sqr4
 
07.06.19
12:58
(8) не тебе решать сколько возиться специалисту! Я тебе словесный алгоритм дал, ты хотябы попробуй
10 Sergeyssk
 
07.06.19
13:27
(9) Зачем так грубо?
11 Mukrob
 
07.06.19
13:35
наверно он хотел сказать, зарплату тебе платят, а не ему, соответственно задачу решает тот, кому платят ) образно там не 5 минут, более правильно минут 30.. как уже и сказали..
нужно собрать все периоды от 01.01.2019 до 31.01.19 например, и на каждый день через соединение получить статус этой задачи..
должно быть наверно так

          |01.01.2019|02.01.2019|03.01.2019|04.01.2019|
Задача №1 |  Новый   | В Работе | В Работе | Выполнен |  
Задача №2 |  Новый   | В Работе | Выполнен | Выполнен |

И т.д.
Сначало разложи период по дням, потом получай статус
12 DmVl76
 
07.06.19
13:56
(11) Можно же просто таблицу саму с собой соединить

ВЫБРАТЬ    
    ТР_ИсторияСостояний.Задача,
    ТР_ИсторияСостояний.Состояние,
    ТР_ИсторияСостояний.Период КАК ДатаНачала,
    ДОБАВИТЬКДАТЕ(МИНИМУМ(ТР_ИсторияСостояний1.Период),ДЕНЬ,-1) КАК ДатаОкончания

ИЗ
    РегистрСведений.ТР_ИсторияСостояний КАК ТР_ИсторияСостояний
ЛЕВОЕ СОЕДИНЕНИЕ
    РегистрСведений.ТР_ИсторияСостояний КАК ТР_ИсторияСостояний1
ПО ТР_ИсторияСостояний.Задача=ТР_ИсторияСостояний1.Задача
    И ТР_ИсторияСостояний.Период>ТР_ИсторияСостояний1.Период
    И ТР_ИсторияСостояний.Состояние<>ТР_ИсторияСостояний1.Состояние
СГРУППИРОВАТЬ ПО
    ТР_ИсторияСостояний.Задача,
    ТР_ИсторияСостояний.Состояние,
    ТР_ИсторияСостояний.Период

Если за период задача, то выбирать не из регистра напрямую, а из объединения среза последних на начало и движений за нужный период

Ну и дубли устранить потом (одно состояние 2 раза подряд) Минимум(ДатаНачала), Задача, ДатаОкончания
13 sqr4
 
07.06.19
14:04
(10) Разве это грубо? Просто пытаться оценивать задачу, решения которой нет в голове, дурной тон. А навязывать заведомо необоснованные сроки более опытным коллегам, вообще непростительно. Хотя если дальше пойдете по профессии, будете на подобное реагировать еще менее сдержано.
14 Mukrob
 
07.06.19
14:19
(12) вот дубли чистить потом )) не проще период по дням разложить а потом соединением? ;-) меньше действий.