Дать экрану остатков отдельного читателя

Фактические данные получены через расширение interbase по TCP к отдельному серверу Firebird с проверкой пароля. Собственные учебные пользователи, базы и промежуточные резервные файлы удалены после наблюдений.

Наблюдаемый результат программы
НаблюдениеРезультат
Создана отдельная учётная записьда
Вошёл именно читательда
Строк на экране2
Кабель USB, шт.6
Предохранитель 10A, шт.0
Изменение остатка запрещенода
Остатки не изменилисьда
Необязательное имя не заданода
Строки и дополнительные наблюдения
{
    "selected_items": [
        {
            "id": 1,
            "title": "Кабель USB",
            "qty": 6
        },
        {
            "id": 2,
            "title": "Предохранитель 10A",
            "qty": 0
        }
    ],
    "after_denied_update": [
        {
            "id": 1,
            "title": "Кабель USB",
            "qty": 6
        },
        {
            "id": 2,
            "title": "Предохранитель 10A",
            "qty": 0
        }
    ],
    "update_refusal": {
        "allowed": false,
        "code": -551,
        "warning": true,
        "message_present": true
    },
    "profile": {
        "first": null,
        "middle": null,
        "last": null,
        "plugin": "Srp"
    },
    "service_action": {
        "started": true,
        "completed": true,
        "output_type": "bool"
    },
    "authentication_identity_matches": true,
    "granted_privilege": "SELECT ON LAB_ITEMS",
    "password_published": false
}

Самостоятельный запуск создаёт result.json с данными и metrics.json с проверками рядом с example.php.