Как написать код для получения данных из одной формы в другую форму с помощью кнопки? - PullRequest
0 голосов
/ 16 января 2019

Я создал командную кнопку на панели действий формы CustGroup.

Я добавил новое базовое поле ent edt в таблицы и формы CustGroup и CustTable.

При нажатии на кнопку данные, которые ранее были изменены в таблице CustGroup, должны быть отражены в форме таблицы cust.

Я написал код в кнопке на обработчике событий щелчка, но он не обновляется.

Что делать, есть предложения?

1 Ответ

0 голосов
/ 17 января 2019

Если я правильно понимаю ваш вопрос, вы хотите передать изменение нового поля в группе клиентов всем клиентам, которые разделяют эту группу клиентов.

Этот вид массового обновления данных обычно не выполняется кодом в форме, поскольку этот код выполняется на уровне клиента, что приводит к снижению производительности. Вместо этого вы должны создать класс, настроенный для выполнения на уровне сервера. Если вы создадите метод main для этого класса, вы можете легко создать для него пункт меню действий, который позволит вам легко интегрировать вызов этого класса в виде кнопки в форме CustGroup.

В методе main вы можете получить доступ к записи CustGroup, для которой была нажата кнопка через объект Args. Это дает вам значение вашего нового поля, которое было изменено. С этим значением вы можете использовать код, подобный следующему, для обновления ваших клиентов:

public void updateCustomersWithNewCustGroupFieldValue(CustGroup _custGroup)
{
    CustTable custTable;

    ttsBegin;
    while select forUpdate custTable 
        where custTable.CustGroup == _custGroup.CustGroup
    {
        custTable.MyNewEnumField = _custGroup.MyNewEnumField;
        if (custTable.validateWrite())
        {
            custTable.update();
        }
        else
        {
            error('Please implement some error handling');
        }
    }
    ttsCommit;
}
...