Можно обновить 2 столбца формы 1 подстановки? - PullRequest
1 голос
/ 16 января 2020

я ищу решение моей проблемы. Я получил 2 столбца и получаю первые данные из поиска. Но возможно ли обновить второй столбец данными? В первом столбце я получаю идентификатор и хочу, чтобы он автоматически обновлял второй столбец с ИМЯ для этого идентификатора. Совершено

 public void lookup()
    {
        Query query = new Query();
        QueryBuildDataSource queryBuildDataSource;
        QueryBuildRange queryBuildRange;
        HcmWorkerStaging hcmworkerstaging;


        SysTableLookup sysTableLookup = SysTableLookup::newParameters(tableNum(HCMWORKERSTAGING), this);

        sysTableLookup.addLookupField(fieldNum(HCMWORKERSTAGING, PhoneticMiddleName));
        sysTableLookup.addLookupField(fieldNum(HCMWORKERSTAGING, NameAlias));

        queryBuildDataSource = query.addDataSource(tableNum(HCMWORKERSTAGING));

        sysTableLookup.parmQuery(query);

        sysTableLookup.performFormLookup();



       // super();
    }

Ответы [ 2 ]

3 голосов
/ 16 января 2020

Да, это возможно.

Вы должны переопределить метод modified этого поля (то же поле, в котором вы выполняете поиск).

Пример в соответствии с Ваш код:

Modified метод выполняется перед методом Lookup и имеет выбранное значение.

public void modified()
{

    HcmWorkerStaging hcmworkerstaging;

    super();

    select * from hcmworkerstaging where hcmworkerstaging.PhoneticMiddleName == YourDataSource.YourField1;
    if(hcmworkerstaging)
    {
        YourDataSource.YourField2 = hcmworkerstaging.NameAlias;
    }
}
0 голосов
/ 16 января 2020

Спасибо! Это работает, но частично. Значение в порядке, но когда я снова изменяю, оно не изменилось, чтобы соответствовать новому идентификатору. Во всяком случае, у меня есть одна последняя проблема, но я не знаю, если я должен сделать еще один поток для этого. Мне нужно сделать динамический c фильтр для NAME. Для каждого набираемого символа он фильтрует и дает значения, которые содержат где-то букву или слово. Удалось только сделать в нем простой фильтр, который ищет первое найденное слово: /

...