Mike,<br><br>Yes, I believe this could be done with a scrip. I'd do all the calc work with temp fields (defined in the perl code) and then put the results in the CF.<br>Be careful to name your fields with a name that cannot be confused with an RT delivered field. It's just not a clean way to go.<br>
Also, make sure your condition for the update is when the exact field you want to change has been updated and not just any update to the ticket. <br>This might mean creating an update scrip for each individual CF you want to do this to. RT will execute all of them. Make they are set to TransBatch.<br>
<br>Kenn<br><br><div class="gmail_quote">On Wed, May 30, 2012 at 2:44 PM, Michael Coakley <span dir="ltr"><<a href="mailto:mike.coakley@gmail.com" target="_blank">mike.coakley@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
This is easily done with a scrip. You need a Ticket custom field to hold the totals and a Transaction custom field for the users to update during a reply or comment. The scrip will take the transaction custom field value and add it to the ticket custom field value to keep the running total.<br>

<br>
I've absolutely done this before but a long time ago. It works great and I've built billing systems off of these values which seems like you are trying to do.<br>
<br>
The only "gotcha" and it's a little one because once you start scrip development you'll know this; it is to use TransactionBatch mode on the scrip because that is the only way you will actually be able to see the Transaction custom field values.<br>

<br>
Hope that gets you started.<br>
<br>
Mike<br>
<br>
Sent from my iPhone<br>
<div class="HOEnZb"><div class="h5"><br>
On May 30, 2012, at 1:53 PM, TheHoboKing <<a href="mailto:demon_eyes_kyoms@hotmail.com">demon_eyes_kyoms@hotmail.com</a>> wrote:<br>
<br>
><br>
> Hi Kenneth,<br>
><br>
> Thank you for the reply and my apologies for the delay, I've been busy with<br>
> other projects.<br>
><br>
> I mentioned the TimeWorked field because that's how I'd like my other 'time'<br>
> CFs to behave but here's what I'm trying to achieve in more details.<br>
><br>
> I have two CFs: Emergency Hours | Schedule Hours<br>
> CFs type is 'Enter one value'<br>
><br>
> On ticket updates (users will most likely only update tickets from the WebUI<br>
> via comment/reply action), I'd like those CFs to behave as followed:<br>
><br>
> On update, the CFs should show no value. If my user(s) enter a value and<br>
> update the ticket, the value should be added to the previous value (users<br>
> will only be inputting integers).<br>
><br>
> i.e.:<br>
> Emergency Hours current value = 10<br>
> Users Update the ticket and adds 15 in the Emergency Hours<br>
> Emergency Hours should now display 25<br>
><br>
> Is there a way to achieve this via script or more in dept RT customization?<br>
><br>
> -I've tried to create another TimeWorked field but TimeWorked seems to be<br>
> all over the place and I couldn't identify the proper sections to add/modify<br>
> in order to 'duplicate' TimeWorked.<br>
><br>
> -I was also thinking if it may be possible to do it via scrip by;<br>
> OnComment or OnTransaction<br>
> Reading the value of 'Emergency Hours'<br>
> Storing the value in a temporary variable<br>
> Adding the new value to the old value. .i.e: Emergency Hours =<br>
> TemporaryEmergencyHoursTotal + EmergencyHours<br>
><br>
> -I also thought I could simply create another CF called<br>
> 'EmergencyHoursTotal' and store the total there BUT then, on ticket display<br>
> only 'EmergencyHoursTotal' should be visible and 'Emergency Hours' should be<br>
> hidden, on ticket update only 'Emergency Hours' should be visible and<br>
> 'EmergencyHoursTotal' should be hidden.<br>
><br>
> I read hiding/displaying specific CF can be achieved via the<br>
> MassageCustomFields callback but I don't find much information on how to<br>
> code my MassageCustomFields. This is the most informative code I've found in<br>
> regards to it.<br>
><br>
> <a href="http://cpansearch.perl.org/src/RUZ/RT-Extension-CustomField-HideEmptyValues-0.01/html/Callbacks/CustomField-HideEmptyValues/Elements/ShowCustomFields/MassageCustomFields" target="_blank">http://cpansearch.perl.org/src/RUZ/RT-Extension-CustomField-HideEmptyValues-0.01/html/Callbacks/CustomField-HideEmptyValues/Elements/ShowCustomFields/MassageCustomFields</a><br>

><br>
> Sorry for my long long post, let me know if I should open a new tread in<br>
> regards to the MassageCustomFields info.<br>
><br>
> Thank you again!<br>
><br>
><br>
><br>
><br>
> Kenneth Crocker-2 wrote:<br>
>><br>
>> HoboKing,<br>
>><br>
>> You could create a CF with SeeCF rights only to Users and then write a<br>
>> scrip so that when the TimeWorked field is updated, the scrip subtracts<br>
>> the<br>
>> old value from the new value and then adds that result to the CF.<br>
>> You could also add a condition to check the date and if it is month-end or<br>
>> something you could move the final "TomeWorked" value to a Month-end Time<br>
>> CF and then zero out the contiguos one.<br>
>> That way, you won't run into problems of some user entering a non-inter<br>
>> type value into the field. You might want to grant "ModifyCF" to the<br>
>> SuperUSer or some management group of users so they can override the value<br>
>> when necessary.<br>
>> It all depends on what you want to accomplish.<br>
>> TimeWorked is already designed to receive integers. So all you really need<br>
>> is a CF to act as a monthly or yearly, etc. accumulator, along with a<br>
>> routine to zero out at the end of that cycle.<br>
>> The best way is to write a cronjob to run through all tickets on whatever<br>
>> cycle you want to accumulate and have that routine do the<br>
>> accumulate/move/zero work. That way you get ALL tickets updated<br>
>> consistently, not just the ones that were updated in a given cycle.<br>
>><br>
>> Hope this helps.<br>
>><br>
>> Kenn<br>
>><br>
>> On Mon, May 28, 2012 at 11:44 AM, TheHoboKing<br>
>> <<a href="mailto:demon_eyes_kyoms@hotmail.com">demon_eyes_kyoms@hotmail.com</a>>wrote:<br>
>><br>
>>><br>
>>> Hi,<br>
>>><br>
>>> I'm still quite new at RT and was wondering if there's a way to have<br>
>>> appendable/updatable CustomFields like the TimeWorked field?<br>
>>><br>
>>> Whenever I update a ticket, the TimeWorked field is blank, any value<br>
>>> (digits) I add will automatically be added to the old value, it'll make a<br>
>>> simple addition.<br>
>>><br>
>>> How can I do the same with CustomFields? Either via the webUI, scrip or<br>
>>> back-end (Update.html ? ModifyAll.html?)<br>
>>><br>
>>> I'm running RT 4.0.5<br>
>>><br>
>>> Thank you!<br>
>>> --<br>
>>> View this message in context:<br>
>>> <a href="http://old.nabble.com/Append-Data-to-CustomFields-tp33920988p33920988.html" target="_blank">http://old.nabble.com/Append-Data-to-CustomFields-tp33920988p33920988.html</a><br>
>>> Sent from the Request Tracker - User mailing list archive at Nabble.com.<br>
>>><br>
>>><br>
>><br>
>><br>
> --<br>
> View this message in context: <a href="http://old.nabble.com/Append-Data-to-CustomFields-tp33920988p33933640.html" target="_blank">http://old.nabble.com/Append-Data-to-CustomFields-tp33920988p33933640.html</a><br>
> Sent from the Request Tracker - User mailing list archive at Nabble.com.<br>
><br>
</div></div></blockquote></div><br>