Howdy again @dryice ! Sorry for the delay - holidays and all.
Let’s see if I can help! I’ll paste the first code block below, but first, a disclaimer - you should never, EVER, blindly paste code into dataviewjs if you don’t understand it. Bad actors could utilize it to wreak havoc on your system. This isn’t that but good practice moving forward 
Now, the full code block:
const {update} = this.app.plugins.plugins["metaedit"].api;
const buttonMaker = (pn, pv, fpath) => {
const btn = this.container.createEl('button', {"text": "Finished!"});
const file = this.app.vault.getAbstractFileByPath(fpath)
btn.addEventListener('click', async (evt) => {
evt.preventDefault();
await update(pn, pv, file);
await update('completed-date',DateTime.local().toISODate(),file);
});
return btn;
}
let taskList = dv.pages("[[" + dv.current().file.name + "]]")
.filter(p => p.tags == "tasks")
.filter(p => p.status == "In Progress");
dv.table(["Task","Priority","Due Date","Pending Subtasks","Completed Subtasks"],
taskList.sort(t => t.priority)
.map(t => [t.file.link,
t.priority,
t["due-date"],
t.file.tasks.filter(t => !t.fullyCompleted).length,
t.file.tasks.filter(t => t.fullyCompleted).length,
buttonMaker('status','Finished',t.file.path)
])
)
To answer your questions directly:
-
You might want to read the MetaEdit docs to understand a little more thoroughly, but the ‘FIELD’ is the DataView/YAML field that you want to update (for instance, ‘completion-date’ is a YAML field on my Task notes.
-
Hopefully the code block above helps, but if it doesn’t, please let me know! I’m not sure I quite understand the issue you might be having here.