# Utilisation des valeurs d'une ligne d'un objet Service dans une action

**URL:** <https://community.simplicite.io/t/utilisation-des-valeurs-dune-ligne-dun-objet-service-dans-une-action/9469>\
**Category:** Support\
**Tags:** v5-3\
**Created:** [February 3, 2025, 4:55pm UTC](https://community.simplicite.io/t/utilisation-des-valeurs-dune-ligne-dun-objet-service-dans-une-action/9469 "2025-02-03T16:55:15Z")\
**Posts on this page:** 1\
**Showing post:** 14

<div class="post-metadata">

**Author:** ![david](https://community.simplicite.io/user_avatar/community.simplicite.io/david/32/5703_2.png) [@david](https://community.simplicite.io/u/david)\
**Post date:** [February 12, 2025, 1:26pm UTC](https://community.simplicite.io/t/utilisation-des-valeurs-dune-ligne-dun-objet-service-dans-une-action/9469/14 "2025-02-12T13:26:08Z")

</div>

Je reprends le sujet, j’ai configuré un objet service basique:

 ![image](https://community.simplicite.io/uploads/default/original/2X/e/e8dbbd0a86e4d6fa3085b1720becd67a88f1dbb3.png)

Auquel j’ai associé l’action suivante:

 ![image](https://community.simplicite.io/uploads/default/original/2X/8/88fccac1544217f0458a00d9d89dca499e6c7673.png)

Et voici le code de cet objet:

```java
package com.simplicite.objects.Application;

import java.util.ArrayList;
import java.util.List;

import com.simplicite.util.Action;
import com.simplicite.util.AppLog;
import com.simplicite.util.Message;
import com.simplicite.util.ObjectService;
import com.simplicite.util.annotations.BusinessObjectAction;

public class AppTestService extends ObjectService {
	private static final long serialVersionUID = 1L;

	private static final int NBROWS = 10;

	@Override
	public long countService() {
		return NBROWS;
	}

	private String[] getRow(String rowId) {
		return new String[] { rowId, "Code " + rowId };
	}

	@Override
	public List<String[]> searchService(boolean pagine) {
		List<String[]> rows = new ArrayList<>();
		for (int i = 1; i <= NBROWS; i++)
			rows.add(getRow(String.valueOf(i)));
		return rows;
	}

	@Override
	public boolean selectService(String rowId, boolean copy) {
		setValues(getRow(rowId));
		return true;
	}

	@Override
	public void initAction(Action action) {
		AppLog.info("Action " + action.getName() + " invoked for row ID " + getRowId() + " (" + getFieldValue("appApsCode") + ")", getGrant());
	}

	@BusinessObjectAction
	public String testAction(Action action) {
		return Message.formatSimpleInfo("Action result for row ID " + getRowId() + " (" + getFieldValue("appApsCode") + ")");
	}
}

```

A l’exécution ça fait ce qu’il faut

 ![image](https://community.simplicite.io/uploads/default/original/2X/d/de550ad8cefafc0939378d5f3f3367bdb7ddc1ca.png)

---

_[View the full topic](https://community.simplicite.io/t/utilisation-des-valeurs-dune-ligne-dun-objet-service-dans-une-action/9469)._
