Решение по делу «Преобразованный метод»

Сначала рассмотрим, что делает объект session.web.form.FormOpenPopup ().

var pop = new session.web.form.FormOpenPopup(this);
pop.show_element(
    related_field.field.relation,
    false,
    context,
    {
        title: _t("Create new record"),
    }
);
pop.on('closed', self, function () {
    self.force_disabled = false;
    self.check_disable();
});
pop.on('create_completed', self, function(id) {
    related_field.set_value(id);
    if(self.field_manager.fields['filter_by_partner']) {
        self.field_manager.fields['filter_by_partner'].set_value(true);
    }
});

Предположим, в этом случае, что мы ничего не получили.

Затем мы пытаемся искать методами объекта. В этом случае ** init_popup **, ** display_popup **, ** init_dataset ** и ** setup_form_view **. Успешно. Метод init_dataset находится в объекте FormViewDialog. Объект ведет себя подобно тому, что нам нужно.

Если этот шаг не дал нам ничего, то мы можем попробовать поиск по уникальным ключевым словам. Например, в этом случае мы видим аргументы методов pop.on (): ** 'closed' ** и ** 'creation_completed' **. Слово «закрытый» нам не подходит, так как оно может встречаться достаточно часто. Но слово «create_completed» встречается редко, и мы можем найти его. И теперь мы снова находим объект FormViewDialog.

Source Diving Index