{"id":725,"date":"2025-07-08T13:54:51","date_gmt":"2025-07-08T13:54:51","guid":{"rendered":"https:\/\/sienna-manatee-218967.hostingersite.com\/blogs\/permisos-de-acceso-y-reglas-de-registro-2\/"},"modified":"2026-05-04T04:02:19","modified_gmt":"2026-05-04T04:02:19","slug":"permisos-de-acceso-y-reglas-de-registro","status":"publish","type":"post","link":"https:\/\/exdoo.mx\/blogs\/permisos-de-acceso-y-reglas-de-registro\/","title":{"rendered":"Permisos de acceso y reglas de registro"},"content":{"rendered":"<div style=\"background:linear-gradient(135deg,#0A7099 0%,#0d8db8 100%);color:#fff;padding:28px 26px;border-radius:16px;margin:0 0 28px;box-shadow:0 4px 16px rgba(10,112,153,.2);\">\n<div style=\"display:inline-block;background:rgba(255,255,255,.18);padding:6px 14px;border-radius:20px;font-size:12px;font-weight:700;letter-spacing:.5px;margin-bottom:12px;color:#fff;\">\ud83d\udcd8 ART\u00cdCULO T\u00c9CNICO<\/div>\n<p style=\"font-size:16px;line-height:1.6;margin:0;color:#fff;opacity:.95;\">\u00bfQu\u00e9 son los permisos de acceso y las reglas de registro?<\/p>\n<\/div>\n<p><img decoding=\"async\" src=\"https:\/\/exdoo.mx\/blogs\/wp-content\/uploads\/2026\/05\/permisos-b-AE0raQjoleik18z8-2.png\" alt=\"\"  style=\"max-width:100%;height:auto;border-radius:10px;box-shadow:0 2px 8px rgba(0,0,0,0.12);display:block;margin:14px auto;\" \/><\/p>\n<div style=\"background:linear-gradient(135deg,#0A7099 0%,#0d8db8 100%);color:#fff;padding:28px 26px;border-radius:16px;margin:0 0 28px;box-shadow:0 4px 16px rgba(10,112,153,.2);\">\n<div style=\"display:inline-block;background:rgba(255,255,255,.18);padding:6px 14px;border-radius:20px;font-size:12px;font-weight:700;letter-spacing:.5px;margin-bottom:12px;color:#fff;\">\ud83d\udcd8 ART\u00cdCULO T\u00c9CNICO<\/div>\n<\/div>\n<p class=\"body\" dir=\"auto\"><span>Son restricciones definidas por modelo que controlan qui\u00e9n puede hacer qu\u00e9 dentro del sistema, es decir, qu\u00e9 modelos puede ver, crear, modificar o eliminar un usuario, dependiendo del grupo al que pertenezca el usuario.<\/span><\/p>\n<p class=\"body\" dir=\"auto\"><span><em><u>Diferencias<\/u><\/em><\/span><\/p>\n<p class=\"body\" dir=\"auto\"><span>Aunque las reglas de acceso y de registro tienen el mismo funcionamiento, estas se diferencian por una caracter\u00edstica especial.<\/span><\/p>\n<p class=\"body\" dir=\"auto\"><span>Los <strong><em>permisos de acceso<\/em><\/strong> otorgan acceso a un modelo completo para un conjunto determinado de operaciones. Si ning\u00fan permiso de acceso coincide con una operaci\u00f3n en un modelo para un usuario (a trav\u00e9s de su grupo), este no tiene acceso.<\/span><\/p>\n<p class=\"body\" dir=\"auto\"><span>Las <strong><em>reglas de registro<\/em><\/strong> son condiciones que deben cumplirse para que se permita una operaci\u00f3n. Se eval\u00faa registro por registro, seg\u00fan los permisos de acceso.<\/span><\/p>\n<p class=\"body\" dir=\"auto\"><span><em><u>\u00bfC\u00f3mo se crean las reglas de acceso y de registro dentro de Odoo?<\/u><\/em><\/span><\/p>\n<p class=\"body\" dir=\"auto\"><span>Odoo ofrece distintas formas para crear las reglas de acceso y de registro, aunque las m\u00e1s comunes son utilizando c\u00f3digo dentro del m\u00f3dulo y crearlas dentro del sistema.<\/span><\/p>\n<p class=\"body\" dir=\"auto\"><span><strong>Permisos de acceso &#8211; Archivos CSV<\/strong><\/span><\/p>\n<p class=\"body\" dir=\"auto\"><span>Esta es la forma m\u00e1s com\u00fan de crear un permiso de acceso. Dentro de los archivos del m\u00f3dulo se a\u00f1ade (si es que no existe) una carpeta llamada security, la cual contiene un archivo llamado ir.model.access.csv, el mismo que estar\u00e1 mapeado dentro del atributo data de nuestro archivo <strong>manifest<\/strong>.py dentro del m\u00f3dulo.<\/span><\/p>\n<p class=\"body\" dir=\"auto\"><span>Dentro del m\u00f3dulo de ventas existe el siguiente permiso de acceso:<\/span><\/p>\n<p><img decoding=\"async\" src=\"https:\/\/exdoo.mx\/blogs\/wp-content\/uploads\/2026\/05\/1-mk3Jq1VDPzfNwW9V-2.png\" alt=\"\"  style=\"max-width:100%;height:auto;border-radius:10px;box-shadow:0 2px 8px rgba(0,0,0,0.12);display:block;margin:14px auto;\" \/><\/p>\n<h3 style=\"color:#0A7099;margin-top:24px;\"><span>La estructura de los valores por columna es la siguiente:<\/span><\/h3>\n<ul style=\"padding-left:22px;line-height:1.9;\">\n<li><span>1ra columna (id): id del permiso de acceso. Identificador externo que se puede utilizar para referirse al registro sin la necesidad de conocer su id en base de datos.<\/span><\/li>\n<li><span>2da columna (name): nombre del permiso de acceso.<\/span><\/li>\n<li><span>3er columna (model_id:id): Indica el modelo u objeto al que se aplicar\u00e1 el permiso. En este caso, es para el modelo de ventas (sale.order)<\/span><\/li>\n<p>4ta columna: El grupo al que aplica el permiso.En este caso, aplica al grupo <strong><em>Usuario: solo mostrar documentos propios<\/em><\/strong> (<strong><em>sales_<a target=\"_blank\" rel=\"noopener noreferrer\" class=\"qbe-widget\" href=\"http:\/\/team.group\">team.group<\/a>_sale_salesman<\/em><\/strong>)<\/p>\n<li><span>5ta columna: Permiso para leer. Como se tiene el valor 1, el usuario con este grupo s\u00ed podr\u00e1 leer el registro.<\/span><\/li>\n<li><span>6ta columna: Permiso para actualizar. Como se tiene el valor 1, el usuario con este grupo s\u00ed podr\u00e1 actualizar el registro.<\/span><\/li>\n<li><span>7ma columna: Permiso para crear. Como se tiene el valor 1, el usuario con este grupo s\u00ed podr\u00e1 crear nuevos registros.<\/span><\/li>\n<li><span>8va columna: Permiso para eliminar. Como se tiene el valor 0, el usuario con este grupo no podr\u00e1 eliminar registros existentes.<\/span><\/li>\n<\/ul>\n<h3 style=\"color:#0A7099;margin-top:24px;\"><span>Considerando el permiso anterior, todo usuario que tenga el grupo Usuario: solo mostrar documentos propios no tiene permitido eliminar registros del modelo de ventas (sale.order).<\/span><\/h3>\n<p class=\"body\" dir=\"auto\"><span>Dentro de Odoo, agregamos al usuario actual el permiso antes mencionado.<\/span><\/p>\n<p><img decoding=\"async\" src=\"https:\/\/exdoo.mx\/blogs\/wp-content\/uploads\/2026\/05\/2-AR03MOxrW7ikjLbZ-2.png\" alt=\"\"  style=\"max-width:100%;height:auto;border-radius:10px;box-shadow:0 2px 8px rgba(0,0,0,0.12);display:block;margin:14px auto;\" \/><\/p>\n<h3 style=\"color:#0A7099;margin-top:24px;\"><span>De esta forma, notamos c\u00f3mo Odoo no nos permite eliminar registros de ventas, cumpliendo as\u00ed con el permiso de acceso anterior.<\/span><\/h3>\n<p><img decoding=\"async\" src=\"https:\/\/exdoo.mx\/blogs\/wp-content\/uploads\/2026\/05\/3-YbNJqljn73TKa5xX-2.png\" alt=\"\"  style=\"max-width:100%;height:auto;border-radius:10px;box-shadow:0 2px 8px rgba(0,0,0,0.12);display:block;margin:14px auto;\" \/><\/p>\n<h3 style=\"color:#0A7099;margin-top:24px;\"><span>Hagamos algo m\u00e1s interesante. Al permiso anterior, modifiquemos el permitir actualizar los registros de ventas. Esto lo hacemos de la siguiente manera:<\/span><\/h3>\n<p><img decoding=\"async\" src=\"https:\/\/exdoo.mx\/blogs\/wp-content\/uploads\/2026\/05\/4-mePJb2MrvocyqBbq-2.png\" alt=\"\"  style=\"max-width:100%;height:auto;border-radius:10px;box-shadow:0 2px 8px rgba(0,0,0,0.12);display:block;margin:14px auto;\" \/><\/p>\n<h3 style=\"color:#0A7099;margin-top:24px;\"><span>Notamos que ahora no puedo editar nada dentro de las ventas.<\/span><\/h3>\n<p><img decoding=\"async\" src=\"https:\/\/exdoo.mx\/blogs\/wp-content\/uploads\/2026\/05\/5-m2WEaeLq8ptjOW6P-2.png\" alt=\"\"  style=\"max-width:100%;height:auto;border-radius:10px;box-shadow:0 2px 8px rgba(0,0,0,0.12);display:block;margin:14px auto;\" \/><\/p>\n<h3 style=\"color:#0A7099;margin-top:24px;\"><span>Los permisos de acceso tambi\u00e9n se pueden editar desde Odoo a trav\u00e9s de la secci\u00f3n <strong>Permisos de acceso<\/strong>.<\/span><\/h3>\n<p><img decoding=\"async\" src=\"https:\/\/exdoo.mx\/blogs\/wp-content\/uploads\/2026\/05\/6-Awv9D3enO3cN6Xyk-2.png\" alt=\"\"  style=\"max-width:100%;height:auto;border-radius:10px;box-shadow:0 2px 8px rgba(0,0,0,0.12);display:block;margin:14px auto;\" \/><\/p>\n<h3 style=\"color:#0A7099;margin-top:24px;\"><span><strong>Reglas de registro &#8211; Archivos XML<\/strong><\/span><\/h3>\n<p class=\"body\" dir=\"auto\"><span>La forma m\u00e1s com\u00fan de crearlas es a trav\u00e9s de archivos XML dentro del m\u00f3dulo. Dentro del m\u00f3dulo de compras tenemos el siguiente ejemplo de una regla de registro:<\/span><\/p>\n<p><img decoding=\"async\" src=\"https:\/\/exdoo.mx\/blogs\/wp-content\/uploads\/2026\/05\/6-m6Lbjl54jbT5azQy-2.png\" alt=\"\"  style=\"max-width:100%;height:auto;border-radius:10px;box-shadow:0 2px 8px rgba(0,0,0,0.12);display:block;margin:14px auto;\" \/><\/p>\n<h3 style=\"color:#0A7099;margin-top:24px;\"><span>La regla anterior indica que los usuarios solo pueden ver las compras cuya compa\u00f1\u00eda est\u00e9 dentro de las compa\u00f1\u00edas activas dentro del Odoo. La intenci\u00f3n es que los usuarios solo puedan tener acceso a las compras de la compa\u00f1\u00eda a las que tienen acceso. Esto se define a trav\u00e9s del dominio.<\/span><\/h3>\n<p dir=\"auto\" class=\"body\"><span>A esta regla tambi\u00e9n se le puede indicar sobre qu\u00e9 podemos hacer con los registros. A esta regla a\u00f1adimos los siguientes campos:<\/span><\/p>\n<p><img decoding=\"async\" src=\"https:\/\/exdoo.mx\/blogs\/wp-content\/uploads\/2026\/05\/7-AE0rajyVMZCy2gD7-2.png\" alt=\"\"  style=\"max-width:100%;height:auto;border-radius:10px;box-shadow:0 2px 8px rgba(0,0,0,0.12);display:block;margin:14px auto;\" \/><\/p>\n<h3 style=\"color:#0A7099;margin-top:24px;\"><span>Los cuatro campos que comienzan con la palabra perm_ otorgan permiso para eliminar, actualizar, leer y crear registros sobre las compras, respectivamente. En este caso, se restringe el poder leer compras que aplican sobre el dominio anterior; por lo tanto, el usuario tiene permiso para leer todas las compras de todas las compa\u00f1\u00edas. Al actualizar el m\u00f3dulo, notamos que, en efecto, podemos leer compras de otras compa\u00f1\u00edas a pesar de tener activa otra compa\u00f1\u00eda.<\/span><\/h3>\n<p><img decoding=\"async\" src=\"https:\/\/exdoo.mx\/blogs\/wp-content\/uploads\/2026\/05\/8-dJob5z8awOsp4ZwM-2.png\" alt=\"\"  style=\"max-width:100%;height:auto;border-radius:10px;box-shadow:0 2px 8px rgba(0,0,0,0.12);display:block;margin:14px auto;\" \/><\/p>\n<h3 style=\"color:#0A7099;margin-top:24px;\"><span>Si volvemos a actualizar el archivo XML de la siguiente manera:<\/span><\/h3>\n<p><img decoding=\"async\" src=\"https:\/\/exdoo.mx\/blogs\/wp-content\/uploads\/2026\/05\/1-Yg2yqo7e5PUWJzxb-2.png\" alt=\"\"  style=\"max-width:100%;height:auto;border-radius:10px;box-shadow:0 2px 8px rgba(0,0,0,0.12);display:block;margin:14px auto;\" \/><\/p>\n<h3 style=\"color:#0A7099;margin-top:24px;\"><span>Ahora tenemos permiso para leer solo las compras de la compa\u00f1\u00eda activa, seg\u00fan el dominio establecido. Comprobamos esto al actualizar el m\u00f3dulo:<\/span><\/h3>\n<p><img decoding=\"async\" src=\"https:\/\/exdoo.mx\/blogs\/wp-content\/uploads\/2026\/05\/2-AMq8l6xx2OUGzbbO-2.png\" alt=\"\"  style=\"max-width:100%;height:auto;border-radius:10px;box-shadow:0 2px 8px rgba(0,0,0,0.12);display:block;margin:14px auto;\" \/><\/p>\n<h3 style=\"color:#0A7099;margin-top:24px;\"><span>Las reglas de registro tambi\u00e9n se pueden actualizar directamente desde Odoo.<\/span><\/h3>\n<p><img decoding=\"async\" src=\"https:\/\/exdoo.mx\/blogs\/wp-content\/uploads\/2026\/05\/3-AGBbnEvXMKsBOX7Z-2.png\" alt=\"\"  style=\"max-width:100%;height:auto;border-radius:10px;box-shadow:0 2px 8px rgba(0,0,0,0.12);display:block;margin:14px auto;\" \/><\/p>\n<h3 style=\"color:#0A7099;margin-top:24px;\"><span><strong>Consejos r\u00e1pidos:<\/strong><\/span><\/h3>\n<ul style=\"padding-left:22px;line-height:1.9;\">\n<li><span>Define solo los permisos necesarios para cada grupo de usuarios. Evita dar acceso de eliminar a menos que sea imprescindible.<\/span><\/li>\n<li><span>Usa grupos bien estructurados (por roles o departamentos) y evita asignar permisos directamente a usuarios individuales.<\/span><\/li>\n<li><span>Despu\u00e9s de crear o modificar permisos, haz pruebas con usuarios de prueba para confirmar que solo tienen acceso a lo necesario.<\/span><\/li>\n<li><span>Revisa que un usuario no herede permisos contradictorios por pertenecer a varios grupos.<\/span><\/li>\n<li><span>Usa reglas de registro junto con permisos de acceso; una sin la otra puede dejar huecos de seguridad.<\/span><\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>\ud83d\udcd8 ART\u00cdCULO T\u00c9CNICO \u00bfQu\u00e9 son los permisos de acceso y las reglas de registro? \ud83d\udcd8 ART\u00cdCULO T\u00c9CNICO Son restricciones definidas por modelo que controlan qui\u00e9n puede hacer qu\u00e9\u2026<\/p>\n","protected":false},"author":4,"featured_media":711,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3],"tags":[],"class_list":["post-725","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-base"],"_links":{"self":[{"href":"https:\/\/exdoo.mx\/blogs\/wp-json\/wp\/v2\/posts\/725","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/exdoo.mx\/blogs\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/exdoo.mx\/blogs\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/exdoo.mx\/blogs\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/exdoo.mx\/blogs\/wp-json\/wp\/v2\/comments?post=725"}],"version-history":[{"count":3,"href":"https:\/\/exdoo.mx\/blogs\/wp-json\/wp\/v2\/posts\/725\/revisions"}],"predecessor-version":[{"id":1981,"href":"https:\/\/exdoo.mx\/blogs\/wp-json\/wp\/v2\/posts\/725\/revisions\/1981"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/exdoo.mx\/blogs\/wp-json\/wp\/v2\/media\/711"}],"wp:attachment":[{"href":"https:\/\/exdoo.mx\/blogs\/wp-json\/wp\/v2\/media?parent=725"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/exdoo.mx\/blogs\/wp-json\/wp\/v2\/categories?post=725"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/exdoo.mx\/blogs\/wp-json\/wp\/v2\/tags?post=725"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}