Имя: Пароль:
1C
1С v8
Перевести время в минуты
0 Яна93
 
12.12.15
17:37
Всем привет! Я получаю данные в запросе = номер смены, время начала, время конца..время начала к примеру 7:00 время конца 9:00 потом вредующее время начала = 9:15 время окончания 10:30..получается с 9:00 до 9:15 перерыв..в общем как я могу получить количество минут с начала смены до текущего момента?
1 ДенисЧ
 
12.12.15
17:41
цел((текущаядата() - началоСмены)/60)
2 asady
 
12.12.15
17:42
(0)можешь
3 ДенисЧ
 
12.12.15
17:45
(2) читать вопросы не умеешь ты, падаван поседевший....
4 Яна93
 
12.12.15
17:54
(1) а внутри запроса? Я вот объединяю запрос в котором у меня есть данные о сменах..и данные по оборудованию который находится в режиме работы и когда оборудование штампует деталь, данные поступают в таблицу в виде ударов..один удар = одно изделие..так же в эту таблицу записывается время удара..вот я беру данные из таблицы по сменам и данные по оборудованию из второй таблицы..как можно зафиксировать тот факт в какую смену произошел удар и отсчитать количество минут с начала этой смены до крайнего на данный момент удара..как может выглядеть такая функция в запросе?
5 Мэс33
 
12.12.15
17:55
(3) уахахаха
6 Яна93
 
12.12.15
18:09
Есть две заполненные таблицы значений..помещаю их в запрос

Выбрать
ТЗ_ПоСменам.НомерСмены,
ТЗ_ПоСменам.ВремяНачала,
ТЗ_ПоСменам.ВремяОкончания
Поместить ВТ_Смена
Из
&ТЗ_ПоСменам Как ТЗ_ПоСменам
;
Выбрать
ТЗ_Оборуд.Оборудование,
ТЗ_Оборуд.ВремяУдара
Поместить ВТ_РаботаОборуд
Из
&ТЗ_Оборуд КАк ТЗ_Оборуд


Как мне из этих таблиц получить - (4)
7 asady
 
12.12.15
18:42
(6) таблицу оборудвания соединяй с таблицуй смен по
Время удара больше начала смены и меньше конца смены
получишь таблицу оборудования по сменам с тремя датами
нач.смены, время удара, конец смены
потом уже можно считать количество ударов по сменам
8 Яна93
 
12.12.15
19:08
(7) спасибо за ответ) вот только у меня нет время начала смены и конца смены..в колонках времяНачала и времяОкончания указаны часы работы например с 7:00 до 9:00; с 9:15 до 11:30 и т.д и колонка смены в которой указано какой смене относятся эти часы работы.. Может мне найти минимальное время начала и максимальное время окончания за эту смену?
9 Nuobu
 
12.12.15
19:20
(8) Попробуй присоединить таблицу саму к себе по ДатаОкончания < ДатаНачала.
Потом сгруппируй по Смене, ДатаНачала, ДатаОкончания. А датаНачалаСледующейСмены возми Минимум.
А потом уже можешь отнять от датаНачалаСлудующейСмены ДатаОкончания и будет тебе время простоя.
10 Яна93
 
13.12.15
12:11
(9) Я уже окончательно запуталась...для чего мне нужно присоединять таблицу саму к себе? Обрисую таблицу "Смена" примерно как она есть =>

НомерСмены | ВремяНачала | ВремяОкончания
1            7:00          9:00
1            9:15          11:30
1            12:00         13:30
...и т.д.    
2           15:30          17:30
...и т.д.
3           00:00          1:30
3           1:45           3:00

В общем не понимаю как сделать подобное - (4)
Может мне найти минимальное время начала смены и максимальное время окончания смены и забить это в виртуальную таблицу...и снова соединить эту ВТ с первоначальной таблицей смен..и я получаю время начала и окончания смены и время начала и окончания которые я обрисовала для вас в этой табличке.. А после уже смотреть к какой смене принадлежит удар оборудования который записывается в формате ДатаВремя
11 Garykom
 
гуру
13.12.15
12:18
(10) используй темную сторону силы... откажись от запросов...
12 Garykom
 
гуру
13.12.15
12:23
но можно добавить третью си... тьфу т.е. колонку и вычислить в ней разницу между окончанием и началом смены
13 Яна93
 
13.12.15
12:40
(12) Простите, а для чего мне нужна разница?
14 Garykom
 
гуру
13.12.15
12:42
(13) чтобы целиком прибавить уже прошедшие интервалы если перерыв есть, а что?
15 Яна93
 
13.12.15
13:12
(14) Для этого можно использовать РАЗНОСТЬДАТ..ну предположим я вычислила разность дат в таблице смен..но это мне ни как не поможет определить сколько ударов было сделано с начала смены...
16 Garykom
 
гуру
13.12.15
13:21
(15) Запрос.УстановитьПараметр("Дата", ТекущаяДата());
17 Garykom
 
гуру
13.12.15
13:26
А вообще не люблю трансов...
18 Мэс33
 
13.12.15
13:29
(10) >>>для чего мне нужно присоединять таблицу саму к себе

Это очень интересная магия.
19 Яна93
 
13.12.15
13:46
(16) ТекущаяДата вообще не нужна я считаю! Есть таблица из которой я беру удары..удары имеют тип ДатаВремя..и на момент формирования отчета я получу все эти удары..вот последний совершенный удар это и будет крайняя точка текущей даты которую я буду использовать.
20 Яна93
 
13.12.15
14:17
(17) На счет оскорблений я сперва не поняла..но посмотрев на свой профиль увидела что почта просто указана которую мы в семье используем для спама (эту почту создавал мой сводный брат) не стану перечислять свех своих родственников и уж тем более обсуждать свою национальность!!! Впервые за 2 года пришлось отредактировать профиль
21 Garykom
 
гуру
13.12.15
16:21
(20) молодца, только эта почта засветилась в фейковых аккаунтах вконтакте почему то...
22 Яна93
 
13.12.15
16:25
(21) https://forum.antichat.ru/threads/132137/page-3

теперь вижу! Но мне плевать на эту почту! У меня сейчас других забот хватает.. Можешь что сказать по поводу (19) ?
23 Яна93
 
13.12.15
16:30
(21) Так же в регистре сведений где у меня записаны смены..я в консоле запросов вывела часы..и они записываются в формате - 01.01.0001 7:00:00..как избавится от даты? В интернете есть информация только как избавится от времени в дате.. Так же и в таблице с ударами..дату надо удалить, а время оставить..либо привести к одинаковому типу, чтобы я смогла посчитать РАЗНОСТЬДАТ в минутах
24 Garykom
 
гуру
13.12.15
16:32
(23) НачалоДня?
25 Яна93
 
13.12.15
16:34
(24) Это как? Не нашла такой функции в конструкторе запроса..
26 Nuobu
 
13.12.15
16:35
(25) НачалоПериода(датаВремы, День)
27 Яна93
 
13.12.15
16:42
(26) НАЧАЛОПЕРИОДА(ТЗ_ПоСменам.ВремяНачала, ДЕНЬ) КАК ВремяНачала
Вообще пустая колонка получилась..
28 Яна93
 
13.12.15
16:44
(26) И мне нужно удалить дату и оставить только время..а НАЧАЛОПЕРИОДА похоже сделает наоборот по моему..
29 Garykom
 
гуру
13.12.15
16:51
(27) совсем что ли блондинка? ;)
30 Garykom
 
гуру
13.12.15
16:53
(29)+ если от "2015.12.13 00:05:00" отнять "2015.12.13 00:00:00" что останется?
31 Яна93
 
13.12.15
16:54
(30)0000.00.00 00:05:00
32 Garykom
 
гуру
13.12.15
16:57
(31) и как это может быть связано с (27) ?
33 Яна93
 
13.12.15
16:58
(32) А как правильно? Я не пытаюсь выставить себя блонд. я правда не знаю
34 Garykom
 
гуру
13.12.15
17:01
(33) ну так отними от начала дня (дата со временем) свое время с датой, останется только время не?
35 Яна93
 
13.12.15
17:12
(34) не ругайся..но я не знаю как это правильно записать..уже консоль измучила..
36 Garykom
 
гуру
13.12.15
17:16
(35) может просто джойстик на консоли не правильный?
37 Яна93
 
13.12.15
17:19
(36) ну покажи пример как это пишется? :(
38 RomanYS
 
13.12.15
17:21
РазностьДат(НачалоПериода(Т.Дата, День), Т.Дата, Минута)
39 Garykom
 
гуру
13.12.15
17:22
(37) я только что за... натягивать чехлы на сиденья... сча отдыхаю в корабликах... лень думать совсем без стимулов
40 Яна93
 
13.12.15
17:22
(38) Не так..здесь я получа количество минут...а мне нужно в формате чч.мм.сс.
41 Яна93
 
13.12.15
17:25
(39) Я же не заставляю..прошу помощи у тех кто может помочь в данный момент..приятного отдыха
42 RomanYS
 
13.12.15
17:25
(40) нужно именно "в формате" - тогда используй формат(), или нужно именно время без даты - тогда объясни зачем
43 Яна93
 
13.12.15
17:31
(42) просто у меня в регистре где находятся часы по сменам тип = Дата, а состав даты = Время..поэтому в консольке запросов у меня на выходе получилось следующее - 01.01.0001 7:00:00; 01.01.0001 9:00:00 и т.д. я хочу избавится от этого - 01.01.0001..так же во второй таблице с которой я буду соединять есть колонка с ударами оборудования..там формат к примеру такой 13.12.2015 17:29:54 и тут я так же хочу избавится от даты оставив только время..чтобы использовать РАЗНОСТЬДАТ и получить в итоге количество минут пример которого ты написал выше (38) Либо привести все к общей дате..в общем у меня нет идей больше(
44 RomanYS
 
13.12.15
17:49
(43) приведи обе даты к минутам(или секундам), а потом тупо бери разности.
Либо если очень хочется привести ко времени без даты:
ДобавитьКДате(ДатаВремя(1,1,1),РазностьДат(НачалоПериода(Т.Дата, День), Т.Дата, Секунда), Секунда)
45 Яна93
 
13.12.15
17:56
(44) если я обе даты приведу к минутам то не смогу проверить входит ли удар оборудования в одну из смен..а после уже вычесть из текущего удара начало смены..получается если удар зафиксировался в 17:00 то это вторая смена..и мы отнимаем от времени удара начало смены и получаем количество нужных мне минут (используя функцию разностьдат)
46 RomanYS
 
13.12.15
17:58
(45) почему не сможем?
МинутаУдара МЕЖДУ МинутаНачалаСмены и МинутаКонцаСмены
47 Яна93
 
13.12.15
18:03
(46) что-то мне это не нравится...придется наверно выгрузить результат запроса в тз и там уже применить формат...и после уже имеющийся результат обрабатывать...просто думала в запросе можно применить подобную функцию, но ни чего подобного не нащла..
48 RomanYS
 
13.12.15
18:05
(47) ничего не понял, что не нравится? что не нашла? подобную чему функцию?
49 Яна93
 
13.12.15
18:09
(48) ну в твоем примере (44) получится количество минут..а мне нужно чтобы колонка была в формате чч.мм.сс. и тогда мне проще будет найти нужную мне смену и в дальнейшем уже нужное количество минут..
50 RomanYS
 
13.12.15
18:14
(49) в (44) получается время без даты, т.е. дата вида: "0001.01.01 чч.мм.сс". Возможно я там порядок параметров напутал - проверь.

Но удобнее оперировать числами (минутами или секундами), какие у тебя проблемы на этом пути?
51 Яна93
 
13.12.15
18:16
Сейчас в магазин сбегаю и проверю (50)
52 Яна93
 
13.12.15
19:19
(50) Спасибо, Роман!!! получилось) только вот чуть-чуть по другому написала - ДобавитьКДате(ДатаВремя(1,1,1), Секунда,РазностьДат(НачалоПериода(Т.Дата, День), Т.Дата, Секунда))

Остались еще вопросы, но это уже совсем другая история...оставлю это на завтра) мне нужен отдых...
Здесь можно обсудить любую тему при этом оставаясь на форуме для 1Сников, который нужен для работы. Ymryn