Перевести время в минуты #760618


#0 by Яна93
Всем привет! Я получаю данные в запросе = номер смены, время начала, время конца..время начала к примеру 7:00 время конца 9:00 потом вредующее время начала = 9:15 время окончания 10:30..получается с 9:00 до 9:15 перерыв..в общем как я могу получить количество минут с начала смены до текущего момента?
#1 by ДенисЧ
цел((текущаядата - началоСмены)/60)
#2 by asady
можешь
#3 by ДенисЧ
читать вопросы не умеешь ты, падаван поседевший....
#4 by Яна93
а внутри запроса? Я вот объединяю запрос в котором у меня есть данные о сменах..и данные по оборудованию который находится в режиме работы и когда оборудование штампует деталь, данные поступают в таблицу в виде ударов..один удар = одно изделие..так же в эту таблицу записывается время удара..вот я беру данные из таблицы по сменам и данные по оборудованию из второй таблицы..как можно зафиксировать тот факт в какую смену произошел удар и отсчитать количество минут с начала этой смены до крайнего на данный момент удара..как может выглядеть такая функция в запросе?
#5 by Мэс33
уахахаха
#6 by Яна93
Есть две заполненные таблицы значений..помещаю их в запрос Выбрать ТЗ_ПоСменам.НомерСмены, ТЗ_ПоСменам.ВремяНачала, ТЗ_ПоСменам.ВремяОкончания Поместить ВТ_Смена Из &ТЗ_ПоСменам Как ТЗ_ПоСменам ; Выбрать ТЗ_Оборуд.Оборудование, ТЗ_Оборуд.ВремяУдара Поместить ВТ_РаботаОборуд Из &ТЗ_Оборуд КАк ТЗ_Оборуд Как мне из этих таблиц получить -
#7 by asady
таблицу оборудвания соединяй с таблицуй смен по Время удара больше начала смены и меньше конца смены получишь таблицу оборудования по сменам с тремя датами нач.смены, время удара, конец смены потом уже можно считать количество ударов по сменам
#8 by Яна93
спасибо за ответ) вот только у меня нет время начала смены и конца смены..в колонках времяНачала и времяОкончания указаны часы работы например с 7:00 до 9:00; с 9:15 до 11:30 и т.д и колонка смены в которой указано какой смене относятся эти часы работы.. Может мне найти минимальное время начала и максимальное время окончания за эту смену?
#9 by Nuobu
Попробуй присоединить таблицу саму к себе по ДатаОкончания < ДатаНачала. Потом сгруппируй по Смене, ДатаНачала, ДатаОкончания. А датаНачалаСледующейСмены возми Минимум. А потом уже можешь отнять от датаНачалаСлудующейСмены ДатаОкончания и будет тебе время простоя.
#10 by Яна93
Я уже окончательно запуталась...для чего мне нужно присоединять таблицу саму к себе? Обрисую таблицу "Смена" примерно как она есть => НомерСмены | ВремяНачала | ВремяОкончания 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 В общем не понимаю как сделать подобное - Может мне найти минимальное время начала смены и максимальное время окончания смены и забить это в виртуальную таблицу...и снова соединить эту ВТ с первоначальной таблицей смен..и я получаю время начала и окончания смены и время начала и окончания которые я обрисовала для вас в этой табличке.. А после уже смотреть к какой смене принадлежит удар оборудования который записывается в формате ДатаВремя
#11 by Garykom
используй темную сторону силы... откажись от запросов...
#12 by Garykom
но можно добавить третью си... тьфу т.е. колонку и вычислить в ней разницу между окончанием и началом смены
#13 by Яна93
Простите, а для чего мне нужна разница?
#14 by Garykom
чтобы целиком прибавить уже прошедшие интервалы если перерыв есть, а что?
#15 by Яна93
Для этого можно использовать РАЗНОСТЬДАТ..ну предположим я вычислила разность дат в таблице смен..но это мне ни как не поможет определить сколько ударов было сделано с начала смены...
#16 by Garykom
Запрос.УстановитьПараметр("Дата", ТекущаяДата);
#17 by Garykom
А вообще не люблю трансов...
#18 by Мэс33
>>>для чего мне нужно присоединять таблицу саму к себе Это очень интересная магия.
#19 by Яна93
ТекущаяДата вообще не нужна я считаю! Есть таблица из которой я беру удары..удары имеют тип ДатаВремя..и на момент формирования отчета я получу все эти удары..вот последний совершенный удар это и будет крайняя точка текущей даты которую я буду использовать.
#20 by Яна93
На счет оскорблений я сперва не поняла..но посмотрев на свой профиль увидела что почта просто указана которую мы в семье используем для спама (эту почту создавал мой сводный брат) не стану перечислять свех своих родственников и уж тем более обсуждать свою национальность!!! Впервые за 2 года пришлось отредактировать профиль
#21 by Garykom
молодца, только эта почта засветилась в фейковых аккаунтах вконтакте почему то...
#22 by Яна93
теперь вижу! Но мне плевать на эту почту! У меня сейчас других забот хватает.. Можешь что сказать по поводу ?
#23 by Яна93
Так же в регистре сведений где у меня записаны смены..я в консоле запросов вывела часы..и они записываются в формате - 01.01.0001 7:00:00..как избавится от даты? В интернете есть информация только как избавится от времени в дате.. Так же и в таблице с ударами..дату надо удалить, а время оставить..либо привести к одинаковому типу, чтобы я смогла посчитать РАЗНОСТЬДАТ в минутах
#24 by Garykom
НачалоДня?
#25 by Яна93
Это как? Не нашла такой функции в конструкторе запроса..
#26 by Nuobu
НачалоПериода(датаВремы, День)
#27 by Яна93
Вообще пустая колонка получилась..
#28 by Яна93
И мне нужно удалить дату и оставить только время..а НАЧАЛОПЕРИОДА похоже сделает наоборот по моему..
#29 by Garykom
совсем что ли блондинка? ;)
#30 by Garykom
+ если от "2015.12.13 00:05:00" отнять "2015.12.13 00:00:00" что останется?
#31 by Яна93
0000.00.00 00:05:00
#32 by Garykom
и как это может быть связано с ?
#33 by Яна93
А как правильно? Я не пытаюсь выставить себя блонд. я правда не знаю
#34 by Garykom
ну так отними от начала дня (дата со временем) свое время с датой, останется только время не?
#35 by Яна93
не ругайся..но я не знаю как это правильно записать..уже консоль измучила..
#36 by Garykom
может просто джойстик на консоли не правильный?
#37 by Яна93
ну покажи пример как это пишется? :(
#38 by RomanYS
РазностьДат(НачалоПериода(Т.Дата, День), Т.Дата, Минута)
#39 by Garykom
я только что за... натягивать чехлы на сиденья... сча отдыхаю в корабликах... лень думать совсем без стимулов
#40 by Яна93
Не так..здесь я получа количество минут...а мне нужно в формате чч.мм.сс.
#41 by Яна93
Я же не заставляю..прошу помощи у тех кто может помочь в данный момент..приятного отдыха
#42 by RomanYS
нужно именно "в формате" - тогда используй формат, или нужно именно время без даты - тогда объясни зачем
#43 by Яна93
просто у меня в регистре где находятся часы по сменам тип = Дата, а состав даты = Время..поэтому в консольке запросов у меня на выходе получилось следующее - 01.01.0001 7:00:00; 01.01.0001 9:00:00 и т.д. я хочу избавится от этого - 01.01.0001..так же во второй таблице с которой я буду соединять есть колонка с ударами оборудования..там формат к примеру такой 13.12.2015 17:29:54 и тут я так же хочу избавится от даты оставив только время..чтобы использовать РАЗНОСТЬДАТ и получить в итоге количество минут пример которого ты написал выше Либо привести все к общей дате..в общем у меня нет идей больше(
#44 by RomanYS
приведи обе даты к минутам(или секундам), а потом тупо бери разности. Либо если очень хочется привести ко времени без даты:
#45 by Яна93
если я обе даты приведу к минутам то не смогу проверить входит ли удар оборудования в одну из смен..а после уже вычесть из текущего удара начало смены..получается если удар зафиксировался в 17:00 то это вторая смена..и мы отнимаем от времени удара начало смены и получаем количество нужных мне минут (используя функцию разностьдат)
#46 by RomanYS
почему не сможем? МинутаУдара МЕЖДУ МинутаНачалаСмены и МинутаКонцаСмены
#47 by Яна93
что-то мне это не нравится...придется наверно выгрузить результат запроса в тз и там уже применить формат...и после уже имеющийся результат обрабатывать...просто думала в запросе можно применить подобную функцию, но ни чего подобного не нащла..
#48 by RomanYS
ничего не понял, что не нравится? что не нашла? подобную чему функцию?
#49 by Яна93
ну в твоем примере получится количество минут..а мне нужно чтобы колонка была в формате чч.мм.сс. и тогда мне проще будет найти нужную мне смену и в дальнейшем уже нужное количество минут..
#50 by RomanYS
в получается время без даты, т.е. дата вида: "0001.01.01 чч.мм.сс". Возможно я там порядок параметров напутал - проверь. Но удобнее оперировать числами (минутами или секундами), какие у тебя проблемы на этом пути?
#51 by Яна93
Сейчас в магазин сбегаю и проверю
#52 by Яна93
Спасибо, Роман!!! получилось) только вот чуть-чуть по другому написала - ДобавитьКДате(ДатаВремя(1,1,1), Секунда,РазностьДат(НачалоПериода(Т.Дата, День), Т.Дата, Секунда)) Остались еще вопросы, но это уже совсем другая история...оставлю это на завтра) мне нужен отдых...
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С