Announcement

Collapse
No announcement yet.
X
  • Filter
  • Time
Clear All
new posts

    valuesManager.setValues corrupts object(s) passed in

    I would not have believed it if I did not see it in the Developer Console log. I assemble an object and pass it to setValues. The resulting valuesManager seems corrupted. Each nested object has inserted into it another copy(?) of the same object.

    I look at the assembled object before it is used to setValues. There is no such corruption. I look at it after it is used in the call to setValues and this INPUT argument is corrupted.

    So, for another test I skip the assembly step and just use an object literal in the call that assembles the component objects. The result: the component objects are now corrupted.

    When I skip the call to setValues altogether and just assemble the input object, there is no corruption.

    Here is the relevant console log for this last case showing no corruption. I note that the valuesManager involved has residual AgendaTask and AgendaIssue objects. I don't know if that is a related symptom.
    Code:
    12:06:44.080:MUP9:DEBUG:Log:*************** MeetingForm.visibilityChanged
    12:06:44.162:MUP9:DEBUG:Log:*** members meetingTypeVM: [
    Window{ID: "MeetingWindow",
    autoDraw: false,
    isModal: true,
    title: "Meeting Window",
    showMinimizeButton: false,
    showMaximizeButton: true,
    showStatusBar: false,
    showResizer: false,
    items: Array[2],
    showModalMask: true,
    modalMaskOpacity: 10,
    width: 1143,
    height: 665,
    top: 84,
    canDragReposition: false,
    showShadow: false,
    members: Array[2],
    position: "absolute",
    className: "normal",
    vertical: true,
    children: Array[2],
    zIndex: 800594,
    peers: Array[1],
    valuesManager: [ValuesManager ID:meetingTypeVM],
    modalMask: [ScreenSpan ID:MeetingWindow_modalMask],
    header: [HLayout ID:MeetingWindow_header],
    headerIcon: [Img ID:MeetingWindow_headerIcon],
    headerLabel: [Label ID:MeetingWindow_headerLabel],
    maximizeButton: [ImgButton ID:MeetingWindow_maximizeButton],
    closeButton: [ImgButton ID:MeetingWindow_closeButton],
    bodyConstructor: "Layout",
    body: [Layout ID:MeetingWindow_body],
    cacheOffsetCoords: true,
    tabIndex: 4668,
    memberSizes: Array[2],
    lastScrollLeft: 0,
    lastScrollTop: 0,
    lastScrollDirection: "vertical",
    scrollTop: -10011,
    },
    DynamicForm{ID: "AgendaOptionsForm",
    dataPath: "AgendaOptions",
    autoDraw: false,
    numCols: 5,
    fields: Array[8],
    width: 493,
    height: 100,
    extraSpace: 10,
    position: "absolute",
    className: "normal",
    items: Array[8],
    values: Obj,
    originalFields: Array[8],
    tabIndex: 5009,
    errors: Obj,
    parentElement: [VLayout ID:AgendaOptionsLayout],
    topElement: [Window ID:MeetingWindow],
    valuesManager: [ValuesManager ID:meetingTypeVM],
    cacheOffsetCoords: true,
    zIndex: 204158,
    },
    DynamicForm{ID: "AgendaOptionsTopicForm",
    dataPath: "AgendaTopic",
    autoDraw: false,
    numCols: 5,
    overflow: "hidden",
    fields: Array[10],
    width: 423,
    height: 180,
    position: "absolute",
    className: "normal",
    left: 5,
    top: 5,
    items: Array[10],
    values: Obj,
    originalFields: Array[10],
    tabIndex: 5071,
    errors: Obj,
    parentElement: [PaneContainer ID:AgendaOptionsTabs_paneContainer],
    topElement: [Window ID:MeetingWindow],
    valuesManager: [ValuesManager ID:meetingTypeVM],
    cacheOffsetCoords: true,
    zIndex: 204284,
    },
    DynamicForm{ID: "AgendaOptionsIssueForm",
    dataPath: "AgendaIssue",
    autoDraw: false,
    colWidths: Array[7],
    numCols: 6,
    overflow: "hidden",
    fields: Array[20],
    width: 423,
    height: 180,
    position: "absolute",
    className: "normal",
    left: 5,
    top: 5,
    items: Array[20],
    values: Obj,
    originalFields: Array[20],
    tabIndex: 5080,
    errors: Obj,
    visibility: "hidden",
    parentElement: [PaneContainer ID:AgendaOptionsTabs_paneContainer],
    topElement: [Window ID:MeetingWindow],
    valuesManager: [ValuesManager ID:meetingTypeVM],
    },
    DynamicForm{ID: "AgendaOptionsTaskForm",
    dataPath: "AgendaTask",
    autoDraw: false,
    colWidths: Array[6],
    numCols: 6,
    overflow: "hidden",
    fields: Array[16],
    autoFocus: true,
    width: 423,
    height: 180,
    position: "absolute",
    className: "normal",
    left: 5,
    top: 5,
    items: Array[16],
    values: Obj,
    originalFields: Array[16],
    tabIndex: 5099,
    errors: Obj,
    visibility: "hidden",
    parentElement: [PaneContainer ID:AgendaOptionsTabs_paneContainer],
    topElement: [Window ID:MeetingWindow],
    valuesManager: [ValuesManager ID:meetingTypeVM],
    },
    DynamicForm{ID: "AgendaOptionsSpecialForm",
    dataPath: "AgendaSpecial",
    autoDraw: false,
    colWidths: Array[2],
    overflow: "hidden",
    fields: Array[3],
    width: 423,
    height: 180,
    position: "absolute",
    className: "normal",
    left: 5,
    top: 5,
    items: Array[3],
    values: Obj,
    originalFields: Array[3],
    tabIndex: 5113,
    errors: Obj,
    visibility: "hidden",
    parentElement: [PaneContainer ID:AgendaOptionsTabs_paneContainer],
    topElement: [Window ID:MeetingWindow],
    valuesManager: [ValuesManager ID:meetingTypeVM],
    },
    DynamicForm{ID: "MinutesOptionsForm",
    dataPath: "MinutesOptions",
    autoDraw: false,
    numCols: 5,
    fields: Array[8],
    height: 100,
    extraSpace: 10,
    position: "absolute",
    className: "normal",
    width: 100,
    items: Array[8],
    values: Obj,
    originalFields: Array[8],
    tabIndex: 5119,
    errors: Obj,
    parentElement: [VLayout ID:MinutesOptionsLayout],
    topElement: [Window ID:MeetingWindow],
    valuesManager: [ValuesManager ID:meetingTypeVM],
    },
    DynamicForm{ID: "MinutesOptionsTopicForm",
    dataPath: "MinutesTopic",
    autoDraw: false,
    numCols: 5,
    fields: Array[10],
    width: 423,
    height: 180,
    position: "absolute",
    className: "normal",
    items: Array[10],
    values: Obj,
    originalFields: Array[10],
    tabIndex: 5131,
    errors: Obj,
    visibility: "hidden",
    parentElement: [PaneContainer ID:MinutesOptionsTabs_paneContainer],
    topElement: [Window ID:MeetingWindow],
    valuesManager: [ValuesManager ID:meetingTypeVM],
    },
    DynamicForm{ID: "MinutesOptionsIssueForm",
    dataPath: "MinutesIssue",
    autoDraw: false,
    colWidths: Array[7],
    numCols: 6,
    overflow: "hidden",
    fields: Array[20],
    width: 423,
    height: 180,
    position: "absolute",
    className: "normal",
    items: Array[20],
    values: Obj,
    originalFields: Array[20],
    tabIndex: 5140,
    errors: Obj,
    visibility: "hidden",
    parentElement: [PaneContainer ID:MinutesOptionsTabs_paneContainer],
    topElement: [Window ID:MeetingWindow],
    valuesManager: [ValuesManager ID:meetingTypeVM],
    },
    DynamicForm{ID: "MinutesOptionsTaskForm",
    dataPath: "MinutesTask",
    autoDraw: false,
    colWidths: Array[6],
    numCols: 6,
    overflow: "hidden",
    fields: Array[16],
    autoFocus: true,
    width: 423,
    height: 180,
    position: "absolute",
    className: "normal",
    items: Array[16],
    values: Obj,
    originalFields: Array[16],
    tabIndex: 5159,
    errors: Obj,
    visibility: "hidden",
    parentElement: [PaneContainer ID:MinutesOptionsTabs_paneContainer],
    topElement: [Window ID:MeetingWindow],
    valuesManager: [ValuesManager ID:meetingTypeVM],
    },
    DynamicForm{ID: "MinutesOptionsSpecialForm",
    dataPath: "MinutesSpecial",
    autoDraw: false,
    colWidths: Array[2],
    overflow: "hidden",
    fields: Array[3],
    width: 423,
    height: 180,
    position: "absolute",
    className: "normal",
    items: Array[3],
    values: Obj,
    originalFields: Array[3],
    tabIndex: 5173,
    errors: Obj,
    visibility: "hidden",
    parentElement: [PaneContainer ID:MinutesOptionsTabs_paneContainer],
    topElement: [Window ID:MeetingWindow],
    valuesManager: [ValuesManager ID:meetingTypeVM],
    }
    ]
    12:06:44.162:MUP9:DEBUG:Log:*** starting meetingTypeVM: {AgendaIssue: Obj,
    AgendaTask: Obj}
    12:06:44.162:MUP9:DEBUG:Log:*** starting meetingTypeVM: {
        "AgendaIssue": {
            "Impact": false,
            "IssueLog": false,
            "IssueLogCount": "3",
            "IssueLogUnit": "Entries"
        },
        "AgendaTask": {
            "DueDate": false,
            "OrigDueDate": false,
            "StartDate": false,
            "TaskStatus": false,
            "Owner": false,
            "CompletedDate": false,
            "TaskLog": false,
            "ModifiedDate": false,
            "CreatedDate": false,
            "TaskLogCount": "3",
            "TaskLogUnit": "Entries",
            "TaskLogOrder": "Reverse"
        }
    }
    12:06:44.163:MUP9:DEBUG:Log:meetingTypeVM[AgendaIssue] deleted.
    12:06:44.163:MUP9:DEBUG:Log:meetingTypeVM[AgendaTask] deleted.
    12:06:44.163:MUP9:DEBUG:Log:*** allOptions: {Agenda: Obj,
    Minutes: Obj}
    12:06:44.163:MUP9:DEBUG:Log:*** allOptions: {
        "Agenda": {
            "Options": {
                "MeetingDetails": true,
                "IncludeParticipants": true,
                "TopicDetails": true,
                "TopicIssues": true,
                "IssueDetails": true,
                "IssueTasks": true,
                "TaskDetails": true,
                "CompletedTasks": false
            },
            "Topic": {
                "Leader": true,
                "TopicTime": true,
                "SearchEnabled": false,
                "SessionType": true,
                "ImpactFilter": false,
                "ExpectedResults": true,
                "CategoryFilter": false,
                "IssueTypeFilter": false
            },
            "Issue": {
                "DueDate": true,
                "OrigDueDate": false,
                "ClosedDate": true,
                "IssueStatus": true,
                "Owner": true,
                "Private": true,
                "IssueType": true,
                "Originator": false,
                "ModifiedDate": false,
                "Category": true,
                "IssueDesc": true,
                "CreatedDate": true,
                "Impact": true,
                "Resolution": false,
                "IssueLog": true,
                "IssueLogCount": 3,
                "IssueLogUnit": "Entries",
                "IssueLogOrder": "Reverse"
            },
            "Task": {
                "DueDate": true,
                "OrigDueDate": false,
                "StartDate": true,
                "TaskStatus": true,
                "Owner": true,
                "CompletedDate": true,
                "TaskDesc": false,
                "TaskLog": false,
                "ModifiedDate": false,
                "CreatedDate": false,
                "TaskLogCount": 3,
                "TaskLogUnit": "Entries",
                "TaskLogOrder": "Reverse"
            },
            "Special": {
                "IssueLikelihood": false,
                "IssueImpactDesc": false,
                "SpecificDetails": false
            }
        },
        "Minutes": {
            "Options": {
                "MeetingDetails": true,
                "IncludeParticipants": true,
                "TopicDetails": true,
                "TopicIssues": true,
                "IssueDetails": true,
                "IssueTasks": true,
                "TaskDetails": true,
                "CompletedTasks": false
            },
            "Topic": {
                "Leader": true,
                "TopicTime": true,
                "SearchEnabled": false,
                "SessionType": true,
                "ImpactFilter": false,
                "ExpectedResults": true,
                "CategoryFilter": false,
                "IssueTypeFilter": false
            },
            "Issue": {
                "DueDate": true,
                "OrigDueDate": false,
                "ClosedDate": true,
                "IssueStatus": true,
                "Owner": true,
                "Private": true,
                "IssueType": true,
                "Originator": false,
                "ModifiedDate": false,
                "Category": true,
                "IssueDesc": true,
                "CreatedDate": true,
                "Impact": true,
                "Resolution": false,
                "IssueLog": true,
                "IssueLogCount": 3,
                "IssueLogUnit": "Entries",
                "IssueLogOrder": "Reverse"
            },
            "Task": {
                "DueDate": true,
                "OrigDueDate": false,
                "StartDate": true,
                "TaskStatus": true,
                "Owner": true,
                "CompletedDate": true,
                "TaskDesc": false,
                "TaskLog": false,
                "ModifiedDate": false,
                "CreatedDate": false,
                "TaskLogCount": 3,
                "TaskLogUnit": "Entries",
                "TaskLogOrder": "Reverse"
            },
            "Special": {
                "IssueLikelihood": false,
                "IssueImpactDesc": false,
                "SpecificDetails": false
            }
        }
    }
    12:06:44.164:MUP9:DEBUG:Log:*** agendaSpecialOptions: {
        "IssueLikelihood": false,
        "IssueImpactDesc": false,
        "SpecificDetails": false
    }
    12:06:44.164:MUP9:DEBUG:Log:*** agendaTaskOptions: {
        "DueDate": true,
        "OrigDueDate": false,
        "StartDate": true,
        "TaskStatus": true,
        "Owner": true,
        "CompletedDate": true,
        "TaskDesc": false,
        "TaskLog": false,
        "ModifiedDate": false,
        "CreatedDate": false,
        "TaskLogCount": 3,
        "TaskLogUnit": "Entries",
        "TaskLogOrder": "Reverse"
    }
    12:06:44.164:MUP9:DEBUG:Log:*** agendaIssueOptions: {
        "DueDate": true,
        "OrigDueDate": false,
        "ClosedDate": true,
        "IssueStatus": true,
        "Owner": true,
        "Private": true,
        "IssueType": true,
        "Originator": false,
        "ModifiedDate": false,
        "Category": true,
        "IssueDesc": true,
        "CreatedDate": true,
        "Impact": true,
        "Resolution": false,
        "IssueLog": true,
        "IssueLogCount": 3,
        "IssueLogUnit": "Entries",
        "IssueLogOrder": "Reverse"
    }
    12:06:44.164:MUP9:DEBUG:Log:*** agendaTopicOptions: {
        "Leader": true,
        "TopicTime": true,
        "SearchEnabled": false,
        "SessionType": true,
        "ImpactFilter": false,
        "ExpectedResults": true,
        "CategoryFilter": false,
        "IssueTypeFilter": false
    }
    12:06:44.165:MUP9:DEBUG:Log:*** allOptions.Agenda[Options]: {
        "MeetingDetails": true,
        "IncludeParticipants": true,
        "TopicDetails": true,
        "TopicIssues": true,
        "IssueDetails": true,
        "IssueTasks": true,
        "TaskDetails": true,
        "CompletedTasks": false
    }
    12:06:44.165:MUP9:DEBUG:Log:*** agendaOptions: {
        "MeetingDetails": true,
        "IncludeParticipants": true,
        "TopicDetails": true,
        "TopicIssues": true,
        "IssueDetails": true,
        "IssueTasks": true,
        "TaskDetails": true,
        "CompletedTasks": false
    }
    12:06:44.165:MUP9:DEBUG:Log:*** agendaOptions: {MeetingDetails: true,
    IncludeParticipants: true,
    TopicDetails: true,
    TopicIssues: true,
    IssueDetails: true,
    IssueTasks: true,
    TaskDetails: true,
    CompletedTasks: false}
    12:06:44.165:MUP9:DEBUG:Log:*** agendaOptionString: {"MeetingDetails":true,"IncludeParticipants":true,"TopicDetails":true,"TopicIssues":true,"IssueDetails":true,"IssueTasks":true,"TaskDetails":true,"CompletedTasks":false}
    12:06:44.166:MUP9:DEBUG:Log:*** assembled newOptions after NOT used to setValues: {
        "AgendaOptions": {
            "MeetingDetails": true,
            "IncludeParticipants": true,
            "TopicDetails": true,
            "TopicIssues": true,
            "IssueDetails": true,
            "IssueTasks": true,
            "TaskDetails": true,
            "CompletedTasks": false
        },
        "AgendaTopic": {
            "Leader": true,
            "TopicTime": true,
            "SearchEnabled": false,
            "SessionType": true,
            "ImpactFilter": false,
            "ExpectedResults": true,
            "CategoryFilter": false,
            "IssueTypeFilter": false
        },
        "AgendaIssue": {
            "DueDate": true,
            "OrigDueDate": false,
            "ClosedDate": true,
            "IssueStatus": true,
            "Owner": true,
            "Private": true,
            "IssueType": true,
            "Originator": false,
            "ModifiedDate": false,
            "Category": true,
            "IssueDesc": true,
            "CreatedDate": true,
            "Impact": true,
            "Resolution": false,
            "IssueLog": true,
            "IssueLogCount": 3,
            "IssueLogUnit": "Entries",
            "IssueLogOrder": "Reverse"
        },
        "AgendaTask": {
            "DueDate": true,
            "OrigDueDate": false,
            "StartDate": true,
            "TaskStatus": true,
            "Owner": true,
            "CompletedDate": true,
            "TaskDesc": false,
            "TaskLog": false,
            "ModifiedDate": false,
            "CreatedDate": false,
            "TaskLogCount": 3,
            "TaskLogUnit": "Entries",
            "TaskLogOrder": "Reverse"
        },
        "AgendaSpecial": {
            "IssueLikelihood": false,
            "IssueImpactDesc": false,
            "SpecificDetails": false
        },
        "MinutesOptions": {
            "MeetingDetails": true,
            "IncludeParticipants": true,
            "TopicDetails": true,
            "TopicIssues": true,
            "IssueDetails": true,
            "IssueTasks": true,
            "TaskDetails": true,
            "CompletedTasks": false
        },
        "MinutesTopic": {
            "Leader": true,
            "TopicTime": true,
            "SearchEnabled": false,
            "SessionType": true,
            "ImpactFilter": false,
            "ExpectedResults": true,
            "CategoryFilter": false,
            "IssueTypeFilter": false
        },
        "MinutesIssue": {
            "DueDate": true,
            "OrigDueDate": false,
            "ClosedDate": true,
            "IssueStatus": true,
            "Owner": true,
            "Private": true,
            "IssueType": true,
            "Originator": false,
            "ModifiedDate": false,
            "Category": true,
            "IssueDesc": true,
            "CreatedDate": true,
            "Impact": true,
            "Resolution": false,
            "IssueLog": true,
            "IssueLogCount": 3,
            "IssueLogUnit": "Entries",
            "IssueLogOrder": "Reverse"
        },
        "MinutesTask": {
            "DueDate": true,
            "OrigDueDate": false,
            "StartDate": true,
            "TaskStatus": true,
            "Owner": true,
            "CompletedDate": true,
            "TaskDesc": false,
            "TaskLog": false,
            "ModifiedDate": false,
            "CreatedDate": false,
            "TaskLogCount": 3,
            "TaskLogUnit": "Entries",
            "TaskLogOrder": "Reverse"
        },
        "MinutesSpecial": {
            "IssueLikelihood": false,
            "IssueImpactDesc": false,
            "SpecificDetails": false
        }
    }
    12:06:44.166:MUP9:DEBUG:Log:*** newOptions.AgendaOptions after NOT used to setValues: {
        "MeetingDetails": true,
        "IncludeParticipants": true,
        "TopicDetails": true,
        "TopicIssues": true,
        "IssueDetails": true,
        "IssueTasks": true,
        "TaskDetails": true,
        "CompletedTasks": false
    }
    12:06:44.166:MUP9:DEBUG:Log:*** resulting meetingTypeVM: {AgendaIssue: Obj,
    AgendaTask: Obj}
    12:06:44.166:MUP9:DEBUG:Log:*** resulting meetingTypeVM: {
        "AgendaIssue": {
            "Impact": false,
            "IssueLog": false,
            "IssueLogCount": "3",
            "IssueLogUnit": "Entries"
        },
        "AgendaTask": {
            "DueDate": false,
            "OrigDueDate": false,
            "StartDate": false,
            "TaskStatus": false,
            "Owner": false,
            "CompletedDate": false,
            "TaskLog": false,
            "ModifiedDate": false,
            "CreatedDate": false,
            "TaskLogCount": "3",
            "TaskLogUnit": "Entries",
            "TaskLogOrder": "Reverse"
        }
    }
    12:06:44.167:MUP9:DEBUG:Log:*** resulting AgendaOptionsForm.MeetingDetails: undefined
    12:06:44.167:MUP9:DEBUG:Log:***END***END***END*** MeetingForm.visibilityChanged
    12:06:44.178:MUP9:WARN:ListGrid:MeetingTopicsGrid:Field does not exist: undefined
    12:06:44.190:MUP9:DEBUG:Log:***END***END*** ProjectMeetingsGrid.recordDoubleClick
    Here is the function code for the above console log.
    Code:
    function MeetingForm_visibilityChanged(form,MTVM,window, AOfrm){
    	Log.setPriority("Log", 5);
    	Log.logDebug("*************** MeetingForm.visibilityChanged");
    
    	if (form.isVisible()) {
    		if (typeof MTVM == "undefined") { isc.logWarn("*** meetingTypeVM is not defined.");
    			MTVM = {}; MTVM = isc.ValuesManager.create({ID: "meetingTypeVM" });
    			Log.logDebug("*** meetingTypeVM created.");
    		} else {
    			Log.logDebug("*** members meetingTypeVM: " + form.echoAll(MTVM.getMembers()));
    			Log.logDebug("*** starting meetingTypeVM: " + form.echoAll(MTVM.getValues()));
    			Log.logDebug("*** starting meetingTypeVM: " + JSON.stringify(MTVM.getValues(), null, 4));
    			if ( !MTVM.hasOwnProperty("AgendaOptions")) { // checking to see if it is abnormal
    				if (delete MTVM["AgendaIssue"]) {Log.logDebug("meetingTypeVM[AgendaIssue] deleted.")};
    				if (delete MTVM["AgendaTask"]) {Log.logDebug("meetingTypeVM[AgendaTask] deleted.")};
    			}
    		}
    		var agendaPrintOptionString = form.getValue("AgendaPrintOptions");
    		var minutesPrintOptionString = form.getValue("MinutesPrintOptions");
    		if (typeof agendaPrintOptionString == "undefined") { agendaPrintOptionString = null; }
    		if (typeof minutesPrintOptionString == "undefined") { minutesPrintOptionString = null; }
    		if (agendaPrintOptionString != null)  {
    			if (minutesPrintOptionString != null)  {
    				var allOptions = { Agenda: isc.JSON.decode(agendaPrintOptionString), Minutes: isc.JSON.decode(minutesPrintOptionString) } ;
    				Log.logDebug("*** allOptions: " + form.echoAll(allOptions));
    			    Log.logDebug("*** allOptions: " + JSON.stringify(allOptions, null, 4));
    
    				var agendaSpecialOptions = {}; agendaSpecialOptions = allOptions.Agenda.Special;
    					Log.logDebug("*** agendaSpecialOptions: " + JSON.stringify(agendaSpecialOptions, null, 4));
    				var agendaTaskOptions = {}; agendaTaskOptions =  allOptions.Agenda.Task;
    					Log.logDebug("*** agendaTaskOptions: " + JSON.stringify(agendaTaskOptions, null, 4));
    				var agendaIssueOptions = {}; agendaIssueOptions = allOptions.Agenda.Issue;
    					Log.logDebug("*** agendaIssueOptions: " + JSON.stringify(agendaIssueOptions, null, 4));
    				var agendaTopicOptions = {}; agendaTopicOptions = allOptions.Agenda.Topic;
    					Log.logDebug("*** agendaTopicOptions: " + JSON.stringify(agendaTopicOptions, null, 4));
    				var agendaOptions = {}; agendaOptions = allOptions.Agenda["Options"];
    					Log.logDebug("*** allOptions.Agenda[Options]: " + JSON.stringify(allOptions.Agenda["Options"], null, 4));
    					Log.logDebug("*** agendaOptions: " + JSON.stringify(agendaOptions, null, 4));
    					Log.logDebug("*** agendaOptions: " + form.echoAll(agendaOptions));
    
    				var minutesOptions =        allOptions.Minutes.Options; //Log.logDebug("*** minutesOptions: " + JSON.stringify(minutesOptions, null, 4));
    				var minutesTopicOptions =   allOptions.Minutes.Topic;   //Log.logDebug("*** minutesTopicOptions: " + JSON.stringify(minutesTopicOptions, null, 4));
    				var minutesIssueOptions =   allOptions.Minutes.Issue;   //Log.logDebug("*** minutesIssueOptions: " + JSON.stringify(minutesIssueOptions, null, 4));
    				var minutesTaskOptions =    allOptions.Minutes.Task;    //Log.logDebug("*** minutesTaskOptions: " + JSON.stringify(minutesTaskOptions, null, 4));
    				var minutesSpecialOptions = allOptions.Minutes.Special; //Log.logDebug("*** minutesSpecialOptions: " + JSON.stringify(minutesSpecialOptions, null, 4));
    
    				var agendaOptionString = JSON.stringify(agendaOptions);
    				Log.logDebug("*** agendaOptionString: " + agendaOptionString);
    
    //				var newOptions = {
    //					   AgendaOptions: agendaOptions, AgendaTopic: agendaTopicOptions, AgendaIssue: agendaIssueOptions,
    //					   AgendaTask: agendaTaskOptions, AgendaSpecial: agendaSpecialOptions,
    //					   MinutesOptions: minutesOptions, MinutesTopic: minutesTopicOptions, MinutesIssue: minutesIssueOptions,
    //					   MinutesTask: minutesTaskOptions, MinutesSpecial: minutesSpecialOptions
    //				};
    //				for ( var prop in newOptions) {
    //					if (delete prop[prop]) Log.logDebug("*** doppleganger deleted: " + prop);
    //				};
    //				Log.logDebug("*** newOptions.AgendaOptions before used to setValues: " + JSON.stringify(newOptions.AgendaOptions, null, 4));
    //				Log.logDebug("*** assembled newOptions before used to setValues: " + JSON.stringify(newOptions, null, 4));
    //				MTVM.setValues({
    //					   AgendaOptions: agendaOptions, AgendaTopic: agendaTopicOptions, AgendaIssue: agendaIssueOptions,
    //					   AgendaTask: agendaTaskOptions, AgendaSpecial: agendaSpecialOptions,
    //					   MinutesOptions: minutesOptions, MinutesTopic: minutesTopicOptions, MinutesIssue: minutesIssueOptions,
    //					   MinutesTask: minutesTaskOptions, MinutesSpecial: minutesSpecialOptions
    //				});
    				var newOptions = {
    					   AgendaOptions: agendaOptions, AgendaTopic: agendaTopicOptions, AgendaIssue: agendaIssueOptions,
    					   AgendaTask: agendaTaskOptions, AgendaSpecial: agendaSpecialOptions,
    					   MinutesOptions: minutesOptions, MinutesTopic: minutesTopicOptions, MinutesIssue: minutesIssueOptions,
    					   MinutesTask: minutesTaskOptions, MinutesSpecial: minutesSpecialOptions
    				};
    				Log.logDebug("*** assembled newOptions after NOT used to setValues: " + JSON.stringify(newOptions, null, 4));
    				Log.logDebug("*** newOptions.AgendaOptions after NOT used to setValues: " + JSON.stringify(newOptions.AgendaOptions, null, 4));
    			} else { isc.logWarn("*** MinutesPrintOptions are missing."); }
    		} else { isc.logWarn("*** AgendaPrintOptions are missing."); }
    
            Log.logDebug("*** resulting meetingTypeVM: " + form.echoAll(MTVM.getValues()));
    		Log.logDebug("*** resulting meetingTypeVM: " + JSON.stringify(MTVM.getValues(), null, 4));
    
    		MeetingTopicsGrid.setCriteria({ "MeetingTypeID" : Application.currentMeetingTypeID } ) ;
    		MeetingParticipantsGrid.setCriteria({ "MeetingTypeID" : Application.currentMeetingTypeID } ) ;
    
    		Log.logDebug("*** resulting AgendaOptionsForm.MeetingDetails: " + AOfrm.getValue("MeetingDetails"));
    
    /*		form.getField("Private").setDisabled(false);
    		if (form.getValue("MeatingLeaderID") != null) {
    			if (! form.getValue("Internal")) {
    				if (form.getValue("Private")) form.setValue("Private", false);
    				form.getField("Private").setDisabled(true);
    			} else {
    				form.getField("Private").setDisabled(false);
    			}
    		} else {
    			form.getField("Private").setDisabled(false);
    		}
    		if (! form.getField("Private").disabled) {
    			if (COUNT OF EXTERNAL PARTICIPANTS > 0) {
    				if (form.getValue("Private")) form.setValue("Private", false);
    				form.getField("Private").setDisabled(true);
    			}
    		}*/
    	}
    
    	Log.logDebug("***END***END***END*** MeetingForm.visibilityChanged");
    }
    OK. Now for the log showing the corruption of the input object.
    Code:
    12:33:08.614:MUP7:DEBUG:Log:*** members meetingTypeVM: [
    Window{ID: "MeetingWindow",
    autoDraw: false,
    isModal: true,
    title: "Meeting Window",
    showMinimizeButton: false,
    showMaximizeButton: true,
    showStatusBar: false,
    showResizer: false,
    items: Array[2],
    showModalMask: true,
    modalMaskOpacity: 10,
    width: 1143,
    height: 665,
    top: 84,
    canDragReposition: false,
    showShadow: false,
    members: Array[2],
    position: "absolute",
    className: "normal",
    vertical: true,
    children: Array[2],
    zIndex: 800594,
    peers: Array[1],
    valuesManager: [ValuesManager ID:meetingTypeVM],
    modalMask: [ScreenSpan ID:MeetingWindow_modalMask],
    header: [HLayout ID:MeetingWindow_header],
    headerIcon: [Img ID:MeetingWindow_headerIcon],
    headerLabel: [Label ID:MeetingWindow_headerLabel],
    maximizeButton: [ImgButton ID:MeetingWindow_maximizeButton],
    closeButton: [ImgButton ID:MeetingWindow_closeButton],
    bodyConstructor: "Layout",
    body: [Layout ID:MeetingWindow_body],
    cacheOffsetCoords: true,
    tabIndex: 4668,
    memberSizes: Array[2],
    lastScrollLeft: 0,
    lastScrollTop: 0,
    lastScrollDirection: "vertical",
    scrollTop: -10011,
    },
    DynamicForm{ID: "AgendaOptionsForm",
    dataPath: "AgendaOptions",
    autoDraw: false,
    numCols: 5,
    fields: Array[8],
    width: 493,
    height: 100,
    extraSpace: 10,
    position: "absolute",
    className: "normal",
    items: Array[8],
    values: Obj,
    originalFields: Array[8],
    tabIndex: 5009,
    errors: Obj,
    parentElement: [VLayout ID:AgendaOptionsLayout],
    topElement: [Window ID:MeetingWindow],
    valuesManager: [ValuesManager ID:meetingTypeVM],
    cacheOffsetCoords: true,
    zIndex: 204140,
    },
    DynamicForm{ID: "AgendaOptionsTopicForm",
    dataPath: "AgendaTopic",
    autoDraw: false,
    numCols: 5,
    overflow: "hidden",
    fields: Array[10],
    width: 423,
    height: 180,
    position: "absolute",
    className: "normal",
    left: 5,
    top: 5,
    items: Array[10],
    values: Obj,
    originalFields: Array[10],
    tabIndex: 5071,
    errors: Obj,
    parentElement: [PaneContainer ID:AgendaOptionsTabs_paneContainer],
    topElement: [Window ID:MeetingWindow],
    valuesManager: [ValuesManager ID:meetingTypeVM],
    cacheOffsetCoords: true,
    zIndex: 204266,
    },
    DynamicForm{ID: "AgendaOptionsIssueForm",
    dataPath: "AgendaIssue",
    autoDraw: false,
    colWidths: Array[7],
    numCols: 6,
    overflow: "hidden",
    fields: Array[20],
    width: 423,
    height: 180,
    position: "absolute",
    className: "normal",
    left: 5,
    top: 5,
    items: Array[20],
    values: Obj,
    originalFields: Array[20],
    tabIndex: 5080,
    errors: Obj,
    visibility: "hidden",
    parentElement: [PaneContainer ID:AgendaOptionsTabs_paneContainer],
    topElement: [Window ID:MeetingWindow],
    valuesManager: [ValuesManager ID:meetingTypeVM],
    },
    DynamicForm{ID: "AgendaOptionsTaskForm",
    dataPath: "AgendaTask",
    autoDraw: false,
    colWidths: Array[6],
    numCols: 6,
    overflow: "hidden",
    fields: Array[16],
    autoFocus: true,
    width: 423,
    height: 180,
    position: "absolute",
    className: "normal",
    left: 5,
    top: 5,
    items: Array[16],
    values: Obj,
    originalFields: Array[16],
    tabIndex: 5099,
    errors: Obj,
    visibility: "hidden",
    parentElement: [PaneContainer ID:AgendaOptionsTabs_paneContainer],
    topElement: [Window ID:MeetingWindow],
    valuesManager: [ValuesManager ID:meetingTypeVM],
    },
    DynamicForm{ID: "AgendaOptionsSpecialForm",
    dataPath: "AgendaSpecial",
    autoDraw: false,
    colWidths: Array[2],
    overflow: "hidden",
    fields: Array[3],
    width: 423,
    height: 180,
    position: "absolute",
    className: "normal",
    left: 5,
    top: 5,
    items: Array[3],
    values: Obj,
    originalFields: Array[3],
    tabIndex: 5113,
    errors: Obj,
    visibility: "hidden",
    parentElement: [PaneContainer ID:AgendaOptionsTabs_paneContainer],
    topElement: [Window ID:MeetingWindow],
    valuesManager: [ValuesManager ID:meetingTypeVM],
    },
    DynamicForm{ID: "MinutesOptionsForm",
    dataPath: "MinutesOptions",
    autoDraw: false,
    numCols: 5,
    fields: Array[8],
    height: 100,
    extraSpace: 10,
    position: "absolute",
    className: "normal",
    width: 100,
    items: Array[8],
    values: Obj,
    originalFields: Array[8],
    tabIndex: 5119,
    errors: Obj,
    parentElement: [VLayout ID:MinutesOptionsLayout],
    topElement: [Window ID:MeetingWindow],
    valuesManager: [ValuesManager ID:meetingTypeVM],
    },
    DynamicForm{ID: "MinutesOptionsTopicForm",
    dataPath: "MinutesTopic",
    autoDraw: false,
    numCols: 5,
    fields: Array[10],
    width: 423,
    height: 180,
    position: "absolute",
    className: "normal",
    items: Array[10],
    values: Obj,
    originalFields: Array[10],
    tabIndex: 5131,
    errors: Obj,
    visibility: "hidden",
    parentElement: [PaneContainer ID:MinutesOptionsTabs_paneContainer],
    topElement: [Window ID:MeetingWindow],
    valuesManager: [ValuesManager ID:meetingTypeVM],
    },
    DynamicForm{ID: "MinutesOptionsIssueForm",
    dataPath: "MinutesIssue",
    autoDraw: false,
    colWidths: Array[7],
    numCols: 6,
    overflow: "hidden",
    fields: Array[20],
    width: 423,
    height: 180,
    position: "absolute",
    className: "normal",
    items: Array[20],
    values: Obj,
    originalFields: Array[20],
    tabIndex: 5140,
    errors: Obj,
    visibility: "hidden",
    parentElement: [PaneContainer ID:MinutesOptionsTabs_paneContainer],
    topElement: [Window ID:MeetingWindow],
    valuesManager: [ValuesManager ID:meetingTypeVM],
    },
    DynamicForm{ID: "MinutesOptionsTaskForm",
    dataPath: "MinutesTask",
    autoDraw: false,
    colWidths: Array[6],
    numCols: 6,
    overflow: "hidden",
    fields: Array[16],
    autoFocus: true,
    width: 423,
    height: 180,
    position: "absolute",
    className: "normal",
    items: Array[16],
    values: Obj,
    originalFields: Array[16],
    tabIndex: 5159,
    errors: Obj,
    visibility: "hidden",
    parentElement: [PaneContainer ID:MinutesOptionsTabs_paneContainer],
    topElement: [Window ID:MeetingWindow],
    valuesManager: [ValuesManager ID:meetingTypeVM],
    },
    DynamicForm{ID: "MinutesOptionsSpecialForm",
    dataPath: "MinutesSpecial",
    autoDraw: false,
    colWidths: Array[2],
    overflow: "hidden",
    fields: Array[3],
    width: 423,
    height: 180,
    position: "absolute",
    className: "normal",
    items: Array[3],
    values: Obj,
    originalFields: Array[3],
    tabIndex: 5173,
    errors: Obj,
    visibility: "hidden",
    parentElement: [PaneContainer ID:MinutesOptionsTabs_paneContainer],
    topElement: [Window ID:MeetingWindow],
    valuesManager: [ValuesManager ID:meetingTypeVM],
    }
    ]
    12:33:08.615:MUP7:DEBUG:Log:*** starting meetingTypeVM: {AgendaIssue: Obj,
    AgendaTask: Obj}
    12:33:08.616:MUP7:DEBUG:Log:*** starting meetingTypeVM: {
        "AgendaIssue": {
            "Impact": false,
            "IssueLog": false,
            "IssueLogCount": "3",
            "IssueLogUnit": "Entries"
        },
        "AgendaTask": {
            "DueDate": false,
            "OrigDueDate": false,
            "StartDate": false,
            "TaskStatus": false,
            "Owner": false,
            "CompletedDate": false,
            "TaskLog": false,
            "ModifiedDate": false,
            "CreatedDate": false,
            "TaskLogCount": "3",
            "TaskLogUnit": "Entries",
            "TaskLogOrder": "Reverse"
        }
    }
    12:33:08.616:MUP7:DEBUG:Log:meetingTypeVM[AgendaIssue] deleted.
    12:33:08.616:MUP7:DEBUG:Log:meetingTypeVM[AgendaTask] deleted.
    12:33:08.616:MUP7:DEBUG:Log:*** allOptions: {Agenda: Obj,
    Minutes: Obj}
    12:33:08.617:MUP7:DEBUG:Log:*** allOptions: {
        "Agenda": {
            "Options": {
                "MeetingDetails": true,
                "IncludeParticipants": true,
                "TopicDetails": true,
                "TopicIssues": true,
                "IssueDetails": true,
                "IssueTasks": true,
                "TaskDetails": true,
                "CompletedTasks": false
            },
            "Topic": {
                "Leader": true,
                "TopicTime": true,
                "SearchEnabled": false,
                "SessionType": true,
                "ImpactFilter": false,
                "ExpectedResults": true,
                "CategoryFilter": false,
                "IssueTypeFilter": false
            },
            "Issue": {
                "DueDate": true,
                "OrigDueDate": false,
                "ClosedDate": true,
                "IssueStatus": true,
                "Owner": true,
                "Private": true,
                "IssueType": true,
                "Originator": false,
                "ModifiedDate": false,
                "Category": true,
                "IssueDesc": true,
                "CreatedDate": true,
                "Impact": true,
                "Resolution": false,
                "IssueLog": true,
                "IssueLogCount": 3,
                "IssueLogUnit": "Entries",
                "IssueLogOrder": "Reverse"
            },
            "Task": {
                "DueDate": true,
                "OrigDueDate": false,
                "StartDate": true,
                "TaskStatus": true,
                "Owner": true,
                "CompletedDate": true,
                "TaskDesc": false,
                "TaskLog": false,
                "ModifiedDate": false,
                "CreatedDate": false,
                "TaskLogCount": 3,
                "TaskLogUnit": "Entries",
                "TaskLogOrder": "Reverse"
            },
            "Special": {
                "IssueLikelihood": false,
                "IssueImpactDesc": false,
                "SpecificDetails": false
            }
        },
        "Minutes": {
            "Options": {
                "MeetingDetails": true,
                "IncludeParticipants": true,
                "TopicDetails": true,
                "TopicIssues": true,
                "IssueDetails": true,
                "IssueTasks": true,
                "TaskDetails": true,
                "CompletedTasks": false
            },
            "Topic": {
                "Leader": true,
                "TopicTime": true,
                "SearchEnabled": false,
                "SessionType": true,
                "ImpactFilter": false,
                "ExpectedResults": true,
                "CategoryFilter": false,
                "IssueTypeFilter": false
            },
            "Issue": {
                "DueDate": true,
                "OrigDueDate": false,
                "ClosedDate": true,
                "IssueStatus": true,
                "Owner": true,
                "Private": true,
                "IssueType": true,
                "Originator": false,
                "ModifiedDate": false,
                "Category": true,
                "IssueDesc": true,
                "CreatedDate": true,
                "Impact": true,
                "Resolution": false,
                "IssueLog": true,
                "IssueLogCount": 3,
                "IssueLogUnit": "Entries",
                "IssueLogOrder": "Reverse"
            },
            "Task": {
                "DueDate": true,
                "OrigDueDate": false,
                "StartDate": true,
                "TaskStatus": true,
                "Owner": true,
                "CompletedDate": true,
                "TaskDesc": false,
                "TaskLog": false,
                "ModifiedDate": false,
                "CreatedDate": false,
                "TaskLogCount": 3,
                "TaskLogUnit": "Entries",
                "TaskLogOrder": "Reverse"
            },
            "Special": {
                "IssueLikelihood": false,
                "IssueImpactDesc": false,
                "SpecificDetails": false
            }
        }
    }
    12:33:08.617:MUP7:DEBUG:Log:*** agendaSpecialOptions: {
        "IssueLikelihood": false,
        "IssueImpactDesc": false,
        "SpecificDetails": false
    }
    12:33:08.617:MUP7:DEBUG:Log:*** agendaTaskOptions: {
        "DueDate": true,
        "OrigDueDate": false,
        "StartDate": true,
        "TaskStatus": true,
        "Owner": true,
        "CompletedDate": true,
        "TaskDesc": false,
        "TaskLog": false,
        "ModifiedDate": false,
        "CreatedDate": false,
        "TaskLogCount": 3,
        "TaskLogUnit": "Entries",
        "TaskLogOrder": "Reverse"
    }
    12:33:08.617:MUP7:DEBUG:Log:*** agendaIssueOptions: {
        "DueDate": true,
        "OrigDueDate": false,
        "ClosedDate": true,
        "IssueStatus": true,
        "Owner": true,
        "Private": true,
        "IssueType": true,
        "Originator": false,
        "ModifiedDate": false,
        "Category": true,
        "IssueDesc": true,
        "CreatedDate": true,
        "Impact": true,
        "Resolution": false,
        "IssueLog": true,
        "IssueLogCount": 3,
        "IssueLogUnit": "Entries",
        "IssueLogOrder": "Reverse"
    }
    12:33:08.617:MUP7:DEBUG:Log:*** agendaTopicOptions: {
        "Leader": true,
        "TopicTime": true,
        "SearchEnabled": false,
        "SessionType": true,
        "ImpactFilter": false,
        "ExpectedResults": true,
        "CategoryFilter": false,
        "IssueTypeFilter": false
    }
    12:33:08.617:MUP7:DEBUG:Log:*** allOptions.Agenda[Options]: {
        "MeetingDetails": true,
        "IncludeParticipants": true,
        "TopicDetails": true,
        "TopicIssues": true,
        "IssueDetails": true,
        "IssueTasks": true,
        "TaskDetails": true,
        "CompletedTasks": false
    }
    12:33:08.618:MUP7:DEBUG:Log:*** agendaOptions: {
        "MeetingDetails": true,
        "IncludeParticipants": true,
        "TopicDetails": true,
        "TopicIssues": true,
        "IssueDetails": true,
        "IssueTasks": true,
        "TaskDetails": true,
        "CompletedTasks": false
    }
    12:33:08.618:MUP7:DEBUG:Log:*** agendaOptions: {MeetingDetails: true,
    IncludeParticipants: true,
    TopicDetails: true,
    TopicIssues: true,
    IssueDetails: true,
    IssueTasks: true,
    TaskDetails: true,
    CompletedTasks: false}
    12:33:08.618:MUP7:DEBUG:Log:*** agendaOptionString: {"MeetingDetails":true,"IncludeParticipants":true,"TopicDetails":true,"TopicIssues":true,"IssueDetails":true,"IssueTasks":true,"TaskDetails":true,"CompletedTasks":false}
    12:33:08.618:MUP7:DEBUG:Log:*** newOptions.AgendaOptions before used to setValues: {
        "MeetingDetails": true,
        "IncludeParticipants": true,
        "TopicDetails": true,
        "TopicIssues": true,
        "IssueDetails": true,
        "IssueTasks": true,
        "TaskDetails": true,
        "CompletedTasks": false
    }
    12:33:08.619:MUP7:DEBUG:Log:*** assembled newOptions before used to setValues: {
        "AgendaOptions": {
            "MeetingDetails": true,
            "IncludeParticipants": true,
            "TopicDetails": true,
            "TopicIssues": true,
            "IssueDetails": true,
            "IssueTasks": true,
            "TaskDetails": true,
            "CompletedTasks": false
        },
        "AgendaTopic": {
            "Leader": true,
            "TopicTime": true,
            "SearchEnabled": false,
            "SessionType": true,
            "ImpactFilter": false,
            "ExpectedResults": true,
            "CategoryFilter": false,
            "IssueTypeFilter": false
        },
        "AgendaIssue": {
            "DueDate": true,
            "OrigDueDate": false,
            "ClosedDate": true,
            "IssueStatus": true,
            "Owner": true,
            "Private": true,
            "IssueType": true,
            "Originator": false,
            "ModifiedDate": false,
            "Category": true,
            "IssueDesc": true,
            "CreatedDate": true,
            "Impact": true,
            "Resolution": false,
            "IssueLog": true,
            "IssueLogCount": 3,
            "IssueLogUnit": "Entries",
            "IssueLogOrder": "Reverse"
        },
        "AgendaTask": {
            "DueDate": true,
            "OrigDueDate": false,
            "StartDate": true,
            "TaskStatus": true,
            "Owner": true,
            "CompletedDate": true,
            "TaskDesc": false,
            "TaskLog": false,
            "ModifiedDate": false,
            "CreatedDate": false,
            "TaskLogCount": 3,
            "TaskLogUnit": "Entries",
            "TaskLogOrder": "Reverse"
        },
        "AgendaSpecial": {
            "IssueLikelihood": false,
            "IssueImpactDesc": false,
            "SpecificDetails": false
        },
        "MinutesOptions": {
            "MeetingDetails": true,
            "IncludeParticipants": true,
            "TopicDetails": true,
            "TopicIssues": true,
            "IssueDetails": true,
            "IssueTasks": true,
            "TaskDetails": true,
            "CompletedTasks": false
        },
        "MinutesTopic": {
            "Leader": true,
            "TopicTime": true,
            "SearchEnabled": false,
            "SessionType": true,
            "ImpactFilter": false,
            "ExpectedResults": true,
            "CategoryFilter": false,
            "IssueTypeFilter": false
        },
        "MinutesIssue": {
            "DueDate": true,
            "OrigDueDate": false,
            "ClosedDate": true,
            "IssueStatus": true,
            "Owner": true,
            "Private": true,
            "IssueType": true,
            "Originator": false,
            "ModifiedDate": false,
            "Category": true,
            "IssueDesc": true,
            "CreatedDate": true,
            "Impact": true,
            "Resolution": false,
            "IssueLog": true,
            "IssueLogCount": 3,
            "IssueLogUnit": "Entries",
            "IssueLogOrder": "Reverse"
        },
        "MinutesTask": {
            "DueDate": true,
            "OrigDueDate": false,
            "StartDate": true,
            "TaskStatus": true,
            "Owner": true,
            "CompletedDate": true,
            "TaskDesc": false,
            "TaskLog": false,
            "ModifiedDate": false,
            "CreatedDate": false,
            "TaskLogCount": 3,
            "TaskLogUnit": "Entries",
            "TaskLogOrder": "Reverse"
        },
        "MinutesSpecial": {
            "IssueLikelihood": false,
            "IssueImpactDesc": false,
            "SpecificDetails": false
        }
    }
    12:33:08.770:MUP7:DEBUG:Log:*** assembled newOptions after used to setValues: {
        "AgendaOptions": {
            "MeetingDetails": true,
            "IncludeParticipants": true,
            "TopicDetails": true,
            "TopicIssues": true,
            "IssueDetails": true,
            "IssueTasks": true,
            "TaskDetails": true,
            "CompletedTasks": false,
            "AgendaOptions": {
                "MeetingDetails": true,
                "IncludeParticipants": true,
                "TopicDetails": true,
                "TopicIssues": true,
                "IssueDetails": true,
                "IssueTasks": true,
                "TaskDetails": true,
                "CompletedTasks": false
            }
        },
        "AgendaTopic": {
            "Leader": true,
            "TopicTime": true,
            "SearchEnabled": false,
            "SessionType": true,
            "ImpactFilter": false,
            "ExpectedResults": true,
            "CategoryFilter": false,
            "IssueTypeFilter": false,
            "AgendaTopic": {
                "Leader": true,
                "TopicTime": true,
                "SearchEnabled": false,
                "SessionType": true,
                "ImpactFilter": false,
                "ExpectedResults": true,
                "CategoryFilter": false,
                "IssueTypeFilter": false
            }
        },
        "AgendaIssue": {
            "DueDate": true,
            "OrigDueDate": false,
            "ClosedDate": true,
            "IssueStatus": true,
            "Owner": true,
            "Private": true,
            "IssueType": true,
            "Originator": false,
            "ModifiedDate": false,
            "Category": true,
            "IssueDesc": true,
            "CreatedDate": true,
            "Impact": true,
            "Resolution": false,
            "IssueLog": true,
            "IssueLogCount": 3,
            "IssueLogUnit": "Entries",
            "IssueLogOrder": "Reverse",
            "AgendaIssue": {
                "DueDate": true,
                "OrigDueDate": false,
                "ClosedDate": true,
                "IssueStatus": true,
                "Owner": true,
                "Private": true,
                "IssueType": true,
                "Originator": false,
                "ModifiedDate": false,
                "Category": true,
                "IssueDesc": true,
                "CreatedDate": true,
                "Impact": true,
                "Resolution": false,
                "IssueLog": true,
                "IssueLogCount": 3,
                "IssueLogUnit": "Entries",
                "IssueLogOrder": "Reverse"
            }
        },
        "AgendaTask": {
            "DueDate": true,
            "OrigDueDate": false,
            "StartDate": true,
            "TaskStatus": true,
            "Owner": true,
            "CompletedDate": true,
            "TaskDesc": false,
            "TaskLog": false,
            "ModifiedDate": false,
            "CreatedDate": false,
            "TaskLogCount": 3,
            "TaskLogUnit": "Entries",
            "TaskLogOrder": "Reverse",
            "AgendaTask": {
                "DueDate": true,
                "OrigDueDate": false,
                "StartDate": true,
                "TaskStatus": true,
                "Owner": true,
                "CompletedDate": true,
                "TaskDesc": false,
                "TaskLog": false,
                "ModifiedDate": false,
                "CreatedDate": false,
                "TaskLogCount": 3,
                "TaskLogUnit": "Entries",
                "TaskLogOrder": "Reverse"
            }
        },
        "AgendaSpecial": {
            "IssueLikelihood": false,
            "IssueImpactDesc": false,
            "SpecificDetails": false,
            "AgendaSpecial": {
                "IssueLikelihood": false,
                "IssueImpactDesc": false,
                "SpecificDetails": false
            }
        },
        "MinutesOptions": {
            "MeetingDetails": true,
            "IncludeParticipants": true,
            "TopicDetails": true,
            "TopicIssues": true,
            "IssueDetails": true,
            "IssueTasks": true,
            "TaskDetails": true,
            "CompletedTasks": false,
            "MinutesOptions": {
                "MeetingDetails": true,
                "IncludeParticipants": true,
                "TopicDetails": true,
                "TopicIssues": true,
                "IssueDetails": true,
                "IssueTasks": true,
                "TaskDetails": true,
                "CompletedTasks": false
            }
        },
        "MinutesTopic": {
            "Leader": true,
            "TopicTime": true,
            "SearchEnabled": false,
            "SessionType": true,
            "ImpactFilter": false,
            "ExpectedResults": true,
            "CategoryFilter": false,
            "IssueTypeFilter": false,
            "MinutesTopic": {
                "Leader": true,
                "TopicTime": true,
                "SearchEnabled": false,
                "SessionType": true,
                "ImpactFilter": false,
                "ExpectedResults": true,
                "CategoryFilter": false,
                "IssueTypeFilter": false
            }
        },
        "MinutesIssue": {
            "DueDate": true,
            "OrigDueDate": false,
            "ClosedDate": true,
            "IssueStatus": true,
            "Owner": true,
            "Private": true,
            "IssueType": true,
            "Originator": false,
            "ModifiedDate": false,
            "Category": true,
            "IssueDesc": true,
            "CreatedDate": true,
            "Impact": true,
            "Resolution": false,
            "IssueLog": true,
            "IssueLogCount": 3,
            "IssueLogUnit": "Entries",
            "IssueLogOrder": "Reverse",
            "MinutesIssue": {
                "DueDate": true,
                "OrigDueDate": false,
                "ClosedDate": true,
                "IssueStatus": true,
                "Owner": true,
                "Private": true,
                "IssueType": true,
                "Originator": false,
                "ModifiedDate": false,
                "Category": true,
                "IssueDesc": true,
                "CreatedDate": true,
                "Impact": true,
                "Resolution": false,
                "IssueLog": true,
                "IssueLogCount": 3,
                "IssueLogUnit": "Entries",
                "IssueLogOrder": "Reverse"
            }
        },
        "MinutesTask": {
            "DueDate": true,
            "OrigDueDate": false,
            "StartDate": true,
            "TaskStatus": true,
            "Owner": true,
            "CompletedDate": true,
            "TaskDesc": false,
            "TaskLog": false,
            "ModifiedDate": false,
            "CreatedDate": false,
            "TaskLogCount": 3,
            "TaskLogUnit": "Entries",
            "TaskLogOrder": "Reverse",
            "MinutesTask": {
                "DueDate": true,
                "OrigDueDate": false,
                "StartDate": true,
                "TaskStatus": true,
                "Owner": true,
                "CompletedDate": true,
                "TaskDesc": false,
                "TaskLog": false,
                "ModifiedDate": false,
                "CreatedDate": false,
                "TaskLogCount": 3,
                "TaskLogUnit": "Entries",
                "TaskLogOrder": "Reverse"
            }
        },
        "MinutesSpecial": {
            "IssueLikelihood": false,
            "IssueImpactDesc": false,
            "SpecificDetails": false,
            "MinutesSpecial": {
                "IssueLikelihood": false,
                "IssueImpactDesc": false,
                "SpecificDetails": false
            }
        }
    }
    12:33:08.770:MUP7:DEBUG:Log:*** newOptions.AgendaOptions after used to setValues: {
        "MeetingDetails": true,
        "IncludeParticipants": true,
        "TopicDetails": true,
        "TopicIssues": true,
        "IssueDetails": true,
        "IssueTasks": true,
        "TaskDetails": true,
        "CompletedTasks": false,
        "AgendaOptions": {
            "MeetingDetails": true,
            "IncludeParticipants": true,
            "TopicDetails": true,
            "TopicIssues": true,
            "IssueDetails": true,
            "IssueTasks": true,
            "TaskDetails": true,
            "CompletedTasks": false
        }
    }
    12:33:08.771:MUP7:DEBUG:Log:*** resulting meetingTypeVM: {AgendaOptions: Obj,
    AgendaTopic: Obj,
    AgendaIssue: Obj,
    AgendaTask: Obj,
    AgendaSpecial: Obj,
    MinutesOptions: Obj,
    MinutesTopic: Obj,
    MinutesIssue: Obj,
    MinutesTask: Obj,
    MinutesSpecial: Obj}
    12:33:08.771:MUP7:DEBUG:Log:*** resulting meetingTypeVM: {
        "AgendaOptions": {
            "MeetingDetails": true,
            "IncludeParticipants": true,
            "TopicDetails": true,
            "TopicIssues": true,
            "IssueDetails": true,
            "IssueTasks": true,
            "TaskDetails": true,
            "CompletedTasks": false,
            "AgendaOptions": {
                "MeetingDetails": true,
                "IncludeParticipants": true,
                "TopicDetails": true,
                "TopicIssues": true,
                "IssueDetails": true,
                "IssueTasks": true,
                "TaskDetails": true,
                "CompletedTasks": false
            }
        },
        "AgendaTopic": {
            "Leader": true,
            "TopicTime": true,
            "SearchEnabled": false,
            "SessionType": true,
            "ImpactFilter": false,
            "ExpectedResults": true,
            "CategoryFilter": false,
            "IssueTypeFilter": false,
            "AgendaTopic": {
                "Leader": true,
                "TopicTime": true,
                "SearchEnabled": false,
                "SessionType": true,
                "ImpactFilter": false,
                "ExpectedResults": true,
                "CategoryFilter": false,
                "IssueTypeFilter": false
            }
        },
        "AgendaIssue": {
            "DueDate": true,
            "OrigDueDate": false,
            "ClosedDate": true,
            "IssueStatus": true,
            "Owner": true,
            "Private": true,
            "IssueType": true,
            "Originator": false,
            "ModifiedDate": false,
            "Category": true,
            "IssueDesc": true,
            "CreatedDate": true,
            "Impact": true,
            "Resolution": false,
            "IssueLog": true,
            "IssueLogCount": 3,
            "IssueLogUnit": "Entries",
            "IssueLogOrder": "Reverse",
            "AgendaIssue": {
                "DueDate": true,
                "OrigDueDate": false,
                "ClosedDate": true,
                "IssueStatus": true,
                "Owner": true,
                "Private": true,
                "IssueType": true,
                "Originator": false,
                "ModifiedDate": false,
                "Category": true,
                "IssueDesc": true,
                "CreatedDate": true,
                "Impact": true,
                "Resolution": false,
                "IssueLog": true,
                "IssueLogCount": 3,
                "IssueLogUnit": "Entries",
                "IssueLogOrder": "Reverse"
            }
        },
        "AgendaTask": {
            "DueDate": true,
            "OrigDueDate": false,
            "StartDate": true,
            "TaskStatus": true,
            "Owner": true,
            "CompletedDate": true,
            "TaskDesc": false,
            "TaskLog": false,
            "ModifiedDate": false,
            "CreatedDate": false,
            "TaskLogCount": 3,
            "TaskLogUnit": "Entries",
            "TaskLogOrder": "Reverse",
            "AgendaTask": {
                "DueDate": true,
                "OrigDueDate": false,
                "StartDate": true,
                "TaskStatus": true,
                "Owner": true,
                "CompletedDate": true,
                "TaskDesc": false,
                "TaskLog": false,
                "ModifiedDate": false,
                "CreatedDate": false,
                "TaskLogCount": 3,
                "TaskLogUnit": "Entries",
                "TaskLogOrder": "Reverse"
            }
        },
        "AgendaSpecial": {
            "IssueLikelihood": false,
            "IssueImpactDesc": false,
            "SpecificDetails": false,
            "AgendaSpecial": {
                "IssueLikelihood": false,
                "IssueImpactDesc": false,
                "SpecificDetails": false
            }
        },
        "MinutesOptions": {
            "MeetingDetails": true,
            "IncludeParticipants": true,
            "TopicDetails": true,
            "TopicIssues": true,
            "IssueDetails": true,
            "IssueTasks": true,
            "TaskDetails": true,
            "CompletedTasks": false,
            "MinutesOptions": {
                "MeetingDetails": true,
                "IncludeParticipants": true,
                "TopicDetails": true,
                "TopicIssues": true,
                "IssueDetails": true,
                "IssueTasks": true,
                "TaskDetails": true,
                "CompletedTasks": false
            }
        },
        "MinutesTopic": {
            "Leader": true,
            "TopicTime": true,
            "SearchEnabled": false,
            "SessionType": true,
            "ImpactFilter": false,
            "ExpectedResults": true,
            "CategoryFilter": false,
            "IssueTypeFilter": false,
            "MinutesTopic": {
                "Leader": true,
                "TopicTime": true,
                "SearchEnabled": false,
                "SessionType": true,
                "ImpactFilter": false,
                "ExpectedResults": true,
                "CategoryFilter": false,
                "IssueTypeFilter": false
            }
        },
        "MinutesIssue": {
            "DueDate": true,
            "OrigDueDate": false,
            "ClosedDate": true,
            "IssueStatus": true,
            "Owner": true,
            "Private": true,
            "IssueType": true,
            "Originator": false,
            "ModifiedDate": false,
            "Category": true,
            "IssueDesc": true,
            "CreatedDate": true,
            "Impact": true,
            "Resolution": false,
            "IssueLog": true,
            "IssueLogCount": 3,
            "IssueLogUnit": "Entries",
            "IssueLogOrder": "Reverse",
            "MinutesIssue": {
                "DueDate": true,
                "OrigDueDate": false,
                "ClosedDate": true,
                "IssueStatus": true,
                "Owner": true,
                "Private": true,
                "IssueType": true,
                "Originator": false,
                "ModifiedDate": false,
                "Category": true,
                "IssueDesc": true,
                "CreatedDate": true,
                "Impact": true,
                "Resolution": false,
                "IssueLog": true,
                "IssueLogCount": 3,
                "IssueLogUnit": "Entries",
                "IssueLogOrder": "Reverse"
            }
        },
        "MinutesTask": {
            "DueDate": true,
            "OrigDueDate": false,
            "StartDate": true,
            "TaskStatus": true,
            "Owner": true,
            "CompletedDate": true,
            "TaskDesc": false,
            "TaskLog": false,
            "ModifiedDate": false,
            "CreatedDate": false,
            "TaskLogCount": 3,
            "TaskLogUnit": "Entries",
            "TaskLogOrder": "Reverse",
            "MinutesTask": {
                "DueDate": true,
                "OrigDueDate": false,
                "StartDate": true,
                "TaskStatus": true,
                "Owner": true,
                "CompletedDate": true,
                "TaskDesc": false,
                "TaskLog": false,
                "ModifiedDate": false,
                "CreatedDate": false,
                "TaskLogCount": 3,
                "TaskLogUnit": "Entries",
                "TaskLogOrder": "Reverse"
            }
        },
        "MinutesSpecial": {
            "IssueLikelihood": false,
            "IssueImpactDesc": false,
            "SpecificDetails": false,
            "MinutesSpecial": {
                "IssueLikelihood": false,
                "IssueImpactDesc": false,
                "SpecificDetails": false
            }
        }
    }
    12:33:08.771:MUP7:DEBUG:Log:*** resulting AgendaOptionsForm.MeetingDetails: true
    12:33:08.772:MUP7:DEBUG:Log:***END***END***END*** MeetingForm.visibilityChanged
    12:33:08.782:MUP7:WARN:ListGrid:MeetingTopicsGrid:Field does not exist: undefined
    12:33:08.793:MUP7:DEBUG:Log:***END***END*** ProjectMeetingsGrid.recordDoubleClick
    And, here is the function showing the call to setValues being used.
    Code:
    function MeetingForm_visibilityChanged(form,MTVM,window, AOfrm){
    	Log.setPriority("Log", 5);
    	Log.logDebug("*************** MeetingForm.visibilityChanged");
    
    	if (form.isVisible()) {
    		if (typeof MTVM == "undefined") { isc.logWarn("*** meetingTypeVM is not defined.");
    			MTVM = {}; MTVM = isc.ValuesManager.create({ID: "meetingTypeVM" });
    			Log.logDebug("*** meetingTypeVM created.");
    		} else {
    			Log.logDebug("*** members meetingTypeVM: " + form.echoAll(MTVM.getMembers()));
    			Log.logDebug("*** starting meetingTypeVM: " + form.echoAll(MTVM.getValues()));
    			Log.logDebug("*** starting meetingTypeVM: " + JSON.stringify(MTVM.getValues(), null, 4));
    			if ( !MTVM.hasOwnProperty("AgendaOptions")) { // checking to see if it is abnormal
    				if (delete MTVM["AgendaIssue"]) {Log.logDebug("meetingTypeVM[AgendaIssue] deleted.")};
    				if (delete MTVM["AgendaTask"]) {Log.logDebug("meetingTypeVM[AgendaTask] deleted.")};
    			}
    		}
    		var agendaPrintOptionString = form.getValue("AgendaPrintOptions");
    		var minutesPrintOptionString = form.getValue("MinutesPrintOptions");
    		if (typeof agendaPrintOptionString == "undefined") { agendaPrintOptionString = null; }
    		if (typeof minutesPrintOptionString == "undefined") { minutesPrintOptionString = null; }
    		if (agendaPrintOptionString != null)  {
    			if (minutesPrintOptionString != null)  {
    				var allOptions = { Agenda: isc.JSON.decode(agendaPrintOptionString), Minutes: isc.JSON.decode(minutesPrintOptionString) } ;
    				Log.logDebug("*** allOptions: " + form.echoAll(allOptions));
    			    Log.logDebug("*** allOptions: " + JSON.stringify(allOptions, null, 4));
    
    				var agendaSpecialOptions = {}; agendaSpecialOptions = allOptions.Agenda.Special;
    					Log.logDebug("*** agendaSpecialOptions: " + JSON.stringify(agendaSpecialOptions, null, 4));
    				var agendaTaskOptions = {}; agendaTaskOptions =  allOptions.Agenda.Task;
    					Log.logDebug("*** agendaTaskOptions: " + JSON.stringify(agendaTaskOptions, null, 4));
    				var agendaIssueOptions = {}; agendaIssueOptions = allOptions.Agenda.Issue;
    					Log.logDebug("*** agendaIssueOptions: " + JSON.stringify(agendaIssueOptions, null, 4));
    				var agendaTopicOptions = {}; agendaTopicOptions = allOptions.Agenda.Topic;
    					Log.logDebug("*** agendaTopicOptions: " + JSON.stringify(agendaTopicOptions, null, 4));
    				var agendaOptions = {}; agendaOptions = allOptions.Agenda["Options"];
    					Log.logDebug("*** allOptions.Agenda[Options]: " + JSON.stringify(allOptions.Agenda["Options"], null, 4));
    					Log.logDebug("*** agendaOptions: " + JSON.stringify(agendaOptions, null, 4));
    					Log.logDebug("*** agendaOptions: " + form.echoAll(agendaOptions));
    
    				var minutesOptions =        allOptions.Minutes.Options; //Log.logDebug("*** minutesOptions: " + JSON.stringify(minutesOptions, null, 4));
    				var minutesTopicOptions =   allOptions.Minutes.Topic;   //Log.logDebug("*** minutesTopicOptions: " + JSON.stringify(minutesTopicOptions, null, 4));
    				var minutesIssueOptions =   allOptions.Minutes.Issue;   //Log.logDebug("*** minutesIssueOptions: " + JSON.stringify(minutesIssueOptions, null, 4));
    				var minutesTaskOptions =    allOptions.Minutes.Task;    //Log.logDebug("*** minutesTaskOptions: " + JSON.stringify(minutesTaskOptions, null, 4));
    				var minutesSpecialOptions = allOptions.Minutes.Special; //Log.logDebug("*** minutesSpecialOptions: " + JSON.stringify(minutesSpecialOptions, null, 4));
    
    				var agendaOptionString = JSON.stringify(agendaOptions);
    				Log.logDebug("*** agendaOptionString: " + agendaOptionString);
    
    				var newOptions = {
    					   AgendaOptions: agendaOptions, AgendaTopic: agendaTopicOptions, AgendaIssue: agendaIssueOptions,
    					   AgendaTask: agendaTaskOptions, AgendaSpecial: agendaSpecialOptions,
    					   MinutesOptions: minutesOptions, MinutesTopic: minutesTopicOptions, MinutesIssue: minutesIssueOptions,
    					   MinutesTask: minutesTaskOptions, MinutesSpecial: minutesSpecialOptions
    				};
    //				for ( var prop in newOptions) {
    //					if (delete prop[prop]) Log.logDebug("*** doppleganger deleted: " + prop);
    //				};
    				Log.logDebug("*** newOptions.AgendaOptions before used to setValues: " + JSON.stringify(newOptions.AgendaOptions, null, 4));
    				Log.logDebug("*** assembled newOptions before used to setValues: " + JSON.stringify(newOptions, null, 4));
    				MTVM.setValues(newOptions);
    				Log.logDebug("*** assembled newOptions after used to setValues: " + JSON.stringify(newOptions, null, 4));
    				Log.logDebug("*** newOptions.AgendaOptions after used to setValues: " + JSON.stringify(newOptions.AgendaOptions, null, 4));
    			} else { isc.logWarn("*** MinutesPrintOptions are missing."); }
    		} else { isc.logWarn("*** AgendaPrintOptions are missing."); }
    
            Log.logDebug("*** resulting meetingTypeVM: " + form.echoAll(MTVM.getValues()));
    		Log.logDebug("*** resulting meetingTypeVM: " + JSON.stringify(MTVM.getValues(), null, 4));
    
    		MeetingTopicsGrid.setCriteria({ "MeetingTypeID" : Application.currentMeetingTypeID } ) ;
    		MeetingParticipantsGrid.setCriteria({ "MeetingTypeID" : Application.currentMeetingTypeID } ) ;
    
    		Log.logDebug("*** resulting AgendaOptionsForm.MeetingDetails: " + AOfrm.getValue("MeetingDetails"));
    
    /*		form.getField("Private").setDisabled(false);
    		if (form.getValue("MeatingLeaderID") != null) {
    			if (! form.getValue("Internal")) {
    				if (form.getValue("Private")) form.setValue("Private", false);
    				form.getField("Private").setDisabled(true);
    			} else {
    				form.getField("Private").setDisabled(false);
    			}
    		} else {
    			form.getField("Private").setDisabled(false);
    		}
    		if (! form.getField("Private").disabled) {
    			if (COUNT OF EXTERNAL PARTICIPANTS > 0) {
    				if (form.getValue("Private")) form.setValue("Private", false);
    				form.getField("Private").setDisabled(true);
    			}
    		}*/
    	}
    
    	Log.logDebug("***END***END***END*** MeetingForm.visibilityChanged");
    }
    The description of setValues does not mention that the input object(s) would be affected in any way.

    I need this to work to get some funding so I can upgrage my paid version to the level I need for the app. Maybe even move to 8.3 or 9.0, if I can.

    Hey, I was rooting for the 49'ers. I am a UofM fan and live in Ann Arbor. Tom Brady is a local hero.

    If I can provide you with more data on this problem I am eager to help. Just let me know how.

    Thanks,

    Rick
Working...
X