Вы упоминаете веб-API. Используете ли вы 4D REST сервер ? Если это так, бремя действительно на вызывающего абонента, чтобы использовать правильные имена. Они могли бы получить каталог первым.
Если вы используете веб-сервер и управляете своими вызовами API через него, вы захотите самостоятельно проанализировать строки запроса и проверить правильность написания полей. Если это открытый API, я бы все равно хотел это сделать, чтобы предотвратить любые попытки внедрения вредоносного кода.
, поскольку ORDA использует имя отношения вместо имени таблицы
Истина, когда вы ссылаетесь на таблицу в контексте связанной таблицы. Это действительно отличная особенность, которую я нахожу. Например, я бы назвал отношение M-> O просто «Сотрудник», потому что оно более читабельно. И O-> M я бы назвал «Журналы» или «CallLogs».
OTOH некоторые люди предпочитают "r_Employee" явно идентифицировать отношение.
И хранилище данных ds
также является объектом ds.CallLogs
. Таким образом, вы можете легко получить полный список полей таблицы с помощью
$o:=ds.CallLogs
, не преобразовывая выбор сущности в обычный выбор, а затем используя Selection to JSON
.
Я не могу найти способ подавления ошибок
Оформить заказ ON ERR CALL Вы можете создать метод обработки ошибок, который ничего не делает. Просто создайте метод с именем Err_ignore
. Чтобы использовать его:
$err_method:=Method called on error // get the current error method
ON ERR CALL("Err_ignore")
< do some stuff >
ON ERR CALL($err_method) // restore the original err handler
Это хорошая идея для методов, которые запускаются на 4D-сервере и веб-сервере, чтобы вас не блокировали. Я предпочитаю регистрировать и регистрировать ошибки, но пример - это все, что вам нужно, чтобы их игнорировать.
Если вы предоставляете ввод на веб-странице, вы можете использовать какой-то список выбора для управления вводом. Но если вы не можете этого сделать, вы должны сами справиться с этим.
Надеюсь, это поможет