Exit
  • Global community
    • Language:
      • Deutsch
      • English
      • Español
      • Français
      • Português
  • 日本語コミュニティ
  • 한국 커뮤니티
0

Rounding a time calculation

New Here ,
Aug 27, 2018 Aug 27, 2018

I'm trying to make my service ticket that i created round our times in and out to the nearest .25 of an hour.

Here is what i have for the time calculation-

// determine the current row number

var ourName = event.target.name;

var matches = ourName.match(/.*(\d+)$/);

var rowNum = matches[1];

handleRow("h:MM tt", "StartTime", "StopTime", "BreakTime", "Overtime", rowNum);

But as of now it calculates just 1.34, 2.89. I want it to round down and up. So if its .12 hours round down to .00 and it if its .38 to round to .5 and so on.

TOPICS
Acrobat SDK and JavaScript , Windows
708
Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines

correct answers 1 Correct answer

Community Expert , Aug 27, 2018 Aug 27, 2018

You've either added or removed a curly bracket that you shouldn't have...


Here's the edited file with working code: https://drive.google.com/open?id=188qGrMtVRjsif6MHP4euSaFDcrC0tRsB

Translate
Community Expert ,
Aug 27, 2018 Aug 27, 2018

Post the code of the handleRow function.

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Aug 27, 2018 Aug 27, 2018

What is handleRow?

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
New Here ,
Aug 27, 2018 Aug 27, 2018

Im not sure what the handlerow is... my former coworker did all this stuff prior and he just stole the code from somewhere on the internet.

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Aug 27, 2018 Aug 27, 2018

We need the full code to be able to help you out. It might be easier if you could share the actual file with us (via Dropbox, Google Drive, Adobe Send & Track, etc.).

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
New Here ,
Aug 27, 2018 Aug 27, 2018
Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Aug 27, 2018 Aug 27, 2018

OK, the code is located under a doc-level script. Go to Tools - JavaScript - Document JavaScripts and you'll find it.

To achieve what you asked for change this part of it:

function handleRow(cFormat, cInBase, cOutBase, cBreakTimeBase, cOverTimeBase, rowNum)  {

    var timeDiff = TimeDiff(cFormat, cInBase + "." + rowNum, cOutBase + "." + rowNum, cBreakTimeBase + "." + rowNum);

    if (timeDiff > 8) {

        this.getField(cOverTimeBase + "." + rowNum).value = timeDiff - 8;

        timeDiff = 8;

    }

        else

        {

                this.getField(cOverTimeBase + "." + rowNum).value = "";

        }

    event.value = timeDiff;

}

To this:

function handleRow(cFormat, cInBase, cOutBase, cBreakTimeBase, cOverTimeBase, rowNum)  {

    var timeDiff = roundToNearestQuarter(TimeDiff(cFormat, cInBase + "." + rowNum, cOutBase + "." + rowNum, cBreakTimeBase + "." + rowNum));

    if (timeDiff > 8) {

        this.getField(cOverTimeBase + "." + rowNum).value = timeDiff - 8;

        timeDiff = 8;

    }

        else

        {

                this.getField(cOverTimeBase + "." + rowNum).value = "";

        }

    event.value = timeDiff;

}

function roundToNearestQuarter(v) {

    return (Math.round(v * 4) / 4).toFixed(2);

}

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
New Here ,
Aug 27, 2018 Aug 27, 2018

Im getting a

SyntaxError: syntax error

57: at line 58

This is what it highlights

nDiff = nDiff + 24;

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Aug 27, 2018 Aug 27, 2018

That means you edited something you shouldn't have...

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
New Here ,
Aug 27, 2018 Aug 27, 2018

the chunk of code I'm replacing is the first chunk there correct?

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
New Here ,
Aug 27, 2018 Aug 27, 2018

now im gettin a SyntaxError: Missing } in compound statement 56: at line 57

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Aug 27, 2018 Aug 27, 2018

You've either added or removed a curly bracket that you shouldn't have...


Here's the edited file with working code: https://drive.google.com/open?id=188qGrMtVRjsif6MHP4euSaFDcrC0tRsB

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
New Here ,
Aug 27, 2018 Aug 27, 2018
LATEST

Thanks much!

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines