![]() |
вместо номера рейса, выставить сменность работы
День добрый! кто пробовал используя FastReport вместо номера рейса, выставить сменность работы т.е. Номер рейса #1 заменить на "первая смена" "вторая смена". количество выполненных рейсов не информативно. :sos:
|
chernicin,
есть такое поле 1.1.11. Идентификатор рейса / точки / отрезка Идентификатор рейса: 0 – время вне смен; 1 – смена I; 2 – смена II; 3 – смена III; .... делаете по нему проверку, если оно равно 1 - пишите в ячейке 1 смена, 2 - вторая и так далее |
сменность работы
если верно понинимаю для определения сменности работы необходимо использовать поле SHIFT_ID. подскажите стандартные отчеты из которых можно посмотреть описание условий для работы с данным полем ?
|
А нет таких отчетов в стандартных.
Только что Вы там увидеть хотели ? Все просто... вывод ничем не отличается от других полей... К примеру, добавляю в первую колонку отчета по рейсам к [Dataset1."SERNUM"] немного кода, чтобы получилось: Код:
[Dataset1."SERNUM"] ![]() ![]() Вторая строка - вывод SHIFT_ID в числовом виде - для пущей информации - чтоб Вам понятно было, какая цифра во что преобразуется. Третья строка - сравнение SHIFT_ID с числами и вывод в зависимости от результата - в текстовом виде. Можно добавить в это сравнение и все остальные причины рейса. Результат (я задействовал все три смены): ![]() Вот и всё... |
А вот чутка поправил разбивку на рейсы в настройках, чтоб появилось время вне смен:
![]() |
Вложений: 1
Вот что у меня получилось :) возможно чего то еще не хватет. Хотя более чем уверен что все и так должно быть ясно !
|
если в коде пишу [Dataset1."SHIFT_ID"], то выдает значение "0". таким образом сейчас думаю ошибка не в коде, в чем то еще, но пока не могу понять что нужно настроить в самом Автографе ?
Добавлено через 59 минут проверил настройки Автографа\Рейсы все разбито на две смены, по другому и не может быть. в чем же причина не понимаю :) |
Цитата:
|
chernicin,
посмотрел в вашем списке отчетов - у вас это отчет по контрольным точкам, там нет информации по смене рейса, там в это поле выводится другая информация |
Вот-вот...
|
в вашем случае, я не знаю, что вы хотите там видеть, но если в отчете по КТ вам нужна смена, то замените в выражении все <Dataset1."SHIFT_ID"> на <Trip_Case>
и вам тогда будет выведена смена рейса текущей КТ |
попробовал добавить к контрольным (.) подотчет рейсы, в итоге так же получаю вне смены !
|
chernicin,
опишите все-таки подробно, что и как вы хотите вывести PS: решение из моего предыдущего поста вам не подошло? |
добавил информацию о рейсах сейчас у меня в отчете два подотчета "котрольные точки, рейсы" тем неменее в отчете получаю вне смены !
|
chernicin,
вы читаете, что я пишу вообще? |
прикрепил файл temp0.rar
|
Сообщение к сожалению только что прочел. Большое спасибо. Разобрался. Спасибо за консультацию.
|
есть еще вопрос. как будет наиболее верно из итога вычесть один час в моем случает составляет обеденное время. для подведения итогов использую выражение [SUM(StringToSpanTime(<Dataset1."REAL_CONT">))]
Добавлено через 6 минут есть еще вопрос. как будет наиболее верно из итога вычесть один час в моем случает составляет обеденное время. для подведения итогов использую выражение [SUM(StringToSpanTime(<Dataset1."REAL_CONT">))] |
В общем-то Вы можете изначально учесть этот час в разбивке на рейсы, как межрейсовый интервал и снять галочку учета межрейсовых интервалов - тогда они не будут попадать в отчет.
|
Рейсы между сменами поддаются настройкам ? Так как наличия либо отсутствия галочки в рейсах, итоги остаются прежними.
|
Цитата:
|
Вложений: 1
Попробую объяснить. В прикреплен файле отчет "ПростойТехники" из итогов за смену необходимо исключить час времени на обеденное время с 12:00-13:00.. в дальнейшем предполагаю, что понадобится исключить время на переменку. По какому пути пойти ?
|
Цитата:
|
Цитата:
Может Вам просто из итога вычитать количество часов, равное количеству рабочих дней, которые входят в отчет ? Если уж все равно еждневно интервал 12:00-13:00 не считается рабочим временем... |
В отчете необходимо видеть итоги за минусов обеда, по каждой смена. как вариант можно сразу в коде написать итог за минусов обеденного времени. Как верно написать код . пробовал, но не очень большой опыт в программировании.
сумму итогов нахождения в КТ получаю функцией [SUM(StringToSpanTime(<Dataset1."REAL_CONT">))] - 1:00:00 |
я ПОНЯЛ, что Вам нужно (это Вы уже повторили неоднократно), но не понял Ваше утверждение (не получил ответ на свой вопрос):
Цитата:
|
Цитата:
|
использую Отчет по контрольным точкам, итоги по продолжительности нахождения в контрольных точка в течении смены. В прикрепленном выше файле ОтчетАвтограф_3.rar (28.2 Кб, 1 просмотров)
есть отчет "ПростойТехники" формирую с разбивкой на рейсы, дублировать шапку таблицы. |
Отчет по нахождению в КТ, естественно, не скорректируется по межрейсовым интервалам - т.к. это не имеет отношения к нахождению в КТ.
Отчет по рейсам - корректируется в зависимости от настройки межрейсовых интервалов - тут сомнений нет. |
Цитата:
[SUM(StringToSpanTime(<Dataset1."REAL_CONT">))-StringToSpanTime('1:00:00')] а вернее, надо после вычитания еще и обратную функцию - чтобы преобразовать в удобочитаемый формат, например: [SpanTimeToHours(SUM(StringToSpanTime(<Dataset1."REAL_CONT">))-StringToSpanTime('1:00:00'))] Если же вычитать из каждой суммируемой строки таблицы, то: [SpanTimeToHours(SUM(StringToSpanTime(<Dataset1."REAL_CONT">)-StringToSpanTime('1:00:00')))] SpanTimeToHours() - при необходимости заменить на соответствующую функцию: - SpanTimeToDays() - SpanTimeToHours() - SpanTimeToSec() |
Как посчитать сумму пробега за смену?
Если смена 1 (SHIFT_ID = 1), тогда суммировать переменную smena1 Если смена 2 (SHIFT_ID = 2), тогда суммировать переменную smena2 |
Текущее время: 01:32. Часовой пояс GMT. |
Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd. Перевод: zCarot