# Change-Checkbox

In manchen Fällen ist es Sinnvoll, dass Änderungen an Datenbeständen dokumentiert werden, sodass Folgebearbeiter nicht alle Feldinhalte prüfen müssen.

Dazu bietet die Formular-Engine eine Funktion an, welche zu einer benannten Liste von Feldern diese Checkboxen automatisch erzeugt und zum Input-Feld hinzufügt.

### Settings

```php
	protected $FieldChangeCBSettings = [ 
			'postname' => 'form_change_cb', // POST-Variable für die Change-CheckBoxen
			'position' => 'left', // Anordnung left|right vom Input-Feld
			'title' => 'Änderung markieren',
			'value' => '0',
			'class' => 'custom-control custom-checkbox',
			'class-input' => 'custom-control-input',
			'class-label' => 'custom-control-label'
		// 'abc' => [
		// 'abc-checkbox-default',
		// 'abc-checkbox-success'
		// ]
	];

```

### Beispiel

Das Formularobjekt `$FrmObj` ist ein Objekt der Formular-Klasse

Die **$\_POST** - Variablen des Formular werden als Array mit dem Namen 'postname' dargestellt. \
Im Beispiel:  `CHANGE_FIELDS => Array ( [MANDT] => 1 [SHORTTEXT] => on [TAGS] => on [SAP_KUNNR] => on [SAP_VKBUR] => on )`

```php
		// --------------------------------------------------------------------
		// Start: Feldänderungen sollen mit einer Checkbox ergänzt werden:
		$FrmObj->FieldChangeCBSettings ['postname'] = 'CHANGE_FIELDS'; // POST-Variable für die Change-CheckBoxen
		$FrmObj->FieldChangeCBSettings ['position'] = 'left'; // Anordnung left|right vom Input-Feld

		// Liste der Felder, welche eine Change-Checkbox erhalten sollen:
		$change_fields = [ 
				'SHORTTEXT' => 0,
				'DESCRIPTION' => 0,
				'TAGS' => 0,
				'SAP_KUNNR'=> 0,
				'SAP_VKBUR'=> 0
		];
		// aktuelle Daten mit der Liste abmischen:
		if (isset ( $data ['CHANGE_FIELDS'] )) {
			$change_fields = array_merge ( $change_fields, unserialize ( $data ['CHANGE_FIELDS'] ) );
		}
		// Liste an Formular-Engine geben:
		$FrmObj->setFieldChangeCB ( $change_fields );
		// Trick, damit CHANGE_FIELDS bei jedem Post aktualisiert wird, auch wenn es keinen ausgewählten Eintrag gibt!
		$FormHtml [] = $FrmObj->hidden ( 'CHANGE_FIELDS[MANDT]', 1 );
		// Ende: Feldänderungen sollen mit einer Checkbox ergänzt werden:
		// --------------------------------------------------------------------

```

![Beispiel: Formular mit Change-Checkboxen vor den Input-Feldern...](/files/-MWdYShs8b0BGSfE6vmJ)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://alaniso-de.gitbook.io/alaf-framework/change-checkbox.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
