при заполнении формы или уже после, при действиях человека
уй, я не парился в этом случае, когда аналитик требовала разделить 2 этих события, и просто говорил, что программе пофиг, кто изменяет поле: сама программа или человек. Ну, а если особо настаивала, то всё таки вводил флаг, который поднимал при программном изменении полей, но это такое костыльное решение ... бррр. Одно дело, когда изначально закладывается такое разделение, другое дело вводить его в уже имеющийся код.