{"revision":"c10276e953456835cdbb1f3a60d58ae1980be353","document":{"id":595,"path":"api-reference/scripts/c_InstallationSettings.md","title":"Installation settings","bundle":null,"doc_type":null,"release":"australia","body":"\n# Installation settings\n\nInstallation settings are global business rules with calculated names. Installation settings are calculated just before a record is displayed and facilitate dynamic determination of access and roles. Installation Settings permit the programmatic determination of a setting.\n\nInstallation settings controlling access to fields and records are:\n\n-   CanRead\\(\\)\n-   CanWrite\\(\\)\n-   CanCreate\\(\\)\n-   CanDelete\\(\\)\n\nFunctions can return true if access is permitted, false if not. No return value uses the permission calculated using roles. The function has access to the current record through the variable current code.\n\nThe name of the function checking the permission on a record is formed by prefixing the setting name with the record name:\n\n```\n*record\\_name*CanRead()\n```\n\nSimilarly, the permission on a field in a record is formed by prefixing the function name with the record name, underscore, and field name:\n\n```\n*record\\_name\\_field\\_name*CanRead()\n```\n\nNaming examples:\n\n```\nfunction incidentCanWrite() {} //  can user write to this record?\n function incident_numberCanWrite() {}  // can user write to the number field?\n```\n\nThis sample business rule restricts the writing of the name field in the sys\\_dictionary file when the entry exists:\n\n```\n  // the element name cannot be written unless this is a new record (not yet in database)\n  function sys_dictionary_nameCanWrite() {\n    if (current.isNewRecord())\n      return; \n\n    return false;\n  }\n\n```\n\n**Parent Topic:**[Server-side scripting](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/api-reference/scripts/c_ServerScripting.md)\n\n"}}