Problema
No Formulário Dinâmico, quando a opção selecionada em um campo do tipo ComboBox (ou Lookup em modo ComboBox) é alterada através da ação “Popular Campos e Variáveis” dos Procedimentos, o evento SelectedItemChanged é disparado, da mesma maneira como ocorre quando o usuário seleciona manualmente uma nova opção na página.
Este comportamento evita que o programador tenha que chamar os códigos disparados nos eventos em outros locais, pois já é esperado que o evento será disparado passivamente quando o campo for preenchido com um novo valor.
No entanto, em alguns casos, pode ser necessário fazer um tratamento diferente quando o usuário seleciona uma opção manualmente em relação à quando a opção é selecionada programaticamente.
Nestes casos, torna-se difícil gerenciar o disparado dos eventos para alcançar o comportamento desejado.
Solução
A solução proposta para este problema é a criação de um novo tipo de evento para campos do tipo ComboBox (e Lookup em modo ComboBox) chamado SelectedItemChangedByUser.
Enquanto o evento SelectedItemChanged é disparado quando uma opção da ComboBox é alterada em qualquer situação, este novo evento só será disparado quando a opção for alterada através da ação do usuário, diretamente no campo.