Цитата:
Сообщение от
bodeaux
Можно ли программно заполнить поле на форме так, чтобы был исполнен метод modified ( для этого поля из ds ) ?
Сделать можно - вопрос в том, для чего.
Цитата:
Сообщение от
bodeaux
Например, на форме SalesTable в гриде, отображающем SalesLines_ds... Хочу получить аналогичный эффект при заполнении этого поля из кода.
Следует разделять работу бизнес-логики и презентационной логики: первое - это, к примеру, заполнение связанных полей табличного буфера при изменении определенного поля, второе - это, к примеру, управление видимостью/доступностью контролов на форме в зависимости от заполненности или значения поля. То, что на форме SalesTable на изменение значения полей завязана куча бизнес-логики, - это жуткий антипаттерн разработки в Аксапте, и в своих формах и/или функционале так делать не стоит. Если из кода создается та же строка заказа (а менять в ней ItemId можно только при создании), то должно быть без разницы, происходит ли это на форме SalesTable, или любой другой форме, или вообще дело происходит в пакетном задании. Если у вас из формы строки заказа будут создаваться одним образом, а из неинтерактивного куска кода - другим, то система будет вести себя криво в случае всяких там импортов, сценариев интеграции и проч. В тех случаях, когда нужно заполнять поля таблицы из кода и дергать логику подтягивания значений связанных полей, надо либо дергать modifiedField() таблицы на изменении заполняемых вами полей, либо, предпочтительнее, использовать AxBC-класс для таблицы и заполнять поля через него.