Renata, um dataset é resumindo, uma consulta a dados, portanto neste caso, você precisaria atualizar o registro do formulário A. Isso é possível a partir de outro processo sim. Fiz isso com esse script dentro de um dataset:
function createDataset(fields, constraints, sortFields) {
var dataset = DatasetFactory.newDataset();
var companyId = null;
var user = null;
var password = null;
var parentDocumentId = null;
var cardId = null;
companyId = 1;
user = "usuarioAdmin";
password = "";
cardId = null;
if(constraints != null){
for (var i = 0; i < constraints.length; i++){
if(constraints[i].fieldName == 'cardId' && constraints[i].initialValue != ''){
cardId = constraints[i].initialValue;
}
}
}
if (cardId == null)
{
log.info("ds_updateCardData cardId não informado");
return dataset;
}
try
{
cardId = parseInt(cardId);
var svc = ServiceManager.getService('ECMCardService');
var serviceHelper = svc.getBean();
var cardServiceLocator = serviceHelper.instantiate('com.totvs.technology.ecm.dm.ws.ECMCardServiceServiceLocator');
var cardService = cardServiceLocator.getCardServicePort();
var CardFieldDtoArray = serviceHelper.instantiate('com.totvs.technology.ecm.dm.ws.CardFieldDtoArray');
var aCardFieldDto = [];
for (var i = 0; i < fields.length; i += 2){
var CardFieldDto = serviceHelper.instantiate('com.totvs.technology.ecm.dm.ws.CardFieldDto');
CardFieldDto.setField(fields[i]);
CardFieldDto.setValue(fields[i+1]);
aCardFieldDto.push(CardFieldDto);
}
aCardFieldDto.push(CardFieldDto);
CardFieldDtoArray.setItem(aCardFieldDto);
cardService.updateCardData(companyId,user,password,cardId,CardFieldDtoArray);
}
catch (e) {
log.info("================> ERRO" + e.toString());
return dataset;
}
dataset.addColumn("result");
dataset.addRow(["Registro alterado com sucesso."]);
return dataset;
}