|
|
|
@ -1,6 +1,7 @@
|
|
|
|
|
#Include, func.ahk
|
|
|
|
|
|
|
|
|
|
Menu, Tray, Icon, shell32.dll, 283 ; Set the tray icon to a keyboard
|
|
|
|
|
Menu, Tray, Add, MouseMover ; Add item to tray icon right click for mouse mover
|
|
|
|
|
|
|
|
|
|
;------------------------------------------------------------------------------
|
|
|
|
|
; Make sure the settings file exists, if not, create it
|
|
|
|
@ -61,153 +62,134 @@ ger := ini_get(ini, "Language", "German")
|
|
|
|
|
If (glovar = 1)
|
|
|
|
|
{
|
|
|
|
|
glovarini := A_MyDocuments "\GloVar.ini" ; Location of the ini that the user modifies
|
|
|
|
|
|
|
|
|
|
glovarstart := "#SingleInstance force`n`n:*:$dorg::`n:*:$dus::`n:*:$dnm::`n:*:$dem::`n:*:$xid::`n"
|
|
|
|
|
|
|
|
|
|
SetTimer, GloVar, 2000 ; Check every 2 seconds
|
|
|
|
|
|
|
|
|
|
GloVar:
|
|
|
|
|
WinWaitNotActive, GloVar.ini ; So that we don't get any problems with the file on disk being out of date. I use VSCode with the "Save on lose focus" option on, YMMV
|
|
|
|
|
FileGetTime, gvModNew, %glovarini%
|
|
|
|
|
if !(gvModNew = gvMod) ; Those two lines mean the rest of this only executes if there were changes to the ini.
|
|
|
|
|
{
|
|
|
|
|
FileGetTime, gvModNew, %glovarini%
|
|
|
|
|
if !(gvModNew = gvMod) ; Those two lines mean the rest of this only executes if there were changes to the ini.
|
|
|
|
|
gvMod := gvModNew
|
|
|
|
|
FileDelete, glovar.ahk ; Start with a clean slate
|
|
|
|
|
FileAppend, %glovarstart%, glovar.ahk ; makes sure we only have one instance of the script running at a time
|
|
|
|
|
RESection := "" ; Make sure that its clear
|
|
|
|
|
file := FileOpen(glovarini, "r")
|
|
|
|
|
Loop ; Read one line at a time
|
|
|
|
|
{
|
|
|
|
|
gvMod := gvModNew
|
|
|
|
|
FileDelete, glovar.ahk ; Start with a clean slate
|
|
|
|
|
FileAppend, %glovarstart%, glovar.ahk ; makes sure we only have one instance of the script running at a time
|
|
|
|
|
Line := file.ReadLine()
|
|
|
|
|
RegExMatch(Line, "(?<=\[).*(?=\])", RESection) ; explained above
|
|
|
|
|
RegExMatch(Line, "^(?<Key>.*)=(?<Value>.*)", RE) ; Key = REKey, Value = REValue
|
|
|
|
|
|
|
|
|
|
RESection := "" ; Make sure that its clear
|
|
|
|
|
file := FileOpen(glovarini, "r")
|
|
|
|
|
Loop ; Read one line at a time
|
|
|
|
|
If (RESection && InStr(StoredSection := RESection, "clear")) ; Found a clear section
|
|
|
|
|
{
|
|
|
|
|
Line := file.ReadLine()
|
|
|
|
|
RegExMatch(Line, "(?<=\[).*(?=\])", RESection) ; explained above
|
|
|
|
|
RegExMatch(Line, "^(?<Key>.*)=(?<Value>.*)", RE) ; Key = REKey, Value = REValue
|
|
|
|
|
|
|
|
|
|
If !(RESection) ; If the RegEx doesn't find antything, its empty
|
|
|
|
|
; Will clear the ini and save its and the documentation file's contents to a log
|
|
|
|
|
FileRead, doctemp, %docfile% ; Read documentation file, set in settings
|
|
|
|
|
FileRead, initemp, %glovarini% ; Read the ini
|
|
|
|
|
initemp := RegExReplace(initemp, "(?<=\[)clear(?=\])", "Info") ; Replace the "clear" section we set with Info
|
|
|
|
|
CurrTime := GetDateTime("en") ; get the current date and time as "YYYY-MM-DD at HH:MM GMT"
|
|
|
|
|
writethis := "Case on " . CurrTime . "`n" . doctemp . "`n`n" . initemp ; Save the current time, what was in the doc file, and glovarini to a variable
|
|
|
|
|
FileAppend, % "`n`n`n`n" writethis "`n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~", %A_MyDocuments%/D3KLog.txt ; Write a few new lines , the content, and a line underneath
|
|
|
|
|
FileAppend,, temptemp
|
|
|
|
|
FileCopy, glovarsource, %glovarini%, 1 ; Copies and replaces any text in glovar.ini with the template
|
|
|
|
|
FileCopy, temptemp, %docfile%, 1 ; These two this close together makes it look like they get cleared at the same time
|
|
|
|
|
FileDelete, temptemp
|
|
|
|
|
fileread, gvMod, %glovarini% ; Make sure that this script knows what the ini was changed to so it doesn't constantly run through the above code
|
|
|
|
|
FileDelete, glovar.ahk ; THE CLEAN SLATE
|
|
|
|
|
FileAppend, %glovarstart%, glovar.ahk
|
|
|
|
|
Sleep, 500
|
|
|
|
|
FileGetTime, gvMod, %glovarini% ; Make sure that this script knows what the ini was changed to so it doesn't constantly run through the above code
|
|
|
|
|
If FileExist("glovar.ahk")
|
|
|
|
|
{
|
|
|
|
|
If !(REValue) ; If there is no value for the key, skip it (Continue the loop at the next line)
|
|
|
|
|
{
|
|
|
|
|
Continue
|
|
|
|
|
}
|
|
|
|
|
If InStr(StoredSection, "Serial Numbers") ; If the section is "Serial Numbers", make everything uppercase
|
|
|
|
|
{
|
|
|
|
|
StringUpper, REValue, REValue ; Makes it uppercase
|
|
|
|
|
WinWaitNotActive, GloVar.ini ; Just to make sure
|
|
|
|
|
{
|
|
|
|
|
ini_write(glovarini, REKey, REValue)
|
|
|
|
|
FileGetTime, gvMod, %glovarini%
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
If InStr(StoredSection, "Operations Center") ; If the section is "Operations Center" and the Key "un", make it uppercase
|
|
|
|
|
{
|
|
|
|
|
If InStr(REKey, "usr")
|
|
|
|
|
{
|
|
|
|
|
StringUpper, REValue, REValue ; Makes it uppercase
|
|
|
|
|
WinWaitNotActive, GloVar.ini
|
|
|
|
|
{
|
|
|
|
|
ini_write(glovarini, REKey, REValue) ; Writes the properly formatted case number to glovar.ini
|
|
|
|
|
FileGetTime, gvMod, %glovarini%
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
If InStr(REKey, "case") ; If a key contains "case". Case numbers are all in the format "LETTERS-NUMBERS".
|
|
|
|
|
{
|
|
|
|
|
StringUpper, REValue, REValue ; Makes it uppercase
|
|
|
|
|
RegExMatch(REValue, "(?<=\().*(?=\))", REMatch) ; Match everything but the parenthesis. When the case numbers are shown they have parenthesis, and those are annoying.
|
|
|
|
|
If (REMatch) ; If there's anything there
|
|
|
|
|
{
|
|
|
|
|
WinWaitNotActive, GloVar.ini
|
|
|
|
|
{
|
|
|
|
|
ini_write(glovarini, REKey, REMatch) ; Writes the properly formatted case number to glovar.ini
|
|
|
|
|
FileGetTime, gvMod, %glovarini%
|
|
|
|
|
}
|
|
|
|
|
REValue := REMatch
|
|
|
|
|
} Else {
|
|
|
|
|
WinWaitNotActive, GloVar.ini
|
|
|
|
|
{
|
|
|
|
|
ini_write(glovarini, REKey, REValue) ; Writes the properly formatted case number to glovar.ini
|
|
|
|
|
FileGetTime, gvMod, %glovarini%
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
If InStr(REKey, "xid") ; If an xID is entered. Unique identifier for people
|
|
|
|
|
{
|
|
|
|
|
dealinfo := GetInfo(REValue) ; Gets information, see function for details
|
|
|
|
|
StringUpper, REValue, REValue ; Makes xID uppercase
|
|
|
|
|
|
|
|
|
|
if !(REValue = dealinfo.xid)
|
|
|
|
|
{
|
|
|
|
|
run addemail.ahk
|
|
|
|
|
Continue
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
; Replace the data in glovar.ahk with the data from the ini
|
|
|
|
|
FileRead, tempglovar, glovar.ahk
|
|
|
|
|
tempglovar := RegExReplace(tempglovar, "(?<=\$xid::).*", dealinfo.xid)
|
|
|
|
|
tempglovar := RegExReplace(tempglovar, "(?<=\$dem::).*", dealinfo.email)
|
|
|
|
|
tempglovar := RegExReplace(tempglovar, "(?<=\$dnm::).*", dealinfo.name)
|
|
|
|
|
tempglovar := RegExReplace(tempglovar, "(?<=\$dus::).*", dealinfo.user)
|
|
|
|
|
tempglovar := RegExReplace(tempglovar, "(?<=\$dorg::).*", dealinfo.org)
|
|
|
|
|
FileAppend, %tempglovar%, tempglovar
|
|
|
|
|
FileCopy, tempglovar, glovar.ahk,1
|
|
|
|
|
FileDelete, tempglovar
|
|
|
|
|
|
|
|
|
|
WinWaitNotActive, GloVar.ini
|
|
|
|
|
{
|
|
|
|
|
ini_write(glovarini, "xID", dealinfo.xid) ; Writes the xID
|
|
|
|
|
ini_write(glovarini, "dem", dealinfo.email) ; Writes email address (incredibly useful)
|
|
|
|
|
ini_write(glovarini, "dnm", dealinfo.name) ; Writes Name (useful for when referring to that person)
|
|
|
|
|
ini_write(glovarini, "dus", dealinfo.user) ; Writes demo account name (somewhat useful)
|
|
|
|
|
ini_write(glovarini, "dorg", dealinfo.org)
|
|
|
|
|
}
|
|
|
|
|
FileGetTime, gvMod, %glovarini% ; Make sure that this script knows what the ini was changed to so it doesn't constantly run through the above code
|
|
|
|
|
Continue
|
|
|
|
|
}
|
|
|
|
|
If (InStr(REKey, "dem") or InStr(REKey, "dnm") or InStr(REKey, "dus"))
|
|
|
|
|
{
|
|
|
|
|
; Do not process xID related info, that is done above
|
|
|
|
|
Continue
|
|
|
|
|
}
|
|
|
|
|
writethis := ":*:$" REKey "::" REValue "`n" ; Save the hotstring to a variable
|
|
|
|
|
FileAppend, %writethis%, glovar.ahk ; Write the variable to glovar.ahk
|
|
|
|
|
Run glovar.ahk
|
|
|
|
|
}
|
|
|
|
|
If (RESection) ; If we have a section
|
|
|
|
|
{
|
|
|
|
|
StoredSection := RESection
|
|
|
|
|
If InStr(RESection, "clear") ; Will clear the ini and save its and the documentation file's contents to a log
|
|
|
|
|
{
|
|
|
|
|
FileRead, doctemp, %docfile% ; Read documentation file, set in settings
|
|
|
|
|
FileRead, initemp, %glovarini% ; Read the ini
|
|
|
|
|
initemp := RegExReplace(initemp, "(?<=\[)clear(?=\])", "Info") ; Replace the "clear" section we set with Info
|
|
|
|
|
CurrTime := GetDateTime("en") ; get the current date and time as "YYYY-MM-DD at HH:MM GMT"
|
|
|
|
|
|
|
|
|
|
writethis := "Case on " . CurrTime . "`n" . doctemp . "`n`n" . initemp ; Save the current time, what was in the doc file, and glovarini to a variable
|
|
|
|
|
FileAppend, % "`n`n`n`n" writethis "`n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~", %A_MyDocuments%/D3KLog.txt ; Write a few new lines , the content, and a line underneath
|
|
|
|
|
FileAppend,, temptemp
|
|
|
|
|
FileCopy, glovarsource, %glovarini%, 1 ; Copies and replaces any text in glovar.ini with the template
|
|
|
|
|
FileCopy, temptemp, %docfile%, 1 ; These two this close together makes it look like they get cleared at the same time
|
|
|
|
|
FileDelete, temptemp
|
|
|
|
|
fileread, gvMod, %glovarini% ; Make sure that this script knows what the ini was changed to so it doesn't constantly run through the above code
|
|
|
|
|
FileDelete, glovar.ahk ; THE CLEAN SLATE
|
|
|
|
|
FileAppend, %glovarstart%, glovar.ahk
|
|
|
|
|
|
|
|
|
|
Sleep, 500
|
|
|
|
|
FileGetTime, gvMod, %glovarini% ; Make sure that this script knows what the ini was changed to so it doesn't constantly run through the above code
|
|
|
|
|
If FileExist("glovar.ahk")
|
|
|
|
|
{
|
|
|
|
|
Run glovar.ahk
|
|
|
|
|
}
|
|
|
|
|
Return
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
} Until (file.AtEOF)
|
|
|
|
|
file.Close()
|
|
|
|
|
FileGetTime, gvMod, %glovarini% ; Make sure that this script knows what the ini was changed to so it doesn't constantly run through the above code
|
|
|
|
|
If FileExist("glovar.ahk")
|
|
|
|
|
{
|
|
|
|
|
Run glovar.ahk
|
|
|
|
|
Return
|
|
|
|
|
} else if (RESection) { ; found a different section
|
|
|
|
|
StoredSection := RESection
|
|
|
|
|
continue
|
|
|
|
|
}
|
|
|
|
|
If !(RESection) ; If the RegEx doesn't find antything, its empty
|
|
|
|
|
{
|
|
|
|
|
If !(REValue) ; If there is no value for the key, skip it (Continue the loop at the next line)
|
|
|
|
|
{
|
|
|
|
|
Continue
|
|
|
|
|
}
|
|
|
|
|
If InStr(StoredSection, "Serial Numbers") ; If the section is "Serial Numbers", make everything uppercase
|
|
|
|
|
{
|
|
|
|
|
StringUpper, REValue, REValue ; Makes it uppercase
|
|
|
|
|
WinWaitNotActive, GloVar.ini ; Just to make sure
|
|
|
|
|
ini_write(glovarini, REKey, REValue)
|
|
|
|
|
FileGetTime, gvMod, %glovarini%
|
|
|
|
|
MsgBox, test
|
|
|
|
|
}
|
|
|
|
|
If InStr(StoredSection, "Operations Center") ; If the section is "Operations Center" and the Key "un", make it uppercase
|
|
|
|
|
{
|
|
|
|
|
If InStr(REKey, "usr")
|
|
|
|
|
{
|
|
|
|
|
StringUpper, REValue, REValue ; Makes it uppercase
|
|
|
|
|
WinWaitNotActive, GloVar.ini
|
|
|
|
|
ini_write(glovarini, REKey, REValue) ; Writes the properly formatted case number to glovar.ini
|
|
|
|
|
FileGetTime, gvMod, %glovarini%
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
If InStr(REKey, "case") ; If a key contains "case". Case numbers are all in the format "LETTERS-NUMBERS".
|
|
|
|
|
{
|
|
|
|
|
StringUpper, REValue, REValue ; Makes it uppercase
|
|
|
|
|
RegExMatch(REValue, "(?<=\().*(?=\))", REMatch) ; Match everything but the parenthesis. When the case numbers are shown they have parenthesis, and those are annoying.
|
|
|
|
|
If (REMatch) ; If there's anything there
|
|
|
|
|
{
|
|
|
|
|
WinWaitNotActive, GloVar.ini
|
|
|
|
|
ini_write(glovarini, REKey, REMatch) ; Writes the properly formatted case number to glovar.ini
|
|
|
|
|
FileGetTime, gvMod, %glovarini%
|
|
|
|
|
REValue := REMatch
|
|
|
|
|
} Else {
|
|
|
|
|
WinWaitNotActive, GloVar.ini
|
|
|
|
|
ini_write(glovarini, REKey, REValue) ; Writes the properly formatted case number to glovar.ini
|
|
|
|
|
FileGetTime, gvMod, %glovarini%
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
If InStr(REKey, "xid") ; If an xID is entered. Unique identifier for people
|
|
|
|
|
{
|
|
|
|
|
dealinfo := GetInfo(REValue) ; Gets information, see function for details
|
|
|
|
|
StringUpper, REValue, REValue ; Makes xID uppercase
|
|
|
|
|
if !(REValue = dealinfo.xid)
|
|
|
|
|
{
|
|
|
|
|
run addemail.ahk
|
|
|
|
|
Continue
|
|
|
|
|
}
|
|
|
|
|
; Replace the data in glovar.ahk with the data from the ini
|
|
|
|
|
FileRead, tempglovar, glovar.ahk
|
|
|
|
|
tempglovar := RegExReplace(tempglovar, "(?<=\$xid::).*", dealinfo.xid)
|
|
|
|
|
tempglovar := RegExReplace(tempglovar, "(?<=\$dem::).*", dealinfo.email)
|
|
|
|
|
tempglovar := RegExReplace(tempglovar, "(?<=\$dnm::).*", dealinfo.name)
|
|
|
|
|
tempglovar := RegExReplace(tempglovar, "(?<=\$dus::).*", dealinfo.user)
|
|
|
|
|
tempglovar := RegExReplace(tempglovar, "(?<=\$dorg::).*", dealinfo.org)
|
|
|
|
|
FileAppend, %tempglovar%, tempglovar
|
|
|
|
|
FileCopy, tempglovar, glovar.ahk,1
|
|
|
|
|
FileDelete, tempglovar
|
|
|
|
|
WinWaitNotActive, GloVar.ini
|
|
|
|
|
ini_write(glovarini, "xID", dealinfo.xid) ; Writes the xID
|
|
|
|
|
ini_write(glovarini, "dem", dealinfo.email) ; Writes email address (incredibly useful)
|
|
|
|
|
ini_write(glovarini, "dnm", dealinfo.name) ; Writes Name (useful for when referring to that person)
|
|
|
|
|
ini_write(glovarini, "dus", dealinfo.user) ; Writes demo account name (somewhat useful)
|
|
|
|
|
ini_write(glovarini, "dorg", dealinfo.org)
|
|
|
|
|
FileGetTime, gvMod, %glovarini% ; Make sure that this script knows what the ini was changed to so it doesn't constantly run through the above code
|
|
|
|
|
Continue
|
|
|
|
|
}
|
|
|
|
|
If (InStr(REKey, "dem") or InStr(REKey, "dnm") or InStr(REKey, "dus"))
|
|
|
|
|
{
|
|
|
|
|
; Do not process xID related info, that is done above
|
|
|
|
|
Continue
|
|
|
|
|
}
|
|
|
|
|
writethis := ":*:$" REKey "::" REValue "`n" ; Save the hotstring to a variable
|
|
|
|
|
FileAppend, %writethis%, glovar.ahk ; Write the variable to glovar.ahk
|
|
|
|
|
}
|
|
|
|
|
} Until (file.AtEOF)
|
|
|
|
|
file.Close()
|
|
|
|
|
FileGetTime, gvMod, %glovarini% ; Make sure that this script knows what the ini was changed to so it doesn't constantly run through the above code
|
|
|
|
|
If FileExist("glovar.ahk")
|
|
|
|
|
{
|
|
|
|
|
Run glovar.ahk
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
Return
|
|
|
|
@ -220,6 +202,9 @@ If (glovar = 1)
|
|
|
|
|
|
|
|
|
|
!+\::Run Settings.ahk ; Alt+Shift+\
|
|
|
|
|
|
|
|
|
|
MouseMover:
|
|
|
|
|
Run, msmv.ahk
|
|
|
|
|
Return
|
|
|
|
|
|
|
|
|
|
;------------------------------------------------------------------------------
|
|
|
|
|
; DTAC Solution Opener
|
|
|
|
@ -495,105 +480,107 @@ SetTitleMatchMode, 2
|
|
|
|
|
|
|
|
|
|
; English
|
|
|
|
|
:*:]at::AutoTrac
|
|
|
|
|
:*:]sf::StarFire
|
|
|
|
|
:*:]jdlw::JDLink Web
|
|
|
|
|
:*:]jdld::JDLink Dashboard
|
|
|
|
|
:*:]jdl2::JDLink Dashboard 2.0
|
|
|
|
|
:*:]jdlc::JDLink Connect
|
|
|
|
|
:*:]jdla::JDLink Access
|
|
|
|
|
:*:]jdls::JDLink Subscription
|
|
|
|
|
:*:]jdll::JDLink
|
|
|
|
|
:*:]jdp::JDParts
|
|
|
|
|
:*:]mjd::MyJohnDeere
|
|
|
|
|
:*:]opsc::Operations Center
|
|
|
|
|
:*:]seccon::Section Control
|
|
|
|
|
:*:]gs::GreenStar
|
|
|
|
|
:*:]cc::CommandCenter
|
|
|
|
|
:*:]fc::Field Connect
|
|
|
|
|
:*:]rs::RowSense
|
|
|
|
|
:*:]sub::subscription
|
|
|
|
|
:*:]ss::Stellar Support
|
|
|
|
|
:*:]tman::Technical Manual
|
|
|
|
|
:*:]oman::Operator's Manual
|
|
|
|
|
:*:]hl3::HarvestLab 3000
|
|
|
|
|
:*:]hlo::Original HarvestLab
|
|
|
|
|
:*:]bin::Virtual Inventory
|
|
|
|
|
:*:]warrep::Warranty Reports
|
|
|
|
|
:*:]tp::TouchPoint
|
|
|
|
|
:*:]tcsm::Territory Customer Support Manager
|
|
|
|
|
:*:]macrep::Machine Reports
|
|
|
|
|
:*:]jdsm::John Deere Software Manager
|
|
|
|
|
:*:]jddm::John Deere Data Manager
|
|
|
|
|
:*:]serva::Service Advisor
|
|
|
|
|
:*:]muc::Master Unlock Code
|
|
|
|
|
:*:]cc::CommandCenter
|
|
|
|
|
:*:]deg::{ASC 248}
|
|
|
|
|
:*:]eq::{ASC 247}
|
|
|
|
|
:*:]fc::Field Connect
|
|
|
|
|
:*:]gs::GreenStar
|
|
|
|
|
:*:]gp::GSC-Prepared
|
|
|
|
|
:*:]hl3::HarvestLab 3000
|
|
|
|
|
:*:]hlo::Original HarvestLab
|
|
|
|
|
:*:]jddm::John Deere Data Manager
|
|
|
|
|
:*:]jdl2::JDLink Dashboard 2.0
|
|
|
|
|
:*:]jdla::JDLink Access
|
|
|
|
|
:*:]jdlc::JDLink Connect
|
|
|
|
|
:*:]jdld::JDLink Dashboard
|
|
|
|
|
:*:]jdll::JDLink
|
|
|
|
|
:*:]jdls::JDLink Subscription
|
|
|
|
|
:*:]jdlw::JDLink Web
|
|
|
|
|
:*:]jdp::JDParts
|
|
|
|
|
:*:]jdsm::John Deere Software Manager
|
|
|
|
|
:*:]macrep::Machine Reports
|
|
|
|
|
:*:]mjd::MyJohnDeere
|
|
|
|
|
:*:]muc::Master Unlock Code
|
|
|
|
|
:*:]oman::Operator's Manual
|
|
|
|
|
:*:]opsc::Operations Center
|
|
|
|
|
:*:]rs::RowSense
|
|
|
|
|
:*:]seccon::Section Control
|
|
|
|
|
:*:]serva::Service Advisor
|
|
|
|
|
:*:]sf::StarFire
|
|
|
|
|
:*:]ss::Stellar Support
|
|
|
|
|
:*:]sub::subscription
|
|
|
|
|
:*:]tcsm::Territory Customer Support Manager
|
|
|
|
|
:*:]tman::Technical Manual
|
|
|
|
|
:*:]tp::TouchPoint
|
|
|
|
|
:*:]warrep::Warranty Reports
|
|
|
|
|
|
|
|
|
|
::rowsense::RowSense
|
|
|
|
|
::comar::COMAR
|
|
|
|
|
::mrtk::mRTK
|
|
|
|
|
::rda::RDA
|
|
|
|
|
::rtk::RTK
|
|
|
|
|
:*:mtg::MTG
|
|
|
|
|
:*:racf::RACF
|
|
|
|
|
:*:vin::VIN
|
|
|
|
|
::atu::ATU
|
|
|
|
|
::autotrac::AutoTrac
|
|
|
|
|
::ccms::CCMS
|
|
|
|
|
::comar::COMAR
|
|
|
|
|
::dtac::DTAC
|
|
|
|
|
::tcsm::TCSM
|
|
|
|
|
::itec::iTEC Pro
|
|
|
|
|
::ssu::SSU
|
|
|
|
|
::atu::ATU
|
|
|
|
|
:*:mtg::MTG
|
|
|
|
|
::wdt::WDT
|
|
|
|
|
::itc::iTC
|
|
|
|
|
:*:vin::VIN
|
|
|
|
|
::gs2::GS2
|
|
|
|
|
::gs3::GS3
|
|
|
|
|
::igrade::iGrade
|
|
|
|
|
::itc::iTC
|
|
|
|
|
::itec::iTEC Pro
|
|
|
|
|
::mrtk::mRTK
|
|
|
|
|
::pmcalc::PMCalc
|
|
|
|
|
::rda::RDA
|
|
|
|
|
::rowsense::RowSense
|
|
|
|
|
::rtk::RTK
|
|
|
|
|
::sf1::SF1
|
|
|
|
|
::sf2::SF2
|
|
|
|
|
::sf3::SF3
|
|
|
|
|
::sf4::SF4
|
|
|
|
|
::xid::xID
|
|
|
|
|
::pmcalc::PMCalc
|
|
|
|
|
::ssu::SSU
|
|
|
|
|
::tcsm::TCSM
|
|
|
|
|
::vat::VAT
|
|
|
|
|
:*:racf::RACF
|
|
|
|
|
::igrade::iGrade
|
|
|
|
|
::wdt::WDT
|
|
|
|
|
::xid::xID
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
; German
|
|
|
|
|
#If, ger = "1"
|
|
|
|
|
:*:[at::AutoTrac
|
|
|
|
|
:*:[sf::StarFire
|
|
|
|
|
:*:[jdlw::JDLink Web
|
|
|
|
|
:*:[jdld::JDLink Dashboard
|
|
|
|
|
:*:[jdl2::JDLink Dashboard 2.0
|
|
|
|
|
:*:[jdlc::JDLink Connect
|
|
|
|
|
:*:[jdla::JDLink Access
|
|
|
|
|
:*:[jdls::JDLink Abonnement
|
|
|
|
|
:*:[jdll::JDLink
|
|
|
|
|
:*:[jdp::JDParts
|
|
|
|
|
:*:[mjd::MyJohnDeere
|
|
|
|
|
:*:[opsc::Einsatzzentrale
|
|
|
|
|
:*:[seccon::Teilbreitensteuerung
|
|
|
|
|
:*:[gs::GreenStar
|
|
|
|
|
:*:[cc::CommandCenter
|
|
|
|
|
:*:[fc::Field Connect
|
|
|
|
|
:*:[rs::RowSense
|
|
|
|
|
:*:[sub::Abonnement
|
|
|
|
|
:*:[ss::Stellar Support
|
|
|
|
|
:*:[tman::Technische Betriebsanleitung
|
|
|
|
|
:*:[oman::Betriebsanleitung
|
|
|
|
|
:*:[hl3::HarvestLab 3000
|
|
|
|
|
:*:[hlo::Originales HarvestLab
|
|
|
|
|
:*:[bin::Virtuellen Bestand
|
|
|
|
|
:*:[warrep::Warranty Reports
|
|
|
|
|
:*:[tp::TouchPoint
|
|
|
|
|
:*:[tcsm::Technischer Bezirksleiter
|
|
|
|
|
:*:[macrep::Machine Reports
|
|
|
|
|
:*:[jdsm::John Deere Software Manager
|
|
|
|
|
:*:[jddm::John Deere Data Manager
|
|
|
|
|
:*:[serva::Service Advisor
|
|
|
|
|
:*:[muc::Master Unlock Code
|
|
|
|
|
:*:[cc::CommandCenter
|
|
|
|
|
:*:[deg::{ASC 248}
|
|
|
|
|
:*:[eq::{ASC 247}
|
|
|
|
|
:*:[fc::Field Connect
|
|
|
|
|
:*:[gs::GreenStar
|
|
|
|
|
:*:[gp::GSC-Prepared
|
|
|
|
|
:*:[hl3::HarvestLab 3000
|
|
|
|
|
:*:[hlo::Originales HarvestLab
|
|
|
|
|
:*:[jddm::John Deere Data Manager
|
|
|
|
|
:*:[jdl2::JDLink Dashboard 2.0
|
|
|
|
|
:*:[jdla::JDLink Access
|
|
|
|
|
:*:[jdlc::JDLink Connect
|
|
|
|
|
:*:[jdld::JDLink Dashboard
|
|
|
|
|
:*:[jdll::JDLink
|
|
|
|
|
:*:[jdls::JDLink Abonnement
|
|
|
|
|
:*:[jdlw::JDLink Web
|
|
|
|
|
:*:[jdp::JDParts
|
|
|
|
|
:*:[jdsm::John Deere Software Manager
|
|
|
|
|
:*:[macrep::Machine Reports
|
|
|
|
|
:*:[mjd::MyJohnDeere
|
|
|
|
|
:*:[muc::Master Unlock Code
|
|
|
|
|
:*:[oman::Betriebsanleitung
|
|
|
|
|
:*:[opsc::Einsatzzentrale
|
|
|
|
|
:*:[rs::RowSense
|
|
|
|
|
:*:[seccon::Teilbreitensteuerung
|
|
|
|
|
:*:[serva::Service Advisor
|
|
|
|
|
:*:[sf::StarFire
|
|
|
|
|
:*:[ss::Stellar Support
|
|
|
|
|
:*:[sub::Abonnement
|
|
|
|
|
:*:[tcsm::Technischer Bezirksleiter
|
|
|
|
|
:*:[tman::Technische Betriebsanleitung
|
|
|
|
|
:*:[tp::TouchPoint
|
|
|
|
|
:*:[warrep::Warranty Reports
|
|
|
|
|
#If
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|