Имя: Пароль:
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), Секунда,РазностьДат(НачалоПериода(Т.Дата, День), Т.Дата, Секунда))

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