Имя: Пароль:
1C
1С v8
Установить период работы оборудования
,
0 Яна93
 
14.12.15
13:22
Всем Доброго дня! У меня вопрос..есть одна ТЗ в которой хранится информация об оборудовании..а точнее его номер, состояние, время. Есть вторая ТЗ в которой хранится информация - номер оборудования (как и в первой таблице), время удара (удар это процесс штамповки детали или изделия, указывается в виде даты и времени когда был удар). Вопрос в следующем..как соединить таблицы в запросе, чтобы получить информацию об ударах в режиме "Работа"? Потому как в певой ТЗ есть информация только о времени когда включился данный режим..

Забыла указать, что есть несколько режимов штамповки которые указаны в первой ТЗ - "Работа", "Тест", "Вкл.","Выкл."
1 Яна93
 
14.12.15
13:24
Забыла еще сказать о том, что это мне нужно для того, чтобы в итоге посчитать время сколько данное оборудование работала в режиме "Работа" с начала смены..
2 Яна93
 
14.12.15
13:51
Может кто знает как добавить еще одну колонку в первой ТЗ чтобы получить время когда оборудование сменило свое состояние на новое...и получится время начала и время окончания данного состояния оборудования..
3 Яна93
 
14.12.15
14:26
Есть кто живой?)
4 Мэс33
 
14.12.15
14:40
(0) Что у вас там за "ударное" оборудование? Любопытно.
5 Лефмихалыч
 
14.12.15
14:42
ну, по номеру оборудования и соединяй. В чем проблема-то?
6 Яна93
 
14.12.15
14:42
(4) Ну это пресс) чтобы деталь приняла форму..)
7 Яна93
 
14.12.15
14:43
(5) Так проблема в том, что я хочу получить информацию  - Удар в режиме "Работа"..чтобы не попадали режимы "тест" и прочие
8 Лефмихалыч
 
14.12.15
14:45
(2) соединить таблицу саму с собой
ВЫБРАТЬ
Т1.НомерОборудования,
Т1.ДатаСостояния как ДатаНачала,
Минимум(Т2.ДатаСостояния) как ДатаОкончания
ИЗ
ТвояТЗ1 как Т1
ЛЕВОЕ СОЕДИНЕНИЕ ТвояТЗ1 как Т2
    ПО Т1.НомерОборудования = Т2.НомерОборудования и Т1.ДатаСостояния <Т2.ДатаСостояния
СГРУППИРОВАТЬ ПО
Т1.НомерОборудования,
Т1.ДатаСостояния
9 Яна93
 
14.12.15
14:46
если укажу связь по времени удара оборудования >= время из таблицы о состоянии оборудования и установить параметр выбора только по "Работа" то я не смогу узнать точно сколько времени оборудование находилось в этом режиме с начала смены..
10 Яна93
 
14.12.15
14:48
(8) немного не верно...он же будет считать сколько минут с начала смены до текущего состояния удара он находился во всех режимах...а ведь есть режим "тест" либо просто "включен" которые были ранее..и это время так же попадет в наш расчет..
11 Мэс33
 
14.12.15
14:54
(10) Лефмихалыч подсказал. А тебе надо вчитаться и понять, как вообще запросы работают. В чем смысл этих соединений.
12 Яна93
 
14.12.15
14:57
(11) так как он показал я сделала еще вчера..есть ли возможность у первой ТЗ добавить еще колонку в которой я могла бы получить время начала следующего режима? И тем самым получится время начала этого состояния и время его завершения и переход в следующее
13 Мэс33
 
14.12.15
14:58
(12) Яна93, а ты попробуй. Попробуй - поиграйся с запросами.
14 Яна93
 
14.12.15
15:02
(13) Уже 2 дня "играюсь"
15 Яна93
 
14.12.15
15:10
Видимо нет возможности
16 dangerouscoder
 
14.12.15
15:10
(0) найди периоды состояний а дальше по номеру смотри попадает в этот период вторая тз или нет..

ну не можешь через запросы сделай через циклы
17 Яна93
 
14.12.15
15:14
(16)так у меня есть только одна колонка по состояниям в которой указано время
Номер Оборуд. | Время состояния | Состояние оборуд.
пресс1                 7:00                Вкл
пресс2                 7:10                вкл             Пресс1                 7:18               Работа
и т.д.
18 Яна93
 
14.12.15
15:15
(17) нет у меня таланта таблицы рисовать)
19 Яна93
 
14.12.15
15:18
мне бы к примеру еще колонку сюда добавить функцией...вот к примеру пресс1 включился в 7:00 и 18 минут находился в режиме вкл..после перешел в режим Работа и тоже в этом состоянии находился какоето время..вот мне нужно учесть только время в режиме работа
20 denis_jj
 
14.12.15
15:29
Для этого сначала нужно получить таблицу интервалов в виде оборудование, начало интервала, окончание интервала, состояние. Тут нужно сделать соединение первой таблицы с самой собой и получить таблицу с интервалами. Потом к ней присоединить таблицу с ударами.
Программист всегда исправляет последнюю ошибку.