ОФИЦИАЛЬНЫЙ ФОРУМ ГРУППЫ КОМПАНИЙ «ТЕХНОКОМ»

ОФИЦИАЛЬНЫЙ ФОРУМ ГРУППЫ КОМПАНИЙ «ТЕХНОКОМ» (https://forum.tk-chel.ru/index.php)
-   Система «АвтоГРАФ»: Программное обеспечение (https://forum.tk-chel.ru/forumdisplay.php?f=4)
-   -   Доработка: вместо номера рейса, выставить сменность работы (https://forum.tk-chel.ru/showthread.php?t=1875)

chernicin 27.04.2012 07:41

вместо номера рейса, выставить сменность работы
 
День добрый! кто пробовал используя FastReport вместо номера рейса, выставить сменность работы т.е. Номер рейса #1 заменить на "первая смена" "вторая смена". количество выполненных рейсов не информативно. :sos:

storm 27.04.2012 08:01

chernicin,
есть такое поле
1.1.11. Идентификатор рейса / точки / отрезка
Идентификатор рейса:
0 – время вне смен;
1 – смена I;
2 – смена II;
3 – смена III; ....
делаете по нему проверку, если оно равно 1 - пишите в ячейке 1 смена, 2 - вторая и так далее

chernicin 27.04.2012 18:57

сменность работы
 
если верно понинимаю для определения сменности работы необходимо использовать поле SHIFT_ID. подскажите стандартные отчеты из которых можно посмотреть описание условий для работы с данным полем ?

SK 27.04.2012 21:01

А нет таких отчетов в стандартных.
Только что Вы там увидеть хотели ?
Все просто... вывод ничем не отличается от других полей...

К примеру, добавляю в первую колонку отчета по рейсам к [Dataset1."SERNUM"] немного кода, чтобы получилось:

Код:

[Dataset1."SERNUM"]
SHIFT_ID = [Dataset1."SHIFT_ID"]
[IIF(<Dataset1."SHIFT_ID"> = 1, 'Смена 1', IIF(<Dataset1."SHIFT_ID"> = 2, 'Смена 2', IIF(<Dataset1."SHIFT_ID"> = 3, 'Смена 3', IIF(<Dataset1."SHIFT_ID"> = 0, 'Время вне смен', 'N/A'))))]



Вторая строка - вывод SHIFT_ID в числовом виде - для пущей информации - чтоб Вам понятно было, какая цифра во что преобразуется.
Третья строка - сравнение SHIFT_ID с числами и вывод в зависимости от результата - в текстовом виде. Можно добавить в это сравнение и все остальные причины рейса.

Результат (я задействовал все три смены):



Вот и всё...

SK 27.04.2012 21:05

А вот чутка поправил разбивку на рейсы в настройках, чтоб появилось время вне смен:


chernicin 28.04.2012 07:49

Вложений: 1
Вот что у меня получилось :) возможно чего то еще не хватет. Хотя более чем уверен что все и так должно быть ясно !

chernicin 28.04.2012 08:54

если в коде пишу [Dataset1."SHIFT_ID"], то выдает значение "0". таким образом сейчас думаю ошибка не в коде, в чем то еще, но пока не могу понять что нужно настроить в самом Автографе ?

Добавлено через 59 минут
проверил настройки Автографа\Рейсы все разбито на две смены, по другому и не может быть. в чем же причина не понимаю :)

storm 28.04.2012 09:02

Цитата:

Сообщение от chernicin (Сообщение 29745)
если в коде пишу [Dataset1."SHIFT_ID"], то выдает значение "0". таким образом сейчас думаю ошибка не в коде, в чем то еще, но пока не могу понять что нужно настроить в самом Автографе ?

Добавлено через 59 минут
проверил настройки Автографа\Рейсы все разбито на две смены, по другому и не может быть. в чем же причина не понимаю

после формирования отчета, зайдите в папку с отчетами и найдите файл temp0.dbf, выложите его - я посмотрю

storm 28.04.2012 09:05

chernicin,
посмотрел в вашем списке отчетов - у вас это отчет по контрольным точкам, там нет информации по смене рейса, там в это поле выводится другая информация

SK 28.04.2012 09:10

Вот-вот...

storm 28.04.2012 09:10

в вашем случае, я не знаю, что вы хотите там видеть, но если в отчете по КТ вам нужна смена, то замените в выражении все <Dataset1."SHIFT_ID"> на <Trip_Case>
и вам тогда будет выведена смена рейса текущей КТ

chernicin 28.04.2012 09:50

попробовал добавить к контрольным (.) подотчет рейсы, в итоге так же получаю вне смены !

storm 28.04.2012 09:58

chernicin,
опишите все-таки подробно, что и как вы хотите вывести
PS: решение из моего предыдущего поста вам не подошло?

chernicin 28.04.2012 10:18

добавил информацию о рейсах сейчас у меня в отчете два подотчета "котрольные точки, рейсы" тем неменее в отчете получаю вне смены !

storm 28.04.2012 10:28

chernicin,
вы читаете, что я пишу вообще?

chernicin 28.04.2012 10:59

прикрепил файл temp0.rar

chernicin 28.04.2012 15:33

Сообщение к сожалению только что прочел. Большое спасибо. Разобрался. Спасибо за консультацию.

chernicin 29.04.2012 19:45

есть еще вопрос. как будет наиболее верно из итога вычесть один час в моем случает составляет обеденное время. для подведения итогов использую выражение [SUM(StringToSpanTime(<Dataset1."REAL_CONT">))]

Добавлено через 6 минут
есть еще вопрос. как будет наиболее верно из итога вычесть один час в моем случает составляет обеденное время. для подведения итогов использую выражение [SUM(StringToSpanTime(<Dataset1."REAL_CONT">))]

SK 29.04.2012 20:15

В общем-то Вы можете изначально учесть этот час в разбивке на рейсы, как межрейсовый интервал и снять галочку учета межрейсовых интервалов - тогда они не будут попадать в отчет.

chernicin 30.04.2012 06:16

Рейсы между сменами поддаются настройкам ? Так как наличия либо отсутствия галочки в рейсах, итоги остаются прежними.

SK 30.04.2012 09:53

Цитата:

Сообщение от chernicin (Сообщение 29801)
Рейсы между сменами поддаются настройкам ? Так как наличия либо отсутствия галочки в рейсах, итоги остаются прежними.

Объяснитесь: какие именно итоги Вы имеете ввиду и при каких обстоятельствах ? Изложите подробнее.

chernicin 30.04.2012 10:09

Вложений: 1
Попробую объяснить. В прикреплен файле отчет "ПростойТехники" из итогов за смену необходимо исключить час времени на обеденное время с 12:00-13:00.. в дальнейшем предполагаю, что понадобится исключить время на переменку. По какому пути пойти ?

SK 30.04.2012 10:30

Цитата:

Сообщение от SK (Сообщение 29805)
Цитата:

Сообщение от chernicin (Сообщение 29801)
Рейсы между сменами поддаются настройкам ? Так как наличия либо отсутствия галочки в рейсах, итоги остаются прежними.

Объяснитесь: какие именно итоги Вы имеете ввиду и при каких обстоятельствах ? Изложите подробнее.

Я бы хотел получить ответ на свой вопрос. Желательно словами и с пояснениями - что в настройках меняли и какие итоги и где не изменились.

SK 30.04.2012 10:37

Цитата:

Сообщение от chernicin (Сообщение 29806)
Попробую объяснить. В прикреплен файле отчет "ПростойТехники" из итогов за смену необходимо исключить час времени на обеденное время с 12:00-13:00.. в дальнейшем предполагаю, что понадобится исключить время на переменку. По какому пути пойти ?

А если, кстати, только частично будет захвачен данный интервал ? Ну... приехал позже на точку или уехал пораньше ? Или вообще этот интервал не попал в точку ?

Может Вам просто из итога вычитать количество часов, равное количеству рабочих дней, которые входят в отчет ? Если уж все равно еждневно интервал 12:00-13:00 не считается рабочим временем...

chernicin 30.04.2012 11:05

В отчете необходимо видеть итоги за минусов обеда, по каждой смена. как вариант можно сразу в коде написать итог за минусов обеденного времени. Как верно написать код . пробовал, но не очень большой опыт в программировании.

сумму итогов нахождения в КТ получаю функцией
[SUM(StringToSpanTime(<Dataset1."REAL_CONT">))] - 1:00:00

SK 30.04.2012 11:27

я ПОНЯЛ, что Вам нужно (это Вы уже повторили неоднократно), но не понял Ваше утверждение (не получил ответ на свой вопрос):

Цитата:

Сообщение от SK (Сообщение 29807)
Цитата:
Сообщение от SK
Цитата:
Сообщение от chernicin
Рейсы между сменами поддаются настройкам ? Так как наличия либо отсутствия галочки в рейсах, итоги остаются прежними.

Объяснитесь: какие именно итоги Вы имеете ввиду и при каких обстоятельствах ? Изложите подробнее.

Я бы хотел получить ответ на свой вопрос. Желательно словами и с пояснениями - что в настройках меняли и какие итоги и где не изменились.


SK 30.04.2012 11:28

Цитата:

Сообщение от chernicin (Сообщение 29810)
В отчете необходимо видеть итоги за минусов обеда, по каждой смена. как вариант можно сразу в коде написать итог за минусов обеденного времени. Как верно написать код . пробовал, но не очень большой опыт в программировании.

сумму итогов нахождения в КТ получаю функцией
[SUM(StringToSpanTime(<Dataset1."REAL_CONT">))] - 1:00:00

В КАКОМ отчете, какие именно итоги, по каким колонкам, при каких условиях ? На базе какого отчета ? По рейсам ?

chernicin 30.04.2012 11:47

использую Отчет по контрольным точкам, итоги по продолжительности нахождения в контрольных точка в течении смены. В прикрепленном выше файле ОтчетАвтограф_3.rar (28.2 Кб, 1 просмотров)
есть отчет "ПростойТехники" формирую с разбивкой на рейсы, дублировать шапку таблицы.

SK 30.04.2012 19:13

Отчет по нахождению в КТ, естественно, не скорректируется по межрейсовым интервалам - т.к. это не имеет отношения к нахождению в КТ.
Отчет по рейсам - корректируется в зависимости от настройки межрейсовых интервалов - тут сомнений нет.

SK 30.04.2012 19:21

Цитата:

Сообщение от SK (Сообщение 29812)
Цитата:

Сообщение от chernicin (Сообщение 29810)
В отчете необходимо видеть итоги за минусов обеда, по каждой смена. как вариант можно сразу в коде написать итог за минусов обеденного времени. Как верно написать код . пробовал, но не очень большой опыт в программировании.

сумму итогов нахождения в КТ получаю функцией
[SUM(StringToSpanTime(<Dataset1."REAL_CONT">))] - 1:00:00

В КАКОМ отчете, какие именно итоги, по каким колонкам, при каких условиях ? На базе какого отчета ? По рейсам ?

Если Вы из всей суммы хотите вычесть 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()

ProgAGKZ 25.04.2014 11:38

Как посчитать сумму пробега за смену?

Если смена 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