diff --git a/.gitignore b/.gitignore
index 0e3b714..b7b0c06 100644
--- a/.gitignore
+++ b/.gitignore
@@ -9,6 +9,8 @@
# Compilación .NET Framework / ASP.NET
[Bb]in/
+!SIG.Web/[Bb]in/
+!SIG.Web/[Bb]in/**
[Oo]bj/
[Dd]ebug/
[Rr]elease/
diff --git a/240722_Formato Alta Lotes_AP+ALC_CANT 2da ET_HMO_Red Interna_ET 1_259viv_AGUAHH.xlsx b/240722_Formato Alta Lotes_AP+ALC_CANT 2da ET_HMO_Red Interna_ET 1_259viv_AGUAHH.xlsx
new file mode 100644
index 0000000..079b119
Binary files /dev/null and b/240722_Formato Alta Lotes_AP+ALC_CANT 2da ET_HMO_Red Interna_ET 1_259viv_AGUAHH.xlsx differ
diff --git a/AGENTS.md b/AGENTS.md
index 5b8669e..a51874d 100644
--- a/AGENTS.md
+++ b/AGENTS.md
@@ -53,6 +53,25 @@ Database
---
+## Source code readability rules
+
+All generated or modified source code must be formatted for human maintenance.
+
+- Do not compress multiple controls, HTML elements, CSS rules, SQL clauses, assignments, conditions, or statements onto one line merely to reduce file length.
+- Use consistent indentation and line breaks that make nesting and control flow visible.
+- Put independent C# statements on separate lines. Expand non-trivial `if`, loops, object initializers, method calls, and methods across multiple lines.
+- In ASPX/HTML, place nested elements and server controls on separate indented lines. Keep attributes readable; wrap long declarations across lines.
+- Format CSS with one declaration per line for page-specific styles. Format JavaScript and SQL using the same readability principle.
+- Prefer clear diffs and easy future editing over compact generated output.
+- The command rule requiring one-line PowerShell or terminal commands applies only to commands. It does not apply to C#, ASPX, HTML, CSS, JavaScript, SQL, XML, or configuration source.
+
+## Agent instruction file maintenance rules
+
+- Before modifying `AGENTS.md` or any complementary `AGENTS_*.md` file, read the existing file and apply only the smallest required addition or correction.
+- Do not rewrite or replace an entire agent instruction file unless the user explicitly requests a complete rewrite.
+- Preserve existing user-authored rules, terminology, capitalization, examples, and formatting outside the requested change.
+- When adding a rule, first verify whether an equivalent or conflicting rule already exists and update only the relevant section.
+
## Command rules
When giving commands for this project:
@@ -88,7 +107,7 @@ Use this base structure:
```text
SIG.Web/
- AppCode/
+ App_Code/
Infrastructure/
Sql/
Repositories/
@@ -114,10 +133,14 @@ SIG.Web/
Rules:
+- The active application uses the ASP.NET Web Site runtime-compilation model.
+- Shared C# source belongs in the exact special folder `App_Code`.
+- Pages, master pages, controls, handlers, and `Global.asax` use `CodeFile` or source compiled from `App_Code`; do not introduce new `CodeBehind` dependencies on `SIG.Web.dll`.
+- Keep third-party and external assemblies in `bin`, but do not build or deploy a project assembly named `SIG.Web.dll`.
- Do not place database access directly inside `.aspx.cs`, `.ascx.cs`, or `Site.master.cs`.
- Database-related helpers go under `App_Code/Sql` or a clearly named SQL/data folder.
- Business access goes through `Contracts` and `Services`.
-- If the project file needs explicit compilation entries, include C# files recursively, for example `App_Code\**\*.cs`, but avoid duplicate compile entries that include the same file twice.
+- The active Web Site does not use explicit project compilation entries; C# files under `App_Code` compile automatically at runtime.
---
@@ -282,6 +305,19 @@ Do not mix placeholder naming systems in the same project.
---
+## WebForms tab and page-state rules
+
+- Register AjaxControlToolkit once in `Web.config` under `system.web/pages/controls` with the exact prefix `ajax`; do not add `<%@ Register ... %>` directives for it in individual pages.
+- AjaxControlToolkit controls must use the `ajax:` prefix, for example `ajax:TabContainer` and `ajax:TabPanel`; do not use `ajaxToolkit:` or another page-specific prefix.
+- Tabs in WebForms pages must use `ajax:TabContainer` and `ajax:TabPanel`; do not build page tabs with Bootstrap `nav-tabs`, custom hidden panels, or JavaScript-only tab switching.
+- Use the `ScriptManager` owned by `Site.master` and the existing AjaxControlToolkit resources. Do not add another `ScriptManager` or duplicate Toolkit scripts/styles.
+- Server-side page state such as current entity keys, selected child keys, editing mode, flags, and the active tab must be stored in typed `ViewState` properties when it must survive postback.
+- Do not add `asp:HiddenField` merely to preserve server-side state across postbacks. A hidden field is allowed only when client-side JavaScript must read or change the value.
+- Hidden-field values are client-controlled and must never be trusted for authorization or sensitive decisions; validate them again on the server when their use is unavoidable.
+- Keep ViewState values small and serializable. Do not store database connections, commands, readers, services, repositories, or unnecessarily large result sets in ViewState.
+- ViewState property and key names must identify the entity and purpose, for example `CveFraccionamientoActual` and `CveFraccionamientoEtapaActual`.
+
+---
## Login and session rules
Authentication must go through a contract.
@@ -358,6 +394,23 @@ Rules:
---
+## Repository ownership rules
+
+Repository ownership is determined by the data domain and stored-procedure prefix, not by the page or feature that currently consumes the data.
+
+- Procedures named `PA_Gral_*` belong behind contracts and repositories under `Contracts/General` and `Repositories/General`.
+- General catalogs such as states, countries, municipalities, neighborhoods, and postal codes must not be placed in a security, registration, sales, or page-specific repository.
+- A feature service such as public registration may orchestrate both its feature repository and `IGeneralCatalogRepository`, but it must not move general catalog access into the feature repository.
+- Apply the same ownership rule to future procedure families: `PA_Sis_*` belongs to security/system infrastructure, `PA_Tra_*` to procedures, `PA_Vta_*` to sales, and so on.
+
+## Database executor ownership rules
+
+- `IDbExecutor`, `DbExecutor`, `StoredProcedureCommand`, `IDbCommand`, and direct stored-procedure execution may only be used inside classes under `Repositories` or repository database infrastructure.
+- Services must not reference or receive `IDbExecutor`, create database commands, execute readers, or call stored procedures directly.
+- A service that needs persisted data must depend on a repository contract. The concrete repository receives `IDbExecutor` and owns parameter configuration and result mapping.
+- Keep the `DbExecutor` implementation under `Repositories/Database`; do not place it under `Services` or expose it publicly through `AppServices`.
+
+---
## Service rules
Services belong in `/Services`.
@@ -379,6 +432,12 @@ Rules:
- Services may depend on SQL helpers/repositories.
- `.aspx.cs` files should be thin and delegate work to services.
- Keep dummy services separate from SQL-backed services.
+- Services own application transactions when one business operation performs one or more repository mutations.
+- Use `TransactionLogic` inside a `using` block around the repository calls and invoke `Commit()` only after every required repository result succeeds.
+- Pages and repositories must not create, commit, roll back, or dispose application transactions.
+- Repositories participate through the ambient `TransactionScope`; connection strings used for transactional work must not set `Enlist=false`.
+- Select `TransactionScopeOption`, isolation level, and timeout in the service according to the business operation. Use `RequiresNew` or `Suppress` only when that behavior is intentional and documented by the call site.
+- Do not include slow external operations such as SMTP or HTTP calls inside a database transaction.
---
@@ -428,15 +487,20 @@ Rules:
- Do not create `SqlCommand` directly in `.aspx.cs`.
- Use repositories or SQL executor classes behind contracts.
- All application database reads and writes must use stored procedures; inline SQL in C# is prohibited.
-- Mandatory: read and follow `AGENTS_STORED_PROCEDURES.md` for naming, output parameters, TRY/CATCH, logging, transactions, and logical deletion.
+- Mandatory: read and follow `AGENTS_STORED_PROCEDURES.md` for naming, output parameters, TRY/CATCH, logging, transactions, and physical deletion.
- Mandatory: read and follow `AGENTS_DATA_READER_MAPPING.md` for object, list, `DataTable`, and `JArray` result mapping.
- Mandatory: read and follow `AGENTS_DATABASE_ERROR_LOGGING.md` for safe parameter logging and reproducible stored-procedure calls.
- Mandatory: read and follow `AGENTS_PAGE_STRUCTURE.md` for the `Pages/Modulo/` location of all new WebForms pages.
- Mandatory: read and follow `AGENTS_WEBFORMS_PARTIAL_POSTBACKS.md` for the single master form, ScriptManager ownership, UpdatePanel usage, and partial-postback rules.
- Mandatory: read and follow `AGENTS_JAVASCRIPT_INITIALIZATION.md` for per-element initialization flags, global event guards, and idempotent control setup after partial postbacks.
+- Mandatory: read and follow `AGENTS_CATALOG_STRUCTURE.md` for catalog titles, breadcrumbs, actions, filters, indicators, grids, quick-create modals, and detail pages.
- Keep stored procedure names centralized.
- Repositories must use `CommandType.StoredProcedure` and parameterized inputs/outputs.
- Never concatenate raw user input into SQL.
+- The database default collation and general text columns must use `Modern_Spanish_CS_AS`.
+- Columns named `Codigo`, beginning with `Codigo`, or containing a real user login identifier such as `NombreUsuario`, `UsuarioPortal`, or `Acum_PortalUsuario` must use `Modern_Spanish_CI_AS`.
+- `AgenteUsuario` is browser/device metadata, not a login identifier, and must use the general `Modern_Spanish_CS_AS` collation.
+- Do not use `Modern_Spanish_CS_AI`.
Recommended Web.config connection string pattern:
@@ -582,6 +646,8 @@ Rules:
- Do not build the menu from SQL inside `Site.master.cs`.
- Menu items should use `MenuItemModel` or an equivalent model.
- Encode text output when generating HTML menu strings.
+- Module visibility and page access are separate concerns: `Sis_Modulos.Visible` controls whether an item is shown in the menu, but it must not deny direct page access.
+- `PA_Sis_PaginaAccessCheck` must validate role assignment, `PuedeVer`, active state, and URL. It must not require `Sis_Modulos.Visible = 1`.
---
@@ -622,15 +688,42 @@ MasterLayoutModel
## Error handling rules
+Controlled outcomes and technical failures must use different logs.
+
+- `@ErrorTipo = 1`, SQL exceptions, timeouts, contract failures, and unexpected exceptions go to the main technical log.
+- `@ErrorTipo = 2` is a controlled warning. It must not be written to the main technical log.
+- Controlled warnings go to daily compact files under `~/log/controlled`.
+- Controlled log files retain only the current day and the previous two days. The retention is configured with `ControlledLogRetentionDays = 3`.
+- Explicit controlled throws must use `ControlledApplicationException`; do not classify arbitrary `Exception` or `InvalidOperationException` instances as controlled.
+- Controlled logs record date, source, procedure, URL, and friendly message, but omit full stack traces and replay SQL to remain compact.
+- A controlled exception must still return a friendly result to the page and must never be presented as an unexpected application failure.
+
- Handle null session user cleanly and redirect to login.
- Handle failed login with a friendly message.
- Handle async postback errors through `ScriptManager.AsyncPostBackError` only if the handler exists.
- Avoid infinite loading states in JavaScript controls.
- For AJAX/server search controls, use client and server timeouts.
- Recommended default search timeout: about 20 to 30 seconds unless the user asks otherwise.
+## Action availability and feedback rules
+
+- Do not disable a button or primary action only because a business prerequisite is missing, such as an unassigned client or an empty related catalog.
+- Keep the action available by default; when the user clicks it, validate the prerequisite and show a clear message explaining why the operation cannot continue and what must be done next.
+- Never leave a disabled action without an immediately visible explanation.
+- Before adding `Enabled="false"`, the HTML `disabled` attribute, or an equivalent disabled CSS/JavaScript state to a catalog or page action, ask the user whether disabling is acceptable or whether a message, modal, link, or other alternative should be used.
+- A transient disabled state used only while a request is being processed to prevent duplicate submissions is allowed, but the action must be restored when processing finishes.
---
+## Grid display rules
+
+- Every new or modified `asp:GridView` must declare `GridLines="None"`.
+- Its `CssClass` must include the exact utility class `Widthall` so the grid uses the full available width.
+- Do not add `table-bordered` to a GridView. Existing visual classes such as `table`, `table-striped`, and `table-hover` may be retained when appropriate.
+- Keep GridView declarations and their columns expanded and indented according to the source code readability rules.
+- Detail-page navigation from a GridView or list must use `asp:HyperLink` or another real link with `NavigateUrl`; do not use `LinkButton`, `RowCommand`, or a postback only to open a detail page.
+- URL-building variables and helpers must describe the row entity, for example `cveFraccionamiento`, `fraccionamientoDetalleUrl`, or `GetFraccionamientoDetalleUrl`. Avoid generic names such as `id`, `itemUrl`, or `detailUrl` when the entity is known.
+
+---
## JavaScript and CSS rules
- Global scripts/styles must be registered in `BundleConfig` and rendered by master.
@@ -673,6 +766,20 @@ If the PDF viewer is added to this project later:
Use only one active home page convention.
+For local development, the canonical home URL is:
+
+```text
+http://localhost:52706/Inicio.aspx
+```
+
+The application root must be equivalent and redirect explicitly to that page:
+
+```text
+http://localhost:52706/ -> http://localhost:52706/Inicio.aspx
+```
+
+Keep the root redirect and the `Inicio.aspx` default document consistent. Do not introduce another startup page.
+
Allowed options:
```text
diff --git a/AGENTS_CATALOG_STRUCTURE.md b/AGENTS_CATALOG_STRUCTURE.md
new file mode 100644
index 0000000..49f6e91
--- /dev/null
+++ b/AGENTS_CATALOG_STRUCTURE.md
@@ -0,0 +1,116 @@
+# Reglas obligatorias para páginas de catálogo
+
+Estas reglas complementan `AGENTS.md`, `AGENTS_PAGE_STRUCTURE.md`, `AGENTS_WEBFORMS_PARTIAL_POSTBACKS.md` y `AGENTS_JAVASCRIPT_INITIALIZATION.md`.
+
+## Estructura visual
+
+Toda página de catálogo debe organizarse, en este orden:
+
+1. Título de la página.
+2. Barra de navegación ascendente y menú de acciones.
+3. Barra o control de filtros.
+4. Sección opcional de cabecera con indicadores o resúmenes.
+5. Grid o contenido principal.
+
+- El título, breadcrumb y contenedor de acciones pertenecen a `Site.master`; no deben duplicarse en cada ASPX.
+- La barra de navegación debe mostrar la jerarquía ascendente hasta la página actual, por ejemplo `Inicio > Desarrolladores > Fraccionamientos`.
+- La master debe exponer un `ContentPlaceHolder` de acciones dentro de un `
`; las páginas insertan elementos `
` o un `UpdatePanel` que produzca esos elementos.
+- Las acciones principales del catálogo, como agregar, exportar o imprimir, deben colocarse en ese menú cuando corresponda.
+
+## Filtros
+
+- Los catálogos deben usar el control reutilizable de filtros activos; no construir una barra distinta en cada página.
+- El control muestra los filtros aplicados y permite abrir un modal para seleccionarlos o modificarlos.
+- Los combos, buscadores y demás campos de selección pertenecen al modal de filtros.
+- Todo `asp:DropDownList` nuevo de una página de catálogo debe incluir la clase `select2me`, además de sus clases visuales necesarias.
+- Los filtros aplicados deben describirse con texto comprensible y permitir retirarse o limpiarse.
+- La búsqueda debe volver a enlazar indicadores y contenido principal con el mismo conjunto de filtros.
+- El control reutilizable de filtros debe permanecer como server control de C#, conservar la imagen de chips y toolbar acordada, y exponer un evento `Consultar` para que cada página ejecute su propia búsqueda.
+- Los estilos del control de filtros pertenecen a `Styles/Filtros.css` y deben registrarse en el bundle global; no duplicarlos en `Estilos2.css`, en páginas ASPX ni registrarlos desde el control.
+- El control debe reconstruir sus hijos con IDs estables y conservar su estado y eventos al trabajar dentro de un `UpdatePanel`; no debe registrar scripts globales ni crear otro `ScriptManager`.
+
+## Presentación de grids
+
+- Todo `asp:GridView` nuevo o modificado debe declarar `GridLines="None"`.
+- Su `CssClass` debe incluir la clase exacta `Widthall`.
+- No usar la clase `table-bordered` en grids de catálogo o detalle.
+- Se pueden conservar `table`, `table-striped` y `table-hover` cuando correspondan al diseño.
+
+## Ordenamiento manual de catálogos
+
+- Cuando una tabla de catálogo tenga el campo `Orden`, no mostrar ese campo en formularios, modales ni columnas del grid.
+- En el alta, el procedimiento almacenado asigna `ISNULL(MAX(Orden), 0) + 1`; cuando el orden dependa de una entidad padre, calcular el máximo únicamente dentro de ese padre.
+- Las modificaciones ordinarias conservan el orden existente. Si el registro cambia de padre, asignarle el siguiente orden disponible dentro del nuevo padre.
+- El procedimiento de listado ordena primero por `Orden` y después por un campo descriptivo estable.
+- El grid permite reordenar filas mediante arrastre y muestra únicamente un asa visual; no muestra el valor numérico de `Orden`.
+- El reordenamiento usa un procedimiento almacenado dedicado, valida en servidor el registro, la referencia y su pertenencia al mismo padre, y se ejecuta mediante repositorio y servicio.
+- Todo cambio de orden se registra mediante `IBitacoraService` dentro de la misma transacción de aplicación que actualiza el catálogo.
+- La inicialización del arrastre debe ser idempotente y volver a ejecutarse después de postbacks parciales sin duplicar eventos.
+## Indicadores y contenido
+
+- La sección de cabecera es opcional; se usa cuando existen indicadores útiles como totales, activos, pendientes, etapas o avances.
+- No agregar tarjetas decorativas sin información funcional.
+- El grid o contenido principal siempre aparece después de filtros e indicadores.
+- Los estados vacíos deben explicar que no existen registros para los filtros actuales.
+
+## Mensajes originados en modales
+
+- Los labels dentro del modal se reservan para validaciones de captura conocidas, como campos requeridos, formatos inválidos o valores que el usuario puede corregir directamente.
+- Las reglas de negocio, resultados de servicios, errores técnicos, confirmaciones y mensajes de éxito deben mostrarse mediante el sistema central de alertas, aunque la acción se haya iniciado dentro del modal.
+- Cuando guardar falle, el modal debe conservar los valores y permanecer abierto o volver a abrirse; la alerta debe mostrarse por encima del overlay.
+- Un guardado exitoso puede cerrar el modal y mostrar un toast. Las alertas deben encolarse para no sobreponerse.
+- La misma regla aplica durante postbacks completos y parciales con `UpdatePanel`.
+## Navegación a páginas de detalle
+
+- Cuando una fila abre una página de detalle, usar `asp:HyperLink` con `NavigateUrl` o un enlace HTML real.
+- No usar `LinkButton`, `CommandName`, `RowCommand` ni postback únicamente para navegar al detalle.
+- Los nombres de controles, métodos y variables deben identificar la entidad de la fila, por ejemplo `LnkFraccionamientoDetalle`, `cveFraccionamiento` y `fraccionamientoDetalleUrl`.
+- Reservar los comandos con postback para operaciones de servidor como guardar, eliminar, activar o ejecutar una acción de negocio.
+## Pestañas y estado de página
+
+- AjaxControlToolkit debe registrarse globalmente en `Web.config` con el prefijo exacto `ajax`; no agregar directivas `<%@ Register ... %>` en cada página.
+- Las pestañas de catálogos y páginas de detalle deben implementarse con `ajax:TabContainer` y `ajax:TabPanel`.
+- No crear pestañas funcionales mediante `nav-tabs` de Bootstrap, paneles ocultos manualmente o navegación JavaScript independiente del ciclo de vida de WebForms.
+- Las claves y modos internos que deban sobrevivir postback se conservan en propiedades tipadas de `ViewState`.
+- No usar `asp:HiddenField` para estado exclusivamente del servidor. Reservarlo para valores que JavaScript necesite leer o modificar y validarlos nuevamente en el servidor.
+- Los nombres de las propiedades ViewState deben describir la entidad, por ejemplo `CveFraccionamientoActual` y `CveFraccionamientoEtapaActual`.
+## Alta rápida y detalle
+
+- Antes de implementar un catálogo se debe definir si agregar y editar usarán modal, página de detalle o ambas modalidades.
+- La captura rápida se realiza en modal y contiene únicamente los campos necesarios para crear el registro.
+- Cuando el alta tenga modalidad básica y avanzada, el modal debe incluir un botón `Avanzado` que navegue a la página completa.
+- Cuando editar requiera relaciones, historial, etapas, documentos, trámites o estados, debe abrir una página de detalle en lugar de sobrecargar el modal.
+- La página de detalle puede editar la información principal y administrar sus relaciones en secciones o pestañas claramente identificadas.
+- No asumir automáticamente que alta y edición usan la misma interfaz.
+
+## Bitácora de catálogos
+
+- Toda alta, modificación, activación, desactivación o eliminación de un catálogo debe registrarse mediante `IBitacoraService` dentro de la misma transacción de aplicación que la operación principal.
+- El servicio confirma la transacción únicamente después de guardar correctamente la operación y toda su bitácora. Un fallo del encabezado, relaciones o campos revierte también la operación principal.
+- No registrar consultas, búsquedas, filtros, paginación ni visualizaciones de detalle sin cambios.
+- El servicio del catálogo construye el evento; el ASPX, su code-behind y los repositorios de negocio no deben registrar la bitácora directamente.
+- `Bit_Bitacora` guarda el encabezado del movimiento. Cada evento debe enviar una lista genérica de relaciones formada por tabla, campo y valor; el procedimiento resuelve `CveTabla`, `CveCampo` y si el valor se almacena como número entero o texto.
+- Los catálogos ligados a un cliente deben incluir una relación para la entidad afectada y otra para `Clientes.CveCliente`. Cada relación declara explícitamente `VisibleDesarrollador`.
+- Las altas envían todos los campos auditables y establecen `DiscriminarCamposSinCambios = false`.
+- Las modificaciones envían valor anterior y nuevo de los campos candidatos; `DiscriminarCamposSinCambios = true` es el valor predeterminado y guarda únicamente los campos que realmente cambiaron, distinguiendo correctamente entre `NULL` y texto vacío.
+- Las eliminaciones registran encabezado y relaciones, pero no requieren registros en `Bit_BitacoraCampos`.
+- Nunca registrar contraseñas, hashes, tokens, secretos ni otros valores sensibles en los campos de bitácora.
+- Para consultar la bitácora, `SuperUsuario` y `Administrador` pueden ver todos los registros. El rol `Empresa` se considera desarrollador y sólo puede ver eventos con una relación `Clientes.CveCliente` visible que coincida con cualquiera de sus clientes activos en `Sis_UsuariosClientes`.
+- Antes de liberar un catálogo nuevo, sus tablas y campos auditables deben estar registrados y activos en `Bit_Tablas` y `Bit_Campos`, junto con el script de configuración correspondiente.
+## Regla actual para fraccionamientos
+
+- `Agregar fraccionamiento` usa captura rápida en modal.
+- `Editar` o `Ver detalle` navega a una página dedicada.
+- El detalle muestra la información del fraccionamiento, sus etapas, los trámites asociados a cada etapa y el último estado disponible, incluyendo estados finales como cancelado o terminado cuando existan.
+
+## Legibilidad del código
+
+- El ASPX, C#, CSS y JavaScript del catálogo debe conservar sangría y saltos de línea legibles.
+- No colocar grids, columnas, modales, controles anidados, validaciones ni varios statements C# en una sola línea.
+- Los archivos deben quedar preparados para que otro programador pueda localizar y modificar una sección sin tener que reformatearla primero.
+## WebForms
+
+- Los modales permanecen dentro del único formulario de `Site.master`; ninguna página declara un formulario adicional.
+- Los eventos de botones dentro de acciones o modales siguen pasando por code-behind delgado, servicios, contratos, repositorios y procedimientos almacenados.
+- Después de un postback parcial, Select2 y los modales deben reinicializarse de manera idempotente según `AGENTS_JAVASCRIPT_INITIALIZATION.md`.
+- No copiar VB del sistema anterior; sólo usarlo como referencia funcional y reconstruir la solución en C#.
diff --git a/AGENTS_DATABASE_ERROR_LOGGING.md b/AGENTS_DATABASE_ERROR_LOGGING.md
index 0880e85..0a32fb6 100644
--- a/AGENTS_DATABASE_ERROR_LOGGING.md
+++ b/AGENTS_DATABASE_ERROR_LOGGING.md
@@ -56,8 +56,18 @@ SELECT @ErrorMostrar, @ErrorTipo, @Return;
- Los mensajes `RAISERROR` de severidad 10 pueden registrarse mediante `SqlConnection.InfoMessage` sin activar esa opción.
- Si `@Return`, `@ErrorTipo` y `@ErrorMostrar` regresan sin valor, registrar que la versión instalada del PA no devolvió el contrato requerido.
+## Clasificación y retención
+
+- `@ErrorTipo = 1` representa un error técnico o funcional que requiere atención. Debe conservarse en el log técnico principal con el diagnóstico y `ReplaySql`.
+- `@ErrorTipo = 2` representa una advertencia o resultado controlado, por ejemplo un código postal inexistente. No debe escribirse en el log técnico principal.
+- Las advertencias controladas se registran en archivos diarios `log/controlled/controlled-AAAA-MM-DD.log`.
+- Los archivos controlados conservan exactamente tres días calendario: el actual y los dos anteriores. Los más antiguos se eliminan automáticamente al escribir el siguiente evento.
+- El log controlado es compacto: fecha, origen, procedimiento, URL, mensaje amigable y tipo de excepción. No incluye stack trace completo, parámetros ni `ReplaySql`.
+- Un `throw` deliberadamente controlado debe usar `ControlledApplicationException`; el clasificador no debe convertir excepciones técnicas genéricas en eventos controlados.
+- Si `@ErrorTipo` es `0` pero `@Return` es falso, tratarlo como incumplimiento del contrato y enviarlo al log principal.
+
## Alcance
-- Registrar parámetros detallados sólo cuando exista un error o advertencia que requiera diagnóstico.
+- Registrar parámetros detallados y `ReplaySql` únicamente para `@ErrorTipo = 1` o fallas técnicas; las advertencias controladas usan el registro compacto sin parámetros.
- No registrar cada ejecución exitosa de manera predeterminada.
- No usar el log como auditoría de operaciones exitosas; la auditoría pertenece a su propio contrato o procedimiento.
diff --git a/AGENTS_STORED_PROCEDURES.md b/AGENTS_STORED_PROCEDURES.md
index 0a7d953..53cd3fe 100644
--- a/AGENTS_STORED_PROCEDURES.md
+++ b/AGENTS_STORED_PROCEDURES.md
@@ -43,21 +43,22 @@ Todos los procedimientos deben declarar:
## Control de errores
- Usar `SET NOCOUNT ON` y `TRY/CATCH` en todos los procedimientos.
-- Usar `SET XACT_ABORT ON` cuando exista una mutación o transacción.
-- Iniciar la transacción dentro de `TRY`, confirmar sólo después del éxito y ejecutar rollback en `CATCH` cuando `XACT_STATE() <> 0`.
+- Los procedimientos no deben usar `SET XACT_ABORT ON`, `BEGIN TRANSACTION`, `COMMIT TRANSACTION`, `ROLLBACK TRANSACTION` ni modificar una transacción recibida.
+- La transacción pertenece a la capa de servicio en C#, que debe usar `TransactionLogic` dentro de `using` al coordinar las llamadas a repositorios.
+- El servicio llama `Commit()` solamente cuando todas las operaciones requeridas terminan correctamente. Un fallo, excepción o salida sin `Commit()` debe permitir que `Dispose()` revierta la transacción ambiental.
- Una validación fallida debe establecer los parámetros de salida y ejecutar `RETURN`; no debe continuar la mutación.
- Para validar existencia, usar normalmente `EXISTS` en lugar de `COUNT(*)`.
- En `CATCH`, generar un mensaje técnico separado con `ERROR_NUMBER()`, `ERROR_PROCEDURE()`, `ERROR_LINE()` y `ERROR_MESSAGE()` para el log.
- El mensaje técnico puede notificarse con severidad informativa para que el ejecutor lo registre, pero nunca debe mostrarse directamente al usuario.
-## Borrado lógico
+## Borrado físico
-- Está prohibido usar `DELETE` físico en procedimientos CRUD normales.
-- Para borrar: `Borrado = 1` y `FechaBorrado = SYSDATETIME()`.
-- Para restaurar: `Borrado = 0` y `FechaBorrado = NULL`.
-- Las consultas normales deben filtrar `Borrado = 0` en cada tabla participante, excepto cuando el caso de uso solicite expresamente registros borrados.
-- La eliminación permanente sólo puede realizarse mediante el procedimiento controlado de retención y limpieza.
-- Ninguna página ASPX puede llamar directamente a la limpieza física.
+- La base de datos no utiliza las columnas `Borrado` ni `FechaBorrado`; no deben agregarse a tablas, modelos, consultas ni procedimientos nuevos.
+- Las operaciones de eliminación deben usar `DELETE` físico dentro de un procedimiento almacenado.
+- Antes de eliminar, validar las relaciones que deban conservarse. Si existen dependencias que impiden la operación, devolver una advertencia controlada con `@ErrorTipo = 2` y un mensaje claro.
+- Las eliminaciones de una entidad con hijos propios deben ejecutarse en orden, desde los hijos hasta el padre. El servicio que invoque el procedimiento debe envolver la operación en una transacción de aplicación.
+- No deshabilitar constraints ni eliminar información relacionada que pertenezca a otro proceso únicamente para permitir el `DELETE`.
+- Las páginas ASPX continúan llamando contratos y servicios; nunca deben ejecutar `DELETE` directamente.
## Plantilla requerida
@@ -71,8 +72,6 @@ CREATE OR ALTER PROCEDURE [dbo].[PA_Sis_RolAdd]
AS
BEGIN
SET NOCOUNT ON;
- SET XACT_ABORT ON;
-
SELECT
@ErrorMostrar = NULL,
@ErrorTipo = 0,
@@ -84,7 +83,6 @@ BEGIN
SELECT 1
FROM dbo.Sis_Roles
WHERE NombreRol = @Rol
- AND Borrado = 0
)
BEGIN
SET @ErrorMostrar = CONCAT('El rol ''', @Rol, ''' ya se encuentra registrado.');
@@ -100,9 +98,6 @@ BEGIN
SET @Return = 1;
END TRY
BEGIN CATCH
- IF XACT_STATE() <> 0
- ROLLBACK TRANSACTION;
-
SET @ErrorMostrar = 'Ocurrió un error al agregar el rol; favor de contactar a Sistemas.';
SET @ErrorTipo = 1;
SET @Return = 0;
@@ -120,4 +115,4 @@ END;
GO
```
-Cuando el procedimiento use una transacción, debe incluir `BEGIN TRANSACTION` dentro de `TRY` y `COMMIT TRANSACTION` antes de establecer `@Return = 1`.
+Aunque un procedimiento ejecute varias escrituras, no debe administrar la transacción. La atomicidad se define en el servicio que coordina los repositorios.
diff --git a/AGUAHH.zip b/AGUAHH.zip
new file mode 100644
index 0000000..fa2d0af
Binary files /dev/null and b/AGUAHH.zip differ
diff --git a/AP01-CANTABRIA2 ETAPA 1-20250917-v03.dwg b/AP01-CANTABRIA2 ETAPA 1-20250917-v03.dwg
new file mode 100644
index 0000000..31a9aa6
Binary files /dev/null and b/AP01-CANTABRIA2 ETAPA 1-20250917-v03.dwg differ
diff --git a/Bitacora_Procedimientos.sql b/Bitacora_Procedimientos.sql
new file mode 100644
index 0000000..7864c7c
--- /dev/null
+++ b/Bitacora_Procedimientos.sql
@@ -0,0 +1,1114 @@
+/*
+ Configuración y procedimientos actuales de la bitácora.
+ La bitácora participa en la transacción ambiental de la operación principal.
+*/
+
+SET NOCOUNT ON;
+GO
+
+IF COL_LENGTH('dbo.Bit_Campos', 'TipoDatoSQL') IS NULL
+BEGIN
+ ALTER TABLE dbo.Bit_Campos
+ ADD TipoDatoSQL varchar(128) COLLATE Modern_Spanish_CS_AS NULL;
+END;
+GO
+
+IF COL_LENGTH('dbo.Bit_BitacoraRelaciones', 'VisibleDesarrollador') IS NULL
+BEGIN
+ ALTER TABLE dbo.Bit_BitacoraRelaciones
+ ADD VisibleDesarrollador bit NOT NULL
+ CONSTRAINT DF_Bit_BitacoraRelaciones_VisibleDesarrollador
+ DEFAULT (0);
+END;
+GO
+
+IF NOT EXISTS
+(
+ SELECT 1
+ FROM sys.indexes
+ WHERE object_id = OBJECT_ID('dbo.Bit_BitacoraRelaciones')
+ AND name = 'IX_Bit_BitacoraRelaciones_Filtro'
+)
+BEGIN
+ CREATE NONCLUSTERED INDEX IX_Bit_BitacoraRelaciones_Filtro
+ ON dbo.Bit_BitacoraRelaciones
+ (
+ CveTablaRelacionada,
+ CveCampoRelacion,
+ ValorRelacionNumero,
+ VisibleDesarrollador,
+ CveBitacora
+ )
+ INCLUDE
+ (
+ ValorRelacionTexto,
+ LlaveRegistroRelacionada
+ );
+END;
+GO
+
+IF NOT EXISTS
+(
+ SELECT 1
+ FROM sys.indexes
+ WHERE object_id = OBJECT_ID('dbo.Bit_BitacoraRelaciones')
+ AND name = 'IX_Bit_BitacoraRelaciones_FiltroTexto'
+)
+BEGIN
+ CREATE NONCLUSTERED INDEX IX_Bit_BitacoraRelaciones_FiltroTexto
+ ON dbo.Bit_BitacoraRelaciones
+ (
+ CveTablaRelacionada,
+ CveCampoRelacion,
+ ValorRelacionTexto,
+ VisibleDesarrollador,
+ CveBitacora
+ )
+ INCLUDE
+ (
+ ValorRelacionNumero,
+ LlaveRegistroRelacionada
+ );
+END;
+GO
+DECLARE @Tablas TABLE
+(
+ NombreTablaSQL varchar(128) COLLATE Modern_Spanish_CS_AS NOT NULL,
+ NombreMostrar varchar(150) COLLATE Modern_Spanish_CS_AS NOT NULL,
+ Descripcion varchar(500) COLLATE Modern_Spanish_CS_AS NULL,
+ NombreCampoLlaveSQL varchar(128) COLLATE Modern_Spanish_CS_AS NULL
+);
+
+INSERT INTO @Tablas
+(
+ NombreTablaSQL,
+ NombreMostrar,
+ Descripcion,
+ NombreCampoLlaveSQL
+)
+VALUES
+ ('Clientes', 'Clientes', 'Clientes propietarios de la información.', 'CveCliente'),
+ ('Fraccionamientos', 'Fraccionamientos', 'Catálogo de fraccionamientos.', 'CveFraccionamiento'),
+ ('FraccionamientosEtapas', 'Etapas', 'Etapas de los fraccionamientos.', 'CveFraccionamientoEtapa'),
+ ('FraccionamientosLotes', 'Lotes', 'Lotes de las etapas.', 'CveFraccionamientoLote'),
+ ('Sis_Usuarios', 'Usuarios', 'Usuarios del sistema.', 'CveUsuario'),
+ ('Sis_UsuariosClientes', 'Clientes por usuario', 'Asignaciones de clientes a usuarios.', NULL);
+
+UPDATE T
+SET
+ T.NombreMostrar = S.NombreMostrar,
+ T.Descripcion = S.Descripcion,
+ T.NombreCampoLlaveSQL = S.NombreCampoLlaveSQL,
+ T.Activo = 1,
+ T.FechaMod = GETDATE()
+FROM dbo.Bit_Tablas AS T
+INNER JOIN @Tablas AS S
+ ON S.NombreTablaSQL = T.NombreTablaSQL;
+
+INSERT INTO dbo.Bit_Tablas
+(
+ NombreTablaSQL,
+ NombreMostrar,
+ Descripcion,
+ NombreCampoLlaveSQL,
+ Activo
+)
+SELECT
+ S.NombreTablaSQL,
+ S.NombreMostrar,
+ S.Descripcion,
+ S.NombreCampoLlaveSQL,
+ 1
+FROM @Tablas AS S
+WHERE NOT EXISTS
+(
+ SELECT 1
+ FROM dbo.Bit_Tablas AS T
+ WHERE T.NombreTablaSQL = S.NombreTablaSQL
+);
+GO
+
+DECLARE @Campos TABLE
+(
+ NombreTablaSQL varchar(128) COLLATE Modern_Spanish_CS_AS NOT NULL,
+ NombreCampoSQL varchar(128) COLLATE Modern_Spanish_CS_AS NOT NULL,
+ NombreMostrar varchar(150) COLLATE Modern_Spanish_CS_AS NOT NULL,
+ MostrarEnBitacora bit NOT NULL
+);
+
+INSERT INTO @Campos
+(
+ NombreTablaSQL,
+ NombreCampoSQL,
+ NombreMostrar,
+ MostrarEnBitacora
+)
+VALUES
+ ('Clientes', 'CveCliente', 'Cliente', 0),
+ ('Fraccionamientos', 'CveFraccionamiento', 'Clave de fraccionamiento', 0),
+ ('Fraccionamientos', 'CveCliente', 'Cliente', 1),
+ ('Fraccionamientos', 'Fraccionamiento', 'Fraccionamiento', 1),
+ ('Fraccionamientos', 'Hectareas', 'Hectáreas', 1),
+ ('Fraccionamientos', 'Ubicacion', 'Ubicación', 1),
+ ('Fraccionamientos', 'CveEstatus', 'Estatus', 1),
+ ('Fraccionamientos', 'EsActivo', 'Activo', 1),
+ ('FraccionamientosEtapas', 'CveFraccionamientoEtapa', 'Clave de etapa', 0),
+ ('FraccionamientosEtapas', 'CveFraccionamiento', 'Fraccionamiento', 1),
+ ('FraccionamientosEtapas', 'Etapa', 'Etapa', 1),
+ ('FraccionamientosEtapas', 'Hectareas', 'Hectáreas', 1),
+ ('FraccionamientosEtapas', 'Orden', 'Orden', 1),
+ ('FraccionamientosEtapas', 'EsActivo', 'Activo', 1),
+ ('FraccionamientosLotes', 'CveFraccionamientoLote', 'Clave de lote', 0),
+ ('FraccionamientosLotes', 'CveFraccionamientoEtapa', 'Etapa', 1),
+ ('FraccionamientosLotes', 'Numero', 'Número', 1),
+ ('FraccionamientosLotes', 'Tipo', 'Tipo', 1),
+ ('FraccionamientosLotes', 'Calle', 'Calle', 1),
+ ('FraccionamientosLotes', 'Catastro', 'Catastro', 1),
+ ('FraccionamientosLotes', 'MetrosCuadrados', 'Metros cuadrados', 1),
+ ('FraccionamientosLotes', 'Duplicador', 'Duplicador', 1),
+ ('FraccionamientosLotes', 'EsActivo', 'Activo', 1),
+ ('Sis_Usuarios', 'CveUsuario', 'Clave de usuario', 0),
+ ('Sis_Usuarios', 'NombreUsuario', 'Usuario', 1),
+ ('Sis_Usuarios', 'CorreoElectronico', 'Correo electrónico', 1),
+ ('Sis_Usuarios', 'CveRol', 'Rol', 1),
+ ('Sis_Usuarios', 'Activo', 'Activo', 1),
+ ('Sis_Usuarios', 'DebeCambiarContrasena', 'Debe cambiar contraseña', 1),
+ ('Sis_Usuarios', 'CorreoVerificado', 'Correo verificado', 1),
+ ('Sis_UsuariosClientes', 'CveUsuario', 'Usuario', 1),
+ ('Sis_UsuariosClientes', 'CveCliente', 'Cliente', 1),
+ ('Sis_UsuariosClientes', 'Orden', 'Orden', 1),
+ ('Sis_UsuariosClientes', 'EsPrincipal', 'Principal', 1),
+ ('Sis_UsuariosClientes', 'Activo', 'Activo', 1);
+
+UPDATE C
+SET
+ C.NombreMostrar = S.NombreMostrar,
+ C.MostrarEnBitacora = S.MostrarEnBitacora,
+ C.TipoDatoSQL = TY.name COLLATE Modern_Spanish_CS_AS,
+ C.Activo = 1,
+ C.FechaMod = GETDATE()
+FROM dbo.Bit_Campos AS C
+INNER JOIN dbo.Bit_Tablas AS T
+ ON T.CveTabla = C.CveTabla
+INNER JOIN @Campos AS S
+ ON S.NombreTablaSQL = T.NombreTablaSQL
+ AND S.NombreCampoSQL = C.NombreCampoSQL
+INNER JOIN sys.schemas AS SC
+ ON SC.name = 'dbo'
+INNER JOIN sys.tables AS ST
+ ON ST.schema_id = SC.schema_id
+ AND ST.name COLLATE Modern_Spanish_CS_AS = S.NombreTablaSQL
+INNER JOIN sys.columns AS CO
+ ON CO.object_id = ST.object_id
+ AND CO.name COLLATE Modern_Spanish_CS_AS = S.NombreCampoSQL
+INNER JOIN sys.types AS TY
+ ON TY.user_type_id = CO.user_type_id;
+
+INSERT INTO dbo.Bit_Campos
+(
+ CveTabla,
+ NombreCampoSQL,
+ NombreMostrar,
+ MostrarEnBitacora,
+ TipoDatoSQL,
+ Activo
+)
+SELECT
+ T.CveTabla,
+ S.NombreCampoSQL,
+ S.NombreMostrar,
+ S.MostrarEnBitacora,
+ TY.name COLLATE Modern_Spanish_CS_AS,
+ 1
+FROM @Campos AS S
+INNER JOIN dbo.Bit_Tablas AS T
+ ON T.NombreTablaSQL = S.NombreTablaSQL
+INNER JOIN sys.schemas AS SC
+ ON SC.name = 'dbo'
+INNER JOIN sys.tables AS ST
+ ON ST.schema_id = SC.schema_id
+ AND ST.name COLLATE Modern_Spanish_CS_AS = S.NombreTablaSQL
+INNER JOIN sys.columns AS CO
+ ON CO.object_id = ST.object_id
+ AND CO.name COLLATE Modern_Spanish_CS_AS = S.NombreCampoSQL
+INNER JOIN sys.types AS TY
+ ON TY.user_type_id = CO.user_type_id
+WHERE NOT EXISTS
+(
+ SELECT 1
+ FROM dbo.Bit_Campos AS C
+ WHERE C.CveTabla = T.CveTabla
+ AND C.NombreCampoSQL = S.NombreCampoSQL
+);
+GO
+
+CREATE OR ALTER PROCEDURE dbo.PA_Bit_BitacoraAdd
+ @NombreTablaSQL varchar(128),
+ @CveTipoMovimiento tinyint,
+ @CveDefinicionAccion int = NULL,
+ @CveUsuarioAutoriza int = NULL,
+ @FechaAutorizacion datetime = NULL,
+ @LlaveRegistro nvarchar(250),
+ @DescripcionMovimiento nvarchar(1000),
+ @RelacionesXml xml,
+ @CamposXml xml = NULL,
+ @DiscriminarCamposSinCambios bit = 1,
+ @DireccionIP varchar(50) = NULL,
+ @NombreEquipo varchar(150) = NULL,
+ @Modulo varchar(150) = NULL,
+ @CveUsuarioEjecuta int,
+ @ErrorMostrar varchar(max) OUTPUT,
+ @ErrorTipo int OUTPUT,
+ @Return bit OUTPUT
+AS
+BEGIN
+ SET NOCOUNT ON;
+
+ SELECT
+ @ErrorMostrar = NULL,
+ @ErrorTipo = 0,
+ @Return = 0;
+
+ BEGIN TRY
+ DECLARE @CveTabla int;
+
+ SELECT @CveTabla = T.CveTabla
+ FROM dbo.Bit_Tablas AS T
+ WHERE T.NombreTablaSQL = @NombreTablaSQL COLLATE Modern_Spanish_CS_AS
+ AND T.Activo = 1;
+
+ IF @CveTabla IS NULL
+ BEGIN
+ SET @ErrorMostrar = 'La tabla indicada no está configurada para bitácora.';
+ SET @ErrorTipo = 2;
+ RETURN;
+ END;
+
+ IF NOT EXISTS
+ (
+ SELECT 1
+ FROM dbo.Bit_TiposMovimiento AS M
+ WHERE M.CveTipoMovimiento = @CveTipoMovimiento
+ )
+ BEGIN
+ SET @ErrorMostrar = 'El tipo de movimiento de bitácora no es válido.';
+ SET @ErrorTipo = 2;
+ RETURN;
+ END;
+
+ IF @CveDefinicionAccion IS NOT NULL
+ AND NOT EXISTS
+ (
+ SELECT 1
+ FROM dbo.Bit_DefinicionesAccion AS A
+ WHERE A.CveDefinicionAccion = @CveDefinicionAccion
+ AND A.CveTabla = @CveTabla
+ AND A.CveTipoMovimiento = @CveTipoMovimiento
+ AND A.Activo = 1
+ )
+ BEGIN
+ SET @ErrorMostrar = 'La definición de la acción no corresponde al movimiento.';
+ SET @ErrorTipo = 2;
+ RETURN;
+ END;
+
+ DECLARE @Relaciones TABLE
+ (
+ Orden int NOT NULL,
+ CveTipoRelacion tinyint NOT NULL,
+ NombreTablaSQL varchar(128) COLLATE Modern_Spanish_CS_AS NOT NULL,
+ NombreCampoSQL varchar(128) COLLATE Modern_Spanish_CS_AS NOT NULL,
+ Valor nvarchar(250) COLLATE Modern_Spanish_CS_AS NOT NULL,
+ VisibleDesarrollador bit NOT NULL,
+ DescripcionRelacion nvarchar(500) COLLATE Modern_Spanish_CS_AS NULL
+ );
+
+ INSERT INTO @Relaciones
+ (
+ Orden,
+ CveTipoRelacion,
+ NombreTablaSQL,
+ NombreCampoSQL,
+ Valor,
+ VisibleDesarrollador,
+ DescripcionRelacion
+ )
+ SELECT
+ R.value('@Orden', 'int'),
+ R.value('@CveTipoRelacion', 'tinyint'),
+ R.value('@NombreTablaSQL', 'varchar(128)'),
+ R.value('@NombreCampoSQL', 'varchar(128)'),
+ R.value('@Valor', 'nvarchar(250)'),
+ R.value('@VisibleDesarrollador', 'bit'),
+ NULLIF(R.value('@DescripcionRelacion', 'nvarchar(500)'), '')
+ FROM @RelacionesXml.nodes('/Relaciones/Relacion') AS X(R);
+
+ IF NOT EXISTS (SELECT 1 FROM @Relaciones)
+ BEGIN
+ SET @ErrorMostrar = 'La bitácora debe incluir al menos una relación.';
+ SET @ErrorTipo = 2;
+ RETURN;
+ END;
+
+ DECLARE @RelacionesResueltas TABLE
+ (
+ Orden int NOT NULL,
+ CveTipoRelacion tinyint NOT NULL,
+ CveTabla int NOT NULL,
+ CveCampo int NOT NULL,
+ NombreTablaSQL varchar(128) COLLATE Modern_Spanish_CS_AS NOT NULL,
+ NombreCampoSQL varchar(128) COLLATE Modern_Spanish_CS_AS NOT NULL,
+ TipoDatoSQL varchar(128) COLLATE Modern_Spanish_CS_AS NOT NULL,
+ Valor nvarchar(250) COLLATE Modern_Spanish_CS_AS NOT NULL,
+ VisibleDesarrollador bit NOT NULL,
+ DescripcionRelacion nvarchar(500) COLLATE Modern_Spanish_CS_AS NULL
+ );
+
+ INSERT INTO @RelacionesResueltas
+ (
+ Orden,
+ CveTipoRelacion,
+ CveTabla,
+ CveCampo,
+ NombreTablaSQL,
+ NombreCampoSQL,
+ TipoDatoSQL,
+ Valor,
+ VisibleDesarrollador,
+ DescripcionRelacion
+ )
+ SELECT
+ R.Orden,
+ R.CveTipoRelacion,
+ T.CveTabla,
+ C.CveCampo,
+ R.NombreTablaSQL,
+ R.NombreCampoSQL,
+ C.TipoDatoSQL,
+ R.Valor,
+ R.VisibleDesarrollador,
+ R.DescripcionRelacion
+ FROM @Relaciones AS R
+ INNER JOIN dbo.Bit_Tablas AS T
+ ON T.NombreTablaSQL = R.NombreTablaSQL
+ AND T.Activo = 1
+ INNER JOIN dbo.Bit_Campos AS C
+ ON C.CveTabla = T.CveTabla
+ AND C.NombreCampoSQL = R.NombreCampoSQL
+ AND C.Activo = 1
+ INNER JOIN dbo.Bit_TiposRelacion AS TR
+ ON TR.CveTipoRelacion = R.CveTipoRelacion
+ AND TR.Activo = 1
+ WHERE C.TipoDatoSQL IS NOT NULL;
+
+ IF (SELECT COUNT(1) FROM @Relaciones) <>
+ (SELECT COUNT(1) FROM @RelacionesResueltas)
+ BEGIN
+ SET @ErrorMostrar = 'Una relación utiliza una tabla, campo o tipo que no está configurado en la bitácora.';
+ SET @ErrorTipo = 2;
+ RETURN;
+ END;
+
+ IF EXISTS
+ (
+ SELECT 1
+ FROM @RelacionesResueltas
+ WHERE TipoDatoSQL IN ('tinyint', 'smallint', 'int', 'bigint')
+ AND TRY_CONVERT(bigint, Valor) IS NULL
+ )
+ BEGIN
+ SET @ErrorMostrar = 'El valor de una relación numérica no es válido.';
+ SET @ErrorTipo = 2;
+ RETURN;
+ END;
+
+ IF EXISTS
+ (
+ SELECT 1
+ FROM @RelacionesResueltas
+ WHERE VisibleDesarrollador = 1
+ )
+ AND NOT EXISTS
+ (
+ SELECT 1
+ FROM @RelacionesResueltas
+ WHERE NombreTablaSQL = 'Clientes'
+ AND NombreCampoSQL = 'CveCliente'
+ AND VisibleDesarrollador = 1
+ )
+ BEGIN
+ SET @ErrorMostrar = 'Una bitácora visible para desarrolladores debe relacionarse con un cliente.';
+ SET @ErrorTipo = 2;
+ RETURN;
+ END;
+
+ DECLARE @Campos TABLE
+ (
+ Orden int NOT NULL,
+ NombreCampoSQL varchar(128) COLLATE Modern_Spanish_CS_AS NOT NULL,
+ ValorAnteriorEsNulo bit NOT NULL,
+ ValorAnterior nvarchar(max) COLLATE Modern_Spanish_CS_AS NULL,
+ ValorNuevoEsNulo bit NOT NULL,
+ ValorNuevo nvarchar(max) COLLATE Modern_Spanish_CS_AS NULL
+ );
+
+ IF @CamposXml IS NOT NULL
+ BEGIN
+ INSERT INTO @Campos
+ (
+ Orden,
+ NombreCampoSQL,
+ ValorAnteriorEsNulo,
+ ValorAnterior,
+ ValorNuevoEsNulo,
+ ValorNuevo
+ )
+ SELECT
+ C.value('@Orden', 'int'),
+ C.value('@NombreCampoSQL', 'varchar(128)'),
+ C.value('@ValorAnteriorEsNulo', 'bit'),
+ CASE
+ WHEN C.value('@ValorAnteriorEsNulo', 'bit') = 1 THEN NULL
+ ELSE C.value('@ValorAnterior', 'nvarchar(max)')
+ END,
+ C.value('@ValorNuevoEsNulo', 'bit'),
+ CASE
+ WHEN C.value('@ValorNuevoEsNulo', 'bit') = 1 THEN NULL
+ ELSE C.value('@ValorNuevo', 'nvarchar(max)')
+ END
+ FROM @CamposXml.nodes('/Campos/Campo') AS X(C);
+ END;
+
+ IF @CveTipoMovimiento IN (1, 2)
+ AND NOT EXISTS (SELECT 1 FROM @Campos)
+ BEGIN
+ SET @ErrorMostrar = 'Las altas y modificaciones deben incluir los campos auditados.';
+ SET @ErrorTipo = 2;
+ RETURN;
+ END;
+
+ IF EXISTS
+ (
+ SELECT 1
+ FROM @Campos AS F
+ LEFT JOIN dbo.Bit_Campos AS C
+ ON C.CveTabla = @CveTabla
+ AND C.NombreCampoSQL = F.NombreCampoSQL
+ AND C.Activo = 1
+ WHERE C.CveCampo IS NULL
+ )
+ BEGIN
+ SET @ErrorMostrar = 'Uno de los campos enviados no está configurado para la tabla auditada.';
+ SET @ErrorTipo = 2;
+ RETURN;
+ END;
+
+ INSERT INTO dbo.Bit_Bitacora
+ (
+ CveTabla,
+ CveTipoMovimiento,
+ CveDefinicionAccion,
+ CveUsuarioEjecuta,
+ CveUsuarioAutoriza,
+ FechaAutorizacion,
+ LlaveRegistro,
+ DescripcionMovimiento,
+ DireccionIP,
+ NombreEquipo,
+ Modulo
+ )
+ VALUES
+ (
+ @CveTabla,
+ @CveTipoMovimiento,
+ @CveDefinicionAccion,
+ @CveUsuarioEjecuta,
+ @CveUsuarioAutoriza,
+ @FechaAutorizacion,
+ @LlaveRegistro,
+ @DescripcionMovimiento,
+ @DireccionIP,
+ @NombreEquipo,
+ @Modulo
+ );
+
+ DECLARE @CveBitacora bigint = CONVERT(bigint, SCOPE_IDENTITY());
+
+ INSERT INTO dbo.Bit_BitacoraRelaciones
+ (
+ CveBitacora,
+ CveTipoRelacion,
+ CveTablaRelacionada,
+ LlaveRegistroRelacionada,
+ CveCampoRelacion,
+ ValorRelacionNumero,
+ ValorRelacionTexto,
+ DescripcionRelacion,
+ VisibleDesarrollador
+ )
+ SELECT
+ @CveBitacora,
+ R.CveTipoRelacion,
+ R.CveTabla,
+ R.Valor,
+ R.CveCampo,
+ CASE
+ WHEN R.TipoDatoSQL IN ('tinyint', 'smallint', 'int', 'bigint')
+ THEN TRY_CONVERT(bigint, R.Valor)
+ ELSE NULL
+ END,
+ CASE
+ WHEN R.TipoDatoSQL IN ('tinyint', 'smallint', 'int', 'bigint')
+ THEN NULL
+ ELSE R.Valor
+ END,
+ R.DescripcionRelacion,
+ R.VisibleDesarrollador
+ FROM @RelacionesResueltas AS R;
+
+ INSERT INTO dbo.Bit_BitacoraCampos
+ (
+ CveBitacora,
+ CveCampo,
+ ValorAnterior,
+ ValorNuevo
+ )
+ SELECT
+ @CveBitacora,
+ C.CveCampo,
+ F.ValorAnterior,
+ F.ValorNuevo
+ FROM @Campos AS F
+ INNER JOIN dbo.Bit_Campos AS C
+ ON C.CveTabla = @CveTabla
+ AND C.NombreCampoSQL = F.NombreCampoSQL
+ AND C.Activo = 1
+ WHERE @DiscriminarCamposSinCambios = 0
+ OR F.ValorAnteriorEsNulo <> F.ValorNuevoEsNulo
+ OR
+ (
+ F.ValorAnteriorEsNulo = 0
+ AND F.ValorNuevoEsNulo = 0
+ AND F.ValorAnterior <> F.ValorNuevo
+ );
+
+ SELECT @CveBitacora AS CveBitacora;
+ SET @Return = 1;
+ END TRY
+ BEGIN CATCH
+ SET @ErrorMostrar = 'Ocurrió un error al registrar la bitácora; favor de contactar a Sistemas.';
+ SET @ErrorTipo = 1;
+ SET @Return = 0;
+
+ DECLARE @ErrorTecnico nvarchar(2048) = CONCAT(
+ 'Número: ', ERROR_NUMBER(),
+ '; Procedimiento: ', COALESCE(ERROR_PROCEDURE(), 'PA_Bit_BitacoraAdd'),
+ '; Línea: ', ERROR_LINE(),
+ '; Detalle: ', ERROR_MESSAGE()
+ );
+
+ RAISERROR(N'%s', 10, 1, @ErrorTecnico);
+ END CATCH;
+END;
+GO
+
+CREATE OR ALTER PROCEDURE dbo.PA_Bit_BitacoraList
+ @NombreTablaSQL varchar(128) = NULL,
+ @LlaveRegistro nvarchar(250) = NULL,
+ @CveUsuarioFiltro int = NULL,
+ @FechaInicio datetime = NULL,
+ @FechaFin datetime = NULL,
+ @Modulo varchar(150) = NULL,
+ @CveUsuarioEjecuta int,
+ @ErrorMostrar varchar(max) OUTPUT,
+ @ErrorTipo int OUTPUT,
+ @Return bit OUTPUT
+AS
+BEGIN
+ SET NOCOUNT ON;
+
+ SELECT
+ @ErrorMostrar = NULL,
+ @ErrorTipo = 0,
+ @Return = 0;
+
+ BEGIN TRY
+ DECLARE @EsAdministrador bit = 0;
+ DECLARE @EsDesarrollador bit = 0;
+
+ SELECT
+ @EsAdministrador = CASE
+ WHEN R.NombreRol IN ('SuperUsuario', 'Administrador') THEN 1
+ ELSE 0
+ END,
+ @EsDesarrollador = CASE
+ WHEN R.NombreRol = 'Empresa' THEN 1
+ ELSE 0
+ END
+ FROM dbo.Sis_Usuarios AS U
+ INNER JOIN dbo.Sis_Roles AS R
+ ON R.CveRol = U.CveRol
+ WHERE U.CveUsuario = @CveUsuarioEjecuta
+ AND U.Activo = 1
+ AND R.Activo = 1;
+
+ SELECT
+ B.CveBitacora,
+ B.CveTabla,
+ T.NombreTablaSQL,
+ T.NombreMostrar AS NombreTabla,
+ B.CveTipoMovimiento,
+ M.Nombre AS TipoMovimiento,
+ A.NombreAccion,
+ B.CveUsuarioEjecuta,
+ B.CveUsuarioAutoriza,
+ B.FechaAutorizacion,
+ B.LlaveRegistro,
+ B.DescripcionMovimiento,
+ B.FechaMovimiento,
+ B.DireccionIP,
+ B.NombreEquipo,
+ B.Modulo
+ FROM dbo.Bit_Bitacora AS B
+ INNER JOIN dbo.Bit_Tablas AS T
+ ON T.CveTabla = B.CveTabla
+ INNER JOIN dbo.Bit_TiposMovimiento AS M
+ ON M.CveTipoMovimiento = B.CveTipoMovimiento
+ LEFT JOIN dbo.Bit_DefinicionesAccion AS A
+ ON A.CveDefinicionAccion = B.CveDefinicionAccion
+ WHERE (@NombreTablaSQL IS NULL OR T.NombreTablaSQL = @NombreTablaSQL COLLATE Modern_Spanish_CS_AS)
+ AND (@LlaveRegistro IS NULL OR B.LlaveRegistro = @LlaveRegistro COLLATE Modern_Spanish_CS_AS)
+ AND (@CveUsuarioFiltro IS NULL OR B.CveUsuarioEjecuta = @CveUsuarioFiltro)
+ AND (@FechaInicio IS NULL OR B.FechaMovimiento >= @FechaInicio)
+ AND
+ (
+ @FechaFin IS NULL
+ OR B.FechaMovimiento < DATEADD(day, 1, CONVERT(date, @FechaFin))
+ )
+ AND (@Modulo IS NULL OR B.Modulo = @Modulo COLLATE Modern_Spanish_CS_AS)
+ AND
+ (
+ @EsAdministrador = 1
+ OR
+ (
+ @EsDesarrollador = 1
+ AND EXISTS
+ (
+ SELECT 1
+ FROM dbo.Bit_BitacoraRelaciones AS BR
+ INNER JOIN dbo.Bit_Tablas AS RT
+ ON RT.CveTabla = BR.CveTablaRelacionada
+ INNER JOIN dbo.Bit_Campos AS RC
+ ON RC.CveCampo = BR.CveCampoRelacion
+ AND RC.CveTabla = RT.CveTabla
+ INNER JOIN dbo.Sis_UsuariosClientes AS UC
+ ON UC.CveCliente = BR.ValorRelacionNumero
+ AND UC.CveUsuario = @CveUsuarioEjecuta
+ AND UC.Activo = 1
+ WHERE BR.CveBitacora = B.CveBitacora
+ AND BR.VisibleDesarrollador = 1
+ AND RT.NombreTablaSQL = 'Clientes'
+ AND RC.NombreCampoSQL = 'CveCliente'
+ )
+ )
+ )
+ ORDER BY
+ B.FechaMovimiento DESC,
+ B.CveBitacora DESC;
+
+ SET @Return = 1;
+ END TRY
+ BEGIN CATCH
+ SET @ErrorMostrar = 'Ocurrió un error al consultar la bitácora; favor de contactar a Sistemas.';
+ SET @ErrorTipo = 1;
+ SET @Return = 0;
+
+ DECLARE @ErrorTecnico nvarchar(2048) = CONCAT(
+ 'Número: ', ERROR_NUMBER(),
+ '; Procedimiento: ', COALESCE(ERROR_PROCEDURE(), 'PA_Bit_BitacoraList'),
+ '; Línea: ', ERROR_LINE(),
+ '; Detalle: ', ERROR_MESSAGE()
+ );
+
+ RAISERROR(N'%s', 10, 1, @ErrorTecnico);
+ END CATCH;
+END;
+GO
+
+CREATE OR ALTER PROCEDURE dbo.PA_Bit_BitacoraListByRelations
+ @RelacionesXml xml = NULL,
+ @RegistrosOmitidos int,
+ @RegistrosPorPagina int,
+ @CveUsuarioEjecuta int,
+ @ErrorMostrar varchar(max) OUTPUT,
+ @ErrorTipo int OUTPUT,
+ @Return bit OUTPUT
+AS
+BEGIN
+ SET NOCOUNT ON;
+
+ SELECT
+ @ErrorMostrar = NULL,
+ @ErrorTipo = 0,
+ @Return = 0;
+
+ BEGIN TRY
+ IF @RegistrosOmitidos < 0 OR @RegistrosPorPagina <= 0
+ BEGIN
+ SET @ErrorMostrar = 'Los datos de paginación no son válidos.';
+ SET @ErrorTipo = 2;
+ RETURN;
+ END;
+
+ DECLARE @EsAdministrador bit = 0;
+ DECLARE @EsDesarrollador bit = 0;
+
+ SELECT
+ @EsAdministrador = CASE
+ WHEN R.NombreRol IN ('SuperUsuario', 'Administrador') THEN 1
+ ELSE 0
+ END,
+ @EsDesarrollador = CASE
+ WHEN R.NombreRol = 'Empresa' THEN 1
+ ELSE 0
+ END
+ FROM dbo.Sis_Usuarios AS U
+ INNER JOIN dbo.Sis_Roles AS R
+ ON R.CveRol = U.CveRol
+ WHERE U.CveUsuario = @CveUsuarioEjecuta
+ AND U.Activo = 1
+ AND R.Activo = 1;
+
+ DECLARE @Filtros TABLE
+ (
+ Orden int NOT NULL PRIMARY KEY,
+ NombreTablaSQL varchar(128)
+ COLLATE Modern_Spanish_CS_AS NOT NULL,
+ NombreCampoSQL varchar(128)
+ COLLATE Modern_Spanish_CS_AS NOT NULL,
+ Valor nvarchar(250)
+ COLLATE Modern_Spanish_CS_AS NOT NULL
+ );
+
+ IF @RelacionesXml IS NOT NULL
+ BEGIN
+ INSERT INTO @Filtros
+ (
+ Orden,
+ NombreTablaSQL,
+ NombreCampoSQL,
+ Valor
+ )
+ SELECT
+ R.value('@Orden', 'int'),
+ R.value('@Tabla', 'varchar(128)'),
+ R.value('@Campo', 'varchar(128)'),
+ R.value('@Valor', 'nvarchar(250)')
+ FROM @RelacionesXml.nodes('/Relaciones/Relacion') AS X(R);
+ END;
+
+ DECLARE @FiltrosResueltos TABLE
+ (
+ Orden int NOT NULL PRIMARY KEY,
+ CveTabla int NOT NULL,
+ CveCampo int NOT NULL,
+ TipoDatoSQL varchar(128)
+ COLLATE Modern_Spanish_CS_AS NOT NULL,
+ Valor nvarchar(250)
+ COLLATE Modern_Spanish_CS_AS NOT NULL,
+ EsEntero bit NOT NULL
+ );
+
+ INSERT INTO @FiltrosResueltos
+ (
+ Orden,
+ CveTabla,
+ CveCampo,
+ TipoDatoSQL,
+ Valor,
+ EsEntero
+ )
+ SELECT
+ F.Orden,
+ T.CveTabla,
+ C.CveCampo,
+ C.TipoDatoSQL,
+ F.Valor,
+ CASE
+ WHEN C.TipoDatoSQL IN
+ (
+ 'tinyint',
+ 'smallint',
+ 'int',
+ 'bigint'
+ ) THEN 1
+ ELSE 0
+ END
+ FROM @Filtros AS F
+ INNER JOIN dbo.Bit_Tablas AS T
+ ON T.NombreTablaSQL = F.NombreTablaSQL
+ AND T.Activo = 1
+ INNER JOIN dbo.Bit_Campos AS C
+ ON C.CveTabla = T.CveTabla
+ AND C.NombreCampoSQL = F.NombreCampoSQL
+ AND C.Activo = 1
+ WHERE C.TipoDatoSQL IS NOT NULL;
+
+ IF (SELECT COUNT(1) FROM @Filtros) <>
+ (SELECT COUNT(1) FROM @FiltrosResueltos)
+ BEGIN
+ SET @ErrorMostrar = 'Una relación utiliza una tabla o campo que no está configurado en la bitácora.';
+ SET @ErrorTipo = 2;
+ RETURN;
+ END;
+
+ IF EXISTS
+ (
+ SELECT 1
+ FROM @FiltrosResueltos
+ WHERE EsEntero = 1
+ AND TRY_CONVERT(bigint, Valor) IS NULL
+ )
+ BEGIN
+ SET @ErrorMostrar = 'El valor de una relación numérica no es válido.';
+ SET @ErrorTipo = 2;
+ RETURN;
+ END;
+
+ CREATE TABLE #BitacorasCoincidentes
+ (
+ CveBitacora bigint NOT NULL PRIMARY KEY,
+ FechaMovimiento datetime NOT NULL
+ );
+
+ INSERT INTO #BitacorasCoincidentes
+ (
+ CveBitacora,
+ FechaMovimiento
+ )
+ SELECT
+ B.CveBitacora,
+ B.FechaMovimiento
+ FROM dbo.Bit_Bitacora AS B
+ WHERE
+ (
+ @EsAdministrador = 1
+ OR
+ (
+ @EsDesarrollador = 1
+ AND EXISTS
+ (
+ SELECT 1
+ FROM dbo.Bit_BitacoraRelaciones AS BRCliente
+ INNER JOIN dbo.Bit_Tablas AS TCliente
+ ON TCliente.CveTabla =
+ BRCliente.CveTablaRelacionada
+ INNER JOIN dbo.Bit_Campos AS CCliente
+ ON CCliente.CveCampo =
+ BRCliente.CveCampoRelacion
+ AND CCliente.CveTabla = TCliente.CveTabla
+ INNER JOIN dbo.Sis_UsuariosClientes AS UC
+ ON UC.CveCliente =
+ BRCliente.ValorRelacionNumero
+ AND UC.CveUsuario = @CveUsuarioEjecuta
+ AND UC.Activo = 1
+ WHERE BRCliente.CveBitacora = B.CveBitacora
+ AND BRCliente.VisibleDesarrollador = 1
+ AND TCliente.NombreTablaSQL = 'Clientes'
+ AND CCliente.NombreCampoSQL = 'CveCliente'
+ )
+ )
+ )
+ AND
+ (
+ @EsDesarrollador = 0
+ OR NOT EXISTS
+ (
+ SELECT 1
+ FROM @FiltrosResueltos AS FCliente
+ INNER JOIN dbo.Bit_Tablas AS TClienteFiltro
+ ON TClienteFiltro.CveTabla = FCliente.CveTabla
+ INNER JOIN dbo.Bit_Campos AS CClienteFiltro
+ ON CClienteFiltro.CveCampo = FCliente.CveCampo
+ AND CClienteFiltro.CveTabla =
+ TClienteFiltro.CveTabla
+ WHERE TClienteFiltro.NombreTablaSQL = 'Clientes'
+ AND CClienteFiltro.NombreCampoSQL = 'CveCliente'
+ AND NOT EXISTS
+ (
+ SELECT 1
+ FROM dbo.Sis_UsuariosClientes AS UCClienteFiltro
+ WHERE UCClienteFiltro.CveUsuario =
+ @CveUsuarioEjecuta
+ AND UCClienteFiltro.CveCliente =
+ TRY_CONVERT(bigint, FCliente.Valor)
+ AND UCClienteFiltro.Activo = 1
+ )
+ )
+ )
+ AND NOT EXISTS
+ (
+ SELECT 1
+ FROM @FiltrosResueltos AS F
+ WHERE NOT EXISTS
+ (
+ SELECT 1
+ FROM dbo.Bit_BitacoraRelaciones AS BR
+ WHERE BR.CveBitacora = B.CveBitacora
+ AND BR.CveTablaRelacionada = F.CveTabla
+ AND BR.CveCampoRelacion = F.CveCampo
+ AND
+ (
+ @EsAdministrador = 1
+ OR BR.VisibleDesarrollador = 1
+ )
+ AND
+ (
+ (
+ F.EsEntero = 1
+ AND BR.ValorRelacionNumero =
+ TRY_CONVERT(bigint, F.Valor)
+ )
+ OR
+ (
+ F.EsEntero = 0
+ AND BR.ValorRelacionTexto =
+ F.Valor COLLATE Modern_Spanish_CS_AS
+ )
+ )
+ )
+ );
+
+ DECLARE @TotalRegistros int;
+
+ SELECT @TotalRegistros = COUNT(DISTINCT CveBitacora)
+ FROM #BitacorasCoincidentes;
+
+ CREATE TABLE #BitacorasPagina
+ (
+ CveBitacora bigint NOT NULL PRIMARY KEY,
+ Orden int NOT NULL
+ );
+
+ INSERT INTO #BitacorasPagina
+ (
+ CveBitacora,
+ Orden
+ )
+ SELECT
+ C.CveBitacora,
+ ROW_NUMBER() OVER
+ (
+ ORDER BY
+ C.FechaMovimiento DESC,
+ C.CveBitacora DESC
+ )
+ FROM #BitacorasCoincidentes AS C
+ ORDER BY
+ C.FechaMovimiento DESC,
+ C.CveBitacora DESC
+ OFFSET @RegistrosOmitidos ROWS
+ FETCH NEXT @RegistrosPorPagina ROWS ONLY;
+
+ SELECT @TotalRegistros AS TotalRegistros;
+
+ SELECT
+ B.CveBitacora,
+ B.CveTabla,
+ T.NombreTablaSQL,
+ T.NombreMostrar AS NombreTabla,
+ B.CveTipoMovimiento,
+ M.Nombre AS TipoMovimiento,
+ B.CveDefinicionAccion,
+ A.NombreAccion,
+ A.DescripcionAccion,
+ B.CveUsuarioEjecuta,
+ B.CveUsuarioAutoriza,
+ B.FechaAutorizacion,
+ B.LlaveRegistro,
+ B.DescripcionMovimiento,
+ B.FechaMovimiento,
+ B.DireccionIP,
+ B.NombreEquipo,
+ B.Modulo
+ FROM #BitacorasPagina AS P
+ INNER JOIN dbo.Bit_Bitacora AS B
+ ON B.CveBitacora = P.CveBitacora
+ INNER JOIN dbo.Bit_Tablas AS T
+ ON T.CveTabla = B.CveTabla
+ INNER JOIN dbo.Bit_TiposMovimiento AS M
+ ON M.CveTipoMovimiento = B.CveTipoMovimiento
+ LEFT JOIN dbo.Bit_DefinicionesAccion AS A
+ ON A.CveDefinicionAccion = B.CveDefinicionAccion
+ ORDER BY P.Orden;
+
+ SELECT
+ BC.CveBitacoraCampo,
+ BC.CveBitacora,
+ BC.CveCampo,
+ C.NombreCampoSQL,
+ C.NombreMostrar,
+ BC.ValorAnterior,
+ BC.ValorNuevo
+ FROM #BitacorasPagina AS P
+ INNER JOIN dbo.Bit_BitacoraCampos AS BC
+ ON BC.CveBitacora = P.CveBitacora
+ INNER JOIN dbo.Bit_Campos AS C
+ ON C.CveCampo = BC.CveCampo
+ WHERE @EsAdministrador = 1
+ OR C.MostrarEnBitacora = 1
+ ORDER BY
+ P.Orden,
+ BC.CveBitacoraCampo;
+
+ SELECT
+ BR.CveBitacoraRelacion,
+ BR.CveBitacora,
+ BR.CveTipoRelacion,
+ TR.Nombre AS TipoRelacion,
+ BR.CveTablaRelacionada,
+ T.NombreTablaSQL,
+ BR.CveCampoRelacion,
+ C.NombreCampoSQL,
+ BR.LlaveRegistroRelacionada,
+ BR.ValorRelacionNumero,
+ BR.ValorRelacionTexto,
+ BR.VisibleDesarrollador,
+ BR.DescripcionRelacion
+ FROM #BitacorasPagina AS P
+ INNER JOIN dbo.Bit_BitacoraRelaciones AS BR
+ ON BR.CveBitacora = P.CveBitacora
+ INNER JOIN dbo.Bit_TiposRelacion AS TR
+ ON TR.CveTipoRelacion = BR.CveTipoRelacion
+ INNER JOIN dbo.Bit_Tablas AS T
+ ON T.CveTabla = BR.CveTablaRelacionada
+ LEFT JOIN dbo.Bit_Campos AS C
+ ON C.CveCampo = BR.CveCampoRelacion
+ AND C.CveTabla = T.CveTabla
+ WHERE @EsAdministrador = 1
+ OR BR.VisibleDesarrollador = 1
+ ORDER BY
+ P.Orden,
+ BR.CveBitacoraRelacion;
+
+ SET @Return = 1;
+ END TRY
+ BEGIN CATCH
+ SET @ErrorMostrar = 'Ocurrió un error al consultar la bitácora; favor de contactar a Sistemas.';
+ SET @ErrorTipo = 1;
+ SET @Return = 0;
+
+ DECLARE @ErrorTecnico nvarchar(2048) = CONCAT(
+ 'Número: ', ERROR_NUMBER(),
+ '; Procedimiento: ', COALESCE(
+ ERROR_PROCEDURE(),
+ 'PA_Bit_BitacoraListByRelations'
+ ),
+ '; Línea: ', ERROR_LINE(),
+ '; Detalle: ', ERROR_MESSAGE()
+ );
+
+ RAISERROR(N'%s', 10, 1, @ErrorTecnico);
+ END CATCH;
+END;
+GO
\ No newline at end of file
diff --git a/Catalogos_Postales_Registro.sql b/Catalogos_Postales_Registro.sql
index 8d60f12..cfd6e73 100644
--- a/Catalogos_Postales_Registro.sql
+++ b/Catalogos_Postales_Registro.sql
@@ -1,4 +1,4 @@
-SET ANSI_NULLS ON;
+SET ANSI_NULLS ON;
GO
SET QUOTED_IDENTIFIER ON;
GO
@@ -295,7 +295,6 @@ CREATE OR ALTER PROCEDURE [dbo].[PA_Sis_RegistroClienteAdd]
AS
BEGIN
SET NOCOUNT ON;
- SET XACT_ABORT ON;
SELECT @ErrorMostrar = NULL, @ErrorTipo = 0, @Return = 0;
BEGIN TRY
@@ -358,7 +357,6 @@ BEGIN
RETURN;
END;
- BEGIN TRANSACTION;
INSERT INTO [dbo].[Sis_Usuarios]
([NombreUsuario], [HashContrasena], [CorreoElectronico], [CveRol], [Activo], [DebeCambiarContrasena], [CorreoVerificado])
@@ -388,13 +386,11 @@ BEGIN
([CveUsuario], [CveClienteRegistro], [HashToken], [FechaExpiracion])
VALUES (@CveUsuario, @CveCliente, @HashToken, DATEADD(HOUR, @HorasExpiracion, SYSDATETIME()));
- COMMIT TRANSACTION;
SELECT @CveUsuario AS [CveUsuario], @CveCliente AS [CveCliente];
SET @Return = 1;
END TRY
BEGIN CATCH
- IF XACT_STATE() <> 0 ROLLBACK TRANSACTION;
SELECT @ErrorMostrar = 'Ocurrió un error al crear el registro; favor de contactar a Sistemas.', @ErrorTipo = 1, @Return = 0;
DECLARE @E nvarchar(2048) = CONCAT('Número: ', ERROR_NUMBER(), '; Procedimiento: ', ERROR_PROCEDURE(), '; Línea: ', ERROR_LINE(), '; Detalle: ', ERROR_MESSAGE());
RAISERROR(N'%s', 10, 1, @E);
diff --git a/Catalogos_Tramites_Internos.sql b/Catalogos_Tramites_Internos.sql
new file mode 100644
index 0000000..2b815ec
--- /dev/null
+++ b/Catalogos_Tramites_Internos.sql
@@ -0,0 +1,1401 @@
+SET NOCOUNT ON;
+GO
+
+/* Migración del modelo de preguntas por tipo de trámite. */
+IF COL_LENGTH(N'dbo.Tra_Preguntas', N'CveTipoTramite') IS NULL
+BEGIN
+ ALTER TABLE dbo.Tra_Preguntas
+ ADD CveTipoTramite int NULL;
+END;
+GO
+
+IF COL_LENGTH(N'dbo.Tra_Preguntas', N'Codigo') IS NULL
+BEGIN
+ ALTER TABLE dbo.Tra_Preguntas
+ ADD Codigo varchar(50) COLLATE Modern_Spanish_CI_AS NULL;
+END;
+GO
+
+IF OBJECT_ID(N'dbo.FK_Tra_Preguntas_TiposTramite', N'F') IS NULL
+BEGIN
+ ALTER TABLE dbo.Tra_Preguntas
+ ADD CONSTRAINT FK_Tra_Preguntas_TiposTramite
+ FOREIGN KEY (CveTipoTramite)
+ REFERENCES dbo.Tra_TiposTramite (CveTipoTramite);
+END;
+GO
+
+IF NOT EXISTS
+(
+ SELECT 1
+ FROM sys.indexes
+ WHERE object_id = OBJECT_ID(N'dbo.Tra_Preguntas')
+ AND name = N'UX_Tra_Preguntas_Codigo'
+)
+BEGIN
+ CREATE UNIQUE NONCLUSTERED INDEX UX_Tra_Preguntas_Codigo
+ ON dbo.Tra_Preguntas (Codigo)
+ WHERE Codigo IS NOT NULL;
+END;
+GO
+
+;WITH OrdenNormalizado AS
+(
+ SELECT
+ CveEstatusSolicitud,
+ ROW_NUMBER() OVER (ORDER BY Orden, CveEstatusSolicitud) AS OrdenNuevo
+ FROM dbo.Tra_EstatusSolicitud
+)
+UPDATE E
+SET Orden = N.OrdenNuevo
+FROM dbo.Tra_EstatusSolicitud AS E
+INNER JOIN OrdenNormalizado AS N
+ ON N.CveEstatusSolicitud = E.CveEstatusSolicitud;
+
+;WITH OrdenNormalizado AS
+(
+ SELECT
+ CveTipoTramite,
+ ROW_NUMBER() OVER (ORDER BY Orden, CveTipoTramite) AS OrdenNuevo
+ FROM dbo.Tra_TiposTramite
+)
+UPDATE T
+SET Orden = N.OrdenNuevo
+FROM dbo.Tra_TiposTramite AS T
+INNER JOIN OrdenNormalizado AS N
+ ON N.CveTipoTramite = T.CveTipoTramite;
+
+;WITH OrdenNormalizado AS
+(
+ SELECT
+ CveDocumentoRequerido,
+ ROW_NUMBER() OVER
+ (
+ PARTITION BY CveTipoTramite
+ ORDER BY Orden, CveDocumentoRequerido
+ ) AS OrdenNuevo
+ FROM dbo.Tra_DocumentosRequeridos
+)
+UPDATE D
+SET Orden = N.OrdenNuevo
+FROM dbo.Tra_DocumentosRequeridos AS D
+INNER JOIN OrdenNormalizado AS N
+ ON N.CveDocumentoRequerido = D.CveDocumentoRequerido;
+
+;WITH OrdenNormalizado AS
+(
+ SELECT
+ CvePregunta,
+ ROW_NUMBER() OVER
+ (
+ PARTITION BY CveTipoTramite
+ ORDER BY Orden, CvePregunta
+ ) AS OrdenNuevo
+ FROM dbo.Tra_Preguntas
+)
+UPDATE P
+SET Orden = N.OrdenNuevo
+FROM dbo.Tra_Preguntas AS P
+INNER JOIN OrdenNormalizado AS N
+ ON N.CvePregunta = P.CvePregunta;
+
+;WITH OrdenNormalizado AS
+(
+ SELECT
+ CveOpcionPregunta,
+ ROW_NUMBER() OVER
+ (
+ PARTITION BY CvePregunta
+ ORDER BY Orden, CveOpcionPregunta
+ ) AS OrdenNuevo
+ FROM dbo.Tra_OpcionesPregunta
+)
+UPDATE O
+SET Orden = N.OrdenNuevo
+FROM dbo.Tra_OpcionesPregunta AS O
+INNER JOIN OrdenNormalizado AS N
+ ON N.CveOpcionPregunta = O.CveOpcionPregunta;
+GO
+
+CREATE OR ALTER PROCEDURE dbo.PA_Tra_EstatusSolicitudList
+ @Texto varchar(200) = NULL,
+ @IncluirInactivos bit = 0,
+ @CveUsuarioEjecuta int,
+ @ErrorMostrar varchar(max) OUTPUT,
+ @ErrorTipo int OUTPUT,
+ @Return bit OUTPUT
+AS
+BEGIN
+ SET NOCOUNT ON;
+ SELECT @ErrorMostrar = NULL, @ErrorTipo = 0, @Return = 0;
+ BEGIN TRY
+ IF NOT EXISTS (SELECT 1 FROM dbo.Sis_Usuarios WHERE CveUsuario = @CveUsuarioEjecuta AND CveRol IN (1, 2) AND Activo = 1)
+ BEGIN
+ SELECT @ErrorMostrar = 'No cuenta con permiso para consultar este catálogo.', @ErrorTipo = 2;
+ RETURN;
+ END;
+
+ SELECT CveEstatusSolicitud, Codigo, EstatusSolicitud, Orden, EsFinal, EsActivo
+ FROM dbo.Tra_EstatusSolicitud
+ WHERE (@IncluirInactivos = 1 OR EsActivo = 1)
+ AND (NULLIF(LTRIM(RTRIM(@Texto)), '') IS NULL
+ OR Codigo LIKE '%' + @Texto + '%'
+ OR EstatusSolicitud LIKE '%' + @Texto + '%')
+ ORDER BY Orden, EstatusSolicitud;
+ SET @Return = 1;
+ END TRY
+ BEGIN CATCH
+ SELECT @ErrorMostrar = 'Ocurrió un error al consultar los estatus de solicitud; favor de contactar a Sistemas.', @ErrorTipo = 1, @Return = 0;
+ DECLARE @ErrorTecnico nvarchar(2048) = CONCAT('Número: ', ERROR_NUMBER(), '; Procedimiento: ', COALESCE(ERROR_PROCEDURE(), 'PA_Tra_EstatusSolicitudList'), '; Línea: ', ERROR_LINE(), '; Detalle: ', ERROR_MESSAGE());
+ RAISERROR(N'%s', 10, 1, @ErrorTecnico);
+ END CATCH;
+END;
+GO
+
+CREATE OR ALTER PROCEDURE dbo.PA_Tra_EstatusSolicitudGet
+ @CveEstatusSolicitud int,
+ @CveUsuarioEjecuta int,
+ @ErrorMostrar varchar(max) OUTPUT,
+ @ErrorTipo int OUTPUT,
+ @Return bit OUTPUT
+AS
+BEGIN
+ SET NOCOUNT ON;
+ SELECT @ErrorMostrar = NULL, @ErrorTipo = 0, @Return = 0;
+ BEGIN TRY
+ IF NOT EXISTS (SELECT 1 FROM dbo.Sis_Usuarios WHERE CveUsuario = @CveUsuarioEjecuta AND CveRol IN (1, 2) AND Activo = 1)
+ BEGIN
+ SELECT @ErrorMostrar = 'No cuenta con permiso para consultar este catálogo.', @ErrorTipo = 2;
+ RETURN;
+ END;
+ SELECT CveEstatusSolicitud, Codigo, EstatusSolicitud, Orden, EsFinal, EsActivo
+ FROM dbo.Tra_EstatusSolicitud
+ WHERE CveEstatusSolicitud = @CveEstatusSolicitud;
+ SET @Return = 1;
+ END TRY
+ BEGIN CATCH
+ SELECT @ErrorMostrar = 'Ocurrió un error al consultar el estatus de solicitud; favor de contactar a Sistemas.', @ErrorTipo = 1, @Return = 0;
+ DECLARE @ErrorTecnico nvarchar(2048) = CONCAT('Número: ', ERROR_NUMBER(), '; Procedimiento: ', COALESCE(ERROR_PROCEDURE(), 'PA_Tra_EstatusSolicitudGet'), '; Línea: ', ERROR_LINE(), '; Detalle: ', ERROR_MESSAGE());
+ RAISERROR(N'%s', 10, 1, @ErrorTecnico);
+ END CATCH;
+END;
+GO
+
+CREATE OR ALTER PROCEDURE dbo.PA_Tra_EstatusSolicitudSave
+ @CveEstatusSolicitud int = NULL,
+ @Codigo varchar(50),
+ @EstatusSolicitud varchar(100),
+ @EsFinal bit,
+ @EsActivo bit,
+ @CveUsuarioEjecuta int,
+ @ErrorMostrar varchar(max) OUTPUT,
+ @ErrorTipo int OUTPUT,
+ @Return bit OUTPUT
+AS
+BEGIN
+ SET NOCOUNT ON;
+ SELECT @ErrorMostrar = NULL, @ErrorTipo = 0, @Return = 0;
+ BEGIN TRY
+ IF NOT EXISTS (SELECT 1 FROM dbo.Sis_Usuarios WHERE CveUsuario = @CveUsuarioEjecuta AND CveRol IN (1, 2) AND Activo = 1)
+ BEGIN
+ SELECT @ErrorMostrar = 'No cuenta con permiso para modificar este catálogo.', @ErrorTipo = 2;
+ RETURN;
+ END;
+ SELECT @Codigo = LTRIM(RTRIM(@Codigo)), @EstatusSolicitud = LTRIM(RTRIM(@EstatusSolicitud));
+ IF NULLIF(@Codigo, '') IS NULL OR NULLIF(@EstatusSolicitud, '') IS NULL
+ BEGIN
+ SELECT @ErrorMostrar = 'Capture el código y el estatus de la solicitud.', @ErrorTipo = 2;
+ RETURN;
+ END;
+ IF EXISTS (SELECT 1 FROM dbo.Tra_EstatusSolicitud WHERE Codigo = @Codigo AND CveEstatusSolicitud <> ISNULL(@CveEstatusSolicitud, 0))
+ BEGIN
+ SELECT @ErrorMostrar = 'El código del estatus ya está registrado.', @ErrorTipo = 2;
+ RETURN;
+ END;
+ IF @CveEstatusSolicitud IS NULL
+ BEGIN
+ DECLARE @Orden int =
+ ISNULL((SELECT MAX(Orden) FROM dbo.Tra_EstatusSolicitud), 0) + 1;
+
+ INSERT dbo.Tra_EstatusSolicitud (Codigo, EstatusSolicitud, Orden, EsFinal, EsActivo)
+ VALUES (@Codigo, @EstatusSolicitud, @Orden, @EsFinal, @EsActivo);
+ SET @CveEstatusSolicitud = CONVERT(int, SCOPE_IDENTITY());
+ END
+ ELSE
+ BEGIN
+ UPDATE dbo.Tra_EstatusSolicitud
+ SET Codigo = @Codigo,
+ EstatusSolicitud = @EstatusSolicitud,
+ EsFinal = @EsFinal,
+ EsActivo = @EsActivo
+ WHERE CveEstatusSolicitud = @CveEstatusSolicitud;
+ END;
+ SELECT @CveEstatusSolicitud AS CveEstatusSolicitud;
+ SET @Return = 1;
+ END TRY
+ BEGIN CATCH
+ SELECT @ErrorMostrar = 'Ocurrió un error al guardar el estatus de solicitud; favor de contactar a Sistemas.', @ErrorTipo = 1, @Return = 0;
+ DECLARE @ErrorTecnico nvarchar(2048) = CONCAT('Número: ', ERROR_NUMBER(), '; Procedimiento: ', COALESCE(ERROR_PROCEDURE(), 'PA_Tra_EstatusSolicitudSave'), '; Línea: ', ERROR_LINE(), '; Detalle: ', ERROR_MESSAGE());
+ RAISERROR(N'%s', 10, 1, @ErrorTecnico);
+ END CATCH;
+END;
+GO
+
+CREATE OR ALTER PROCEDURE dbo.PA_Tra_EstatusSolicitudDelete
+ @CveEstatusSolicitud int,
+ @CveUsuarioEjecuta int,
+ @ErrorMostrar varchar(max) OUTPUT,
+ @ErrorTipo int OUTPUT,
+ @Return bit OUTPUT
+AS
+BEGIN
+ SET NOCOUNT ON;
+ SELECT @ErrorMostrar = NULL, @ErrorTipo = 0, @Return = 0;
+ BEGIN TRY
+ IF NOT EXISTS (SELECT 1 FROM dbo.Sis_Usuarios WHERE CveUsuario = @CveUsuarioEjecuta AND CveRol IN (1, 2) AND Activo = 1)
+ BEGIN
+ SELECT @ErrorMostrar = 'No cuenta con permiso para eliminar este catálogo.', @ErrorTipo = 2;
+ RETURN;
+ END;
+ IF EXISTS (SELECT 1 FROM dbo.Tra_Solicitudes WHERE CveEstatusSolicitud = @CveEstatusSolicitud)
+ OR EXISTS (SELECT 1 FROM dbo.Tra_HistorialEstatusSolicitud WHERE CveEstatusSolicitud = @CveEstatusSolicitud)
+ BEGIN
+ SELECT @ErrorMostrar = 'El estatus ya se utiliza en solicitudes y no puede eliminarse. Puede desactivarlo.', @ErrorTipo = 2;
+ RETURN;
+ END;
+ DELETE dbo.Tra_EstatusSolicitud WHERE CveEstatusSolicitud = @CveEstatusSolicitud;
+ SET @Return = 1;
+ END TRY
+ BEGIN CATCH
+ SELECT @ErrorMostrar = 'Ocurrió un error al eliminar el estatus de solicitud; favor de contactar a Sistemas.', @ErrorTipo = 1, @Return = 0;
+ DECLARE @ErrorTecnico nvarchar(2048) = CONCAT('Número: ', ERROR_NUMBER(), '; Procedimiento: ', COALESCE(ERROR_PROCEDURE(), 'PA_Tra_EstatusSolicitudDelete'), '; Línea: ', ERROR_LINE(), '; Detalle: ', ERROR_MESSAGE());
+ RAISERROR(N'%s', 10, 1, @ErrorTecnico);
+ END CATCH;
+END;
+GO
+
+CREATE OR ALTER PROCEDURE dbo.PA_Tra_TipoTramiteList
+ @Texto varchar(250) = NULL,
+ @IncluirInactivos bit = 0,
+ @CveUsuarioEjecuta int,
+ @ErrorMostrar varchar(max) OUTPUT,
+ @ErrorTipo int OUTPUT,
+ @Return bit OUTPUT
+AS
+BEGIN
+ SET NOCOUNT ON;
+ SELECT @ErrorMostrar = NULL, @ErrorTipo = 0, @Return = 0;
+ BEGIN TRY
+ IF NOT EXISTS (SELECT 1 FROM dbo.Sis_Usuarios WHERE CveUsuario = @CveUsuarioEjecuta AND CveRol IN (1, 2) AND Activo = 1)
+ BEGIN
+ SELECT @ErrorMostrar = 'No cuenta con permiso para consultar este catálogo.', @ErrorTipo = 2;
+ RETURN;
+ END;
+ SELECT T.CveTipoTramite, T.Codigo, T.TipoTramite, T.Descripcion, T.Orden, T.EsActivo,
+ COUNT(P.CvePregunta) AS NumeroPreguntas
+ FROM dbo.Tra_TiposTramite AS T
+ LEFT JOIN dbo.Tra_Preguntas AS P ON P.CveTipoTramite = T.CveTipoTramite
+ WHERE (@IncluirInactivos = 1 OR T.EsActivo = 1)
+ AND (NULLIF(LTRIM(RTRIM(@Texto)), '') IS NULL
+ OR T.Codigo LIKE '%' + @Texto + '%'
+ OR T.TipoTramite LIKE '%' + @Texto + '%'
+ OR T.Descripcion LIKE '%' + @Texto + '%')
+ GROUP BY T.CveTipoTramite, T.Codigo, T.TipoTramite, T.Descripcion, T.Orden, T.EsActivo
+ ORDER BY T.Orden, T.TipoTramite;
+ SET @Return = 1;
+ END TRY
+ BEGIN CATCH
+ SELECT @ErrorMostrar = 'Ocurrió un error al consultar los tipos de trámite; favor de contactar a Sistemas.', @ErrorTipo = 1, @Return = 0;
+ DECLARE @ErrorTecnico nvarchar(2048) = CONCAT('Número: ', ERROR_NUMBER(), '; Procedimiento: ', COALESCE(ERROR_PROCEDURE(), 'PA_Tra_TipoTramiteList'), '; Línea: ', ERROR_LINE(), '; Detalle: ', ERROR_MESSAGE());
+ RAISERROR(N'%s', 10, 1, @ErrorTecnico);
+ END CATCH;
+END;
+GO
+
+CREATE OR ALTER PROCEDURE dbo.PA_Tra_TipoTramiteGet
+ @CveTipoTramite int,
+ @CveUsuarioEjecuta int,
+ @ErrorMostrar varchar(max) OUTPUT,
+ @ErrorTipo int OUTPUT,
+ @Return bit OUTPUT
+AS
+BEGIN
+ SET NOCOUNT ON;
+ SELECT @ErrorMostrar = NULL, @ErrorTipo = 0, @Return = 0;
+ BEGIN TRY
+ IF NOT EXISTS (SELECT 1 FROM dbo.Sis_Usuarios WHERE CveUsuario = @CveUsuarioEjecuta AND CveRol IN (1, 2) AND Activo = 1)
+ BEGIN
+ SELECT @ErrorMostrar = 'No cuenta con permiso para consultar este catálogo.', @ErrorTipo = 2;
+ RETURN;
+ END;
+ SELECT T.CveTipoTramite, T.Codigo, T.TipoTramite, T.Descripcion, T.Orden, T.EsActivo,
+ (SELECT COUNT(*) FROM dbo.Tra_Preguntas AS P WHERE P.CveTipoTramite = T.CveTipoTramite) AS NumeroPreguntas
+ FROM dbo.Tra_TiposTramite AS T
+ WHERE T.CveTipoTramite = @CveTipoTramite;
+ SET @Return = 1;
+ END TRY
+ BEGIN CATCH
+ SELECT @ErrorMostrar = 'Ocurrió un error al consultar el tipo de trámite; favor de contactar a Sistemas.', @ErrorTipo = 1, @Return = 0;
+ DECLARE @ErrorTecnico nvarchar(2048) = CONCAT('Número: ', ERROR_NUMBER(), '; Procedimiento: ', COALESCE(ERROR_PROCEDURE(), 'PA_Tra_TipoTramiteGet'), '; Línea: ', ERROR_LINE(), '; Detalle: ', ERROR_MESSAGE());
+ RAISERROR(N'%s', 10, 1, @ErrorTecnico);
+ END CATCH;
+END;
+GO
+
+CREATE OR ALTER PROCEDURE dbo.PA_Tra_TipoTramiteSave
+ @CveTipoTramite int = NULL,
+ @Codigo varchar(50),
+ @TipoTramite varchar(200),
+ @Descripcion varchar(500) = NULL,
+ @EsActivo bit,
+ @CveUsuarioEjecuta int,
+ @ErrorMostrar varchar(max) OUTPUT,
+ @ErrorTipo int OUTPUT,
+ @Return bit OUTPUT
+AS
+BEGIN
+ SET NOCOUNT ON;
+ SELECT @ErrorMostrar = NULL, @ErrorTipo = 0, @Return = 0;
+ BEGIN TRY
+ IF NOT EXISTS (SELECT 1 FROM dbo.Sis_Usuarios WHERE CveUsuario = @CveUsuarioEjecuta AND CveRol IN (1, 2) AND Activo = 1)
+ BEGIN
+ SELECT @ErrorMostrar = 'No cuenta con permiso para modificar este catálogo.', @ErrorTipo = 2;
+ RETURN;
+ END;
+ SELECT @Codigo = LTRIM(RTRIM(@Codigo)), @TipoTramite = LTRIM(RTRIM(@TipoTramite)), @Descripcion = NULLIF(LTRIM(RTRIM(@Descripcion)), '');
+ IF NULLIF(@Codigo, '') IS NULL OR NULLIF(@TipoTramite, '') IS NULL
+ BEGIN
+ SELECT @ErrorMostrar = 'Capture el código y el nombre del tipo de trámite.', @ErrorTipo = 2;
+ RETURN;
+ END;
+ IF EXISTS (SELECT 1 FROM dbo.Tra_TiposTramite WHERE Codigo = @Codigo AND CveTipoTramite <> ISNULL(@CveTipoTramite, 0))
+ BEGIN
+ SELECT @ErrorMostrar = 'El código del tipo de trámite ya está registrado.', @ErrorTipo = 2;
+ RETURN;
+ END;
+ IF @CveTipoTramite IS NULL
+ BEGIN
+ DECLARE @Orden int =
+ ISNULL((SELECT MAX(Orden) FROM dbo.Tra_TiposTramite), 0) + 1;
+
+ INSERT dbo.Tra_TiposTramite (Codigo, TipoTramite, Descripcion, Orden, EsActivo, CveUsuario)
+ VALUES (@Codigo, @TipoTramite, @Descripcion, @Orden, @EsActivo, @CveUsuarioEjecuta);
+ SET @CveTipoTramite = CONVERT(int, SCOPE_IDENTITY());
+ END
+ ELSE
+ BEGIN
+ UPDATE dbo.Tra_TiposTramite
+ SET Codigo = @Codigo, TipoTramite = @TipoTramite, Descripcion = @Descripcion,
+ EsActivo = @EsActivo, FechaModificacion = GETDATE(), CveUsuario = @CveUsuarioEjecuta
+ WHERE CveTipoTramite = @CveTipoTramite;
+ END;
+ SELECT @CveTipoTramite AS CveTipoTramite;
+ SET @Return = 1;
+ END TRY
+ BEGIN CATCH
+ SELECT @ErrorMostrar = 'Ocurrió un error al guardar el tipo de trámite; favor de contactar a Sistemas.', @ErrorTipo = 1, @Return = 0;
+ DECLARE @ErrorTecnico nvarchar(2048) = CONCAT('Número: ', ERROR_NUMBER(), '; Procedimiento: ', COALESCE(ERROR_PROCEDURE(), 'PA_Tra_TipoTramiteSave'), '; Línea: ', ERROR_LINE(), '; Detalle: ', ERROR_MESSAGE());
+ RAISERROR(N'%s', 10, 1, @ErrorTecnico);
+ END CATCH;
+END;
+GO
+
+CREATE OR ALTER PROCEDURE dbo.PA_Tra_TipoTramiteDelete
+ @CveTipoTramite int,
+ @CveUsuarioEjecuta int,
+ @ErrorMostrar varchar(max) OUTPUT,
+ @ErrorTipo int OUTPUT,
+ @Return bit OUTPUT
+AS
+BEGIN
+ SET NOCOUNT ON;
+ SELECT @ErrorMostrar = NULL, @ErrorTipo = 0, @Return = 0;
+ BEGIN TRY
+ IF NOT EXISTS (SELECT 1 FROM dbo.Sis_Usuarios WHERE CveUsuario = @CveUsuarioEjecuta AND CveRol IN (1, 2) AND Activo = 1)
+ BEGIN
+ SELECT @ErrorMostrar = 'No cuenta con permiso para eliminar este catálogo.', @ErrorTipo = 2;
+ RETURN;
+ END;
+ IF EXISTS (SELECT 1 FROM dbo.Tra_Solicitudes WHERE CveTipoTramite = @CveTipoTramite)
+ OR EXISTS (SELECT 1 FROM dbo.Tra_DocumentosRequeridos WHERE CveTipoTramite = @CveTipoTramite)
+ OR EXISTS (SELECT 1 FROM dbo.Tra_Preguntas WHERE CveTipoTramite = @CveTipoTramite)
+ BEGIN
+ SELECT @ErrorMostrar = 'El tipo de trámite tiene información relacionada y no puede eliminarse. Puede desactivarlo.', @ErrorTipo = 2;
+ RETURN;
+ END;
+ DELETE dbo.Tra_TiposTramite WHERE CveTipoTramite = @CveTipoTramite;
+ SET @Return = 1;
+ END TRY
+ BEGIN CATCH
+ SELECT @ErrorMostrar = 'Ocurrió un error al eliminar el tipo de trámite; favor de contactar a Sistemas.', @ErrorTipo = 1, @Return = 0;
+ DECLARE @ErrorTecnico nvarchar(2048) = CONCAT('Número: ', ERROR_NUMBER(), '; Procedimiento: ', COALESCE(ERROR_PROCEDURE(), 'PA_Tra_TipoTramiteDelete'), '; Línea: ', ERROR_LINE(), '; Detalle: ', ERROR_MESSAGE());
+ RAISERROR(N'%s', 10, 1, @ErrorTecnico);
+ END CATCH;
+END;
+GO
+
+CREATE OR ALTER PROCEDURE dbo.PA_Tra_TipoDocumentoList
+ @Texto varchar(250) = NULL,
+ @IncluirInactivos bit = 0,
+ @CveUsuarioEjecuta int,
+ @ErrorMostrar varchar(max) OUTPUT,
+ @ErrorTipo int OUTPUT,
+ @Return bit OUTPUT
+AS
+BEGIN
+ SET NOCOUNT ON;
+ SELECT @ErrorMostrar = NULL, @ErrorTipo = 0, @Return = 0;
+ BEGIN TRY
+ IF NOT EXISTS (SELECT 1 FROM dbo.Sis_Usuarios WHERE CveUsuario = @CveUsuarioEjecuta AND CveRol IN (1, 2) AND Activo = 1)
+ BEGIN
+ SELECT @ErrorMostrar = 'No cuenta con permiso para consultar este catálogo.', @ErrorTipo = 2;
+ RETURN;
+ END;
+ SELECT CveTipoDocumento, TipoDocumento, Descripcion, ExtensionesPermitidas, TamanoMaximoMb, EsActivo
+ FROM dbo.Tra_TiposDocumento
+ WHERE (@IncluirInactivos = 1 OR EsActivo = 1)
+ AND (NULLIF(LTRIM(RTRIM(@Texto)), '') IS NULL
+ OR TipoDocumento LIKE '%' + @Texto + '%'
+ OR Descripcion LIKE '%' + @Texto + '%'
+ OR ExtensionesPermitidas LIKE '%' + @Texto + '%')
+ ORDER BY TipoDocumento;
+ SET @Return = 1;
+ END TRY
+ BEGIN CATCH
+ SELECT @ErrorMostrar = 'Ocurrió un error al consultar los tipos de documento; favor de contactar a Sistemas.', @ErrorTipo = 1, @Return = 0;
+ DECLARE @ErrorTecnico nvarchar(2048) = CONCAT('Número: ', ERROR_NUMBER(), '; Procedimiento: ', COALESCE(ERROR_PROCEDURE(), 'PA_Tra_TipoDocumentoList'), '; Línea: ', ERROR_LINE(), '; Detalle: ', ERROR_MESSAGE());
+ RAISERROR(N'%s', 10, 1, @ErrorTecnico);
+ END CATCH;
+END;
+GO
+
+CREATE OR ALTER PROCEDURE dbo.PA_Tra_TipoDocumentoGet
+ @CveTipoDocumento int,
+ @CveUsuarioEjecuta int,
+ @ErrorMostrar varchar(max) OUTPUT,
+ @ErrorTipo int OUTPUT,
+ @Return bit OUTPUT
+AS
+BEGIN
+ SET NOCOUNT ON;
+ SELECT @ErrorMostrar = NULL, @ErrorTipo = 0, @Return = 0;
+ BEGIN TRY
+ IF NOT EXISTS (SELECT 1 FROM dbo.Sis_Usuarios WHERE CveUsuario = @CveUsuarioEjecuta AND CveRol IN (1, 2) AND Activo = 1)
+ BEGIN
+ SELECT @ErrorMostrar = 'No cuenta con permiso para consultar este catálogo.', @ErrorTipo = 2;
+ RETURN;
+ END;
+ SELECT CveTipoDocumento, TipoDocumento, Descripcion, ExtensionesPermitidas, TamanoMaximoMb, EsActivo
+ FROM dbo.Tra_TiposDocumento
+ WHERE CveTipoDocumento = @CveTipoDocumento;
+ SET @Return = 1;
+ END TRY
+ BEGIN CATCH
+ SELECT @ErrorMostrar = 'Ocurrió un error al consultar el tipo de documento; favor de contactar a Sistemas.', @ErrorTipo = 1, @Return = 0;
+ DECLARE @ErrorTecnico nvarchar(2048) = CONCAT('Número: ', ERROR_NUMBER(), '; Procedimiento: ', COALESCE(ERROR_PROCEDURE(), 'PA_Tra_TipoDocumentoGet'), '; Línea: ', ERROR_LINE(), '; Detalle: ', ERROR_MESSAGE());
+ RAISERROR(N'%s', 10, 1, @ErrorTecnico);
+ END CATCH;
+END;
+GO
+
+CREATE OR ALTER PROCEDURE dbo.PA_Tra_TipoDocumentoSave
+ @CveTipoDocumento int = NULL,
+ @TipoDocumento varchar(200),
+ @Descripcion varchar(500) = NULL,
+ @ExtensionesPermitidas varchar(200) = NULL,
+ @TamanoMaximoMb int = NULL,
+ @EsActivo bit,
+ @CveUsuarioEjecuta int,
+ @ErrorMostrar varchar(max) OUTPUT,
+ @ErrorTipo int OUTPUT,
+ @Return bit OUTPUT
+AS
+BEGIN
+ SET NOCOUNT ON;
+ SELECT @ErrorMostrar = NULL, @ErrorTipo = 0, @Return = 0;
+ BEGIN TRY
+ IF NOT EXISTS (SELECT 1 FROM dbo.Sis_Usuarios WHERE CveUsuario = @CveUsuarioEjecuta AND CveRol IN (1, 2) AND Activo = 1)
+ BEGIN
+ SELECT @ErrorMostrar = 'No cuenta con permiso para modificar este catálogo.', @ErrorTipo = 2;
+ RETURN;
+ END;
+ SELECT @TipoDocumento = LTRIM(RTRIM(@TipoDocumento)),
+ @Descripcion = NULLIF(LTRIM(RTRIM(@Descripcion)), ''),
+ @ExtensionesPermitidas = NULLIF(LTRIM(RTRIM(@ExtensionesPermitidas)), '');
+ IF NULLIF(@TipoDocumento, '') IS NULL
+ BEGIN
+ SELECT @ErrorMostrar = 'Capture el nombre del tipo de documento.', @ErrorTipo = 2;
+ RETURN;
+ END;
+ IF @TamanoMaximoMb IS NOT NULL AND @TamanoMaximoMb <= 0
+ BEGIN
+ SELECT @ErrorMostrar = 'El tamaño máximo debe ser mayor que cero.', @ErrorTipo = 2;
+ RETURN;
+ END;
+ IF EXISTS (SELECT 1 FROM dbo.Tra_TiposDocumento WHERE TipoDocumento = @TipoDocumento AND CveTipoDocumento <> ISNULL(@CveTipoDocumento, 0))
+ BEGIN
+ SELECT @ErrorMostrar = 'El tipo de documento ya está registrado.', @ErrorTipo = 2;
+ RETURN;
+ END;
+ IF @CveTipoDocumento IS NULL
+ BEGIN
+ INSERT dbo.Tra_TiposDocumento (TipoDocumento, Descripcion, ExtensionesPermitidas, TamanoMaximoMb, EsActivo, CveUsuario)
+ VALUES (@TipoDocumento, @Descripcion, @ExtensionesPermitidas, @TamanoMaximoMb, @EsActivo, @CveUsuarioEjecuta);
+ SET @CveTipoDocumento = CONVERT(int, SCOPE_IDENTITY());
+ END
+ ELSE
+ BEGIN
+ UPDATE dbo.Tra_TiposDocumento
+ SET TipoDocumento = @TipoDocumento, Descripcion = @Descripcion,
+ ExtensionesPermitidas = @ExtensionesPermitidas, TamanoMaximoMb = @TamanoMaximoMb,
+ EsActivo = @EsActivo, FechaModificacion = GETDATE(), CveUsuario = @CveUsuarioEjecuta
+ WHERE CveTipoDocumento = @CveTipoDocumento;
+ END;
+ SELECT @CveTipoDocumento AS CveTipoDocumento;
+ SET @Return = 1;
+ END TRY
+ BEGIN CATCH
+ SELECT @ErrorMostrar = 'Ocurrió un error al guardar el tipo de documento; favor de contactar a Sistemas.', @ErrorTipo = 1, @Return = 0;
+ DECLARE @ErrorTecnico nvarchar(2048) = CONCAT('Número: ', ERROR_NUMBER(), '; Procedimiento: ', COALESCE(ERROR_PROCEDURE(), 'PA_Tra_TipoDocumentoSave'), '; Línea: ', ERROR_LINE(), '; Detalle: ', ERROR_MESSAGE());
+ RAISERROR(N'%s', 10, 1, @ErrorTecnico);
+ END CATCH;
+END;
+GO
+
+CREATE OR ALTER PROCEDURE dbo.PA_Tra_TipoDocumentoDelete
+ @CveTipoDocumento int,
+ @CveUsuarioEjecuta int,
+ @ErrorMostrar varchar(max) OUTPUT,
+ @ErrorTipo int OUTPUT,
+ @Return bit OUTPUT
+AS
+BEGIN
+ SET NOCOUNT ON;
+ SELECT @ErrorMostrar = NULL, @ErrorTipo = 0, @Return = 0;
+ BEGIN TRY
+ IF NOT EXISTS (SELECT 1 FROM dbo.Sis_Usuarios WHERE CveUsuario = @CveUsuarioEjecuta AND CveRol IN (1, 2) AND Activo = 1)
+ BEGIN
+ SELECT @ErrorMostrar = 'No cuenta con permiso para eliminar este catálogo.', @ErrorTipo = 2;
+ RETURN;
+ END;
+ IF EXISTS (SELECT 1 FROM dbo.Tra_DocumentosRequeridos WHERE CveTipoDocumento = @CveTipoDocumento)
+ OR EXISTS (SELECT 1 FROM dbo.Tra_DocumentosSolicitud WHERE CveTipoDocumento = @CveTipoDocumento)
+ BEGIN
+ SELECT @ErrorMostrar = 'El tipo de documento tiene información relacionada y no puede eliminarse. Puede desactivarlo.', @ErrorTipo = 2;
+ RETURN;
+ END;
+ DELETE dbo.Tra_TiposDocumento WHERE CveTipoDocumento = @CveTipoDocumento;
+ SET @Return = 1;
+ END TRY
+ BEGIN CATCH
+ SELECT @ErrorMostrar = 'Ocurrió un error al eliminar el tipo de documento; favor de contactar a Sistemas.', @ErrorTipo = 1, @Return = 0;
+ DECLARE @ErrorTecnico nvarchar(2048) = CONCAT('Número: ', ERROR_NUMBER(), '; Procedimiento: ', COALESCE(ERROR_PROCEDURE(), 'PA_Tra_TipoDocumentoDelete'), '; Línea: ', ERROR_LINE(), '; Detalle: ', ERROR_MESSAGE());
+ RAISERROR(N'%s', 10, 1, @ErrorTecnico);
+ END CATCH;
+END;
+GO
+
+CREATE OR ALTER PROCEDURE dbo.PA_Tra_DocumentoRequeridoList
+ @CveTipoTramite int = NULL,
+ @IncluirInactivos bit = 0,
+ @CveUsuarioEjecuta int,
+ @ErrorMostrar varchar(max) OUTPUT,
+ @ErrorTipo int OUTPUT,
+ @Return bit OUTPUT
+AS
+BEGIN
+ SET NOCOUNT ON;
+ SELECT @ErrorMostrar = NULL, @ErrorTipo = 0, @Return = 0;
+ BEGIN TRY
+ IF NOT EXISTS (SELECT 1 FROM dbo.Sis_Usuarios WHERE CveUsuario = @CveUsuarioEjecuta AND CveRol IN (1, 2) AND Activo = 1)
+ BEGIN
+ SELECT @ErrorMostrar = 'No cuenta con permiso para consultar este catálogo.', @ErrorTipo = 2;
+ RETURN;
+ END;
+ SELECT D.CveDocumentoRequerido, D.CveTipoTramite, T.TipoTramite,
+ D.CveTipoDocumento, TD.TipoDocumento, D.EsRequerido, D.Orden, D.EsActivo
+ FROM dbo.Tra_DocumentosRequeridos AS D
+ INNER JOIN dbo.Tra_TiposTramite AS T ON T.CveTipoTramite = D.CveTipoTramite
+ INNER JOIN dbo.Tra_TiposDocumento AS TD ON TD.CveTipoDocumento = D.CveTipoDocumento
+ WHERE (@CveTipoTramite IS NULL OR D.CveTipoTramite = @CveTipoTramite)
+ AND (@IncluirInactivos = 1 OR D.EsActivo = 1)
+ ORDER BY T.Orden, T.TipoTramite, D.Orden, TD.TipoDocumento;
+ SET @Return = 1;
+ END TRY
+ BEGIN CATCH
+ SELECT @ErrorMostrar = 'Ocurrió un error al consultar los documentos requeridos; favor de contactar a Sistemas.', @ErrorTipo = 1, @Return = 0;
+ DECLARE @ErrorTecnico nvarchar(2048) = CONCAT('Número: ', ERROR_NUMBER(), '; Procedimiento: ', COALESCE(ERROR_PROCEDURE(), 'PA_Tra_DocumentoRequeridoList'), '; Línea: ', ERROR_LINE(), '; Detalle: ', ERROR_MESSAGE());
+ RAISERROR(N'%s', 10, 1, @ErrorTecnico);
+ END CATCH;
+END;
+GO
+
+CREATE OR ALTER PROCEDURE dbo.PA_Tra_DocumentoRequeridoGet
+ @CveDocumentoRequerido int,
+ @CveUsuarioEjecuta int,
+ @ErrorMostrar varchar(max) OUTPUT,
+ @ErrorTipo int OUTPUT,
+ @Return bit OUTPUT
+AS
+BEGIN
+ SET NOCOUNT ON;
+ SELECT @ErrorMostrar = NULL, @ErrorTipo = 0, @Return = 0;
+ BEGIN TRY
+ IF NOT EXISTS (SELECT 1 FROM dbo.Sis_Usuarios WHERE CveUsuario = @CveUsuarioEjecuta AND CveRol IN (1, 2) AND Activo = 1)
+ BEGIN
+ SELECT @ErrorMostrar = 'No cuenta con permiso para consultar este catálogo.', @ErrorTipo = 2;
+ RETURN;
+ END;
+ SELECT D.CveDocumentoRequerido, D.CveTipoTramite, T.TipoTramite,
+ D.CveTipoDocumento, TD.TipoDocumento, D.EsRequerido, D.Orden, D.EsActivo
+ FROM dbo.Tra_DocumentosRequeridos AS D
+ INNER JOIN dbo.Tra_TiposTramite AS T ON T.CveTipoTramite = D.CveTipoTramite
+ INNER JOIN dbo.Tra_TiposDocumento AS TD ON TD.CveTipoDocumento = D.CveTipoDocumento
+ WHERE D.CveDocumentoRequerido = @CveDocumentoRequerido;
+ SET @Return = 1;
+ END TRY
+ BEGIN CATCH
+ SELECT @ErrorMostrar = 'Ocurrió un error al consultar el documento requerido; favor de contactar a Sistemas.', @ErrorTipo = 1, @Return = 0;
+ DECLARE @ErrorTecnico nvarchar(2048) = CONCAT('Número: ', ERROR_NUMBER(), '; Procedimiento: ', COALESCE(ERROR_PROCEDURE(), 'PA_Tra_DocumentoRequeridoGet'), '; Línea: ', ERROR_LINE(), '; Detalle: ', ERROR_MESSAGE());
+ RAISERROR(N'%s', 10, 1, @ErrorTecnico);
+ END CATCH;
+END;
+GO
+
+CREATE OR ALTER PROCEDURE dbo.PA_Tra_DocumentoRequeridoSave
+ @CveDocumentoRequerido int = NULL,
+ @CveTipoTramite int,
+ @CveTipoDocumento int,
+ @EsRequerido bit,
+ @EsActivo bit,
+ @CveUsuarioEjecuta int,
+ @ErrorMostrar varchar(max) OUTPUT,
+ @ErrorTipo int OUTPUT,
+ @Return bit OUTPUT
+AS
+BEGIN
+ SET NOCOUNT ON;
+ SELECT @ErrorMostrar = NULL, @ErrorTipo = 0, @Return = 0;
+ BEGIN TRY
+ IF NOT EXISTS (SELECT 1 FROM dbo.Sis_Usuarios WHERE CveUsuario = @CveUsuarioEjecuta AND CveRol IN (1, 2) AND Activo = 1)
+ BEGIN
+ SELECT @ErrorMostrar = 'No cuenta con permiso para modificar este catálogo.', @ErrorTipo = 2;
+ RETURN;
+ END;
+ IF NOT EXISTS (SELECT 1 FROM dbo.Tra_TiposTramite WHERE CveTipoTramite = @CveTipoTramite)
+ OR NOT EXISTS (SELECT 1 FROM dbo.Tra_TiposDocumento WHERE CveTipoDocumento = @CveTipoDocumento)
+ BEGIN
+ SELECT @ErrorMostrar = 'Seleccione un tipo de trámite y un tipo de documento válidos.', @ErrorTipo = 2;
+ RETURN;
+ END;
+ IF EXISTS
+ (
+ SELECT 1
+ FROM dbo.Tra_DocumentosRequeridos
+ WHERE CveTipoTramite = @CveTipoTramite
+ AND CveTipoDocumento = @CveTipoDocumento
+ AND CveDocumentoRequerido <> ISNULL(@CveDocumentoRequerido, 0)
+ )
+ BEGIN
+ SELECT @ErrorMostrar = 'El documento ya está asociado al tipo de trámite.', @ErrorTipo = 2;
+ RETURN;
+ END;
+ IF @CveDocumentoRequerido IS NULL
+ BEGIN
+ DECLARE @Orden int = ISNULL((
+ SELECT MAX(Orden)
+ FROM dbo.Tra_DocumentosRequeridos
+ WHERE CveTipoTramite = @CveTipoTramite), 0) + 1;
+
+ INSERT dbo.Tra_DocumentosRequeridos (CveTipoTramite, CveTipoDocumento, EsRequerido, Orden, EsActivo)
+ VALUES (@CveTipoTramite, @CveTipoDocumento, @EsRequerido, @Orden, @EsActivo);
+ SET @CveDocumentoRequerido = CONVERT(int, SCOPE_IDENTITY());
+ END
+ ELSE
+ BEGIN
+ DECLARE @CveTipoTramiteAnterior int;
+ SELECT
+ @CveTipoTramiteAnterior = CveTipoTramite,
+ @Orden = Orden
+ FROM dbo.Tra_DocumentosRequeridos
+ WHERE CveDocumentoRequerido = @CveDocumentoRequerido;
+
+ IF @CveTipoTramiteAnterior <> @CveTipoTramite
+ BEGIN
+ SET @Orden = ISNULL((
+ SELECT MAX(Orden)
+ FROM dbo.Tra_DocumentosRequeridos
+ WHERE CveTipoTramite = @CveTipoTramite), 0) + 1;
+ END;
+
+ UPDATE dbo.Tra_DocumentosRequeridos
+ SET CveTipoTramite = @CveTipoTramite, CveTipoDocumento = @CveTipoDocumento,
+ EsRequerido = @EsRequerido, Orden = @Orden, EsActivo = @EsActivo
+ WHERE CveDocumentoRequerido = @CveDocumentoRequerido;
+ END;
+ SELECT @CveDocumentoRequerido AS CveDocumentoRequerido;
+ SET @Return = 1;
+ END TRY
+ BEGIN CATCH
+ SELECT @ErrorMostrar = 'Ocurrió un error al guardar el documento requerido; favor de contactar a Sistemas.', @ErrorTipo = 1, @Return = 0;
+ DECLARE @ErrorTecnico nvarchar(2048) = CONCAT('Número: ', ERROR_NUMBER(), '; Procedimiento: ', COALESCE(ERROR_PROCEDURE(), 'PA_Tra_DocumentoRequeridoSave'), '; Línea: ', ERROR_LINE(), '; Detalle: ', ERROR_MESSAGE());
+ RAISERROR(N'%s', 10, 1, @ErrorTecnico);
+ END CATCH;
+END;
+GO
+
+CREATE OR ALTER PROCEDURE dbo.PA_Tra_DocumentoRequeridoDelete
+ @CveDocumentoRequerido int,
+ @CveUsuarioEjecuta int,
+ @ErrorMostrar varchar(max) OUTPUT,
+ @ErrorTipo int OUTPUT,
+ @Return bit OUTPUT
+AS
+BEGIN
+ SET NOCOUNT ON;
+ SELECT @ErrorMostrar = NULL, @ErrorTipo = 0, @Return = 0;
+ BEGIN TRY
+ IF NOT EXISTS (SELECT 1 FROM dbo.Sis_Usuarios WHERE CveUsuario = @CveUsuarioEjecuta AND CveRol IN (1, 2) AND Activo = 1)
+ BEGIN
+ SELECT @ErrorMostrar = 'No cuenta con permiso para eliminar este catálogo.', @ErrorTipo = 2;
+ RETURN;
+ END;
+ DELETE dbo.Tra_DocumentosRequeridos WHERE CveDocumentoRequerido = @CveDocumentoRequerido;
+ SET @Return = 1;
+ END TRY
+ BEGIN CATCH
+ SELECT @ErrorMostrar = 'Ocurrió un error al eliminar el documento requerido; favor de contactar a Sistemas.', @ErrorTipo = 1, @Return = 0;
+ DECLARE @ErrorTecnico nvarchar(2048) = CONCAT('Número: ', ERROR_NUMBER(), '; Procedimiento: ', COALESCE(ERROR_PROCEDURE(), 'PA_Tra_DocumentoRequeridoDelete'), '; Línea: ', ERROR_LINE(), '; Detalle: ', ERROR_MESSAGE());
+ RAISERROR(N'%s', 10, 1, @ErrorTecnico);
+ END CATCH;
+END;
+GO
+
+CREATE OR ALTER PROCEDURE dbo.PA_Tra_TipoPreguntaList
+ @CveUsuarioEjecuta int,
+ @ErrorMostrar varchar(max) OUTPUT,
+ @ErrorTipo int OUTPUT,
+ @Return bit OUTPUT
+AS
+BEGIN
+ SET NOCOUNT ON;
+ SELECT @ErrorMostrar = NULL, @ErrorTipo = 0, @Return = 0;
+ BEGIN TRY
+ IF NOT EXISTS (SELECT 1 FROM dbo.Sis_Usuarios WHERE CveUsuario = @CveUsuarioEjecuta AND CveRol IN (1, 2) AND Activo = 1)
+ BEGIN
+ SELECT @ErrorMostrar = 'No cuenta con permiso para consultar este catálogo.', @ErrorTipo = 2;
+ RETURN;
+ END;
+ SELECT CveTipoPregunta, TipoPregunta, EsActivo
+ FROM dbo.Tra_TiposPregunta
+ WHERE EsActivo = 1
+ ORDER BY CveTipoPregunta;
+ SET @Return = 1;
+ END TRY
+ BEGIN CATCH
+ SELECT @ErrorMostrar = 'Ocurrió un error al consultar los tipos de pregunta; favor de contactar a Sistemas.', @ErrorTipo = 1, @Return = 0;
+ DECLARE @ErrorTecnico nvarchar(2048) = CONCAT('Número: ', ERROR_NUMBER(), '; Procedimiento: ', COALESCE(ERROR_PROCEDURE(), 'PA_Tra_TipoPreguntaList'), '; Línea: ', ERROR_LINE(), '; Detalle: ', ERROR_MESSAGE());
+ RAISERROR(N'%s', 10, 1, @ErrorTecnico);
+ END CATCH;
+END;
+GO
+
+CREATE OR ALTER PROCEDURE dbo.PA_Tra_PreguntaList
+ @CveTipoTramite int,
+ @SoloConOpciones bit = 0,
+ @CveUsuarioEjecuta int,
+ @ErrorMostrar varchar(max) OUTPUT,
+ @ErrorTipo int OUTPUT,
+ @Return bit OUTPUT
+AS
+BEGIN
+ SET NOCOUNT ON;
+ SELECT @ErrorMostrar = NULL, @ErrorTipo = 0, @Return = 0;
+ BEGIN TRY
+ IF NOT EXISTS (SELECT 1 FROM dbo.Sis_Usuarios WHERE CveUsuario = @CveUsuarioEjecuta AND CveRol IN (1, 2) AND Activo = 1)
+ BEGIN
+ SELECT @ErrorMostrar = 'No cuenta con permiso para consultar este catálogo.', @ErrorTipo = 2;
+ RETURN;
+ END;
+ SELECT P.CvePregunta, P.CveTipoTramite, T.TipoTramite, P.CveTipoPregunta,
+ TP.TipoPregunta, P.Codigo, P.Pregunta, P.Descripcion, P.EsRequerida,
+ P.Orden, P.EsActivo, COUNT(O.CveOpcionPregunta) AS NumeroOpciones
+ FROM dbo.Tra_Preguntas AS P
+ INNER JOIN dbo.Tra_TiposTramite AS T ON T.CveTipoTramite = P.CveTipoTramite
+ INNER JOIN dbo.Tra_TiposPregunta AS TP ON TP.CveTipoPregunta = P.CveTipoPregunta
+ LEFT JOIN dbo.Tra_OpcionesPregunta AS O ON O.CvePregunta = P.CvePregunta
+ WHERE P.CveTipoTramite = @CveTipoTramite
+ AND (@SoloConOpciones = 0 OR P.CveTipoPregunta IN (3, 4))
+ GROUP BY P.CvePregunta, P.CveTipoTramite, T.TipoTramite, P.CveTipoPregunta,
+ TP.TipoPregunta, P.Codigo, P.Pregunta, P.Descripcion, P.EsRequerida,
+ P.Orden, P.EsActivo
+ ORDER BY P.Orden, P.Pregunta;
+ SET @Return = 1;
+ END TRY
+ BEGIN CATCH
+ SELECT @ErrorMostrar = 'Ocurrió un error al consultar las preguntas; favor de contactar a Sistemas.', @ErrorTipo = 1, @Return = 0;
+ DECLARE @ErrorTecnico nvarchar(2048) = CONCAT('Número: ', ERROR_NUMBER(), '; Procedimiento: ', COALESCE(ERROR_PROCEDURE(), 'PA_Tra_PreguntaList'), '; Línea: ', ERROR_LINE(), '; Detalle: ', ERROR_MESSAGE());
+ RAISERROR(N'%s', 10, 1, @ErrorTecnico);
+ END CATCH;
+END;
+GO
+
+CREATE OR ALTER PROCEDURE dbo.PA_Tra_PreguntaGet
+ @CvePregunta int,
+ @CveUsuarioEjecuta int,
+ @ErrorMostrar varchar(max) OUTPUT,
+ @ErrorTipo int OUTPUT,
+ @Return bit OUTPUT
+AS
+BEGIN
+ SET NOCOUNT ON;
+ SELECT @ErrorMostrar = NULL, @ErrorTipo = 0, @Return = 0;
+ BEGIN TRY
+ IF NOT EXISTS (SELECT 1 FROM dbo.Sis_Usuarios WHERE CveUsuario = @CveUsuarioEjecuta AND CveRol IN (1, 2) AND Activo = 1)
+ BEGIN
+ SELECT @ErrorMostrar = 'No cuenta con permiso para consultar este catálogo.', @ErrorTipo = 2;
+ RETURN;
+ END;
+ SELECT P.CvePregunta, P.CveTipoTramite, T.TipoTramite, P.CveTipoPregunta,
+ TP.TipoPregunta, P.Codigo, P.Pregunta, P.Descripcion, P.EsRequerida,
+ P.Orden, P.EsActivo,
+ (SELECT COUNT(*) FROM dbo.Tra_OpcionesPregunta AS O WHERE O.CvePregunta = P.CvePregunta) AS NumeroOpciones
+ FROM dbo.Tra_Preguntas AS P
+ INNER JOIN dbo.Tra_TiposTramite AS T ON T.CveTipoTramite = P.CveTipoTramite
+ INNER JOIN dbo.Tra_TiposPregunta AS TP ON TP.CveTipoPregunta = P.CveTipoPregunta
+ WHERE P.CvePregunta = @CvePregunta;
+ SET @Return = 1;
+ END TRY
+ BEGIN CATCH
+ SELECT @ErrorMostrar = 'Ocurrió un error al consultar la pregunta; favor de contactar a Sistemas.', @ErrorTipo = 1, @Return = 0;
+ DECLARE @ErrorTecnico nvarchar(2048) = CONCAT('Número: ', ERROR_NUMBER(), '; Procedimiento: ', COALESCE(ERROR_PROCEDURE(), 'PA_Tra_PreguntaGet'), '; Línea: ', ERROR_LINE(), '; Detalle: ', ERROR_MESSAGE());
+ RAISERROR(N'%s', 10, 1, @ErrorTecnico);
+ END CATCH;
+END;
+GO
+
+CREATE OR ALTER PROCEDURE dbo.PA_Tra_PreguntaSave
+ @CvePregunta int = NULL,
+ @CveTipoTramite int,
+ @CveTipoPregunta int,
+ @Codigo varchar(50) = NULL,
+ @Pregunta varchar(500),
+ @Descripcion varchar(1000) = NULL,
+ @EsRequerida bit,
+ @EsActivo bit,
+ @CveUsuarioEjecuta int,
+ @ErrorMostrar varchar(max) OUTPUT,
+ @ErrorTipo int OUTPUT,
+ @Return bit OUTPUT
+AS
+BEGIN
+ SET NOCOUNT ON;
+ SELECT @ErrorMostrar = NULL, @ErrorTipo = 0, @Return = 0;
+ BEGIN TRY
+ IF NOT EXISTS (SELECT 1 FROM dbo.Sis_Usuarios WHERE CveUsuario = @CveUsuarioEjecuta AND CveRol IN (1, 2) AND Activo = 1)
+ BEGIN
+ SELECT @ErrorMostrar = 'No cuenta con permiso para modificar este catálogo.', @ErrorTipo = 2;
+ RETURN;
+ END;
+ SELECT @Codigo = NULLIF(LTRIM(RTRIM(@Codigo)), ''),
+ @Pregunta = LTRIM(RTRIM(@Pregunta)),
+ @Descripcion = NULLIF(LTRIM(RTRIM(@Descripcion)), '');
+ IF NULLIF(@Pregunta, '') IS NULL
+ OR NOT EXISTS (SELECT 1 FROM dbo.Tra_TiposTramite WHERE CveTipoTramite = @CveTipoTramite)
+ OR NOT EXISTS (SELECT 1 FROM dbo.Tra_TiposPregunta WHERE CveTipoPregunta = @CveTipoPregunta AND EsActivo = 1)
+ BEGIN
+ SELECT @ErrorMostrar = 'Capture una pregunta y seleccione valores de catálogo válidos.', @ErrorTipo = 2;
+ RETURN;
+ END;
+ IF @Codigo IS NOT NULL
+ AND EXISTS (SELECT 1 FROM dbo.Tra_Preguntas WHERE Codigo = @Codigo AND CvePregunta <> ISNULL(@CvePregunta, 0))
+ BEGIN
+ SELECT @ErrorMostrar = 'El código de la pregunta ya está registrado.', @ErrorTipo = 2;
+ RETURN;
+ END;
+ IF @CvePregunta IS NOT NULL
+ AND @CveTipoPregunta <> 4
+ AND EXISTS (SELECT 1 FROM dbo.Tra_OpcionesPregunta WHERE CvePregunta = @CvePregunta)
+ BEGIN
+ SELECT @ErrorMostrar = 'Elimine primero las opciones de respuesta antes de cambiar el tipo de pregunta.', @ErrorTipo = 2;
+ RETURN;
+ END;
+ IF @CvePregunta IS NULL
+ BEGIN
+ DECLARE @Orden int = ISNULL((
+ SELECT MAX(Orden)
+ FROM dbo.Tra_Preguntas
+ WHERE CveTipoTramite = @CveTipoTramite), 0) + 1;
+
+ INSERT dbo.Tra_Preguntas
+ (CveTipoTramite, CveTipoPregunta, Codigo, Pregunta, Descripcion,
+ EsRequerida, Orden, EsActivo, CveUsuario)
+ VALUES
+ (@CveTipoTramite, @CveTipoPregunta, @Codigo, @Pregunta, @Descripcion,
+ @EsRequerida, @Orden, @EsActivo, @CveUsuarioEjecuta);
+ SET @CvePregunta = CONVERT(int, SCOPE_IDENTITY());
+ END
+ ELSE
+ BEGIN
+ DECLARE @CveTipoTramiteAnterior int;
+ SELECT
+ @CveTipoTramiteAnterior = CveTipoTramite,
+ @Orden = Orden
+ FROM dbo.Tra_Preguntas
+ WHERE CvePregunta = @CvePregunta;
+
+ IF @CveTipoTramiteAnterior <> @CveTipoTramite
+ BEGIN
+ SET @Orden = ISNULL((
+ SELECT MAX(Orden)
+ FROM dbo.Tra_Preguntas
+ WHERE CveTipoTramite = @CveTipoTramite), 0) + 1;
+ END;
+
+ UPDATE dbo.Tra_Preguntas
+ SET CveTipoTramite = @CveTipoTramite, CveTipoPregunta = @CveTipoPregunta,
+ Codigo = @Codigo, Pregunta = @Pregunta, Descripcion = @Descripcion,
+ EsRequerida = @EsRequerida, Orden = @Orden, EsActivo = @EsActivo,
+ FechaModificacion = GETDATE(), CveUsuario = @CveUsuarioEjecuta
+ WHERE CvePregunta = @CvePregunta;
+ END;
+ SELECT @CvePregunta AS CvePregunta;
+ SET @Return = 1;
+ END TRY
+ BEGIN CATCH
+ SELECT @ErrorMostrar = 'Ocurrió un error al guardar la pregunta; favor de contactar a Sistemas.', @ErrorTipo = 1, @Return = 0;
+ DECLARE @ErrorTecnico nvarchar(2048) = CONCAT('Número: ', ERROR_NUMBER(), '; Procedimiento: ', COALESCE(ERROR_PROCEDURE(), 'PA_Tra_PreguntaSave'), '; Línea: ', ERROR_LINE(), '; Detalle: ', ERROR_MESSAGE());
+ RAISERROR(N'%s', 10, 1, @ErrorTecnico);
+ END CATCH;
+END;
+GO
+
+CREATE OR ALTER PROCEDURE dbo.PA_Tra_PreguntaDelete
+ @CvePregunta int,
+ @CveUsuarioEjecuta int,
+ @ErrorMostrar varchar(max) OUTPUT,
+ @ErrorTipo int OUTPUT,
+ @Return bit OUTPUT
+AS
+BEGIN
+ SET NOCOUNT ON;
+ SELECT @ErrorMostrar = NULL, @ErrorTipo = 0, @Return = 0;
+ BEGIN TRY
+ IF NOT EXISTS (SELECT 1 FROM dbo.Sis_Usuarios WHERE CveUsuario = @CveUsuarioEjecuta AND CveRol IN (1, 2) AND Activo = 1)
+ BEGIN
+ SELECT @ErrorMostrar = 'No cuenta con permiso para eliminar este catálogo.', @ErrorTipo = 2;
+ RETURN;
+ END;
+ IF EXISTS (SELECT 1 FROM dbo.Tra_RespuestasSolicitud WHERE CvePregunta = @CvePregunta)
+ BEGIN
+ SELECT @ErrorMostrar = 'La pregunta ya tiene respuestas registradas y no puede eliminarse. Puede desactivarla.', @ErrorTipo = 2;
+ RETURN;
+ END;
+ DELETE dbo.Tra_OpcionesPregunta WHERE CvePregunta = @CvePregunta;
+ DELETE dbo.Tra_Preguntas WHERE CvePregunta = @CvePregunta;
+ SET @Return = 1;
+ END TRY
+ BEGIN CATCH
+ SELECT @ErrorMostrar = 'Ocurrió un error al eliminar la pregunta; favor de contactar a Sistemas.', @ErrorTipo = 1, @Return = 0;
+ DECLARE @ErrorTecnico nvarchar(2048) = CONCAT('Número: ', ERROR_NUMBER(), '; Procedimiento: ', COALESCE(ERROR_PROCEDURE(), 'PA_Tra_PreguntaDelete'), '; Línea: ', ERROR_LINE(), '; Detalle: ', ERROR_MESSAGE());
+ RAISERROR(N'%s', 10, 1, @ErrorTecnico);
+ END CATCH;
+END;
+GO
+
+CREATE OR ALTER PROCEDURE dbo.PA_Tra_OpcionPreguntaList
+ @CvePregunta int,
+ @CveUsuarioEjecuta int,
+ @ErrorMostrar varchar(max) OUTPUT,
+ @ErrorTipo int OUTPUT,
+ @Return bit OUTPUT
+AS
+BEGIN
+ SET NOCOUNT ON;
+ SELECT @ErrorMostrar = NULL, @ErrorTipo = 0, @Return = 0;
+ BEGIN TRY
+ IF NOT EXISTS (SELECT 1 FROM dbo.Sis_Usuarios WHERE CveUsuario = @CveUsuarioEjecuta AND CveRol IN (1, 2) AND Activo = 1)
+ BEGIN
+ SELECT @ErrorMostrar = 'No cuenta con permiso para consultar este catálogo.', @ErrorTipo = 2;
+ RETURN;
+ END;
+ SELECT O.CveOpcionPregunta, O.CvePregunta, P.Pregunta, O.TextoOpcion,
+ O.ValorOpcion, O.Orden, O.EsActivo
+ FROM dbo.Tra_OpcionesPregunta AS O
+ INNER JOIN dbo.Tra_Preguntas AS P ON P.CvePregunta = O.CvePregunta
+ WHERE O.CvePregunta = @CvePregunta
+ ORDER BY O.Orden, O.TextoOpcion;
+ SET @Return = 1;
+ END TRY
+ BEGIN CATCH
+ SELECT @ErrorMostrar = 'Ocurrió un error al consultar las opciones de respuesta; favor de contactar a Sistemas.', @ErrorTipo = 1, @Return = 0;
+ DECLARE @ErrorTecnico nvarchar(2048) = CONCAT('Número: ', ERROR_NUMBER(), '; Procedimiento: ', COALESCE(ERROR_PROCEDURE(), 'PA_Tra_OpcionPreguntaList'), '; Línea: ', ERROR_LINE(), '; Detalle: ', ERROR_MESSAGE());
+ RAISERROR(N'%s', 10, 1, @ErrorTecnico);
+ END CATCH;
+END;
+GO
+
+CREATE OR ALTER PROCEDURE dbo.PA_Tra_OpcionPreguntaGet
+ @CveOpcionPregunta int,
+ @CveUsuarioEjecuta int,
+ @ErrorMostrar varchar(max) OUTPUT,
+ @ErrorTipo int OUTPUT,
+ @Return bit OUTPUT
+AS
+BEGIN
+ SET NOCOUNT ON;
+ SELECT @ErrorMostrar = NULL, @ErrorTipo = 0, @Return = 0;
+ BEGIN TRY
+ IF NOT EXISTS (SELECT 1 FROM dbo.Sis_Usuarios WHERE CveUsuario = @CveUsuarioEjecuta AND CveRol IN (1, 2) AND Activo = 1)
+ BEGIN
+ SELECT @ErrorMostrar = 'No cuenta con permiso para consultar este catálogo.', @ErrorTipo = 2;
+ RETURN;
+ END;
+ SELECT O.CveOpcionPregunta, O.CvePregunta, P.Pregunta, O.TextoOpcion,
+ O.ValorOpcion, O.Orden, O.EsActivo
+ FROM dbo.Tra_OpcionesPregunta AS O
+ INNER JOIN dbo.Tra_Preguntas AS P ON P.CvePregunta = O.CvePregunta
+ WHERE O.CveOpcionPregunta = @CveOpcionPregunta;
+ SET @Return = 1;
+ END TRY
+ BEGIN CATCH
+ SELECT @ErrorMostrar = 'Ocurrió un error al consultar la opción de respuesta; favor de contactar a Sistemas.', @ErrorTipo = 1, @Return = 0;
+ DECLARE @ErrorTecnico nvarchar(2048) = CONCAT('Número: ', ERROR_NUMBER(), '; Procedimiento: ', COALESCE(ERROR_PROCEDURE(), 'PA_Tra_OpcionPreguntaGet'), '; Línea: ', ERROR_LINE(), '; Detalle: ', ERROR_MESSAGE());
+ RAISERROR(N'%s', 10, 1, @ErrorTecnico);
+ END CATCH;
+END;
+GO
+
+CREATE OR ALTER PROCEDURE dbo.PA_Tra_OpcionPreguntaSave
+ @CveOpcionPregunta int = NULL,
+ @CvePregunta int,
+ @TextoOpcion varchar(300),
+ @ValorOpcion varchar(300) = NULL,
+ @EsActivo bit,
+ @CveUsuarioEjecuta int,
+ @ErrorMostrar varchar(max) OUTPUT,
+ @ErrorTipo int OUTPUT,
+ @Return bit OUTPUT
+AS
+BEGIN
+ SET NOCOUNT ON;
+ SELECT @ErrorMostrar = NULL, @ErrorTipo = 0, @Return = 0;
+ BEGIN TRY
+ IF NOT EXISTS (SELECT 1 FROM dbo.Sis_Usuarios WHERE CveUsuario = @CveUsuarioEjecuta AND CveRol IN (1, 2) AND Activo = 1)
+ BEGIN
+ SELECT @ErrorMostrar = 'No cuenta con permiso para modificar este catálogo.', @ErrorTipo = 2;
+ RETURN;
+ END;
+ SELECT @TextoOpcion = LTRIM(RTRIM(@TextoOpcion)),
+ @ValorOpcion = NULLIF(LTRIM(RTRIM(@ValorOpcion)), '');
+ IF NULLIF(@TextoOpcion, '') IS NULL
+ OR NOT EXISTS (SELECT 1 FROM dbo.Tra_Preguntas WHERE CvePregunta = @CvePregunta AND CveTipoPregunta IN (3, 4))
+ BEGIN
+ SELECT @ErrorMostrar = 'Seleccione una pregunta de selección múltiple y capture la respuesta.', @ErrorTipo = 2;
+ RETURN;
+ END;
+ IF EXISTS
+ (
+ SELECT 1
+ FROM dbo.Tra_OpcionesPregunta
+ WHERE CvePregunta = @CvePregunta
+ AND TextoOpcion = @TextoOpcion
+ AND CveOpcionPregunta <> ISNULL(@CveOpcionPregunta, 0)
+ )
+ BEGIN
+ SELECT @ErrorMostrar = 'La respuesta ya está registrada para esta pregunta.', @ErrorTipo = 2;
+ RETURN;
+ END;
+ IF @CveOpcionPregunta IS NULL
+ BEGIN
+ DECLARE @Orden int = ISNULL((
+ SELECT MAX(Orden)
+ FROM dbo.Tra_OpcionesPregunta
+ WHERE CvePregunta = @CvePregunta), 0) + 1;
+
+ INSERT dbo.Tra_OpcionesPregunta (CvePregunta, TextoOpcion, ValorOpcion, Orden, EsActivo)
+ VALUES (@CvePregunta, @TextoOpcion, @ValorOpcion, @Orden, @EsActivo);
+ SET @CveOpcionPregunta = CONVERT(int, SCOPE_IDENTITY());
+ END
+ ELSE
+ BEGIN
+ DECLARE @CvePreguntaAnterior int;
+ SELECT
+ @CvePreguntaAnterior = CvePregunta,
+ @Orden = Orden
+ FROM dbo.Tra_OpcionesPregunta
+ WHERE CveOpcionPregunta = @CveOpcionPregunta;
+
+ IF @CvePreguntaAnterior <> @CvePregunta
+ BEGIN
+ SET @Orden = ISNULL((
+ SELECT MAX(Orden)
+ FROM dbo.Tra_OpcionesPregunta
+ WHERE CvePregunta = @CvePregunta), 0) + 1;
+ END;
+
+ UPDATE dbo.Tra_OpcionesPregunta
+ SET CvePregunta = @CvePregunta, TextoOpcion = @TextoOpcion,
+ ValorOpcion = @ValorOpcion, Orden = @Orden, EsActivo = @EsActivo
+ WHERE CveOpcionPregunta = @CveOpcionPregunta;
+ END;
+ SELECT @CveOpcionPregunta AS CveOpcionPregunta;
+ SET @Return = 1;
+ END TRY
+ BEGIN CATCH
+ SELECT @ErrorMostrar = 'Ocurrió un error al guardar la opción de respuesta; favor de contactar a Sistemas.', @ErrorTipo = 1, @Return = 0;
+ DECLARE @ErrorTecnico nvarchar(2048) = CONCAT('Número: ', ERROR_NUMBER(), '; Procedimiento: ', COALESCE(ERROR_PROCEDURE(), 'PA_Tra_OpcionPreguntaSave'), '; Línea: ', ERROR_LINE(), '; Detalle: ', ERROR_MESSAGE());
+ RAISERROR(N'%s', 10, 1, @ErrorTecnico);
+ END CATCH;
+END;
+GO
+
+CREATE OR ALTER PROCEDURE dbo.PA_Tra_OpcionPreguntaDelete
+ @CveOpcionPregunta int,
+ @CveUsuarioEjecuta int,
+ @ErrorMostrar varchar(max) OUTPUT,
+ @ErrorTipo int OUTPUT,
+ @Return bit OUTPUT
+AS
+BEGIN
+ SET NOCOUNT ON;
+ SELECT @ErrorMostrar = NULL, @ErrorTipo = 0, @Return = 0;
+ BEGIN TRY
+ IF NOT EXISTS (SELECT 1 FROM dbo.Sis_Usuarios WHERE CveUsuario = @CveUsuarioEjecuta AND CveRol IN (1, 2) AND Activo = 1)
+ BEGIN
+ SELECT @ErrorMostrar = 'No cuenta con permiso para eliminar este catálogo.', @ErrorTipo = 2;
+ RETURN;
+ END;
+ IF EXISTS (SELECT 1 FROM dbo.Tra_RespuestasSolicitud WHERE CveOpcionPregunta = @CveOpcionPregunta)
+ BEGIN
+ SELECT @ErrorMostrar = 'La opción ya tiene respuestas registradas y no puede eliminarse. Puede desactivarla.', @ErrorTipo = 2;
+ RETURN;
+ END;
+ DELETE dbo.Tra_OpcionesPregunta WHERE CveOpcionPregunta = @CveOpcionPregunta;
+ SET @Return = 1;
+ END TRY
+ BEGIN CATCH
+ SELECT @ErrorMostrar = 'Ocurrió un error al eliminar la opción de respuesta; favor de contactar a Sistemas.', @ErrorTipo = 1, @Return = 0;
+ DECLARE @ErrorTecnico nvarchar(2048) = CONCAT('Número: ', ERROR_NUMBER(), '; Procedimiento: ', COALESCE(ERROR_PROCEDURE(), 'PA_Tra_OpcionPreguntaDelete'), '; Línea: ', ERROR_LINE(), '; Detalle: ', ERROR_MESSAGE());
+ RAISERROR(N'%s', 10, 1, @ErrorTecnico);
+ END CATCH;
+END;
+GO
+CREATE OR ALTER PROCEDURE dbo.PA_Tra_CatalogoOrdenMove
+ @Entidad varchar(40),
+ @CveRegistro int,
+ @CveReferencia int,
+ @ColocarDespues bit,
+ @CveUsuarioEjecuta int,
+ @ErrorMostrar varchar(max) OUTPUT,
+ @ErrorTipo int OUTPUT,
+ @Return bit OUTPUT
+AS
+BEGIN
+ SET NOCOUNT ON;
+ SELECT @ErrorMostrar = NULL, @ErrorTipo = 0, @Return = 0;
+
+ BEGIN TRY
+ IF NOT EXISTS
+ (
+ SELECT 1
+ FROM dbo.Sis_Usuarios
+ WHERE CveUsuario = @CveUsuarioEjecuta
+ AND CveRol IN (1, 2)
+ AND Activo = 1
+ )
+ BEGIN
+ SELECT
+ @ErrorMostrar = 'No cuenta con permiso para reordenar este catálogo.',
+ @ErrorTipo = 2;
+ RETURN;
+ END;
+
+ IF @CveRegistro <= 0
+ OR @CveReferencia <= 0
+ OR @CveRegistro = @CveReferencia
+ BEGIN
+ SELECT
+ @ErrorMostrar = 'Seleccione una posición válida para mover el registro.',
+ @ErrorTipo = 2;
+ RETURN;
+ END;
+
+ DECLARE @Registros TABLE
+ (
+ CveRegistro int NOT NULL PRIMARY KEY,
+ CvePadre int NULL,
+ Orden int NOT NULL
+ );
+
+ IF @Entidad = 'EstatusSolicitud'
+ BEGIN
+ INSERT @Registros (CveRegistro, CvePadre, Orden)
+ SELECT CveEstatusSolicitud, NULL, Orden
+ FROM dbo.Tra_EstatusSolicitud;
+ END
+ ELSE IF @Entidad = 'TipoTramite'
+ BEGIN
+ INSERT @Registros (CveRegistro, CvePadre, Orden)
+ SELECT CveTipoTramite, NULL, Orden
+ FROM dbo.Tra_TiposTramite;
+ END
+ ELSE IF @Entidad = 'DocumentoRequerido'
+ BEGIN
+ INSERT @Registros (CveRegistro, CvePadre, Orden)
+ SELECT CveDocumentoRequerido, CveTipoTramite, Orden
+ FROM dbo.Tra_DocumentosRequeridos;
+ END
+ ELSE IF @Entidad = 'Pregunta'
+ BEGIN
+ INSERT @Registros (CveRegistro, CvePadre, Orden)
+ SELECT CvePregunta, CveTipoTramite, Orden
+ FROM dbo.Tra_Preguntas;
+ END
+ ELSE IF @Entidad = 'OpcionPregunta'
+ BEGIN
+ INSERT @Registros (CveRegistro, CvePadre, Orden)
+ SELECT CveOpcionPregunta, CvePregunta, Orden
+ FROM dbo.Tra_OpcionesPregunta;
+ END
+ ELSE
+ BEGIN
+ SELECT
+ @ErrorMostrar = 'El catálogo solicitado no admite reordenamiento.',
+ @ErrorTipo = 2;
+ RETURN;
+ END;
+
+ DECLARE @OrdenAnterior int;
+ DECLARE @OrdenReferencia int;
+ DECLARE @CvePadre int;
+ DECLARE @CvePadreReferencia int;
+ DECLARE @OrdenNuevo int;
+
+ SELECT
+ @OrdenAnterior = Orden,
+ @CvePadre = CvePadre
+ FROM @Registros
+ WHERE CveRegistro = @CveRegistro;
+
+ SELECT
+ @OrdenReferencia = Orden,
+ @CvePadreReferencia = CvePadre
+ FROM @Registros
+ WHERE CveRegistro = @CveReferencia;
+
+ IF @OrdenAnterior IS NULL
+ OR @OrdenReferencia IS NULL
+ OR ISNULL(@CvePadre, -1) <> ISNULL(@CvePadreReferencia, -1)
+ BEGIN
+ SELECT
+ @ErrorMostrar = 'Los registros seleccionados no pertenecen al mismo catálogo.',
+ @ErrorTipo = 2;
+ RETURN;
+ END;
+
+ SET @OrdenNuevo =
+ CASE
+ WHEN @ColocarDespues = 1 AND @OrdenAnterior < @OrdenReferencia
+ THEN @OrdenReferencia
+ WHEN @ColocarDespues = 1
+ THEN @OrdenReferencia + 1
+ WHEN @OrdenAnterior < @OrdenReferencia
+ THEN @OrdenReferencia - 1
+ ELSE @OrdenReferencia
+ END;
+
+ IF @OrdenNuevo = @OrdenAnterior
+ BEGIN
+ SET @Return = 1;
+ RETURN;
+ END;
+
+ IF @OrdenAnterior < @OrdenNuevo
+ BEGIN
+ UPDATE @Registros
+ SET Orden = Orden - 1
+ WHERE ISNULL(CvePadre, -1) = ISNULL(@CvePadre, -1)
+ AND CveRegistro <> @CveRegistro
+ AND Orden > @OrdenAnterior
+ AND Orden <= @OrdenNuevo;
+ END
+ ELSE
+ BEGIN
+ UPDATE @Registros
+ SET Orden = Orden + 1
+ WHERE ISNULL(CvePadre, -1) = ISNULL(@CvePadre, -1)
+ AND CveRegistro <> @CveRegistro
+ AND Orden >= @OrdenNuevo
+ AND Orden < @OrdenAnterior;
+ END;
+
+ UPDATE @Registros
+ SET Orden = @OrdenNuevo
+ WHERE CveRegistro = @CveRegistro;
+
+ IF @Entidad = 'EstatusSolicitud'
+ BEGIN
+ UPDATE E
+ SET Orden = R.Orden
+ FROM dbo.Tra_EstatusSolicitud AS E
+ INNER JOIN @Registros AS R
+ ON R.CveRegistro = E.CveEstatusSolicitud
+ WHERE E.Orden <> R.Orden;
+ END
+ ELSE IF @Entidad = 'TipoTramite'
+ BEGIN
+ UPDATE T
+ SET Orden = R.Orden
+ FROM dbo.Tra_TiposTramite AS T
+ INNER JOIN @Registros AS R
+ ON R.CveRegistro = T.CveTipoTramite
+ WHERE T.Orden <> R.Orden;
+ END
+ ELSE IF @Entidad = 'DocumentoRequerido'
+ BEGIN
+ UPDATE D
+ SET Orden = R.Orden
+ FROM dbo.Tra_DocumentosRequeridos AS D
+ INNER JOIN @Registros AS R
+ ON R.CveRegistro = D.CveDocumentoRequerido
+ WHERE D.Orden <> R.Orden;
+ END
+ ELSE IF @Entidad = 'Pregunta'
+ BEGIN
+ UPDATE P
+ SET Orden = R.Orden
+ FROM dbo.Tra_Preguntas AS P
+ INNER JOIN @Registros AS R
+ ON R.CveRegistro = P.CvePregunta
+ WHERE P.Orden <> R.Orden;
+ END
+ ELSE
+ BEGIN
+ UPDATE O
+ SET Orden = R.Orden
+ FROM dbo.Tra_OpcionesPregunta AS O
+ INNER JOIN @Registros AS R
+ ON R.CveRegistro = O.CveOpcionPregunta
+ WHERE O.Orden <> R.Orden;
+ END;
+
+ SET @Return = 1;
+ END TRY
+ BEGIN CATCH
+ SELECT
+ @ErrorMostrar = 'Ocurrió un error al actualizar el orden del catálogo; favor de contactar a Sistemas.',
+ @ErrorTipo = 1,
+ @Return = 0;
+
+ DECLARE @ErrorTecnico nvarchar(2048) = CONCAT(
+ 'Número: ', ERROR_NUMBER(),
+ '; Procedimiento: ', COALESCE(ERROR_PROCEDURE(), 'PA_Tra_CatalogoOrdenMove'),
+ '; Línea: ', ERROR_LINE(),
+ '; Detalle: ', ERROR_MESSAGE()
+ );
+
+ RAISERROR(N'%s', 10, 1, @ErrorTecnico);
+ END CATCH;
+END;
+GO
\ No newline at end of file
diff --git a/Cobro de Derechos y Aportaciones Cantabria 2.xlsx b/Cobro de Derechos y Aportaciones Cantabria 2.xlsx
new file mode 100644
index 0000000..b8b5463
Binary files /dev/null and b/Cobro de Derechos y Aportaciones Cantabria 2.xlsx differ
diff --git a/DS01- CANTABRIA 2 ETAPA -052025-03.dwg b/DS01- CANTABRIA 2 ETAPA -052025-03.dwg
new file mode 100644
index 0000000..7149832
Binary files /dev/null and b/DS01- CANTABRIA 2 ETAPA -052025-03.dwg differ
diff --git a/Diagrama para digitalizar el proceso de fraccionamientos versión 9 con número.pdf b/Diagrama para digitalizar el proceso de fraccionamientos versión 9 con número.pdf
new file mode 100644
index 0000000..3050d95
Binary files /dev/null and b/Diagrama para digitalizar el proceso de fraccionamientos versión 9 con número.pdf differ
diff --git a/ErrorReports/f4bac121a1625586cb5b9106c8e839a7990f2b6c/cer.log b/ErrorReports/f4bac121a1625586cb5b9106c8e839a7990f2b6c/cer.log
new file mode 100644
index 0000000..068e40b
--- /dev/null
+++ b/ErrorReports/f4bac121a1625586cb5b9106c8e839a7990f2b6c/cer.log
@@ -0,0 +1,40 @@
+[07/29/26 11:01:05] info ================= cer started =================
+[07/29/26 11:01:05] info C:\Program Files\Autodesk\AutoCAD 2027\cer.dll, 7.2.4+20251128.8f05bb68.927
+[07/29/26 11:01:05] info Setting key SP/SDK_VERSION, value 7.2.4+20251128.8f05bb68.927 (maxCount 1)
+[07/29/26 11:01:05] info Setting key SP/PRODUCT_NAME_HASH, value f4bac121a1625586cb5b9106c8e839a7990f2b6c (maxCount 1)
+[07/29/26 11:01:05] info Setting key SP/RUNTIME_ARCH, value 1 (maxCount 1)
+[07/29/26 11:01:05] info Set senddmp exe path to C:\Program Files\Autodesk\AutoCAD 2027\CER\senddmp.exe
+[07/29/26 11:01:05] info The cer_service exe C:\Program Files\Autodesk\AutoCAD 2027\CER\service\cer_service.exe is not in folder C:\Program Files\Autodesk\AutoCAD 2027\CER\, it's not a sandbox
+[07/29/26 11:01:05] info Set upi exe path to C:\Program Files\Autodesk\AutoCAD 2027\CER\upi.exe
+[07/29/26 11:01:05] info launching C:\Program Files\Autodesk\AutoCAD 2027\CER\upi.exe --cmd=get-device-id C:\Users\caudi\AppData\Local\Temp\15FCE767F24F74D1\Temp\upi_deviceid2
+[07/29/26 11:01:06] info Set deviceID2 to 92CA75B8D4EB0A0E74EDB1E61E362886DC67039BD12745B7CEF6A36A94EA9884&1D8D189A9AE197CDA5D2D77E640375435D8D952FEBE5E1B888B8567C4BECED88&0A3B0E00D8EB341B2395D85AAC2E422CF0C9599C67A5867798DFE9D60B41E70E
+[07/29/26 11:01:06] info Setting key SP/DEVICEID2, value 92CA75B8D4EB0A0E74EDB1E61E362886DC67039BD12745B7CEF6A36A94EA9884&1D8D189A9AE197CDA5D2D77E640375435D8D952FEBE5E1B888B8567C4BECED88&0A3B0E00D8EB341B2395D85AAC2E422CF0C9599C67A5867798DFE9D60B41E70E (maxCount 1)
+[07/29/26 11:01:06] info Setting key SP/UUID, value f4bac121a1625586cb5b9106c8e839a7990f2b6c92CA75B8D4EB0A0E74EDB1E61E362886DC67039BD12745B7CEF6A36A94EA9884&1D8D189A9AE197CDA5D2D77E640375435D8D952FEBE5E1B888B8567C4BECED88&0A3B0E00D8EB341B2395D85AAC2E422CF0C9599C67A5867798DFE9D60B41E70E (maxCount 1)
+[07/29/26 11:01:06] info Set senddmp exe path to C:\Program Files\Autodesk\AutoCAD 2027\CER\senddmp.exe
+[07/29/26 11:01:06] info The cer_service exe C:\Program Files\Autodesk\AutoCAD 2027\CER\service\cer_service.exe is not in folder C:\Program Files\Autodesk\AutoCAD 2027\CER\, it's not a sandbox
+[07/29/26 11:01:06] info launching C:\Program Files\Autodesk\AutoCAD 2027\CER\upi.exe "C:\Program Files\Autodesk\AutoCAD 2027\es-ES\UPI\upiconfig.xml" C:\Users\caudi\AppData\Local\Temp\15FCE767F24F74D1\Temp\upi_info.xml
+[07/29/26 11:01:07] info Setting key SP/UPI_PRODUCT, value ACD (maxCount 1)
+[07/29/26 11:01:07] info Setting key SP/UPI_RELEASE, value 2027 (maxCount 1)
+[07/29/26 11:01:07] info Setting key SP/UPI_MASTER, value {28B89EEF-A101-040A-2102-CF3F3A09B77D} (maxCount 1)
+[07/29/26 11:01:07] info Setting key SP/UPI_BUILD, value 26.0.60.0.0 (maxCount 1)
+[07/29/26 11:01:07] info Setting key SP/UPI_FULL_XML, value
+
+
+
+ (maxCount 1)
+[07/29/26 11:01:07] info set legacy options: /APPICON "C:\Program Files\Autodesk\AutoCAD 2027\AcBrandRes.dll" /APPICONID 1
+[07/29/26 11:01:07] info Setting key RP/AppIcon, value C:\Program Files\Autodesk\AutoCAD 2027\AcBrandRes.dll (maxCount 1)
+[07/29/26 11:01:07] info Setting key RP/AppIconId, value 1 (maxCount 1)
+[07/29/26 11:01:07] info Setting key RP/CadSettingsRegPath, value Software\Autodesk\AutoCAD\R26.0\ACAD-A101:40A\CadManagerControl\CustomerErrorReport (maxCount 1)
+[07/29/26 11:01:07] info Setting key RP/AppLocaleId, value 1034 (maxCount 1)
+[07/29/26 11:01:07] info Setting key RP/AppXML, value (maxCount 100)
+[07/29/26 11:01:07] info Setting key SP/THEME_TYPE, value Blue (maxCount 1)
+[07/29/26 11:01:07] info Setting key SP/EXCEPTION_INFO_POINTER, value 140710146442520 (maxCount 1)
+[07/29/26 11:01:07] info Setting key SP/THREAD_ID, value 4294967295 (maxCount 1)
+[07/29/26 11:01:07] info Get key SP/THREAD_ID, index 0: "4294967295"
+[07/29/26 11:01:07] info Setting key SP/WER, value 0 (maxCount 1)
+[07/29/26 11:01:07] info Get key SP/WER, index 0: "0"
+[07/29/26 11:01:07] info Registered C:\Program Files\Autodesk\AutoCAD 2027\cer.dll as WER runtime exception module
+[07/29/26 11:01:07] info Current ErrorMode is 32769
+[07/29/26 11:01:07] debug Receiver ping: pong
+[07/29/26 11:01:17] debug Receiver ping: pong
diff --git a/Esquema_BD_AguaHillo.sql b/Esquema_BD_AguaHillo.sql
index 72a4eff..924247d 100644
--- a/Esquema_BD_AguaHillo.sql
+++ b/Esquema_BD_AguaHillo.sql
@@ -23,8 +23,8 @@ GO
CREATE TABLE [dbo].[Sis_Roles] (
[CveRol] int IDENTITY(1,1) NOT NULL,
- [NombreRol] varchar(100) COLLATE Modern_Spanish_CS_AI NOT NULL,
- [Descripcion] varchar(255) COLLATE Modern_Spanish_CS_AI NULL,
+ [NombreRol] varchar(100) COLLATE Modern_Spanish_CS_AS NOT NULL,
+ [Descripcion] varchar(255) COLLATE Modern_Spanish_CS_AS NULL,
[Activo] bit CONSTRAINT [DF_Sis_Roles_Activo] DEFAULT ((1)) NOT NULL,
[FechaCreacion] datetime CONSTRAINT [DF_Sis_Roles_FechaCreacion] DEFAULT (GETDATE()) NOT NULL,
[FechaActualizacion] datetime NULL,
@@ -38,8 +38,8 @@ GO
CREATE TABLE [dbo].[Sis_Plataformas] (
[CvePlataforma] int IDENTITY(1,1) NOT NULL,
- [NombrePlataforma] varchar(100) COLLATE Modern_Spanish_CS_AI NOT NULL,
- [Descripcion] varchar(255) COLLATE Modern_Spanish_CS_AI NULL,
+ [NombrePlataforma] varchar(100) COLLATE Modern_Spanish_CS_AS NOT NULL,
+ [Descripcion] varchar(255) COLLATE Modern_Spanish_CS_AS NULL,
[Activo] bit CONSTRAINT [DF_Sis_Plataformas_Activo] DEFAULT ((1)) NOT NULL,
[FechaCreacion] datetime CONSTRAINT [DF_Sis_Plataformas_FechaCreacion] DEFAULT (GETDATE()) NOT NULL,
[FechaActualizacion] datetime NULL,
@@ -53,9 +53,9 @@ GO
CREATE TABLE [dbo].[Sis_Permisos] (
[CvePermiso] int IDENTITY(1,1) NOT NULL,
- [CodigoPermiso] varchar(100) COLLATE Modern_Spanish_CS_AI NOT NULL,
- [NombrePermiso] varchar(150) COLLATE Modern_Spanish_CS_AI NOT NULL,
- [Descripcion] varchar(255) COLLATE Modern_Spanish_CS_AI NULL,
+ [CodigoPermiso] varchar(100) COLLATE Modern_Spanish_CI_AS NOT NULL,
+ [NombrePermiso] varchar(150) COLLATE Modern_Spanish_CS_AS NOT NULL,
+ [Descripcion] varchar(255) COLLATE Modern_Spanish_CS_AS NULL,
[Activo] bit CONSTRAINT [DF_Sis_Permisos_Activo] DEFAULT ((1)) NOT NULL,
[FechaCreacion] datetime CONSTRAINT [DF_Sis_Permisos_FechaCreacion] DEFAULT (GETDATE()) NOT NULL,
[FechaActualizacion] datetime NULL,
@@ -69,9 +69,9 @@ GO
CREATE TABLE [dbo].[Sis_Usuarios] (
[CveUsuario] int IDENTITY(1,1) NOT NULL,
- [NombreUsuario] varchar(100) COLLATE Modern_Spanish_CS_AI NOT NULL,
- [HashContrasena] varchar(500) COLLATE Modern_Spanish_CS_AI NOT NULL,
- [CorreoElectronico] varchar(255) COLLATE Modern_Spanish_CS_AI NULL,
+ [NombreUsuario] varchar(100) COLLATE Modern_Spanish_CI_AS NOT NULL,
+ [HashContrasena] varchar(500) COLLATE Modern_Spanish_CS_AS NOT NULL,
+ [CorreoElectronico] varchar(255) COLLATE Modern_Spanish_CS_AS NULL,
[CveRol] int NOT NULL,
[Activo] bit CONSTRAINT [DF_Sis_Usuarios_Activo] DEFAULT ((1)) NOT NULL,
[FechaUltimaConexion] datetime NULL,
@@ -93,11 +93,11 @@ CREATE TABLE [dbo].[Sis_Modulos] (
[CveModulo] int IDENTITY(1,1) NOT NULL,
[CveModuloPadre] int NULL,
[CvePlataforma] int NOT NULL,
- [NombreModulo] varchar(150) COLLATE Modern_Spanish_CS_AI NOT NULL,
- [Descripcion] varchar(255) COLLATE Modern_Spanish_CS_AI NULL,
- [Url] varchar(500) COLLATE Modern_Spanish_CS_AI NULL,
- [ClaseCssIcono] varchar(150) COLLATE Modern_Spanish_CS_AI NULL,
- [ClaseCssEstilo] varchar(150) COLLATE Modern_Spanish_CS_AI NULL,
+ [NombreModulo] varchar(150) COLLATE Modern_Spanish_CS_AS NOT NULL,
+ [Descripcion] varchar(255) COLLATE Modern_Spanish_CS_AS NULL,
+ [Url] varchar(500) COLLATE Modern_Spanish_CS_AS NULL,
+ [ClaseCssIcono] varchar(150) COLLATE Modern_Spanish_CS_AS NULL,
+ [ClaseCssEstilo] varchar(150) COLLATE Modern_Spanish_CS_AS NULL,
[OrdenVisualizacion] int CONSTRAINT [DF_Sis_Modulos_OrdenVisualizacion] DEFAULT ((0)) NOT NULL,
[Visible] bit CONSTRAINT [DF_Sis_Modulos_Visible] DEFAULT ((1)) NOT NULL,
[Activo] bit CONSTRAINT [DF_Sis_Modulos_Activo] DEFAULT ((1)) NOT NULL,
@@ -159,10 +159,10 @@ GO
CREATE TABLE [dbo].[Sis_UsuariosSesiones] (
[CveUsuarioSesion] int IDENTITY(1,1) NOT NULL,
[CveUsuario] int NOT NULL,
- [TokenSesion] varchar(200) COLLATE Modern_Spanish_CS_AI NOT NULL,
- [DireccionIP] varchar(50) COLLATE Modern_Spanish_CS_AI NULL,
- [AgenteUsuario] varchar(1000) COLLATE Modern_Spanish_CS_AI NULL,
- [NombreDominio] varchar(255) COLLATE Modern_Spanish_CS_AI NULL,
+ [TokenSesion] varchar(200) COLLATE Modern_Spanish_CS_AS NOT NULL,
+ [DireccionIP] varchar(50) COLLATE Modern_Spanish_CS_AS NULL,
+ [AgenteUsuario] varchar(1000) COLLATE Modern_Spanish_CS_AS NULL,
+ [NombreDominio] varchar(255) COLLATE Modern_Spanish_CS_AS NULL,
[FechaInicio] datetime CONSTRAINT [DF_Sis_UsuariosSesiones_FechaInicio] DEFAULT (GETDATE()) NOT NULL,
[FechaUltimaActividad] datetime NULL,
[FechaFin] datetime NULL,
@@ -180,11 +180,11 @@ CREATE TABLE [dbo].[Sis_UsuariosAutorizaciones] (
[CvePermiso] int NOT NULL,
[CveUsuarioSolicitante] int NOT NULL,
[CveUsuarioAutorizador] int NULL,
- [EstadoAutorizacion] varchar(30) COLLATE Modern_Spanish_CS_AI
+ [EstadoAutorizacion] varchar(30) COLLATE Modern_Spanish_CS_AS
CONSTRAINT [DF_Sis_UsuariosAutorizaciones_Estado]
DEFAULT ('Pendiente') NOT NULL,
- [ComentarioSolicitud] varchar(500) COLLATE Modern_Spanish_CS_AI NULL,
- [ComentarioAutorizacion] varchar(500) COLLATE Modern_Spanish_CS_AI NULL,
+ [ComentarioSolicitud] varchar(500) COLLATE Modern_Spanish_CS_AS NULL,
+ [ComentarioAutorizacion] varchar(500) COLLATE Modern_Spanish_CS_AS NULL,
[FechaSolicitud] datetime
CONSTRAINT [DF_Sis_UsuariosAutorizaciones_FechaSolicitud]
DEFAULT (GETDATE()) NOT NULL,
@@ -209,14 +209,14 @@ GO
CREATE TABLE [dbo].[Sis_UsuariosSuscripcionesPush] (
[CveSuscripcionPush] int IDENTITY(1,1) NOT NULL,
[CveUsuario] int NOT NULL,
- [Endpoint] varchar(1000) COLLATE Modern_Spanish_CS_AI NOT NULL,
- [P256DH] varchar(500) COLLATE Modern_Spanish_CS_AI NOT NULL,
- [ClaveAutenticacion] varchar(500) COLLATE Modern_Spanish_CS_AI NOT NULL,
+ [Endpoint] varchar(1000) COLLATE Modern_Spanish_CS_AS NOT NULL,
+ [P256DH] varchar(500) COLLATE Modern_Spanish_CS_AS NOT NULL,
+ [ClaveAutenticacion] varchar(500) COLLATE Modern_Spanish_CS_AS NOT NULL,
[Activo] bit CONSTRAINT [DF_Sis_UsuariosSuscripcionesPush_Activo] DEFAULT ((1)) NOT NULL,
- [AgenteUsuario] varchar(1000) COLLATE Modern_Spanish_CS_AI NULL,
- [Plataforma] varchar(100) COLLATE Modern_Spanish_CS_AI NULL,
- [Navegador] varchar(100) COLLATE Modern_Spanish_CS_AI NULL,
- [NombreDominio] varchar(255) COLLATE Modern_Spanish_CS_AI NULL,
+ [AgenteUsuario] varchar(1000) COLLATE Modern_Spanish_CS_AS NULL,
+ [Plataforma] varchar(100) COLLATE Modern_Spanish_CS_AS NULL,
+ [Navegador] varchar(100) COLLATE Modern_Spanish_CS_AS NULL,
+ [NombreDominio] varchar(255) COLLATE Modern_Spanish_CS_AS NULL,
[FechaUltimaConexion] datetime NULL,
[FechaCreacion] datetime
CONSTRAINT [DF_Sis_UsuariosSuscripcionesPush_FechaCreacion]
@@ -231,13 +231,13 @@ GO
CREATE TABLE [dbo].[Sis_Notificaciones] (
[CveNotificacion] int IDENTITY(1,1) NOT NULL,
[CveUsuario] int NOT NULL,
- [TipoNotificacion] varchar(50) COLLATE Modern_Spanish_CS_AI NOT NULL,
- [EstadoNotificacion] varchar(30) COLLATE Modern_Spanish_CS_AI
+ [TipoNotificacion] varchar(50) COLLATE Modern_Spanish_CS_AS NOT NULL,
+ [EstadoNotificacion] varchar(30) COLLATE Modern_Spanish_CS_AS
CONSTRAINT [DF_Sis_Notificaciones_Estado]
DEFAULT ('Pendiente') NOT NULL,
- [Titulo] varchar(200) COLLATE Modern_Spanish_CS_AI NOT NULL,
- [Mensaje] varchar(max) COLLATE Modern_Spanish_CS_AI NOT NULL,
- [Url] varchar(500) COLLATE Modern_Spanish_CS_AI NULL,
+ [Titulo] varchar(200) COLLATE Modern_Spanish_CS_AS NOT NULL,
+ [Mensaje] varchar(max) COLLATE Modern_Spanish_CS_AS NOT NULL,
+ [Url] varchar(500) COLLATE Modern_Spanish_CS_AS NULL,
[Leida] bit CONSTRAINT [DF_Sis_Notificaciones_Leida] DEFAULT ((0)) NOT NULL,
[MostradaEnCampana] bit CONSTRAINT [DF_Sis_Notificaciones_MostradaEnCampana] DEFAULT ((0)) NOT NULL,
[FechaEnvio] datetime NULL,
@@ -278,12 +278,12 @@ GO
CREATE TABLE [dbo].[Sis_NotificacionesEnvios] (
[CveEnvioNotificacion] int IDENTITY(1,1) NOT NULL,
[CveNotificacion] int NOT NULL,
- [CanalEnvio] varchar(50) COLLATE Modern_Spanish_CS_AI NOT NULL,
- [EstadoEnvio] varchar(30) COLLATE Modern_Spanish_CS_AI
+ [CanalEnvio] varchar(50) COLLATE Modern_Spanish_CS_AS NOT NULL,
+ [EstadoEnvio] varchar(30) COLLATE Modern_Spanish_CS_AS
CONSTRAINT [DF_Sis_NotificacionesEnvios_Estado]
DEFAULT ('Pendiente') NOT NULL,
- [RespuestaProveedor] varchar(max) COLLATE Modern_Spanish_CS_AI NULL,
- [MensajeError] varchar(max) COLLATE Modern_Spanish_CS_AI NULL,
+ [RespuestaProveedor] varchar(max) COLLATE Modern_Spanish_CS_AS NULL,
+ [MensajeError] varchar(max) COLLATE Modern_Spanish_CS_AS NULL,
[FechaEnvio] datetime NULL,
[FechaCreacion] datetime
CONSTRAINT [DF_Sis_NotificacionesEnvios_FechaCreacion]
@@ -322,12 +322,12 @@ GO
CREATE TABLE [dbo].[Sis_IntentosInicioSesion] (
[CveIntentoInicioSesion] int IDENTITY(1,1) NOT NULL,
[CveUsuario] int NULL,
- [NombreUsuario] varchar(100) COLLATE Modern_Spanish_CS_AI NOT NULL,
+ [NombreUsuario] varchar(100) COLLATE Modern_Spanish_CI_AS NOT NULL,
[Exitoso] bit NOT NULL,
- [MotivoFallo] varchar(200) COLLATE Modern_Spanish_CS_AI NULL,
- [DireccionIP] varchar(50) COLLATE Modern_Spanish_CS_AI NULL,
- [AgenteUsuario] varchar(1000) COLLATE Modern_Spanish_CS_AI NULL,
- [NombreDominio] varchar(255) COLLATE Modern_Spanish_CS_AI NULL,
+ [MotivoFallo] varchar(200) COLLATE Modern_Spanish_CS_AS NULL,
+ [DireccionIP] varchar(50) COLLATE Modern_Spanish_CS_AS NULL,
+ [AgenteUsuario] varchar(1000) COLLATE Modern_Spanish_CS_AS NULL,
+ [NombreDominio] varchar(255) COLLATE Modern_Spanish_CS_AS NULL,
[FechaCreacion] datetime
CONSTRAINT [DF_Sis_IntentosInicioSesion_FechaCreacion]
DEFAULT (GETDATE()) NOT NULL,
@@ -340,13 +340,13 @@ GO
CREATE TABLE [dbo].[Sis_Auditorias] (
[CveAuditoria] int IDENTITY(1,1) NOT NULL,
[CveUsuario] int NULL,
- [TipoEvento] varchar(100) COLLATE Modern_Spanish_CS_AI NOT NULL,
- [NombreEntidad] varchar(150) COLLATE Modern_Spanish_CS_AI NULL,
- [LlaveEntidad] varchar(100) COLLATE Modern_Spanish_CS_AI NULL,
- [Descripcion] varchar(500) COLLATE Modern_Spanish_CS_AI NULL,
- [DireccionIP] varchar(50) COLLATE Modern_Spanish_CS_AI NULL,
- [AgenteUsuario] varchar(1000) COLLATE Modern_Spanish_CS_AI NULL,
- [NombreDominio] varchar(255) COLLATE Modern_Spanish_CS_AI NULL,
+ [TipoEvento] varchar(100) COLLATE Modern_Spanish_CS_AS NOT NULL,
+ [NombreEntidad] varchar(150) COLLATE Modern_Spanish_CS_AS NULL,
+ [LlaveEntidad] varchar(100) COLLATE Modern_Spanish_CS_AS NULL,
+ [Descripcion] varchar(500) COLLATE Modern_Spanish_CS_AS NULL,
+ [DireccionIP] varchar(50) COLLATE Modern_Spanish_CS_AS NULL,
+ [AgenteUsuario] varchar(1000) COLLATE Modern_Spanish_CS_AS NULL,
+ [NombreDominio] varchar(255) COLLATE Modern_Spanish_CS_AS NULL,
[FechaCreacion] datetime CONSTRAINT [DF_Sis_Auditorias_FechaCreacion] DEFAULT (GETDATE()) NOT NULL,
CONSTRAINT [PK_Sis_Auditorias]
PRIMARY KEY CLUSTERED ([CveAuditoria])
@@ -357,9 +357,9 @@ GO
CREATE TABLE [dbo].[Sis_AuditoriasDetalles] (
[CveAuditoriaDetalle] int IDENTITY(1,1) NOT NULL,
[CveAuditoria] int NOT NULL,
- [NombreCampo] varchar(150) COLLATE Modern_Spanish_CS_AI NOT NULL,
- [ValorAnterior] varchar(max) COLLATE Modern_Spanish_CS_AI NULL,
- [ValorNuevo] varchar(max) COLLATE Modern_Spanish_CS_AI NULL,
+ [NombreCampo] varchar(150) COLLATE Modern_Spanish_CS_AS NOT NULL,
+ [ValorAnterior] varchar(max) COLLATE Modern_Spanish_CS_AS NULL,
+ [ValorNuevo] varchar(max) COLLATE Modern_Spanish_CS_AS NULL,
CONSTRAINT [PK_Sis_AuditoriasDetalles]
PRIMARY KEY CLUSTERED ([CveAuditoriaDetalle])
)
@@ -369,20 +369,20 @@ GO
CREATE TABLE [dbo].[Gral_SAT_ProductosServicios] (
[CveSATPS] int IDENTITY(1,1) NOT NULL,
- [SATClavePS] nvarchar(20) COLLATE Modern_Spanish_CS_AI NULL,
- [Descripcion] nvarchar(600) COLLATE Modern_Spanish_CS_AI NULL,
- [IncluirIVAtrasladado] nvarchar(255) COLLATE Modern_Spanish_CS_AI NULL,
- [IncluirIEPStrasladado] nvarchar(255) COLLATE Modern_Spanish_CS_AI NULL,
- [ComplementoIncluir] nvarchar(255) COLLATE Modern_Spanish_CS_AI NULL,
+ [SATClavePS] nvarchar(20) COLLATE Modern_Spanish_CS_AS NULL,
+ [Descripcion] nvarchar(600) COLLATE Modern_Spanish_CS_AS NULL,
+ [IncluirIVAtrasladado] nvarchar(255) COLLATE Modern_Spanish_CS_AS NULL,
+ [IncluirIEPStrasladado] nvarchar(255) COLLATE Modern_Spanish_CS_AS NULL,
+ [ComplementoIncluir] nvarchar(255) COLLATE Modern_Spanish_CS_AS NULL,
[IncluirIVATrasladado2] bit DEFAULT ((0)) NOT NULL,
[IncluirIESTrasladado2] bit DEFAULT ((0)) NOT NULL,
[FechaInicioVigencia] date NULL,
[FechaFinVigencia] date NULL,
[EstimuloFranjaFronteriza] bit NULL,
- [PalabrasSimilares] varchar(600) COLLATE Modern_Spanish_CS_AI NULL,
+ [PalabrasSimilares] varchar(600) COLLATE Modern_Spanish_CS_AS NULL,
[Estatus] bit DEFAULT ((1)) NOT NULL,
[AplicaCartaPorte] bit NULL,
- [MaterialPeligroso] varchar(3) COLLATE Modern_Spanish_CS_AI NULL,
+ [MaterialPeligroso] varchar(3) COLLATE Modern_Spanish_CS_AS NULL,
CONSTRAINT [PK_Gral_SAT_ProductosServicios_1] PRIMARY KEY CLUSTERED ([CveSATPS])
WITH (PAD_INDEX = OFF, FILLFACTOR = 80, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON)
ON [PRIMARY]
@@ -392,7 +392,7 @@ GO
CREATE TABLE [dbo].[Gral_Categorias] (
[CveCategoria] int IDENTITY(1,1) NOT NULL,
- [Categoria] varchar(50) COLLATE Modern_Spanish_CS_AI NOT NULL,
+ [Categoria] varchar(50) COLLATE Modern_Spanish_CS_AS NOT NULL,
[Estatus] bit DEFAULT ((1)) NOT NULL,
[Tipo] tinyint DEFAULT ((1)) NOT NULL,
[FechaIng] datetime NOT NULL,
@@ -409,8 +409,8 @@ GO
CREATE TABLE [dbo].[Clasificaciones] (
[CveClasificacion] int IDENTITY(1,1) NOT NULL,
- [Codigo] varchar(20) COLLATE Modern_Spanish_CS_AI NULL,
- [Clasificacion] varchar(200) COLLATE Modern_Spanish_CS_AI NOT NULL,
+ [Codigo] varchar(20) COLLATE Modern_Spanish_CI_AS NULL,
+ [Clasificacion] varchar(200) COLLATE Modern_Spanish_CS_AS NOT NULL,
[Estado] bit DEFAULT ((1)) NOT NULL,
[Afectable] bit DEFAULT ((1)) NOT NULL,
[CveCategoria] int NULL,
@@ -442,31 +442,31 @@ CREATE TABLE [dbo].[Banc_BancosCuentas] (
[CveBancoCuenta] int IDENTITY(1,1) NOT NULL,
[CveBanco] int NOT NULL,
[CveTipoCuenta] int NOT NULL,
- [NumCuenta] varchar(50) COLLATE Modern_Spanish_CS_AI NOT NULL,
+ [NumCuenta] varchar(50) COLLATE Modern_Spanish_CS_AS NOT NULL,
[CveMoneda] int DEFAULT ((1)) NOT NULL,
- [CLABE] varchar(18) COLLATE Modern_Spanish_CS_AI NULL,
+ [CLABE] varchar(18) COLLATE Modern_Spanish_CS_AS NULL,
[DiaCorte] int DEFAULT ((0)) NULL,
[FInicial] int NOT NULL,
[FActual] int NOT NULL,
[FFinal] int NOT NULL,
[LimiteCredito] money DEFAULT ((0)) NOT NULL,
[UsaLayout] bit DEFAULT ((0)) NOT NULL,
- [FormatoCheque] varchar(50) COLLATE Modern_Spanish_CS_AI NULL,
- [ConvenioPagoElectronico] varchar(10) COLLATE Modern_Spanish_CS_AI NULL,
- [PrefijoConta] varchar(2) COLLATE Modern_Spanish_CS_AI NULL,
+ [FormatoCheque] varchar(50) COLLATE Modern_Spanish_CS_AS NULL,
+ [ConvenioPagoElectronico] varchar(10) COLLATE Modern_Spanish_CS_AS NULL,
+ [PrefijoConta] varchar(2) COLLATE Modern_Spanish_CS_AS NULL,
[Estatus] bit DEFAULT ((1)) NOT NULL,
[Fecha] datetime NOT NULL,
[CveUsuario] int NOT NULL,
[UsaTarjeta] bit NULL,
[SaldoInicial] money NULL,
- [ConvenioPagoElectronicoGrupos] varchar(10) COLLATE Modern_Spanish_CS_AI NULL,
+ [ConvenioPagoElectronicoGrupos] varchar(10) COLLATE Modern_Spanish_CS_AS NULL,
[UsaLayoutGrupos] bit NULL,
[TieneTerminal] bit DEFAULT ((0)) NOT NULL,
[CveBancoCuentaPadre] int NULL,
[CveSubProyecto] int NULL,
- [NumeroSucursal] varchar(10) COLLATE Modern_Spanish_CS_AI NULL,
+ [NumeroSucursal] varchar(10) COLLATE Modern_Spanish_CS_AS NULL,
[EsCajas] bit DEFAULT ((0)) NOT NULL,
- [ConvenioPagoElectronicoNomina] varchar(10) COLLATE Modern_Spanish_CS_AI NULL,
+ [ConvenioPagoElectronicoNomina] varchar(10) COLLATE Modern_Spanish_CS_AS NULL,
CONSTRAINT [PK_BancosCuentas] PRIMARY KEY CLUSTERED ([CveBancoCuenta])
WITH (PAD_INDEX = OFF, FILLFACTOR = 80, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON)
ON [PRIMARY],
@@ -479,9 +479,9 @@ GO
CREATE TABLE [dbo].[Conta_CodigosAgrupadoresSAT] (
[CveAgrupadorSAT] int IDENTITY(1,1) NOT NULL,
- [Codigo] nvarchar(20) COLLATE Modern_Spanish_CS_AI NOT NULL,
- [Nombre] nvarchar(200) COLLATE Modern_Spanish_CS_AI NOT NULL,
- [Tipo] nvarchar(1) COLLATE Modern_Spanish_CS_AI NULL,
+ [Codigo] nvarchar(20) COLLATE Modern_Spanish_CI_AS NOT NULL,
+ [Nombre] nvarchar(200) COLLATE Modern_Spanish_CS_AS NOT NULL,
+ [Tipo] nvarchar(1) COLLATE Modern_Spanish_CS_AS NULL,
[CtaMayor] int NULL,
[IdRubro] int NULL,
[CveAgrupadorPadre] int NULL,
@@ -496,8 +496,8 @@ GO
CREATE TABLE [dbo].[Conta_Cuentas] (
[CveCuenta] int IDENTITY(1,1) NOT NULL,
[CveClasificacionCuenta] int NOT NULL,
- [Codigo] varchar(50) COLLATE Modern_Spanish_CS_AI NOT NULL,
- [Nombre] varchar(200) COLLATE Modern_Spanish_CS_AI NOT NULL,
+ [Codigo] varchar(50) COLLATE Modern_Spanish_CI_AS NOT NULL,
+ [Nombre] varchar(200) COLLATE Modern_Spanish_CS_AS NOT NULL,
[Afectable] bit NOT NULL,
[TipoCuenta] int NOT NULL,
[Estatus] bit NOT NULL,
@@ -507,13 +507,13 @@ CREATE TABLE [dbo].[Conta_Cuentas] (
[CveMoneda] int NULL,
[CveAgrupadorSAT] int NULL,
[DigAgrup] int NULL,
- [NomIdioma] varchar(250) COLLATE Modern_Spanish_CS_AI NULL,
+ [NomIdioma] varchar(250) COLLATE Modern_Spanish_CS_AS NULL,
[CveConceptoAdmin] int NULL,
[CveCliente] int NULL,
[PorcentajeImpuesto] money NULL,
[CveBancoCuenta] int NULL,
- [CodigoVinculacion] varchar(50) COLLATE Modern_Spanish_CS_AI NULL,
- [CodigoAgrupacion] varchar(100) COLLATE Modern_Spanish_CS_AI NULL,
+ [CodigoVinculacion] varchar(50) COLLATE Modern_Spanish_CI_AS NULL,
+ [CodigoAgrupacion] varchar(100) COLLATE Modern_Spanish_CI_AS NULL,
CONSTRAINT [PK_Conta_Cuentas] PRIMARY KEY CLUSTERED ([CveCuenta])
WITH (PAD_INDEX = OFF, FILLFACTOR = 80, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON)
ON [PRIMARY],
@@ -525,93 +525,93 @@ GO
CREATE TABLE [dbo].[Clientes] (
[CveCliente] int IDENTITY(1,1) NOT NULL,
- [Nombre] varchar(200) COLLATE Modern_Spanish_CS_AI NOT NULL,
- [Codigo] varchar(50) COLLATE Modern_Spanish_CS_AI NULL,
- [NombreCorto] varchar(30) COLLATE Modern_Spanish_CS_AI NULL,
- [NombreComercial] varchar(200) COLLATE Modern_Spanish_CS_AI NULL,
- [ApellidoPaterno] varchar(50) COLLATE Modern_Spanish_CS_AI NULL,
- [ApellidoMaterno] varchar(50) COLLATE Modern_Spanish_CS_AI NULL,
- [Nombres] varchar(50) COLLATE Modern_Spanish_CS_AI NULL,
- [Sucursal] varchar(20) COLLATE Modern_Spanish_CS_AI NULL,
- [Direccion] varchar(90) COLLATE Modern_Spanish_CS_AI NOT NULL,
- [NoExt] varchar(20) COLLATE Modern_Spanish_CS_AI NULL,
- [NoInt] varchar(50) COLLATE Modern_Spanish_CS_AI NULL,
- [Colonia] varchar(50) COLLATE Modern_Spanish_CS_AI NOT NULL,
- [Localidad] varchar(50) COLLATE Modern_Spanish_CS_AI NULL,
- [Ciudad] varchar(50) COLLATE Modern_Spanish_CS_AI NOT NULL,
- [Estado] varchar(35) COLLATE Modern_Spanish_CS_AI NOT NULL,
+ [Nombre] varchar(200) COLLATE Modern_Spanish_CS_AS NOT NULL,
+ [Codigo] varchar(50) COLLATE Modern_Spanish_CI_AS NULL,
+ [NombreCorto] varchar(30) COLLATE Modern_Spanish_CS_AS NULL,
+ [NombreComercial] varchar(200) COLLATE Modern_Spanish_CS_AS NULL,
+ [ApellidoPaterno] varchar(50) COLLATE Modern_Spanish_CS_AS NULL,
+ [ApellidoMaterno] varchar(50) COLLATE Modern_Spanish_CS_AS NULL,
+ [Nombres] varchar(50) COLLATE Modern_Spanish_CS_AS NULL,
+ [Sucursal] varchar(20) COLLATE Modern_Spanish_CS_AS NULL,
+ [Direccion] varchar(90) COLLATE Modern_Spanish_CS_AS NOT NULL,
+ [NoExt] varchar(20) COLLATE Modern_Spanish_CS_AS NULL,
+ [NoInt] varchar(50) COLLATE Modern_Spanish_CS_AS NULL,
+ [Colonia] varchar(50) COLLATE Modern_Spanish_CS_AS NOT NULL,
+ [Localidad] varchar(50) COLLATE Modern_Spanish_CS_AS NULL,
+ [Ciudad] varchar(50) COLLATE Modern_Spanish_CS_AS NOT NULL,
+ [Estado] varchar(35) COLLATE Modern_Spanish_CS_AS NOT NULL,
[CveSATEstado] int NOT NULL,
- [Pais] varchar(50) COLLATE Modern_Spanish_CS_AI DEFAULT ('México') NOT NULL,
- [RFC] varchar(15) COLLATE Modern_Spanish_CS_AI NOT NULL,
- [CP] varchar(10) COLLATE Modern_Spanish_CS_AI NULL,
- [Telefono] varchar(25) COLLATE Modern_Spanish_CS_AI NULL,
- [TelefonoExtension] varchar(10) COLLATE Modern_Spanish_CS_AI NULL,
- [TelefonoOtros] varchar(50) COLLATE Modern_Spanish_CS_AI NULL,
- [Contacto] varchar(255) COLLATE Modern_Spanish_CS_AI NULL,
- [Mail] varchar(500) COLLATE Modern_Spanish_CS_AI NULL,
- [Pagina] varchar(50) COLLATE Modern_Spanish_CS_AI NULL,
- [Giro] varchar(50) COLLATE Modern_Spanish_CS_AI NULL,
+ [Pais] varchar(50) COLLATE Modern_Spanish_CS_AS DEFAULT ('México') NOT NULL,
+ [RFC] varchar(15) COLLATE Modern_Spanish_CS_AS NOT NULL,
+ [CP] varchar(10) COLLATE Modern_Spanish_CS_AS NULL,
+ [Telefono] varchar(25) COLLATE Modern_Spanish_CS_AS NULL,
+ [TelefonoExtension] varchar(10) COLLATE Modern_Spanish_CS_AS NULL,
+ [TelefonoOtros] varchar(50) COLLATE Modern_Spanish_CS_AS NULL,
+ [Contacto] varchar(255) COLLATE Modern_Spanish_CS_AS NULL,
+ [Mail] varchar(500) COLLATE Modern_Spanish_CS_AS NULL,
+ [Pagina] varchar(50) COLLATE Modern_Spanish_CS_AS NULL,
+ [Giro] varchar(50) COLLATE Modern_Spanish_CS_AS NULL,
[EnviarFactura] bit DEFAULT ((1)) NOT NULL,
- [NotificarA] varchar(500) COLLATE Modern_Spanish_CS_AI NULL,
+ [NotificarA] varchar(500) COLLATE Modern_Spanish_CS_AS NULL,
[CveSucursal] int NULL,
[RetIVA] float(53) DEFAULT ((0)) NOT NULL,
[RetISR] float(53) DEFAULT ((0)) NOT NULL,
[RetIVAFletes] bit DEFAULT ((0)) NOT NULL,
- [ConvenioCIE] varchar(50) COLLATE Modern_Spanish_CS_AI NULL,
+ [ConvenioCIE] varchar(50) COLLATE Modern_Spanish_CS_AS NULL,
[LimiteCredito] float(53) DEFAULT ((0)) NOT NULL,
[PlazoCobranza] int DEFAULT ((0)) NOT NULL,
[PlazoCobranzaRemision] smallint DEFAULT ((0)) NOT NULL,
- [RecepcionPagos] varchar(15) COLLATE Modern_Spanish_CS_AI NULL,
- [TipoPago] varchar(50) COLLATE Modern_Spanish_CS_AI NULL,
- [Vendedor] varchar(20) COLLATE Modern_Spanish_CS_AI NULL,
+ [RecepcionPagos] varchar(15) COLLATE Modern_Spanish_CS_AS NULL,
+ [TipoPago] varchar(50) COLLATE Modern_Spanish_CS_AS NULL,
+ [Vendedor] varchar(20) COLLATE Modern_Spanish_CS_AS NULL,
[CveVendedor] int NULL,
- [Tipo] varchar(3) COLLATE Modern_Spanish_CS_AI NULL,
- [FormaFacturacion] varchar(13) COLLATE Modern_Spanish_CS_AI NULL,
+ [Tipo] varchar(3) COLLATE Modern_Spanish_CS_AS NULL,
+ [FormaFacturacion] varchar(13) COLLATE Modern_Spanish_CS_AS NULL,
[Estatus] bit DEFAULT ((1)) NOT NULL,
[Fecha] date NOT NULL,
[CveUsuario] int NOT NULL,
[FechaIng] datetime NOT NULL,
- [NumCtaPago] varchar(30) COLLATE Modern_Spanish_CS_AI NULL,
+ [NumCtaPago] varchar(30) COLLATE Modern_Spanish_CS_AS NULL,
[BKEliminarCveMetodoPago] int NULL,
[AplicaFEMSA] bit DEFAULT ((0)) NOT NULL,
- [FEMSA_NumSociedad] varchar(4) COLLATE Modern_Spanish_CS_AI NULL,
- [FEMSA_NumProveedor] varchar(10) COLLATE Modern_Spanish_CS_AI NULL,
- [FEMSA_Mail] varchar(50) COLLATE Modern_Spanish_CS_AI NULL,
+ [FEMSA_NumSociedad] varchar(4) COLLATE Modern_Spanish_CS_AS NULL,
+ [FEMSA_NumProveedor] varchar(10) COLLATE Modern_Spanish_CS_AS NULL,
+ [FEMSA_Mail] varchar(50) COLLATE Modern_Spanish_CS_AS NULL,
[AplicaDetallista] bit DEFAULT ((0)) NOT NULL,
- [Detallista_GLNComprador] varchar(18) COLLATE Modern_Spanish_CS_AI NULL,
- [Detallista_Departamento] varchar(50) COLLATE Modern_Spanish_CS_AI NULL,
- [Detallista_GLNVendedor] varchar(18) COLLATE Modern_Spanish_CS_AI NULL,
- [Detallista_NumProveedor] varchar(10) COLLATE Modern_Spanish_CS_AI NULL,
- [SevenEleven_NumProveedor] varchar(20) COLLATE Modern_Spanish_CS_AI NULL,
+ [Detallista_GLNComprador] varchar(18) COLLATE Modern_Spanish_CS_AS NULL,
+ [Detallista_Departamento] varchar(50) COLLATE Modern_Spanish_CS_AS NULL,
+ [Detallista_GLNVendedor] varchar(18) COLLATE Modern_Spanish_CS_AS NULL,
+ [Detallista_NumProveedor] varchar(10) COLLATE Modern_Spanish_CS_AS NULL,
+ [SevenEleven_NumProveedor] varchar(20) COLLATE Modern_Spanish_CS_AS NULL,
[AplicaFord] bit DEFAULT ((0)) NOT NULL,
- [Ford_GSDB] varchar(5) COLLATE Modern_Spanish_CS_AI NULL,
+ [Ford_GSDB] varchar(5) COLLATE Modern_Spanish_CS_AS NULL,
[CvePrecioLista] int NULL,
[CveCondicionEntrega] int NULL,
[PermiteCredito] bit NULL,
- [MailCotizacion] varchar(300) COLLATE Modern_Spanish_CS_AI NULL,
+ [MailCotizacion] varchar(300) COLLATE Modern_Spanish_CS_AS NULL,
[CveClienteClasificacion] int NULL,
[CveUsuarioResponsable] int NULL,
[CveUsuarioModifico] int NULL,
[ImprimeNombreSucursal] bit DEFAULT ((0)) NULL,
[TipoCliente] int DEFAULT ((1)) NULL,
[CveZonaHoraria] int NULL,
- [CobranzaContacto] varchar(255) COLLATE Modern_Spanish_CS_AI NULL,
- [CobranzaTelefono] varchar(10) COLLATE Modern_Spanish_CS_AI NULL,
- [CobranzaExt] varchar(10) COLLATE Modern_Spanish_CS_AI NULL,
- [CobranzaCorreo] varchar(2000) COLLATE Modern_Spanish_CS_AI NULL,
+ [CobranzaContacto] varchar(255) COLLATE Modern_Spanish_CS_AS NULL,
+ [CobranzaTelefono] varchar(10) COLLATE Modern_Spanish_CS_AS NULL,
+ [CobranzaExt] varchar(10) COLLATE Modern_Spanish_CS_AS NULL,
+ [CobranzaCorreo] varchar(2000) COLLATE Modern_Spanish_CS_AS NULL,
[CveSubProyecto] int NULL,
- [Horario] varchar(50) COLLATE Modern_Spanish_CS_AI NULL,
- [Documentacion] varchar(255) COLLATE Modern_Spanish_CS_AI NULL,
- [PortalFacturacion] varchar(255) COLLATE Modern_Spanish_CS_AI NULL,
+ [Horario] varchar(50) COLLATE Modern_Spanish_CS_AS NULL,
+ [Documentacion] varchar(255) COLLATE Modern_Spanish_CS_AS NULL,
+ [PortalFacturacion] varchar(255) COLLATE Modern_Spanish_CS_AS NULL,
[CveSucursal2] int NULL,
- [DiasPago] varchar(50) COLLATE Modern_Spanish_CS_AI NULL,
- [UsuarioPortal] varchar(50) COLLATE Modern_Spanish_CS_AI NULL,
- [PasswordPortal] varchar(50) COLLATE Modern_Spanish_CS_AI NULL,
- [DiasRevision] varchar(50) COLLATE Modern_Spanish_CS_AI NULL,
- [ObservacionRevision] varchar(255) COLLATE Modern_Spanish_CS_AI NULL,
- [ReferenciaFiscal] varchar(100) COLLATE Modern_Spanish_CS_AI NULL,
- [Celular] varchar(15) COLLATE Modern_Spanish_CS_AI NULL,
- [ExtOtros] varchar(15) COLLATE Modern_Spanish_CS_AI NULL,
+ [DiasPago] varchar(50) COLLATE Modern_Spanish_CS_AS NULL,
+ [UsuarioPortal] varchar(50) COLLATE Modern_Spanish_CI_AS NULL,
+ [PasswordPortal] varchar(50) COLLATE Modern_Spanish_CS_AS NULL,
+ [DiasRevision] varchar(50) COLLATE Modern_Spanish_CS_AS NULL,
+ [ObservacionRevision] varchar(255) COLLATE Modern_Spanish_CS_AS NULL,
+ [ReferenciaFiscal] varchar(100) COLLATE Modern_Spanish_CS_AS NULL,
+ [Celular] varchar(15) COLLATE Modern_Spanish_CS_AS NULL,
+ [ExtOtros] varchar(15) COLLATE Modern_Spanish_CS_AS NULL,
[CveUsoCFDI] tinyint NULL,
[CveFormaPago] tinyint NULL,
[CveMetodoPago] tinyint NULL,
@@ -625,30 +625,30 @@ CREATE TABLE [dbo].[Clientes] (
[CveEstado] int NULL,
[CveMunicipio] int NULL,
[CveColonia] int NULL,
- [NumRegIdTrib] varchar(50) COLLATE Modern_Spanish_CS_AI NULL,
+ [NumRegIdTrib] varchar(50) COLLATE Modern_Spanish_CS_AS NULL,
[CveMotivoTraslado] tinyint NULL,
- [ComExtEstado] varchar(50) COLLATE Modern_Spanish_CS_AI NULL,
- [ComExtMunicipio] varchar(50) COLLATE Modern_Spanish_CS_AI NULL,
- [ComExtColonia] varchar(50) COLLATE Modern_Spanish_CS_AI NULL,
+ [ComExtEstado] varchar(50) COLLATE Modern_Spanish_CS_AS NULL,
+ [ComExtMunicipio] varchar(50) COLLATE Modern_Spanish_CS_AS NULL,
+ [ComExtColonia] varchar(50) COLLATE Modern_Spanish_CS_AS NULL,
[RequiereOC] bit DEFAULT ((0)) NOT NULL,
[EsDistribuidor] bit DEFAULT ((0)) NOT NULL,
[BonificacionUsado] bit DEFAULT ((0)) NOT NULL,
[CargoUsado] bit DEFAULT ((0)) NOT NULL,
[CveTipoRetencion] tinyint NULL,
- [CorreoEntregaCompras] varchar(50) COLLATE Modern_Spanish_CS_AI NULL,
- [CorreoEntregaAlmacen] varchar(50) COLLATE Modern_Spanish_CS_AI NULL,
- [Punto] varchar(100) COLLATE Modern_Spanish_CS_AI NULL,
+ [CorreoEntregaCompras] varchar(50) COLLATE Modern_Spanish_CS_AS NULL,
+ [CorreoEntregaAlmacen] varchar(50) COLLATE Modern_Spanish_CS_AS NULL,
+ [Punto] varchar(100) COLLATE Modern_Spanish_CS_AS NULL,
[CveAdminTrayecto] tinyint NULL,
[NoDesglosaIVA] bit DEFAULT ((0)) NULL,
- [CorreoCumplimiento] varchar(200) COLLATE Modern_Spanish_CS_AI NULL,
+ [CorreoCumplimiento] varchar(200) COLLATE Modern_Spanish_CS_AS NULL,
[CveRegimenFiscal] tinyint NULL,
- [RegimenSociedad] varchar(50) COLLATE Modern_Spanish_CS_AI NULL,
+ [RegimenSociedad] varchar(50) COLLATE Modern_Spanish_CS_AS NULL,
[TipoPersona] bit NULL,
- [RepresentanteLegal] varchar(100) COLLATE Modern_Spanish_CS_AI NULL,
+ [RepresentanteLegal] varchar(100) COLLATE Modern_Spanish_CS_AS NULL,
[FechaLimiteCredito] date NULL,
- [ComExtCalle] varchar(50) COLLATE Modern_Spanish_CS_AI NULL,
- [ComExtNumExt] varchar(50) COLLATE Modern_Spanish_CS_AI NULL,
- [ComExtCP] varchar(10) COLLATE Modern_Spanish_CS_AI NULL,
+ [ComExtCalle] varchar(50) COLLATE Modern_Spanish_CS_AS NULL,
+ [ComExtNumExt] varchar(50) COLLATE Modern_Spanish_CS_AS NULL,
+ [ComExtCP] varchar(10) COLLATE Modern_Spanish_CS_AS NULL,
[Genero] bit NULL,
[CveAlmacenAsignado] int NULL,
[CveAlmacenAlterno] int NULL,
@@ -656,13 +656,13 @@ CREATE TABLE [dbo].[Clientes] (
[UsaProductoAlterno] bit DEFAULT ((0)) NULL,
[EnDemanda] bit DEFAULT ((0)) NULL,
[EnQuebranto] bit DEFAULT ((0)) NOT NULL,
- [CreditoRegistroFirmas] varchar(250) COLLATE Modern_Spanish_CS_AI NULL,
+ [CreditoRegistroFirmas] varchar(250) COLLATE Modern_Spanish_CS_AS NULL,
[GastosEnvio] smallmoney NULL,
[EsFilial] bit DEFAULT ((0)) NOT NULL,
[Aseguradora] bit DEFAULT ((0)) NULL,
[CveSubProyectoCobranza] int NULL,
[InformacionCompleta] bit DEFAULT ((1)) NULL,
- [VentasComplementos] varchar(max) COLLATE Modern_Spanish_CS_AI NULL,
+ [VentasComplementos] varchar(max) COLLATE Modern_Spanish_CS_AS NULL,
CONSTRAINT [PK_Clientes] PRIMARY KEY CLUSTERED ([CveCliente])
WITH (PAD_INDEX = OFF, FILLFACTOR = 80, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON)
ON [PRIMARY],
@@ -674,7 +674,7 @@ GO
CREATE TABLE [dbo].[Conta_TiposPoliza] (
[CveTipoPoliza] int NOT NULL,
- [TipoPoliza] varchar(50) COLLATE Modern_Spanish_CS_AI NOT NULL,
+ [TipoPoliza] varchar(50) COLLATE Modern_Spanish_CS_AS NOT NULL,
[Estatus] bit DEFAULT ((1)) NOT NULL,
[FechaIng] datetime NOT NULL,
[CveUsuario] int NOT NULL,
@@ -690,7 +690,7 @@ GO
CREATE TABLE [dbo].[Conta_PlantillasPolizas] (
[CvePlantillaPoliza] int NOT NULL,
- [PlantillaPoliza] varchar(50) COLLATE Modern_Spanish_CS_AI NOT NULL,
+ [PlantillaPoliza] varchar(50) COLLATE Modern_Spanish_CS_AS NOT NULL,
[TipoPlantilla] bit DEFAULT ((0)) NOT NULL,
[TipoPoliza] smallint NOT NULL,
[Orden] smallint DEFAULT ((0)) NOT NULL,
@@ -706,13 +706,13 @@ GO
CREATE TABLE [dbo].[Gral_Monedas] (
[CveMoneda] int IDENTITY(1,1) NOT NULL,
- [Moneda] varchar(50) COLLATE Modern_Spanish_CS_AI NOT NULL,
- [Abreviatura] varchar(3) COLLATE Modern_Spanish_CS_AI NOT NULL,
- [AbreviaturaSAT] varchar(5) COLLATE Modern_Spanish_CS_AI NOT NULL,
- [LayoutBBVA] varchar(3) COLLATE Modern_Spanish_CS_AI NOT NULL,
- [Alias1] varchar(20) COLLATE Modern_Spanish_CS_AI NULL,
- [Alias2] varchar(20) COLLATE Modern_Spanish_CS_AI NULL,
- [Alias3] varchar(30) COLLATE Modern_Spanish_CS_AI NULL,
+ [Moneda] varchar(50) COLLATE Modern_Spanish_CS_AS NOT NULL,
+ [Abreviatura] varchar(3) COLLATE Modern_Spanish_CS_AS NOT NULL,
+ [AbreviaturaSAT] varchar(5) COLLATE Modern_Spanish_CS_AS NOT NULL,
+ [LayoutBBVA] varchar(3) COLLATE Modern_Spanish_CS_AS NOT NULL,
+ [Alias1] varchar(20) COLLATE Modern_Spanish_CS_AS NULL,
+ [Alias2] varchar(20) COLLATE Modern_Spanish_CS_AS NULL,
+ [Alias3] varchar(30) COLLATE Modern_Spanish_CS_AS NULL,
[Estatus] bit DEFAULT ((1)) NOT NULL,
[Fecha] datetime DEFAULT (getdate()) NOT NULL,
[CveUsuario] int NOT NULL,
@@ -729,20 +729,20 @@ GO
CREATE TABLE [dbo].[Conta_PrePolizas] (
[CvePrePoliza] int IDENTITY(1,1) NOT NULL,
[CveCliente] int NULL,
- [Modulo] varchar(50) COLLATE Modern_Spanish_CS_AI NOT NULL,
+ [Modulo] varchar(50) COLLATE Modern_Spanish_CS_AS NOT NULL,
[CvePlantillaPoliza] int NOT NULL,
[CveTipoPoliza] int NOT NULL,
[Cargos] money DEFAULT ((0)) NOT NULL,
[Abonos] money DEFAULT ((0)) NOT NULL,
[CveMoneda] int NOT NULL,
[Fecha] date NOT NULL,
- [Concepto] varchar(200) COLLATE Modern_Spanish_CS_AI NOT NULL,
- [NumeroPoliza] varchar(50) COLLATE Modern_Spanish_CS_AI NULL,
+ [Concepto] varchar(200) COLLATE Modern_Spanish_CS_AS NOT NULL,
+ [NumeroPoliza] varchar(50) COLLATE Modern_Spanish_CS_AS NULL,
[FolioPoliza] int NULL,
[FolioFijo] int NULL,
[FechaConta] datetime NULL,
[IdPoliza] int NULL,
- [CodigoNumeroPoliza] varchar(5) COLLATE Modern_Spanish_CS_AI NULL,
+ [CodigoNumeroPoliza] varchar(5) COLLATE Modern_Spanish_CI_AS NULL,
[Estatus] bit DEFAULT ((1)) NOT NULL,
[FechaIng] datetime NOT NULL,
[CveUsuario] int NOT NULL,
@@ -763,10 +763,10 @@ GO
CREATE TABLE [dbo].[Gral_SAT_UnidadesMedida] (
[CveSATUnidadMedida] int IDENTITY(1,1) NOT NULL,
- [SATClaveUnidadMedida] nvarchar(255) COLLATE Modern_Spanish_CS_AI NOT NULL,
- [Nombre] nvarchar(255) COLLATE Modern_Spanish_CS_AI NOT NULL,
- [Descripcion] nvarchar(255) COLLATE Modern_Spanish_CS_AI NULL,
- [Simbolo] nvarchar(255) COLLATE Modern_Spanish_CS_AI NULL,
+ [SATClaveUnidadMedida] nvarchar(255) COLLATE Modern_Spanish_CS_AS NOT NULL,
+ [Nombre] nvarchar(255) COLLATE Modern_Spanish_CS_AS NOT NULL,
+ [Descripcion] nvarchar(255) COLLATE Modern_Spanish_CS_AS NULL,
+ [Simbolo] nvarchar(255) COLLATE Modern_Spanish_CS_AS NULL,
CONSTRAINT [PK_Gral_SAT_UnidadesMedida] PRIMARY KEY CLUSTERED ([CveSATUnidadMedida])
WITH (PAD_INDEX = OFF, FILLFACTOR = 80, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON)
ON [PRIMARY],
@@ -779,13 +779,13 @@ GO
CREATE TABLE [dbo].[Gral_SAT_CP_MaterialPeligroso] (
[CveMaterialPeligroso] int IDENTITY(1,1) NOT NULL,
- [ClaveMaterialPeligroso] varchar(10) COLLATE Modern_Spanish_CS_AI NOT NULL,
- [MaterialPeligroso] varchar(390) COLLATE Modern_Spanish_CS_AI NOT NULL,
- [ClaseoDiv] varchar(8) COLLATE Modern_Spanish_CS_AI NULL,
- [PeligroSecundario] varchar(10) COLLATE Modern_Spanish_CS_AI NULL,
- [NombreTecnico] varchar(400) COLLATE Modern_Spanish_CS_AI NULL,
+ [ClaveMaterialPeligroso] varchar(10) COLLATE Modern_Spanish_CS_AS NOT NULL,
+ [MaterialPeligroso] varchar(390) COLLATE Modern_Spanish_CS_AS NOT NULL,
+ [ClaseoDiv] varchar(8) COLLATE Modern_Spanish_CS_AS NULL,
+ [PeligroSecundario] varchar(10) COLLATE Modern_Spanish_CS_AS NULL,
+ [NombreTecnico] varchar(400) COLLATE Modern_Spanish_CS_AS NULL,
[FechaDeInicioDeVigencia] date NULL,
- [Version] varchar(5) COLLATE Modern_Spanish_CS_AI NULL,
+ [Version] varchar(5) COLLATE Modern_Spanish_CS_AS NULL,
CONSTRAINT [PK_Gral_SAT_CP_MaterialPeligroso] PRIMARY KEY CLUSTERED ([CveMaterialPeligroso])
WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON)
ON [PRIMARY]
@@ -795,19 +795,19 @@ GO
CREATE TABLE [dbo].[UnidadesMedida] (
[CveUnidadMedida] int IDENTITY(1,1) NOT NULL,
- [UnidadMedida] varchar(50) COLLATE Modern_Spanish_CS_AI NOT NULL,
- [Abreviatura] varchar(15) COLLATE Modern_Spanish_CS_AI NOT NULL,
- [Alias1] varchar(20) COLLATE Modern_Spanish_CS_AI NULL,
- [Alias2] varchar(20) COLLATE Modern_Spanish_CS_AI NULL,
- [Alias3] varchar(20) COLLATE Modern_Spanish_CS_AI NULL,
- [Alias4] varchar(20) COLLATE Modern_Spanish_CS_AI NULL,
+ [UnidadMedida] varchar(50) COLLATE Modern_Spanish_CS_AS NOT NULL,
+ [Abreviatura] varchar(15) COLLATE Modern_Spanish_CS_AS NOT NULL,
+ [Alias1] varchar(20) COLLATE Modern_Spanish_CS_AS NULL,
+ [Alias2] varchar(20) COLLATE Modern_Spanish_CS_AS NULL,
+ [Alias3] varchar(20) COLLATE Modern_Spanish_CS_AS NULL,
+ [Alias4] varchar(20) COLLATE Modern_Spanish_CS_AS NULL,
[CveSATUnidadMedida] int NULL,
[Estado] bit DEFAULT ((1)) NOT NULL,
[Fecha] date NOT NULL,
[CveUsuario] int NOT NULL,
[CveUnidadMedidaSAT] int NULL,
- [CveImpEmpaque] varchar(3) COLLATE Modern_Spanish_CS_AI NULL,
- [CveImpUM] varchar(3) COLLATE Modern_Spanish_CS_AI NULL,
+ [CveImpEmpaque] varchar(3) COLLATE Modern_Spanish_CS_AS NULL,
+ [CveImpUM] varchar(3) COLLATE Modern_Spanish_CS_AS NULL,
CONSTRAINT [PK_UnidadesMedida] PRIMARY KEY CLUSTERED ([CveUnidadMedida])
WITH (PAD_INDEX = OFF, FILLFACTOR = 90, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON)
ON [PRIMARY],
@@ -820,8 +820,8 @@ GO
CREATE TABLE [dbo].[Gral_SAT_ObjetoImpuesto] (
[CveObjetoImpuesto] tinyint NOT NULL,
- [ObjetoImpuesto] varchar(50) COLLATE Modern_Spanish_CS_AI NOT NULL,
- [CodigoObjetoImpuesto] varchar(2) COLLATE Modern_Spanish_CS_AI NOT NULL,
+ [ObjetoImpuesto] varchar(50) COLLATE Modern_Spanish_CS_AS NOT NULL,
+ [CodigoObjetoImpuesto] varchar(2) COLLATE Modern_Spanish_CI_AS NOT NULL,
CONSTRAINT [PK_Gral_ObjetoImpuesto] PRIMARY KEY CLUSTERED ([CveObjetoImpuesto])
WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON)
ON [PRIMARY]
@@ -835,11 +835,11 @@ CREATE TABLE [dbo].[ProductosServicios] (
[CveUnidadMedida] int NOT NULL,
[CveClasificacionCosto] int NULL,
[CveClasificacionPresupuesto] int NULL,
- [Codigo] varchar(50) COLLATE Modern_Spanish_CS_AI NULL,
- [NumeroParte] varchar(50) COLLATE Modern_Spanish_CS_AI NULL,
- [CodigoBarras] varchar(50) COLLATE Modern_Spanish_CS_AI NULL,
- [PS] varchar(846) COLLATE Modern_Spanish_CS_AI NOT NULL,
- [PSExtranjero] varchar(846) COLLATE Modern_Spanish_CS_AI NULL,
+ [Codigo] varchar(50) COLLATE Modern_Spanish_CI_AS NULL,
+ [NumeroParte] varchar(50) COLLATE Modern_Spanish_CS_AS NULL,
+ [CodigoBarras] varchar(50) COLLATE Modern_Spanish_CI_AS NULL,
+ [PS] varchar(846) COLLATE Modern_Spanish_CS_AS NOT NULL,
+ [PSExtranjero] varchar(846) COLLATE Modern_Spanish_CS_AS NULL,
[CveMarca] int NULL,
[Precio] float(53) DEFAULT ((0)) NOT NULL,
[IVA] float(53) NULL,
@@ -854,12 +854,12 @@ CREATE TABLE [dbo].[ProductosServicios] (
[AsientoContableCompras] int DEFAULT ((1)) NOT NULL,
[CveTipoPS] int DEFAULT ((1)) NOT NULL,
[CveUsuario] int NOT NULL,
- [Borrame] varchar(50) COLLATE Modern_Spanish_CS_AI NULL,
+ [Borrame] varchar(50) COLLATE Modern_Spanish_CS_AS NULL,
[CveSegmentoNegocio] int NULL,
[AplicaParaConcepto] bit DEFAULT ((1)) NOT NULL,
[Inv_CveMetodoInventario] smallint DEFAULT ((0)) NULL,
[CostoPromedio] money DEFAULT ((0)) NULL,
- [AlmacenSeccion] varchar(10) COLLATE Modern_Spanish_CS_AI NULL,
+ [AlmacenSeccion] varchar(10) COLLATE Modern_Spanish_CS_AS NULL,
[AplicaSerieLote] bit NULL,
[AplicaParaVenta] bit DEFAULT ((0)) NOT NULL,
[AplicaCaducidad] bit DEFAULT ((0)) NULL,
@@ -869,7 +869,7 @@ CREATE TABLE [dbo].[ProductosServicios] (
[AplicaPesoKg] bit DEFAULT ((0)) NOT NULL,
[EsPaquete] bit DEFAULT ((0)) NULL,
[CveMoneda] int DEFAULT ((1)) NULL,
- [Imagen] varchar(100) COLLATE Modern_Spanish_CS_AI NULL,
+ [Imagen] varchar(100) COLLATE Modern_Spanish_CS_AS NULL,
[VentaSinExistencia] bit DEFAULT ((0)) NULL,
[FuePorXML] bit DEFAULT ((1)) NULL,
[EsAdminPAQ] bit DEFAULT ((0)) NULL,
@@ -894,14 +894,14 @@ CREATE TABLE [dbo].[ProductosServicios] (
[FechaUltimaModificacion] datetime NULL,
[CveClasificacionDetalle] int NULL,
[CveTamaño] int NULL,
- [ClaveImpuestoEmpaque] varchar(3) COLLATE Modern_Spanish_CS_AI NULL,
- [ClaveImpuestoUM] varchar(3) COLLATE Modern_Spanish_CS_AI NULL,
- [ClaveCategoriaToxicidad] varchar(3) COLLATE Modern_Spanish_CS_AI NULL,
- [ClaveImpuestoTipoProducto] varchar(3) COLLATE Modern_Spanish_CS_AI NULL,
+ [ClaveImpuestoEmpaque] varchar(3) COLLATE Modern_Spanish_CS_AS NULL,
+ [ClaveImpuestoUM] varchar(3) COLLATE Modern_Spanish_CS_AS NULL,
+ [ClaveCategoriaToxicidad] varchar(3) COLLATE Modern_Spanish_CS_AS NULL,
+ [ClaveImpuestoTipoProducto] varchar(3) COLLATE Modern_Spanish_CS_AS NULL,
[CvePSAdicional] int NULL,
[PrecioMinimoAnterior] money NULL,
[Litraje] float(53) NULL,
- [Code17] varchar(10) COLLATE Modern_Spanish_CS_AI NULL,
+ [Code17] varchar(10) COLLATE Modern_Spanish_CS_AS NULL,
[EsOutSourcing] bit DEFAULT ((0)) NOT NULL,
[TiempoCaducidad] smallint NULL,
[CantidadEmpaque] smallmoney NULL,
@@ -909,20 +909,20 @@ CREATE TABLE [dbo].[ProductosServicios] (
[PesoKg] smallmoney NULL,
[CveMaterialPeligroso] int NULL,
[CveEmbalaje] int NULL,
- [Dimensiones] varchar(25) COLLATE Modern_Spanish_CS_AI NULL,
+ [Dimensiones] varchar(25) COLLATE Modern_Spanish_CS_AS NULL,
[CveObjetoImpuesto] tinyint DEFAULT ((2)) NOT NULL,
- [RegistroRSCO] varchar(50) COLLATE Modern_Spanish_CS_AI NULL,
+ [RegistroRSCO] varchar(50) COLLATE Modern_Spanish_CS_AS NULL,
[FechaVigenciaRSCO] date NULL,
[VigenciaIndeterminadaRSCO] bit NULL,
- [NombreComercial] varchar(100) COLLATE Modern_Spanish_CS_AI NULL,
- [NotasAdicionales] varchar(500) COLLATE Modern_Spanish_CS_AI NULL,
- [EcommerceEtiquetas] varchar(200) COLLATE Modern_Spanish_CS_AI NULL,
+ [NombreComercial] varchar(100) COLLATE Modern_Spanish_CS_AS NULL,
+ [NotasAdicionales] varchar(500) COLLATE Modern_Spanish_CS_AS NULL,
+ [EcommerceEtiquetas] varchar(200) COLLATE Modern_Spanish_CS_AS NULL,
[ActivoEcommerce] bit DEFAULT ((0)) NOT NULL,
[EcommercePrecio] smallmoney NULL,
[CveClasificacionEcommerce] int NULL,
[EcommerceCantidad] smallmoney NULL,
- [CodigoAlterno] varchar(50) COLLATE Modern_Spanish_CS_AI NULL,
- [PSAlterno] varchar(846) COLLATE Modern_Spanish_CS_AI NULL,
+ [CodigoAlterno] varchar(50) COLLATE Modern_Spanish_CI_AS NULL,
+ [PSAlterno] varchar(846) COLLATE Modern_Spanish_CS_AS NULL,
[ProductoExhibicion] bit NULL,
[PorcentajeMinimoUtilidad] smallmoney NULL,
[CveSelectiva] int NULL,
@@ -942,7 +942,7 @@ GO
CREATE TABLE [dbo].[Inv_TiposAlmacenes] (
[CveTipoAlmacen] int NOT NULL,
- [TipoAlmacen] varchar(50) COLLATE Modern_Spanish_CS_AI NOT NULL,
+ [TipoAlmacen] varchar(50) COLLATE Modern_Spanish_CS_AS NOT NULL,
[Estatus] bit DEFAULT ((1)) NOT NULL,
[FechaIng] date NOT NULL,
[CveUsuario] int NOT NULL,
@@ -959,10 +959,10 @@ GO
CREATE TABLE [dbo].[Inv_Almacenes] (
[CveAlmacen] int IDENTITY(1,1) NOT NULL,
- [Almacen] varchar(50) COLLATE Modern_Spanish_CS_AI NOT NULL,
+ [Almacen] varchar(50) COLLATE Modern_Spanish_CS_AS NOT NULL,
[CveSubProyecto] int NOT NULL,
[CveTipoAlmacen] int NOT NULL,
- [AlmacenAbreviatura] varchar(50) COLLATE Modern_Spanish_CS_AI NOT NULL,
+ [AlmacenAbreviatura] varchar(50) COLLATE Modern_Spanish_CS_AS NOT NULL,
[Estatus] bit DEFAULT ((1)) NOT NULL,
[FechaIng] date NOT NULL,
[CveUsuario] int NOT NULL,
@@ -990,33 +990,33 @@ GO
CREATE TABLE [dbo].[Vta_ClientesSucursales] (
[CveClienteSucursal] int IDENTITY(1,1) NOT NULL,
[CveCliente] int NOT NULL,
- [SucursalCliente] varchar(100) COLLATE Modern_Spanish_CS_AI NOT NULL,
+ [SucursalCliente] varchar(100) COLLATE Modern_Spanish_CS_AS NOT NULL,
[Estatus] bit DEFAULT ((1)) NOT NULL,
[FechaIng] datetime NOT NULL,
[CveUsuario] int NOT NULL,
- [Ciudad] varchar(50) COLLATE Modern_Spanish_CS_AI NULL,
- [Colonia] varchar(50) COLLATE Modern_Spanish_CS_AI NULL,
- [CP] varchar(5) COLLATE Modern_Spanish_CS_AI NULL,
- [Direccion] varchar(90) COLLATE Modern_Spanish_CS_AI NULL,
- [Estado] varchar(35) COLLATE Modern_Spanish_CS_AI NULL,
- [Localidad] varchar(50) COLLATE Modern_Spanish_CS_AI NULL,
- [Pais] varchar(50) COLLATE Modern_Spanish_CS_AI DEFAULT ('Mexico') NULL,
- [NoExt] varchar(20) COLLATE Modern_Spanish_CS_AI NULL,
- [NoInt] varchar(20) COLLATE Modern_Spanish_CS_AI NULL,
- [Telefono] varchar(25) COLLATE Modern_Spanish_CS_AI NULL,
- [Correo] varchar(300) COLLATE Modern_Spanish_CS_AI NULL,
- [Contacto] varchar(300) COLLATE Modern_Spanish_CS_AI NULL,
+ [Ciudad] varchar(50) COLLATE Modern_Spanish_CS_AS NULL,
+ [Colonia] varchar(50) COLLATE Modern_Spanish_CS_AS NULL,
+ [CP] varchar(5) COLLATE Modern_Spanish_CS_AS NULL,
+ [Direccion] varchar(90) COLLATE Modern_Spanish_CS_AS NULL,
+ [Estado] varchar(35) COLLATE Modern_Spanish_CS_AS NULL,
+ [Localidad] varchar(50) COLLATE Modern_Spanish_CS_AS NULL,
+ [Pais] varchar(50) COLLATE Modern_Spanish_CS_AS DEFAULT ('Mexico') NULL,
+ [NoExt] varchar(20) COLLATE Modern_Spanish_CS_AS NULL,
+ [NoInt] varchar(20) COLLATE Modern_Spanish_CS_AS NULL,
+ [Telefono] varchar(25) COLLATE Modern_Spanish_CS_AS NULL,
+ [Correo] varchar(300) COLLATE Modern_Spanish_CS_AS NULL,
+ [Contacto] varchar(300) COLLATE Modern_Spanish_CS_AS NULL,
[CveVendedor] int NULL,
- [CorreoCotizacion] varchar(300) COLLATE Modern_Spanish_CS_AI NULL,
- [NumCtaPago] varchar(50) COLLATE Modern_Spanish_CS_AI NULL,
+ [CorreoCotizacion] varchar(300) COLLATE Modern_Spanish_CS_AS NULL,
+ [NumCtaPago] varchar(50) COLLATE Modern_Spanish_CS_AS NULL,
[CveMetodoPago] int NULL,
[LimiteCredito] money NULL,
[CveResponsableCobranza] int NULL,
[CveMetodoPago33] tinyint NULL,
[CveFormaPago33] tinyint NULL,
[CveUsoCFDI] tinyint NULL,
- [Punto] varchar(100) COLLATE Modern_Spanish_CS_AI NULL,
- [RFC] varchar(15) COLLATE Modern_Spanish_CS_AI NULL,
+ [Punto] varchar(100) COLLATE Modern_Spanish_CS_AS NULL,
+ [RFC] varchar(15) COLLATE Modern_Spanish_CS_AS NULL,
[CveAlmacenAsignado] int NULL,
[CveAlmacenAlterno] int NULL,
[CveAlmacenConsignacion] int NULL,
@@ -1033,7 +1033,7 @@ GO
CREATE TABLE [dbo].[Vta_Procedimientos] (
[CveProcedimiento] int IDENTITY(1,1) NOT NULL,
- [Procedimiento] varchar(150) COLLATE Modern_Spanish_CS_AI NOT NULL,
+ [Procedimiento] varchar(150) COLLATE Modern_Spanish_CS_AS NOT NULL,
[Estatus] bit NOT NULL,
[FechaIng] datetime DEFAULT (getdate()) NOT NULL,
[CveUsuario] int NOT NULL,
@@ -1046,9 +1046,9 @@ GO
CREATE TABLE [dbo].[Ventas] (
[CveVenta] int IDENTITY(1,1) NOT NULL,
- [FolioFiscal] varchar(50) COLLATE Modern_Spanish_CS_AI NULL,
- [TipoDocto] varchar(3) COLLATE Modern_Spanish_CS_AI DEFAULT ('Ing') NOT NULL,
- [Serie] varchar(10) COLLATE Modern_Spanish_CS_AI NOT NULL,
+ [FolioFiscal] varchar(50) COLLATE Modern_Spanish_CS_AS NULL,
+ [TipoDocto] varchar(3) COLLATE Modern_Spanish_CS_AS DEFAULT ('Ing') NOT NULL,
+ [Serie] varchar(10) COLLATE Modern_Spanish_CS_AS NOT NULL,
[Folio] int NOT NULL,
[SerieFolio] AS (concat(case when [Serie]<>'' then [Serie]+'-' else '' end,[Folio])),
[Fecha] datetime NOT NULL,
@@ -1069,25 +1069,25 @@ CREATE TABLE [dbo].[Ventas] (
[CveMetodoPago] int NULL,
[CondicionesPago] int DEFAULT ((0)) NOT NULL,
[FormaPago] int NULL,
- [MotivoDescuento] varchar(500) COLLATE Modern_Spanish_CS_AI NULL,
- [Observaciones] varchar(2000) COLLATE Modern_Spanish_CS_AI NOT NULL,
+ [MotivoDescuento] varchar(500) COLLATE Modern_Spanish_CS_AS NULL,
+ [Observaciones] varchar(2000) COLLATE Modern_Spanish_CS_AS NOT NULL,
[CveEstatusFactura] int DEFAULT ((2)) NOT NULL,
[EnvioMail] int DEFAULT ((0)) NOT NULL,
[SeTimbro] bit DEFAULT ((0)) NOT NULL,
- [MotivoCancelacion] varchar(500) COLLATE Modern_Spanish_CS_AI NULL,
+ [MotivoCancelacion] varchar(500) COLLATE Modern_Spanish_CS_AS NULL,
[FechaEjecucion] datetime NOT NULL,
[CveSubProyecto] int DEFAULT ((0)) NOT NULL,
[CveVendedor] int DEFAULT ((0)) NULL,
- [Alfa1] varchar(500) COLLATE Modern_Spanish_CS_AI NULL,
- [Alfa2] varchar(100) COLLATE Modern_Spanish_CS_AI NULL,
- [Alfa3] varchar(100) COLLATE Modern_Spanish_CS_AI NULL,
+ [Alfa1] varchar(500) COLLATE Modern_Spanish_CS_AS NULL,
+ [Alfa2] varchar(100) COLLATE Modern_Spanish_CS_AS NULL,
+ [Alfa3] varchar(100) COLLATE Modern_Spanish_CS_AS NULL,
[Num1] float(53) NULL,
[Num2] float(53) NULL,
[Num3] float(53) NULL,
[Fech1] date NULL,
[Fech2] date NULL,
[Fech3] date NULL,
- [SelloCancelacion] varchar(800) COLLATE Modern_Spanish_CS_AI NULL,
+ [SelloCancelacion] varchar(800) COLLATE Modern_Spanish_CS_AS NULL,
[FechaCancelacion] datetime NULL,
[EstatusCancelacion] tinyint NULL,
[IdPoliza] int NULL,
@@ -1098,23 +1098,23 @@ CREATE TABLE [dbo].[Ventas] (
[Propina] float(53) NULL,
[CveVentaTerminal] int NULL,
[CvePrePoliza] int NULL,
- [AtencionA] varchar(100) COLLATE Modern_Spanish_CS_AI NULL,
+ [AtencionA] varchar(100) COLLATE Modern_Spanish_CS_AS NULL,
[CveUsuario] int NOT NULL,
[CveContrato] int NULL,
[FechaIng] datetime NULL,
- [Det_OrdenCompra] varchar(20) COLLATE Modern_Spanish_CS_AI NULL,
- [Det_FechaOrdenCompra] varchar(15) COLLATE Modern_Spanish_CS_AI NULL,
+ [Det_OrdenCompra] varchar(20) COLLATE Modern_Spanish_CS_AS NULL,
+ [Det_FechaOrdenCompra] varchar(15) COLLATE Modern_Spanish_CS_AS NULL,
[Otros] money DEFAULT ((0)) NULL,
[EsFacturaPrueba] bit DEFAULT ((0)) NOT NULL,
- [Ref] varchar(50) COLLATE Modern_Spanish_CS_AI NULL,
- [NumeroCuenta] varchar(5) COLLATE Modern_Spanish_CS_AI NULL,
+ [Ref] varchar(50) COLLATE Modern_Spanish_CS_AS NULL,
+ [NumeroCuenta] varchar(5) COLLATE Modern_Spanish_CS_AS NULL,
[FechaVencimiento2] date NULL,
[DiasVencimiento] AS (datediff(day,[FechaVencimiento2],getdate())),
[CveVentaFacturada] int NULL,
[CvePAC] int NULL,
[Vigencia] date NULL,
- [Entrega] varchar(50) COLLATE Modern_Spanish_CS_AI NULL,
- [TiempoEntrega] varchar(50) COLLATE Modern_Spanish_CS_AI NULL,
+ [Entrega] varchar(50) COLLATE Modern_Spanish_CS_AS NULL,
+ [TiempoEntrega] varchar(50) COLLATE Modern_Spanish_CS_AS NULL,
[CveAlmacenTraspasoDestino] int NULL,
[CveAlmacenTraspasoOrigen] int NULL,
[EsDevolucionPedido] bit NULL,
@@ -1123,27 +1123,27 @@ CREATE TABLE [dbo].[Ventas] (
[CveOC] int NULL,
[RemisionFacturada] bit DEFAULT ((0)) NOT NULL,
[CvePACCancelacion] int NULL,
- [TelefonoGenerico] varchar(50) COLLATE Modern_Spanish_CS_AI NULL,
+ [TelefonoGenerico] varchar(50) COLLATE Modern_Spanish_CS_AS NULL,
[CveCondicionEntrega] int NULL,
- [PedidoContrato] varchar(50) COLLATE Modern_Spanish_CS_AI NULL,
+ [PedidoContrato] varchar(50) COLLATE Modern_Spanish_CS_AS NULL,
[SATValidadoTimbrado] bit DEFAULT ((0)) NULL,
[SATValidadoCancelado] bit DEFAULT ((0)) NULL,
- [ObservacionesAlmacen] varchar(300) COLLATE Modern_Spanish_CS_AI NULL,
+ [ObservacionesAlmacen] varchar(300) COLLATE Modern_Spanish_CS_AS NULL,
[CotizacionFacturada] bit NULL,
[CveSubProyectoEjecucion] int NULL,
[CveSubProyectoCobranza] int NULL,
[CveCobranzaEstatus] int NULL,
[FechaCobranza] datetime NULL,
[CveUsuarioCobranza] int NULL,
- [CobranzaObservacion] varchar(255) COLLATE Modern_Spanish_CS_AI NULL,
+ [CobranzaObservacion] varchar(255) COLLATE Modern_Spanish_CS_AS NULL,
[CveCobranzaEstatusTurno] int NULL,
- [TipoProceso] varchar(255) COLLATE Modern_Spanish_CS_AI NULL,
- [TipoComite] varchar(255) COLLATE Modern_Spanish_CS_AI NULL,
- [IdContabilidad] varchar(50) COLLATE Modern_Spanish_CS_AI NULL,
+ [TipoProceso] varchar(255) COLLATE Modern_Spanish_CS_AS NULL,
+ [TipoComite] varchar(255) COLLATE Modern_Spanish_CS_AS NULL,
+ [IdContabilidad] varchar(50) COLLATE Modern_Spanish_CS_AS NULL,
[CveFormaPago33] tinyint NULL,
[CveMetodoPago33] tinyint NULL,
[CveUsoCFDI] tinyint NULL,
- [OrdenCompra] varchar(50) COLLATE Modern_Spanish_CS_AI NULL,
+ [OrdenCompra] varchar(50) COLLATE Modern_Spanish_CS_AS NULL,
[CveCuentaTerminal] int NULL,
[CveTipoRelacion] int NULL,
[ImporteRelacion] money NULL,
@@ -1167,45 +1167,45 @@ CREATE TABLE [dbo].[Ventas] (
[Kilometraje] float(53) NULL,
[EsAmortizacion] bit NULL,
[CveTipoRetencion] tinyint NULL,
- [CorreoNotificacion] varchar(100) COLLATE Modern_Spanish_CS_AI NULL,
+ [CorreoNotificacion] varchar(100) COLLATE Modern_Spanish_CS_AS NULL,
[FormaPaqueteria] int NULL,
[VentaDesglosaIEPS] bit NULL,
[FacturarSucursal] bit NULL,
[CveVentaAutorizacion] int NULL,
[CveAlmacenSurtio] int NULL,
[ServicioDomicilio] bit NULL,
- [RFCReceptor] varchar(50) COLLATE Modern_Spanish_CS_AI NULL,
- [Adjunto] varchar(150) COLLATE Modern_Spanish_CS_AI NULL,
+ [RFCReceptor] varchar(50) COLLATE Modern_Spanish_CS_AS NULL,
+ [Adjunto] varchar(150) COLLATE Modern_Spanish_CS_AS NULL,
[DevolucionImportePagado] money NULL,
[CveMotivoCancelacion] int NULL,
[EsGarantia] bit DEFAULT ((0)) NOT NULL,
- [EstadoCancelacion] varchar(100) COLLATE Modern_Spanish_CS_AI NULL,
+ [EstadoCancelacion] varchar(100) COLLATE Modern_Spanish_CS_AS NULL,
[CveEstadoCancelacion] tinyint NULL,
[CveOPAgropecuaria] int NULL,
- [SelloSolicitudCancelacion] varchar(800) COLLATE Modern_Spanish_CS_AI NULL,
- [CFDIVersion] varchar(5) COLLATE Modern_Spanish_CS_AI NULL,
+ [SelloSolicitudCancelacion] varchar(800) COLLATE Modern_Spanish_CS_AS NULL,
+ [CFDIVersion] varchar(5) COLLATE Modern_Spanish_CS_AS NULL,
[CveLineaAdicional] int NULL,
[CveLineaAdicionalEstatus] int NULL,
- [LineaAdicionalComprobante] varchar(250) COLLATE Modern_Spanish_CS_AI NULL,
- [DescripcionVenta] varchar(300) COLLATE Modern_Spanish_CS_AI NULL,
+ [LineaAdicionalComprobante] varchar(250) COLLATE Modern_Spanish_CS_AS NULL,
+ [DescripcionVenta] varchar(300) COLLATE Modern_Spanish_CS_AS NULL,
[CveMedico] int NULL,
[CveProcedimiento] int NULL,
[CveTipoVenta] int NULL,
[RequiereOS] bit NULL,
[FechaParaSurtir] datetime NOT NULL,
- [Paciente] varchar(50) COLLATE Modern_Spanish_CS_AI NULL,
- [Episodio] varchar(20) COLLATE Modern_Spanish_CS_AI NULL,
+ [Paciente] varchar(50) COLLATE Modern_Spanish_CS_AS NULL,
+ [Episodio] varchar(20) COLLATE Modern_Spanish_CS_AS NULL,
[EsFacturaGlobal] bit DEFAULT ((0)) NULL,
[CveSATPeriodicidad] int NULL,
[CveSATMes] int NULL,
[SATAnio] int NULL,
[AnticipoAutorizado] int NULL,
[CveMotivoDevolucion] int NULL,
- [Addenda] varchar(2000) COLLATE Modern_Spanish_CS_AI NULL,
+ [Addenda] varchar(2000) COLLATE Modern_Spanish_CS_AS NULL,
[Bloqueada] bit DEFAULT ((0)) NULL,
[CveUsuarioModifico] int NULL,
[CveComplementoTimbrado] int NULL,
- [ComplementoSAT] varchar(2000) COLLATE Modern_Spanish_CS_AI NULL,
+ [ComplementoSAT] varchar(2000) COLLATE Modern_Spanish_CS_AS NULL,
[Procesando] bit DEFAULT ((0)) NULL,
CONSTRAINT [PK_Ventas] PRIMARY KEY CLUSTERED ([CveVenta])
WITH (PAD_INDEX = OFF, FILLFACTOR = 90, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON)
@@ -1240,8 +1240,8 @@ CREATE TABLE [dbo].[Conta_PrePolizasDetalle] (
[Bloqueado] bit DEFAULT ((0)) NOT NULL,
[IdCtaContable] int DEFAULT ((0)) NOT NULL,
[CveCuenta] int NULL,
- [Referencia] varchar(200) COLLATE Modern_Spanish_CS_AI NULL,
- [Concepto] varchar(200) COLLATE Modern_Spanish_CS_AI NOT NULL,
+ [Referencia] varchar(200) COLLATE Modern_Spanish_CS_AS NULL,
+ [Concepto] varchar(200) COLLATE Modern_Spanish_CS_AS NOT NULL,
[CveCliente] int NULL,
[CveVenta] int NULL,
[CveVentaAmortizacion] int NULL,
@@ -1274,9 +1274,9 @@ GO
CREATE TABLE [dbo].[Gral_SAT_Localidad] (
[CveLocalidad] int IDENTITY(1,1) NOT NULL,
- [ClaveSATLocalidad] varchar(50) COLLATE Modern_Spanish_CS_AI NOT NULL,
- [ClaveSATEstado] varchar(50) COLLATE Modern_Spanish_CS_AI NOT NULL,
- [NombreLocalidad] varchar(100) COLLATE Modern_Spanish_CS_AI NOT NULL,
+ [ClaveSATLocalidad] varchar(50) COLLATE Modern_Spanish_CS_AS NOT NULL,
+ [ClaveSATEstado] varchar(50) COLLATE Modern_Spanish_CS_AS NOT NULL,
+ [NombreLocalidad] varchar(100) COLLATE Modern_Spanish_CS_AS NOT NULL,
CONSTRAINT [PK_Gral_SAT_Localidad] PRIMARY KEY CLUSTERED ([CveLocalidad])
WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON)
ON [PRIMARY]
@@ -1286,10 +1286,10 @@ GO
CREATE TABLE [dbo].[Gral_SAT_Estado] (
[CveEstado] int IDENTITY(1,1) NOT NULL,
- [ClaveSATEstado] varchar(5) COLLATE Modern_Spanish_CS_AI NOT NULL,
- [ClaveSATPais] varchar(3) COLLATE Modern_Spanish_CS_AI NOT NULL,
- [NombreEstado] varchar(50) COLLATE Modern_Spanish_CS_AI NOT NULL,
- [ClaveImpuestoEstado] varchar(2) COLLATE Modern_Spanish_CS_AI NULL,
+ [ClaveSATEstado] varchar(5) COLLATE Modern_Spanish_CS_AS NOT NULL,
+ [ClaveSATPais] varchar(3) COLLATE Modern_Spanish_CS_AS NOT NULL,
+ [NombreEstado] varchar(50) COLLATE Modern_Spanish_CS_AS NOT NULL,
+ [ClaveImpuestoEstado] varchar(2) COLLATE Modern_Spanish_CS_AS NULL,
[ClaveEstadoCorteva] int NULL,
CONSTRAINT [PK_Gral_SAT_Estado] PRIMARY KEY CLUSTERED ([CveEstado])
WITH (PAD_INDEX = OFF, FILLFACTOR = 80, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON)
@@ -1300,7 +1300,7 @@ GO
CREATE TABLE [dbo].[Proyectos] (
[CveProyecto] int IDENTITY(1,1) NOT NULL,
- [Proyecto] varchar(50) COLLATE Modern_Spanish_CS_AI NOT NULL,
+ [Proyecto] varchar(50) COLLATE Modern_Spanish_CS_AS NOT NULL,
[CveSucursal] int NULL,
[Estatus] bit DEFAULT ((1)) NOT NULL,
[FechaIng] date DEFAULT (getdate()) NOT NULL,
@@ -1319,34 +1319,34 @@ GO
CREATE TABLE [dbo].[SubProyectos] (
[CveSubProyecto] int IDENTITY(1,1) NOT NULL,
[CveProyecto] int NOT NULL,
- [ClaveSubProyecto] varchar(5) COLLATE Modern_Spanish_CS_AI NULL,
- [SubProyecto] varchar(50) COLLATE Modern_Spanish_CS_AI NOT NULL,
+ [ClaveSubProyecto] varchar(5) COLLATE Modern_Spanish_CS_AS NULL,
+ [SubProyecto] varchar(50) COLLATE Modern_Spanish_CS_AS NOT NULL,
[IdSegNeg] int DEFAULT ((1)) NULL,
[Estatus] bit DEFAULT ((1)) NOT NULL,
[FechaIng] date DEFAULT (getdate()) NOT NULL,
[CveUsuario] int NOT NULL,
[IdCuentaGasto] int NULL,
- [CuentaGasto] varchar(50) COLLATE Modern_Spanish_CS_AI NULL,
+ [CuentaGasto] varchar(50) COLLATE Modern_Spanish_CS_AS NULL,
[CveSubPrograma] int NULL,
[CveClasificacionGeografica] int NULL,
[CveSucursal] int NULL,
[CveUsuarioNomina] int NULL,
- [Serie] varchar(15) COLLATE Modern_Spanish_CS_AI NULL,
+ [Serie] varchar(15) COLLATE Modern_Spanish_CS_AS NULL,
[IVA] float(53) NULL,
- [Calle] varchar(50) COLLATE Modern_Spanish_CS_AI NULL,
- [NoExt] varchar(10) COLLATE Modern_Spanish_CS_AI NULL,
- [NoInt] varchar(10) COLLATE Modern_Spanish_CS_AI NULL,
- [Colonia] varchar(50) COLLATE Modern_Spanish_CS_AI NULL,
- [Localidad] varchar(50) COLLATE Modern_Spanish_CS_AI NULL,
- [Municipio] varchar(50) COLLATE Modern_Spanish_CS_AI NULL,
- [Pais] varchar(50) COLLATE Modern_Spanish_CS_AI NULL,
- [CP] varchar(5) COLLATE Modern_Spanish_CS_AI NULL,
+ [Calle] varchar(50) COLLATE Modern_Spanish_CS_AS NULL,
+ [NoExt] varchar(10) COLLATE Modern_Spanish_CS_AS NULL,
+ [NoInt] varchar(10) COLLATE Modern_Spanish_CS_AS NULL,
+ [Colonia] varchar(50) COLLATE Modern_Spanish_CS_AS NULL,
+ [Localidad] varchar(50) COLLATE Modern_Spanish_CS_AS NULL,
+ [Municipio] varchar(50) COLLATE Modern_Spanish_CS_AS NULL,
+ [Pais] varchar(50) COLLATE Modern_Spanish_CS_AS NULL,
+ [CP] varchar(5) COLLATE Modern_Spanish_CS_AS NULL,
[CveSubProyectoPadre] int NULL,
- [Estado] varchar(20) COLLATE Modern_Spanish_CS_AI NULL,
- [FormatoFactura] varchar(25) COLLATE Modern_Spanish_CS_AI NULL,
- [TipoFormato] varchar(5) COLLATE Modern_Spanish_CS_AI NULL,
+ [Estado] varchar(20) COLLATE Modern_Spanish_CS_AS NULL,
+ [FormatoFactura] varchar(25) COLLATE Modern_Spanish_CS_AS NULL,
+ [TipoFormato] varchar(5) COLLATE Modern_Spanish_CS_AS NULL,
[TipoVenta] tinyint NULL,
- [Telefono] varchar(10) COLLATE Modern_Spanish_CS_AI NULL,
+ [Telefono] varchar(10) COLLATE Modern_Spanish_CS_AS NULL,
[TipoSucursal] tinyint NULL,
[EsSucursal] tinyint NOT NULL,
[CvePais] int NULL,
@@ -1354,16 +1354,16 @@ CREATE TABLE [dbo].[SubProyectos] (
[CveMunicipio] int NULL,
[CveColonia] int NULL,
[AplicaComercioExterior] bit NULL,
- [Correo] varchar(50) COLLATE Modern_Spanish_CS_AI NULL,
+ [Correo] varchar(50) COLLATE Modern_Spanish_CS_AS NULL,
[UTCOffsetVerano] int NULL,
[UTCOffsetInvierno] int NULL,
[NoVerificaAlmacen] bit NULL,
- [CodigoSucursal] varchar(20) COLLATE Modern_Spanish_CS_AI NULL,
- [Acum_CentroServicio] varchar(10) COLLATE Modern_Spanish_CS_AI NULL,
+ [CodigoSucursal] varchar(20) COLLATE Modern_Spanish_CI_AS NULL,
+ [Acum_CentroServicio] varchar(10) COLLATE Modern_Spanish_CS_AS NULL,
[Orden] smallint NULL,
[CveLocalidad] int NULL,
- [Acum_PortalUsuario] varchar(50) COLLATE Modern_Spanish_CS_AI NULL,
- [Acum_PortalContrasena] varchar(50) COLLATE Modern_Spanish_CS_AI NULL,
+ [Acum_PortalUsuario] varchar(50) COLLATE Modern_Spanish_CI_AS NULL,
+ [Acum_PortalContrasena] varchar(50) COLLATE Modern_Spanish_CS_AS NULL,
[DeshabilitaAutorizacion] bit NULL,
[CveClientePublicoGral] int NULL,
CONSTRAINT [PK_SubProyectos] PRIMARY KEY CLUSTERED ([CveSubProyecto])
@@ -1378,11 +1378,11 @@ GO
CREATE TABLE [dbo].[Gral_SAT_UsosCFDI] (
[CveUsoCFDI] tinyint NOT NULL,
- [UsoCFDI] varchar(5) COLLATE Modern_Spanish_CS_AI NOT NULL,
- [Descripcion] varchar(100) COLLATE Modern_Spanish_CS_AI NOT NULL,
+ [UsoCFDI] varchar(5) COLLATE Modern_Spanish_CS_AS NOT NULL,
+ [Descripcion] varchar(100) COLLATE Modern_Spanish_CS_AS NOT NULL,
[AplicaPersonaFisica] bit DEFAULT ((0)) NOT NULL,
[AplicaPersonaMoral] bit DEFAULT ((0)) NOT NULL,
- [RegimenFiscalReceptor] varchar(200) COLLATE Modern_Spanish_CS_AI NULL,
+ [RegimenFiscalReceptor] varchar(200) COLLATE Modern_Spanish_CS_AS NULL,
CONSTRAINT [PK_Gral_SAT_UsosCFDI] PRIMARY KEY CLUSTERED ([CveUsoCFDI])
WITH (PAD_INDEX = OFF, FILLFACTOR = 80, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON)
ON [PRIMARY]
@@ -1392,22 +1392,22 @@ GO
CREATE TABLE [dbo].[Vta_Vendedores] (
[CveVendedor] int IDENTITY(1,1) NOT NULL,
- [Codigo] varchar(10) COLLATE Modern_Spanish_CS_AI NULL,
- [Vendedor] varchar(50) COLLATE Modern_Spanish_CS_AI NOT NULL,
- [Correo] varchar(50) COLLATE Modern_Spanish_CS_AI NULL,
- [Telefono] varchar(50) COLLATE Modern_Spanish_CS_AI NULL,
+ [Codigo] varchar(10) COLLATE Modern_Spanish_CI_AS NULL,
+ [Vendedor] varchar(50) COLLATE Modern_Spanish_CS_AS NOT NULL,
+ [Correo] varchar(50) COLLATE Modern_Spanish_CS_AS NULL,
+ [Telefono] varchar(50) COLLATE Modern_Spanish_CS_AS NULL,
[Estatus] bit DEFAULT ((1)) NOT NULL,
[FechaIng] datetime NOT NULL,
[CveUsuario] int NOT NULL,
[CveEsquemaComision] int NULL,
- [Celular] varchar(50) COLLATE Modern_Spanish_CS_AI NULL,
- [TituloDocumentos] varchar(150) COLLATE Modern_Spanish_CS_AI NULL,
+ [Celular] varchar(50) COLLATE Modern_Spanish_CS_AS NULL,
+ [TituloDocumentos] varchar(150) COLLATE Modern_Spanish_CS_AS NULL,
[EsSupervisor] bit NULL,
[CveSupervisor] int NULL,
[VendedorTipo] tinyint NULL,
[CveSuperior] int NULL,
[CveSubProyecto] int NULL,
- [CorreoAdicionalNotificaciones] varchar(200) COLLATE Modern_Spanish_CS_AI NULL,
+ [CorreoAdicionalNotificaciones] varchar(200) COLLATE Modern_Spanish_CS_AS NULL,
[FechaModificacion] datetime NULL,
CONSTRAINT [PK_Vta_Vendedores] PRIMARY KEY CLUSTERED ([CveVendedor])
WITH (PAD_INDEX = OFF, FILLFACTOR = 90, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON)
@@ -1418,8 +1418,8 @@ GO
CREATE TABLE [dbo].[Vta_FormaPago] (
[CveFormaPago] tinyint NOT NULL,
- [FormaPago] varchar(50) COLLATE Modern_Spanish_CS_AI NULL,
- [ClaveFormaPagoSAT] varchar(2) COLLATE Modern_Spanish_CS_AI NULL,
+ [FormaPago] varchar(50) COLLATE Modern_Spanish_CS_AS NULL,
+ [ClaveFormaPagoSAT] varchar(2) COLLATE Modern_Spanish_CS_AS NULL,
[CveUsuario] int NOT NULL,
[FechaIng] date NULL,
CONSTRAINT [PK_Vta_FormaPago] PRIMARY KEY CLUSTERED ([CveFormaPago])
@@ -1431,7 +1431,7 @@ GO
CREATE TABLE [dbo].[Sis_PAC] (
[CvePAC] int NOT NULL,
- [PAC] varchar(50) COLLATE Modern_Spanish_CS_AI NOT NULL,
+ [PAC] varchar(50) COLLATE Modern_Spanish_CS_AS NOT NULL,
[Estatus] bit DEFAULT ((1)) NOT NULL,
[CveUsuario] int NOT NULL,
CONSTRAINT [PK_Sis_PAC] PRIMARY KEY CLUSTERED ([CvePAC])
@@ -1443,8 +1443,8 @@ GO
CREATE TABLE [dbo].[Vta_MetodoPago] (
[CveMetodoPago] tinyint NOT NULL,
- [MetodoPago] varchar(50) COLLATE Modern_Spanish_CS_AI NULL,
- [ClaveMetodoPagoSAT] varchar(5) COLLATE Modern_Spanish_CS_AI NULL,
+ [MetodoPago] varchar(50) COLLATE Modern_Spanish_CS_AS NULL,
+ [ClaveMetodoPagoSAT] varchar(5) COLLATE Modern_Spanish_CS_AS NULL,
[CveUsuario] int NULL,
[FechaIng] date NULL,
CONSTRAINT [PK_Vta_MetodoPago] PRIMARY KEY CLUSTERED ([CveMetodoPago])
@@ -1455,8 +1455,8 @@ ON [PRIMARY]
GO
CREATE TABLE [dbo].[Vta_TipoDocumentos] (
- [CveTipoDocumento] varchar(3) COLLATE Modern_Spanish_CS_AI NOT NULL,
- [TipoDocumento] varchar(50) COLLATE Modern_Spanish_CS_AI NULL,
+ [CveTipoDocumento] varchar(3) COLLATE Modern_Spanish_CS_AS NOT NULL,
+ [TipoDocumento] varchar(50) COLLATE Modern_Spanish_CS_AS NULL,
[Estatus] bit NULL,
[FechaIng] date NULL,
[Multiplicador] smallmoney DEFAULT ((1)) NULL,
@@ -1470,11 +1470,11 @@ GO
CREATE TABLE [dbo].[EstatusFactura] (
[CveEstatusFactura] int NOT NULL,
- [EstatusFactura] varchar(30) COLLATE Modern_Spanish_CS_AI NOT NULL,
+ [EstatusFactura] varchar(30) COLLATE Modern_Spanish_CS_AS NOT NULL,
[Estado] bit DEFAULT ((1)) NOT NULL,
[Fecha] date DEFAULT (getdate()) NOT NULL,
[CveUsuario] int NOT NULL,
- [TipoDocto] varchar(3) COLLATE Modern_Spanish_CS_AI NOT NULL,
+ [TipoDocto] varchar(3) COLLATE Modern_Spanish_CS_AS NOT NULL,
[TipoEstatus] smallint DEFAULT ((1)) NULL,
[Origen] smallmoney DEFAULT ((1)) NULL,
[EnProcesoCancelacion] bit DEFAULT ((0)) NOT NULL,
@@ -1487,8 +1487,8 @@ GO
CREATE TABLE [dbo].[Gral_RegimenesFiscales] (
[CveRegimenFiscal] tinyint NOT NULL,
- [RegimenFiscal] varchar(100) COLLATE Modern_Spanish_CS_AI NOT NULL,
- [CodigoRegimenFiscal] varchar(3) COLLATE Modern_Spanish_CS_AI NOT NULL,
+ [RegimenFiscal] varchar(100) COLLATE Modern_Spanish_CS_AS NOT NULL,
+ [CodigoRegimenFiscal] varchar(3) COLLATE Modern_Spanish_CI_AS NOT NULL,
[AplicaPersonaFisica] bit NOT NULL,
[AplicaPersonaMoral] bit NOT NULL,
CONSTRAINT [PK_Gral_RegimenesFiscales] PRIMARY KEY CLUSTERED ([CveRegimenFiscal])
@@ -1501,9 +1501,9 @@ GO
CREATE TABLE [dbo].[ZonasHorarias] (
--esta reemplaza GPS_ZonasHorarias
[CveZonaHoraria] int NOT NULL,
- [Abreviacion] varchar(7) COLLATE Modern_Spanish_CS_AI NULL,
- [ZonaHoraria] varchar(100) COLLATE Modern_Spanish_CS_AI NULL,
- [UTC] varchar(20) COLLATE Modern_Spanish_CS_AI NULL,
+ [Abreviacion] varchar(7) COLLATE Modern_Spanish_CS_AS NULL,
+ [ZonaHoraria] varchar(100) COLLATE Modern_Spanish_CS_AS NULL,
+ [UTC] varchar(20) COLLATE Modern_Spanish_CS_AS NULL,
[UTCOffset] int NULL,
CONSTRAINT [PK_ZonasHorarias] PRIMARY KEY CLUSTERED ([CveZonaHoraria])
WITH (PAD_INDEX = OFF, FILLFACTOR = 80, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON)
@@ -1514,9 +1514,9 @@ GO
CREATE TABLE [dbo].[Sat_Bancos] (
[CveSATBanco] int IDENTITY(1,1) NOT NULL,
- [CveBanco] varchar(50) COLLATE Modern_Spanish_CS_AI NOT NULL,
- [Banco] varchar(150) COLLATE Modern_Spanish_CS_AI NOT NULL,
- [RazonSocial] varchar(300) COLLATE Modern_Spanish_CS_AI NOT NULL,
+ [CveBanco] varchar(50) COLLATE Modern_Spanish_CS_AS NOT NULL,
+ [Banco] varchar(150) COLLATE Modern_Spanish_CS_AS NOT NULL,
+ [RazonSocial] varchar(300) COLLATE Modern_Spanish_CS_AS NOT NULL,
[Estatus] bit DEFAULT ((1)) NOT NULL,
[FechaIng] datetime NOT NULL,
[CveUsuario] int NOT NULL,
@@ -1530,9 +1530,9 @@ GO
CREATE TABLE [dbo].[Banc_Bancos] (
[CveBanco] int IDENTITY(1,1) NOT NULL,
- [Banco] varchar(50) COLLATE Modern_Spanish_CS_AI NOT NULL,
- [Ejecutivo] varchar(50) COLLATE Modern_Spanish_CS_AI NULL,
- [Telefono] varchar(10) COLLATE Modern_Spanish_CS_AI NULL,
+ [Banco] varchar(50) COLLATE Modern_Spanish_CS_AS NOT NULL,
+ [Ejecutivo] varchar(50) COLLATE Modern_Spanish_CS_AS NULL,
+ [Telefono] varchar(10) COLLATE Modern_Spanish_CS_AS NULL,
[Estatus] bit DEFAULT ((1)) NOT NULL,
[Fecha] datetime NOT NULL,
[CveUsuario] int NOT NULL,
@@ -1574,7 +1574,7 @@ GO
CREATE TABLE [dbo].[Banc_TiposCuenta] (
[CveTipoCuenta] int NOT NULL,
- [TipoCuenta] varchar(50) COLLATE Modern_Spanish_CS_AI NOT NULL,
+ [TipoCuenta] varchar(50) COLLATE Modern_Spanish_CS_AS NOT NULL,
[Estatus] bit DEFAULT ((1)) NOT NULL,
[FechaIng] datetime NOT NULL,
[CveUsuario] int NOT NULL,
@@ -1590,8 +1590,8 @@ GO
CREATE TABLE [dbo].[Conta_ConceptosContables] (
[CveConceptoContable] int NOT NULL,
- [Tipo] varchar(5) COLLATE Modern_Spanish_CS_AI NOT NULL,
- [ConceptoContable] varchar(50) COLLATE Modern_Spanish_CS_AI NOT NULL,
+ [Tipo] varchar(5) COLLATE Modern_Spanish_CS_AS NOT NULL,
+ [ConceptoContable] varchar(50) COLLATE Modern_Spanish_CS_AS NOT NULL,
[Estado] bit DEFAULT ((1)) NOT NULL,
[FechaIng] datetime NOT NULL,
[CveUsuario] int NOT NULL,
diff --git a/Esquema_BD_AguaHillo_Idempotente.sql b/Esquema_BD_AguaHillo_Idempotente.sql
index 010e577..43301b6 100644
--- a/Esquema_BD_AguaHillo_Idempotente.sql
+++ b/Esquema_BD_AguaHillo_Idempotente.sql
@@ -32,8 +32,8 @@ IF OBJECT_ID(N'dbo.Sis_Roles', N'U') IS NULL
BEGIN TRY
EXEC sys.sp_executesql N'CREATE TABLE [dbo].[Sis_Roles] (
[CveRol] int IDENTITY(1,1) NOT NULL,
- [NombreRol] varchar(100) COLLATE Modern_Spanish_CS_AI NOT NULL,
- [Descripcion] varchar(255) COLLATE Modern_Spanish_CS_AI NULL,
+ [NombreRol] varchar(100) COLLATE Modern_Spanish_CS_AS NOT NULL,
+ [Descripcion] varchar(255) COLLATE Modern_Spanish_CS_AS NULL,
[Activo] bit CONSTRAINT [DF_Sis_Roles_Activo] DEFAULT ((1)) NOT NULL,
[FechaCreacion] datetime CONSTRAINT [DF_Sis_Roles_FechaCreacion] DEFAULT (GETDATE()) NOT NULL,
[FechaActualizacion] datetime NULL,
@@ -62,7 +62,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Sis_Roles', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Sis_Roles', N'NombreRol') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Sis_Roles] ADD [NombreRol] varchar(100) COLLATE Modern_Spanish_CS_AI NOT NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Sis_Roles] ADD [NombreRol] varchar(100) COLLATE Modern_Spanish_CS_AS NOT NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -72,7 +72,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Sis_Roles', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Sis_Roles', N'Descripcion') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Sis_Roles] ADD [Descripcion] varchar(255) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Sis_Roles] ADD [Descripcion] varchar(255) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -136,8 +136,8 @@ IF OBJECT_ID(N'dbo.Sis_Plataformas', N'U') IS NULL
BEGIN TRY
EXEC sys.sp_executesql N'CREATE TABLE [dbo].[Sis_Plataformas] (
[CvePlataforma] int IDENTITY(1,1) NOT NULL,
- [NombrePlataforma] varchar(100) COLLATE Modern_Spanish_CS_AI NOT NULL,
- [Descripcion] varchar(255) COLLATE Modern_Spanish_CS_AI NULL,
+ [NombrePlataforma] varchar(100) COLLATE Modern_Spanish_CS_AS NOT NULL,
+ [Descripcion] varchar(255) COLLATE Modern_Spanish_CS_AS NULL,
[Activo] bit CONSTRAINT [DF_Sis_Plataformas_Activo] DEFAULT ((1)) NOT NULL,
[FechaCreacion] datetime CONSTRAINT [DF_Sis_Plataformas_FechaCreacion] DEFAULT (GETDATE()) NOT NULL,
[FechaActualizacion] datetime NULL,
@@ -166,7 +166,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Sis_Plataformas', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Sis_Plataformas', N'NombrePlataforma') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Sis_Plataformas] ADD [NombrePlataforma] varchar(100) COLLATE Modern_Spanish_CS_AI NOT NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Sis_Plataformas] ADD [NombrePlataforma] varchar(100) COLLATE Modern_Spanish_CS_AS NOT NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -176,7 +176,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Sis_Plataformas', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Sis_Plataformas', N'Descripcion') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Sis_Plataformas] ADD [Descripcion] varchar(255) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Sis_Plataformas] ADD [Descripcion] varchar(255) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -240,9 +240,9 @@ IF OBJECT_ID(N'dbo.Sis_Permisos', N'U') IS NULL
BEGIN TRY
EXEC sys.sp_executesql N'CREATE TABLE [dbo].[Sis_Permisos] (
[CvePermiso] int IDENTITY(1,1) NOT NULL,
- [CodigoPermiso] varchar(100) COLLATE Modern_Spanish_CS_AI NOT NULL,
- [NombrePermiso] varchar(150) COLLATE Modern_Spanish_CS_AI NOT NULL,
- [Descripcion] varchar(255) COLLATE Modern_Spanish_CS_AI NULL,
+ [CodigoPermiso] varchar(100) COLLATE Modern_Spanish_CI_AS NOT NULL,
+ [NombrePermiso] varchar(150) COLLATE Modern_Spanish_CS_AS NOT NULL,
+ [Descripcion] varchar(255) COLLATE Modern_Spanish_CS_AS NULL,
[Activo] bit CONSTRAINT [DF_Sis_Permisos_Activo] DEFAULT ((1)) NOT NULL,
[FechaCreacion] datetime CONSTRAINT [DF_Sis_Permisos_FechaCreacion] DEFAULT (GETDATE()) NOT NULL,
[FechaActualizacion] datetime NULL,
@@ -271,7 +271,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Sis_Permisos', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Sis_Permisos', N'CodigoPermiso') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Sis_Permisos] ADD [CodigoPermiso] varchar(100) COLLATE Modern_Spanish_CS_AI NOT NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Sis_Permisos] ADD [CodigoPermiso] varchar(100) COLLATE Modern_Spanish_CI_AS NOT NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -281,7 +281,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Sis_Permisos', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Sis_Permisos', N'NombrePermiso') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Sis_Permisos] ADD [NombrePermiso] varchar(150) COLLATE Modern_Spanish_CS_AI NOT NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Sis_Permisos] ADD [NombrePermiso] varchar(150) COLLATE Modern_Spanish_CS_AS NOT NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -291,7 +291,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Sis_Permisos', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Sis_Permisos', N'Descripcion') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Sis_Permisos] ADD [Descripcion] varchar(255) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Sis_Permisos] ADD [Descripcion] varchar(255) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -355,9 +355,9 @@ IF OBJECT_ID(N'dbo.Sis_Usuarios', N'U') IS NULL
BEGIN TRY
EXEC sys.sp_executesql N'CREATE TABLE [dbo].[Sis_Usuarios] (
[CveUsuario] int IDENTITY(1,1) NOT NULL,
- [NombreUsuario] varchar(100) COLLATE Modern_Spanish_CS_AI NOT NULL,
- [HashContrasena] varchar(500) COLLATE Modern_Spanish_CS_AI NOT NULL,
- [CorreoElectronico] varchar(255) COLLATE Modern_Spanish_CS_AI NULL,
+ [NombreUsuario] varchar(100) COLLATE Modern_Spanish_CI_AS NOT NULL,
+ [HashContrasena] varchar(500) COLLATE Modern_Spanish_CS_AS NOT NULL,
+ [CorreoElectronico] varchar(255) COLLATE Modern_Spanish_CS_AS NULL,
[CveRol] int NOT NULL,
[Activo] bit CONSTRAINT [DF_Sis_Usuarios_Activo] DEFAULT ((1)) NOT NULL,
[FechaUltimaConexion] datetime NULL,
@@ -392,7 +392,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Sis_Usuarios', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Sis_Usuarios', N'NombreUsuario') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Sis_Usuarios] ADD [NombreUsuario] varchar(100) COLLATE Modern_Spanish_CS_AI NOT NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Sis_Usuarios] ADD [NombreUsuario] varchar(100) COLLATE Modern_Spanish_CI_AS NOT NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -402,7 +402,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Sis_Usuarios', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Sis_Usuarios', N'HashContrasena') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Sis_Usuarios] ADD [HashContrasena] varchar(500) COLLATE Modern_Spanish_CS_AI NOT NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Sis_Usuarios] ADD [HashContrasena] varchar(500) COLLATE Modern_Spanish_CS_AS NOT NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -412,7 +412,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Sis_Usuarios', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Sis_Usuarios', N'CorreoElectronico') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Sis_Usuarios] ADD [CorreoElectronico] varchar(255) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Sis_Usuarios] ADD [CorreoElectronico] varchar(255) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -538,11 +538,11 @@ BEGIN TRY
[CveModulo] int IDENTITY(1,1) NOT NULL,
[CveModuloPadre] int NULL,
[CvePlataforma] int NOT NULL,
- [NombreModulo] varchar(150) COLLATE Modern_Spanish_CS_AI NOT NULL,
- [Descripcion] varchar(255) COLLATE Modern_Spanish_CS_AI NULL,
- [Url] varchar(500) COLLATE Modern_Spanish_CS_AI NULL,
- [ClaseCssIcono] varchar(150) COLLATE Modern_Spanish_CS_AI NULL,
- [ClaseCssEstilo] varchar(150) COLLATE Modern_Spanish_CS_AI NULL,
+ [NombreModulo] varchar(150) COLLATE Modern_Spanish_CS_AS NOT NULL,
+ [Descripcion] varchar(255) COLLATE Modern_Spanish_CS_AS NULL,
+ [Url] varchar(500) COLLATE Modern_Spanish_CS_AS NULL,
+ [ClaseCssIcono] varchar(150) COLLATE Modern_Spanish_CS_AS NULL,
+ [ClaseCssEstilo] varchar(150) COLLATE Modern_Spanish_CS_AS NULL,
[OrdenVisualizacion] int CONSTRAINT [DF_Sis_Modulos_OrdenVisualizacion] DEFAULT ((0)) NOT NULL,
[Visible] bit CONSTRAINT [DF_Sis_Modulos_Visible] DEFAULT ((1)) NOT NULL,
[Activo] bit CONSTRAINT [DF_Sis_Modulos_Activo] DEFAULT ((1)) NOT NULL,
@@ -591,7 +591,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Sis_Modulos', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Sis_Modulos', N'NombreModulo') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Sis_Modulos] ADD [NombreModulo] varchar(150) COLLATE Modern_Spanish_CS_AI NOT NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Sis_Modulos] ADD [NombreModulo] varchar(150) COLLATE Modern_Spanish_CS_AS NOT NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -601,7 +601,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Sis_Modulos', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Sis_Modulos', N'Descripcion') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Sis_Modulos] ADD [Descripcion] varchar(255) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Sis_Modulos] ADD [Descripcion] varchar(255) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -611,7 +611,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Sis_Modulos', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Sis_Modulos', N'Url') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Sis_Modulos] ADD [Url] varchar(500) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Sis_Modulos] ADD [Url] varchar(500) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -621,7 +621,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Sis_Modulos', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Sis_Modulos', N'ClaseCssIcono') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Sis_Modulos] ADD [ClaseCssIcono] varchar(150) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Sis_Modulos] ADD [ClaseCssIcono] varchar(150) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -631,7 +631,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Sis_Modulos', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Sis_Modulos', N'ClaseCssEstilo') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Sis_Modulos] ADD [ClaseCssEstilo] varchar(150) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Sis_Modulos] ADD [ClaseCssEstilo] varchar(150) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -1039,10 +1039,10 @@ BEGIN TRY
EXEC sys.sp_executesql N'CREATE TABLE [dbo].[Sis_UsuariosSesiones] (
[CveUsuarioSesion] int IDENTITY(1,1) NOT NULL,
[CveUsuario] int NOT NULL,
- [TokenSesion] varchar(200) COLLATE Modern_Spanish_CS_AI NOT NULL,
- [DireccionIP] varchar(50) COLLATE Modern_Spanish_CS_AI NULL,
- [AgenteUsuario] varchar(1000) COLLATE Modern_Spanish_CS_AI NULL,
- [NombreDominio] varchar(255) COLLATE Modern_Spanish_CS_AI NULL,
+ [TokenSesion] varchar(200) COLLATE Modern_Spanish_CS_AS NOT NULL,
+ [DireccionIP] varchar(50) COLLATE Modern_Spanish_CS_AS NULL,
+ [AgenteUsuario] varchar(1000) COLLATE Modern_Spanish_CS_AS NULL,
+ [NombreDominio] varchar(255) COLLATE Modern_Spanish_CS_AS NULL,
[FechaInicio] datetime CONSTRAINT [DF_Sis_UsuariosSesiones_FechaInicio] DEFAULT (GETDATE()) NOT NULL,
[FechaUltimaActividad] datetime NULL,
[FechaFin] datetime NULL,
@@ -1082,7 +1082,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Sis_UsuariosSesiones', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Sis_UsuariosSesiones', N'TokenSesion') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Sis_UsuariosSesiones] ADD [TokenSesion] varchar(200) COLLATE Modern_Spanish_CS_AI NOT NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Sis_UsuariosSesiones] ADD [TokenSesion] varchar(200) COLLATE Modern_Spanish_CS_AS NOT NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -1092,7 +1092,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Sis_UsuariosSesiones', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Sis_UsuariosSesiones', N'DireccionIP') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Sis_UsuariosSesiones] ADD [DireccionIP] varchar(50) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Sis_UsuariosSesiones] ADD [DireccionIP] varchar(50) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -1102,7 +1102,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Sis_UsuariosSesiones', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Sis_UsuariosSesiones', N'AgenteUsuario') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Sis_UsuariosSesiones] ADD [AgenteUsuario] varchar(1000) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Sis_UsuariosSesiones] ADD [AgenteUsuario] varchar(1000) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -1112,7 +1112,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Sis_UsuariosSesiones', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Sis_UsuariosSesiones', N'NombreDominio') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Sis_UsuariosSesiones] ADD [NombreDominio] varchar(255) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Sis_UsuariosSesiones] ADD [NombreDominio] varchar(255) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -1189,11 +1189,11 @@ BEGIN TRY
[CvePermiso] int NOT NULL,
[CveUsuarioSolicitante] int NOT NULL,
[CveUsuarioAutorizador] int NULL,
- [EstadoAutorizacion] varchar(30) COLLATE Modern_Spanish_CS_AI
+ [EstadoAutorizacion] varchar(30) COLLATE Modern_Spanish_CS_AS
CONSTRAINT [DF_Sis_UsuariosAutorizaciones_Estado]
DEFAULT (''Pendiente'') NOT NULL,
- [ComentarioSolicitud] varchar(500) COLLATE Modern_Spanish_CS_AI NULL,
- [ComentarioAutorizacion] varchar(500) COLLATE Modern_Spanish_CS_AI NULL,
+ [ComentarioSolicitud] varchar(500) COLLATE Modern_Spanish_CS_AS NULL,
+ [ComentarioAutorizacion] varchar(500) COLLATE Modern_Spanish_CS_AS NULL,
[FechaSolicitud] datetime
CONSTRAINT [DF_Sis_UsuariosAutorizaciones_FechaSolicitud]
DEFAULT (GETDATE()) NOT NULL,
@@ -1262,7 +1262,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Sis_UsuariosAutorizaciones', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Sis_UsuariosAutorizaciones', N'EstadoAutorizacion') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Sis_UsuariosAutorizaciones] ADD [EstadoAutorizacion] varchar(30) COLLATE Modern_Spanish_CS_AI
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Sis_UsuariosAutorizaciones] ADD [EstadoAutorizacion] varchar(30) COLLATE Modern_Spanish_CS_AS
CONSTRAINT [DF_Sis_UsuariosAutorizaciones_Estado]
DEFAULT (''Pendiente'') NOT NULL;';
END TRY
@@ -1274,7 +1274,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Sis_UsuariosAutorizaciones', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Sis_UsuariosAutorizaciones', N'ComentarioSolicitud') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Sis_UsuariosAutorizaciones] ADD [ComentarioSolicitud] varchar(500) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Sis_UsuariosAutorizaciones] ADD [ComentarioSolicitud] varchar(500) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -1284,7 +1284,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Sis_UsuariosAutorizaciones', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Sis_UsuariosAutorizaciones', N'ComentarioAutorizacion') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Sis_UsuariosAutorizaciones] ADD [ComentarioAutorizacion] varchar(500) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Sis_UsuariosAutorizaciones] ADD [ComentarioAutorizacion] varchar(500) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -1350,14 +1350,14 @@ BEGIN TRY
EXEC sys.sp_executesql N'CREATE TABLE [dbo].[Sis_UsuariosSuscripcionesPush] (
[CveSuscripcionPush] int IDENTITY(1,1) NOT NULL,
[CveUsuario] int NOT NULL,
- [Endpoint] varchar(1000) COLLATE Modern_Spanish_CS_AI NOT NULL,
- [P256DH] varchar(500) COLLATE Modern_Spanish_CS_AI NOT NULL,
- [ClaveAutenticacion] varchar(500) COLLATE Modern_Spanish_CS_AI NOT NULL,
+ [Endpoint] varchar(1000) COLLATE Modern_Spanish_CS_AS NOT NULL,
+ [P256DH] varchar(500) COLLATE Modern_Spanish_CS_AS NOT NULL,
+ [ClaveAutenticacion] varchar(500) COLLATE Modern_Spanish_CS_AS NOT NULL,
[Activo] bit CONSTRAINT [DF_Sis_UsuariosSuscripcionesPush_Activo] DEFAULT ((1)) NOT NULL,
- [AgenteUsuario] varchar(1000) COLLATE Modern_Spanish_CS_AI NULL,
- [Plataforma] varchar(100) COLLATE Modern_Spanish_CS_AI NULL,
- [Navegador] varchar(100) COLLATE Modern_Spanish_CS_AI NULL,
- [NombreDominio] varchar(255) COLLATE Modern_Spanish_CS_AI NULL,
+ [AgenteUsuario] varchar(1000) COLLATE Modern_Spanish_CS_AS NULL,
+ [Plataforma] varchar(100) COLLATE Modern_Spanish_CS_AS NULL,
+ [Navegador] varchar(100) COLLATE Modern_Spanish_CS_AS NULL,
+ [NombreDominio] varchar(255) COLLATE Modern_Spanish_CS_AS NULL,
[FechaUltimaConexion] datetime NULL,
[FechaCreacion] datetime
CONSTRAINT [DF_Sis_UsuariosSuscripcionesPush_FechaCreacion]
@@ -1396,7 +1396,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Sis_UsuariosSuscripcionesPush', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Sis_UsuariosSuscripcionesPush', N'Endpoint') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Sis_UsuariosSuscripcionesPush] ADD [Endpoint] varchar(1000) COLLATE Modern_Spanish_CS_AI NOT NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Sis_UsuariosSuscripcionesPush] ADD [Endpoint] varchar(1000) COLLATE Modern_Spanish_CS_AS NOT NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -1406,7 +1406,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Sis_UsuariosSuscripcionesPush', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Sis_UsuariosSuscripcionesPush', N'P256DH') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Sis_UsuariosSuscripcionesPush] ADD [P256DH] varchar(500) COLLATE Modern_Spanish_CS_AI NOT NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Sis_UsuariosSuscripcionesPush] ADD [P256DH] varchar(500) COLLATE Modern_Spanish_CS_AS NOT NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -1416,7 +1416,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Sis_UsuariosSuscripcionesPush', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Sis_UsuariosSuscripcionesPush', N'ClaveAutenticacion') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Sis_UsuariosSuscripcionesPush] ADD [ClaveAutenticacion] varchar(500) COLLATE Modern_Spanish_CS_AI NOT NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Sis_UsuariosSuscripcionesPush] ADD [ClaveAutenticacion] varchar(500) COLLATE Modern_Spanish_CS_AS NOT NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -1436,7 +1436,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Sis_UsuariosSuscripcionesPush', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Sis_UsuariosSuscripcionesPush', N'AgenteUsuario') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Sis_UsuariosSuscripcionesPush] ADD [AgenteUsuario] varchar(1000) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Sis_UsuariosSuscripcionesPush] ADD [AgenteUsuario] varchar(1000) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -1446,7 +1446,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Sis_UsuariosSuscripcionesPush', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Sis_UsuariosSuscripcionesPush', N'Plataforma') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Sis_UsuariosSuscripcionesPush] ADD [Plataforma] varchar(100) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Sis_UsuariosSuscripcionesPush] ADD [Plataforma] varchar(100) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -1456,7 +1456,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Sis_UsuariosSuscripcionesPush', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Sis_UsuariosSuscripcionesPush', N'Navegador') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Sis_UsuariosSuscripcionesPush] ADD [Navegador] varchar(100) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Sis_UsuariosSuscripcionesPush] ADD [Navegador] varchar(100) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -1466,7 +1466,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Sis_UsuariosSuscripcionesPush', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Sis_UsuariosSuscripcionesPush', N'NombreDominio') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Sis_UsuariosSuscripcionesPush] ADD [NombreDominio] varchar(255) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Sis_UsuariosSuscripcionesPush] ADD [NombreDominio] varchar(255) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -1522,13 +1522,13 @@ BEGIN TRY
EXEC sys.sp_executesql N'CREATE TABLE [dbo].[Sis_Notificaciones] (
[CveNotificacion] int IDENTITY(1,1) NOT NULL,
[CveUsuario] int NOT NULL,
- [TipoNotificacion] varchar(50) COLLATE Modern_Spanish_CS_AI NOT NULL,
- [EstadoNotificacion] varchar(30) COLLATE Modern_Spanish_CS_AI
+ [TipoNotificacion] varchar(50) COLLATE Modern_Spanish_CS_AS NOT NULL,
+ [EstadoNotificacion] varchar(30) COLLATE Modern_Spanish_CS_AS
CONSTRAINT [DF_Sis_Notificaciones_Estado]
DEFAULT (''Pendiente'') NOT NULL,
- [Titulo] varchar(200) COLLATE Modern_Spanish_CS_AI NOT NULL,
- [Mensaje] varchar(max) COLLATE Modern_Spanish_CS_AI NOT NULL,
- [Url] varchar(500) COLLATE Modern_Spanish_CS_AI NULL,
+ [Titulo] varchar(200) COLLATE Modern_Spanish_CS_AS NOT NULL,
+ [Mensaje] varchar(max) COLLATE Modern_Spanish_CS_AS NOT NULL,
+ [Url] varchar(500) COLLATE Modern_Spanish_CS_AS NULL,
[Leida] bit CONSTRAINT [DF_Sis_Notificaciones_Leida] DEFAULT ((0)) NOT NULL,
[MostradaEnCampana] bit CONSTRAINT [DF_Sis_Notificaciones_MostradaEnCampana] DEFAULT ((0)) NOT NULL,
[FechaEnvio] datetime NULL,
@@ -1593,7 +1593,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Sis_Notificaciones', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Sis_Notificaciones', N'TipoNotificacion') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Sis_Notificaciones] ADD [TipoNotificacion] varchar(50) COLLATE Modern_Spanish_CS_AI NOT NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Sis_Notificaciones] ADD [TipoNotificacion] varchar(50) COLLATE Modern_Spanish_CS_AS NOT NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -1603,7 +1603,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Sis_Notificaciones', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Sis_Notificaciones', N'EstadoNotificacion') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Sis_Notificaciones] ADD [EstadoNotificacion] varchar(30) COLLATE Modern_Spanish_CS_AI
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Sis_Notificaciones] ADD [EstadoNotificacion] varchar(30) COLLATE Modern_Spanish_CS_AS
CONSTRAINT [DF_Sis_Notificaciones_Estado]
DEFAULT (''Pendiente'') NOT NULL;';
END TRY
@@ -1615,7 +1615,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Sis_Notificaciones', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Sis_Notificaciones', N'Titulo') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Sis_Notificaciones] ADD [Titulo] varchar(200) COLLATE Modern_Spanish_CS_AI NOT NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Sis_Notificaciones] ADD [Titulo] varchar(200) COLLATE Modern_Spanish_CS_AS NOT NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -1625,7 +1625,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Sis_Notificaciones', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Sis_Notificaciones', N'Mensaje') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Sis_Notificaciones] ADD [Mensaje] varchar(max) COLLATE Modern_Spanish_CS_AI NOT NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Sis_Notificaciones] ADD [Mensaje] varchar(max) COLLATE Modern_Spanish_CS_AS NOT NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -1635,7 +1635,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Sis_Notificaciones', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Sis_Notificaciones', N'Url') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Sis_Notificaciones] ADD [Url] varchar(500) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Sis_Notificaciones] ADD [Url] varchar(500) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -1761,12 +1761,12 @@ BEGIN TRY
EXEC sys.sp_executesql N'CREATE TABLE [dbo].[Sis_NotificacionesEnvios] (
[CveEnvioNotificacion] int IDENTITY(1,1) NOT NULL,
[CveNotificacion] int NOT NULL,
- [CanalEnvio] varchar(50) COLLATE Modern_Spanish_CS_AI NOT NULL,
- [EstadoEnvio] varchar(30) COLLATE Modern_Spanish_CS_AI
+ [CanalEnvio] varchar(50) COLLATE Modern_Spanish_CS_AS NOT NULL,
+ [EstadoEnvio] varchar(30) COLLATE Modern_Spanish_CS_AS
CONSTRAINT [DF_Sis_NotificacionesEnvios_Estado]
DEFAULT (''Pendiente'') NOT NULL,
- [RespuestaProveedor] varchar(max) COLLATE Modern_Spanish_CS_AI NULL,
- [MensajeError] varchar(max) COLLATE Modern_Spanish_CS_AI NULL,
+ [RespuestaProveedor] varchar(max) COLLATE Modern_Spanish_CS_AS NULL,
+ [MensajeError] varchar(max) COLLATE Modern_Spanish_CS_AS NULL,
[FechaEnvio] datetime NULL,
[FechaCreacion] datetime
CONSTRAINT [DF_Sis_NotificacionesEnvios_FechaCreacion]
@@ -1829,7 +1829,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Sis_NotificacionesEnvios', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Sis_NotificacionesEnvios', N'CanalEnvio') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Sis_NotificacionesEnvios] ADD [CanalEnvio] varchar(50) COLLATE Modern_Spanish_CS_AI NOT NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Sis_NotificacionesEnvios] ADD [CanalEnvio] varchar(50) COLLATE Modern_Spanish_CS_AS NOT NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -1839,7 +1839,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Sis_NotificacionesEnvios', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Sis_NotificacionesEnvios', N'EstadoEnvio') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Sis_NotificacionesEnvios] ADD [EstadoEnvio] varchar(30) COLLATE Modern_Spanish_CS_AI
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Sis_NotificacionesEnvios] ADD [EstadoEnvio] varchar(30) COLLATE Modern_Spanish_CS_AS
CONSTRAINT [DF_Sis_NotificacionesEnvios_Estado]
DEFAULT (''Pendiente'') NOT NULL;';
END TRY
@@ -1851,7 +1851,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Sis_NotificacionesEnvios', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Sis_NotificacionesEnvios', N'RespuestaProveedor') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Sis_NotificacionesEnvios] ADD [RespuestaProveedor] varchar(max) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Sis_NotificacionesEnvios] ADD [RespuestaProveedor] varchar(max) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -1861,7 +1861,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Sis_NotificacionesEnvios', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Sis_NotificacionesEnvios', N'MensajeError') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Sis_NotificacionesEnvios] ADD [MensajeError] varchar(max) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Sis_NotificacionesEnvios] ADD [MensajeError] varchar(max) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -1949,12 +1949,12 @@ BEGIN TRY
EXEC sys.sp_executesql N'CREATE TABLE [dbo].[Sis_IntentosInicioSesion] (
[CveIntentoInicioSesion] int IDENTITY(1,1) NOT NULL,
[CveUsuario] int NULL,
- [NombreUsuario] varchar(100) COLLATE Modern_Spanish_CS_AI NOT NULL,
+ [NombreUsuario] varchar(100) COLLATE Modern_Spanish_CI_AS NOT NULL,
[Exitoso] bit NOT NULL,
- [MotivoFallo] varchar(200) COLLATE Modern_Spanish_CS_AI NULL,
- [DireccionIP] varchar(50) COLLATE Modern_Spanish_CS_AI NULL,
- [AgenteUsuario] varchar(1000) COLLATE Modern_Spanish_CS_AI NULL,
- [NombreDominio] varchar(255) COLLATE Modern_Spanish_CS_AI NULL,
+ [MotivoFallo] varchar(200) COLLATE Modern_Spanish_CS_AS NULL,
+ [DireccionIP] varchar(50) COLLATE Modern_Spanish_CS_AS NULL,
+ [AgenteUsuario] varchar(1000) COLLATE Modern_Spanish_CS_AS NULL,
+ [NombreDominio] varchar(255) COLLATE Modern_Spanish_CS_AS NULL,
[FechaCreacion] datetime
CONSTRAINT [DF_Sis_IntentosInicioSesion_FechaCreacion]
DEFAULT (GETDATE()) NOT NULL,
@@ -1991,7 +1991,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Sis_IntentosInicioSesion', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Sis_IntentosInicioSesion', N'NombreUsuario') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Sis_IntentosInicioSesion] ADD [NombreUsuario] varchar(100) COLLATE Modern_Spanish_CS_AI NOT NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Sis_IntentosInicioSesion] ADD [NombreUsuario] varchar(100) COLLATE Modern_Spanish_CI_AS NOT NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -2011,7 +2011,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Sis_IntentosInicioSesion', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Sis_IntentosInicioSesion', N'MotivoFallo') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Sis_IntentosInicioSesion] ADD [MotivoFallo] varchar(200) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Sis_IntentosInicioSesion] ADD [MotivoFallo] varchar(200) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -2021,7 +2021,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Sis_IntentosInicioSesion', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Sis_IntentosInicioSesion', N'DireccionIP') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Sis_IntentosInicioSesion] ADD [DireccionIP] varchar(50) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Sis_IntentosInicioSesion] ADD [DireccionIP] varchar(50) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -2031,7 +2031,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Sis_IntentosInicioSesion', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Sis_IntentosInicioSesion', N'AgenteUsuario') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Sis_IntentosInicioSesion] ADD [AgenteUsuario] varchar(1000) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Sis_IntentosInicioSesion] ADD [AgenteUsuario] varchar(1000) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -2041,7 +2041,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Sis_IntentosInicioSesion', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Sis_IntentosInicioSesion', N'NombreDominio') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Sis_IntentosInicioSesion] ADD [NombreDominio] varchar(255) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Sis_IntentosInicioSesion] ADD [NombreDominio] varchar(255) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -2077,13 +2077,13 @@ BEGIN TRY
EXEC sys.sp_executesql N'CREATE TABLE [dbo].[Sis_Auditorias] (
[CveAuditoria] int IDENTITY(1,1) NOT NULL,
[CveUsuario] int NULL,
- [TipoEvento] varchar(100) COLLATE Modern_Spanish_CS_AI NOT NULL,
- [NombreEntidad] varchar(150) COLLATE Modern_Spanish_CS_AI NULL,
- [LlaveEntidad] varchar(100) COLLATE Modern_Spanish_CS_AI NULL,
- [Descripcion] varchar(500) COLLATE Modern_Spanish_CS_AI NULL,
- [DireccionIP] varchar(50) COLLATE Modern_Spanish_CS_AI NULL,
- [AgenteUsuario] varchar(1000) COLLATE Modern_Spanish_CS_AI NULL,
- [NombreDominio] varchar(255) COLLATE Modern_Spanish_CS_AI NULL,
+ [TipoEvento] varchar(100) COLLATE Modern_Spanish_CS_AS NOT NULL,
+ [NombreEntidad] varchar(150) COLLATE Modern_Spanish_CS_AS NULL,
+ [LlaveEntidad] varchar(100) COLLATE Modern_Spanish_CS_AS NULL,
+ [Descripcion] varchar(500) COLLATE Modern_Spanish_CS_AS NULL,
+ [DireccionIP] varchar(50) COLLATE Modern_Spanish_CS_AS NULL,
+ [AgenteUsuario] varchar(1000) COLLATE Modern_Spanish_CS_AS NULL,
+ [NombreDominio] varchar(255) COLLATE Modern_Spanish_CS_AS NULL,
[FechaCreacion] datetime CONSTRAINT [DF_Sis_Auditorias_FechaCreacion] DEFAULT (GETDATE()) NOT NULL,
CONSTRAINT [PK_Sis_Auditorias]
PRIMARY KEY CLUSTERED ([CveAuditoria])
@@ -2118,7 +2118,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Sis_Auditorias', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Sis_Auditorias', N'TipoEvento') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Sis_Auditorias] ADD [TipoEvento] varchar(100) COLLATE Modern_Spanish_CS_AI NOT NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Sis_Auditorias] ADD [TipoEvento] varchar(100) COLLATE Modern_Spanish_CS_AS NOT NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -2128,7 +2128,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Sis_Auditorias', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Sis_Auditorias', N'NombreEntidad') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Sis_Auditorias] ADD [NombreEntidad] varchar(150) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Sis_Auditorias] ADD [NombreEntidad] varchar(150) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -2138,7 +2138,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Sis_Auditorias', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Sis_Auditorias', N'LlaveEntidad') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Sis_Auditorias] ADD [LlaveEntidad] varchar(100) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Sis_Auditorias] ADD [LlaveEntidad] varchar(100) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -2148,7 +2148,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Sis_Auditorias', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Sis_Auditorias', N'Descripcion') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Sis_Auditorias] ADD [Descripcion] varchar(500) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Sis_Auditorias] ADD [Descripcion] varchar(500) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -2158,7 +2158,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Sis_Auditorias', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Sis_Auditorias', N'DireccionIP') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Sis_Auditorias] ADD [DireccionIP] varchar(50) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Sis_Auditorias] ADD [DireccionIP] varchar(50) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -2168,7 +2168,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Sis_Auditorias', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Sis_Auditorias', N'AgenteUsuario') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Sis_Auditorias] ADD [AgenteUsuario] varchar(1000) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Sis_Auditorias] ADD [AgenteUsuario] varchar(1000) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -2178,7 +2178,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Sis_Auditorias', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Sis_Auditorias', N'NombreDominio') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Sis_Auditorias] ADD [NombreDominio] varchar(255) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Sis_Auditorias] ADD [NombreDominio] varchar(255) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -2212,9 +2212,9 @@ BEGIN TRY
EXEC sys.sp_executesql N'CREATE TABLE [dbo].[Sis_AuditoriasDetalles] (
[CveAuditoriaDetalle] int IDENTITY(1,1) NOT NULL,
[CveAuditoria] int NOT NULL,
- [NombreCampo] varchar(150) COLLATE Modern_Spanish_CS_AI NOT NULL,
- [ValorAnterior] varchar(max) COLLATE Modern_Spanish_CS_AI NULL,
- [ValorNuevo] varchar(max) COLLATE Modern_Spanish_CS_AI NULL,
+ [NombreCampo] varchar(150) COLLATE Modern_Spanish_CS_AS NOT NULL,
+ [ValorAnterior] varchar(max) COLLATE Modern_Spanish_CS_AS NULL,
+ [ValorNuevo] varchar(max) COLLATE Modern_Spanish_CS_AS NULL,
CONSTRAINT [PK_Sis_AuditoriasDetalles]
PRIMARY KEY CLUSTERED ([CveAuditoriaDetalle])
)
@@ -2249,7 +2249,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Sis_AuditoriasDetalles', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Sis_AuditoriasDetalles', N'NombreCampo') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Sis_AuditoriasDetalles] ADD [NombreCampo] varchar(150) COLLATE Modern_Spanish_CS_AI NOT NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Sis_AuditoriasDetalles] ADD [NombreCampo] varchar(150) COLLATE Modern_Spanish_CS_AS NOT NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -2259,7 +2259,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Sis_AuditoriasDetalles', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Sis_AuditoriasDetalles', N'ValorAnterior') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Sis_AuditoriasDetalles] ADD [ValorAnterior] varchar(max) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Sis_AuditoriasDetalles] ADD [ValorAnterior] varchar(max) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -2269,7 +2269,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Sis_AuditoriasDetalles', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Sis_AuditoriasDetalles', N'ValorNuevo') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Sis_AuditoriasDetalles] ADD [ValorNuevo] varchar(max) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Sis_AuditoriasDetalles] ADD [ValorNuevo] varchar(max) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -2292,20 +2292,20 @@ IF OBJECT_ID(N'dbo.Gral_SAT_ProductosServicios', N'U') IS NULL
BEGIN TRY
EXEC sys.sp_executesql N'CREATE TABLE [dbo].[Gral_SAT_ProductosServicios] (
[CveSATPS] int IDENTITY(1,1) NOT NULL,
- [SATClavePS] nvarchar(20) COLLATE Modern_Spanish_CS_AI NULL,
- [Descripcion] nvarchar(600) COLLATE Modern_Spanish_CS_AI NULL,
- [IncluirIVAtrasladado] nvarchar(255) COLLATE Modern_Spanish_CS_AI NULL,
- [IncluirIEPStrasladado] nvarchar(255) COLLATE Modern_Spanish_CS_AI NULL,
- [ComplementoIncluir] nvarchar(255) COLLATE Modern_Spanish_CS_AI NULL,
+ [SATClavePS] nvarchar(20) COLLATE Modern_Spanish_CS_AS NULL,
+ [Descripcion] nvarchar(600) COLLATE Modern_Spanish_CS_AS NULL,
+ [IncluirIVAtrasladado] nvarchar(255) COLLATE Modern_Spanish_CS_AS NULL,
+ [IncluirIEPStrasladado] nvarchar(255) COLLATE Modern_Spanish_CS_AS NULL,
+ [ComplementoIncluir] nvarchar(255) COLLATE Modern_Spanish_CS_AS NULL,
[IncluirIVATrasladado2] bit DEFAULT ((0)) NOT NULL,
[IncluirIESTrasladado2] bit DEFAULT ((0)) NOT NULL,
[FechaInicioVigencia] date NULL,
[FechaFinVigencia] date NULL,
[EstimuloFranjaFronteriza] bit NULL,
- [PalabrasSimilares] varchar(600) COLLATE Modern_Spanish_CS_AI NULL,
+ [PalabrasSimilares] varchar(600) COLLATE Modern_Spanish_CS_AS NULL,
[Estatus] bit DEFAULT ((1)) NOT NULL,
[AplicaCartaPorte] bit NULL,
- [MaterialPeligroso] varchar(3) COLLATE Modern_Spanish_CS_AI NULL,
+ [MaterialPeligroso] varchar(3) COLLATE Modern_Spanish_CS_AS NULL,
CONSTRAINT [PK_Gral_SAT_ProductosServicios_1] PRIMARY KEY CLUSTERED ([CveSATPS])
WITH (PAD_INDEX = OFF, FILLFACTOR = 80, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON)
ON [PRIMARY]
@@ -2330,7 +2330,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Gral_SAT_ProductosServicios', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Gral_SAT_ProductosServicios', N'SATClavePS') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Gral_SAT_ProductosServicios] ADD [SATClavePS] nvarchar(20) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Gral_SAT_ProductosServicios] ADD [SATClavePS] nvarchar(20) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -2340,7 +2340,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Gral_SAT_ProductosServicios', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Gral_SAT_ProductosServicios', N'Descripcion') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Gral_SAT_ProductosServicios] ADD [Descripcion] nvarchar(600) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Gral_SAT_ProductosServicios] ADD [Descripcion] nvarchar(600) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -2350,7 +2350,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Gral_SAT_ProductosServicios', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Gral_SAT_ProductosServicios', N'IncluirIVAtrasladado') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Gral_SAT_ProductosServicios] ADD [IncluirIVAtrasladado] nvarchar(255) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Gral_SAT_ProductosServicios] ADD [IncluirIVAtrasladado] nvarchar(255) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -2360,7 +2360,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Gral_SAT_ProductosServicios', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Gral_SAT_ProductosServicios', N'IncluirIEPStrasladado') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Gral_SAT_ProductosServicios] ADD [IncluirIEPStrasladado] nvarchar(255) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Gral_SAT_ProductosServicios] ADD [IncluirIEPStrasladado] nvarchar(255) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -2370,7 +2370,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Gral_SAT_ProductosServicios', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Gral_SAT_ProductosServicios', N'ComplementoIncluir') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Gral_SAT_ProductosServicios] ADD [ComplementoIncluir] nvarchar(255) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Gral_SAT_ProductosServicios] ADD [ComplementoIncluir] nvarchar(255) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -2430,7 +2430,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Gral_SAT_ProductosServicios', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Gral_SAT_ProductosServicios', N'PalabrasSimilares') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Gral_SAT_ProductosServicios] ADD [PalabrasSimilares] varchar(600) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Gral_SAT_ProductosServicios] ADD [PalabrasSimilares] varchar(600) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -2460,7 +2460,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Gral_SAT_ProductosServicios', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Gral_SAT_ProductosServicios', N'MaterialPeligroso') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Gral_SAT_ProductosServicios] ADD [MaterialPeligroso] varchar(3) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Gral_SAT_ProductosServicios] ADD [MaterialPeligroso] varchar(3) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -2484,7 +2484,7 @@ IF OBJECT_ID(N'dbo.Gral_Categorias', N'U') IS NULL
BEGIN TRY
EXEC sys.sp_executesql N'CREATE TABLE [dbo].[Gral_Categorias] (
[CveCategoria] int IDENTITY(1,1) NOT NULL,
- [Categoria] varchar(50) COLLATE Modern_Spanish_CS_AI NOT NULL,
+ [Categoria] varchar(50) COLLATE Modern_Spanish_CS_AS NOT NULL,
[Estatus] bit DEFAULT ((1)) NOT NULL,
[Tipo] tinyint DEFAULT ((1)) NOT NULL,
[FechaIng] datetime NOT NULL,
@@ -2516,7 +2516,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Gral_Categorias', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Gral_Categorias', N'Categoria') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Gral_Categorias] ADD [Categoria] varchar(50) COLLATE Modern_Spanish_CS_AI NOT NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Gral_Categorias] ADD [Categoria] varchar(50) COLLATE Modern_Spanish_CS_AS NOT NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -2592,8 +2592,8 @@ IF OBJECT_ID(N'dbo.Clasificaciones', N'U') IS NULL
BEGIN TRY
EXEC sys.sp_executesql N'CREATE TABLE [dbo].[Clasificaciones] (
[CveClasificacion] int IDENTITY(1,1) NOT NULL,
- [Codigo] varchar(20) COLLATE Modern_Spanish_CS_AI NULL,
- [Clasificacion] varchar(200) COLLATE Modern_Spanish_CS_AI NOT NULL,
+ [Codigo] varchar(20) COLLATE Modern_Spanish_CI_AS NULL,
+ [Clasificacion] varchar(200) COLLATE Modern_Spanish_CS_AS NOT NULL,
[Estado] bit DEFAULT ((1)) NOT NULL,
[Afectable] bit DEFAULT ((1)) NOT NULL,
[CveCategoria] int NULL,
@@ -2638,7 +2638,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Clasificaciones', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Clasificaciones', N'Codigo') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Clasificaciones] ADD [Codigo] varchar(20) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Clasificaciones] ADD [Codigo] varchar(20) COLLATE Modern_Spanish_CI_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -2648,7 +2648,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Clasificaciones', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Clasificaciones', N'Clasificacion') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Clasificaciones] ADD [Clasificacion] varchar(200) COLLATE Modern_Spanish_CS_AI NOT NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Clasificaciones] ADD [Clasificacion] varchar(200) COLLATE Modern_Spanish_CS_AS NOT NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -2856,31 +2856,31 @@ BEGIN TRY
[CveBancoCuenta] int IDENTITY(1,1) NOT NULL,
[CveBanco] int NOT NULL,
[CveTipoCuenta] int NOT NULL,
- [NumCuenta] varchar(50) COLLATE Modern_Spanish_CS_AI NOT NULL,
+ [NumCuenta] varchar(50) COLLATE Modern_Spanish_CS_AS NOT NULL,
[CveMoneda] int DEFAULT ((1)) NOT NULL,
- [CLABE] varchar(18) COLLATE Modern_Spanish_CS_AI NULL,
+ [CLABE] varchar(18) COLLATE Modern_Spanish_CS_AS NULL,
[DiaCorte] int DEFAULT ((0)) NULL,
[FInicial] int NOT NULL,
[FActual] int NOT NULL,
[FFinal] int NOT NULL,
[LimiteCredito] money DEFAULT ((0)) NOT NULL,
[UsaLayout] bit DEFAULT ((0)) NOT NULL,
- [FormatoCheque] varchar(50) COLLATE Modern_Spanish_CS_AI NULL,
- [ConvenioPagoElectronico] varchar(10) COLLATE Modern_Spanish_CS_AI NULL,
- [PrefijoConta] varchar(2) COLLATE Modern_Spanish_CS_AI NULL,
+ [FormatoCheque] varchar(50) COLLATE Modern_Spanish_CS_AS NULL,
+ [ConvenioPagoElectronico] varchar(10) COLLATE Modern_Spanish_CS_AS NULL,
+ [PrefijoConta] varchar(2) COLLATE Modern_Spanish_CS_AS NULL,
[Estatus] bit DEFAULT ((1)) NOT NULL,
[Fecha] datetime NOT NULL,
[CveUsuario] int NOT NULL,
[UsaTarjeta] bit NULL,
[SaldoInicial] money NULL,
- [ConvenioPagoElectronicoGrupos] varchar(10) COLLATE Modern_Spanish_CS_AI NULL,
+ [ConvenioPagoElectronicoGrupos] varchar(10) COLLATE Modern_Spanish_CS_AS NULL,
[UsaLayoutGrupos] bit NULL,
[TieneTerminal] bit DEFAULT ((0)) NOT NULL,
[CveBancoCuentaPadre] int NULL,
[CveSubProyecto] int NULL,
- [NumeroSucursal] varchar(10) COLLATE Modern_Spanish_CS_AI NULL,
+ [NumeroSucursal] varchar(10) COLLATE Modern_Spanish_CS_AS NULL,
[EsCajas] bit DEFAULT ((0)) NOT NULL,
- [ConvenioPagoElectronicoNomina] varchar(10) COLLATE Modern_Spanish_CS_AI NULL,
+ [ConvenioPagoElectronicoNomina] varchar(10) COLLATE Modern_Spanish_CS_AS NULL,
CONSTRAINT [PK_BancosCuentas] PRIMARY KEY CLUSTERED ([CveBancoCuenta])
WITH (PAD_INDEX = OFF, FILLFACTOR = 80, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON)
ON [PRIMARY],
@@ -2928,7 +2928,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Banc_BancosCuentas', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Banc_BancosCuentas', N'NumCuenta') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Banc_BancosCuentas] ADD [NumCuenta] varchar(50) COLLATE Modern_Spanish_CS_AI NOT NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Banc_BancosCuentas] ADD [NumCuenta] varchar(50) COLLATE Modern_Spanish_CS_AS NOT NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -2948,7 +2948,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Banc_BancosCuentas', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Banc_BancosCuentas', N'CLABE') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Banc_BancosCuentas] ADD [CLABE] varchar(18) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Banc_BancosCuentas] ADD [CLABE] varchar(18) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -3018,7 +3018,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Banc_BancosCuentas', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Banc_BancosCuentas', N'FormatoCheque') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Banc_BancosCuentas] ADD [FormatoCheque] varchar(50) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Banc_BancosCuentas] ADD [FormatoCheque] varchar(50) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -3028,7 +3028,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Banc_BancosCuentas', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Banc_BancosCuentas', N'ConvenioPagoElectronico') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Banc_BancosCuentas] ADD [ConvenioPagoElectronico] varchar(10) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Banc_BancosCuentas] ADD [ConvenioPagoElectronico] varchar(10) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -3038,7 +3038,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Banc_BancosCuentas', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Banc_BancosCuentas', N'PrefijoConta') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Banc_BancosCuentas] ADD [PrefijoConta] varchar(2) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Banc_BancosCuentas] ADD [PrefijoConta] varchar(2) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -3098,7 +3098,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Banc_BancosCuentas', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Banc_BancosCuentas', N'ConvenioPagoElectronicoGrupos') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Banc_BancosCuentas] ADD [ConvenioPagoElectronicoGrupos] varchar(10) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Banc_BancosCuentas] ADD [ConvenioPagoElectronicoGrupos] varchar(10) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -3148,7 +3148,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Banc_BancosCuentas', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Banc_BancosCuentas', N'NumeroSucursal') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Banc_BancosCuentas] ADD [NumeroSucursal] varchar(10) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Banc_BancosCuentas] ADD [NumeroSucursal] varchar(10) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -3168,7 +3168,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Banc_BancosCuentas', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Banc_BancosCuentas', N'ConvenioPagoElectronicoNomina') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Banc_BancosCuentas] ADD [ConvenioPagoElectronicoNomina] varchar(10) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Banc_BancosCuentas] ADD [ConvenioPagoElectronicoNomina] varchar(10) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -3204,9 +3204,9 @@ IF OBJECT_ID(N'dbo.Conta_CodigosAgrupadoresSAT', N'U') IS NULL
BEGIN TRY
EXEC sys.sp_executesql N'CREATE TABLE [dbo].[Conta_CodigosAgrupadoresSAT] (
[CveAgrupadorSAT] int IDENTITY(1,1) NOT NULL,
- [Codigo] nvarchar(20) COLLATE Modern_Spanish_CS_AI NOT NULL,
- [Nombre] nvarchar(200) COLLATE Modern_Spanish_CS_AI NOT NULL,
- [Tipo] nvarchar(1) COLLATE Modern_Spanish_CS_AI NULL,
+ [Codigo] nvarchar(20) COLLATE Modern_Spanish_CI_AS NOT NULL,
+ [Nombre] nvarchar(200) COLLATE Modern_Spanish_CS_AS NOT NULL,
+ [Tipo] nvarchar(1) COLLATE Modern_Spanish_CS_AS NULL,
[CtaMayor] int NULL,
[IdRubro] int NULL,
[CveAgrupadorPadre] int NULL,
@@ -3235,7 +3235,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Conta_CodigosAgrupadoresSAT', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Conta_CodigosAgrupadoresSAT', N'Codigo') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Conta_CodigosAgrupadoresSAT] ADD [Codigo] nvarchar(20) COLLATE Modern_Spanish_CS_AI NOT NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Conta_CodigosAgrupadoresSAT] ADD [Codigo] nvarchar(20) COLLATE Modern_Spanish_CI_AS NOT NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -3245,7 +3245,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Conta_CodigosAgrupadoresSAT', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Conta_CodigosAgrupadoresSAT', N'Nombre') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Conta_CodigosAgrupadoresSAT] ADD [Nombre] nvarchar(200) COLLATE Modern_Spanish_CS_AI NOT NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Conta_CodigosAgrupadoresSAT] ADD [Nombre] nvarchar(200) COLLATE Modern_Spanish_CS_AS NOT NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -3255,7 +3255,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Conta_CodigosAgrupadoresSAT', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Conta_CodigosAgrupadoresSAT', N'Tipo') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Conta_CodigosAgrupadoresSAT] ADD [Tipo] nvarchar(1) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Conta_CodigosAgrupadoresSAT] ADD [Tipo] nvarchar(1) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -3320,8 +3320,8 @@ BEGIN TRY
EXEC sys.sp_executesql N'CREATE TABLE [dbo].[Conta_Cuentas] (
[CveCuenta] int IDENTITY(1,1) NOT NULL,
[CveClasificacionCuenta] int NOT NULL,
- [Codigo] varchar(50) COLLATE Modern_Spanish_CS_AI NOT NULL,
- [Nombre] varchar(200) COLLATE Modern_Spanish_CS_AI NOT NULL,
+ [Codigo] varchar(50) COLLATE Modern_Spanish_CI_AS NOT NULL,
+ [Nombre] varchar(200) COLLATE Modern_Spanish_CS_AS NOT NULL,
[Afectable] bit NOT NULL,
[TipoCuenta] int NOT NULL,
[Estatus] bit NOT NULL,
@@ -3331,13 +3331,13 @@ BEGIN TRY
[CveMoneda] int NULL,
[CveAgrupadorSAT] int NULL,
[DigAgrup] int NULL,
- [NomIdioma] varchar(250) COLLATE Modern_Spanish_CS_AI NULL,
+ [NomIdioma] varchar(250) COLLATE Modern_Spanish_CS_AS NULL,
[CveConceptoAdmin] int NULL,
[CveCliente] int NULL,
[PorcentajeImpuesto] money NULL,
[CveBancoCuenta] int NULL,
- [CodigoVinculacion] varchar(50) COLLATE Modern_Spanish_CS_AI NULL,
- [CodigoAgrupacion] varchar(100) COLLATE Modern_Spanish_CS_AI NULL,
+ [CodigoVinculacion] varchar(50) COLLATE Modern_Spanish_CI_AS NULL,
+ [CodigoAgrupacion] varchar(100) COLLATE Modern_Spanish_CI_AS NULL,
CONSTRAINT [PK_Conta_Cuentas] PRIMARY KEY CLUSTERED ([CveCuenta])
WITH (PAD_INDEX = OFF, FILLFACTOR = 80, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON)
ON [PRIMARY],
@@ -3374,7 +3374,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Conta_Cuentas', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Conta_Cuentas', N'Codigo') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Conta_Cuentas] ADD [Codigo] varchar(50) COLLATE Modern_Spanish_CS_AI NOT NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Conta_Cuentas] ADD [Codigo] varchar(50) COLLATE Modern_Spanish_CI_AS NOT NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -3384,7 +3384,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Conta_Cuentas', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Conta_Cuentas', N'Nombre') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Conta_Cuentas] ADD [Nombre] varchar(200) COLLATE Modern_Spanish_CS_AI NOT NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Conta_Cuentas] ADD [Nombre] varchar(200) COLLATE Modern_Spanish_CS_AS NOT NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -3484,7 +3484,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Conta_Cuentas', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Conta_Cuentas', N'NomIdioma') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Conta_Cuentas] ADD [NomIdioma] varchar(250) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Conta_Cuentas] ADD [NomIdioma] varchar(250) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -3534,7 +3534,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Conta_Cuentas', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Conta_Cuentas', N'CodigoVinculacion') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Conta_Cuentas] ADD [CodigoVinculacion] varchar(50) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Conta_Cuentas] ADD [CodigoVinculacion] varchar(50) COLLATE Modern_Spanish_CI_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -3544,7 +3544,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Conta_Cuentas', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Conta_Cuentas', N'CodigoAgrupacion') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Conta_Cuentas] ADD [CodigoAgrupacion] varchar(100) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Conta_Cuentas] ADD [CodigoAgrupacion] varchar(100) COLLATE Modern_Spanish_CI_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -3588,93 +3588,93 @@ IF OBJECT_ID(N'dbo.Clientes', N'U') IS NULL
BEGIN TRY
EXEC sys.sp_executesql N'CREATE TABLE [dbo].[Clientes] (
[CveCliente] int IDENTITY(1,1) NOT NULL,
- [Nombre] varchar(200) COLLATE Modern_Spanish_CS_AI NOT NULL,
- [Codigo] varchar(50) COLLATE Modern_Spanish_CS_AI NULL,
- [NombreCorto] varchar(30) COLLATE Modern_Spanish_CS_AI NULL,
- [NombreComercial] varchar(200) COLLATE Modern_Spanish_CS_AI NULL,
- [ApellidoPaterno] varchar(50) COLLATE Modern_Spanish_CS_AI NULL,
- [ApellidoMaterno] varchar(50) COLLATE Modern_Spanish_CS_AI NULL,
- [Nombres] varchar(50) COLLATE Modern_Spanish_CS_AI NULL,
- [Sucursal] varchar(20) COLLATE Modern_Spanish_CS_AI NULL,
- [Direccion] varchar(90) COLLATE Modern_Spanish_CS_AI NOT NULL,
- [NoExt] varchar(20) COLLATE Modern_Spanish_CS_AI NULL,
- [NoInt] varchar(50) COLLATE Modern_Spanish_CS_AI NULL,
- [Colonia] varchar(50) COLLATE Modern_Spanish_CS_AI NOT NULL,
- [Localidad] varchar(50) COLLATE Modern_Spanish_CS_AI NULL,
- [Ciudad] varchar(50) COLLATE Modern_Spanish_CS_AI NOT NULL,
- [Estado] varchar(35) COLLATE Modern_Spanish_CS_AI NOT NULL,
+ [Nombre] varchar(200) COLLATE Modern_Spanish_CS_AS NOT NULL,
+ [Codigo] varchar(50) COLLATE Modern_Spanish_CI_AS NULL,
+ [NombreCorto] varchar(30) COLLATE Modern_Spanish_CS_AS NULL,
+ [NombreComercial] varchar(200) COLLATE Modern_Spanish_CS_AS NULL,
+ [ApellidoPaterno] varchar(50) COLLATE Modern_Spanish_CS_AS NULL,
+ [ApellidoMaterno] varchar(50) COLLATE Modern_Spanish_CS_AS NULL,
+ [Nombres] varchar(50) COLLATE Modern_Spanish_CS_AS NULL,
+ [Sucursal] varchar(20) COLLATE Modern_Spanish_CS_AS NULL,
+ [Direccion] varchar(90) COLLATE Modern_Spanish_CS_AS NOT NULL,
+ [NoExt] varchar(20) COLLATE Modern_Spanish_CS_AS NULL,
+ [NoInt] varchar(50) COLLATE Modern_Spanish_CS_AS NULL,
+ [Colonia] varchar(50) COLLATE Modern_Spanish_CS_AS NOT NULL,
+ [Localidad] varchar(50) COLLATE Modern_Spanish_CS_AS NULL,
+ [Ciudad] varchar(50) COLLATE Modern_Spanish_CS_AS NOT NULL,
+ [Estado] varchar(35) COLLATE Modern_Spanish_CS_AS NOT NULL,
[CveSATEstado] int NOT NULL,
- [Pais] varchar(50) COLLATE Modern_Spanish_CS_AI DEFAULT (''México'') NOT NULL,
- [RFC] varchar(15) COLLATE Modern_Spanish_CS_AI NOT NULL,
- [CP] varchar(10) COLLATE Modern_Spanish_CS_AI NULL,
- [Telefono] varchar(25) COLLATE Modern_Spanish_CS_AI NULL,
- [TelefonoExtension] varchar(10) COLLATE Modern_Spanish_CS_AI NULL,
- [TelefonoOtros] varchar(50) COLLATE Modern_Spanish_CS_AI NULL,
- [Contacto] varchar(255) COLLATE Modern_Spanish_CS_AI NULL,
- [Mail] varchar(500) COLLATE Modern_Spanish_CS_AI NULL,
- [Pagina] varchar(50) COLLATE Modern_Spanish_CS_AI NULL,
- [Giro] varchar(50) COLLATE Modern_Spanish_CS_AI NULL,
+ [Pais] varchar(50) COLLATE Modern_Spanish_CS_AS DEFAULT (''México'') NOT NULL,
+ [RFC] varchar(15) COLLATE Modern_Spanish_CS_AS NOT NULL,
+ [CP] varchar(10) COLLATE Modern_Spanish_CS_AS NULL,
+ [Telefono] varchar(25) COLLATE Modern_Spanish_CS_AS NULL,
+ [TelefonoExtension] varchar(10) COLLATE Modern_Spanish_CS_AS NULL,
+ [TelefonoOtros] varchar(50) COLLATE Modern_Spanish_CS_AS NULL,
+ [Contacto] varchar(255) COLLATE Modern_Spanish_CS_AS NULL,
+ [Mail] varchar(500) COLLATE Modern_Spanish_CS_AS NULL,
+ [Pagina] varchar(50) COLLATE Modern_Spanish_CS_AS NULL,
+ [Giro] varchar(50) COLLATE Modern_Spanish_CS_AS NULL,
[EnviarFactura] bit DEFAULT ((1)) NOT NULL,
- [NotificarA] varchar(500) COLLATE Modern_Spanish_CS_AI NULL,
+ [NotificarA] varchar(500) COLLATE Modern_Spanish_CS_AS NULL,
[CveSucursal] int NULL,
[RetIVA] float(53) DEFAULT ((0)) NOT NULL,
[RetISR] float(53) DEFAULT ((0)) NOT NULL,
[RetIVAFletes] bit DEFAULT ((0)) NOT NULL,
- [ConvenioCIE] varchar(50) COLLATE Modern_Spanish_CS_AI NULL,
+ [ConvenioCIE] varchar(50) COLLATE Modern_Spanish_CS_AS NULL,
[LimiteCredito] float(53) DEFAULT ((0)) NOT NULL,
[PlazoCobranza] int DEFAULT ((0)) NOT NULL,
[PlazoCobranzaRemision] smallint DEFAULT ((0)) NOT NULL,
- [RecepcionPagos] varchar(15) COLLATE Modern_Spanish_CS_AI NULL,
- [TipoPago] varchar(50) COLLATE Modern_Spanish_CS_AI NULL,
- [Vendedor] varchar(20) COLLATE Modern_Spanish_CS_AI NULL,
+ [RecepcionPagos] varchar(15) COLLATE Modern_Spanish_CS_AS NULL,
+ [TipoPago] varchar(50) COLLATE Modern_Spanish_CS_AS NULL,
+ [Vendedor] varchar(20) COLLATE Modern_Spanish_CS_AS NULL,
[CveVendedor] int NULL,
- [Tipo] varchar(3) COLLATE Modern_Spanish_CS_AI NULL,
- [FormaFacturacion] varchar(13) COLLATE Modern_Spanish_CS_AI NULL,
+ [Tipo] varchar(3) COLLATE Modern_Spanish_CS_AS NULL,
+ [FormaFacturacion] varchar(13) COLLATE Modern_Spanish_CS_AS NULL,
[Estatus] bit DEFAULT ((1)) NOT NULL,
[Fecha] date NOT NULL,
[CveUsuario] int NOT NULL,
[FechaIng] datetime NOT NULL,
- [NumCtaPago] varchar(30) COLLATE Modern_Spanish_CS_AI NULL,
+ [NumCtaPago] varchar(30) COLLATE Modern_Spanish_CS_AS NULL,
[BKEliminarCveMetodoPago] int NULL,
[AplicaFEMSA] bit DEFAULT ((0)) NOT NULL,
- [FEMSA_NumSociedad] varchar(4) COLLATE Modern_Spanish_CS_AI NULL,
- [FEMSA_NumProveedor] varchar(10) COLLATE Modern_Spanish_CS_AI NULL,
- [FEMSA_Mail] varchar(50) COLLATE Modern_Spanish_CS_AI NULL,
+ [FEMSA_NumSociedad] varchar(4) COLLATE Modern_Spanish_CS_AS NULL,
+ [FEMSA_NumProveedor] varchar(10) COLLATE Modern_Spanish_CS_AS NULL,
+ [FEMSA_Mail] varchar(50) COLLATE Modern_Spanish_CS_AS NULL,
[AplicaDetallista] bit DEFAULT ((0)) NOT NULL,
- [Detallista_GLNComprador] varchar(18) COLLATE Modern_Spanish_CS_AI NULL,
- [Detallista_Departamento] varchar(50) COLLATE Modern_Spanish_CS_AI NULL,
- [Detallista_GLNVendedor] varchar(18) COLLATE Modern_Spanish_CS_AI NULL,
- [Detallista_NumProveedor] varchar(10) COLLATE Modern_Spanish_CS_AI NULL,
- [SevenEleven_NumProveedor] varchar(20) COLLATE Modern_Spanish_CS_AI NULL,
+ [Detallista_GLNComprador] varchar(18) COLLATE Modern_Spanish_CS_AS NULL,
+ [Detallista_Departamento] varchar(50) COLLATE Modern_Spanish_CS_AS NULL,
+ [Detallista_GLNVendedor] varchar(18) COLLATE Modern_Spanish_CS_AS NULL,
+ [Detallista_NumProveedor] varchar(10) COLLATE Modern_Spanish_CS_AS NULL,
+ [SevenEleven_NumProveedor] varchar(20) COLLATE Modern_Spanish_CS_AS NULL,
[AplicaFord] bit DEFAULT ((0)) NOT NULL,
- [Ford_GSDB] varchar(5) COLLATE Modern_Spanish_CS_AI NULL,
+ [Ford_GSDB] varchar(5) COLLATE Modern_Spanish_CS_AS NULL,
[CvePrecioLista] int NULL,
[CveCondicionEntrega] int NULL,
[PermiteCredito] bit NULL,
- [MailCotizacion] varchar(300) COLLATE Modern_Spanish_CS_AI NULL,
+ [MailCotizacion] varchar(300) COLLATE Modern_Spanish_CS_AS NULL,
[CveClienteClasificacion] int NULL,
[CveUsuarioResponsable] int NULL,
[CveUsuarioModifico] int NULL,
[ImprimeNombreSucursal] bit DEFAULT ((0)) NULL,
[TipoCliente] int DEFAULT ((1)) NULL,
[CveZonaHoraria] int NULL,
- [CobranzaContacto] varchar(255) COLLATE Modern_Spanish_CS_AI NULL,
- [CobranzaTelefono] varchar(10) COLLATE Modern_Spanish_CS_AI NULL,
- [CobranzaExt] varchar(10) COLLATE Modern_Spanish_CS_AI NULL,
- [CobranzaCorreo] varchar(2000) COLLATE Modern_Spanish_CS_AI NULL,
+ [CobranzaContacto] varchar(255) COLLATE Modern_Spanish_CS_AS NULL,
+ [CobranzaTelefono] varchar(10) COLLATE Modern_Spanish_CS_AS NULL,
+ [CobranzaExt] varchar(10) COLLATE Modern_Spanish_CS_AS NULL,
+ [CobranzaCorreo] varchar(2000) COLLATE Modern_Spanish_CS_AS NULL,
[CveSubProyecto] int NULL,
- [Horario] varchar(50) COLLATE Modern_Spanish_CS_AI NULL,
- [Documentacion] varchar(255) COLLATE Modern_Spanish_CS_AI NULL,
- [PortalFacturacion] varchar(255) COLLATE Modern_Spanish_CS_AI NULL,
+ [Horario] varchar(50) COLLATE Modern_Spanish_CS_AS NULL,
+ [Documentacion] varchar(255) COLLATE Modern_Spanish_CS_AS NULL,
+ [PortalFacturacion] varchar(255) COLLATE Modern_Spanish_CS_AS NULL,
[CveSucursal2] int NULL,
- [DiasPago] varchar(50) COLLATE Modern_Spanish_CS_AI NULL,
- [UsuarioPortal] varchar(50) COLLATE Modern_Spanish_CS_AI NULL,
- [PasswordPortal] varchar(50) COLLATE Modern_Spanish_CS_AI NULL,
- [DiasRevision] varchar(50) COLLATE Modern_Spanish_CS_AI NULL,
- [ObservacionRevision] varchar(255) COLLATE Modern_Spanish_CS_AI NULL,
- [ReferenciaFiscal] varchar(100) COLLATE Modern_Spanish_CS_AI NULL,
- [Celular] varchar(15) COLLATE Modern_Spanish_CS_AI NULL,
- [ExtOtros] varchar(15) COLLATE Modern_Spanish_CS_AI NULL,
+ [DiasPago] varchar(50) COLLATE Modern_Spanish_CS_AS NULL,
+ [UsuarioPortal] varchar(50) COLLATE Modern_Spanish_CI_AS NULL,
+ [PasswordPortal] varchar(50) COLLATE Modern_Spanish_CS_AS NULL,
+ [DiasRevision] varchar(50) COLLATE Modern_Spanish_CS_AS NULL,
+ [ObservacionRevision] varchar(255) COLLATE Modern_Spanish_CS_AS NULL,
+ [ReferenciaFiscal] varchar(100) COLLATE Modern_Spanish_CS_AS NULL,
+ [Celular] varchar(15) COLLATE Modern_Spanish_CS_AS NULL,
+ [ExtOtros] varchar(15) COLLATE Modern_Spanish_CS_AS NULL,
[CveUsoCFDI] tinyint NULL,
[CveFormaPago] tinyint NULL,
[CveMetodoPago] tinyint NULL,
@@ -3688,30 +3688,30 @@ BEGIN TRY
[CveEstado] int NULL,
[CveMunicipio] int NULL,
[CveColonia] int NULL,
- [NumRegIdTrib] varchar(50) COLLATE Modern_Spanish_CS_AI NULL,
+ [NumRegIdTrib] varchar(50) COLLATE Modern_Spanish_CS_AS NULL,
[CveMotivoTraslado] tinyint NULL,
- [ComExtEstado] varchar(50) COLLATE Modern_Spanish_CS_AI NULL,
- [ComExtMunicipio] varchar(50) COLLATE Modern_Spanish_CS_AI NULL,
- [ComExtColonia] varchar(50) COLLATE Modern_Spanish_CS_AI NULL,
+ [ComExtEstado] varchar(50) COLLATE Modern_Spanish_CS_AS NULL,
+ [ComExtMunicipio] varchar(50) COLLATE Modern_Spanish_CS_AS NULL,
+ [ComExtColonia] varchar(50) COLLATE Modern_Spanish_CS_AS NULL,
[RequiereOC] bit DEFAULT ((0)) NOT NULL,
[EsDistribuidor] bit DEFAULT ((0)) NOT NULL,
[BonificacionUsado] bit DEFAULT ((0)) NOT NULL,
[CargoUsado] bit DEFAULT ((0)) NOT NULL,
[CveTipoRetencion] tinyint NULL,
- [CorreoEntregaCompras] varchar(50) COLLATE Modern_Spanish_CS_AI NULL,
- [CorreoEntregaAlmacen] varchar(50) COLLATE Modern_Spanish_CS_AI NULL,
- [Punto] varchar(100) COLLATE Modern_Spanish_CS_AI NULL,
+ [CorreoEntregaCompras] varchar(50) COLLATE Modern_Spanish_CS_AS NULL,
+ [CorreoEntregaAlmacen] varchar(50) COLLATE Modern_Spanish_CS_AS NULL,
+ [Punto] varchar(100) COLLATE Modern_Spanish_CS_AS NULL,
[CveAdminTrayecto] tinyint NULL,
[NoDesglosaIVA] bit DEFAULT ((0)) NULL,
- [CorreoCumplimiento] varchar(200) COLLATE Modern_Spanish_CS_AI NULL,
+ [CorreoCumplimiento] varchar(200) COLLATE Modern_Spanish_CS_AS NULL,
[CveRegimenFiscal] tinyint NULL,
- [RegimenSociedad] varchar(50) COLLATE Modern_Spanish_CS_AI NULL,
+ [RegimenSociedad] varchar(50) COLLATE Modern_Spanish_CS_AS NULL,
[TipoPersona] bit NULL,
- [RepresentanteLegal] varchar(100) COLLATE Modern_Spanish_CS_AI NULL,
+ [RepresentanteLegal] varchar(100) COLLATE Modern_Spanish_CS_AS NULL,
[FechaLimiteCredito] date NULL,
- [ComExtCalle] varchar(50) COLLATE Modern_Spanish_CS_AI NULL,
- [ComExtNumExt] varchar(50) COLLATE Modern_Spanish_CS_AI NULL,
- [ComExtCP] varchar(10) COLLATE Modern_Spanish_CS_AI NULL,
+ [ComExtCalle] varchar(50) COLLATE Modern_Spanish_CS_AS NULL,
+ [ComExtNumExt] varchar(50) COLLATE Modern_Spanish_CS_AS NULL,
+ [ComExtCP] varchar(10) COLLATE Modern_Spanish_CS_AS NULL,
[Genero] bit NULL,
[CveAlmacenAsignado] int NULL,
[CveAlmacenAlterno] int NULL,
@@ -3719,13 +3719,13 @@ BEGIN TRY
[UsaProductoAlterno] bit DEFAULT ((0)) NULL,
[EnDemanda] bit DEFAULT ((0)) NULL,
[EnQuebranto] bit DEFAULT ((0)) NOT NULL,
- [CreditoRegistroFirmas] varchar(250) COLLATE Modern_Spanish_CS_AI NULL,
+ [CreditoRegistroFirmas] varchar(250) COLLATE Modern_Spanish_CS_AS NULL,
[GastosEnvio] smallmoney NULL,
[EsFilial] bit DEFAULT ((0)) NOT NULL,
[Aseguradora] bit DEFAULT ((0)) NULL,
[CveSubProyectoCobranza] int NULL,
[InformacionCompleta] bit DEFAULT ((1)) NULL,
- [VentasComplementos] varchar(max) COLLATE Modern_Spanish_CS_AI NULL,
+ [VentasComplementos] varchar(max) COLLATE Modern_Spanish_CS_AS NULL,
CONSTRAINT [PK_Clientes] PRIMARY KEY CLUSTERED ([CveCliente])
WITH (PAD_INDEX = OFF, FILLFACTOR = 80, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON)
ON [PRIMARY],
@@ -3752,7 +3752,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Clientes', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Clientes', N'Nombre') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Clientes] ADD [Nombre] varchar(200) COLLATE Modern_Spanish_CS_AI NOT NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Clientes] ADD [Nombre] varchar(200) COLLATE Modern_Spanish_CS_AS NOT NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -3762,7 +3762,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Clientes', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Clientes', N'Codigo') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Clientes] ADD [Codigo] varchar(50) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Clientes] ADD [Codigo] varchar(50) COLLATE Modern_Spanish_CI_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -3772,7 +3772,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Clientes', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Clientes', N'NombreCorto') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Clientes] ADD [NombreCorto] varchar(30) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Clientes] ADD [NombreCorto] varchar(30) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -3782,7 +3782,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Clientes', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Clientes', N'NombreComercial') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Clientes] ADD [NombreComercial] varchar(200) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Clientes] ADD [NombreComercial] varchar(200) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -3792,7 +3792,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Clientes', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Clientes', N'ApellidoPaterno') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Clientes] ADD [ApellidoPaterno] varchar(50) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Clientes] ADD [ApellidoPaterno] varchar(50) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -3802,7 +3802,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Clientes', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Clientes', N'ApellidoMaterno') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Clientes] ADD [ApellidoMaterno] varchar(50) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Clientes] ADD [ApellidoMaterno] varchar(50) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -3812,7 +3812,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Clientes', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Clientes', N'Nombres') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Clientes] ADD [Nombres] varchar(50) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Clientes] ADD [Nombres] varchar(50) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -3822,7 +3822,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Clientes', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Clientes', N'Sucursal') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Clientes] ADD [Sucursal] varchar(20) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Clientes] ADD [Sucursal] varchar(20) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -3832,7 +3832,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Clientes', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Clientes', N'Direccion') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Clientes] ADD [Direccion] varchar(90) COLLATE Modern_Spanish_CS_AI NOT NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Clientes] ADD [Direccion] varchar(90) COLLATE Modern_Spanish_CS_AS NOT NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -3842,7 +3842,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Clientes', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Clientes', N'NoExt') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Clientes] ADD [NoExt] varchar(20) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Clientes] ADD [NoExt] varchar(20) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -3852,7 +3852,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Clientes', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Clientes', N'NoInt') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Clientes] ADD [NoInt] varchar(50) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Clientes] ADD [NoInt] varchar(50) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -3862,7 +3862,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Clientes', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Clientes', N'Colonia') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Clientes] ADD [Colonia] varchar(50) COLLATE Modern_Spanish_CS_AI NOT NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Clientes] ADD [Colonia] varchar(50) COLLATE Modern_Spanish_CS_AS NOT NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -3872,7 +3872,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Clientes', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Clientes', N'Localidad') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Clientes] ADD [Localidad] varchar(50) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Clientes] ADD [Localidad] varchar(50) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -3882,7 +3882,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Clientes', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Clientes', N'Ciudad') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Clientes] ADD [Ciudad] varchar(50) COLLATE Modern_Spanish_CS_AI NOT NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Clientes] ADD [Ciudad] varchar(50) COLLATE Modern_Spanish_CS_AS NOT NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -3892,7 +3892,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Clientes', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Clientes', N'Estado') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Clientes] ADD [Estado] varchar(35) COLLATE Modern_Spanish_CS_AI NOT NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Clientes] ADD [Estado] varchar(35) COLLATE Modern_Spanish_CS_AS NOT NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -3912,7 +3912,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Clientes', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Clientes', N'Pais') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Clientes] ADD [Pais] varchar(50) COLLATE Modern_Spanish_CS_AI DEFAULT (''México'') NOT NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Clientes] ADD [Pais] varchar(50) COLLATE Modern_Spanish_CS_AS DEFAULT (''México'') NOT NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -3922,7 +3922,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Clientes', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Clientes', N'RFC') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Clientes] ADD [RFC] varchar(15) COLLATE Modern_Spanish_CS_AI NOT NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Clientes] ADD [RFC] varchar(15) COLLATE Modern_Spanish_CS_AS NOT NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -3932,7 +3932,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Clientes', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Clientes', N'CP') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Clientes] ADD [CP] varchar(10) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Clientes] ADD [CP] varchar(10) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -3942,7 +3942,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Clientes', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Clientes', N'Telefono') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Clientes] ADD [Telefono] varchar(25) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Clientes] ADD [Telefono] varchar(25) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -3952,7 +3952,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Clientes', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Clientes', N'TelefonoExtension') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Clientes] ADD [TelefonoExtension] varchar(10) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Clientes] ADD [TelefonoExtension] varchar(10) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -3962,7 +3962,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Clientes', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Clientes', N'TelefonoOtros') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Clientes] ADD [TelefonoOtros] varchar(50) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Clientes] ADD [TelefonoOtros] varchar(50) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -3972,7 +3972,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Clientes', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Clientes', N'Contacto') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Clientes] ADD [Contacto] varchar(255) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Clientes] ADD [Contacto] varchar(255) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -3982,7 +3982,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Clientes', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Clientes', N'Mail') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Clientes] ADD [Mail] varchar(500) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Clientes] ADD [Mail] varchar(500) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -3992,7 +3992,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Clientes', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Clientes', N'Pagina') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Clientes] ADD [Pagina] varchar(50) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Clientes] ADD [Pagina] varchar(50) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -4002,7 +4002,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Clientes', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Clientes', N'Giro') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Clientes] ADD [Giro] varchar(50) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Clientes] ADD [Giro] varchar(50) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -4022,7 +4022,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Clientes', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Clientes', N'NotificarA') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Clientes] ADD [NotificarA] varchar(500) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Clientes] ADD [NotificarA] varchar(500) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -4072,7 +4072,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Clientes', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Clientes', N'ConvenioCIE') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Clientes] ADD [ConvenioCIE] varchar(50) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Clientes] ADD [ConvenioCIE] varchar(50) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -4112,7 +4112,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Clientes', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Clientes', N'RecepcionPagos') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Clientes] ADD [RecepcionPagos] varchar(15) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Clientes] ADD [RecepcionPagos] varchar(15) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -4122,7 +4122,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Clientes', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Clientes', N'TipoPago') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Clientes] ADD [TipoPago] varchar(50) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Clientes] ADD [TipoPago] varchar(50) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -4132,7 +4132,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Clientes', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Clientes', N'Vendedor') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Clientes] ADD [Vendedor] varchar(20) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Clientes] ADD [Vendedor] varchar(20) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -4152,7 +4152,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Clientes', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Clientes', N'Tipo') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Clientes] ADD [Tipo] varchar(3) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Clientes] ADD [Tipo] varchar(3) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -4162,7 +4162,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Clientes', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Clientes', N'FormaFacturacion') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Clientes] ADD [FormaFacturacion] varchar(13) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Clientes] ADD [FormaFacturacion] varchar(13) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -4212,7 +4212,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Clientes', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Clientes', N'NumCtaPago') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Clientes] ADD [NumCtaPago] varchar(30) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Clientes] ADD [NumCtaPago] varchar(30) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -4242,7 +4242,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Clientes', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Clientes', N'FEMSA_NumSociedad') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Clientes] ADD [FEMSA_NumSociedad] varchar(4) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Clientes] ADD [FEMSA_NumSociedad] varchar(4) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -4252,7 +4252,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Clientes', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Clientes', N'FEMSA_NumProveedor') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Clientes] ADD [FEMSA_NumProveedor] varchar(10) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Clientes] ADD [FEMSA_NumProveedor] varchar(10) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -4262,7 +4262,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Clientes', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Clientes', N'FEMSA_Mail') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Clientes] ADD [FEMSA_Mail] varchar(50) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Clientes] ADD [FEMSA_Mail] varchar(50) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -4282,7 +4282,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Clientes', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Clientes', N'Detallista_GLNComprador') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Clientes] ADD [Detallista_GLNComprador] varchar(18) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Clientes] ADD [Detallista_GLNComprador] varchar(18) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -4292,7 +4292,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Clientes', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Clientes', N'Detallista_Departamento') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Clientes] ADD [Detallista_Departamento] varchar(50) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Clientes] ADD [Detallista_Departamento] varchar(50) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -4302,7 +4302,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Clientes', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Clientes', N'Detallista_GLNVendedor') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Clientes] ADD [Detallista_GLNVendedor] varchar(18) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Clientes] ADD [Detallista_GLNVendedor] varchar(18) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -4312,7 +4312,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Clientes', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Clientes', N'Detallista_NumProveedor') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Clientes] ADD [Detallista_NumProveedor] varchar(10) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Clientes] ADD [Detallista_NumProveedor] varchar(10) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -4322,7 +4322,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Clientes', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Clientes', N'SevenEleven_NumProveedor') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Clientes] ADD [SevenEleven_NumProveedor] varchar(20) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Clientes] ADD [SevenEleven_NumProveedor] varchar(20) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -4342,7 +4342,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Clientes', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Clientes', N'Ford_GSDB') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Clientes] ADD [Ford_GSDB] varchar(5) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Clientes] ADD [Ford_GSDB] varchar(5) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -4382,7 +4382,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Clientes', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Clientes', N'MailCotizacion') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Clientes] ADD [MailCotizacion] varchar(300) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Clientes] ADD [MailCotizacion] varchar(300) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -4452,7 +4452,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Clientes', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Clientes', N'CobranzaContacto') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Clientes] ADD [CobranzaContacto] varchar(255) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Clientes] ADD [CobranzaContacto] varchar(255) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -4462,7 +4462,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Clientes', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Clientes', N'CobranzaTelefono') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Clientes] ADD [CobranzaTelefono] varchar(10) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Clientes] ADD [CobranzaTelefono] varchar(10) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -4472,7 +4472,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Clientes', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Clientes', N'CobranzaExt') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Clientes] ADD [CobranzaExt] varchar(10) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Clientes] ADD [CobranzaExt] varchar(10) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -4482,7 +4482,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Clientes', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Clientes', N'CobranzaCorreo') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Clientes] ADD [CobranzaCorreo] varchar(2000) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Clientes] ADD [CobranzaCorreo] varchar(2000) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -4502,7 +4502,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Clientes', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Clientes', N'Horario') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Clientes] ADD [Horario] varchar(50) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Clientes] ADD [Horario] varchar(50) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -4512,7 +4512,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Clientes', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Clientes', N'Documentacion') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Clientes] ADD [Documentacion] varchar(255) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Clientes] ADD [Documentacion] varchar(255) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -4522,7 +4522,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Clientes', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Clientes', N'PortalFacturacion') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Clientes] ADD [PortalFacturacion] varchar(255) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Clientes] ADD [PortalFacturacion] varchar(255) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -4542,7 +4542,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Clientes', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Clientes', N'DiasPago') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Clientes] ADD [DiasPago] varchar(50) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Clientes] ADD [DiasPago] varchar(50) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -4552,7 +4552,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Clientes', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Clientes', N'UsuarioPortal') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Clientes] ADD [UsuarioPortal] varchar(50) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Clientes] ADD [UsuarioPortal] varchar(50) COLLATE Modern_Spanish_CI_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -4562,7 +4562,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Clientes', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Clientes', N'PasswordPortal') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Clientes] ADD [PasswordPortal] varchar(50) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Clientes] ADD [PasswordPortal] varchar(50) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -4572,7 +4572,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Clientes', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Clientes', N'DiasRevision') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Clientes] ADD [DiasRevision] varchar(50) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Clientes] ADD [DiasRevision] varchar(50) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -4582,7 +4582,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Clientes', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Clientes', N'ObservacionRevision') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Clientes] ADD [ObservacionRevision] varchar(255) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Clientes] ADD [ObservacionRevision] varchar(255) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -4592,7 +4592,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Clientes', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Clientes', N'ReferenciaFiscal') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Clientes] ADD [ReferenciaFiscal] varchar(100) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Clientes] ADD [ReferenciaFiscal] varchar(100) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -4602,7 +4602,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Clientes', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Clientes', N'Celular') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Clientes] ADD [Celular] varchar(15) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Clientes] ADD [Celular] varchar(15) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -4612,7 +4612,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Clientes', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Clientes', N'ExtOtros') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Clientes] ADD [ExtOtros] varchar(15) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Clientes] ADD [ExtOtros] varchar(15) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -4752,7 +4752,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Clientes', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Clientes', N'NumRegIdTrib') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Clientes] ADD [NumRegIdTrib] varchar(50) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Clientes] ADD [NumRegIdTrib] varchar(50) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -4772,7 +4772,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Clientes', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Clientes', N'ComExtEstado') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Clientes] ADD [ComExtEstado] varchar(50) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Clientes] ADD [ComExtEstado] varchar(50) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -4782,7 +4782,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Clientes', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Clientes', N'ComExtMunicipio') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Clientes] ADD [ComExtMunicipio] varchar(50) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Clientes] ADD [ComExtMunicipio] varchar(50) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -4792,7 +4792,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Clientes', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Clientes', N'ComExtColonia') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Clientes] ADD [ComExtColonia] varchar(50) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Clientes] ADD [ComExtColonia] varchar(50) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -4852,7 +4852,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Clientes', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Clientes', N'CorreoEntregaCompras') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Clientes] ADD [CorreoEntregaCompras] varchar(50) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Clientes] ADD [CorreoEntregaCompras] varchar(50) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -4862,7 +4862,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Clientes', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Clientes', N'CorreoEntregaAlmacen') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Clientes] ADD [CorreoEntregaAlmacen] varchar(50) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Clientes] ADD [CorreoEntregaAlmacen] varchar(50) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -4872,7 +4872,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Clientes', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Clientes', N'Punto') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Clientes] ADD [Punto] varchar(100) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Clientes] ADD [Punto] varchar(100) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -4902,7 +4902,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Clientes', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Clientes', N'CorreoCumplimiento') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Clientes] ADD [CorreoCumplimiento] varchar(200) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Clientes] ADD [CorreoCumplimiento] varchar(200) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -4922,7 +4922,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Clientes', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Clientes', N'RegimenSociedad') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Clientes] ADD [RegimenSociedad] varchar(50) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Clientes] ADD [RegimenSociedad] varchar(50) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -4942,7 +4942,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Clientes', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Clientes', N'RepresentanteLegal') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Clientes] ADD [RepresentanteLegal] varchar(100) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Clientes] ADD [RepresentanteLegal] varchar(100) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -4962,7 +4962,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Clientes', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Clientes', N'ComExtCalle') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Clientes] ADD [ComExtCalle] varchar(50) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Clientes] ADD [ComExtCalle] varchar(50) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -4972,7 +4972,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Clientes', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Clientes', N'ComExtNumExt') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Clientes] ADD [ComExtNumExt] varchar(50) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Clientes] ADD [ComExtNumExt] varchar(50) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -4982,7 +4982,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Clientes', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Clientes', N'ComExtCP') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Clientes] ADD [ComExtCP] varchar(10) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Clientes] ADD [ComExtCP] varchar(10) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -5062,7 +5062,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Clientes', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Clientes', N'CreditoRegistroFirmas') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Clientes] ADD [CreditoRegistroFirmas] varchar(250) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Clientes] ADD [CreditoRegistroFirmas] varchar(250) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -5122,7 +5122,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Clientes', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Clientes', N'VentasComplementos') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Clientes] ADD [VentasComplementos] varchar(max) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Clientes] ADD [VentasComplementos] varchar(max) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -5156,7 +5156,7 @@ IF OBJECT_ID(N'dbo.Conta_TiposPoliza', N'U') IS NULL
BEGIN TRY
EXEC sys.sp_executesql N'CREATE TABLE [dbo].[Conta_TiposPoliza] (
[CveTipoPoliza] int NOT NULL,
- [TipoPoliza] varchar(50) COLLATE Modern_Spanish_CS_AI NOT NULL,
+ [TipoPoliza] varchar(50) COLLATE Modern_Spanish_CS_AS NOT NULL,
[Estatus] bit DEFAULT ((1)) NOT NULL,
[FechaIng] datetime NOT NULL,
[CveUsuario] int NOT NULL,
@@ -5187,7 +5187,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Conta_TiposPoliza', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Conta_TiposPoliza', N'TipoPoliza') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Conta_TiposPoliza] ADD [TipoPoliza] varchar(50) COLLATE Modern_Spanish_CS_AI NOT NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Conta_TiposPoliza] ADD [TipoPoliza] varchar(50) COLLATE Modern_Spanish_CS_AS NOT NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -5253,7 +5253,7 @@ IF OBJECT_ID(N'dbo.Conta_PlantillasPolizas', N'U') IS NULL
BEGIN TRY
EXEC sys.sp_executesql N'CREATE TABLE [dbo].[Conta_PlantillasPolizas] (
[CvePlantillaPoliza] int NOT NULL,
- [PlantillaPoliza] varchar(50) COLLATE Modern_Spanish_CS_AI NOT NULL,
+ [PlantillaPoliza] varchar(50) COLLATE Modern_Spanish_CS_AS NOT NULL,
[TipoPlantilla] bit DEFAULT ((0)) NOT NULL,
[TipoPoliza] smallint NOT NULL,
[Orden] smallint DEFAULT ((0)) NOT NULL,
@@ -5284,7 +5284,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Conta_PlantillasPolizas', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Conta_PlantillasPolizas', N'PlantillaPoliza') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Conta_PlantillasPolizas] ADD [PlantillaPoliza] varchar(50) COLLATE Modern_Spanish_CS_AI NOT NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Conta_PlantillasPolizas] ADD [PlantillaPoliza] varchar(50) COLLATE Modern_Spanish_CS_AS NOT NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -5368,13 +5368,13 @@ IF OBJECT_ID(N'dbo.Gral_Monedas', N'U') IS NULL
BEGIN TRY
EXEC sys.sp_executesql N'CREATE TABLE [dbo].[Gral_Monedas] (
[CveMoneda] int IDENTITY(1,1) NOT NULL,
- [Moneda] varchar(50) COLLATE Modern_Spanish_CS_AI NOT NULL,
- [Abreviatura] varchar(3) COLLATE Modern_Spanish_CS_AI NOT NULL,
- [AbreviaturaSAT] varchar(5) COLLATE Modern_Spanish_CS_AI NOT NULL,
- [LayoutBBVA] varchar(3) COLLATE Modern_Spanish_CS_AI NOT NULL,
- [Alias1] varchar(20) COLLATE Modern_Spanish_CS_AI NULL,
- [Alias2] varchar(20) COLLATE Modern_Spanish_CS_AI NULL,
- [Alias3] varchar(30) COLLATE Modern_Spanish_CS_AI NULL,
+ [Moneda] varchar(50) COLLATE Modern_Spanish_CS_AS NOT NULL,
+ [Abreviatura] varchar(3) COLLATE Modern_Spanish_CS_AS NOT NULL,
+ [AbreviaturaSAT] varchar(5) COLLATE Modern_Spanish_CS_AS NOT NULL,
+ [LayoutBBVA] varchar(3) COLLATE Modern_Spanish_CS_AS NOT NULL,
+ [Alias1] varchar(20) COLLATE Modern_Spanish_CS_AS NULL,
+ [Alias2] varchar(20) COLLATE Modern_Spanish_CS_AS NULL,
+ [Alias3] varchar(30) COLLATE Modern_Spanish_CS_AS NULL,
[Estatus] bit DEFAULT ((1)) NOT NULL,
[Fecha] datetime DEFAULT (getdate()) NOT NULL,
[CveUsuario] int NOT NULL,
@@ -5405,7 +5405,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Gral_Monedas', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Gral_Monedas', N'Moneda') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Gral_Monedas] ADD [Moneda] varchar(50) COLLATE Modern_Spanish_CS_AI NOT NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Gral_Monedas] ADD [Moneda] varchar(50) COLLATE Modern_Spanish_CS_AS NOT NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -5415,7 +5415,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Gral_Monedas', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Gral_Monedas', N'Abreviatura') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Gral_Monedas] ADD [Abreviatura] varchar(3) COLLATE Modern_Spanish_CS_AI NOT NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Gral_Monedas] ADD [Abreviatura] varchar(3) COLLATE Modern_Spanish_CS_AS NOT NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -5425,7 +5425,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Gral_Monedas', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Gral_Monedas', N'AbreviaturaSAT') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Gral_Monedas] ADD [AbreviaturaSAT] varchar(5) COLLATE Modern_Spanish_CS_AI NOT NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Gral_Monedas] ADD [AbreviaturaSAT] varchar(5) COLLATE Modern_Spanish_CS_AS NOT NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -5435,7 +5435,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Gral_Monedas', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Gral_Monedas', N'LayoutBBVA') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Gral_Monedas] ADD [LayoutBBVA] varchar(3) COLLATE Modern_Spanish_CS_AI NOT NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Gral_Monedas] ADD [LayoutBBVA] varchar(3) COLLATE Modern_Spanish_CS_AS NOT NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -5445,7 +5445,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Gral_Monedas', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Gral_Monedas', N'Alias1') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Gral_Monedas] ADD [Alias1] varchar(20) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Gral_Monedas] ADD [Alias1] varchar(20) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -5455,7 +5455,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Gral_Monedas', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Gral_Monedas', N'Alias2') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Gral_Monedas] ADD [Alias2] varchar(20) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Gral_Monedas] ADD [Alias2] varchar(20) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -5465,7 +5465,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Gral_Monedas', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Gral_Monedas', N'Alias3') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Gral_Monedas] ADD [Alias3] varchar(30) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Gral_Monedas] ADD [Alias3] varchar(30) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -5532,20 +5532,20 @@ BEGIN TRY
EXEC sys.sp_executesql N'CREATE TABLE [dbo].[Conta_PrePolizas] (
[CvePrePoliza] int IDENTITY(1,1) NOT NULL,
[CveCliente] int NULL,
- [Modulo] varchar(50) COLLATE Modern_Spanish_CS_AI NOT NULL,
+ [Modulo] varchar(50) COLLATE Modern_Spanish_CS_AS NOT NULL,
[CvePlantillaPoliza] int NOT NULL,
[CveTipoPoliza] int NOT NULL,
[Cargos] money DEFAULT ((0)) NOT NULL,
[Abonos] money DEFAULT ((0)) NOT NULL,
[CveMoneda] int NOT NULL,
[Fecha] date NOT NULL,
- [Concepto] varchar(200) COLLATE Modern_Spanish_CS_AI NOT NULL,
- [NumeroPoliza] varchar(50) COLLATE Modern_Spanish_CS_AI NULL,
+ [Concepto] varchar(200) COLLATE Modern_Spanish_CS_AS NOT NULL,
+ [NumeroPoliza] varchar(50) COLLATE Modern_Spanish_CS_AS NULL,
[FolioPoliza] int NULL,
[FolioFijo] int NULL,
[FechaConta] datetime NULL,
[IdPoliza] int NULL,
- [CodigoNumeroPoliza] varchar(5) COLLATE Modern_Spanish_CS_AI NULL,
+ [CodigoNumeroPoliza] varchar(5) COLLATE Modern_Spanish_CI_AS NULL,
[Estatus] bit DEFAULT ((1)) NOT NULL,
[FechaIng] datetime NOT NULL,
[CveUsuario] int NOT NULL,
@@ -5591,7 +5591,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Conta_PrePolizas', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Conta_PrePolizas', N'Modulo') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Conta_PrePolizas] ADD [Modulo] varchar(50) COLLATE Modern_Spanish_CS_AI NOT NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Conta_PrePolizas] ADD [Modulo] varchar(50) COLLATE Modern_Spanish_CS_AS NOT NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -5661,7 +5661,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Conta_PrePolizas', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Conta_PrePolizas', N'Concepto') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Conta_PrePolizas] ADD [Concepto] varchar(200) COLLATE Modern_Spanish_CS_AI NOT NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Conta_PrePolizas] ADD [Concepto] varchar(200) COLLATE Modern_Spanish_CS_AS NOT NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -5671,7 +5671,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Conta_PrePolizas', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Conta_PrePolizas', N'NumeroPoliza') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Conta_PrePolizas] ADD [NumeroPoliza] varchar(50) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Conta_PrePolizas] ADD [NumeroPoliza] varchar(50) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -5721,7 +5721,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Conta_PrePolizas', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Conta_PrePolizas', N'CodigoNumeroPoliza') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Conta_PrePolizas] ADD [CodigoNumeroPoliza] varchar(5) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Conta_PrePolizas] ADD [CodigoNumeroPoliza] varchar(5) COLLATE Modern_Spanish_CI_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -5855,10 +5855,10 @@ IF OBJECT_ID(N'dbo.Gral_SAT_UnidadesMedida', N'U') IS NULL
BEGIN TRY
EXEC sys.sp_executesql N'CREATE TABLE [dbo].[Gral_SAT_UnidadesMedida] (
[CveSATUnidadMedida] int IDENTITY(1,1) NOT NULL,
- [SATClaveUnidadMedida] nvarchar(255) COLLATE Modern_Spanish_CS_AI NOT NULL,
- [Nombre] nvarchar(255) COLLATE Modern_Spanish_CS_AI NOT NULL,
- [Descripcion] nvarchar(255) COLLATE Modern_Spanish_CS_AI NULL,
- [Simbolo] nvarchar(255) COLLATE Modern_Spanish_CS_AI NULL,
+ [SATClaveUnidadMedida] nvarchar(255) COLLATE Modern_Spanish_CS_AS NOT NULL,
+ [Nombre] nvarchar(255) COLLATE Modern_Spanish_CS_AS NOT NULL,
+ [Descripcion] nvarchar(255) COLLATE Modern_Spanish_CS_AS NULL,
+ [Simbolo] nvarchar(255) COLLATE Modern_Spanish_CS_AS NULL,
CONSTRAINT [PK_Gral_SAT_UnidadesMedida] PRIMARY KEY CLUSTERED ([CveSATUnidadMedida])
WITH (PAD_INDEX = OFF, FILLFACTOR = 80, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON)
ON [PRIMARY],
@@ -5886,7 +5886,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Gral_SAT_UnidadesMedida', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Gral_SAT_UnidadesMedida', N'SATClaveUnidadMedida') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Gral_SAT_UnidadesMedida] ADD [SATClaveUnidadMedida] nvarchar(255) COLLATE Modern_Spanish_CS_AI NOT NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Gral_SAT_UnidadesMedida] ADD [SATClaveUnidadMedida] nvarchar(255) COLLATE Modern_Spanish_CS_AS NOT NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -5896,7 +5896,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Gral_SAT_UnidadesMedida', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Gral_SAT_UnidadesMedida', N'Nombre') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Gral_SAT_UnidadesMedida] ADD [Nombre] nvarchar(255) COLLATE Modern_Spanish_CS_AI NOT NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Gral_SAT_UnidadesMedida] ADD [Nombre] nvarchar(255) COLLATE Modern_Spanish_CS_AS NOT NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -5906,7 +5906,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Gral_SAT_UnidadesMedida', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Gral_SAT_UnidadesMedida', N'Descripcion') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Gral_SAT_UnidadesMedida] ADD [Descripcion] nvarchar(255) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Gral_SAT_UnidadesMedida] ADD [Descripcion] nvarchar(255) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -5916,7 +5916,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Gral_SAT_UnidadesMedida', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Gral_SAT_UnidadesMedida', N'Simbolo') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Gral_SAT_UnidadesMedida] ADD [Simbolo] nvarchar(255) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Gral_SAT_UnidadesMedida] ADD [Simbolo] nvarchar(255) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -5952,13 +5952,13 @@ IF OBJECT_ID(N'dbo.Gral_SAT_CP_MaterialPeligroso', N'U') IS NULL
BEGIN TRY
EXEC sys.sp_executesql N'CREATE TABLE [dbo].[Gral_SAT_CP_MaterialPeligroso] (
[CveMaterialPeligroso] int IDENTITY(1,1) NOT NULL,
- [ClaveMaterialPeligroso] varchar(10) COLLATE Modern_Spanish_CS_AI NOT NULL,
- [MaterialPeligroso] varchar(390) COLLATE Modern_Spanish_CS_AI NOT NULL,
- [ClaseoDiv] varchar(8) COLLATE Modern_Spanish_CS_AI NULL,
- [PeligroSecundario] varchar(10) COLLATE Modern_Spanish_CS_AI NULL,
- [NombreTecnico] varchar(400) COLLATE Modern_Spanish_CS_AI NULL,
+ [ClaveMaterialPeligroso] varchar(10) COLLATE Modern_Spanish_CS_AS NOT NULL,
+ [MaterialPeligroso] varchar(390) COLLATE Modern_Spanish_CS_AS NOT NULL,
+ [ClaseoDiv] varchar(8) COLLATE Modern_Spanish_CS_AS NULL,
+ [PeligroSecundario] varchar(10) COLLATE Modern_Spanish_CS_AS NULL,
+ [NombreTecnico] varchar(400) COLLATE Modern_Spanish_CS_AS NULL,
[FechaDeInicioDeVigencia] date NULL,
- [Version] varchar(5) COLLATE Modern_Spanish_CS_AI NULL,
+ [Version] varchar(5) COLLATE Modern_Spanish_CS_AS NULL,
CONSTRAINT [PK_Gral_SAT_CP_MaterialPeligroso] PRIMARY KEY CLUSTERED ([CveMaterialPeligroso])
WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON)
ON [PRIMARY]
@@ -5983,7 +5983,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Gral_SAT_CP_MaterialPeligroso', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Gral_SAT_CP_MaterialPeligroso', N'ClaveMaterialPeligroso') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Gral_SAT_CP_MaterialPeligroso] ADD [ClaveMaterialPeligroso] varchar(10) COLLATE Modern_Spanish_CS_AI NOT NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Gral_SAT_CP_MaterialPeligroso] ADD [ClaveMaterialPeligroso] varchar(10) COLLATE Modern_Spanish_CS_AS NOT NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -5993,7 +5993,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Gral_SAT_CP_MaterialPeligroso', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Gral_SAT_CP_MaterialPeligroso', N'MaterialPeligroso') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Gral_SAT_CP_MaterialPeligroso] ADD [MaterialPeligroso] varchar(390) COLLATE Modern_Spanish_CS_AI NOT NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Gral_SAT_CP_MaterialPeligroso] ADD [MaterialPeligroso] varchar(390) COLLATE Modern_Spanish_CS_AS NOT NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -6003,7 +6003,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Gral_SAT_CP_MaterialPeligroso', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Gral_SAT_CP_MaterialPeligroso', N'ClaseoDiv') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Gral_SAT_CP_MaterialPeligroso] ADD [ClaseoDiv] varchar(8) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Gral_SAT_CP_MaterialPeligroso] ADD [ClaseoDiv] varchar(8) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -6013,7 +6013,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Gral_SAT_CP_MaterialPeligroso', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Gral_SAT_CP_MaterialPeligroso', N'PeligroSecundario') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Gral_SAT_CP_MaterialPeligroso] ADD [PeligroSecundario] varchar(10) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Gral_SAT_CP_MaterialPeligroso] ADD [PeligroSecundario] varchar(10) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -6023,7 +6023,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Gral_SAT_CP_MaterialPeligroso', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Gral_SAT_CP_MaterialPeligroso', N'NombreTecnico') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Gral_SAT_CP_MaterialPeligroso] ADD [NombreTecnico] varchar(400) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Gral_SAT_CP_MaterialPeligroso] ADD [NombreTecnico] varchar(400) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -6043,7 +6043,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Gral_SAT_CP_MaterialPeligroso', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Gral_SAT_CP_MaterialPeligroso', N'Version') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Gral_SAT_CP_MaterialPeligroso] ADD [Version] varchar(5) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Gral_SAT_CP_MaterialPeligroso] ADD [Version] varchar(5) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -6067,19 +6067,19 @@ IF OBJECT_ID(N'dbo.UnidadesMedida', N'U') IS NULL
BEGIN TRY
EXEC sys.sp_executesql N'CREATE TABLE [dbo].[UnidadesMedida] (
[CveUnidadMedida] int IDENTITY(1,1) NOT NULL,
- [UnidadMedida] varchar(50) COLLATE Modern_Spanish_CS_AI NOT NULL,
- [Abreviatura] varchar(15) COLLATE Modern_Spanish_CS_AI NOT NULL,
- [Alias1] varchar(20) COLLATE Modern_Spanish_CS_AI NULL,
- [Alias2] varchar(20) COLLATE Modern_Spanish_CS_AI NULL,
- [Alias3] varchar(20) COLLATE Modern_Spanish_CS_AI NULL,
- [Alias4] varchar(20) COLLATE Modern_Spanish_CS_AI NULL,
+ [UnidadMedida] varchar(50) COLLATE Modern_Spanish_CS_AS NOT NULL,
+ [Abreviatura] varchar(15) COLLATE Modern_Spanish_CS_AS NOT NULL,
+ [Alias1] varchar(20) COLLATE Modern_Spanish_CS_AS NULL,
+ [Alias2] varchar(20) COLLATE Modern_Spanish_CS_AS NULL,
+ [Alias3] varchar(20) COLLATE Modern_Spanish_CS_AS NULL,
+ [Alias4] varchar(20) COLLATE Modern_Spanish_CS_AS NULL,
[CveSATUnidadMedida] int NULL,
[Estado] bit DEFAULT ((1)) NOT NULL,
[Fecha] date NOT NULL,
[CveUsuario] int NOT NULL,
[CveUnidadMedidaSAT] int NULL,
- [CveImpEmpaque] varchar(3) COLLATE Modern_Spanish_CS_AI NULL,
- [CveImpUM] varchar(3) COLLATE Modern_Spanish_CS_AI NULL,
+ [CveImpEmpaque] varchar(3) COLLATE Modern_Spanish_CS_AS NULL,
+ [CveImpUM] varchar(3) COLLATE Modern_Spanish_CS_AS NULL,
CONSTRAINT [PK_UnidadesMedida] PRIMARY KEY CLUSTERED ([CveUnidadMedida])
WITH (PAD_INDEX = OFF, FILLFACTOR = 90, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON)
ON [PRIMARY],
@@ -6107,7 +6107,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.UnidadesMedida', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.UnidadesMedida', N'UnidadMedida') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[UnidadesMedida] ADD [UnidadMedida] varchar(50) COLLATE Modern_Spanish_CS_AI NOT NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[UnidadesMedida] ADD [UnidadMedida] varchar(50) COLLATE Modern_Spanish_CS_AS NOT NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -6117,7 +6117,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.UnidadesMedida', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.UnidadesMedida', N'Abreviatura') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[UnidadesMedida] ADD [Abreviatura] varchar(15) COLLATE Modern_Spanish_CS_AI NOT NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[UnidadesMedida] ADD [Abreviatura] varchar(15) COLLATE Modern_Spanish_CS_AS NOT NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -6127,7 +6127,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.UnidadesMedida', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.UnidadesMedida', N'Alias1') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[UnidadesMedida] ADD [Alias1] varchar(20) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[UnidadesMedida] ADD [Alias1] varchar(20) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -6137,7 +6137,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.UnidadesMedida', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.UnidadesMedida', N'Alias2') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[UnidadesMedida] ADD [Alias2] varchar(20) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[UnidadesMedida] ADD [Alias2] varchar(20) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -6147,7 +6147,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.UnidadesMedida', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.UnidadesMedida', N'Alias3') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[UnidadesMedida] ADD [Alias3] varchar(20) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[UnidadesMedida] ADD [Alias3] varchar(20) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -6157,7 +6157,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.UnidadesMedida', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.UnidadesMedida', N'Alias4') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[UnidadesMedida] ADD [Alias4] varchar(20) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[UnidadesMedida] ADD [Alias4] varchar(20) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -6217,7 +6217,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.UnidadesMedida', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.UnidadesMedida', N'CveImpEmpaque') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[UnidadesMedida] ADD [CveImpEmpaque] varchar(3) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[UnidadesMedida] ADD [CveImpEmpaque] varchar(3) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -6227,7 +6227,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.UnidadesMedida', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.UnidadesMedida', N'CveImpUM') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[UnidadesMedida] ADD [CveImpUM] varchar(3) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[UnidadesMedida] ADD [CveImpUM] varchar(3) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -6263,8 +6263,8 @@ IF OBJECT_ID(N'dbo.Gral_SAT_ObjetoImpuesto', N'U') IS NULL
BEGIN TRY
EXEC sys.sp_executesql N'CREATE TABLE [dbo].[Gral_SAT_ObjetoImpuesto] (
[CveObjetoImpuesto] tinyint NOT NULL,
- [ObjetoImpuesto] varchar(50) COLLATE Modern_Spanish_CS_AI NOT NULL,
- [CodigoObjetoImpuesto] varchar(2) COLLATE Modern_Spanish_CS_AI NOT NULL,
+ [ObjetoImpuesto] varchar(50) COLLATE Modern_Spanish_CS_AS NOT NULL,
+ [CodigoObjetoImpuesto] varchar(2) COLLATE Modern_Spanish_CI_AS NOT NULL,
CONSTRAINT [PK_Gral_ObjetoImpuesto] PRIMARY KEY CLUSTERED ([CveObjetoImpuesto])
WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON)
ON [PRIMARY]
@@ -6289,7 +6289,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Gral_SAT_ObjetoImpuesto', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Gral_SAT_ObjetoImpuesto', N'ObjetoImpuesto') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Gral_SAT_ObjetoImpuesto] ADD [ObjetoImpuesto] varchar(50) COLLATE Modern_Spanish_CS_AI NOT NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Gral_SAT_ObjetoImpuesto] ADD [ObjetoImpuesto] varchar(50) COLLATE Modern_Spanish_CS_AS NOT NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -6299,7 +6299,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Gral_SAT_ObjetoImpuesto', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Gral_SAT_ObjetoImpuesto', N'CodigoObjetoImpuesto') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Gral_SAT_ObjetoImpuesto] ADD [CodigoObjetoImpuesto] varchar(2) COLLATE Modern_Spanish_CS_AI NOT NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Gral_SAT_ObjetoImpuesto] ADD [CodigoObjetoImpuesto] varchar(2) COLLATE Modern_Spanish_CI_AS NOT NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -6327,11 +6327,11 @@ BEGIN TRY
[CveUnidadMedida] int NOT NULL,
[CveClasificacionCosto] int NULL,
[CveClasificacionPresupuesto] int NULL,
- [Codigo] varchar(50) COLLATE Modern_Spanish_CS_AI NULL,
- [NumeroParte] varchar(50) COLLATE Modern_Spanish_CS_AI NULL,
- [CodigoBarras] varchar(50) COLLATE Modern_Spanish_CS_AI NULL,
- [PS] varchar(846) COLLATE Modern_Spanish_CS_AI NOT NULL,
- [PSExtranjero] varchar(846) COLLATE Modern_Spanish_CS_AI NULL,
+ [Codigo] varchar(50) COLLATE Modern_Spanish_CI_AS NULL,
+ [NumeroParte] varchar(50) COLLATE Modern_Spanish_CS_AS NULL,
+ [CodigoBarras] varchar(50) COLLATE Modern_Spanish_CI_AS NULL,
+ [PS] varchar(846) COLLATE Modern_Spanish_CS_AS NOT NULL,
+ [PSExtranjero] varchar(846) COLLATE Modern_Spanish_CS_AS NULL,
[CveMarca] int NULL,
[Precio] float(53) DEFAULT ((0)) NOT NULL,
[IVA] float(53) NULL,
@@ -6346,12 +6346,12 @@ BEGIN TRY
[AsientoContableCompras] int DEFAULT ((1)) NOT NULL,
[CveTipoPS] int DEFAULT ((1)) NOT NULL,
[CveUsuario] int NOT NULL,
- [Borrame] varchar(50) COLLATE Modern_Spanish_CS_AI NULL,
+ [Borrame] varchar(50) COLLATE Modern_Spanish_CS_AS NULL,
[CveSegmentoNegocio] int NULL,
[AplicaParaConcepto] bit DEFAULT ((1)) NOT NULL,
[Inv_CveMetodoInventario] smallint DEFAULT ((0)) NULL,
[CostoPromedio] money DEFAULT ((0)) NULL,
- [AlmacenSeccion] varchar(10) COLLATE Modern_Spanish_CS_AI NULL,
+ [AlmacenSeccion] varchar(10) COLLATE Modern_Spanish_CS_AS NULL,
[AplicaSerieLote] bit NULL,
[AplicaParaVenta] bit DEFAULT ((0)) NOT NULL,
[AplicaCaducidad] bit DEFAULT ((0)) NULL,
@@ -6361,7 +6361,7 @@ BEGIN TRY
[AplicaPesoKg] bit DEFAULT ((0)) NOT NULL,
[EsPaquete] bit DEFAULT ((0)) NULL,
[CveMoneda] int DEFAULT ((1)) NULL,
- [Imagen] varchar(100) COLLATE Modern_Spanish_CS_AI NULL,
+ [Imagen] varchar(100) COLLATE Modern_Spanish_CS_AS NULL,
[VentaSinExistencia] bit DEFAULT ((0)) NULL,
[FuePorXML] bit DEFAULT ((1)) NULL,
[EsAdminPAQ] bit DEFAULT ((0)) NULL,
@@ -6386,14 +6386,14 @@ BEGIN TRY
[FechaUltimaModificacion] datetime NULL,
[CveClasificacionDetalle] int NULL,
[CveTamaño] int NULL,
- [ClaveImpuestoEmpaque] varchar(3) COLLATE Modern_Spanish_CS_AI NULL,
- [ClaveImpuestoUM] varchar(3) COLLATE Modern_Spanish_CS_AI NULL,
- [ClaveCategoriaToxicidad] varchar(3) COLLATE Modern_Spanish_CS_AI NULL,
- [ClaveImpuestoTipoProducto] varchar(3) COLLATE Modern_Spanish_CS_AI NULL,
+ [ClaveImpuestoEmpaque] varchar(3) COLLATE Modern_Spanish_CS_AS NULL,
+ [ClaveImpuestoUM] varchar(3) COLLATE Modern_Spanish_CS_AS NULL,
+ [ClaveCategoriaToxicidad] varchar(3) COLLATE Modern_Spanish_CS_AS NULL,
+ [ClaveImpuestoTipoProducto] varchar(3) COLLATE Modern_Spanish_CS_AS NULL,
[CvePSAdicional] int NULL,
[PrecioMinimoAnterior] money NULL,
[Litraje] float(53) NULL,
- [Code17] varchar(10) COLLATE Modern_Spanish_CS_AI NULL,
+ [Code17] varchar(10) COLLATE Modern_Spanish_CS_AS NULL,
[EsOutSourcing] bit DEFAULT ((0)) NOT NULL,
[TiempoCaducidad] smallint NULL,
[CantidadEmpaque] smallmoney NULL,
@@ -6401,20 +6401,20 @@ BEGIN TRY
[PesoKg] smallmoney NULL,
[CveMaterialPeligroso] int NULL,
[CveEmbalaje] int NULL,
- [Dimensiones] varchar(25) COLLATE Modern_Spanish_CS_AI NULL,
+ [Dimensiones] varchar(25) COLLATE Modern_Spanish_CS_AS NULL,
[CveObjetoImpuesto] tinyint DEFAULT ((2)) NOT NULL,
- [RegistroRSCO] varchar(50) COLLATE Modern_Spanish_CS_AI NULL,
+ [RegistroRSCO] varchar(50) COLLATE Modern_Spanish_CS_AS NULL,
[FechaVigenciaRSCO] date NULL,
[VigenciaIndeterminadaRSCO] bit NULL,
- [NombreComercial] varchar(100) COLLATE Modern_Spanish_CS_AI NULL,
- [NotasAdicionales] varchar(500) COLLATE Modern_Spanish_CS_AI NULL,
- [EcommerceEtiquetas] varchar(200) COLLATE Modern_Spanish_CS_AI NULL,
+ [NombreComercial] varchar(100) COLLATE Modern_Spanish_CS_AS NULL,
+ [NotasAdicionales] varchar(500) COLLATE Modern_Spanish_CS_AS NULL,
+ [EcommerceEtiquetas] varchar(200) COLLATE Modern_Spanish_CS_AS NULL,
[ActivoEcommerce] bit DEFAULT ((0)) NOT NULL,
[EcommercePrecio] smallmoney NULL,
[CveClasificacionEcommerce] int NULL,
[EcommerceCantidad] smallmoney NULL,
- [CodigoAlterno] varchar(50) COLLATE Modern_Spanish_CS_AI NULL,
- [PSAlterno] varchar(846) COLLATE Modern_Spanish_CS_AI NULL,
+ [CodigoAlterno] varchar(50) COLLATE Modern_Spanish_CI_AS NULL,
+ [PSAlterno] varchar(846) COLLATE Modern_Spanish_CS_AS NULL,
[ProductoExhibicion] bit NULL,
[PorcentajeMinimoUtilidad] smallmoney NULL,
[CveSelectiva] int NULL,
@@ -6489,7 +6489,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.ProductosServicios', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.ProductosServicios', N'Codigo') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[ProductosServicios] ADD [Codigo] varchar(50) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[ProductosServicios] ADD [Codigo] varchar(50) COLLATE Modern_Spanish_CI_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -6499,7 +6499,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.ProductosServicios', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.ProductosServicios', N'NumeroParte') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[ProductosServicios] ADD [NumeroParte] varchar(50) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[ProductosServicios] ADD [NumeroParte] varchar(50) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -6509,7 +6509,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.ProductosServicios', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.ProductosServicios', N'CodigoBarras') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[ProductosServicios] ADD [CodigoBarras] varchar(50) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[ProductosServicios] ADD [CodigoBarras] varchar(50) COLLATE Modern_Spanish_CI_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -6519,7 +6519,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.ProductosServicios', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.ProductosServicios', N'PS') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[ProductosServicios] ADD [PS] varchar(846) COLLATE Modern_Spanish_CS_AI NOT NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[ProductosServicios] ADD [PS] varchar(846) COLLATE Modern_Spanish_CS_AS NOT NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -6529,7 +6529,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.ProductosServicios', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.ProductosServicios', N'PSExtranjero') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[ProductosServicios] ADD [PSExtranjero] varchar(846) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[ProductosServicios] ADD [PSExtranjero] varchar(846) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -6679,7 +6679,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.ProductosServicios', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.ProductosServicios', N'Borrame') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[ProductosServicios] ADD [Borrame] varchar(50) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[ProductosServicios] ADD [Borrame] varchar(50) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -6729,7 +6729,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.ProductosServicios', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.ProductosServicios', N'AlmacenSeccion') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[ProductosServicios] ADD [AlmacenSeccion] varchar(10) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[ProductosServicios] ADD [AlmacenSeccion] varchar(10) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -6829,7 +6829,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.ProductosServicios', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.ProductosServicios', N'Imagen') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[ProductosServicios] ADD [Imagen] varchar(100) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[ProductosServicios] ADD [Imagen] varchar(100) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -7079,7 +7079,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.ProductosServicios', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.ProductosServicios', N'ClaveImpuestoEmpaque') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[ProductosServicios] ADD [ClaveImpuestoEmpaque] varchar(3) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[ProductosServicios] ADD [ClaveImpuestoEmpaque] varchar(3) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -7089,7 +7089,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.ProductosServicios', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.ProductosServicios', N'ClaveImpuestoUM') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[ProductosServicios] ADD [ClaveImpuestoUM] varchar(3) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[ProductosServicios] ADD [ClaveImpuestoUM] varchar(3) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -7099,7 +7099,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.ProductosServicios', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.ProductosServicios', N'ClaveCategoriaToxicidad') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[ProductosServicios] ADD [ClaveCategoriaToxicidad] varchar(3) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[ProductosServicios] ADD [ClaveCategoriaToxicidad] varchar(3) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -7109,7 +7109,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.ProductosServicios', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.ProductosServicios', N'ClaveImpuestoTipoProducto') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[ProductosServicios] ADD [ClaveImpuestoTipoProducto] varchar(3) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[ProductosServicios] ADD [ClaveImpuestoTipoProducto] varchar(3) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -7149,7 +7149,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.ProductosServicios', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.ProductosServicios', N'Code17') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[ProductosServicios] ADD [Code17] varchar(10) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[ProductosServicios] ADD [Code17] varchar(10) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -7229,7 +7229,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.ProductosServicios', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.ProductosServicios', N'Dimensiones') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[ProductosServicios] ADD [Dimensiones] varchar(25) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[ProductosServicios] ADD [Dimensiones] varchar(25) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -7249,7 +7249,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.ProductosServicios', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.ProductosServicios', N'RegistroRSCO') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[ProductosServicios] ADD [RegistroRSCO] varchar(50) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[ProductosServicios] ADD [RegistroRSCO] varchar(50) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -7279,7 +7279,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.ProductosServicios', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.ProductosServicios', N'NombreComercial') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[ProductosServicios] ADD [NombreComercial] varchar(100) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[ProductosServicios] ADD [NombreComercial] varchar(100) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -7289,7 +7289,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.ProductosServicios', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.ProductosServicios', N'NotasAdicionales') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[ProductosServicios] ADD [NotasAdicionales] varchar(500) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[ProductosServicios] ADD [NotasAdicionales] varchar(500) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -7299,7 +7299,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.ProductosServicios', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.ProductosServicios', N'EcommerceEtiquetas') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[ProductosServicios] ADD [EcommerceEtiquetas] varchar(200) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[ProductosServicios] ADD [EcommerceEtiquetas] varchar(200) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -7349,7 +7349,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.ProductosServicios', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.ProductosServicios', N'CodigoAlterno') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[ProductosServicios] ADD [CodigoAlterno] varchar(50) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[ProductosServicios] ADD [CodigoAlterno] varchar(50) COLLATE Modern_Spanish_CI_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -7359,7 +7359,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.ProductosServicios', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.ProductosServicios', N'PSAlterno') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[ProductosServicios] ADD [PSAlterno] varchar(846) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[ProductosServicios] ADD [PSAlterno] varchar(846) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -7483,7 +7483,7 @@ IF OBJECT_ID(N'dbo.Inv_TiposAlmacenes', N'U') IS NULL
BEGIN TRY
EXEC sys.sp_executesql N'CREATE TABLE [dbo].[Inv_TiposAlmacenes] (
[CveTipoAlmacen] int NOT NULL,
- [TipoAlmacen] varchar(50) COLLATE Modern_Spanish_CS_AI NOT NULL,
+ [TipoAlmacen] varchar(50) COLLATE Modern_Spanish_CS_AS NOT NULL,
[Estatus] bit DEFAULT ((1)) NOT NULL,
[FechaIng] date NOT NULL,
[CveUsuario] int NOT NULL,
@@ -7515,7 +7515,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Inv_TiposAlmacenes', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Inv_TiposAlmacenes', N'TipoAlmacen') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Inv_TiposAlmacenes] ADD [TipoAlmacen] varchar(50) COLLATE Modern_Spanish_CS_AI NOT NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Inv_TiposAlmacenes] ADD [TipoAlmacen] varchar(50) COLLATE Modern_Spanish_CS_AS NOT NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -7591,10 +7591,10 @@ IF OBJECT_ID(N'dbo.Inv_Almacenes', N'U') IS NULL
BEGIN TRY
EXEC sys.sp_executesql N'CREATE TABLE [dbo].[Inv_Almacenes] (
[CveAlmacen] int IDENTITY(1,1) NOT NULL,
- [Almacen] varchar(50) COLLATE Modern_Spanish_CS_AI NOT NULL,
+ [Almacen] varchar(50) COLLATE Modern_Spanish_CS_AS NOT NULL,
[CveSubProyecto] int NOT NULL,
[CveTipoAlmacen] int NOT NULL,
- [AlmacenAbreviatura] varchar(50) COLLATE Modern_Spanish_CS_AI NOT NULL,
+ [AlmacenAbreviatura] varchar(50) COLLATE Modern_Spanish_CS_AS NOT NULL,
[Estatus] bit DEFAULT ((1)) NOT NULL,
[FechaIng] date NOT NULL,
[CveUsuario] int NOT NULL,
@@ -7636,7 +7636,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Inv_Almacenes', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Inv_Almacenes', N'Almacen') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Inv_Almacenes] ADD [Almacen] varchar(50) COLLATE Modern_Spanish_CS_AI NOT NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Inv_Almacenes] ADD [Almacen] varchar(50) COLLATE Modern_Spanish_CS_AS NOT NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -7666,7 +7666,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Inv_Almacenes', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Inv_Almacenes', N'AlmacenAbreviatura') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Inv_Almacenes] ADD [AlmacenAbreviatura] varchar(50) COLLATE Modern_Spanish_CS_AI NOT NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Inv_Almacenes] ADD [AlmacenAbreviatura] varchar(50) COLLATE Modern_Spanish_CS_AS NOT NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -7843,33 +7843,33 @@ BEGIN TRY
EXEC sys.sp_executesql N'CREATE TABLE [dbo].[Vta_ClientesSucursales] (
[CveClienteSucursal] int IDENTITY(1,1) NOT NULL,
[CveCliente] int NOT NULL,
- [SucursalCliente] varchar(100) COLLATE Modern_Spanish_CS_AI NOT NULL,
+ [SucursalCliente] varchar(100) COLLATE Modern_Spanish_CS_AS NOT NULL,
[Estatus] bit DEFAULT ((1)) NOT NULL,
[FechaIng] datetime NOT NULL,
[CveUsuario] int NOT NULL,
- [Ciudad] varchar(50) COLLATE Modern_Spanish_CS_AI NULL,
- [Colonia] varchar(50) COLLATE Modern_Spanish_CS_AI NULL,
- [CP] varchar(5) COLLATE Modern_Spanish_CS_AI NULL,
- [Direccion] varchar(90) COLLATE Modern_Spanish_CS_AI NULL,
- [Estado] varchar(35) COLLATE Modern_Spanish_CS_AI NULL,
- [Localidad] varchar(50) COLLATE Modern_Spanish_CS_AI NULL,
- [Pais] varchar(50) COLLATE Modern_Spanish_CS_AI DEFAULT (''Mexico'') NULL,
- [NoExt] varchar(20) COLLATE Modern_Spanish_CS_AI NULL,
- [NoInt] varchar(20) COLLATE Modern_Spanish_CS_AI NULL,
- [Telefono] varchar(25) COLLATE Modern_Spanish_CS_AI NULL,
- [Correo] varchar(300) COLLATE Modern_Spanish_CS_AI NULL,
- [Contacto] varchar(300) COLLATE Modern_Spanish_CS_AI NULL,
+ [Ciudad] varchar(50) COLLATE Modern_Spanish_CS_AS NULL,
+ [Colonia] varchar(50) COLLATE Modern_Spanish_CS_AS NULL,
+ [CP] varchar(5) COLLATE Modern_Spanish_CS_AS NULL,
+ [Direccion] varchar(90) COLLATE Modern_Spanish_CS_AS NULL,
+ [Estado] varchar(35) COLLATE Modern_Spanish_CS_AS NULL,
+ [Localidad] varchar(50) COLLATE Modern_Spanish_CS_AS NULL,
+ [Pais] varchar(50) COLLATE Modern_Spanish_CS_AS DEFAULT (''Mexico'') NULL,
+ [NoExt] varchar(20) COLLATE Modern_Spanish_CS_AS NULL,
+ [NoInt] varchar(20) COLLATE Modern_Spanish_CS_AS NULL,
+ [Telefono] varchar(25) COLLATE Modern_Spanish_CS_AS NULL,
+ [Correo] varchar(300) COLLATE Modern_Spanish_CS_AS NULL,
+ [Contacto] varchar(300) COLLATE Modern_Spanish_CS_AS NULL,
[CveVendedor] int NULL,
- [CorreoCotizacion] varchar(300) COLLATE Modern_Spanish_CS_AI NULL,
- [NumCtaPago] varchar(50) COLLATE Modern_Spanish_CS_AI NULL,
+ [CorreoCotizacion] varchar(300) COLLATE Modern_Spanish_CS_AS NULL,
+ [NumCtaPago] varchar(50) COLLATE Modern_Spanish_CS_AS NULL,
[CveMetodoPago] int NULL,
[LimiteCredito] money NULL,
[CveResponsableCobranza] int NULL,
[CveMetodoPago33] tinyint NULL,
[CveFormaPago33] tinyint NULL,
[CveUsoCFDI] tinyint NULL,
- [Punto] varchar(100) COLLATE Modern_Spanish_CS_AI NULL,
- [RFC] varchar(15) COLLATE Modern_Spanish_CS_AI NULL,
+ [Punto] varchar(100) COLLATE Modern_Spanish_CS_AS NULL,
+ [RFC] varchar(15) COLLATE Modern_Spanish_CS_AS NULL,
[CveAlmacenAsignado] int NULL,
[CveAlmacenAlterno] int NULL,
[CveAlmacenConsignacion] int NULL,
@@ -7910,7 +7910,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Vta_ClientesSucursales', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Vta_ClientesSucursales', N'SucursalCliente') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Vta_ClientesSucursales] ADD [SucursalCliente] varchar(100) COLLATE Modern_Spanish_CS_AI NOT NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Vta_ClientesSucursales] ADD [SucursalCliente] varchar(100) COLLATE Modern_Spanish_CS_AS NOT NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -7950,7 +7950,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Vta_ClientesSucursales', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Vta_ClientesSucursales', N'Ciudad') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Vta_ClientesSucursales] ADD [Ciudad] varchar(50) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Vta_ClientesSucursales] ADD [Ciudad] varchar(50) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -7960,7 +7960,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Vta_ClientesSucursales', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Vta_ClientesSucursales', N'Colonia') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Vta_ClientesSucursales] ADD [Colonia] varchar(50) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Vta_ClientesSucursales] ADD [Colonia] varchar(50) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -7970,7 +7970,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Vta_ClientesSucursales', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Vta_ClientesSucursales', N'CP') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Vta_ClientesSucursales] ADD [CP] varchar(5) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Vta_ClientesSucursales] ADD [CP] varchar(5) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -7980,7 +7980,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Vta_ClientesSucursales', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Vta_ClientesSucursales', N'Direccion') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Vta_ClientesSucursales] ADD [Direccion] varchar(90) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Vta_ClientesSucursales] ADD [Direccion] varchar(90) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -7990,7 +7990,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Vta_ClientesSucursales', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Vta_ClientesSucursales', N'Estado') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Vta_ClientesSucursales] ADD [Estado] varchar(35) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Vta_ClientesSucursales] ADD [Estado] varchar(35) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -8000,7 +8000,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Vta_ClientesSucursales', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Vta_ClientesSucursales', N'Localidad') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Vta_ClientesSucursales] ADD [Localidad] varchar(50) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Vta_ClientesSucursales] ADD [Localidad] varchar(50) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -8010,7 +8010,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Vta_ClientesSucursales', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Vta_ClientesSucursales', N'Pais') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Vta_ClientesSucursales] ADD [Pais] varchar(50) COLLATE Modern_Spanish_CS_AI DEFAULT (''Mexico'') NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Vta_ClientesSucursales] ADD [Pais] varchar(50) COLLATE Modern_Spanish_CS_AS DEFAULT (''Mexico'') NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -8020,7 +8020,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Vta_ClientesSucursales', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Vta_ClientesSucursales', N'NoExt') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Vta_ClientesSucursales] ADD [NoExt] varchar(20) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Vta_ClientesSucursales] ADD [NoExt] varchar(20) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -8030,7 +8030,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Vta_ClientesSucursales', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Vta_ClientesSucursales', N'NoInt') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Vta_ClientesSucursales] ADD [NoInt] varchar(20) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Vta_ClientesSucursales] ADD [NoInt] varchar(20) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -8040,7 +8040,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Vta_ClientesSucursales', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Vta_ClientesSucursales', N'Telefono') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Vta_ClientesSucursales] ADD [Telefono] varchar(25) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Vta_ClientesSucursales] ADD [Telefono] varchar(25) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -8050,7 +8050,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Vta_ClientesSucursales', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Vta_ClientesSucursales', N'Correo') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Vta_ClientesSucursales] ADD [Correo] varchar(300) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Vta_ClientesSucursales] ADD [Correo] varchar(300) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -8060,7 +8060,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Vta_ClientesSucursales', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Vta_ClientesSucursales', N'Contacto') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Vta_ClientesSucursales] ADD [Contacto] varchar(300) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Vta_ClientesSucursales] ADD [Contacto] varchar(300) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -8080,7 +8080,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Vta_ClientesSucursales', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Vta_ClientesSucursales', N'CorreoCotizacion') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Vta_ClientesSucursales] ADD [CorreoCotizacion] varchar(300) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Vta_ClientesSucursales] ADD [CorreoCotizacion] varchar(300) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -8090,7 +8090,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Vta_ClientesSucursales', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Vta_ClientesSucursales', N'NumCtaPago') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Vta_ClientesSucursales] ADD [NumCtaPago] varchar(50) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Vta_ClientesSucursales] ADD [NumCtaPago] varchar(50) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -8160,7 +8160,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Vta_ClientesSucursales', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Vta_ClientesSucursales', N'Punto') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Vta_ClientesSucursales] ADD [Punto] varchar(100) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Vta_ClientesSucursales] ADD [Punto] varchar(100) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -8170,7 +8170,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Vta_ClientesSucursales', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Vta_ClientesSucursales', N'RFC') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Vta_ClientesSucursales] ADD [RFC] varchar(15) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Vta_ClientesSucursales] ADD [RFC] varchar(15) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -8236,7 +8236,7 @@ IF OBJECT_ID(N'dbo.Vta_Procedimientos', N'U') IS NULL
BEGIN TRY
EXEC sys.sp_executesql N'CREATE TABLE [dbo].[Vta_Procedimientos] (
[CveProcedimiento] int IDENTITY(1,1) NOT NULL,
- [Procedimiento] varchar(150) COLLATE Modern_Spanish_CS_AI NOT NULL,
+ [Procedimiento] varchar(150) COLLATE Modern_Spanish_CS_AS NOT NULL,
[Estatus] bit NOT NULL,
[FechaIng] datetime DEFAULT (getdate()) NOT NULL,
[CveUsuario] int NOT NULL,
@@ -8264,7 +8264,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Vta_Procedimientos', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Vta_Procedimientos', N'Procedimiento') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Vta_Procedimientos] ADD [Procedimiento] varchar(150) COLLATE Modern_Spanish_CS_AI NOT NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Vta_Procedimientos] ADD [Procedimiento] varchar(150) COLLATE Modern_Spanish_CS_AS NOT NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -8318,9 +8318,9 @@ IF OBJECT_ID(N'dbo.Ventas', N'U') IS NULL
BEGIN TRY
EXEC sys.sp_executesql N'CREATE TABLE [dbo].[Ventas] (
[CveVenta] int IDENTITY(1,1) NOT NULL,
- [FolioFiscal] varchar(50) COLLATE Modern_Spanish_CS_AI NULL,
- [TipoDocto] varchar(3) COLLATE Modern_Spanish_CS_AI DEFAULT (''Ing'') NOT NULL,
- [Serie] varchar(10) COLLATE Modern_Spanish_CS_AI NOT NULL,
+ [FolioFiscal] varchar(50) COLLATE Modern_Spanish_CS_AS NULL,
+ [TipoDocto] varchar(3) COLLATE Modern_Spanish_CS_AS DEFAULT (''Ing'') NOT NULL,
+ [Serie] varchar(10) COLLATE Modern_Spanish_CS_AS NOT NULL,
[Folio] int NOT NULL,
[SerieFolio] AS (concat(case when [Serie]<>'''' then [Serie]+''-'' else '''' end,[Folio])),
[Fecha] datetime NOT NULL,
@@ -8341,25 +8341,25 @@ BEGIN TRY
[CveMetodoPago] int NULL,
[CondicionesPago] int DEFAULT ((0)) NOT NULL,
[FormaPago] int NULL,
- [MotivoDescuento] varchar(500) COLLATE Modern_Spanish_CS_AI NULL,
- [Observaciones] varchar(2000) COLLATE Modern_Spanish_CS_AI NOT NULL,
+ [MotivoDescuento] varchar(500) COLLATE Modern_Spanish_CS_AS NULL,
+ [Observaciones] varchar(2000) COLLATE Modern_Spanish_CS_AS NOT NULL,
[CveEstatusFactura] int DEFAULT ((2)) NOT NULL,
[EnvioMail] int DEFAULT ((0)) NOT NULL,
[SeTimbro] bit DEFAULT ((0)) NOT NULL,
- [MotivoCancelacion] varchar(500) COLLATE Modern_Spanish_CS_AI NULL,
+ [MotivoCancelacion] varchar(500) COLLATE Modern_Spanish_CS_AS NULL,
[FechaEjecucion] datetime NOT NULL,
[CveSubProyecto] int DEFAULT ((0)) NOT NULL,
[CveVendedor] int DEFAULT ((0)) NULL,
- [Alfa1] varchar(500) COLLATE Modern_Spanish_CS_AI NULL,
- [Alfa2] varchar(100) COLLATE Modern_Spanish_CS_AI NULL,
- [Alfa3] varchar(100) COLLATE Modern_Spanish_CS_AI NULL,
+ [Alfa1] varchar(500) COLLATE Modern_Spanish_CS_AS NULL,
+ [Alfa2] varchar(100) COLLATE Modern_Spanish_CS_AS NULL,
+ [Alfa3] varchar(100) COLLATE Modern_Spanish_CS_AS NULL,
[Num1] float(53) NULL,
[Num2] float(53) NULL,
[Num3] float(53) NULL,
[Fech1] date NULL,
[Fech2] date NULL,
[Fech3] date NULL,
- [SelloCancelacion] varchar(800) COLLATE Modern_Spanish_CS_AI NULL,
+ [SelloCancelacion] varchar(800) COLLATE Modern_Spanish_CS_AS NULL,
[FechaCancelacion] datetime NULL,
[EstatusCancelacion] tinyint NULL,
[IdPoliza] int NULL,
@@ -8370,23 +8370,23 @@ BEGIN TRY
[Propina] float(53) NULL,
[CveVentaTerminal] int NULL,
[CvePrePoliza] int NULL,
- [AtencionA] varchar(100) COLLATE Modern_Spanish_CS_AI NULL,
+ [AtencionA] varchar(100) COLLATE Modern_Spanish_CS_AS NULL,
[CveUsuario] int NOT NULL,
[CveContrato] int NULL,
[FechaIng] datetime NULL,
- [Det_OrdenCompra] varchar(20) COLLATE Modern_Spanish_CS_AI NULL,
- [Det_FechaOrdenCompra] varchar(15) COLLATE Modern_Spanish_CS_AI NULL,
+ [Det_OrdenCompra] varchar(20) COLLATE Modern_Spanish_CS_AS NULL,
+ [Det_FechaOrdenCompra] varchar(15) COLLATE Modern_Spanish_CS_AS NULL,
[Otros] money DEFAULT ((0)) NULL,
[EsFacturaPrueba] bit DEFAULT ((0)) NOT NULL,
- [Ref] varchar(50) COLLATE Modern_Spanish_CS_AI NULL,
- [NumeroCuenta] varchar(5) COLLATE Modern_Spanish_CS_AI NULL,
+ [Ref] varchar(50) COLLATE Modern_Spanish_CS_AS NULL,
+ [NumeroCuenta] varchar(5) COLLATE Modern_Spanish_CS_AS NULL,
[FechaVencimiento2] date NULL,
[DiasVencimiento] AS (datediff(day,[FechaVencimiento2],getdate())),
[CveVentaFacturada] int NULL,
[CvePAC] int NULL,
[Vigencia] date NULL,
- [Entrega] varchar(50) COLLATE Modern_Spanish_CS_AI NULL,
- [TiempoEntrega] varchar(50) COLLATE Modern_Spanish_CS_AI NULL,
+ [Entrega] varchar(50) COLLATE Modern_Spanish_CS_AS NULL,
+ [TiempoEntrega] varchar(50) COLLATE Modern_Spanish_CS_AS NULL,
[CveAlmacenTraspasoDestino] int NULL,
[CveAlmacenTraspasoOrigen] int NULL,
[EsDevolucionPedido] bit NULL,
@@ -8395,27 +8395,27 @@ BEGIN TRY
[CveOC] int NULL,
[RemisionFacturada] bit DEFAULT ((0)) NOT NULL,
[CvePACCancelacion] int NULL,
- [TelefonoGenerico] varchar(50) COLLATE Modern_Spanish_CS_AI NULL,
+ [TelefonoGenerico] varchar(50) COLLATE Modern_Spanish_CS_AS NULL,
[CveCondicionEntrega] int NULL,
- [PedidoContrato] varchar(50) COLLATE Modern_Spanish_CS_AI NULL,
+ [PedidoContrato] varchar(50) COLLATE Modern_Spanish_CS_AS NULL,
[SATValidadoTimbrado] bit DEFAULT ((0)) NULL,
[SATValidadoCancelado] bit DEFAULT ((0)) NULL,
- [ObservacionesAlmacen] varchar(300) COLLATE Modern_Spanish_CS_AI NULL,
+ [ObservacionesAlmacen] varchar(300) COLLATE Modern_Spanish_CS_AS NULL,
[CotizacionFacturada] bit NULL,
[CveSubProyectoEjecucion] int NULL,
[CveSubProyectoCobranza] int NULL,
[CveCobranzaEstatus] int NULL,
[FechaCobranza] datetime NULL,
[CveUsuarioCobranza] int NULL,
- [CobranzaObservacion] varchar(255) COLLATE Modern_Spanish_CS_AI NULL,
+ [CobranzaObservacion] varchar(255) COLLATE Modern_Spanish_CS_AS NULL,
[CveCobranzaEstatusTurno] int NULL,
- [TipoProceso] varchar(255) COLLATE Modern_Spanish_CS_AI NULL,
- [TipoComite] varchar(255) COLLATE Modern_Spanish_CS_AI NULL,
- [IdContabilidad] varchar(50) COLLATE Modern_Spanish_CS_AI NULL,
+ [TipoProceso] varchar(255) COLLATE Modern_Spanish_CS_AS NULL,
+ [TipoComite] varchar(255) COLLATE Modern_Spanish_CS_AS NULL,
+ [IdContabilidad] varchar(50) COLLATE Modern_Spanish_CS_AS NULL,
[CveFormaPago33] tinyint NULL,
[CveMetodoPago33] tinyint NULL,
[CveUsoCFDI] tinyint NULL,
- [OrdenCompra] varchar(50) COLLATE Modern_Spanish_CS_AI NULL,
+ [OrdenCompra] varchar(50) COLLATE Modern_Spanish_CS_AS NULL,
[CveCuentaTerminal] int NULL,
[CveTipoRelacion] int NULL,
[ImporteRelacion] money NULL,
@@ -8439,45 +8439,45 @@ BEGIN TRY
[Kilometraje] float(53) NULL,
[EsAmortizacion] bit NULL,
[CveTipoRetencion] tinyint NULL,
- [CorreoNotificacion] varchar(100) COLLATE Modern_Spanish_CS_AI NULL,
+ [CorreoNotificacion] varchar(100) COLLATE Modern_Spanish_CS_AS NULL,
[FormaPaqueteria] int NULL,
[VentaDesglosaIEPS] bit NULL,
[FacturarSucursal] bit NULL,
[CveVentaAutorizacion] int NULL,
[CveAlmacenSurtio] int NULL,
[ServicioDomicilio] bit NULL,
- [RFCReceptor] varchar(50) COLLATE Modern_Spanish_CS_AI NULL,
- [Adjunto] varchar(150) COLLATE Modern_Spanish_CS_AI NULL,
+ [RFCReceptor] varchar(50) COLLATE Modern_Spanish_CS_AS NULL,
+ [Adjunto] varchar(150) COLLATE Modern_Spanish_CS_AS NULL,
[DevolucionImportePagado] money NULL,
[CveMotivoCancelacion] int NULL,
[EsGarantia] bit DEFAULT ((0)) NOT NULL,
- [EstadoCancelacion] varchar(100) COLLATE Modern_Spanish_CS_AI NULL,
+ [EstadoCancelacion] varchar(100) COLLATE Modern_Spanish_CS_AS NULL,
[CveEstadoCancelacion] tinyint NULL,
[CveOPAgropecuaria] int NULL,
- [SelloSolicitudCancelacion] varchar(800) COLLATE Modern_Spanish_CS_AI NULL,
- [CFDIVersion] varchar(5) COLLATE Modern_Spanish_CS_AI NULL,
+ [SelloSolicitudCancelacion] varchar(800) COLLATE Modern_Spanish_CS_AS NULL,
+ [CFDIVersion] varchar(5) COLLATE Modern_Spanish_CS_AS NULL,
[CveLineaAdicional] int NULL,
[CveLineaAdicionalEstatus] int NULL,
- [LineaAdicionalComprobante] varchar(250) COLLATE Modern_Spanish_CS_AI NULL,
- [DescripcionVenta] varchar(300) COLLATE Modern_Spanish_CS_AI NULL,
+ [LineaAdicionalComprobante] varchar(250) COLLATE Modern_Spanish_CS_AS NULL,
+ [DescripcionVenta] varchar(300) COLLATE Modern_Spanish_CS_AS NULL,
[CveMedico] int NULL,
[CveProcedimiento] int NULL,
[CveTipoVenta] int NULL,
[RequiereOS] bit NULL,
[FechaParaSurtir] datetime NOT NULL,
- [Paciente] varchar(50) COLLATE Modern_Spanish_CS_AI NULL,
- [Episodio] varchar(20) COLLATE Modern_Spanish_CS_AI NULL,
+ [Paciente] varchar(50) COLLATE Modern_Spanish_CS_AS NULL,
+ [Episodio] varchar(20) COLLATE Modern_Spanish_CS_AS NULL,
[EsFacturaGlobal] bit DEFAULT ((0)) NULL,
[CveSATPeriodicidad] int NULL,
[CveSATMes] int NULL,
[SATAnio] int NULL,
[AnticipoAutorizado] int NULL,
[CveMotivoDevolucion] int NULL,
- [Addenda] varchar(2000) COLLATE Modern_Spanish_CS_AI NULL,
+ [Addenda] varchar(2000) COLLATE Modern_Spanish_CS_AS NULL,
[Bloqueada] bit DEFAULT ((0)) NULL,
[CveUsuarioModifico] int NULL,
[CveComplementoTimbrado] int NULL,
- [ComplementoSAT] varchar(2000) COLLATE Modern_Spanish_CS_AI NULL,
+ [ComplementoSAT] varchar(2000) COLLATE Modern_Spanish_CS_AS NULL,
[Procesando] bit DEFAULT ((0)) NULL,
CONSTRAINT [PK_Ventas] PRIMARY KEY CLUSTERED ([CveVenta])
WITH (PAD_INDEX = OFF, FILLFACTOR = 90, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON)
@@ -8514,7 +8514,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Ventas', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Ventas', N'FolioFiscal') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Ventas] ADD [FolioFiscal] varchar(50) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Ventas] ADD [FolioFiscal] varchar(50) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -8524,7 +8524,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Ventas', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Ventas', N'TipoDocto') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Ventas] ADD [TipoDocto] varchar(3) COLLATE Modern_Spanish_CS_AI DEFAULT (''Ing'') NOT NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Ventas] ADD [TipoDocto] varchar(3) COLLATE Modern_Spanish_CS_AS DEFAULT (''Ing'') NOT NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -8534,7 +8534,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Ventas', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Ventas', N'Serie') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Ventas] ADD [Serie] varchar(10) COLLATE Modern_Spanish_CS_AI NOT NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Ventas] ADD [Serie] varchar(10) COLLATE Modern_Spanish_CS_AS NOT NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -8744,7 +8744,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Ventas', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Ventas', N'MotivoDescuento') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Ventas] ADD [MotivoDescuento] varchar(500) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Ventas] ADD [MotivoDescuento] varchar(500) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -8754,7 +8754,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Ventas', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Ventas', N'Observaciones') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Ventas] ADD [Observaciones] varchar(2000) COLLATE Modern_Spanish_CS_AI NOT NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Ventas] ADD [Observaciones] varchar(2000) COLLATE Modern_Spanish_CS_AS NOT NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -8794,7 +8794,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Ventas', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Ventas', N'MotivoCancelacion') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Ventas] ADD [MotivoCancelacion] varchar(500) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Ventas] ADD [MotivoCancelacion] varchar(500) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -8834,7 +8834,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Ventas', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Ventas', N'Alfa1') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Ventas] ADD [Alfa1] varchar(500) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Ventas] ADD [Alfa1] varchar(500) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -8844,7 +8844,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Ventas', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Ventas', N'Alfa2') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Ventas] ADD [Alfa2] varchar(100) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Ventas] ADD [Alfa2] varchar(100) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -8854,7 +8854,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Ventas', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Ventas', N'Alfa3') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Ventas] ADD [Alfa3] varchar(100) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Ventas] ADD [Alfa3] varchar(100) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -8924,7 +8924,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Ventas', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Ventas', N'SelloCancelacion') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Ventas] ADD [SelloCancelacion] varchar(800) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Ventas] ADD [SelloCancelacion] varchar(800) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -9034,7 +9034,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Ventas', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Ventas', N'AtencionA') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Ventas] ADD [AtencionA] varchar(100) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Ventas] ADD [AtencionA] varchar(100) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -9074,7 +9074,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Ventas', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Ventas', N'Det_OrdenCompra') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Ventas] ADD [Det_OrdenCompra] varchar(20) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Ventas] ADD [Det_OrdenCompra] varchar(20) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -9084,7 +9084,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Ventas', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Ventas', N'Det_FechaOrdenCompra') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Ventas] ADD [Det_FechaOrdenCompra] varchar(15) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Ventas] ADD [Det_FechaOrdenCompra] varchar(15) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -9114,7 +9114,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Ventas', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Ventas', N'Ref') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Ventas] ADD [Ref] varchar(50) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Ventas] ADD [Ref] varchar(50) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -9124,7 +9124,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Ventas', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Ventas', N'NumeroCuenta') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Ventas] ADD [NumeroCuenta] varchar(5) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Ventas] ADD [NumeroCuenta] varchar(5) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -9184,7 +9184,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Ventas', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Ventas', N'Entrega') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Ventas] ADD [Entrega] varchar(50) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Ventas] ADD [Entrega] varchar(50) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -9194,7 +9194,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Ventas', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Ventas', N'TiempoEntrega') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Ventas] ADD [TiempoEntrega] varchar(50) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Ventas] ADD [TiempoEntrega] varchar(50) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -9284,7 +9284,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Ventas', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Ventas', N'TelefonoGenerico') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Ventas] ADD [TelefonoGenerico] varchar(50) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Ventas] ADD [TelefonoGenerico] varchar(50) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -9304,7 +9304,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Ventas', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Ventas', N'PedidoContrato') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Ventas] ADD [PedidoContrato] varchar(50) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Ventas] ADD [PedidoContrato] varchar(50) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -9334,7 +9334,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Ventas', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Ventas', N'ObservacionesAlmacen') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Ventas] ADD [ObservacionesAlmacen] varchar(300) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Ventas] ADD [ObservacionesAlmacen] varchar(300) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -9404,7 +9404,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Ventas', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Ventas', N'CobranzaObservacion') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Ventas] ADD [CobranzaObservacion] varchar(255) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Ventas] ADD [CobranzaObservacion] varchar(255) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -9424,7 +9424,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Ventas', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Ventas', N'TipoProceso') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Ventas] ADD [TipoProceso] varchar(255) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Ventas] ADD [TipoProceso] varchar(255) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -9434,7 +9434,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Ventas', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Ventas', N'TipoComite') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Ventas] ADD [TipoComite] varchar(255) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Ventas] ADD [TipoComite] varchar(255) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -9444,7 +9444,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Ventas', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Ventas', N'IdContabilidad') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Ventas] ADD [IdContabilidad] varchar(50) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Ventas] ADD [IdContabilidad] varchar(50) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -9484,7 +9484,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Ventas', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Ventas', N'OrdenCompra') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Ventas] ADD [OrdenCompra] varchar(50) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Ventas] ADD [OrdenCompra] varchar(50) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -9724,7 +9724,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Ventas', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Ventas', N'CorreoNotificacion') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Ventas] ADD [CorreoNotificacion] varchar(100) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Ventas] ADD [CorreoNotificacion] varchar(100) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -9794,7 +9794,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Ventas', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Ventas', N'RFCReceptor') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Ventas] ADD [RFCReceptor] varchar(50) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Ventas] ADD [RFCReceptor] varchar(50) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -9804,7 +9804,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Ventas', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Ventas', N'Adjunto') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Ventas] ADD [Adjunto] varchar(150) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Ventas] ADD [Adjunto] varchar(150) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -9844,7 +9844,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Ventas', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Ventas', N'EstadoCancelacion') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Ventas] ADD [EstadoCancelacion] varchar(100) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Ventas] ADD [EstadoCancelacion] varchar(100) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -9874,7 +9874,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Ventas', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Ventas', N'SelloSolicitudCancelacion') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Ventas] ADD [SelloSolicitudCancelacion] varchar(800) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Ventas] ADD [SelloSolicitudCancelacion] varchar(800) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -9884,7 +9884,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Ventas', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Ventas', N'CFDIVersion') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Ventas] ADD [CFDIVersion] varchar(5) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Ventas] ADD [CFDIVersion] varchar(5) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -9914,7 +9914,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Ventas', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Ventas', N'LineaAdicionalComprobante') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Ventas] ADD [LineaAdicionalComprobante] varchar(250) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Ventas] ADD [LineaAdicionalComprobante] varchar(250) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -9924,7 +9924,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Ventas', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Ventas', N'DescripcionVenta') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Ventas] ADD [DescripcionVenta] varchar(300) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Ventas] ADD [DescripcionVenta] varchar(300) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -9984,7 +9984,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Ventas', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Ventas', N'Paciente') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Ventas] ADD [Paciente] varchar(50) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Ventas] ADD [Paciente] varchar(50) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -9994,7 +9994,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Ventas', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Ventas', N'Episodio') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Ventas] ADD [Episodio] varchar(20) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Ventas] ADD [Episodio] varchar(20) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -10064,7 +10064,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Ventas', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Ventas', N'Addenda') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Ventas] ADD [Addenda] varchar(2000) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Ventas] ADD [Addenda] varchar(2000) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -10104,7 +10104,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Ventas', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Ventas', N'ComplementoSAT') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Ventas] ADD [ComplementoSAT] varchar(2000) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Ventas] ADD [ComplementoSAT] varchar(2000) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -10243,8 +10243,8 @@ BEGIN TRY
[Bloqueado] bit DEFAULT ((0)) NOT NULL,
[IdCtaContable] int DEFAULT ((0)) NOT NULL,
[CveCuenta] int NULL,
- [Referencia] varchar(200) COLLATE Modern_Spanish_CS_AI NULL,
- [Concepto] varchar(200) COLLATE Modern_Spanish_CS_AI NOT NULL,
+ [Referencia] varchar(200) COLLATE Modern_Spanish_CS_AS NULL,
+ [Concepto] varchar(200) COLLATE Modern_Spanish_CS_AS NOT NULL,
[CveCliente] int NULL,
[CveVenta] int NULL,
[CveVentaAmortizacion] int NULL,
@@ -10422,7 +10422,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Conta_PrePolizasDetalle', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Conta_PrePolizasDetalle', N'Referencia') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Conta_PrePolizasDetalle] ADD [Referencia] varchar(200) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Conta_PrePolizasDetalle] ADD [Referencia] varchar(200) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -10432,7 +10432,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Conta_PrePolizasDetalle', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Conta_PrePolizasDetalle', N'Concepto') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Conta_PrePolizasDetalle] ADD [Concepto] varchar(200) COLLATE Modern_Spanish_CS_AI NOT NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Conta_PrePolizasDetalle] ADD [Concepto] varchar(200) COLLATE Modern_Spanish_CS_AS NOT NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -10686,9 +10686,9 @@ IF OBJECT_ID(N'dbo.Gral_SAT_Localidad', N'U') IS NULL
BEGIN TRY
EXEC sys.sp_executesql N'CREATE TABLE [dbo].[Gral_SAT_Localidad] (
[CveLocalidad] int IDENTITY(1,1) NOT NULL,
- [ClaveSATLocalidad] varchar(50) COLLATE Modern_Spanish_CS_AI NOT NULL,
- [ClaveSATEstado] varchar(50) COLLATE Modern_Spanish_CS_AI NOT NULL,
- [NombreLocalidad] varchar(100) COLLATE Modern_Spanish_CS_AI NOT NULL,
+ [ClaveSATLocalidad] varchar(50) COLLATE Modern_Spanish_CS_AS NOT NULL,
+ [ClaveSATEstado] varchar(50) COLLATE Modern_Spanish_CS_AS NOT NULL,
+ [NombreLocalidad] varchar(100) COLLATE Modern_Spanish_CS_AS NOT NULL,
CONSTRAINT [PK_Gral_SAT_Localidad] PRIMARY KEY CLUSTERED ([CveLocalidad])
WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON)
ON [PRIMARY]
@@ -10713,7 +10713,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Gral_SAT_Localidad', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Gral_SAT_Localidad', N'ClaveSATLocalidad') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Gral_SAT_Localidad] ADD [ClaveSATLocalidad] varchar(50) COLLATE Modern_Spanish_CS_AI NOT NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Gral_SAT_Localidad] ADD [ClaveSATLocalidad] varchar(50) COLLATE Modern_Spanish_CS_AS NOT NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -10723,7 +10723,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Gral_SAT_Localidad', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Gral_SAT_Localidad', N'ClaveSATEstado') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Gral_SAT_Localidad] ADD [ClaveSATEstado] varchar(50) COLLATE Modern_Spanish_CS_AI NOT NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Gral_SAT_Localidad] ADD [ClaveSATEstado] varchar(50) COLLATE Modern_Spanish_CS_AS NOT NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -10733,7 +10733,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Gral_SAT_Localidad', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Gral_SAT_Localidad', N'NombreLocalidad') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Gral_SAT_Localidad] ADD [NombreLocalidad] varchar(100) COLLATE Modern_Spanish_CS_AI NOT NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Gral_SAT_Localidad] ADD [NombreLocalidad] varchar(100) COLLATE Modern_Spanish_CS_AS NOT NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -10757,10 +10757,10 @@ IF OBJECT_ID(N'dbo.Gral_SAT_Estado', N'U') IS NULL
BEGIN TRY
EXEC sys.sp_executesql N'CREATE TABLE [dbo].[Gral_SAT_Estado] (
[CveEstado] int IDENTITY(1,1) NOT NULL,
- [ClaveSATEstado] varchar(5) COLLATE Modern_Spanish_CS_AI NOT NULL,
- [ClaveSATPais] varchar(3) COLLATE Modern_Spanish_CS_AI NOT NULL,
- [NombreEstado] varchar(50) COLLATE Modern_Spanish_CS_AI NOT NULL,
- [ClaveImpuestoEstado] varchar(2) COLLATE Modern_Spanish_CS_AI NULL,
+ [ClaveSATEstado] varchar(5) COLLATE Modern_Spanish_CS_AS NOT NULL,
+ [ClaveSATPais] varchar(3) COLLATE Modern_Spanish_CS_AS NOT NULL,
+ [NombreEstado] varchar(50) COLLATE Modern_Spanish_CS_AS NOT NULL,
+ [ClaveImpuestoEstado] varchar(2) COLLATE Modern_Spanish_CS_AS NULL,
[ClaveEstadoCorteva] int NULL,
CONSTRAINT [PK_Gral_SAT_Estado] PRIMARY KEY CLUSTERED ([CveEstado])
WITH (PAD_INDEX = OFF, FILLFACTOR = 80, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON)
@@ -10786,7 +10786,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Gral_SAT_Estado', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Gral_SAT_Estado', N'ClaveSATEstado') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Gral_SAT_Estado] ADD [ClaveSATEstado] varchar(5) COLLATE Modern_Spanish_CS_AI NOT NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Gral_SAT_Estado] ADD [ClaveSATEstado] varchar(5) COLLATE Modern_Spanish_CS_AS NOT NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -10796,7 +10796,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Gral_SAT_Estado', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Gral_SAT_Estado', N'ClaveSATPais') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Gral_SAT_Estado] ADD [ClaveSATPais] varchar(3) COLLATE Modern_Spanish_CS_AI NOT NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Gral_SAT_Estado] ADD [ClaveSATPais] varchar(3) COLLATE Modern_Spanish_CS_AS NOT NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -10806,7 +10806,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Gral_SAT_Estado', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Gral_SAT_Estado', N'NombreEstado') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Gral_SAT_Estado] ADD [NombreEstado] varchar(50) COLLATE Modern_Spanish_CS_AI NOT NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Gral_SAT_Estado] ADD [NombreEstado] varchar(50) COLLATE Modern_Spanish_CS_AS NOT NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -10816,7 +10816,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Gral_SAT_Estado', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Gral_SAT_Estado', N'ClaveImpuestoEstado') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Gral_SAT_Estado] ADD [ClaveImpuestoEstado] varchar(2) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Gral_SAT_Estado] ADD [ClaveImpuestoEstado] varchar(2) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -10850,7 +10850,7 @@ IF OBJECT_ID(N'dbo.Proyectos', N'U') IS NULL
BEGIN TRY
EXEC sys.sp_executesql N'CREATE TABLE [dbo].[Proyectos] (
[CveProyecto] int IDENTITY(1,1) NOT NULL,
- [Proyecto] varchar(50) COLLATE Modern_Spanish_CS_AI NOT NULL,
+ [Proyecto] varchar(50) COLLATE Modern_Spanish_CS_AS NOT NULL,
[CveSucursal] int NULL,
[Estatus] bit DEFAULT ((1)) NOT NULL,
[FechaIng] date DEFAULT (getdate()) NOT NULL,
@@ -10883,7 +10883,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Proyectos', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Proyectos', N'Proyecto') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Proyectos] ADD [Proyecto] varchar(50) COLLATE Modern_Spanish_CS_AI NOT NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Proyectos] ADD [Proyecto] varchar(50) COLLATE Modern_Spanish_CS_AS NOT NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -10970,34 +10970,34 @@ BEGIN TRY
EXEC sys.sp_executesql N'CREATE TABLE [dbo].[SubProyectos] (
[CveSubProyecto] int IDENTITY(1,1) NOT NULL,
[CveProyecto] int NOT NULL,
- [ClaveSubProyecto] varchar(5) COLLATE Modern_Spanish_CS_AI NULL,
- [SubProyecto] varchar(50) COLLATE Modern_Spanish_CS_AI NOT NULL,
+ [ClaveSubProyecto] varchar(5) COLLATE Modern_Spanish_CS_AS NULL,
+ [SubProyecto] varchar(50) COLLATE Modern_Spanish_CS_AS NOT NULL,
[IdSegNeg] int DEFAULT ((1)) NULL,
[Estatus] bit DEFAULT ((1)) NOT NULL,
[FechaIng] date DEFAULT (getdate()) NOT NULL,
[CveUsuario] int NOT NULL,
[IdCuentaGasto] int NULL,
- [CuentaGasto] varchar(50) COLLATE Modern_Spanish_CS_AI NULL,
+ [CuentaGasto] varchar(50) COLLATE Modern_Spanish_CS_AS NULL,
[CveSubPrograma] int NULL,
[CveClasificacionGeografica] int NULL,
[CveSucursal] int NULL,
[CveUsuarioNomina] int NULL,
- [Serie] varchar(15) COLLATE Modern_Spanish_CS_AI NULL,
+ [Serie] varchar(15) COLLATE Modern_Spanish_CS_AS NULL,
[IVA] float(53) NULL,
- [Calle] varchar(50) COLLATE Modern_Spanish_CS_AI NULL,
- [NoExt] varchar(10) COLLATE Modern_Spanish_CS_AI NULL,
- [NoInt] varchar(10) COLLATE Modern_Spanish_CS_AI NULL,
- [Colonia] varchar(50) COLLATE Modern_Spanish_CS_AI NULL,
- [Localidad] varchar(50) COLLATE Modern_Spanish_CS_AI NULL,
- [Municipio] varchar(50) COLLATE Modern_Spanish_CS_AI NULL,
- [Pais] varchar(50) COLLATE Modern_Spanish_CS_AI NULL,
- [CP] varchar(5) COLLATE Modern_Spanish_CS_AI NULL,
+ [Calle] varchar(50) COLLATE Modern_Spanish_CS_AS NULL,
+ [NoExt] varchar(10) COLLATE Modern_Spanish_CS_AS NULL,
+ [NoInt] varchar(10) COLLATE Modern_Spanish_CS_AS NULL,
+ [Colonia] varchar(50) COLLATE Modern_Spanish_CS_AS NULL,
+ [Localidad] varchar(50) COLLATE Modern_Spanish_CS_AS NULL,
+ [Municipio] varchar(50) COLLATE Modern_Spanish_CS_AS NULL,
+ [Pais] varchar(50) COLLATE Modern_Spanish_CS_AS NULL,
+ [CP] varchar(5) COLLATE Modern_Spanish_CS_AS NULL,
[CveSubProyectoPadre] int NULL,
- [Estado] varchar(20) COLLATE Modern_Spanish_CS_AI NULL,
- [FormatoFactura] varchar(25) COLLATE Modern_Spanish_CS_AI NULL,
- [TipoFormato] varchar(5) COLLATE Modern_Spanish_CS_AI NULL,
+ [Estado] varchar(20) COLLATE Modern_Spanish_CS_AS NULL,
+ [FormatoFactura] varchar(25) COLLATE Modern_Spanish_CS_AS NULL,
+ [TipoFormato] varchar(5) COLLATE Modern_Spanish_CS_AS NULL,
[TipoVenta] tinyint NULL,
- [Telefono] varchar(10) COLLATE Modern_Spanish_CS_AI NULL,
+ [Telefono] varchar(10) COLLATE Modern_Spanish_CS_AS NULL,
[TipoSucursal] tinyint NULL,
[EsSucursal] tinyint NOT NULL,
[CvePais] int NULL,
@@ -11005,16 +11005,16 @@ BEGIN TRY
[CveMunicipio] int NULL,
[CveColonia] int NULL,
[AplicaComercioExterior] bit NULL,
- [Correo] varchar(50) COLLATE Modern_Spanish_CS_AI NULL,
+ [Correo] varchar(50) COLLATE Modern_Spanish_CS_AS NULL,
[UTCOffsetVerano] int NULL,
[UTCOffsetInvierno] int NULL,
[NoVerificaAlmacen] bit NULL,
- [CodigoSucursal] varchar(20) COLLATE Modern_Spanish_CS_AI NULL,
- [Acum_CentroServicio] varchar(10) COLLATE Modern_Spanish_CS_AI NULL,
+ [CodigoSucursal] varchar(20) COLLATE Modern_Spanish_CI_AS NULL,
+ [Acum_CentroServicio] varchar(10) COLLATE Modern_Spanish_CS_AS NULL,
[Orden] smallint NULL,
[CveLocalidad] int NULL,
- [Acum_PortalUsuario] varchar(50) COLLATE Modern_Spanish_CS_AI NULL,
- [Acum_PortalContrasena] varchar(50) COLLATE Modern_Spanish_CS_AI NULL,
+ [Acum_PortalUsuario] varchar(50) COLLATE Modern_Spanish_CI_AS NULL,
+ [Acum_PortalContrasena] varchar(50) COLLATE Modern_Spanish_CS_AS NULL,
[DeshabilitaAutorizacion] bit NULL,
[CveClientePublicoGral] int NULL,
CONSTRAINT [PK_SubProyectos] PRIMARY KEY CLUSTERED ([CveSubProyecto])
@@ -11054,7 +11054,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.SubProyectos', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.SubProyectos', N'ClaveSubProyecto') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[SubProyectos] ADD [ClaveSubProyecto] varchar(5) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[SubProyectos] ADD [ClaveSubProyecto] varchar(5) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -11064,7 +11064,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.SubProyectos', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.SubProyectos', N'SubProyecto') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[SubProyectos] ADD [SubProyecto] varchar(50) COLLATE Modern_Spanish_CS_AI NOT NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[SubProyectos] ADD [SubProyecto] varchar(50) COLLATE Modern_Spanish_CS_AS NOT NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -11124,7 +11124,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.SubProyectos', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.SubProyectos', N'CuentaGasto') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[SubProyectos] ADD [CuentaGasto] varchar(50) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[SubProyectos] ADD [CuentaGasto] varchar(50) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -11174,7 +11174,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.SubProyectos', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.SubProyectos', N'Serie') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[SubProyectos] ADD [Serie] varchar(15) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[SubProyectos] ADD [Serie] varchar(15) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -11194,7 +11194,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.SubProyectos', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.SubProyectos', N'Calle') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[SubProyectos] ADD [Calle] varchar(50) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[SubProyectos] ADD [Calle] varchar(50) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -11204,7 +11204,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.SubProyectos', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.SubProyectos', N'NoExt') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[SubProyectos] ADD [NoExt] varchar(10) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[SubProyectos] ADD [NoExt] varchar(10) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -11214,7 +11214,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.SubProyectos', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.SubProyectos', N'NoInt') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[SubProyectos] ADD [NoInt] varchar(10) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[SubProyectos] ADD [NoInt] varchar(10) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -11224,7 +11224,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.SubProyectos', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.SubProyectos', N'Colonia') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[SubProyectos] ADD [Colonia] varchar(50) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[SubProyectos] ADD [Colonia] varchar(50) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -11234,7 +11234,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.SubProyectos', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.SubProyectos', N'Localidad') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[SubProyectos] ADD [Localidad] varchar(50) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[SubProyectos] ADD [Localidad] varchar(50) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -11244,7 +11244,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.SubProyectos', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.SubProyectos', N'Municipio') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[SubProyectos] ADD [Municipio] varchar(50) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[SubProyectos] ADD [Municipio] varchar(50) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -11254,7 +11254,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.SubProyectos', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.SubProyectos', N'Pais') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[SubProyectos] ADD [Pais] varchar(50) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[SubProyectos] ADD [Pais] varchar(50) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -11264,7 +11264,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.SubProyectos', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.SubProyectos', N'CP') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[SubProyectos] ADD [CP] varchar(5) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[SubProyectos] ADD [CP] varchar(5) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -11284,7 +11284,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.SubProyectos', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.SubProyectos', N'Estado') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[SubProyectos] ADD [Estado] varchar(20) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[SubProyectos] ADD [Estado] varchar(20) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -11294,7 +11294,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.SubProyectos', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.SubProyectos', N'FormatoFactura') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[SubProyectos] ADD [FormatoFactura] varchar(25) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[SubProyectos] ADD [FormatoFactura] varchar(25) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -11304,7 +11304,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.SubProyectos', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.SubProyectos', N'TipoFormato') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[SubProyectos] ADD [TipoFormato] varchar(5) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[SubProyectos] ADD [TipoFormato] varchar(5) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -11324,7 +11324,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.SubProyectos', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.SubProyectos', N'Telefono') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[SubProyectos] ADD [Telefono] varchar(10) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[SubProyectos] ADD [Telefono] varchar(10) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -11404,7 +11404,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.SubProyectos', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.SubProyectos', N'Correo') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[SubProyectos] ADD [Correo] varchar(50) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[SubProyectos] ADD [Correo] varchar(50) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -11444,7 +11444,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.SubProyectos', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.SubProyectos', N'CodigoSucursal') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[SubProyectos] ADD [CodigoSucursal] varchar(20) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[SubProyectos] ADD [CodigoSucursal] varchar(20) COLLATE Modern_Spanish_CI_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -11454,7 +11454,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.SubProyectos', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.SubProyectos', N'Acum_CentroServicio') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[SubProyectos] ADD [Acum_CentroServicio] varchar(10) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[SubProyectos] ADD [Acum_CentroServicio] varchar(10) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -11484,7 +11484,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.SubProyectos', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.SubProyectos', N'Acum_PortalUsuario') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[SubProyectos] ADD [Acum_PortalUsuario] varchar(50) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[SubProyectos] ADD [Acum_PortalUsuario] varchar(50) COLLATE Modern_Spanish_CI_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -11494,7 +11494,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.SubProyectos', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.SubProyectos', N'Acum_PortalContrasena') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[SubProyectos] ADD [Acum_PortalContrasena] varchar(50) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[SubProyectos] ADD [Acum_PortalContrasena] varchar(50) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -11550,11 +11550,11 @@ IF OBJECT_ID(N'dbo.Gral_SAT_UsosCFDI', N'U') IS NULL
BEGIN TRY
EXEC sys.sp_executesql N'CREATE TABLE [dbo].[Gral_SAT_UsosCFDI] (
[CveUsoCFDI] tinyint NOT NULL,
- [UsoCFDI] varchar(5) COLLATE Modern_Spanish_CS_AI NOT NULL,
- [Descripcion] varchar(100) COLLATE Modern_Spanish_CS_AI NOT NULL,
+ [UsoCFDI] varchar(5) COLLATE Modern_Spanish_CS_AS NOT NULL,
+ [Descripcion] varchar(100) COLLATE Modern_Spanish_CS_AS NOT NULL,
[AplicaPersonaFisica] bit DEFAULT ((0)) NOT NULL,
[AplicaPersonaMoral] bit DEFAULT ((0)) NOT NULL,
- [RegimenFiscalReceptor] varchar(200) COLLATE Modern_Spanish_CS_AI NULL,
+ [RegimenFiscalReceptor] varchar(200) COLLATE Modern_Spanish_CS_AS NULL,
CONSTRAINT [PK_Gral_SAT_UsosCFDI] PRIMARY KEY CLUSTERED ([CveUsoCFDI])
WITH (PAD_INDEX = OFF, FILLFACTOR = 80, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON)
ON [PRIMARY]
@@ -11579,7 +11579,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Gral_SAT_UsosCFDI', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Gral_SAT_UsosCFDI', N'UsoCFDI') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Gral_SAT_UsosCFDI] ADD [UsoCFDI] varchar(5) COLLATE Modern_Spanish_CS_AI NOT NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Gral_SAT_UsosCFDI] ADD [UsoCFDI] varchar(5) COLLATE Modern_Spanish_CS_AS NOT NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -11589,7 +11589,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Gral_SAT_UsosCFDI', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Gral_SAT_UsosCFDI', N'Descripcion') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Gral_SAT_UsosCFDI] ADD [Descripcion] varchar(100) COLLATE Modern_Spanish_CS_AI NOT NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Gral_SAT_UsosCFDI] ADD [Descripcion] varchar(100) COLLATE Modern_Spanish_CS_AS NOT NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -11619,7 +11619,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Gral_SAT_UsosCFDI', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Gral_SAT_UsosCFDI', N'RegimenFiscalReceptor') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Gral_SAT_UsosCFDI] ADD [RegimenFiscalReceptor] varchar(200) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Gral_SAT_UsosCFDI] ADD [RegimenFiscalReceptor] varchar(200) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -11643,22 +11643,22 @@ IF OBJECT_ID(N'dbo.Vta_Vendedores', N'U') IS NULL
BEGIN TRY
EXEC sys.sp_executesql N'CREATE TABLE [dbo].[Vta_Vendedores] (
[CveVendedor] int IDENTITY(1,1) NOT NULL,
- [Codigo] varchar(10) COLLATE Modern_Spanish_CS_AI NULL,
- [Vendedor] varchar(50) COLLATE Modern_Spanish_CS_AI NOT NULL,
- [Correo] varchar(50) COLLATE Modern_Spanish_CS_AI NULL,
- [Telefono] varchar(50) COLLATE Modern_Spanish_CS_AI NULL,
+ [Codigo] varchar(10) COLLATE Modern_Spanish_CI_AS NULL,
+ [Vendedor] varchar(50) COLLATE Modern_Spanish_CS_AS NOT NULL,
+ [Correo] varchar(50) COLLATE Modern_Spanish_CS_AS NULL,
+ [Telefono] varchar(50) COLLATE Modern_Spanish_CS_AS NULL,
[Estatus] bit DEFAULT ((1)) NOT NULL,
[FechaIng] datetime NOT NULL,
[CveUsuario] int NOT NULL,
[CveEsquemaComision] int NULL,
- [Celular] varchar(50) COLLATE Modern_Spanish_CS_AI NULL,
- [TituloDocumentos] varchar(150) COLLATE Modern_Spanish_CS_AI NULL,
+ [Celular] varchar(50) COLLATE Modern_Spanish_CS_AS NULL,
+ [TituloDocumentos] varchar(150) COLLATE Modern_Spanish_CS_AS NULL,
[EsSupervisor] bit NULL,
[CveSupervisor] int NULL,
[VendedorTipo] tinyint NULL,
[CveSuperior] int NULL,
[CveSubProyecto] int NULL,
- [CorreoAdicionalNotificaciones] varchar(200) COLLATE Modern_Spanish_CS_AI NULL,
+ [CorreoAdicionalNotificaciones] varchar(200) COLLATE Modern_Spanish_CS_AS NULL,
[FechaModificacion] datetime NULL,
CONSTRAINT [PK_Vta_Vendedores] PRIMARY KEY CLUSTERED ([CveVendedor])
WITH (PAD_INDEX = OFF, FILLFACTOR = 90, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON)
@@ -11684,7 +11684,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Vta_Vendedores', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Vta_Vendedores', N'Codigo') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Vta_Vendedores] ADD [Codigo] varchar(10) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Vta_Vendedores] ADD [Codigo] varchar(10) COLLATE Modern_Spanish_CI_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -11694,7 +11694,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Vta_Vendedores', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Vta_Vendedores', N'Vendedor') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Vta_Vendedores] ADD [Vendedor] varchar(50) COLLATE Modern_Spanish_CS_AI NOT NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Vta_Vendedores] ADD [Vendedor] varchar(50) COLLATE Modern_Spanish_CS_AS NOT NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -11704,7 +11704,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Vta_Vendedores', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Vta_Vendedores', N'Correo') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Vta_Vendedores] ADD [Correo] varchar(50) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Vta_Vendedores] ADD [Correo] varchar(50) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -11714,7 +11714,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Vta_Vendedores', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Vta_Vendedores', N'Telefono') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Vta_Vendedores] ADD [Telefono] varchar(50) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Vta_Vendedores] ADD [Telefono] varchar(50) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -11764,7 +11764,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Vta_Vendedores', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Vta_Vendedores', N'Celular') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Vta_Vendedores] ADD [Celular] varchar(50) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Vta_Vendedores] ADD [Celular] varchar(50) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -11774,7 +11774,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Vta_Vendedores', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Vta_Vendedores', N'TituloDocumentos') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Vta_Vendedores] ADD [TituloDocumentos] varchar(150) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Vta_Vendedores] ADD [TituloDocumentos] varchar(150) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -11834,7 +11834,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Vta_Vendedores', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Vta_Vendedores', N'CorreoAdicionalNotificaciones') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Vta_Vendedores] ADD [CorreoAdicionalNotificaciones] varchar(200) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Vta_Vendedores] ADD [CorreoAdicionalNotificaciones] varchar(200) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -11868,8 +11868,8 @@ IF OBJECT_ID(N'dbo.Vta_FormaPago', N'U') IS NULL
BEGIN TRY
EXEC sys.sp_executesql N'CREATE TABLE [dbo].[Vta_FormaPago] (
[CveFormaPago] tinyint NOT NULL,
- [FormaPago] varchar(50) COLLATE Modern_Spanish_CS_AI NULL,
- [ClaveFormaPagoSAT] varchar(2) COLLATE Modern_Spanish_CS_AI NULL,
+ [FormaPago] varchar(50) COLLATE Modern_Spanish_CS_AS NULL,
+ [ClaveFormaPagoSAT] varchar(2) COLLATE Modern_Spanish_CS_AS NULL,
[CveUsuario] int NOT NULL,
[FechaIng] date NULL,
CONSTRAINT [PK_Vta_FormaPago] PRIMARY KEY CLUSTERED ([CveFormaPago])
@@ -11896,7 +11896,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Vta_FormaPago', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Vta_FormaPago', N'FormaPago') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Vta_FormaPago] ADD [FormaPago] varchar(50) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Vta_FormaPago] ADD [FormaPago] varchar(50) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -11906,7 +11906,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Vta_FormaPago', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Vta_FormaPago', N'ClaveFormaPagoSAT') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Vta_FormaPago] ADD [ClaveFormaPagoSAT] varchar(2) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Vta_FormaPago] ADD [ClaveFormaPagoSAT] varchar(2) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -11950,7 +11950,7 @@ IF OBJECT_ID(N'dbo.Sis_PAC', N'U') IS NULL
BEGIN TRY
EXEC sys.sp_executesql N'CREATE TABLE [dbo].[Sis_PAC] (
[CvePAC] int NOT NULL,
- [PAC] varchar(50) COLLATE Modern_Spanish_CS_AI NOT NULL,
+ [PAC] varchar(50) COLLATE Modern_Spanish_CS_AS NOT NULL,
[Estatus] bit DEFAULT ((1)) NOT NULL,
[CveUsuario] int NOT NULL,
CONSTRAINT [PK_Sis_PAC] PRIMARY KEY CLUSTERED ([CvePAC])
@@ -11977,7 +11977,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Sis_PAC', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Sis_PAC', N'PAC') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Sis_PAC] ADD [PAC] varchar(50) COLLATE Modern_Spanish_CS_AI NOT NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Sis_PAC] ADD [PAC] varchar(50) COLLATE Modern_Spanish_CS_AS NOT NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -12021,8 +12021,8 @@ IF OBJECT_ID(N'dbo.Vta_MetodoPago', N'U') IS NULL
BEGIN TRY
EXEC sys.sp_executesql N'CREATE TABLE [dbo].[Vta_MetodoPago] (
[CveMetodoPago] tinyint NOT NULL,
- [MetodoPago] varchar(50) COLLATE Modern_Spanish_CS_AI NULL,
- [ClaveMetodoPagoSAT] varchar(5) COLLATE Modern_Spanish_CS_AI NULL,
+ [MetodoPago] varchar(50) COLLATE Modern_Spanish_CS_AS NULL,
+ [ClaveMetodoPagoSAT] varchar(5) COLLATE Modern_Spanish_CS_AS NULL,
[CveUsuario] int NULL,
[FechaIng] date NULL,
CONSTRAINT [PK_Vta_MetodoPago] PRIMARY KEY CLUSTERED ([CveMetodoPago])
@@ -12049,7 +12049,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Vta_MetodoPago', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Vta_MetodoPago', N'MetodoPago') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Vta_MetodoPago] ADD [MetodoPago] varchar(50) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Vta_MetodoPago] ADD [MetodoPago] varchar(50) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -12059,7 +12059,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Vta_MetodoPago', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Vta_MetodoPago', N'ClaveMetodoPagoSAT') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Vta_MetodoPago] ADD [ClaveMetodoPagoSAT] varchar(5) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Vta_MetodoPago] ADD [ClaveMetodoPagoSAT] varchar(5) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -12102,8 +12102,8 @@ GO
IF OBJECT_ID(N'dbo.Vta_TipoDocumentos', N'U') IS NULL
BEGIN TRY
EXEC sys.sp_executesql N'CREATE TABLE [dbo].[Vta_TipoDocumentos] (
- [CveTipoDocumento] varchar(3) COLLATE Modern_Spanish_CS_AI NOT NULL,
- [TipoDocumento] varchar(50) COLLATE Modern_Spanish_CS_AI NULL,
+ [CveTipoDocumento] varchar(3) COLLATE Modern_Spanish_CS_AS NOT NULL,
+ [TipoDocumento] varchar(50) COLLATE Modern_Spanish_CS_AS NULL,
[Estatus] bit NULL,
[FechaIng] date NULL,
[Multiplicador] smallmoney DEFAULT ((1)) NULL,
@@ -12122,7 +12122,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Vta_TipoDocumentos', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Vta_TipoDocumentos', N'CveTipoDocumento') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Vta_TipoDocumentos] ADD [CveTipoDocumento] varchar(3) COLLATE Modern_Spanish_CS_AI NOT NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Vta_TipoDocumentos] ADD [CveTipoDocumento] varchar(3) COLLATE Modern_Spanish_CS_AS NOT NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -12132,7 +12132,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Vta_TipoDocumentos', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Vta_TipoDocumentos', N'TipoDocumento') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Vta_TipoDocumentos] ADD [TipoDocumento] varchar(50) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Vta_TipoDocumentos] ADD [TipoDocumento] varchar(50) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -12196,11 +12196,11 @@ IF OBJECT_ID(N'dbo.EstatusFactura', N'U') IS NULL
BEGIN TRY
EXEC sys.sp_executesql N'CREATE TABLE [dbo].[EstatusFactura] (
[CveEstatusFactura] int NOT NULL,
- [EstatusFactura] varchar(30) COLLATE Modern_Spanish_CS_AI NOT NULL,
+ [EstatusFactura] varchar(30) COLLATE Modern_Spanish_CS_AS NOT NULL,
[Estado] bit DEFAULT ((1)) NOT NULL,
[Fecha] date DEFAULT (getdate()) NOT NULL,
[CveUsuario] int NOT NULL,
- [TipoDocto] varchar(3) COLLATE Modern_Spanish_CS_AI NOT NULL,
+ [TipoDocto] varchar(3) COLLATE Modern_Spanish_CS_AS NOT NULL,
[TipoEstatus] smallint DEFAULT ((1)) NULL,
[Origen] smallmoney DEFAULT ((1)) NULL,
[EnProcesoCancelacion] bit DEFAULT ((0)) NOT NULL,
@@ -12228,7 +12228,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.EstatusFactura', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.EstatusFactura', N'EstatusFactura') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[EstatusFactura] ADD [EstatusFactura] varchar(30) COLLATE Modern_Spanish_CS_AI NOT NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[EstatusFactura] ADD [EstatusFactura] varchar(30) COLLATE Modern_Spanish_CS_AS NOT NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -12268,7 +12268,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.EstatusFactura', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.EstatusFactura', N'TipoDocto') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[EstatusFactura] ADD [TipoDocto] varchar(3) COLLATE Modern_Spanish_CS_AI NOT NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[EstatusFactura] ADD [TipoDocto] varchar(3) COLLATE Modern_Spanish_CS_AS NOT NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -12322,8 +12322,8 @@ IF OBJECT_ID(N'dbo.Gral_RegimenesFiscales', N'U') IS NULL
BEGIN TRY
EXEC sys.sp_executesql N'CREATE TABLE [dbo].[Gral_RegimenesFiscales] (
[CveRegimenFiscal] tinyint NOT NULL,
- [RegimenFiscal] varchar(100) COLLATE Modern_Spanish_CS_AI NOT NULL,
- [CodigoRegimenFiscal] varchar(3) COLLATE Modern_Spanish_CS_AI NOT NULL,
+ [RegimenFiscal] varchar(100) COLLATE Modern_Spanish_CS_AS NOT NULL,
+ [CodigoRegimenFiscal] varchar(3) COLLATE Modern_Spanish_CI_AS NOT NULL,
[AplicaPersonaFisica] bit NOT NULL,
[AplicaPersonaMoral] bit NOT NULL,
CONSTRAINT [PK_Gral_RegimenesFiscales] PRIMARY KEY CLUSTERED ([CveRegimenFiscal])
@@ -12350,7 +12350,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Gral_RegimenesFiscales', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Gral_RegimenesFiscales', N'RegimenFiscal') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Gral_RegimenesFiscales] ADD [RegimenFiscal] varchar(100) COLLATE Modern_Spanish_CS_AI NOT NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Gral_RegimenesFiscales] ADD [RegimenFiscal] varchar(100) COLLATE Modern_Spanish_CS_AS NOT NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -12360,7 +12360,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Gral_RegimenesFiscales', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Gral_RegimenesFiscales', N'CodigoRegimenFiscal') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Gral_RegimenesFiscales] ADD [CodigoRegimenFiscal] varchar(3) COLLATE Modern_Spanish_CS_AI NOT NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Gral_RegimenesFiscales] ADD [CodigoRegimenFiscal] varchar(3) COLLATE Modern_Spanish_CI_AS NOT NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -12405,9 +12405,9 @@ BEGIN TRY
EXEC sys.sp_executesql N'CREATE TABLE [dbo].[ZonasHorarias] (
--esta reemplaza GPS_ZonasHorarias
[CveZonaHoraria] int NOT NULL,
- [Abreviacion] varchar(7) COLLATE Modern_Spanish_CS_AI NULL,
- [ZonaHoraria] varchar(100) COLLATE Modern_Spanish_CS_AI NULL,
- [UTC] varchar(20) COLLATE Modern_Spanish_CS_AI NULL,
+ [Abreviacion] varchar(7) COLLATE Modern_Spanish_CS_AS NULL,
+ [ZonaHoraria] varchar(100) COLLATE Modern_Spanish_CS_AS NULL,
+ [UTC] varchar(20) COLLATE Modern_Spanish_CS_AS NULL,
[UTCOffset] int NULL,
CONSTRAINT [PK_ZonasHorarias] PRIMARY KEY CLUSTERED ([CveZonaHoraria])
WITH (PAD_INDEX = OFF, FILLFACTOR = 80, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON)
@@ -12433,7 +12433,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.ZonasHorarias', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.ZonasHorarias', N'Abreviacion') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[ZonasHorarias] ADD [Abreviacion] varchar(7) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[ZonasHorarias] ADD [Abreviacion] varchar(7) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -12443,7 +12443,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.ZonasHorarias', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.ZonasHorarias', N'ZonaHoraria') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[ZonasHorarias] ADD [ZonaHoraria] varchar(100) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[ZonasHorarias] ADD [ZonaHoraria] varchar(100) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -12453,7 +12453,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.ZonasHorarias', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.ZonasHorarias', N'UTC') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[ZonasHorarias] ADD [UTC] varchar(20) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[ZonasHorarias] ADD [UTC] varchar(20) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -12487,9 +12487,9 @@ IF OBJECT_ID(N'dbo.Sat_Bancos', N'U') IS NULL
BEGIN TRY
EXEC sys.sp_executesql N'CREATE TABLE [dbo].[Sat_Bancos] (
[CveSATBanco] int IDENTITY(1,1) NOT NULL,
- [CveBanco] varchar(50) COLLATE Modern_Spanish_CS_AI NOT NULL,
- [Banco] varchar(150) COLLATE Modern_Spanish_CS_AI NOT NULL,
- [RazonSocial] varchar(300) COLLATE Modern_Spanish_CS_AI NOT NULL,
+ [CveBanco] varchar(50) COLLATE Modern_Spanish_CS_AS NOT NULL,
+ [Banco] varchar(150) COLLATE Modern_Spanish_CS_AS NOT NULL,
+ [RazonSocial] varchar(300) COLLATE Modern_Spanish_CS_AS NOT NULL,
[Estatus] bit DEFAULT ((1)) NOT NULL,
[FechaIng] datetime NOT NULL,
[CveUsuario] int NOT NULL,
@@ -12518,7 +12518,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Sat_Bancos', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Sat_Bancos', N'CveBanco') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Sat_Bancos] ADD [CveBanco] varchar(50) COLLATE Modern_Spanish_CS_AI NOT NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Sat_Bancos] ADD [CveBanco] varchar(50) COLLATE Modern_Spanish_CS_AS NOT NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -12528,7 +12528,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Sat_Bancos', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Sat_Bancos', N'Banco') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Sat_Bancos] ADD [Banco] varchar(150) COLLATE Modern_Spanish_CS_AI NOT NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Sat_Bancos] ADD [Banco] varchar(150) COLLATE Modern_Spanish_CS_AS NOT NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -12538,7 +12538,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Sat_Bancos', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Sat_Bancos', N'RazonSocial') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Sat_Bancos] ADD [RazonSocial] varchar(300) COLLATE Modern_Spanish_CS_AI NOT NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Sat_Bancos] ADD [RazonSocial] varchar(300) COLLATE Modern_Spanish_CS_AS NOT NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -12602,9 +12602,9 @@ IF OBJECT_ID(N'dbo.Banc_Bancos', N'U') IS NULL
BEGIN TRY
EXEC sys.sp_executesql N'CREATE TABLE [dbo].[Banc_Bancos] (
[CveBanco] int IDENTITY(1,1) NOT NULL,
- [Banco] varchar(50) COLLATE Modern_Spanish_CS_AI NOT NULL,
- [Ejecutivo] varchar(50) COLLATE Modern_Spanish_CS_AI NULL,
- [Telefono] varchar(10) COLLATE Modern_Spanish_CS_AI NULL,
+ [Banco] varchar(50) COLLATE Modern_Spanish_CS_AS NOT NULL,
+ [Ejecutivo] varchar(50) COLLATE Modern_Spanish_CS_AS NULL,
+ [Telefono] varchar(10) COLLATE Modern_Spanish_CS_AS NULL,
[Estatus] bit DEFAULT ((1)) NOT NULL,
[Fecha] datetime NOT NULL,
[CveUsuario] int NOT NULL,
@@ -12636,7 +12636,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Banc_Bancos', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Banc_Bancos', N'Banco') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Banc_Bancos] ADD [Banco] varchar(50) COLLATE Modern_Spanish_CS_AI NOT NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Banc_Bancos] ADD [Banco] varchar(50) COLLATE Modern_Spanish_CS_AS NOT NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -12646,7 +12646,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Banc_Bancos', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Banc_Bancos', N'Ejecutivo') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Banc_Bancos] ADD [Ejecutivo] varchar(50) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Banc_Bancos] ADD [Ejecutivo] varchar(50) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -12656,7 +12656,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Banc_Bancos', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Banc_Bancos', N'Telefono') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Banc_Bancos] ADD [Telefono] varchar(10) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Banc_Bancos] ADD [Telefono] varchar(10) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -12946,7 +12946,7 @@ IF OBJECT_ID(N'dbo.Banc_TiposCuenta', N'U') IS NULL
BEGIN TRY
EXEC sys.sp_executesql N'CREATE TABLE [dbo].[Banc_TiposCuenta] (
[CveTipoCuenta] int NOT NULL,
- [TipoCuenta] varchar(50) COLLATE Modern_Spanish_CS_AI NOT NULL,
+ [TipoCuenta] varchar(50) COLLATE Modern_Spanish_CS_AS NOT NULL,
[Estatus] bit DEFAULT ((1)) NOT NULL,
[FechaIng] datetime NOT NULL,
[CveUsuario] int NOT NULL,
@@ -12977,7 +12977,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Banc_TiposCuenta', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Banc_TiposCuenta', N'TipoCuenta') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Banc_TiposCuenta] ADD [TipoCuenta] varchar(50) COLLATE Modern_Spanish_CS_AI NOT NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Banc_TiposCuenta] ADD [TipoCuenta] varchar(50) COLLATE Modern_Spanish_CS_AS NOT NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -13043,8 +13043,8 @@ IF OBJECT_ID(N'dbo.Conta_ConceptosContables', N'U') IS NULL
BEGIN TRY
EXEC sys.sp_executesql N'CREATE TABLE [dbo].[Conta_ConceptosContables] (
[CveConceptoContable] int NOT NULL,
- [Tipo] varchar(5) COLLATE Modern_Spanish_CS_AI NOT NULL,
- [ConceptoContable] varchar(50) COLLATE Modern_Spanish_CS_AI NOT NULL,
+ [Tipo] varchar(5) COLLATE Modern_Spanish_CS_AS NOT NULL,
+ [ConceptoContable] varchar(50) COLLATE Modern_Spanish_CS_AS NOT NULL,
[Estado] bit DEFAULT ((1)) NOT NULL,
[FechaIng] datetime NOT NULL,
[CveUsuario] int NOT NULL,
@@ -13099,7 +13099,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Conta_ConceptosContables', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Conta_ConceptosContables', N'Tipo') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Conta_ConceptosContables] ADD [Tipo] varchar(5) COLLATE Modern_Spanish_CS_AI NOT NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Conta_ConceptosContables] ADD [Tipo] varchar(5) COLLATE Modern_Spanish_CS_AS NOT NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -13109,7 +13109,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Conta_ConceptosContables', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Conta_ConceptosContables', N'ConceptoContable') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Conta_ConceptosContables] ADD [ConceptoContable] varchar(50) COLLATE Modern_Spanish_CS_AI NOT NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Conta_ConceptosContables] ADD [ConceptoContable] varchar(50) COLLATE Modern_Spanish_CS_AS NOT NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -13434,10 +13434,10 @@ BEGIN TRY
EXEC sys.sp_executesql N'CREATE TABLE [dbo].[Fraccionamientos] (
[CveFraccionamiento] int IDENTITY(1,1) NOT NULL,
[CveCliente] int NOT NULL,
- [Fraccionamiento] varchar(200) COLLATE Modern_Spanish_CS_AI NOT NULL,
+ [Fraccionamiento] varchar(200) COLLATE Modern_Spanish_CS_AS NOT NULL,
[Hectareas] decimal(18,4) NULL,
- [Ubicacion] varchar(500) COLLATE Modern_Spanish_CS_AI NULL,
- [Estatus] varchar(50) COLLATE Modern_Spanish_CS_AI NULL,
+ [Ubicacion] varchar(500) COLLATE Modern_Spanish_CS_AS NULL,
+ [Estatus] varchar(50) COLLATE Modern_Spanish_CS_AS NULL,
[EsActivo] bit CONSTRAINT [DF_Fraccionamientos_EsActivo] DEFAULT ((1)) NOT NULL,
[FechaAlta] datetime CONSTRAINT [DF_Fraccionamientos_FechaAlta] DEFAULT (GETDATE()) NOT NULL,
[FechaModificacion] datetime NULL,
@@ -13476,7 +13476,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Fraccionamientos', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Fraccionamientos', N'Fraccionamiento') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Fraccionamientos] ADD [Fraccionamiento] varchar(200) COLLATE Modern_Spanish_CS_AI NOT NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Fraccionamientos] ADD [Fraccionamiento] varchar(200) COLLATE Modern_Spanish_CS_AS NOT NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -13496,7 +13496,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Fraccionamientos', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Fraccionamientos', N'Ubicacion') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Fraccionamientos] ADD [Ubicacion] varchar(500) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Fraccionamientos] ADD [Ubicacion] varchar(500) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -13506,7 +13506,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Fraccionamientos', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Fraccionamientos', N'Estatus') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Fraccionamientos] ADD [Estatus] varchar(50) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Fraccionamientos] ADD [Estatus] varchar(50) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -13599,7 +13599,7 @@ BEGIN TRY
EXEC sys.sp_executesql N'CREATE TABLE [dbo].[FraccionamientosEtapas] (
[CveFraccionamientoEtapa] int IDENTITY(1,1) NOT NULL,
[CveFraccionamiento] int NOT NULL,
- [Etapa] varchar(150) COLLATE Modern_Spanish_CS_AI NOT NULL,
+ [Etapa] varchar(150) COLLATE Modern_Spanish_CS_AS NOT NULL,
[Hectareas] decimal(18,4) NULL,
[Orden] int CONSTRAINT [DF_FraccionamientosEtapas_Orden] DEFAULT ((0)) NOT NULL,
[EsActivo] bit CONSTRAINT [DF_FraccionamientosEtapas_EsActivo] DEFAULT ((1)) NOT NULL,
@@ -13640,7 +13640,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.FraccionamientosEtapas', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.FraccionamientosEtapas', N'Etapa') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[FraccionamientosEtapas] ADD [Etapa] varchar(150) COLLATE Modern_Spanish_CS_AI NOT NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[FraccionamientosEtapas] ADD [Etapa] varchar(150) COLLATE Modern_Spanish_CS_AS NOT NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -13753,12 +13753,12 @@ BEGIN TRY
EXEC sys.sp_executesql N'CREATE TABLE [dbo].[FraccionamientosLotes] (
[CveFraccionamientoLote] int IDENTITY(1,1) NOT NULL,
[CveFraccionamientoEtapa] int NOT NULL,
- [Tipo] varchar(100) COLLATE Modern_Spanish_CS_AI NULL,
- [Calle] varchar(200) COLLATE Modern_Spanish_CS_AI NULL,
- [Catastro] varchar(100) COLLATE Modern_Spanish_CS_AI NULL,
+ [Tipo] varchar(100) COLLATE Modern_Spanish_CS_AS NULL,
+ [Calle] varchar(200) COLLATE Modern_Spanish_CS_AS NULL,
+ [Catastro] varchar(100) COLLATE Modern_Spanish_CS_AS NULL,
[MetrosCuadrados] decimal(18,4) NULL,
- [Numero] varchar(50) COLLATE Modern_Spanish_CS_AI NULL,
- [Duplicador] varchar(50) COLLATE Modern_Spanish_CS_AI NULL,
+ [Numero] varchar(50) COLLATE Modern_Spanish_CS_AS NULL,
+ [Duplicador] varchar(50) COLLATE Modern_Spanish_CS_AS NULL,
[EsActivo] bit CONSTRAINT [DF_FraccionamientosLotes_EsActivo] DEFAULT ((1)) NOT NULL,
[FechaAlta] datetime CONSTRAINT [DF_FraccionamientosLotes_FechaAlta] DEFAULT (GETDATE()) NOT NULL,
[FechaModificacion] datetime NULL,
@@ -13795,7 +13795,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.FraccionamientosLotes', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.FraccionamientosLotes', N'Tipo') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[FraccionamientosLotes] ADD [Tipo] varchar(100) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[FraccionamientosLotes] ADD [Tipo] varchar(100) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -13805,7 +13805,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.FraccionamientosLotes', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.FraccionamientosLotes', N'Calle') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[FraccionamientosLotes] ADD [Calle] varchar(200) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[FraccionamientosLotes] ADD [Calle] varchar(200) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -13815,7 +13815,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.FraccionamientosLotes', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.FraccionamientosLotes', N'Catastro') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[FraccionamientosLotes] ADD [Catastro] varchar(100) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[FraccionamientosLotes] ADD [Catastro] varchar(100) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -13835,7 +13835,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.FraccionamientosLotes', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.FraccionamientosLotes', N'Numero') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[FraccionamientosLotes] ADD [Numero] varchar(50) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[FraccionamientosLotes] ADD [Numero] varchar(50) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -13845,7 +13845,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.FraccionamientosLotes', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.FraccionamientosLotes', N'Duplicador') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[FraccionamientosLotes] ADD [Duplicador] varchar(50) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[FraccionamientosLotes] ADD [Duplicador] varchar(50) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -13917,9 +13917,9 @@ IF OBJECT_ID(N'dbo.Tra_TiposTramite', N'U') IS NULL
BEGIN TRY
EXEC sys.sp_executesql N'CREATE TABLE [dbo].[Tra_TiposTramite] (
[CveTipoTramite] int IDENTITY(1,1) NOT NULL,
- [Codigo] varchar(50) COLLATE Modern_Spanish_CS_AI NOT NULL,
- [TipoTramite] varchar(200) COLLATE Modern_Spanish_CS_AI NOT NULL,
- [Descripcion] varchar(500) COLLATE Modern_Spanish_CS_AI NULL,
+ [Codigo] varchar(50) COLLATE Modern_Spanish_CI_AS NOT NULL,
+ [TipoTramite] varchar(200) COLLATE Modern_Spanish_CS_AS NOT NULL,
+ [Descripcion] varchar(500) COLLATE Modern_Spanish_CS_AS NULL,
[Orden] int CONSTRAINT [DF_Tra_TiposTramite_Orden] DEFAULT ((0)) NOT NULL,
[EsActivo] bit CONSTRAINT [DF_Tra_TiposTramite_EsActivo] DEFAULT ((1)) NOT NULL,
[FechaAlta] datetime CONSTRAINT [DF_Tra_TiposTramite_FechaAlta] DEFAULT (GETDATE()) NOT NULL,
@@ -13947,7 +13947,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Tra_TiposTramite', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Tra_TiposTramite', N'Codigo') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Tra_TiposTramite] ADD [Codigo] varchar(50) COLLATE Modern_Spanish_CS_AI NOT NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Tra_TiposTramite] ADD [Codigo] varchar(50) COLLATE Modern_Spanish_CI_AS NOT NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -13957,7 +13957,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Tra_TiposTramite', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Tra_TiposTramite', N'TipoTramite') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Tra_TiposTramite] ADD [TipoTramite] varchar(200) COLLATE Modern_Spanish_CS_AI NOT NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Tra_TiposTramite] ADD [TipoTramite] varchar(200) COLLATE Modern_Spanish_CS_AS NOT NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -13967,7 +13967,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Tra_TiposTramite', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Tra_TiposTramite', N'Descripcion') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Tra_TiposTramite] ADD [Descripcion] varchar(500) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Tra_TiposTramite] ADD [Descripcion] varchar(500) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -14049,8 +14049,8 @@ IF OBJECT_ID(N'dbo.Tra_EstatusSolicitud', N'U') IS NULL
BEGIN TRY
EXEC sys.sp_executesql N'CREATE TABLE [dbo].[Tra_EstatusSolicitud] (
[CveEstatusSolicitud] int IDENTITY(1,1) NOT NULL,
- [Codigo] varchar(50) COLLATE Modern_Spanish_CS_AI NOT NULL,
- [EstatusSolicitud] varchar(100) COLLATE Modern_Spanish_CS_AI NOT NULL,
+ [Codigo] varchar(50) COLLATE Modern_Spanish_CI_AS NOT NULL,
+ [EstatusSolicitud] varchar(100) COLLATE Modern_Spanish_CS_AS NOT NULL,
[Orden] int CONSTRAINT [DF_Tra_EstatusSolicitud_Orden] DEFAULT ((0)) NOT NULL,
[EsFinal] bit CONSTRAINT [DF_Tra_EstatusSolicitud_EsFinal] DEFAULT ((0)) NOT NULL,
[EsActivo] bit CONSTRAINT [DF_Tra_EstatusSolicitud_EsActivo] DEFAULT ((1)) NOT NULL,
@@ -14076,7 +14076,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Tra_EstatusSolicitud', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Tra_EstatusSolicitud', N'Codigo') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Tra_EstatusSolicitud] ADD [Codigo] varchar(50) COLLATE Modern_Spanish_CS_AI NOT NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Tra_EstatusSolicitud] ADD [Codigo] varchar(50) COLLATE Modern_Spanish_CI_AS NOT NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -14086,7 +14086,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Tra_EstatusSolicitud', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Tra_EstatusSolicitud', N'EstatusSolicitud') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Tra_EstatusSolicitud] ADD [EstatusSolicitud] varchar(100) COLLATE Modern_Spanish_CS_AI NOT NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Tra_EstatusSolicitud] ADD [EstatusSolicitud] varchar(100) COLLATE Modern_Spanish_CS_AS NOT NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -14148,9 +14148,9 @@ IF OBJECT_ID(N'dbo.Tra_TiposDocumento', N'U') IS NULL
BEGIN TRY
EXEC sys.sp_executesql N'CREATE TABLE [dbo].[Tra_TiposDocumento] (
[CveTipoDocumento] int IDENTITY(1,1) NOT NULL,
- [TipoDocumento] varchar(200) COLLATE Modern_Spanish_CS_AI NOT NULL,
- [Descripcion] varchar(500) COLLATE Modern_Spanish_CS_AI NULL,
- [ExtensionesPermitidas] varchar(200) COLLATE Modern_Spanish_CS_AI NULL,
+ [TipoDocumento] varchar(200) COLLATE Modern_Spanish_CS_AS NOT NULL,
+ [Descripcion] varchar(500) COLLATE Modern_Spanish_CS_AS NULL,
+ [ExtensionesPermitidas] varchar(200) COLLATE Modern_Spanish_CS_AS NULL,
[TamanoMaximoMb] int NULL,
[EsActivo] bit CONSTRAINT [DF_Tra_TiposDocumento_EsActivo] DEFAULT ((1)) NOT NULL,
[FechaAlta] datetime CONSTRAINT [DF_Tra_TiposDocumento_FechaAlta] DEFAULT (GETDATE()) NOT NULL,
@@ -14179,7 +14179,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Tra_TiposDocumento', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Tra_TiposDocumento', N'TipoDocumento') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Tra_TiposDocumento] ADD [TipoDocumento] varchar(200) COLLATE Modern_Spanish_CS_AI NOT NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Tra_TiposDocumento] ADD [TipoDocumento] varchar(200) COLLATE Modern_Spanish_CS_AS NOT NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -14189,7 +14189,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Tra_TiposDocumento', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Tra_TiposDocumento', N'Descripcion') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Tra_TiposDocumento] ADD [Descripcion] varchar(500) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Tra_TiposDocumento] ADD [Descripcion] varchar(500) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -14199,7 +14199,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Tra_TiposDocumento', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Tra_TiposDocumento', N'ExtensionesPermitidas') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Tra_TiposDocumento] ADD [ExtensionesPermitidas] varchar(200) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Tra_TiposDocumento] ADD [ExtensionesPermitidas] varchar(200) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -14291,8 +14291,8 @@ IF OBJECT_ID(N'dbo.Tra_TiposPregunta', N'U') IS NULL
BEGIN TRY
EXEC sys.sp_executesql N'CREATE TABLE [dbo].[Tra_TiposPregunta] (
[CveTipoPregunta] int IDENTITY(1,1) NOT NULL,
- [Codigo] varchar(50) COLLATE Modern_Spanish_CS_AI NOT NULL,
- [TipoPregunta] varchar(100) COLLATE Modern_Spanish_CS_AI NOT NULL,
+ [Codigo] varchar(50) COLLATE Modern_Spanish_CI_AS NOT NULL,
+ [TipoPregunta] varchar(100) COLLATE Modern_Spanish_CS_AS NOT NULL,
[EsActivo] bit CONSTRAINT [DF_Tra_TiposPregunta_EsActivo] DEFAULT ((1)) NOT NULL,
CONSTRAINT [PK_Tra_TiposPregunta] PRIMARY KEY CLUSTERED ([CveTipoPregunta]),
CONSTRAINT [UQ_Tra_TiposPregunta_Codigo] UNIQUE NONCLUSTERED ([Codigo])
@@ -14316,7 +14316,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Tra_TiposPregunta', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Tra_TiposPregunta', N'Codigo') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Tra_TiposPregunta] ADD [Codigo] varchar(50) COLLATE Modern_Spanish_CS_AI NOT NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Tra_TiposPregunta] ADD [Codigo] varchar(50) COLLATE Modern_Spanish_CI_AS NOT NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -14326,7 +14326,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Tra_TiposPregunta', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Tra_TiposPregunta', N'TipoPregunta') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Tra_TiposPregunta] ADD [TipoPregunta] varchar(100) COLLATE Modern_Spanish_CS_AI NOT NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Tra_TiposPregunta] ADD [TipoPregunta] varchar(100) COLLATE Modern_Spanish_CS_AS NOT NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -14369,8 +14369,8 @@ BEGIN TRY
EXEC sys.sp_executesql N'CREATE TABLE [dbo].[Tra_Preguntas] (
[CvePregunta] int IDENTITY(1,1) NOT NULL,
[CveTipoPregunta] int NOT NULL,
- [Pregunta] varchar(500) COLLATE Modern_Spanish_CS_AI NOT NULL,
- [Descripcion] varchar(1000) COLLATE Modern_Spanish_CS_AI NULL,
+ [Pregunta] varchar(500) COLLATE Modern_Spanish_CS_AS NOT NULL,
+ [Descripcion] varchar(1000) COLLATE Modern_Spanish_CS_AS NULL,
[EsRequerida] bit CONSTRAINT [DF_Tra_Preguntas_EsRequerida] DEFAULT ((0)) NOT NULL,
[Orden] int CONSTRAINT [DF_Tra_Preguntas_Orden] DEFAULT ((0)) NOT NULL,
[EsActivo] bit CONSTRAINT [DF_Tra_Preguntas_EsActivo] DEFAULT ((1)) NOT NULL,
@@ -14408,7 +14408,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Tra_Preguntas', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Tra_Preguntas', N'Pregunta') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Tra_Preguntas] ADD [Pregunta] varchar(500) COLLATE Modern_Spanish_CS_AI NOT NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Tra_Preguntas] ADD [Pregunta] varchar(500) COLLATE Modern_Spanish_CS_AS NOT NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -14418,7 +14418,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Tra_Preguntas', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Tra_Preguntas', N'Descripcion') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Tra_Preguntas] ADD [Descripcion] varchar(1000) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Tra_Preguntas] ADD [Descripcion] varchar(1000) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -14501,8 +14501,8 @@ BEGIN TRY
EXEC sys.sp_executesql N'CREATE TABLE [dbo].[Tra_OpcionesPregunta] (
[CveOpcionPregunta] int IDENTITY(1,1) NOT NULL,
[CvePregunta] int NOT NULL,
- [TextoOpcion] varchar(300) COLLATE Modern_Spanish_CS_AI NOT NULL,
- [ValorOpcion] varchar(300) COLLATE Modern_Spanish_CS_AI NULL,
+ [TextoOpcion] varchar(300) COLLATE Modern_Spanish_CS_AS NOT NULL,
+ [ValorOpcion] varchar(300) COLLATE Modern_Spanish_CS_AS NULL,
[Orden] int CONSTRAINT [DF_Tra_OpcionesPregunta_Orden] DEFAULT ((0)) NOT NULL,
[EsActivo] bit CONSTRAINT [DF_Tra_OpcionesPregunta_EsActivo] DEFAULT ((1)) NOT NULL,
CONSTRAINT [PK_Tra_OpcionesPregunta] PRIMARY KEY CLUSTERED ([CveOpcionPregunta]),
@@ -14537,7 +14537,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Tra_OpcionesPregunta', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Tra_OpcionesPregunta', N'TextoOpcion') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Tra_OpcionesPregunta] ADD [TextoOpcion] varchar(300) COLLATE Modern_Spanish_CS_AI NOT NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Tra_OpcionesPregunta] ADD [TextoOpcion] varchar(300) COLLATE Modern_Spanish_CS_AS NOT NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -14547,7 +14547,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Tra_OpcionesPregunta', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Tra_OpcionesPregunta', N'ValorOpcion') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Tra_OpcionesPregunta] ADD [ValorOpcion] varchar(300) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Tra_OpcionesPregunta] ADD [ValorOpcion] varchar(300) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -14599,7 +14599,7 @@ IF OBJECT_ID(N'dbo.Tra_Solicitudes', N'U') IS NULL
BEGIN TRY
EXEC sys.sp_executesql N'CREATE TABLE [dbo].[Tra_Solicitudes] (
[CveSolicitud] int IDENTITY(1,1) NOT NULL,
- [Folio] varchar(50) COLLATE Modern_Spanish_CS_AI NOT NULL,
+ [Folio] varchar(50) COLLATE Modern_Spanish_CS_AS NOT NULL,
[CveCliente] int NOT NULL,
[CveFraccionamiento] int NOT NULL,
[CveFraccionamientoEtapa] int NOT NULL,
@@ -14610,8 +14610,8 @@ BEGIN TRY
[FechaEnvio] datetime NULL,
[FechaAutorizacion] datetime NULL,
[FechaRechazo] datetime NULL,
- [ComentariosCliente] varchar(max) COLLATE Modern_Spanish_CS_AI NULL,
- [ComentariosAdministrativos] varchar(max) COLLATE Modern_Spanish_CS_AI NULL,
+ [ComentariosCliente] varchar(max) COLLATE Modern_Spanish_CS_AS NULL,
+ [ComentariosAdministrativos] varchar(max) COLLATE Modern_Spanish_CS_AS NULL,
[FechaAlta] datetime CONSTRAINT [DF_Tra_Solicitudes_FechaAlta] DEFAULT (GETDATE()) NOT NULL,
[FechaModificacion] datetime NULL,
CONSTRAINT [PK_Tra_Solicitudes] PRIMARY KEY CLUSTERED ([CveSolicitud]),
@@ -14637,7 +14637,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Tra_Solicitudes', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Tra_Solicitudes', N'Folio') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Tra_Solicitudes] ADD [Folio] varchar(50) COLLATE Modern_Spanish_CS_AI NOT NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Tra_Solicitudes] ADD [Folio] varchar(50) COLLATE Modern_Spanish_CS_AS NOT NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -14747,7 +14747,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Tra_Solicitudes', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Tra_Solicitudes', N'ComentariosCliente') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Tra_Solicitudes] ADD [ComentariosCliente] varchar(max) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Tra_Solicitudes] ADD [ComentariosCliente] varchar(max) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -14757,7 +14757,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Tra_Solicitudes', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Tra_Solicitudes', N'ComentariosAdministrativos') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Tra_Solicitudes] ADD [ComentariosAdministrativos] varchar(max) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Tra_Solicitudes] ADD [ComentariosAdministrativos] varchar(max) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -14822,7 +14822,7 @@ BEGIN TRY
[CveSolicitud] int NOT NULL,
[CveSolicitudRequerida] int NOT NULL,
[EsObligatoria] bit CONSTRAINT [DF_Tra_SolicitudesDependencias_EsObligatoria] DEFAULT ((1)) NOT NULL,
- [Condicion] varchar(500) COLLATE Modern_Spanish_CS_AI NULL,
+ [Condicion] varchar(500) COLLATE Modern_Spanish_CS_AS NULL,
[FechaAlta] datetime CONSTRAINT [DF_Tra_SolicitudesDependencias_FechaAlta] DEFAULT (GETDATE()) NOT NULL,
[CveUsuario] int NOT NULL,
CONSTRAINT [PK_Tra_SolicitudesDependencias] PRIMARY KEY CLUSTERED ([CveSolicitudDependencia]),
@@ -14878,7 +14878,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Tra_SolicitudesDependencias', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Tra_SolicitudesDependencias', N'Condicion') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Tra_SolicitudesDependencias] ADD [Condicion] varchar(500) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Tra_SolicitudesDependencias] ADD [Condicion] varchar(500) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -14943,7 +14943,7 @@ BEGIN TRY
[CveSolicitud] int NOT NULL,
[CveEstatusSolicitud] int NOT NULL,
[CveUsuario] int NULL,
- [Comentarios] varchar(1000) COLLATE Modern_Spanish_CS_AI NULL,
+ [Comentarios] varchar(1000) COLLATE Modern_Spanish_CS_AS NULL,
[FechaAlta] datetime CONSTRAINT [DF_Tra_HistorialEstatusSolicitud_FechaAlta] DEFAULT (GETDATE()) NOT NULL,
CONSTRAINT [PK_Tra_HistorialEstatusSolicitud] PRIMARY KEY CLUSTERED ([CveHistorialEstatusSolicitud])
);';
@@ -14996,7 +14996,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Tra_HistorialEstatusSolicitud', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Tra_HistorialEstatusSolicitud', N'Comentarios') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Tra_HistorialEstatusSolicitud] ADD [Comentarios] varchar(1000) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Tra_HistorialEstatusSolicitud] ADD [Comentarios] varchar(1000) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -15129,13 +15129,13 @@ BEGIN TRY
[CveDocumentoSolicitud] int IDENTITY(1,1) NOT NULL,
[CveSolicitud] int NOT NULL,
[CveTipoDocumento] int NOT NULL,
- [NombreArchivo] varchar(255) COLLATE Modern_Spanish_CS_AI NOT NULL,
- [NombreArchivoFisico] varchar(255) COLLATE Modern_Spanish_CS_AI NOT NULL,
- [RutaArchivo] varchar(1000) COLLATE Modern_Spanish_CS_AI NOT NULL,
- [ContentType] varchar(100) COLLATE Modern_Spanish_CS_AI NULL,
+ [NombreArchivo] varchar(255) COLLATE Modern_Spanish_CS_AS NOT NULL,
+ [NombreArchivoFisico] varchar(255) COLLATE Modern_Spanish_CS_AS NOT NULL,
+ [RutaArchivo] varchar(1000) COLLATE Modern_Spanish_CS_AS NOT NULL,
+ [ContentType] varchar(100) COLLATE Modern_Spanish_CS_AS NULL,
[TamanoBytes] bigint NULL,
- [ComentarioCliente] varchar(1000) COLLATE Modern_Spanish_CS_AI NULL,
- [ComentarioAdministrativo] varchar(1000) COLLATE Modern_Spanish_CS_AI NULL,
+ [ComentarioCliente] varchar(1000) COLLATE Modern_Spanish_CS_AS NULL,
+ [ComentarioAdministrativo] varchar(1000) COLLATE Modern_Spanish_CS_AS NULL,
[EsAprobado] bit NULL,
[CveUsuarioCarga] int NULL,
[CveUsuarioRevisa] int NULL,
@@ -15183,7 +15183,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Tra_DocumentosSolicitud', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Tra_DocumentosSolicitud', N'NombreArchivo') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Tra_DocumentosSolicitud] ADD [NombreArchivo] varchar(255) COLLATE Modern_Spanish_CS_AI NOT NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Tra_DocumentosSolicitud] ADD [NombreArchivo] varchar(255) COLLATE Modern_Spanish_CS_AS NOT NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -15193,7 +15193,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Tra_DocumentosSolicitud', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Tra_DocumentosSolicitud', N'NombreArchivoFisico') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Tra_DocumentosSolicitud] ADD [NombreArchivoFisico] varchar(255) COLLATE Modern_Spanish_CS_AI NOT NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Tra_DocumentosSolicitud] ADD [NombreArchivoFisico] varchar(255) COLLATE Modern_Spanish_CS_AS NOT NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -15203,7 +15203,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Tra_DocumentosSolicitud', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Tra_DocumentosSolicitud', N'RutaArchivo') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Tra_DocumentosSolicitud] ADD [RutaArchivo] varchar(1000) COLLATE Modern_Spanish_CS_AI NOT NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Tra_DocumentosSolicitud] ADD [RutaArchivo] varchar(1000) COLLATE Modern_Spanish_CS_AS NOT NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -15213,7 +15213,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Tra_DocumentosSolicitud', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Tra_DocumentosSolicitud', N'ContentType') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Tra_DocumentosSolicitud] ADD [ContentType] varchar(100) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Tra_DocumentosSolicitud] ADD [ContentType] varchar(100) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -15233,7 +15233,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Tra_DocumentosSolicitud', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Tra_DocumentosSolicitud', N'ComentarioCliente') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Tra_DocumentosSolicitud] ADD [ComentarioCliente] varchar(1000) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Tra_DocumentosSolicitud] ADD [ComentarioCliente] varchar(1000) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -15243,7 +15243,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Tra_DocumentosSolicitud', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Tra_DocumentosSolicitud', N'ComentarioAdministrativo') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Tra_DocumentosSolicitud] ADD [ComentarioAdministrativo] varchar(1000) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Tra_DocumentosSolicitud] ADD [ComentarioAdministrativo] varchar(1000) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -15427,7 +15427,7 @@ BEGIN TRY
[CveSolicitud] int NOT NULL,
[CvePregunta] int NOT NULL,
[CveOpcionPregunta] int NULL,
- [Valor] varchar(max) COLLATE Modern_Spanish_CS_AI NULL,
+ [Valor] varchar(max) COLLATE Modern_Spanish_CS_AS NULL,
[FechaAlta] datetime CONSTRAINT [DF_Tra_RespuestasSolicitud_FechaAlta] DEFAULT (GETDATE()) NOT NULL,
[FechaModificacion] datetime NULL,
[CveUsuario] int NULL,
@@ -15483,7 +15483,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Tra_RespuestasSolicitud', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Tra_RespuestasSolicitud', N'Valor') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Tra_RespuestasSolicitud] ADD [Valor] varchar(max) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Tra_RespuestasSolicitud] ADD [Valor] varchar(max) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -15548,7 +15548,7 @@ BEGIN TRY
[CveTipoTramite] int NOT NULL,
[CvePS] int NOT NULL,
[CveMoneda] int NOT NULL,
- [Descripcion] varchar(300) COLLATE Modern_Spanish_CS_AI NOT NULL,
+ [Descripcion] varchar(300) COLLATE Modern_Spanish_CS_AS NOT NULL,
[Importe] decimal(18,2) CONSTRAINT [DF_Tra_CostosTramite_Importe] DEFAULT ((0)) NOT NULL,
[FechaInicioVigencia] date NULL,
[FechaFinVigencia] date NULL,
@@ -15610,7 +15610,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Tra_CostosTramite', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Tra_CostosTramite', N'Descripcion') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Tra_CostosTramite] ADD [Descripcion] varchar(300) COLLATE Modern_Spanish_CS_AI NOT NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Tra_CostosTramite] ADD [Descripcion] varchar(300) COLLATE Modern_Spanish_CS_AS NOT NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -15734,8 +15734,8 @@ BEGIN TRY
[CveNotaSolicitud] int IDENTITY(1,1) NOT NULL,
[CveSolicitud] int NOT NULL,
[CveUsuario] int NULL,
- [TipoNota] varchar(50) COLLATE Modern_Spanish_CS_AI CONSTRAINT [DF_Tra_NotasSolicitud_TipoNota] DEFAULT (''General'') NOT NULL,
- [Comentario] varchar(max) COLLATE Modern_Spanish_CS_AI NOT NULL,
+ [TipoNota] varchar(50) COLLATE Modern_Spanish_CS_AS CONSTRAINT [DF_Tra_NotasSolicitud_TipoNota] DEFAULT (''General'') NOT NULL,
+ [Comentario] varchar(max) COLLATE Modern_Spanish_CS_AS NOT NULL,
[EsVisibleParaCliente] bit CONSTRAINT [DF_Tra_NotasSolicitud_Visible] DEFAULT ((1)) NOT NULL,
[FechaAlta] datetime CONSTRAINT [DF_Tra_NotasSolicitud_FechaAlta] DEFAULT (GETDATE()) NOT NULL,
CONSTRAINT [PK_Tra_NotasSolicitud] PRIMARY KEY CLUSTERED ([CveNotaSolicitud])
@@ -15779,7 +15779,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Tra_NotasSolicitud', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Tra_NotasSolicitud', N'TipoNota') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Tra_NotasSolicitud] ADD [TipoNota] varchar(50) COLLATE Modern_Spanish_CS_AI CONSTRAINT [DF_Tra_NotasSolicitud_TipoNota] DEFAULT (''General'') NOT NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Tra_NotasSolicitud] ADD [TipoNota] varchar(50) COLLATE Modern_Spanish_CS_AS CONSTRAINT [DF_Tra_NotasSolicitud_TipoNota] DEFAULT (''General'') NOT NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -15789,7 +15789,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Tra_NotasSolicitud', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Tra_NotasSolicitud', N'Comentario') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Tra_NotasSolicitud] ADD [Comentario] varchar(max) COLLATE Modern_Spanish_CS_AI NOT NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Tra_NotasSolicitud] ADD [Comentario] varchar(max) COLLATE Modern_Spanish_CS_AS NOT NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -16026,7 +16026,7 @@ BEGIN TRY
[CvePrePoliza] int NULL,
[FechaPago] datetime NOT NULL,
[Importe] decimal(18,2) NOT NULL,
- [Referencia] varchar(200) COLLATE Modern_Spanish_CS_AI NULL,
+ [Referencia] varchar(200) COLLATE Modern_Spanish_CS_AS NULL,
[EsSaldoFavor] bit CONSTRAINT [DF_Vta_Pagos_EsSaldoFavor] DEFAULT ((0)) NOT NULL,
[EsActivo] bit CONSTRAINT [DF_Vta_Pagos_EsActivo] DEFAULT ((1)) NOT NULL,
[FechaAlta] datetime CONSTRAINT [DF_Vta_Pagos_FechaAlta] DEFAULT (GETDATE()) NOT NULL,
@@ -16134,7 +16134,7 @@ END CATCH;
GO
IF OBJECT_ID(N'dbo.Vta_Pagos', N'U') IS NOT NULL AND COL_LENGTH(N'dbo.Vta_Pagos', N'Referencia') IS NULL
BEGIN TRY
- EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Vta_Pagos] ADD [Referencia] varchar(200) COLLATE Modern_Spanish_CS_AI NULL;';
+ EXEC sys.sp_executesql N'ALTER TABLE [dbo].[Vta_Pagos] ADD [Referencia] varchar(200) COLLATE Modern_Spanish_CS_AS NULL;';
END TRY
BEGIN CATCH
INSERT INTO [#ErroresDespliegue] ([Paso], [Objeto], [NumeroError], [Mensaje])
@@ -18830,7 +18830,6 @@ CREATE OR ALTER PROCEDURE [dbo].[Sis_ConfigurarLimpieza]
AS
BEGIN
SET NOCOUNT ON;
- SET XACT_ABORT ON;
IF @DiasRetencion NOT BETWEEN 30 AND 3650
THROW 51000, N'Los días de retención deben estar entre 30 y 3650.', 1;
@@ -18891,7 +18890,6 @@ CREATE OR ALTER PROCEDURE [dbo].[Sis_LimpiarRegistrosBorrados]
AS
BEGIN
SET NOCOUNT ON;
- SET XACT_ABORT ON;
IF @MaximoLotesPorTabla NOT BETWEEN 1 AND 10000
THROW 51010, N'El máximo de lotes debe estar entre 1 y 10000.', 1;
@@ -19089,7 +19087,6 @@ CREATE OR ALTER PROCEDURE [dbo].[PA_Sis_UsuarioLoginSuccessUpdate]
AS
BEGIN
SET NOCOUNT ON;
- SET XACT_ABORT ON;
SELECT @ErrorMostrar = NULL, @ErrorTipo = 0, @Return = 0;
BEGIN TRY
@@ -19130,7 +19127,6 @@ CREATE OR ALTER PROCEDURE [dbo].[PA_Sis_UsuarioLoginFailedUpdate]
AS
BEGIN
SET NOCOUNT ON;
- SET XACT_ABORT ON;
SELECT @ErrorMostrar = NULL, @ErrorTipo = 0, @Return = 0;
BEGIN TRY
@@ -19179,7 +19175,6 @@ CREATE OR ALTER PROCEDURE [dbo].[PA_Sis_IntentoInicioSesionAdd]
AS
BEGIN
SET NOCOUNT ON;
- SET XACT_ABORT ON;
SELECT @ErrorMostrar = NULL, @ErrorTipo = 0, @Return = 0;
BEGIN TRY
@@ -19215,7 +19210,6 @@ CREATE OR ALTER PROCEDURE [dbo].[PA_Sis_UsuarioSesionAdd]
AS
BEGIN
SET NOCOUNT ON;
- SET XACT_ABORT ON;
SELECT @ErrorMostrar = NULL, @ErrorTipo = 0, @Return = 0;
BEGIN TRY
@@ -19258,7 +19252,6 @@ CREATE OR ALTER PROCEDURE [dbo].[PA_Sis_UsuarioSesionEnd]
AS
BEGIN
SET NOCOUNT ON;
- SET XACT_ABORT ON;
SELECT @ErrorMostrar = NULL, @ErrorTipo = 0, @Return = 0;
BEGIN TRY
@@ -19369,7 +19362,6 @@ BEGIN
WHERE RM.[CveRol] = @CveRol
AND RM.[PuedeVer] = (1)
AND M.[Activo] = (1)
- AND M.[Visible] = (1)
AND RM.[Borrado] = (0)
AND M.[Borrado] = (0)
AND
@@ -19529,7 +19521,7 @@ BEGIN
[CveUsuarioVerificacionCorreo] int IDENTITY(1,1) NOT NULL,
[CveUsuario] int NOT NULL,
[CveClienteRegistro] int NULL,
- [HashToken] char(64) COLLATE Modern_Spanish_CS_AI NOT NULL,
+ [HashToken] char(64) COLLATE Modern_Spanish_CS_AS NOT NULL,
[FechaExpiracion] datetime2(0) NOT NULL,
[FechaVerificacion] datetime2(0) NULL,
[Utilizado] bit NOT NULL CONSTRAINT [DF_Sis_UsuariosVerificacionesCorreo_Utilizado] DEFAULT ((0)),
@@ -19679,7 +19671,6 @@ CREATE OR ALTER PROCEDURE [dbo].[PA_Sis_RegistroClienteAdd]
AS
BEGIN
SET NOCOUNT ON;
- SET XACT_ABORT ON;
SELECT @ErrorMostrar = NULL, @ErrorTipo = 0, @Return = 0;
BEGIN TRY
DECLARE @CveRolEmpresa int;
@@ -19715,7 +19706,6 @@ BEGIN
RETURN;
END;
- BEGIN TRANSACTION;
INSERT INTO [dbo].[Sis_Usuarios]
([NombreUsuario], [HashContrasena], [CorreoElectronico], [CveRol], [Activo],
@@ -19748,13 +19738,11 @@ BEGIN
VALUES
(@CveUsuario, @CveCliente, @HashToken, DATEADD(HOUR, @HorasExpiracion, SYSDATETIME()));
- COMMIT TRANSACTION;
SELECT @CveUsuario AS [CveUsuario], @CveCliente AS [CveCliente];
SET @Return = 1;
END TRY
BEGIN CATCH
- IF XACT_STATE() <> 0 ROLLBACK TRANSACTION;
SET @ErrorMostrar = 'Ocurrió un error al crear el registro; favor de contactar a Sistemas.';
SET @ErrorTipo = 1;
SET @Return = 0;
@@ -19773,7 +19761,6 @@ CREATE OR ALTER PROCEDURE [dbo].[PA_Sis_CorreoVerify]
AS
BEGIN
SET NOCOUNT ON;
- SET XACT_ABORT ON;
SELECT @ErrorMostrar = NULL, @ErrorTipo = 0, @Return = 0;
BEGIN TRY
DECLARE @CveVerificacion int;
@@ -19797,7 +19784,6 @@ BEGIN
RETURN;
END;
- BEGIN TRANSACTION;
UPDATE [dbo].[Sis_UsuariosVerificacionesCorreo]
SET [Utilizado] = (1), [FechaVerificacion] = SYSDATETIME()
@@ -19805,7 +19791,6 @@ BEGIN
IF @@ROWCOUNT = (0)
BEGIN
- ROLLBACK TRANSACTION;
SET @ErrorMostrar = 'La liga de verificación ya fue utilizada.';
SET @ErrorTipo = 2;
RETURN;
@@ -19821,11 +19806,9 @@ BEGIN
SET [Estatus] = (1), [CveUsuarioModifico] = @CveUsuario
WHERE [CveCliente] = @CveCliente AND [CveUsuario] = @CveUsuario AND [Borrado] = (0);
- COMMIT TRANSACTION;
SET @Return = 1;
END TRY
BEGIN CATCH
- IF XACT_STATE() <> 0 ROLLBACK TRANSACTION;
SET @ErrorMostrar = 'Ocurrió un error al verificar el correo; favor de contactar a Sistemas.';
SET @ErrorTipo = 1;
SET @Return = 0;
@@ -19923,7 +19906,6 @@ CREATE OR ALTER PROCEDURE [dbo].[PA_Sis_UsuarioSave]
AS
BEGIN
SET NOCOUNT ON;
- SET XACT_ABORT ON;
SELECT @ErrorMostrar = NULL, @ErrorTipo = 0, @Return = 0;
BEGIN TRY
IF NOT EXISTS
@@ -19996,7 +19978,6 @@ CREATE OR ALTER PROCEDURE [dbo].[PA_Sis_UsuarioDelete]
AS
BEGIN
SET NOCOUNT ON;
- SET XACT_ABORT ON;
SELECT @ErrorMostrar = NULL, @ErrorTipo = 0, @Return = 0;
BEGIN TRY
IF @CveUsuario = @CveUsuarioEjecuta
@@ -20072,7 +20053,6 @@ CREATE OR ALTER PROCEDURE [dbo].[PA_Sis_UsuarioClienteSave]
AS
BEGIN
SET NOCOUNT ON;
- SET XACT_ABORT ON;
SELECT @ErrorMostrar = NULL, @ErrorTipo = 0, @Return = 0;
BEGIN TRY
IF NOT EXISTS
@@ -20143,7 +20123,6 @@ CREATE OR ALTER PROCEDURE [dbo].[PA_Clientes_EstatusUpdate]
AS
BEGIN
SET NOCOUNT ON;
- SET XACT_ABORT ON;
SELECT @ErrorMostrar = NULL, @ErrorTipo = 0, @Return = 0;
BEGIN TRY
UPDATE C
diff --git a/Esquema_BD_AguaHillo_v2.sql b/Esquema_BD_AguaHillo_v2.sql
index 90c18eb..7d5ef69 100644
--- a/Esquema_BD_AguaHillo_v2.sql
+++ b/Esquema_BD_AguaHillo_v2.sql
@@ -23,8 +23,8 @@ GO
CREATE TABLE [dbo].[Sis_Roles] (
[CveRol] int IDENTITY(1,1) NOT NULL,
- [NombreRol] varchar(100) COLLATE Modern_Spanish_CS_AI NOT NULL,
- [Descripcion] varchar(255) COLLATE Modern_Spanish_CS_AI NULL,
+ [NombreRol] varchar(100) COLLATE Modern_Spanish_CS_AS NOT NULL,
+ [Descripcion] varchar(255) COLLATE Modern_Spanish_CS_AS NULL,
[Activo] bit CONSTRAINT [DF_Sis_Roles_Activo] DEFAULT ((1)) NOT NULL,
[FechaCreacion] datetime CONSTRAINT [DF_Sis_Roles_FechaCreacion] DEFAULT (GETDATE()) NOT NULL,
[FechaActualizacion] datetime NULL,
@@ -38,8 +38,8 @@ GO
CREATE TABLE [dbo].[Sis_Plataformas] (
[CvePlataforma] int IDENTITY(1,1) NOT NULL,
- [NombrePlataforma] varchar(100) COLLATE Modern_Spanish_CS_AI NOT NULL,
- [Descripcion] varchar(255) COLLATE Modern_Spanish_CS_AI NULL,
+ [NombrePlataforma] varchar(100) COLLATE Modern_Spanish_CS_AS NOT NULL,
+ [Descripcion] varchar(255) COLLATE Modern_Spanish_CS_AS NULL,
[Activo] bit CONSTRAINT [DF_Sis_Plataformas_Activo] DEFAULT ((1)) NOT NULL,
[FechaCreacion] datetime CONSTRAINT [DF_Sis_Plataformas_FechaCreacion] DEFAULT (GETDATE()) NOT NULL,
[FechaActualizacion] datetime NULL,
@@ -53,9 +53,9 @@ GO
CREATE TABLE [dbo].[Sis_Permisos] (
[CvePermiso] int IDENTITY(1,1) NOT NULL,
- [CodigoPermiso] varchar(100) COLLATE Modern_Spanish_CS_AI NOT NULL,
- [NombrePermiso] varchar(150) COLLATE Modern_Spanish_CS_AI NOT NULL,
- [Descripcion] varchar(255) COLLATE Modern_Spanish_CS_AI NULL,
+ [CodigoPermiso] varchar(100) COLLATE Modern_Spanish_CI_AS NOT NULL,
+ [NombrePermiso] varchar(150) COLLATE Modern_Spanish_CS_AS NOT NULL,
+ [Descripcion] varchar(255) COLLATE Modern_Spanish_CS_AS NULL,
[Activo] bit CONSTRAINT [DF_Sis_Permisos_Activo] DEFAULT ((1)) NOT NULL,
[FechaCreacion] datetime CONSTRAINT [DF_Sis_Permisos_FechaCreacion] DEFAULT (GETDATE()) NOT NULL,
[FechaActualizacion] datetime NULL,
@@ -69,9 +69,9 @@ GO
CREATE TABLE [dbo].[Sis_Usuarios] (
[CveUsuario] int IDENTITY(1,1) NOT NULL,
- [NombreUsuario] varchar(100) COLLATE Modern_Spanish_CS_AI NOT NULL,
- [HashContrasena] varchar(500) COLLATE Modern_Spanish_CS_AI NOT NULL,
- [CorreoElectronico] varchar(255) COLLATE Modern_Spanish_CS_AI NULL,
+ [NombreUsuario] varchar(100) COLLATE Modern_Spanish_CI_AS NOT NULL,
+ [HashContrasena] varchar(500) COLLATE Modern_Spanish_CS_AS NOT NULL,
+ [CorreoElectronico] varchar(255) COLLATE Modern_Spanish_CS_AS NULL,
[CveRol] int NOT NULL,
[Activo] bit CONSTRAINT [DF_Sis_Usuarios_Activo] DEFAULT ((1)) NOT NULL,
[FechaUltimaConexion] datetime NULL,
@@ -93,11 +93,11 @@ CREATE TABLE [dbo].[Sis_Modulos] (
[CveModulo] int IDENTITY(1,1) NOT NULL,
[CveModuloPadre] int NULL,
[CvePlataforma] int NOT NULL,
- [NombreModulo] varchar(150) COLLATE Modern_Spanish_CS_AI NOT NULL,
- [Descripcion] varchar(255) COLLATE Modern_Spanish_CS_AI NULL,
- [Url] varchar(500) COLLATE Modern_Spanish_CS_AI NULL,
- [ClaseCssIcono] varchar(150) COLLATE Modern_Spanish_CS_AI NULL,
- [ClaseCssEstilo] varchar(150) COLLATE Modern_Spanish_CS_AI NULL,
+ [NombreModulo] varchar(150) COLLATE Modern_Spanish_CS_AS NOT NULL,
+ [Descripcion] varchar(255) COLLATE Modern_Spanish_CS_AS NULL,
+ [Url] varchar(500) COLLATE Modern_Spanish_CS_AS NULL,
+ [ClaseCssIcono] varchar(150) COLLATE Modern_Spanish_CS_AS NULL,
+ [ClaseCssEstilo] varchar(150) COLLATE Modern_Spanish_CS_AS NULL,
[OrdenVisualizacion] int CONSTRAINT [DF_Sis_Modulos_OrdenVisualizacion] DEFAULT ((0)) NOT NULL,
[Visible] bit CONSTRAINT [DF_Sis_Modulos_Visible] DEFAULT ((1)) NOT NULL,
[Activo] bit CONSTRAINT [DF_Sis_Modulos_Activo] DEFAULT ((1)) NOT NULL,
@@ -159,10 +159,10 @@ GO
CREATE TABLE [dbo].[Sis_UsuariosSesiones] (
[CveUsuarioSesion] int IDENTITY(1,1) NOT NULL,
[CveUsuario] int NOT NULL,
- [TokenSesion] varchar(200) COLLATE Modern_Spanish_CS_AI NOT NULL,
- [DireccionIP] varchar(50) COLLATE Modern_Spanish_CS_AI NULL,
- [AgenteUsuario] varchar(1000) COLLATE Modern_Spanish_CS_AI NULL,
- [NombreDominio] varchar(255) COLLATE Modern_Spanish_CS_AI NULL,
+ [TokenSesion] varchar(200) COLLATE Modern_Spanish_CS_AS NOT NULL,
+ [DireccionIP] varchar(50) COLLATE Modern_Spanish_CS_AS NULL,
+ [AgenteUsuario] varchar(1000) COLLATE Modern_Spanish_CS_AS NULL,
+ [NombreDominio] varchar(255) COLLATE Modern_Spanish_CS_AS NULL,
[FechaInicio] datetime CONSTRAINT [DF_Sis_UsuariosSesiones_FechaInicio] DEFAULT (GETDATE()) NOT NULL,
[FechaUltimaActividad] datetime NULL,
[FechaFin] datetime NULL,
@@ -180,11 +180,11 @@ CREATE TABLE [dbo].[Sis_UsuariosAutorizaciones] (
[CvePermiso] int NOT NULL,
[CveUsuarioSolicitante] int NOT NULL,
[CveUsuarioAutorizador] int NULL,
- [EstadoAutorizacion] varchar(30) COLLATE Modern_Spanish_CS_AI
+ [EstadoAutorizacion] varchar(30) COLLATE Modern_Spanish_CS_AS
CONSTRAINT [DF_Sis_UsuariosAutorizaciones_Estado]
DEFAULT ('Pendiente') NOT NULL,
- [ComentarioSolicitud] varchar(500) COLLATE Modern_Spanish_CS_AI NULL,
- [ComentarioAutorizacion] varchar(500) COLLATE Modern_Spanish_CS_AI NULL,
+ [ComentarioSolicitud] varchar(500) COLLATE Modern_Spanish_CS_AS NULL,
+ [ComentarioAutorizacion] varchar(500) COLLATE Modern_Spanish_CS_AS NULL,
[FechaSolicitud] datetime
CONSTRAINT [DF_Sis_UsuariosAutorizaciones_FechaSolicitud]
DEFAULT (GETDATE()) NOT NULL,
@@ -209,14 +209,14 @@ GO
CREATE TABLE [dbo].[Sis_UsuariosSuscripcionesPush] (
[CveSuscripcionPush] int IDENTITY(1,1) NOT NULL,
[CveUsuario] int NOT NULL,
- [Endpoint] varchar(1000) COLLATE Modern_Spanish_CS_AI NOT NULL,
- [P256DH] varchar(500) COLLATE Modern_Spanish_CS_AI NOT NULL,
- [ClaveAutenticacion] varchar(500) COLLATE Modern_Spanish_CS_AI NOT NULL,
+ [Endpoint] varchar(1000) COLLATE Modern_Spanish_CS_AS NOT NULL,
+ [P256DH] varchar(500) COLLATE Modern_Spanish_CS_AS NOT NULL,
+ [ClaveAutenticacion] varchar(500) COLLATE Modern_Spanish_CS_AS NOT NULL,
[Activo] bit CONSTRAINT [DF_Sis_UsuariosSuscripcionesPush_Activo] DEFAULT ((1)) NOT NULL,
- [AgenteUsuario] varchar(1000) COLLATE Modern_Spanish_CS_AI NULL,
- [Plataforma] varchar(100) COLLATE Modern_Spanish_CS_AI NULL,
- [Navegador] varchar(100) COLLATE Modern_Spanish_CS_AI NULL,
- [NombreDominio] varchar(255) COLLATE Modern_Spanish_CS_AI NULL,
+ [AgenteUsuario] varchar(1000) COLLATE Modern_Spanish_CS_AS NULL,
+ [Plataforma] varchar(100) COLLATE Modern_Spanish_CS_AS NULL,
+ [Navegador] varchar(100) COLLATE Modern_Spanish_CS_AS NULL,
+ [NombreDominio] varchar(255) COLLATE Modern_Spanish_CS_AS NULL,
[FechaUltimaConexion] datetime NULL,
[FechaCreacion] datetime
CONSTRAINT [DF_Sis_UsuariosSuscripcionesPush_FechaCreacion]
@@ -231,13 +231,13 @@ GO
CREATE TABLE [dbo].[Sis_Notificaciones] (
[CveNotificacion] int IDENTITY(1,1) NOT NULL,
[CveUsuario] int NOT NULL,
- [TipoNotificacion] varchar(50) COLLATE Modern_Spanish_CS_AI NOT NULL,
- [EstadoNotificacion] varchar(30) COLLATE Modern_Spanish_CS_AI
+ [TipoNotificacion] varchar(50) COLLATE Modern_Spanish_CS_AS NOT NULL,
+ [EstadoNotificacion] varchar(30) COLLATE Modern_Spanish_CS_AS
CONSTRAINT [DF_Sis_Notificaciones_Estado]
DEFAULT ('Pendiente') NOT NULL,
- [Titulo] varchar(200) COLLATE Modern_Spanish_CS_AI NOT NULL,
- [Mensaje] varchar(max) COLLATE Modern_Spanish_CS_AI NOT NULL,
- [Url] varchar(500) COLLATE Modern_Spanish_CS_AI NULL,
+ [Titulo] varchar(200) COLLATE Modern_Spanish_CS_AS NOT NULL,
+ [Mensaje] varchar(max) COLLATE Modern_Spanish_CS_AS NOT NULL,
+ [Url] varchar(500) COLLATE Modern_Spanish_CS_AS NULL,
[Leida] bit CONSTRAINT [DF_Sis_Notificaciones_Leida] DEFAULT ((0)) NOT NULL,
[MostradaEnCampana] bit CONSTRAINT [DF_Sis_Notificaciones_MostradaEnCampana] DEFAULT ((0)) NOT NULL,
[FechaEnvio] datetime NULL,
@@ -278,12 +278,12 @@ GO
CREATE TABLE [dbo].[Sis_NotificacionesEnvios] (
[CveEnvioNotificacion] int IDENTITY(1,1) NOT NULL,
[CveNotificacion] int NOT NULL,
- [CanalEnvio] varchar(50) COLLATE Modern_Spanish_CS_AI NOT NULL,
- [EstadoEnvio] varchar(30) COLLATE Modern_Spanish_CS_AI
+ [CanalEnvio] varchar(50) COLLATE Modern_Spanish_CS_AS NOT NULL,
+ [EstadoEnvio] varchar(30) COLLATE Modern_Spanish_CS_AS
CONSTRAINT [DF_Sis_NotificacionesEnvios_Estado]
DEFAULT ('Pendiente') NOT NULL,
- [RespuestaProveedor] varchar(max) COLLATE Modern_Spanish_CS_AI NULL,
- [MensajeError] varchar(max) COLLATE Modern_Spanish_CS_AI NULL,
+ [RespuestaProveedor] varchar(max) COLLATE Modern_Spanish_CS_AS NULL,
+ [MensajeError] varchar(max) COLLATE Modern_Spanish_CS_AS NULL,
[FechaEnvio] datetime NULL,
[FechaCreacion] datetime
CONSTRAINT [DF_Sis_NotificacionesEnvios_FechaCreacion]
@@ -322,12 +322,12 @@ GO
CREATE TABLE [dbo].[Sis_IntentosInicioSesion] (
[CveIntentoInicioSesion] int IDENTITY(1,1) NOT NULL,
[CveUsuario] int NULL,
- [NombreUsuario] varchar(100) COLLATE Modern_Spanish_CS_AI NOT NULL,
+ [NombreUsuario] varchar(100) COLLATE Modern_Spanish_CI_AS NOT NULL,
[Exitoso] bit NOT NULL,
- [MotivoFallo] varchar(200) COLLATE Modern_Spanish_CS_AI NULL,
- [DireccionIP] varchar(50) COLLATE Modern_Spanish_CS_AI NULL,
- [AgenteUsuario] varchar(1000) COLLATE Modern_Spanish_CS_AI NULL,
- [NombreDominio] varchar(255) COLLATE Modern_Spanish_CS_AI NULL,
+ [MotivoFallo] varchar(200) COLLATE Modern_Spanish_CS_AS NULL,
+ [DireccionIP] varchar(50) COLLATE Modern_Spanish_CS_AS NULL,
+ [AgenteUsuario] varchar(1000) COLLATE Modern_Spanish_CS_AS NULL,
+ [NombreDominio] varchar(255) COLLATE Modern_Spanish_CS_AS NULL,
[FechaCreacion] datetime
CONSTRAINT [DF_Sis_IntentosInicioSesion_FechaCreacion]
DEFAULT (GETDATE()) NOT NULL,
@@ -340,13 +340,13 @@ GO
CREATE TABLE [dbo].[Sis_Auditorias] (
[CveAuditoria] int IDENTITY(1,1) NOT NULL,
[CveUsuario] int NULL,
- [TipoEvento] varchar(100) COLLATE Modern_Spanish_CS_AI NOT NULL,
- [NombreEntidad] varchar(150) COLLATE Modern_Spanish_CS_AI NULL,
- [LlaveEntidad] varchar(100) COLLATE Modern_Spanish_CS_AI NULL,
- [Descripcion] varchar(500) COLLATE Modern_Spanish_CS_AI NULL,
- [DireccionIP] varchar(50) COLLATE Modern_Spanish_CS_AI NULL,
- [AgenteUsuario] varchar(1000) COLLATE Modern_Spanish_CS_AI NULL,
- [NombreDominio] varchar(255) COLLATE Modern_Spanish_CS_AI NULL,
+ [TipoEvento] varchar(100) COLLATE Modern_Spanish_CS_AS NOT NULL,
+ [NombreEntidad] varchar(150) COLLATE Modern_Spanish_CS_AS NULL,
+ [LlaveEntidad] varchar(100) COLLATE Modern_Spanish_CS_AS NULL,
+ [Descripcion] varchar(500) COLLATE Modern_Spanish_CS_AS NULL,
+ [DireccionIP] varchar(50) COLLATE Modern_Spanish_CS_AS NULL,
+ [AgenteUsuario] varchar(1000) COLLATE Modern_Spanish_CS_AS NULL,
+ [NombreDominio] varchar(255) COLLATE Modern_Spanish_CS_AS NULL,
[FechaCreacion] datetime CONSTRAINT [DF_Sis_Auditorias_FechaCreacion] DEFAULT (GETDATE()) NOT NULL,
CONSTRAINT [PK_Sis_Auditorias]
PRIMARY KEY CLUSTERED ([CveAuditoria])
@@ -357,9 +357,9 @@ GO
CREATE TABLE [dbo].[Sis_AuditoriasDetalles] (
[CveAuditoriaDetalle] int IDENTITY(1,1) NOT NULL,
[CveAuditoria] int NOT NULL,
- [NombreCampo] varchar(150) COLLATE Modern_Spanish_CS_AI NOT NULL,
- [ValorAnterior] varchar(max) COLLATE Modern_Spanish_CS_AI NULL,
- [ValorNuevo] varchar(max) COLLATE Modern_Spanish_CS_AI NULL,
+ [NombreCampo] varchar(150) COLLATE Modern_Spanish_CS_AS NOT NULL,
+ [ValorAnterior] varchar(max) COLLATE Modern_Spanish_CS_AS NULL,
+ [ValorNuevo] varchar(max) COLLATE Modern_Spanish_CS_AS NULL,
CONSTRAINT [PK_Sis_AuditoriasDetalles]
PRIMARY KEY CLUSTERED ([CveAuditoriaDetalle])
)
@@ -369,20 +369,20 @@ GO
CREATE TABLE [dbo].[Gral_SAT_ProductosServicios] (
[CveSATPS] int IDENTITY(1,1) NOT NULL,
- [SATClavePS] nvarchar(20) COLLATE Modern_Spanish_CS_AI NULL,
- [Descripcion] nvarchar(600) COLLATE Modern_Spanish_CS_AI NULL,
- [IncluirIVAtrasladado] nvarchar(255) COLLATE Modern_Spanish_CS_AI NULL,
- [IncluirIEPStrasladado] nvarchar(255) COLLATE Modern_Spanish_CS_AI NULL,
- [ComplementoIncluir] nvarchar(255) COLLATE Modern_Spanish_CS_AI NULL,
+ [SATClavePS] nvarchar(20) COLLATE Modern_Spanish_CS_AS NULL,
+ [Descripcion] nvarchar(600) COLLATE Modern_Spanish_CS_AS NULL,
+ [IncluirIVAtrasladado] nvarchar(255) COLLATE Modern_Spanish_CS_AS NULL,
+ [IncluirIEPStrasladado] nvarchar(255) COLLATE Modern_Spanish_CS_AS NULL,
+ [ComplementoIncluir] nvarchar(255) COLLATE Modern_Spanish_CS_AS NULL,
[IncluirIVATrasladado2] bit DEFAULT ((0)) NOT NULL,
[IncluirIESTrasladado2] bit DEFAULT ((0)) NOT NULL,
[FechaInicioVigencia] date NULL,
[FechaFinVigencia] date NULL,
[EstimuloFranjaFronteriza] bit NULL,
- [PalabrasSimilares] varchar(600) COLLATE Modern_Spanish_CS_AI NULL,
+ [PalabrasSimilares] varchar(600) COLLATE Modern_Spanish_CS_AS NULL,
[Estatus] bit DEFAULT ((1)) NOT NULL,
[AplicaCartaPorte] bit NULL,
- [MaterialPeligroso] varchar(3) COLLATE Modern_Spanish_CS_AI NULL,
+ [MaterialPeligroso] varchar(3) COLLATE Modern_Spanish_CS_AS NULL,
CONSTRAINT [PK_Gral_SAT_ProductosServicios_1] PRIMARY KEY CLUSTERED ([CveSATPS])
WITH (PAD_INDEX = OFF, FILLFACTOR = 80, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON)
ON [PRIMARY]
@@ -392,7 +392,7 @@ GO
CREATE TABLE [dbo].[Gral_Categorias] (
[CveCategoria] int IDENTITY(1,1) NOT NULL,
- [Categoria] varchar(50) COLLATE Modern_Spanish_CS_AI NOT NULL,
+ [Categoria] varchar(50) COLLATE Modern_Spanish_CS_AS NOT NULL,
[Estatus] bit DEFAULT ((1)) NOT NULL,
[Tipo] tinyint DEFAULT ((1)) NOT NULL,
[FechaIng] datetime NOT NULL,
@@ -409,8 +409,8 @@ GO
CREATE TABLE [dbo].[Clasificaciones] (
[CveClasificacion] int IDENTITY(1,1) NOT NULL,
- [Codigo] varchar(20) COLLATE Modern_Spanish_CS_AI NULL,
- [Clasificacion] varchar(200) COLLATE Modern_Spanish_CS_AI NOT NULL,
+ [Codigo] varchar(20) COLLATE Modern_Spanish_CI_AS NULL,
+ [Clasificacion] varchar(200) COLLATE Modern_Spanish_CS_AS NOT NULL,
[Estado] bit DEFAULT ((1)) NOT NULL,
[Afectable] bit DEFAULT ((1)) NOT NULL,
[CveCategoria] int NULL,
@@ -442,31 +442,31 @@ CREATE TABLE [dbo].[Banc_BancosCuentas] (
[CveBancoCuenta] int IDENTITY(1,1) NOT NULL,
[CveBanco] int NOT NULL,
[CveTipoCuenta] int NOT NULL,
- [NumCuenta] varchar(50) COLLATE Modern_Spanish_CS_AI NOT NULL,
+ [NumCuenta] varchar(50) COLLATE Modern_Spanish_CS_AS NOT NULL,
[CveMoneda] int DEFAULT ((1)) NOT NULL,
- [CLABE] varchar(18) COLLATE Modern_Spanish_CS_AI NULL,
+ [CLABE] varchar(18) COLLATE Modern_Spanish_CS_AS NULL,
[DiaCorte] int DEFAULT ((0)) NULL,
[FInicial] int NOT NULL,
[FActual] int NOT NULL,
[FFinal] int NOT NULL,
[LimiteCredito] money DEFAULT ((0)) NOT NULL,
[UsaLayout] bit DEFAULT ((0)) NOT NULL,
- [FormatoCheque] varchar(50) COLLATE Modern_Spanish_CS_AI NULL,
- [ConvenioPagoElectronico] varchar(10) COLLATE Modern_Spanish_CS_AI NULL,
- [PrefijoConta] varchar(2) COLLATE Modern_Spanish_CS_AI NULL,
+ [FormatoCheque] varchar(50) COLLATE Modern_Spanish_CS_AS NULL,
+ [ConvenioPagoElectronico] varchar(10) COLLATE Modern_Spanish_CS_AS NULL,
+ [PrefijoConta] varchar(2) COLLATE Modern_Spanish_CS_AS NULL,
[Estatus] bit DEFAULT ((1)) NOT NULL,
[Fecha] datetime NOT NULL,
[CveUsuario] int NOT NULL,
[UsaTarjeta] bit NULL,
[SaldoInicial] money NULL,
- [ConvenioPagoElectronicoGrupos] varchar(10) COLLATE Modern_Spanish_CS_AI NULL,
+ [ConvenioPagoElectronicoGrupos] varchar(10) COLLATE Modern_Spanish_CS_AS NULL,
[UsaLayoutGrupos] bit NULL,
[TieneTerminal] bit DEFAULT ((0)) NOT NULL,
[CveBancoCuentaPadre] int NULL,
[CveSubProyecto] int NULL,
- [NumeroSucursal] varchar(10) COLLATE Modern_Spanish_CS_AI NULL,
+ [NumeroSucursal] varchar(10) COLLATE Modern_Spanish_CS_AS NULL,
[EsCajas] bit DEFAULT ((0)) NOT NULL,
- [ConvenioPagoElectronicoNomina] varchar(10) COLLATE Modern_Spanish_CS_AI NULL,
+ [ConvenioPagoElectronicoNomina] varchar(10) COLLATE Modern_Spanish_CS_AS NULL,
CONSTRAINT [PK_BancosCuentas] PRIMARY KEY CLUSTERED ([CveBancoCuenta])
WITH (PAD_INDEX = OFF, FILLFACTOR = 80, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON)
ON [PRIMARY],
@@ -479,9 +479,9 @@ GO
CREATE TABLE [dbo].[Conta_CodigosAgrupadoresSAT] (
[CveAgrupadorSAT] int IDENTITY(1,1) NOT NULL,
- [Codigo] nvarchar(20) COLLATE Modern_Spanish_CS_AI NOT NULL,
- [Nombre] nvarchar(200) COLLATE Modern_Spanish_CS_AI NOT NULL,
- [Tipo] nvarchar(1) COLLATE Modern_Spanish_CS_AI NULL,
+ [Codigo] nvarchar(20) COLLATE Modern_Spanish_CI_AS NOT NULL,
+ [Nombre] nvarchar(200) COLLATE Modern_Spanish_CS_AS NOT NULL,
+ [Tipo] nvarchar(1) COLLATE Modern_Spanish_CS_AS NULL,
[CtaMayor] int NULL,
[IdRubro] int NULL,
[CveAgrupadorPadre] int NULL,
@@ -496,8 +496,8 @@ GO
CREATE TABLE [dbo].[Conta_Cuentas] (
[CveCuenta] int IDENTITY(1,1) NOT NULL,
[CveClasificacionCuenta] int NOT NULL,
- [Codigo] varchar(50) COLLATE Modern_Spanish_CS_AI NOT NULL,
- [Nombre] varchar(200) COLLATE Modern_Spanish_CS_AI NOT NULL,
+ [Codigo] varchar(50) COLLATE Modern_Spanish_CI_AS NOT NULL,
+ [Nombre] varchar(200) COLLATE Modern_Spanish_CS_AS NOT NULL,
[Afectable] bit NOT NULL,
[TipoCuenta] int NOT NULL,
[Estatus] bit NOT NULL,
@@ -507,13 +507,13 @@ CREATE TABLE [dbo].[Conta_Cuentas] (
[CveMoneda] int NULL,
[CveAgrupadorSAT] int NULL,
[DigAgrup] int NULL,
- [NomIdioma] varchar(250) COLLATE Modern_Spanish_CS_AI NULL,
+ [NomIdioma] varchar(250) COLLATE Modern_Spanish_CS_AS NULL,
[CveConceptoAdmin] int NULL,
[CveCliente] int NULL,
[PorcentajeImpuesto] money NULL,
[CveBancoCuenta] int NULL,
- [CodigoVinculacion] varchar(50) COLLATE Modern_Spanish_CS_AI NULL,
- [CodigoAgrupacion] varchar(100) COLLATE Modern_Spanish_CS_AI NULL,
+ [CodigoVinculacion] varchar(50) COLLATE Modern_Spanish_CI_AS NULL,
+ [CodigoAgrupacion] varchar(100) COLLATE Modern_Spanish_CI_AS NULL,
CONSTRAINT [PK_Conta_Cuentas] PRIMARY KEY CLUSTERED ([CveCuenta])
WITH (PAD_INDEX = OFF, FILLFACTOR = 80, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON)
ON [PRIMARY],
@@ -525,93 +525,93 @@ GO
CREATE TABLE [dbo].[Clientes] (
[CveCliente] int IDENTITY(1,1) NOT NULL,
- [Nombre] varchar(200) COLLATE Modern_Spanish_CS_AI NOT NULL,
- [Codigo] varchar(50) COLLATE Modern_Spanish_CS_AI NULL,
- [NombreCorto] varchar(30) COLLATE Modern_Spanish_CS_AI NULL,
- [NombreComercial] varchar(200) COLLATE Modern_Spanish_CS_AI NULL,
- [ApellidoPaterno] varchar(50) COLLATE Modern_Spanish_CS_AI NULL,
- [ApellidoMaterno] varchar(50) COLLATE Modern_Spanish_CS_AI NULL,
- [Nombres] varchar(50) COLLATE Modern_Spanish_CS_AI NULL,
- [Sucursal] varchar(20) COLLATE Modern_Spanish_CS_AI NULL,
- [Direccion] varchar(90) COLLATE Modern_Spanish_CS_AI NOT NULL,
- [NoExt] varchar(20) COLLATE Modern_Spanish_CS_AI NULL,
- [NoInt] varchar(50) COLLATE Modern_Spanish_CS_AI NULL,
- [Colonia] varchar(50) COLLATE Modern_Spanish_CS_AI NOT NULL,
- [Localidad] varchar(50) COLLATE Modern_Spanish_CS_AI NULL,
- [Ciudad] varchar(50) COLLATE Modern_Spanish_CS_AI NOT NULL,
- [Estado] varchar(35) COLLATE Modern_Spanish_CS_AI NOT NULL,
+ [Nombre] varchar(200) COLLATE Modern_Spanish_CS_AS NOT NULL,
+ [Codigo] varchar(50) COLLATE Modern_Spanish_CI_AS NULL,
+ [NombreCorto] varchar(30) COLLATE Modern_Spanish_CS_AS NULL,
+ [NombreComercial] varchar(200) COLLATE Modern_Spanish_CS_AS NULL,
+ [ApellidoPaterno] varchar(50) COLLATE Modern_Spanish_CS_AS NULL,
+ [ApellidoMaterno] varchar(50) COLLATE Modern_Spanish_CS_AS NULL,
+ [Nombres] varchar(50) COLLATE Modern_Spanish_CS_AS NULL,
+ [Sucursal] varchar(20) COLLATE Modern_Spanish_CS_AS NULL,
+ [Direccion] varchar(90) COLLATE Modern_Spanish_CS_AS NOT NULL,
+ [NoExt] varchar(20) COLLATE Modern_Spanish_CS_AS NULL,
+ [NoInt] varchar(50) COLLATE Modern_Spanish_CS_AS NULL,
+ [Colonia] varchar(50) COLLATE Modern_Spanish_CS_AS NOT NULL,
+ [Localidad] varchar(50) COLLATE Modern_Spanish_CS_AS NULL,
+ [Ciudad] varchar(50) COLLATE Modern_Spanish_CS_AS NOT NULL,
+ [Estado] varchar(35) COLLATE Modern_Spanish_CS_AS NOT NULL,
[CveSATEstado] int NOT NULL,
- [Pais] varchar(50) COLLATE Modern_Spanish_CS_AI DEFAULT ('México') NOT NULL,
- [RFC] varchar(15) COLLATE Modern_Spanish_CS_AI NOT NULL,
- [CP] varchar(10) COLLATE Modern_Spanish_CS_AI NULL,
- [Telefono] varchar(25) COLLATE Modern_Spanish_CS_AI NULL,
- [TelefonoExtension] varchar(10) COLLATE Modern_Spanish_CS_AI NULL,
- [TelefonoOtros] varchar(50) COLLATE Modern_Spanish_CS_AI NULL,
- [Contacto] varchar(255) COLLATE Modern_Spanish_CS_AI NULL,
- [Mail] varchar(500) COLLATE Modern_Spanish_CS_AI NULL,
- [Pagina] varchar(50) COLLATE Modern_Spanish_CS_AI NULL,
- [Giro] varchar(50) COLLATE Modern_Spanish_CS_AI NULL,
+ [Pais] varchar(50) COLLATE Modern_Spanish_CS_AS DEFAULT ('México') NOT NULL,
+ [RFC] varchar(15) COLLATE Modern_Spanish_CS_AS NOT NULL,
+ [CP] varchar(10) COLLATE Modern_Spanish_CS_AS NULL,
+ [Telefono] varchar(25) COLLATE Modern_Spanish_CS_AS NULL,
+ [TelefonoExtension] varchar(10) COLLATE Modern_Spanish_CS_AS NULL,
+ [TelefonoOtros] varchar(50) COLLATE Modern_Spanish_CS_AS NULL,
+ [Contacto] varchar(255) COLLATE Modern_Spanish_CS_AS NULL,
+ [Mail] varchar(500) COLLATE Modern_Spanish_CS_AS NULL,
+ [Pagina] varchar(50) COLLATE Modern_Spanish_CS_AS NULL,
+ [Giro] varchar(50) COLLATE Modern_Spanish_CS_AS NULL,
[EnviarFactura] bit DEFAULT ((1)) NOT NULL,
- [NotificarA] varchar(500) COLLATE Modern_Spanish_CS_AI NULL,
+ [NotificarA] varchar(500) COLLATE Modern_Spanish_CS_AS NULL,
[CveSucursal] int NULL,
[RetIVA] float(53) DEFAULT ((0)) NOT NULL,
[RetISR] float(53) DEFAULT ((0)) NOT NULL,
[RetIVAFletes] bit DEFAULT ((0)) NOT NULL,
- [ConvenioCIE] varchar(50) COLLATE Modern_Spanish_CS_AI NULL,
+ [ConvenioCIE] varchar(50) COLLATE Modern_Spanish_CS_AS NULL,
[LimiteCredito] float(53) DEFAULT ((0)) NOT NULL,
[PlazoCobranza] int DEFAULT ((0)) NOT NULL,
[PlazoCobranzaRemision] smallint DEFAULT ((0)) NOT NULL,
- [RecepcionPagos] varchar(15) COLLATE Modern_Spanish_CS_AI NULL,
- [TipoPago] varchar(50) COLLATE Modern_Spanish_CS_AI NULL,
- [Vendedor] varchar(20) COLLATE Modern_Spanish_CS_AI NULL,
+ [RecepcionPagos] varchar(15) COLLATE Modern_Spanish_CS_AS NULL,
+ [TipoPago] varchar(50) COLLATE Modern_Spanish_CS_AS NULL,
+ [Vendedor] varchar(20) COLLATE Modern_Spanish_CS_AS NULL,
[CveVendedor] int NULL,
- [Tipo] varchar(3) COLLATE Modern_Spanish_CS_AI NULL,
- [FormaFacturacion] varchar(13) COLLATE Modern_Spanish_CS_AI NULL,
+ [Tipo] varchar(3) COLLATE Modern_Spanish_CS_AS NULL,
+ [FormaFacturacion] varchar(13) COLLATE Modern_Spanish_CS_AS NULL,
[Estatus] bit DEFAULT ((1)) NOT NULL,
[Fecha] date NOT NULL,
[CveUsuario] int NOT NULL,
[FechaIng] datetime NOT NULL,
- [NumCtaPago] varchar(30) COLLATE Modern_Spanish_CS_AI NULL,
+ [NumCtaPago] varchar(30) COLLATE Modern_Spanish_CS_AS NULL,
[BKEliminarCveMetodoPago] int NULL,
[AplicaFEMSA] bit DEFAULT ((0)) NOT NULL,
- [FEMSA_NumSociedad] varchar(4) COLLATE Modern_Spanish_CS_AI NULL,
- [FEMSA_NumProveedor] varchar(10) COLLATE Modern_Spanish_CS_AI NULL,
- [FEMSA_Mail] varchar(50) COLLATE Modern_Spanish_CS_AI NULL,
+ [FEMSA_NumSociedad] varchar(4) COLLATE Modern_Spanish_CS_AS NULL,
+ [FEMSA_NumProveedor] varchar(10) COLLATE Modern_Spanish_CS_AS NULL,
+ [FEMSA_Mail] varchar(50) COLLATE Modern_Spanish_CS_AS NULL,
[AplicaDetallista] bit DEFAULT ((0)) NOT NULL,
- [Detallista_GLNComprador] varchar(18) COLLATE Modern_Spanish_CS_AI NULL,
- [Detallista_Departamento] varchar(50) COLLATE Modern_Spanish_CS_AI NULL,
- [Detallista_GLNVendedor] varchar(18) COLLATE Modern_Spanish_CS_AI NULL,
- [Detallista_NumProveedor] varchar(10) COLLATE Modern_Spanish_CS_AI NULL,
- [SevenEleven_NumProveedor] varchar(20) COLLATE Modern_Spanish_CS_AI NULL,
+ [Detallista_GLNComprador] varchar(18) COLLATE Modern_Spanish_CS_AS NULL,
+ [Detallista_Departamento] varchar(50) COLLATE Modern_Spanish_CS_AS NULL,
+ [Detallista_GLNVendedor] varchar(18) COLLATE Modern_Spanish_CS_AS NULL,
+ [Detallista_NumProveedor] varchar(10) COLLATE Modern_Spanish_CS_AS NULL,
+ [SevenEleven_NumProveedor] varchar(20) COLLATE Modern_Spanish_CS_AS NULL,
[AplicaFord] bit DEFAULT ((0)) NOT NULL,
- [Ford_GSDB] varchar(5) COLLATE Modern_Spanish_CS_AI NULL,
+ [Ford_GSDB] varchar(5) COLLATE Modern_Spanish_CS_AS NULL,
[CvePrecioLista] int NULL,
[CveCondicionEntrega] int NULL,
[PermiteCredito] bit NULL,
- [MailCotizacion] varchar(300) COLLATE Modern_Spanish_CS_AI NULL,
+ [MailCotizacion] varchar(300) COLLATE Modern_Spanish_CS_AS NULL,
[CveClienteClasificacion] int NULL,
[CveUsuarioResponsable] int NULL,
[CveUsuarioModifico] int NULL,
[ImprimeNombreSucursal] bit DEFAULT ((0)) NULL,
[TipoCliente] int DEFAULT ((1)) NULL,
[CveZonaHoraria] int NULL,
- [CobranzaContacto] varchar(255) COLLATE Modern_Spanish_CS_AI NULL,
- [CobranzaTelefono] varchar(10) COLLATE Modern_Spanish_CS_AI NULL,
- [CobranzaExt] varchar(10) COLLATE Modern_Spanish_CS_AI NULL,
- [CobranzaCorreo] varchar(2000) COLLATE Modern_Spanish_CS_AI NULL,
+ [CobranzaContacto] varchar(255) COLLATE Modern_Spanish_CS_AS NULL,
+ [CobranzaTelefono] varchar(10) COLLATE Modern_Spanish_CS_AS NULL,
+ [CobranzaExt] varchar(10) COLLATE Modern_Spanish_CS_AS NULL,
+ [CobranzaCorreo] varchar(2000) COLLATE Modern_Spanish_CS_AS NULL,
[CveSubProyecto] int NULL,
- [Horario] varchar(50) COLLATE Modern_Spanish_CS_AI NULL,
- [Documentacion] varchar(255) COLLATE Modern_Spanish_CS_AI NULL,
- [PortalFacturacion] varchar(255) COLLATE Modern_Spanish_CS_AI NULL,
+ [Horario] varchar(50) COLLATE Modern_Spanish_CS_AS NULL,
+ [Documentacion] varchar(255) COLLATE Modern_Spanish_CS_AS NULL,
+ [PortalFacturacion] varchar(255) COLLATE Modern_Spanish_CS_AS NULL,
[CveSucursal2] int NULL,
- [DiasPago] varchar(50) COLLATE Modern_Spanish_CS_AI NULL,
- [UsuarioPortal] varchar(50) COLLATE Modern_Spanish_CS_AI NULL,
- [PasswordPortal] varchar(50) COLLATE Modern_Spanish_CS_AI NULL,
- [DiasRevision] varchar(50) COLLATE Modern_Spanish_CS_AI NULL,
- [ObservacionRevision] varchar(255) COLLATE Modern_Spanish_CS_AI NULL,
- [ReferenciaFiscal] varchar(100) COLLATE Modern_Spanish_CS_AI NULL,
- [Celular] varchar(15) COLLATE Modern_Spanish_CS_AI NULL,
- [ExtOtros] varchar(15) COLLATE Modern_Spanish_CS_AI NULL,
+ [DiasPago] varchar(50) COLLATE Modern_Spanish_CS_AS NULL,
+ [UsuarioPortal] varchar(50) COLLATE Modern_Spanish_CI_AS NULL,
+ [PasswordPortal] varchar(50) COLLATE Modern_Spanish_CS_AS NULL,
+ [DiasRevision] varchar(50) COLLATE Modern_Spanish_CS_AS NULL,
+ [ObservacionRevision] varchar(255) COLLATE Modern_Spanish_CS_AS NULL,
+ [ReferenciaFiscal] varchar(100) COLLATE Modern_Spanish_CS_AS NULL,
+ [Celular] varchar(15) COLLATE Modern_Spanish_CS_AS NULL,
+ [ExtOtros] varchar(15) COLLATE Modern_Spanish_CS_AS NULL,
[CveUsoCFDI] tinyint NULL,
[CveFormaPago] tinyint NULL,
[CveMetodoPago] tinyint NULL,
@@ -625,30 +625,30 @@ CREATE TABLE [dbo].[Clientes] (
[CveEstado] int NULL,
[CveMunicipio] int NULL,
[CveColonia] int NULL,
- [NumRegIdTrib] varchar(50) COLLATE Modern_Spanish_CS_AI NULL,
+ [NumRegIdTrib] varchar(50) COLLATE Modern_Spanish_CS_AS NULL,
[CveMotivoTraslado] tinyint NULL,
- [ComExtEstado] varchar(50) COLLATE Modern_Spanish_CS_AI NULL,
- [ComExtMunicipio] varchar(50) COLLATE Modern_Spanish_CS_AI NULL,
- [ComExtColonia] varchar(50) COLLATE Modern_Spanish_CS_AI NULL,
+ [ComExtEstado] varchar(50) COLLATE Modern_Spanish_CS_AS NULL,
+ [ComExtMunicipio] varchar(50) COLLATE Modern_Spanish_CS_AS NULL,
+ [ComExtColonia] varchar(50) COLLATE Modern_Spanish_CS_AS NULL,
[RequiereOC] bit DEFAULT ((0)) NOT NULL,
[EsDistribuidor] bit DEFAULT ((0)) NOT NULL,
[BonificacionUsado] bit DEFAULT ((0)) NOT NULL,
[CargoUsado] bit DEFAULT ((0)) NOT NULL,
[CveTipoRetencion] tinyint NULL,
- [CorreoEntregaCompras] varchar(50) COLLATE Modern_Spanish_CS_AI NULL,
- [CorreoEntregaAlmacen] varchar(50) COLLATE Modern_Spanish_CS_AI NULL,
- [Punto] varchar(100) COLLATE Modern_Spanish_CS_AI NULL,
+ [CorreoEntregaCompras] varchar(50) COLLATE Modern_Spanish_CS_AS NULL,
+ [CorreoEntregaAlmacen] varchar(50) COLLATE Modern_Spanish_CS_AS NULL,
+ [Punto] varchar(100) COLLATE Modern_Spanish_CS_AS NULL,
[CveAdminTrayecto] tinyint NULL,
[NoDesglosaIVA] bit DEFAULT ((0)) NULL,
- [CorreoCumplimiento] varchar(200) COLLATE Modern_Spanish_CS_AI NULL,
+ [CorreoCumplimiento] varchar(200) COLLATE Modern_Spanish_CS_AS NULL,
[CveRegimenFiscal] tinyint NULL,
- [RegimenSociedad] varchar(50) COLLATE Modern_Spanish_CS_AI NULL,
+ [RegimenSociedad] varchar(50) COLLATE Modern_Spanish_CS_AS NULL,
[TipoPersona] bit NULL,
- [RepresentanteLegal] varchar(100) COLLATE Modern_Spanish_CS_AI NULL,
+ [RepresentanteLegal] varchar(100) COLLATE Modern_Spanish_CS_AS NULL,
[FechaLimiteCredito] date NULL,
- [ComExtCalle] varchar(50) COLLATE Modern_Spanish_CS_AI NULL,
- [ComExtNumExt] varchar(50) COLLATE Modern_Spanish_CS_AI NULL,
- [ComExtCP] varchar(10) COLLATE Modern_Spanish_CS_AI NULL,
+ [ComExtCalle] varchar(50) COLLATE Modern_Spanish_CS_AS NULL,
+ [ComExtNumExt] varchar(50) COLLATE Modern_Spanish_CS_AS NULL,
+ [ComExtCP] varchar(10) COLLATE Modern_Spanish_CS_AS NULL,
[Genero] bit NULL,
[CveAlmacenAsignado] int NULL,
[CveAlmacenAlterno] int NULL,
@@ -656,13 +656,13 @@ CREATE TABLE [dbo].[Clientes] (
[UsaProductoAlterno] bit DEFAULT ((0)) NULL,
[EnDemanda] bit DEFAULT ((0)) NULL,
[EnQuebranto] bit DEFAULT ((0)) NOT NULL,
- [CreditoRegistroFirmas] varchar(250) COLLATE Modern_Spanish_CS_AI NULL,
+ [CreditoRegistroFirmas] varchar(250) COLLATE Modern_Spanish_CS_AS NULL,
[GastosEnvio] smallmoney NULL,
[EsFilial] bit DEFAULT ((0)) NOT NULL,
[Aseguradora] bit DEFAULT ((0)) NULL,
[CveSubProyectoCobranza] int NULL,
[InformacionCompleta] bit DEFAULT ((1)) NULL,
- [VentasComplementos] varchar(max) COLLATE Modern_Spanish_CS_AI NULL,
+ [VentasComplementos] varchar(max) COLLATE Modern_Spanish_CS_AS NULL,
CONSTRAINT [PK_Clientes] PRIMARY KEY CLUSTERED ([CveCliente])
WITH (PAD_INDEX = OFF, FILLFACTOR = 80, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON)
ON [PRIMARY],
@@ -674,7 +674,7 @@ GO
CREATE TABLE [dbo].[Conta_TiposPoliza] (
[CveTipoPoliza] int NOT NULL,
- [TipoPoliza] varchar(50) COLLATE Modern_Spanish_CS_AI NOT NULL,
+ [TipoPoliza] varchar(50) COLLATE Modern_Spanish_CS_AS NOT NULL,
[Estatus] bit DEFAULT ((1)) NOT NULL,
[FechaIng] datetime NOT NULL,
[CveUsuario] int NOT NULL,
@@ -690,7 +690,7 @@ GO
CREATE TABLE [dbo].[Conta_PlantillasPolizas] (
[CvePlantillaPoliza] int NOT NULL,
- [PlantillaPoliza] varchar(50) COLLATE Modern_Spanish_CS_AI NOT NULL,
+ [PlantillaPoliza] varchar(50) COLLATE Modern_Spanish_CS_AS NOT NULL,
[TipoPlantilla] bit DEFAULT ((0)) NOT NULL,
[TipoPoliza] smallint NOT NULL,
[Orden] smallint DEFAULT ((0)) NOT NULL,
@@ -706,13 +706,13 @@ GO
CREATE TABLE [dbo].[Gral_Monedas] (
[CveMoneda] int IDENTITY(1,1) NOT NULL,
- [Moneda] varchar(50) COLLATE Modern_Spanish_CS_AI NOT NULL,
- [Abreviatura] varchar(3) COLLATE Modern_Spanish_CS_AI NOT NULL,
- [AbreviaturaSAT] varchar(5) COLLATE Modern_Spanish_CS_AI NOT NULL,
- [LayoutBBVA] varchar(3) COLLATE Modern_Spanish_CS_AI NOT NULL,
- [Alias1] varchar(20) COLLATE Modern_Spanish_CS_AI NULL,
- [Alias2] varchar(20) COLLATE Modern_Spanish_CS_AI NULL,
- [Alias3] varchar(30) COLLATE Modern_Spanish_CS_AI NULL,
+ [Moneda] varchar(50) COLLATE Modern_Spanish_CS_AS NOT NULL,
+ [Abreviatura] varchar(3) COLLATE Modern_Spanish_CS_AS NOT NULL,
+ [AbreviaturaSAT] varchar(5) COLLATE Modern_Spanish_CS_AS NOT NULL,
+ [LayoutBBVA] varchar(3) COLLATE Modern_Spanish_CS_AS NOT NULL,
+ [Alias1] varchar(20) COLLATE Modern_Spanish_CS_AS NULL,
+ [Alias2] varchar(20) COLLATE Modern_Spanish_CS_AS NULL,
+ [Alias3] varchar(30) COLLATE Modern_Spanish_CS_AS NULL,
[Estatus] bit DEFAULT ((1)) NOT NULL,
[Fecha] datetime DEFAULT (getdate()) NOT NULL,
[CveUsuario] int NOT NULL,
@@ -729,20 +729,20 @@ GO
CREATE TABLE [dbo].[Conta_PrePolizas] (
[CvePrePoliza] int IDENTITY(1,1) NOT NULL,
[CveCliente] int NULL,
- [Modulo] varchar(50) COLLATE Modern_Spanish_CS_AI NOT NULL,
+ [Modulo] varchar(50) COLLATE Modern_Spanish_CS_AS NOT NULL,
[CvePlantillaPoliza] int NOT NULL,
[CveTipoPoliza] int NOT NULL,
[Cargos] money DEFAULT ((0)) NOT NULL,
[Abonos] money DEFAULT ((0)) NOT NULL,
[CveMoneda] int NOT NULL,
[Fecha] date NOT NULL,
- [Concepto] varchar(200) COLLATE Modern_Spanish_CS_AI NOT NULL,
- [NumeroPoliza] varchar(50) COLLATE Modern_Spanish_CS_AI NULL,
+ [Concepto] varchar(200) COLLATE Modern_Spanish_CS_AS NOT NULL,
+ [NumeroPoliza] varchar(50) COLLATE Modern_Spanish_CS_AS NULL,
[FolioPoliza] int NULL,
[FolioFijo] int NULL,
[FechaConta] datetime NULL,
[IdPoliza] int NULL,
- [CodigoNumeroPoliza] varchar(5) COLLATE Modern_Spanish_CS_AI NULL,
+ [CodigoNumeroPoliza] varchar(5) COLLATE Modern_Spanish_CI_AS NULL,
[Estatus] bit DEFAULT ((1)) NOT NULL,
[FechaIng] datetime NOT NULL,
[CveUsuario] int NOT NULL,
@@ -763,10 +763,10 @@ GO
CREATE TABLE [dbo].[Gral_SAT_UnidadesMedida] (
[CveSATUnidadMedida] int IDENTITY(1,1) NOT NULL,
- [SATClaveUnidadMedida] nvarchar(255) COLLATE Modern_Spanish_CS_AI NOT NULL,
- [Nombre] nvarchar(255) COLLATE Modern_Spanish_CS_AI NOT NULL,
- [Descripcion] nvarchar(255) COLLATE Modern_Spanish_CS_AI NULL,
- [Simbolo] nvarchar(255) COLLATE Modern_Spanish_CS_AI NULL,
+ [SATClaveUnidadMedida] nvarchar(255) COLLATE Modern_Spanish_CS_AS NOT NULL,
+ [Nombre] nvarchar(255) COLLATE Modern_Spanish_CS_AS NOT NULL,
+ [Descripcion] nvarchar(255) COLLATE Modern_Spanish_CS_AS NULL,
+ [Simbolo] nvarchar(255) COLLATE Modern_Spanish_CS_AS NULL,
CONSTRAINT [PK_Gral_SAT_UnidadesMedida] PRIMARY KEY CLUSTERED ([CveSATUnidadMedida])
WITH (PAD_INDEX = OFF, FILLFACTOR = 80, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON)
ON [PRIMARY],
@@ -779,13 +779,13 @@ GO
CREATE TABLE [dbo].[Gral_SAT_CP_MaterialPeligroso] (
[CveMaterialPeligroso] int IDENTITY(1,1) NOT NULL,
- [ClaveMaterialPeligroso] varchar(10) COLLATE Modern_Spanish_CS_AI NOT NULL,
- [MaterialPeligroso] varchar(390) COLLATE Modern_Spanish_CS_AI NOT NULL,
- [ClaseoDiv] varchar(8) COLLATE Modern_Spanish_CS_AI NULL,
- [PeligroSecundario] varchar(10) COLLATE Modern_Spanish_CS_AI NULL,
- [NombreTecnico] varchar(400) COLLATE Modern_Spanish_CS_AI NULL,
+ [ClaveMaterialPeligroso] varchar(10) COLLATE Modern_Spanish_CS_AS NOT NULL,
+ [MaterialPeligroso] varchar(390) COLLATE Modern_Spanish_CS_AS NOT NULL,
+ [ClaseoDiv] varchar(8) COLLATE Modern_Spanish_CS_AS NULL,
+ [PeligroSecundario] varchar(10) COLLATE Modern_Spanish_CS_AS NULL,
+ [NombreTecnico] varchar(400) COLLATE Modern_Spanish_CS_AS NULL,
[FechaDeInicioDeVigencia] date NULL,
- [Version] varchar(5) COLLATE Modern_Spanish_CS_AI NULL,
+ [Version] varchar(5) COLLATE Modern_Spanish_CS_AS NULL,
CONSTRAINT [PK_Gral_SAT_CP_MaterialPeligroso] PRIMARY KEY CLUSTERED ([CveMaterialPeligroso])
WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON)
ON [PRIMARY]
@@ -795,19 +795,19 @@ GO
CREATE TABLE [dbo].[UnidadesMedida] (
[CveUnidadMedida] int IDENTITY(1,1) NOT NULL,
- [UnidadMedida] varchar(50) COLLATE Modern_Spanish_CS_AI NOT NULL,
- [Abreviatura] varchar(15) COLLATE Modern_Spanish_CS_AI NOT NULL,
- [Alias1] varchar(20) COLLATE Modern_Spanish_CS_AI NULL,
- [Alias2] varchar(20) COLLATE Modern_Spanish_CS_AI NULL,
- [Alias3] varchar(20) COLLATE Modern_Spanish_CS_AI NULL,
- [Alias4] varchar(20) COLLATE Modern_Spanish_CS_AI NULL,
+ [UnidadMedida] varchar(50) COLLATE Modern_Spanish_CS_AS NOT NULL,
+ [Abreviatura] varchar(15) COLLATE Modern_Spanish_CS_AS NOT NULL,
+ [Alias1] varchar(20) COLLATE Modern_Spanish_CS_AS NULL,
+ [Alias2] varchar(20) COLLATE Modern_Spanish_CS_AS NULL,
+ [Alias3] varchar(20) COLLATE Modern_Spanish_CS_AS NULL,
+ [Alias4] varchar(20) COLLATE Modern_Spanish_CS_AS NULL,
[CveSATUnidadMedida] int NULL,
[Estado] bit DEFAULT ((1)) NOT NULL,
[Fecha] date NOT NULL,
[CveUsuario] int NOT NULL,
[CveUnidadMedidaSAT] int NULL,
- [CveImpEmpaque] varchar(3) COLLATE Modern_Spanish_CS_AI NULL,
- [CveImpUM] varchar(3) COLLATE Modern_Spanish_CS_AI NULL,
+ [CveImpEmpaque] varchar(3) COLLATE Modern_Spanish_CS_AS NULL,
+ [CveImpUM] varchar(3) COLLATE Modern_Spanish_CS_AS NULL,
CONSTRAINT [PK_UnidadesMedida] PRIMARY KEY CLUSTERED ([CveUnidadMedida])
WITH (PAD_INDEX = OFF, FILLFACTOR = 90, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON)
ON [PRIMARY],
@@ -820,8 +820,8 @@ GO
CREATE TABLE [dbo].[Gral_SAT_ObjetoImpuesto] (
[CveObjetoImpuesto] tinyint NOT NULL,
- [ObjetoImpuesto] varchar(50) COLLATE Modern_Spanish_CS_AI NOT NULL,
- [CodigoObjetoImpuesto] varchar(2) COLLATE Modern_Spanish_CS_AI NOT NULL,
+ [ObjetoImpuesto] varchar(50) COLLATE Modern_Spanish_CS_AS NOT NULL,
+ [CodigoObjetoImpuesto] varchar(2) COLLATE Modern_Spanish_CI_AS NOT NULL,
CONSTRAINT [PK_Gral_ObjetoImpuesto] PRIMARY KEY CLUSTERED ([CveObjetoImpuesto])
WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON)
ON [PRIMARY]
@@ -835,11 +835,11 @@ CREATE TABLE [dbo].[ProductosServicios] (
[CveUnidadMedida] int NOT NULL,
[CveClasificacionCosto] int NULL,
[CveClasificacionPresupuesto] int NULL,
- [Codigo] varchar(50) COLLATE Modern_Spanish_CS_AI NULL,
- [NumeroParte] varchar(50) COLLATE Modern_Spanish_CS_AI NULL,
- [CodigoBarras] varchar(50) COLLATE Modern_Spanish_CS_AI NULL,
- [PS] varchar(846) COLLATE Modern_Spanish_CS_AI NOT NULL,
- [PSExtranjero] varchar(846) COLLATE Modern_Spanish_CS_AI NULL,
+ [Codigo] varchar(50) COLLATE Modern_Spanish_CI_AS NULL,
+ [NumeroParte] varchar(50) COLLATE Modern_Spanish_CS_AS NULL,
+ [CodigoBarras] varchar(50) COLLATE Modern_Spanish_CI_AS NULL,
+ [PS] varchar(846) COLLATE Modern_Spanish_CS_AS NOT NULL,
+ [PSExtranjero] varchar(846) COLLATE Modern_Spanish_CS_AS NULL,
[CveMarca] int NULL,
[Precio] float(53) DEFAULT ((0)) NOT NULL,
[IVA] float(53) NULL,
@@ -854,12 +854,12 @@ CREATE TABLE [dbo].[ProductosServicios] (
[AsientoContableCompras] int DEFAULT ((1)) NOT NULL,
[CveTipoPS] int DEFAULT ((1)) NOT NULL,
[CveUsuario] int NOT NULL,
- [Borrame] varchar(50) COLLATE Modern_Spanish_CS_AI NULL,
+ [Borrame] varchar(50) COLLATE Modern_Spanish_CS_AS NULL,
[CveSegmentoNegocio] int NULL,
[AplicaParaConcepto] bit DEFAULT ((1)) NOT NULL,
[Inv_CveMetodoInventario] smallint DEFAULT ((0)) NULL,
[CostoPromedio] money DEFAULT ((0)) NULL,
- [AlmacenSeccion] varchar(10) COLLATE Modern_Spanish_CS_AI NULL,
+ [AlmacenSeccion] varchar(10) COLLATE Modern_Spanish_CS_AS NULL,
[AplicaSerieLote] bit NULL,
[AplicaParaVenta] bit DEFAULT ((0)) NOT NULL,
[AplicaCaducidad] bit DEFAULT ((0)) NULL,
@@ -869,7 +869,7 @@ CREATE TABLE [dbo].[ProductosServicios] (
[AplicaPesoKg] bit DEFAULT ((0)) NOT NULL,
[EsPaquete] bit DEFAULT ((0)) NULL,
[CveMoneda] int DEFAULT ((1)) NULL,
- [Imagen] varchar(100) COLLATE Modern_Spanish_CS_AI NULL,
+ [Imagen] varchar(100) COLLATE Modern_Spanish_CS_AS NULL,
[VentaSinExistencia] bit DEFAULT ((0)) NULL,
[FuePorXML] bit DEFAULT ((1)) NULL,
[EsAdminPAQ] bit DEFAULT ((0)) NULL,
@@ -894,14 +894,14 @@ CREATE TABLE [dbo].[ProductosServicios] (
[FechaUltimaModificacion] datetime NULL,
[CveClasificacionDetalle] int NULL,
[CveTamaño] int NULL,
- [ClaveImpuestoEmpaque] varchar(3) COLLATE Modern_Spanish_CS_AI NULL,
- [ClaveImpuestoUM] varchar(3) COLLATE Modern_Spanish_CS_AI NULL,
- [ClaveCategoriaToxicidad] varchar(3) COLLATE Modern_Spanish_CS_AI NULL,
- [ClaveImpuestoTipoProducto] varchar(3) COLLATE Modern_Spanish_CS_AI NULL,
+ [ClaveImpuestoEmpaque] varchar(3) COLLATE Modern_Spanish_CS_AS NULL,
+ [ClaveImpuestoUM] varchar(3) COLLATE Modern_Spanish_CS_AS NULL,
+ [ClaveCategoriaToxicidad] varchar(3) COLLATE Modern_Spanish_CS_AS NULL,
+ [ClaveImpuestoTipoProducto] varchar(3) COLLATE Modern_Spanish_CS_AS NULL,
[CvePSAdicional] int NULL,
[PrecioMinimoAnterior] money NULL,
[Litraje] float(53) NULL,
- [Code17] varchar(10) COLLATE Modern_Spanish_CS_AI NULL,
+ [Code17] varchar(10) COLLATE Modern_Spanish_CS_AS NULL,
[EsOutSourcing] bit DEFAULT ((0)) NOT NULL,
[TiempoCaducidad] smallint NULL,
[CantidadEmpaque] smallmoney NULL,
@@ -909,20 +909,20 @@ CREATE TABLE [dbo].[ProductosServicios] (
[PesoKg] smallmoney NULL,
[CveMaterialPeligroso] int NULL,
[CveEmbalaje] int NULL,
- [Dimensiones] varchar(25) COLLATE Modern_Spanish_CS_AI NULL,
+ [Dimensiones] varchar(25) COLLATE Modern_Spanish_CS_AS NULL,
[CveObjetoImpuesto] tinyint DEFAULT ((2)) NOT NULL,
- [RegistroRSCO] varchar(50) COLLATE Modern_Spanish_CS_AI NULL,
+ [RegistroRSCO] varchar(50) COLLATE Modern_Spanish_CS_AS NULL,
[FechaVigenciaRSCO] date NULL,
[VigenciaIndeterminadaRSCO] bit NULL,
- [NombreComercial] varchar(100) COLLATE Modern_Spanish_CS_AI NULL,
- [NotasAdicionales] varchar(500) COLLATE Modern_Spanish_CS_AI NULL,
- [EcommerceEtiquetas] varchar(200) COLLATE Modern_Spanish_CS_AI NULL,
+ [NombreComercial] varchar(100) COLLATE Modern_Spanish_CS_AS NULL,
+ [NotasAdicionales] varchar(500) COLLATE Modern_Spanish_CS_AS NULL,
+ [EcommerceEtiquetas] varchar(200) COLLATE Modern_Spanish_CS_AS NULL,
[ActivoEcommerce] bit DEFAULT ((0)) NOT NULL,
[EcommercePrecio] smallmoney NULL,
[CveClasificacionEcommerce] int NULL,
[EcommerceCantidad] smallmoney NULL,
- [CodigoAlterno] varchar(50) COLLATE Modern_Spanish_CS_AI NULL,
- [PSAlterno] varchar(846) COLLATE Modern_Spanish_CS_AI NULL,
+ [CodigoAlterno] varchar(50) COLLATE Modern_Spanish_CI_AS NULL,
+ [PSAlterno] varchar(846) COLLATE Modern_Spanish_CS_AS NULL,
[ProductoExhibicion] bit NULL,
[PorcentajeMinimoUtilidad] smallmoney NULL,
[CveSelectiva] int NULL,
@@ -942,7 +942,7 @@ GO
CREATE TABLE [dbo].[Inv_TiposAlmacenes] (
[CveTipoAlmacen] int NOT NULL,
- [TipoAlmacen] varchar(50) COLLATE Modern_Spanish_CS_AI NOT NULL,
+ [TipoAlmacen] varchar(50) COLLATE Modern_Spanish_CS_AS NOT NULL,
[Estatus] bit DEFAULT ((1)) NOT NULL,
[FechaIng] date NOT NULL,
[CveUsuario] int NOT NULL,
@@ -959,10 +959,10 @@ GO
CREATE TABLE [dbo].[Inv_Almacenes] (
[CveAlmacen] int IDENTITY(1,1) NOT NULL,
- [Almacen] varchar(50) COLLATE Modern_Spanish_CS_AI NOT NULL,
+ [Almacen] varchar(50) COLLATE Modern_Spanish_CS_AS NOT NULL,
[CveSubProyecto] int NOT NULL,
[CveTipoAlmacen] int NOT NULL,
- [AlmacenAbreviatura] varchar(50) COLLATE Modern_Spanish_CS_AI NOT NULL,
+ [AlmacenAbreviatura] varchar(50) COLLATE Modern_Spanish_CS_AS NOT NULL,
[Estatus] bit DEFAULT ((1)) NOT NULL,
[FechaIng] date NOT NULL,
[CveUsuario] int NOT NULL,
@@ -990,33 +990,33 @@ GO
CREATE TABLE [dbo].[Vta_ClientesSucursales] (
[CveClienteSucursal] int IDENTITY(1,1) NOT NULL,
[CveCliente] int NOT NULL,
- [SucursalCliente] varchar(100) COLLATE Modern_Spanish_CS_AI NOT NULL,
+ [SucursalCliente] varchar(100) COLLATE Modern_Spanish_CS_AS NOT NULL,
[Estatus] bit DEFAULT ((1)) NOT NULL,
[FechaIng] datetime NOT NULL,
[CveUsuario] int NOT NULL,
- [Ciudad] varchar(50) COLLATE Modern_Spanish_CS_AI NULL,
- [Colonia] varchar(50) COLLATE Modern_Spanish_CS_AI NULL,
- [CP] varchar(5) COLLATE Modern_Spanish_CS_AI NULL,
- [Direccion] varchar(90) COLLATE Modern_Spanish_CS_AI NULL,
- [Estado] varchar(35) COLLATE Modern_Spanish_CS_AI NULL,
- [Localidad] varchar(50) COLLATE Modern_Spanish_CS_AI NULL,
- [Pais] varchar(50) COLLATE Modern_Spanish_CS_AI DEFAULT ('Mexico') NULL,
- [NoExt] varchar(20) COLLATE Modern_Spanish_CS_AI NULL,
- [NoInt] varchar(20) COLLATE Modern_Spanish_CS_AI NULL,
- [Telefono] varchar(25) COLLATE Modern_Spanish_CS_AI NULL,
- [Correo] varchar(300) COLLATE Modern_Spanish_CS_AI NULL,
- [Contacto] varchar(300) COLLATE Modern_Spanish_CS_AI NULL,
+ [Ciudad] varchar(50) COLLATE Modern_Spanish_CS_AS NULL,
+ [Colonia] varchar(50) COLLATE Modern_Spanish_CS_AS NULL,
+ [CP] varchar(5) COLLATE Modern_Spanish_CS_AS NULL,
+ [Direccion] varchar(90) COLLATE Modern_Spanish_CS_AS NULL,
+ [Estado] varchar(35) COLLATE Modern_Spanish_CS_AS NULL,
+ [Localidad] varchar(50) COLLATE Modern_Spanish_CS_AS NULL,
+ [Pais] varchar(50) COLLATE Modern_Spanish_CS_AS DEFAULT ('Mexico') NULL,
+ [NoExt] varchar(20) COLLATE Modern_Spanish_CS_AS NULL,
+ [NoInt] varchar(20) COLLATE Modern_Spanish_CS_AS NULL,
+ [Telefono] varchar(25) COLLATE Modern_Spanish_CS_AS NULL,
+ [Correo] varchar(300) COLLATE Modern_Spanish_CS_AS NULL,
+ [Contacto] varchar(300) COLLATE Modern_Spanish_CS_AS NULL,
[CveVendedor] int NULL,
- [CorreoCotizacion] varchar(300) COLLATE Modern_Spanish_CS_AI NULL,
- [NumCtaPago] varchar(50) COLLATE Modern_Spanish_CS_AI NULL,
+ [CorreoCotizacion] varchar(300) COLLATE Modern_Spanish_CS_AS NULL,
+ [NumCtaPago] varchar(50) COLLATE Modern_Spanish_CS_AS NULL,
[CveMetodoPago] int NULL,
[LimiteCredito] money NULL,
[CveResponsableCobranza] int NULL,
[CveMetodoPago33] tinyint NULL,
[CveFormaPago33] tinyint NULL,
[CveUsoCFDI] tinyint NULL,
- [Punto] varchar(100) COLLATE Modern_Spanish_CS_AI NULL,
- [RFC] varchar(15) COLLATE Modern_Spanish_CS_AI NULL,
+ [Punto] varchar(100) COLLATE Modern_Spanish_CS_AS NULL,
+ [RFC] varchar(15) COLLATE Modern_Spanish_CS_AS NULL,
[CveAlmacenAsignado] int NULL,
[CveAlmacenAlterno] int NULL,
[CveAlmacenConsignacion] int NULL,
@@ -1033,7 +1033,7 @@ GO
CREATE TABLE [dbo].[Vta_Procedimientos] (
[CveProcedimiento] int IDENTITY(1,1) NOT NULL,
- [Procedimiento] varchar(150) COLLATE Modern_Spanish_CS_AI NOT NULL,
+ [Procedimiento] varchar(150) COLLATE Modern_Spanish_CS_AS NOT NULL,
[Estatus] bit NOT NULL,
[FechaIng] datetime DEFAULT (getdate()) NOT NULL,
[CveUsuario] int NOT NULL,
@@ -1046,9 +1046,9 @@ GO
CREATE TABLE [dbo].[Ventas] (
[CveVenta] int IDENTITY(1,1) NOT NULL,
- [FolioFiscal] varchar(50) COLLATE Modern_Spanish_CS_AI NULL,
- [TipoDocto] varchar(3) COLLATE Modern_Spanish_CS_AI DEFAULT ('Ing') NOT NULL,
- [Serie] varchar(10) COLLATE Modern_Spanish_CS_AI NOT NULL,
+ [FolioFiscal] varchar(50) COLLATE Modern_Spanish_CS_AS NULL,
+ [TipoDocto] varchar(3) COLLATE Modern_Spanish_CS_AS DEFAULT ('Ing') NOT NULL,
+ [Serie] varchar(10) COLLATE Modern_Spanish_CS_AS NOT NULL,
[Folio] int NOT NULL,
[SerieFolio] AS (concat(case when [Serie]<>'' then [Serie]+'-' else '' end,[Folio])),
[Fecha] datetime NOT NULL,
@@ -1069,25 +1069,25 @@ CREATE TABLE [dbo].[Ventas] (
[CveMetodoPago] int NULL,
[CondicionesPago] int DEFAULT ((0)) NOT NULL,
[FormaPago] int NULL,
- [MotivoDescuento] varchar(500) COLLATE Modern_Spanish_CS_AI NULL,
- [Observaciones] varchar(2000) COLLATE Modern_Spanish_CS_AI NOT NULL,
+ [MotivoDescuento] varchar(500) COLLATE Modern_Spanish_CS_AS NULL,
+ [Observaciones] varchar(2000) COLLATE Modern_Spanish_CS_AS NOT NULL,
[CveEstatusFactura] int DEFAULT ((2)) NOT NULL,
[EnvioMail] int DEFAULT ((0)) NOT NULL,
[SeTimbro] bit DEFAULT ((0)) NOT NULL,
- [MotivoCancelacion] varchar(500) COLLATE Modern_Spanish_CS_AI NULL,
+ [MotivoCancelacion] varchar(500) COLLATE Modern_Spanish_CS_AS NULL,
[FechaEjecucion] datetime NOT NULL,
[CveSubProyecto] int DEFAULT ((0)) NOT NULL,
[CveVendedor] int DEFAULT ((0)) NULL,
- [Alfa1] varchar(500) COLLATE Modern_Spanish_CS_AI NULL,
- [Alfa2] varchar(100) COLLATE Modern_Spanish_CS_AI NULL,
- [Alfa3] varchar(100) COLLATE Modern_Spanish_CS_AI NULL,
+ [Alfa1] varchar(500) COLLATE Modern_Spanish_CS_AS NULL,
+ [Alfa2] varchar(100) COLLATE Modern_Spanish_CS_AS NULL,
+ [Alfa3] varchar(100) COLLATE Modern_Spanish_CS_AS NULL,
[Num1] float(53) NULL,
[Num2] float(53) NULL,
[Num3] float(53) NULL,
[Fech1] date NULL,
[Fech2] date NULL,
[Fech3] date NULL,
- [SelloCancelacion] varchar(800) COLLATE Modern_Spanish_CS_AI NULL,
+ [SelloCancelacion] varchar(800) COLLATE Modern_Spanish_CS_AS NULL,
[FechaCancelacion] datetime NULL,
[EstatusCancelacion] tinyint NULL,
[IdPoliza] int NULL,
@@ -1098,23 +1098,23 @@ CREATE TABLE [dbo].[Ventas] (
[Propina] float(53) NULL,
[CveVentaTerminal] int NULL,
[CvePrePoliza] int NULL,
- [AtencionA] varchar(100) COLLATE Modern_Spanish_CS_AI NULL,
+ [AtencionA] varchar(100) COLLATE Modern_Spanish_CS_AS NULL,
[CveUsuario] int NOT NULL,
[CveContrato] int NULL,
[FechaIng] datetime NULL,
- [Det_OrdenCompra] varchar(20) COLLATE Modern_Spanish_CS_AI NULL,
- [Det_FechaOrdenCompra] varchar(15) COLLATE Modern_Spanish_CS_AI NULL,
+ [Det_OrdenCompra] varchar(20) COLLATE Modern_Spanish_CS_AS NULL,
+ [Det_FechaOrdenCompra] varchar(15) COLLATE Modern_Spanish_CS_AS NULL,
[Otros] money DEFAULT ((0)) NULL,
[EsFacturaPrueba] bit DEFAULT ((0)) NOT NULL,
- [Ref] varchar(50) COLLATE Modern_Spanish_CS_AI NULL,
- [NumeroCuenta] varchar(5) COLLATE Modern_Spanish_CS_AI NULL,
+ [Ref] varchar(50) COLLATE Modern_Spanish_CS_AS NULL,
+ [NumeroCuenta] varchar(5) COLLATE Modern_Spanish_CS_AS NULL,
[FechaVencimiento2] date NULL,
[DiasVencimiento] AS (datediff(day,[FechaVencimiento2],getdate())),
[CveVentaFacturada] int NULL,
[CvePAC] int NULL,
[Vigencia] date NULL,
- [Entrega] varchar(50) COLLATE Modern_Spanish_CS_AI NULL,
- [TiempoEntrega] varchar(50) COLLATE Modern_Spanish_CS_AI NULL,
+ [Entrega] varchar(50) COLLATE Modern_Spanish_CS_AS NULL,
+ [TiempoEntrega] varchar(50) COLLATE Modern_Spanish_CS_AS NULL,
[CveAlmacenTraspasoDestino] int NULL,
[CveAlmacenTraspasoOrigen] int NULL,
[EsDevolucionPedido] bit NULL,
@@ -1123,27 +1123,27 @@ CREATE TABLE [dbo].[Ventas] (
[CveOC] int NULL,
[RemisionFacturada] bit DEFAULT ((0)) NOT NULL,
[CvePACCancelacion] int NULL,
- [TelefonoGenerico] varchar(50) COLLATE Modern_Spanish_CS_AI NULL,
+ [TelefonoGenerico] varchar(50) COLLATE Modern_Spanish_CS_AS NULL,
[CveCondicionEntrega] int NULL,
- [PedidoContrato] varchar(50) COLLATE Modern_Spanish_CS_AI NULL,
+ [PedidoContrato] varchar(50) COLLATE Modern_Spanish_CS_AS NULL,
[SATValidadoTimbrado] bit DEFAULT ((0)) NULL,
[SATValidadoCancelado] bit DEFAULT ((0)) NULL,
- [ObservacionesAlmacen] varchar(300) COLLATE Modern_Spanish_CS_AI NULL,
+ [ObservacionesAlmacen] varchar(300) COLLATE Modern_Spanish_CS_AS NULL,
[CotizacionFacturada] bit NULL,
[CveSubProyectoEjecucion] int NULL,
[CveSubProyectoCobranza] int NULL,
[CveCobranzaEstatus] int NULL,
[FechaCobranza] datetime NULL,
[CveUsuarioCobranza] int NULL,
- [CobranzaObservacion] varchar(255) COLLATE Modern_Spanish_CS_AI NULL,
+ [CobranzaObservacion] varchar(255) COLLATE Modern_Spanish_CS_AS NULL,
[CveCobranzaEstatusTurno] int NULL,
- [TipoProceso] varchar(255) COLLATE Modern_Spanish_CS_AI NULL,
- [TipoComite] varchar(255) COLLATE Modern_Spanish_CS_AI NULL,
- [IdContabilidad] varchar(50) COLLATE Modern_Spanish_CS_AI NULL,
+ [TipoProceso] varchar(255) COLLATE Modern_Spanish_CS_AS NULL,
+ [TipoComite] varchar(255) COLLATE Modern_Spanish_CS_AS NULL,
+ [IdContabilidad] varchar(50) COLLATE Modern_Spanish_CS_AS NULL,
[CveFormaPago33] tinyint NULL,
[CveMetodoPago33] tinyint NULL,
[CveUsoCFDI] tinyint NULL,
- [OrdenCompra] varchar(50) COLLATE Modern_Spanish_CS_AI NULL,
+ [OrdenCompra] varchar(50) COLLATE Modern_Spanish_CS_AS NULL,
[CveCuentaTerminal] int NULL,
[CveTipoRelacion] int NULL,
[ImporteRelacion] money NULL,
@@ -1167,45 +1167,45 @@ CREATE TABLE [dbo].[Ventas] (
[Kilometraje] float(53) NULL,
[EsAmortizacion] bit NULL,
[CveTipoRetencion] tinyint NULL,
- [CorreoNotificacion] varchar(100) COLLATE Modern_Spanish_CS_AI NULL,
+ [CorreoNotificacion] varchar(100) COLLATE Modern_Spanish_CS_AS NULL,
[FormaPaqueteria] int NULL,
[VentaDesglosaIEPS] bit NULL,
[FacturarSucursal] bit NULL,
[CveVentaAutorizacion] int NULL,
[CveAlmacenSurtio] int NULL,
[ServicioDomicilio] bit NULL,
- [RFCReceptor] varchar(50) COLLATE Modern_Spanish_CS_AI NULL,
- [Adjunto] varchar(150) COLLATE Modern_Spanish_CS_AI NULL,
+ [RFCReceptor] varchar(50) COLLATE Modern_Spanish_CS_AS NULL,
+ [Adjunto] varchar(150) COLLATE Modern_Spanish_CS_AS NULL,
[DevolucionImportePagado] money NULL,
[CveMotivoCancelacion] int NULL,
[EsGarantia] bit DEFAULT ((0)) NOT NULL,
- [EstadoCancelacion] varchar(100) COLLATE Modern_Spanish_CS_AI NULL,
+ [EstadoCancelacion] varchar(100) COLLATE Modern_Spanish_CS_AS NULL,
[CveEstadoCancelacion] tinyint NULL,
[CveOPAgropecuaria] int NULL,
- [SelloSolicitudCancelacion] varchar(800) COLLATE Modern_Spanish_CS_AI NULL,
- [CFDIVersion] varchar(5) COLLATE Modern_Spanish_CS_AI NULL,
+ [SelloSolicitudCancelacion] varchar(800) COLLATE Modern_Spanish_CS_AS NULL,
+ [CFDIVersion] varchar(5) COLLATE Modern_Spanish_CS_AS NULL,
[CveLineaAdicional] int NULL,
[CveLineaAdicionalEstatus] int NULL,
- [LineaAdicionalComprobante] varchar(250) COLLATE Modern_Spanish_CS_AI NULL,
- [DescripcionVenta] varchar(300) COLLATE Modern_Spanish_CS_AI NULL,
+ [LineaAdicionalComprobante] varchar(250) COLLATE Modern_Spanish_CS_AS NULL,
+ [DescripcionVenta] varchar(300) COLLATE Modern_Spanish_CS_AS NULL,
[CveMedico] int NULL,
[CveProcedimiento] int NULL,
[CveTipoVenta] int NULL,
[RequiereOS] bit NULL,
[FechaParaSurtir] datetime NOT NULL,
- [Paciente] varchar(50) COLLATE Modern_Spanish_CS_AI NULL,
- [Episodio] varchar(20) COLLATE Modern_Spanish_CS_AI NULL,
+ [Paciente] varchar(50) COLLATE Modern_Spanish_CS_AS NULL,
+ [Episodio] varchar(20) COLLATE Modern_Spanish_CS_AS NULL,
[EsFacturaGlobal] bit DEFAULT ((0)) NULL,
[CveSATPeriodicidad] int NULL,
[CveSATMes] int NULL,
[SATAnio] int NULL,
[AnticipoAutorizado] int NULL,
[CveMotivoDevolucion] int NULL,
- [Addenda] varchar(2000) COLLATE Modern_Spanish_CS_AI NULL,
+ [Addenda] varchar(2000) COLLATE Modern_Spanish_CS_AS NULL,
[Bloqueada] bit DEFAULT ((0)) NULL,
[CveUsuarioModifico] int NULL,
[CveComplementoTimbrado] int NULL,
- [ComplementoSAT] varchar(2000) COLLATE Modern_Spanish_CS_AI NULL,
+ [ComplementoSAT] varchar(2000) COLLATE Modern_Spanish_CS_AS NULL,
[Procesando] bit DEFAULT ((0)) NULL,
CONSTRAINT [PK_Ventas] PRIMARY KEY CLUSTERED ([CveVenta])
WITH (PAD_INDEX = OFF, FILLFACTOR = 90, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON)
@@ -1240,8 +1240,8 @@ CREATE TABLE [dbo].[Conta_PrePolizasDetalle] (
[Bloqueado] bit DEFAULT ((0)) NOT NULL,
[IdCtaContable] int DEFAULT ((0)) NOT NULL,
[CveCuenta] int NULL,
- [Referencia] varchar(200) COLLATE Modern_Spanish_CS_AI NULL,
- [Concepto] varchar(200) COLLATE Modern_Spanish_CS_AI NOT NULL,
+ [Referencia] varchar(200) COLLATE Modern_Spanish_CS_AS NULL,
+ [Concepto] varchar(200) COLLATE Modern_Spanish_CS_AS NOT NULL,
[CveCliente] int NULL,
[CveVenta] int NULL,
[CveVentaAmortizacion] int NULL,
@@ -1274,9 +1274,9 @@ GO
CREATE TABLE [dbo].[Gral_SAT_Localidad] (
[CveLocalidad] int IDENTITY(1,1) NOT NULL,
- [ClaveSATLocalidad] varchar(50) COLLATE Modern_Spanish_CS_AI NOT NULL,
- [ClaveSATEstado] varchar(50) COLLATE Modern_Spanish_CS_AI NOT NULL,
- [NombreLocalidad] varchar(100) COLLATE Modern_Spanish_CS_AI NOT NULL,
+ [ClaveSATLocalidad] varchar(50) COLLATE Modern_Spanish_CS_AS NOT NULL,
+ [ClaveSATEstado] varchar(50) COLLATE Modern_Spanish_CS_AS NOT NULL,
+ [NombreLocalidad] varchar(100) COLLATE Modern_Spanish_CS_AS NOT NULL,
CONSTRAINT [PK_Gral_SAT_Localidad] PRIMARY KEY CLUSTERED ([CveLocalidad])
WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON)
ON [PRIMARY]
@@ -1286,10 +1286,10 @@ GO
CREATE TABLE [dbo].[Gral_SAT_Estado] (
[CveEstado] int IDENTITY(1,1) NOT NULL,
- [ClaveSATEstado] varchar(5) COLLATE Modern_Spanish_CS_AI NOT NULL,
- [ClaveSATPais] varchar(3) COLLATE Modern_Spanish_CS_AI NOT NULL,
- [NombreEstado] varchar(50) COLLATE Modern_Spanish_CS_AI NOT NULL,
- [ClaveImpuestoEstado] varchar(2) COLLATE Modern_Spanish_CS_AI NULL,
+ [ClaveSATEstado] varchar(5) COLLATE Modern_Spanish_CS_AS NOT NULL,
+ [ClaveSATPais] varchar(3) COLLATE Modern_Spanish_CS_AS NOT NULL,
+ [NombreEstado] varchar(50) COLLATE Modern_Spanish_CS_AS NOT NULL,
+ [ClaveImpuestoEstado] varchar(2) COLLATE Modern_Spanish_CS_AS NULL,
[ClaveEstadoCorteva] int NULL,
CONSTRAINT [PK_Gral_SAT_Estado] PRIMARY KEY CLUSTERED ([CveEstado])
WITH (PAD_INDEX = OFF, FILLFACTOR = 80, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON)
@@ -1300,7 +1300,7 @@ GO
CREATE TABLE [dbo].[Proyectos] (
[CveProyecto] int IDENTITY(1,1) NOT NULL,
- [Proyecto] varchar(50) COLLATE Modern_Spanish_CS_AI NOT NULL,
+ [Proyecto] varchar(50) COLLATE Modern_Spanish_CS_AS NOT NULL,
[CveSucursal] int NULL,
[Estatus] bit DEFAULT ((1)) NOT NULL,
[FechaIng] date DEFAULT (getdate()) NOT NULL,
@@ -1319,34 +1319,34 @@ GO
CREATE TABLE [dbo].[SubProyectos] (
[CveSubProyecto] int IDENTITY(1,1) NOT NULL,
[CveProyecto] int NOT NULL,
- [ClaveSubProyecto] varchar(5) COLLATE Modern_Spanish_CS_AI NULL,
- [SubProyecto] varchar(50) COLLATE Modern_Spanish_CS_AI NOT NULL,
+ [ClaveSubProyecto] varchar(5) COLLATE Modern_Spanish_CS_AS NULL,
+ [SubProyecto] varchar(50) COLLATE Modern_Spanish_CS_AS NOT NULL,
[IdSegNeg] int DEFAULT ((1)) NULL,
[Estatus] bit DEFAULT ((1)) NOT NULL,
[FechaIng] date DEFAULT (getdate()) NOT NULL,
[CveUsuario] int NOT NULL,
[IdCuentaGasto] int NULL,
- [CuentaGasto] varchar(50) COLLATE Modern_Spanish_CS_AI NULL,
+ [CuentaGasto] varchar(50) COLLATE Modern_Spanish_CS_AS NULL,
[CveSubPrograma] int NULL,
[CveClasificacionGeografica] int NULL,
[CveSucursal] int NULL,
[CveUsuarioNomina] int NULL,
- [Serie] varchar(15) COLLATE Modern_Spanish_CS_AI NULL,
+ [Serie] varchar(15) COLLATE Modern_Spanish_CS_AS NULL,
[IVA] float(53) NULL,
- [Calle] varchar(50) COLLATE Modern_Spanish_CS_AI NULL,
- [NoExt] varchar(10) COLLATE Modern_Spanish_CS_AI NULL,
- [NoInt] varchar(10) COLLATE Modern_Spanish_CS_AI NULL,
- [Colonia] varchar(50) COLLATE Modern_Spanish_CS_AI NULL,
- [Localidad] varchar(50) COLLATE Modern_Spanish_CS_AI NULL,
- [Municipio] varchar(50) COLLATE Modern_Spanish_CS_AI NULL,
- [Pais] varchar(50) COLLATE Modern_Spanish_CS_AI NULL,
- [CP] varchar(5) COLLATE Modern_Spanish_CS_AI NULL,
+ [Calle] varchar(50) COLLATE Modern_Spanish_CS_AS NULL,
+ [NoExt] varchar(10) COLLATE Modern_Spanish_CS_AS NULL,
+ [NoInt] varchar(10) COLLATE Modern_Spanish_CS_AS NULL,
+ [Colonia] varchar(50) COLLATE Modern_Spanish_CS_AS NULL,
+ [Localidad] varchar(50) COLLATE Modern_Spanish_CS_AS NULL,
+ [Municipio] varchar(50) COLLATE Modern_Spanish_CS_AS NULL,
+ [Pais] varchar(50) COLLATE Modern_Spanish_CS_AS NULL,
+ [CP] varchar(5) COLLATE Modern_Spanish_CS_AS NULL,
[CveSubProyectoPadre] int NULL,
- [Estado] varchar(20) COLLATE Modern_Spanish_CS_AI NULL,
- [FormatoFactura] varchar(25) COLLATE Modern_Spanish_CS_AI NULL,
- [TipoFormato] varchar(5) COLLATE Modern_Spanish_CS_AI NULL,
+ [Estado] varchar(20) COLLATE Modern_Spanish_CS_AS NULL,
+ [FormatoFactura] varchar(25) COLLATE Modern_Spanish_CS_AS NULL,
+ [TipoFormato] varchar(5) COLLATE Modern_Spanish_CS_AS NULL,
[TipoVenta] tinyint NULL,
- [Telefono] varchar(10) COLLATE Modern_Spanish_CS_AI NULL,
+ [Telefono] varchar(10) COLLATE Modern_Spanish_CS_AS NULL,
[TipoSucursal] tinyint NULL,
[EsSucursal] tinyint NOT NULL,
[CvePais] int NULL,
@@ -1354,16 +1354,16 @@ CREATE TABLE [dbo].[SubProyectos] (
[CveMunicipio] int NULL,
[CveColonia] int NULL,
[AplicaComercioExterior] bit NULL,
- [Correo] varchar(50) COLLATE Modern_Spanish_CS_AI NULL,
+ [Correo] varchar(50) COLLATE Modern_Spanish_CS_AS NULL,
[UTCOffsetVerano] int NULL,
[UTCOffsetInvierno] int NULL,
[NoVerificaAlmacen] bit NULL,
- [CodigoSucursal] varchar(20) COLLATE Modern_Spanish_CS_AI NULL,
- [Acum_CentroServicio] varchar(10) COLLATE Modern_Spanish_CS_AI NULL,
+ [CodigoSucursal] varchar(20) COLLATE Modern_Spanish_CI_AS NULL,
+ [Acum_CentroServicio] varchar(10) COLLATE Modern_Spanish_CS_AS NULL,
[Orden] smallint NULL,
[CveLocalidad] int NULL,
- [Acum_PortalUsuario] varchar(50) COLLATE Modern_Spanish_CS_AI NULL,
- [Acum_PortalContrasena] varchar(50) COLLATE Modern_Spanish_CS_AI NULL,
+ [Acum_PortalUsuario] varchar(50) COLLATE Modern_Spanish_CI_AS NULL,
+ [Acum_PortalContrasena] varchar(50) COLLATE Modern_Spanish_CS_AS NULL,
[DeshabilitaAutorizacion] bit NULL,
[CveClientePublicoGral] int NULL,
CONSTRAINT [PK_SubProyectos] PRIMARY KEY CLUSTERED ([CveSubProyecto])
@@ -1378,11 +1378,11 @@ GO
CREATE TABLE [dbo].[Gral_SAT_UsosCFDI] (
[CveUsoCFDI] tinyint NOT NULL,
- [UsoCFDI] varchar(5) COLLATE Modern_Spanish_CS_AI NOT NULL,
- [Descripcion] varchar(100) COLLATE Modern_Spanish_CS_AI NOT NULL,
+ [UsoCFDI] varchar(5) COLLATE Modern_Spanish_CS_AS NOT NULL,
+ [Descripcion] varchar(100) COLLATE Modern_Spanish_CS_AS NOT NULL,
[AplicaPersonaFisica] bit DEFAULT ((0)) NOT NULL,
[AplicaPersonaMoral] bit DEFAULT ((0)) NOT NULL,
- [RegimenFiscalReceptor] varchar(200) COLLATE Modern_Spanish_CS_AI NULL,
+ [RegimenFiscalReceptor] varchar(200) COLLATE Modern_Spanish_CS_AS NULL,
CONSTRAINT [PK_Gral_SAT_UsosCFDI] PRIMARY KEY CLUSTERED ([CveUsoCFDI])
WITH (PAD_INDEX = OFF, FILLFACTOR = 80, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON)
ON [PRIMARY]
@@ -1392,22 +1392,22 @@ GO
CREATE TABLE [dbo].[Vta_Vendedores] (
[CveVendedor] int IDENTITY(1,1) NOT NULL,
- [Codigo] varchar(10) COLLATE Modern_Spanish_CS_AI NULL,
- [Vendedor] varchar(50) COLLATE Modern_Spanish_CS_AI NOT NULL,
- [Correo] varchar(50) COLLATE Modern_Spanish_CS_AI NULL,
- [Telefono] varchar(50) COLLATE Modern_Spanish_CS_AI NULL,
+ [Codigo] varchar(10) COLLATE Modern_Spanish_CI_AS NULL,
+ [Vendedor] varchar(50) COLLATE Modern_Spanish_CS_AS NOT NULL,
+ [Correo] varchar(50) COLLATE Modern_Spanish_CS_AS NULL,
+ [Telefono] varchar(50) COLLATE Modern_Spanish_CS_AS NULL,
[Estatus] bit DEFAULT ((1)) NOT NULL,
[FechaIng] datetime NOT NULL,
[CveUsuario] int NOT NULL,
[CveEsquemaComision] int NULL,
- [Celular] varchar(50) COLLATE Modern_Spanish_CS_AI NULL,
- [TituloDocumentos] varchar(150) COLLATE Modern_Spanish_CS_AI NULL,
+ [Celular] varchar(50) COLLATE Modern_Spanish_CS_AS NULL,
+ [TituloDocumentos] varchar(150) COLLATE Modern_Spanish_CS_AS NULL,
[EsSupervisor] bit NULL,
[CveSupervisor] int NULL,
[VendedorTipo] tinyint NULL,
[CveSuperior] int NULL,
[CveSubProyecto] int NULL,
- [CorreoAdicionalNotificaciones] varchar(200) COLLATE Modern_Spanish_CS_AI NULL,
+ [CorreoAdicionalNotificaciones] varchar(200) COLLATE Modern_Spanish_CS_AS NULL,
[FechaModificacion] datetime NULL,
CONSTRAINT [PK_Vta_Vendedores] PRIMARY KEY CLUSTERED ([CveVendedor])
WITH (PAD_INDEX = OFF, FILLFACTOR = 90, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON)
@@ -1418,8 +1418,8 @@ GO
CREATE TABLE [dbo].[Vta_FormaPago] (
[CveFormaPago] tinyint NOT NULL,
- [FormaPago] varchar(50) COLLATE Modern_Spanish_CS_AI NULL,
- [ClaveFormaPagoSAT] varchar(2) COLLATE Modern_Spanish_CS_AI NULL,
+ [FormaPago] varchar(50) COLLATE Modern_Spanish_CS_AS NULL,
+ [ClaveFormaPagoSAT] varchar(2) COLLATE Modern_Spanish_CS_AS NULL,
[CveUsuario] int NOT NULL,
[FechaIng] date NULL,
CONSTRAINT [PK_Vta_FormaPago] PRIMARY KEY CLUSTERED ([CveFormaPago])
@@ -1431,7 +1431,7 @@ GO
CREATE TABLE [dbo].[Sis_PAC] (
[CvePAC] int NOT NULL,
- [PAC] varchar(50) COLLATE Modern_Spanish_CS_AI NOT NULL,
+ [PAC] varchar(50) COLLATE Modern_Spanish_CS_AS NOT NULL,
[Estatus] bit DEFAULT ((1)) NOT NULL,
[CveUsuario] int NOT NULL,
CONSTRAINT [PK_Sis_PAC] PRIMARY KEY CLUSTERED ([CvePAC])
@@ -1443,8 +1443,8 @@ GO
CREATE TABLE [dbo].[Vta_MetodoPago] (
[CveMetodoPago] tinyint NOT NULL,
- [MetodoPago] varchar(50) COLLATE Modern_Spanish_CS_AI NULL,
- [ClaveMetodoPagoSAT] varchar(5) COLLATE Modern_Spanish_CS_AI NULL,
+ [MetodoPago] varchar(50) COLLATE Modern_Spanish_CS_AS NULL,
+ [ClaveMetodoPagoSAT] varchar(5) COLLATE Modern_Spanish_CS_AS NULL,
[CveUsuario] int NULL,
[FechaIng] date NULL,
CONSTRAINT [PK_Vta_MetodoPago] PRIMARY KEY CLUSTERED ([CveMetodoPago])
@@ -1455,8 +1455,8 @@ ON [PRIMARY]
GO
CREATE TABLE [dbo].[Vta_TipoDocumentos] (
- [CveTipoDocumento] varchar(3) COLLATE Modern_Spanish_CS_AI NOT NULL,
- [TipoDocumento] varchar(50) COLLATE Modern_Spanish_CS_AI NULL,
+ [CveTipoDocumento] varchar(3) COLLATE Modern_Spanish_CS_AS NOT NULL,
+ [TipoDocumento] varchar(50) COLLATE Modern_Spanish_CS_AS NULL,
[Estatus] bit NULL,
[FechaIng] date NULL,
[Multiplicador] smallmoney DEFAULT ((1)) NULL,
@@ -1470,11 +1470,11 @@ GO
CREATE TABLE [dbo].[EstatusFactura] (
[CveEstatusFactura] int NOT NULL,
- [EstatusFactura] varchar(30) COLLATE Modern_Spanish_CS_AI NOT NULL,
+ [EstatusFactura] varchar(30) COLLATE Modern_Spanish_CS_AS NOT NULL,
[Estado] bit DEFAULT ((1)) NOT NULL,
[Fecha] date DEFAULT (getdate()) NOT NULL,
[CveUsuario] int NOT NULL,
- [TipoDocto] varchar(3) COLLATE Modern_Spanish_CS_AI NOT NULL,
+ [TipoDocto] varchar(3) COLLATE Modern_Spanish_CS_AS NOT NULL,
[TipoEstatus] smallint DEFAULT ((1)) NULL,
[Origen] smallmoney DEFAULT ((1)) NULL,
[EnProcesoCancelacion] bit DEFAULT ((0)) NOT NULL,
@@ -1487,8 +1487,8 @@ GO
CREATE TABLE [dbo].[Gral_RegimenesFiscales] (
[CveRegimenFiscal] tinyint NOT NULL,
- [RegimenFiscal] varchar(100) COLLATE Modern_Spanish_CS_AI NOT NULL,
- [CodigoRegimenFiscal] varchar(3) COLLATE Modern_Spanish_CS_AI NOT NULL,
+ [RegimenFiscal] varchar(100) COLLATE Modern_Spanish_CS_AS NOT NULL,
+ [CodigoRegimenFiscal] varchar(3) COLLATE Modern_Spanish_CI_AS NOT NULL,
[AplicaPersonaFisica] bit NOT NULL,
[AplicaPersonaMoral] bit NOT NULL,
CONSTRAINT [PK_Gral_RegimenesFiscales] PRIMARY KEY CLUSTERED ([CveRegimenFiscal])
@@ -1501,9 +1501,9 @@ GO
CREATE TABLE [dbo].[ZonasHorarias] (
--esta reemplaza GPS_ZonasHorarias
[CveZonaHoraria] int NOT NULL,
- [Abreviacion] varchar(7) COLLATE Modern_Spanish_CS_AI NULL,
- [ZonaHoraria] varchar(100) COLLATE Modern_Spanish_CS_AI NULL,
- [UTC] varchar(20) COLLATE Modern_Spanish_CS_AI NULL,
+ [Abreviacion] varchar(7) COLLATE Modern_Spanish_CS_AS NULL,
+ [ZonaHoraria] varchar(100) COLLATE Modern_Spanish_CS_AS NULL,
+ [UTC] varchar(20) COLLATE Modern_Spanish_CS_AS NULL,
[UTCOffset] int NULL,
CONSTRAINT [PK_ZonasHorarias] PRIMARY KEY CLUSTERED ([CveZonaHoraria])
WITH (PAD_INDEX = OFF, FILLFACTOR = 80, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON)
@@ -1514,9 +1514,9 @@ GO
CREATE TABLE [dbo].[Sat_Bancos] (
[CveSATBanco] int IDENTITY(1,1) NOT NULL,
- [CveBanco] varchar(50) COLLATE Modern_Spanish_CS_AI NOT NULL,
- [Banco] varchar(150) COLLATE Modern_Spanish_CS_AI NOT NULL,
- [RazonSocial] varchar(300) COLLATE Modern_Spanish_CS_AI NOT NULL,
+ [CveBanco] varchar(50) COLLATE Modern_Spanish_CS_AS NOT NULL,
+ [Banco] varchar(150) COLLATE Modern_Spanish_CS_AS NOT NULL,
+ [RazonSocial] varchar(300) COLLATE Modern_Spanish_CS_AS NOT NULL,
[Estatus] bit DEFAULT ((1)) NOT NULL,
[FechaIng] datetime NOT NULL,
[CveUsuario] int NOT NULL,
@@ -1530,9 +1530,9 @@ GO
CREATE TABLE [dbo].[Banc_Bancos] (
[CveBanco] int IDENTITY(1,1) NOT NULL,
- [Banco] varchar(50) COLLATE Modern_Spanish_CS_AI NOT NULL,
- [Ejecutivo] varchar(50) COLLATE Modern_Spanish_CS_AI NULL,
- [Telefono] varchar(10) COLLATE Modern_Spanish_CS_AI NULL,
+ [Banco] varchar(50) COLLATE Modern_Spanish_CS_AS NOT NULL,
+ [Ejecutivo] varchar(50) COLLATE Modern_Spanish_CS_AS NULL,
+ [Telefono] varchar(10) COLLATE Modern_Spanish_CS_AS NULL,
[Estatus] bit DEFAULT ((1)) NOT NULL,
[Fecha] datetime NOT NULL,
[CveUsuario] int NOT NULL,
@@ -1574,7 +1574,7 @@ GO
CREATE TABLE [dbo].[Banc_TiposCuenta] (
[CveTipoCuenta] int NOT NULL,
- [TipoCuenta] varchar(50) COLLATE Modern_Spanish_CS_AI NOT NULL,
+ [TipoCuenta] varchar(50) COLLATE Modern_Spanish_CS_AS NOT NULL,
[Estatus] bit DEFAULT ((1)) NOT NULL,
[FechaIng] datetime NOT NULL,
[CveUsuario] int NOT NULL,
@@ -1590,8 +1590,8 @@ GO
CREATE TABLE [dbo].[Conta_ConceptosContables] (
[CveConceptoContable] int NOT NULL,
- [Tipo] varchar(5) COLLATE Modern_Spanish_CS_AI NOT NULL,
- [ConceptoContable] varchar(50) COLLATE Modern_Spanish_CS_AI NOT NULL,
+ [Tipo] varchar(5) COLLATE Modern_Spanish_CS_AS NOT NULL,
+ [ConceptoContable] varchar(50) COLLATE Modern_Spanish_CS_AS NOT NULL,
[Estado] bit DEFAULT ((1)) NOT NULL,
[FechaIng] datetime NOT NULL,
[CveUsuario] int NOT NULL,
@@ -2181,10 +2181,10 @@ GO
CREATE TABLE [dbo].[Fraccionamientos] (
[CveFraccionamiento] int IDENTITY(1,1) NOT NULL,
[CveCliente] int NOT NULL,
- [Fraccionamiento] varchar(200) COLLATE Modern_Spanish_CS_AI NOT NULL,
+ [Fraccionamiento] varchar(200) COLLATE Modern_Spanish_CS_AS NOT NULL,
[Hectareas] decimal(18,4) NULL,
- [Ubicacion] varchar(500) COLLATE Modern_Spanish_CS_AI NULL,
- [Estatus] varchar(50) COLLATE Modern_Spanish_CS_AI NULL,
+ [Ubicacion] varchar(500) COLLATE Modern_Spanish_CS_AS NULL,
+ [Estatus] varchar(50) COLLATE Modern_Spanish_CS_AS NULL,
[EsActivo] bit CONSTRAINT [DF_Fraccionamientos_EsActivo] DEFAULT ((1)) NOT NULL,
[FechaAlta] datetime CONSTRAINT [DF_Fraccionamientos_FechaAlta] DEFAULT (GETDATE()) NOT NULL,
[FechaModificacion] datetime NULL,
@@ -2199,7 +2199,7 @@ GO
CREATE TABLE [dbo].[FraccionamientosEtapas] (
[CveFraccionamientoEtapa] int IDENTITY(1,1) NOT NULL,
[CveFraccionamiento] int NOT NULL,
- [Etapa] varchar(150) COLLATE Modern_Spanish_CS_AI NOT NULL,
+ [Etapa] varchar(150) COLLATE Modern_Spanish_CS_AS NOT NULL,
[Hectareas] decimal(18,4) NULL,
[Orden] int CONSTRAINT [DF_FraccionamientosEtapas_Orden] DEFAULT ((0)) NOT NULL,
[EsActivo] bit CONSTRAINT [DF_FraccionamientosEtapas_EsActivo] DEFAULT ((1)) NOT NULL,
@@ -2216,12 +2216,12 @@ GO
CREATE TABLE [dbo].[FraccionamientosLotes] (
[CveFraccionamientoLote] int IDENTITY(1,1) NOT NULL,
[CveFraccionamientoEtapa] int NOT NULL,
- [Tipo] varchar(100) COLLATE Modern_Spanish_CS_AI NULL,
- [Calle] varchar(200) COLLATE Modern_Spanish_CS_AI NULL,
- [Catastro] varchar(100) COLLATE Modern_Spanish_CS_AI NULL,
+ [Tipo] varchar(100) COLLATE Modern_Spanish_CS_AS NULL,
+ [Calle] varchar(200) COLLATE Modern_Spanish_CS_AS NULL,
+ [Catastro] varchar(100) COLLATE Modern_Spanish_CS_AS NULL,
[MetrosCuadrados] decimal(18,4) NULL,
- [Numero] varchar(50) COLLATE Modern_Spanish_CS_AI NULL,
- [Duplicador] varchar(50) COLLATE Modern_Spanish_CS_AI NULL,
+ [Numero] varchar(50) COLLATE Modern_Spanish_CS_AS NULL,
+ [Duplicador] varchar(50) COLLATE Modern_Spanish_CS_AS NULL,
[EsActivo] bit CONSTRAINT [DF_FraccionamientosLotes_EsActivo] DEFAULT ((1)) NOT NULL,
[FechaAlta] datetime CONSTRAINT [DF_FraccionamientosLotes_FechaAlta] DEFAULT (GETDATE()) NOT NULL,
[FechaModificacion] datetime NULL,
@@ -2235,9 +2235,9 @@ GO
CREATE TABLE [dbo].[Tra_TiposTramite] (
[CveTipoTramite] int IDENTITY(1,1) NOT NULL,
- [Codigo] varchar(50) COLLATE Modern_Spanish_CS_AI NOT NULL,
- [TipoTramite] varchar(200) COLLATE Modern_Spanish_CS_AI NOT NULL,
- [Descripcion] varchar(500) COLLATE Modern_Spanish_CS_AI NULL,
+ [Codigo] varchar(50) COLLATE Modern_Spanish_CI_AS NOT NULL,
+ [TipoTramite] varchar(200) COLLATE Modern_Spanish_CS_AS NOT NULL,
+ [Descripcion] varchar(500) COLLATE Modern_Spanish_CS_AS NULL,
[Orden] int CONSTRAINT [DF_Tra_TiposTramite_Orden] DEFAULT ((0)) NOT NULL,
[EsActivo] bit CONSTRAINT [DF_Tra_TiposTramite_EsActivo] DEFAULT ((1)) NOT NULL,
[FechaAlta] datetime CONSTRAINT [DF_Tra_TiposTramite_FechaAlta] DEFAULT (GETDATE()) NOT NULL,
@@ -2250,8 +2250,8 @@ GO
CREATE TABLE [dbo].[Tra_EstatusSolicitud] (
[CveEstatusSolicitud] int IDENTITY(1,1) NOT NULL,
- [Codigo] varchar(50) COLLATE Modern_Spanish_CS_AI NOT NULL,
- [EstatusSolicitud] varchar(100) COLLATE Modern_Spanish_CS_AI NOT NULL,
+ [Codigo] varchar(50) COLLATE Modern_Spanish_CI_AS NOT NULL,
+ [EstatusSolicitud] varchar(100) COLLATE Modern_Spanish_CS_AS NOT NULL,
[Orden] int CONSTRAINT [DF_Tra_EstatusSolicitud_Orden] DEFAULT ((0)) NOT NULL,
[EsFinal] bit CONSTRAINT [DF_Tra_EstatusSolicitud_EsFinal] DEFAULT ((0)) NOT NULL,
[EsActivo] bit CONSTRAINT [DF_Tra_EstatusSolicitud_EsActivo] DEFAULT ((1)) NOT NULL,
@@ -2262,9 +2262,9 @@ GO
CREATE TABLE [dbo].[Tra_TiposDocumento] (
[CveTipoDocumento] int IDENTITY(1,1) NOT NULL,
- [TipoDocumento] varchar(200) COLLATE Modern_Spanish_CS_AI NOT NULL,
- [Descripcion] varchar(500) COLLATE Modern_Spanish_CS_AI NULL,
- [ExtensionesPermitidas] varchar(200) COLLATE Modern_Spanish_CS_AI NULL,
+ [TipoDocumento] varchar(200) COLLATE Modern_Spanish_CS_AS NOT NULL,
+ [Descripcion] varchar(500) COLLATE Modern_Spanish_CS_AS NULL,
+ [ExtensionesPermitidas] varchar(200) COLLATE Modern_Spanish_CS_AS NULL,
[TamanoMaximoMb] int NULL,
[EsActivo] bit CONSTRAINT [DF_Tra_TiposDocumento_EsActivo] DEFAULT ((1)) NOT NULL,
[FechaAlta] datetime CONSTRAINT [DF_Tra_TiposDocumento_FechaAlta] DEFAULT (GETDATE()) NOT NULL,
@@ -2278,8 +2278,8 @@ GO
CREATE TABLE [dbo].[Tra_TiposPregunta] (
[CveTipoPregunta] int IDENTITY(1,1) NOT NULL,
- [Codigo] varchar(50) COLLATE Modern_Spanish_CS_AI NOT NULL,
- [TipoPregunta] varchar(100) COLLATE Modern_Spanish_CS_AI NOT NULL,
+ [Codigo] varchar(50) COLLATE Modern_Spanish_CI_AS NOT NULL,
+ [TipoPregunta] varchar(100) COLLATE Modern_Spanish_CS_AS NOT NULL,
[EsActivo] bit CONSTRAINT [DF_Tra_TiposPregunta_EsActivo] DEFAULT ((1)) NOT NULL,
CONSTRAINT [PK_Tra_TiposPregunta] PRIMARY KEY CLUSTERED ([CveTipoPregunta]),
CONSTRAINT [UQ_Tra_TiposPregunta_Codigo] UNIQUE NONCLUSTERED ([Codigo])
@@ -2289,8 +2289,8 @@ GO
CREATE TABLE [dbo].[Tra_Preguntas] (
[CvePregunta] int IDENTITY(1,1) NOT NULL,
[CveTipoPregunta] int NOT NULL,
- [Pregunta] varchar(500) COLLATE Modern_Spanish_CS_AI NOT NULL,
- [Descripcion] varchar(1000) COLLATE Modern_Spanish_CS_AI NULL,
+ [Pregunta] varchar(500) COLLATE Modern_Spanish_CS_AS NOT NULL,
+ [Descripcion] varchar(1000) COLLATE Modern_Spanish_CS_AS NULL,
[EsRequerida] bit CONSTRAINT [DF_Tra_Preguntas_EsRequerida] DEFAULT ((0)) NOT NULL,
[Orden] int CONSTRAINT [DF_Tra_Preguntas_Orden] DEFAULT ((0)) NOT NULL,
[EsActivo] bit CONSTRAINT [DF_Tra_Preguntas_EsActivo] DEFAULT ((1)) NOT NULL,
@@ -2304,8 +2304,8 @@ GO
CREATE TABLE [dbo].[Tra_OpcionesPregunta] (
[CveOpcionPregunta] int IDENTITY(1,1) NOT NULL,
[CvePregunta] int NOT NULL,
- [TextoOpcion] varchar(300) COLLATE Modern_Spanish_CS_AI NOT NULL,
- [ValorOpcion] varchar(300) COLLATE Modern_Spanish_CS_AI NULL,
+ [TextoOpcion] varchar(300) COLLATE Modern_Spanish_CS_AS NOT NULL,
+ [ValorOpcion] varchar(300) COLLATE Modern_Spanish_CS_AS NULL,
[Orden] int CONSTRAINT [DF_Tra_OpcionesPregunta_Orden] DEFAULT ((0)) NOT NULL,
[EsActivo] bit CONSTRAINT [DF_Tra_OpcionesPregunta_EsActivo] DEFAULT ((1)) NOT NULL,
CONSTRAINT [PK_Tra_OpcionesPregunta] PRIMARY KEY CLUSTERED ([CveOpcionPregunta]),
@@ -2317,7 +2317,7 @@ GO
CREATE TABLE [dbo].[Tra_Solicitudes] (
[CveSolicitud] int IDENTITY(1,1) NOT NULL,
- [Folio] varchar(50) COLLATE Modern_Spanish_CS_AI NOT NULL,
+ [Folio] varchar(50) COLLATE Modern_Spanish_CS_AS NOT NULL,
[CveCliente] int NOT NULL,
[CveFraccionamiento] int NOT NULL,
[CveFraccionamientoEtapa] int NOT NULL,
@@ -2328,8 +2328,8 @@ CREATE TABLE [dbo].[Tra_Solicitudes] (
[FechaEnvio] datetime NULL,
[FechaAutorizacion] datetime NULL,
[FechaRechazo] datetime NULL,
- [ComentariosCliente] varchar(max) COLLATE Modern_Spanish_CS_AI NULL,
- [ComentariosAdministrativos] varchar(max) COLLATE Modern_Spanish_CS_AI NULL,
+ [ComentariosCliente] varchar(max) COLLATE Modern_Spanish_CS_AS NULL,
+ [ComentariosAdministrativos] varchar(max) COLLATE Modern_Spanish_CS_AS NULL,
[FechaAlta] datetime CONSTRAINT [DF_Tra_Solicitudes_FechaAlta] DEFAULT (GETDATE()) NOT NULL,
[FechaModificacion] datetime NULL,
CONSTRAINT [PK_Tra_Solicitudes] PRIMARY KEY CLUSTERED ([CveSolicitud]),
@@ -2343,7 +2343,7 @@ CREATE TABLE [dbo].[Tra_SolicitudesDependencias] (
[CveSolicitud] int NOT NULL,
[CveSolicitudRequerida] int NOT NULL,
[EsObligatoria] bit CONSTRAINT [DF_Tra_SolicitudesDependencias_EsObligatoria] DEFAULT ((1)) NOT NULL,
- [Condicion] varchar(500) COLLATE Modern_Spanish_CS_AI NULL,
+ [Condicion] varchar(500) COLLATE Modern_Spanish_CS_AS NULL,
[FechaAlta] datetime CONSTRAINT [DF_Tra_SolicitudesDependencias_FechaAlta] DEFAULT (GETDATE()) NOT NULL,
[CveUsuario] int NOT NULL,
CONSTRAINT [PK_Tra_SolicitudesDependencias] PRIMARY KEY CLUSTERED ([CveSolicitudDependencia]),
@@ -2357,7 +2357,7 @@ CREATE TABLE [dbo].[Tra_HistorialEstatusSolicitud] (
[CveSolicitud] int NOT NULL,
[CveEstatusSolicitud] int NOT NULL,
[CveUsuario] int NULL,
- [Comentarios] varchar(1000) COLLATE Modern_Spanish_CS_AI NULL,
+ [Comentarios] varchar(1000) COLLATE Modern_Spanish_CS_AS NULL,
[FechaAlta] datetime CONSTRAINT [DF_Tra_HistorialEstatusSolicitud_FechaAlta] DEFAULT (GETDATE()) NOT NULL,
CONSTRAINT [PK_Tra_HistorialEstatusSolicitud] PRIMARY KEY CLUSTERED ([CveHistorialEstatusSolicitud])
);
@@ -2379,13 +2379,13 @@ CREATE TABLE [dbo].[Tra_DocumentosSolicitud] (
[CveDocumentoSolicitud] int IDENTITY(1,1) NOT NULL,
[CveSolicitud] int NOT NULL,
[CveTipoDocumento] int NOT NULL,
- [NombreArchivo] varchar(255) COLLATE Modern_Spanish_CS_AI NOT NULL,
- [NombreArchivoFisico] varchar(255) COLLATE Modern_Spanish_CS_AI NOT NULL,
- [RutaArchivo] varchar(1000) COLLATE Modern_Spanish_CS_AI NOT NULL,
- [ContentType] varchar(100) COLLATE Modern_Spanish_CS_AI NULL,
+ [NombreArchivo] varchar(255) COLLATE Modern_Spanish_CS_AS NOT NULL,
+ [NombreArchivoFisico] varchar(255) COLLATE Modern_Spanish_CS_AS NOT NULL,
+ [RutaArchivo] varchar(1000) COLLATE Modern_Spanish_CS_AS NOT NULL,
+ [ContentType] varchar(100) COLLATE Modern_Spanish_CS_AS NULL,
[TamanoBytes] bigint NULL,
- [ComentarioCliente] varchar(1000) COLLATE Modern_Spanish_CS_AI NULL,
- [ComentarioAdministrativo] varchar(1000) COLLATE Modern_Spanish_CS_AI NULL,
+ [ComentarioCliente] varchar(1000) COLLATE Modern_Spanish_CS_AS NULL,
+ [ComentarioAdministrativo] varchar(1000) COLLATE Modern_Spanish_CS_AS NULL,
[EsAprobado] bit NULL,
[CveUsuarioCarga] int NULL,
[CveUsuarioRevisa] int NULL,
@@ -2413,7 +2413,7 @@ CREATE TABLE [dbo].[Tra_RespuestasSolicitud] (
[CveSolicitud] int NOT NULL,
[CvePregunta] int NOT NULL,
[CveOpcionPregunta] int NULL,
- [Valor] varchar(max) COLLATE Modern_Spanish_CS_AI NULL,
+ [Valor] varchar(max) COLLATE Modern_Spanish_CS_AS NULL,
[FechaAlta] datetime CONSTRAINT [DF_Tra_RespuestasSolicitud_FechaAlta] DEFAULT (GETDATE()) NOT NULL,
[FechaModificacion] datetime NULL,
[CveUsuario] int NULL,
@@ -2427,7 +2427,7 @@ CREATE TABLE [dbo].[Tra_CostosTramite] (
[CveTipoTramite] int NOT NULL,
[CvePS] int NOT NULL,
[CveMoneda] int NOT NULL,
- [Descripcion] varchar(300) COLLATE Modern_Spanish_CS_AI NOT NULL,
+ [Descripcion] varchar(300) COLLATE Modern_Spanish_CS_AS NOT NULL,
[Importe] decimal(18,2) CONSTRAINT [DF_Tra_CostosTramite_Importe] DEFAULT ((0)) NOT NULL,
[FechaInicioVigencia] date NULL,
[FechaFinVigencia] date NULL,
@@ -2446,8 +2446,8 @@ CREATE TABLE [dbo].[Tra_NotasSolicitud] (
[CveNotaSolicitud] int IDENTITY(1,1) NOT NULL,
[CveSolicitud] int NOT NULL,
[CveUsuario] int NULL,
- [TipoNota] varchar(50) COLLATE Modern_Spanish_CS_AI CONSTRAINT [DF_Tra_NotasSolicitud_TipoNota] DEFAULT ('General') NOT NULL,
- [Comentario] varchar(max) COLLATE Modern_Spanish_CS_AI NOT NULL,
+ [TipoNota] varchar(50) COLLATE Modern_Spanish_CS_AS CONSTRAINT [DF_Tra_NotasSolicitud_TipoNota] DEFAULT ('General') NOT NULL,
+ [Comentario] varchar(max) COLLATE Modern_Spanish_CS_AS NOT NULL,
[EsVisibleParaCliente] bit CONSTRAINT [DF_Tra_NotasSolicitud_Visible] DEFAULT ((1)) NOT NULL,
[FechaAlta] datetime CONSTRAINT [DF_Tra_NotasSolicitud_FechaAlta] DEFAULT (GETDATE()) NOT NULL,
CONSTRAINT [PK_Tra_NotasSolicitud] PRIMARY KEY CLUSTERED ([CveNotaSolicitud])
@@ -2486,7 +2486,7 @@ CREATE TABLE [dbo].[Vta_Pagos] (
[CvePrePoliza] int NULL,
[FechaPago] datetime NOT NULL,
[Importe] decimal(18,2) NOT NULL,
- [Referencia] varchar(200) COLLATE Modern_Spanish_CS_AI NULL,
+ [Referencia] varchar(200) COLLATE Modern_Spanish_CS_AS NULL,
[EsSaldoFavor] bit CONSTRAINT [DF_Vta_Pagos_EsSaldoFavor] DEFAULT ((0)) NOT NULL,
[EsActivo] bit CONSTRAINT [DF_Vta_Pagos_EsActivo] DEFAULT ((1)) NOT NULL,
[FechaAlta] datetime CONSTRAINT [DF_Vta_Pagos_FechaAlta] DEFAULT (GETDATE()) NOT NULL,
@@ -2882,7 +2882,6 @@ CREATE OR ALTER PROCEDURE [dbo].[Sis_ConfigurarLimpieza]
AS
BEGIN
SET NOCOUNT ON;
- SET XACT_ABORT ON;
IF @DiasRetencion NOT BETWEEN 30 AND 3650
THROW 51000, N'Los días de retención deben estar entre 30 y 3650.', 1;
@@ -2943,7 +2942,6 @@ CREATE OR ALTER PROCEDURE [dbo].[Sis_LimpiarRegistrosBorrados]
AS
BEGIN
SET NOCOUNT ON;
- SET XACT_ABORT ON;
IF @MaximoLotesPorTabla NOT BETWEEN 1 AND 10000
THROW 51010, N'El máximo de lotes debe estar entre 1 y 10000.', 1;
@@ -3141,7 +3139,6 @@ CREATE OR ALTER PROCEDURE [dbo].[PA_Sis_UsuarioLoginSuccessUpdate]
AS
BEGIN
SET NOCOUNT ON;
- SET XACT_ABORT ON;
SELECT @ErrorMostrar = NULL, @ErrorTipo = 0, @Return = 0;
BEGIN TRY
@@ -3182,7 +3179,6 @@ CREATE OR ALTER PROCEDURE [dbo].[PA_Sis_UsuarioLoginFailedUpdate]
AS
BEGIN
SET NOCOUNT ON;
- SET XACT_ABORT ON;
SELECT @ErrorMostrar = NULL, @ErrorTipo = 0, @Return = 0;
BEGIN TRY
@@ -3231,7 +3227,6 @@ CREATE OR ALTER PROCEDURE [dbo].[PA_Sis_IntentoInicioSesionAdd]
AS
BEGIN
SET NOCOUNT ON;
- SET XACT_ABORT ON;
SELECT @ErrorMostrar = NULL, @ErrorTipo = 0, @Return = 0;
BEGIN TRY
@@ -3267,7 +3262,6 @@ CREATE OR ALTER PROCEDURE [dbo].[PA_Sis_UsuarioSesionAdd]
AS
BEGIN
SET NOCOUNT ON;
- SET XACT_ABORT ON;
SELECT @ErrorMostrar = NULL, @ErrorTipo = 0, @Return = 0;
BEGIN TRY
@@ -3310,7 +3304,6 @@ CREATE OR ALTER PROCEDURE [dbo].[PA_Sis_UsuarioSesionEnd]
AS
BEGIN
SET NOCOUNT ON;
- SET XACT_ABORT ON;
SELECT @ErrorMostrar = NULL, @ErrorTipo = 0, @Return = 0;
BEGIN TRY
@@ -3421,7 +3414,6 @@ BEGIN
WHERE RM.[CveRol] = @CveRol
AND RM.[PuedeVer] = (1)
AND M.[Activo] = (1)
- AND M.[Visible] = (1)
AND RM.[Borrado] = (0)
AND M.[Borrado] = (0)
AND
@@ -3582,7 +3574,7 @@ BEGIN
[CveUsuarioVerificacionCorreo] int IDENTITY(1,1) NOT NULL,
[CveUsuario] int NOT NULL,
[CveClienteRegistro] int NULL,
- [HashToken] char(64) COLLATE Modern_Spanish_CS_AI NOT NULL,
+ [HashToken] char(64) COLLATE Modern_Spanish_CS_AS NOT NULL,
[FechaExpiracion] datetime2(0) NOT NULL,
[FechaVerificacion] datetime2(0) NULL,
[Utilizado] bit NOT NULL CONSTRAINT [DF_Sis_UsuariosVerificacionesCorreo_Utilizado] DEFAULT ((0)),
@@ -3732,7 +3724,6 @@ CREATE OR ALTER PROCEDURE [dbo].[PA_Sis_RegistroClienteAdd]
AS
BEGIN
SET NOCOUNT ON;
- SET XACT_ABORT ON;
SELECT @ErrorMostrar = NULL, @ErrorTipo = 0, @Return = 0;
BEGIN TRY
DECLARE @CveRolEmpresa int;
@@ -3768,7 +3759,6 @@ BEGIN
RETURN;
END;
- BEGIN TRANSACTION;
INSERT INTO [dbo].[Sis_Usuarios]
([NombreUsuario], [HashContrasena], [CorreoElectronico], [CveRol], [Activo],
@@ -3801,13 +3791,11 @@ BEGIN
VALUES
(@CveUsuario, @CveCliente, @HashToken, DATEADD(HOUR, @HorasExpiracion, SYSDATETIME()));
- COMMIT TRANSACTION;
SELECT @CveUsuario AS [CveUsuario], @CveCliente AS [CveCliente];
SET @Return = 1;
END TRY
BEGIN CATCH
- IF XACT_STATE() <> 0 ROLLBACK TRANSACTION;
SET @ErrorMostrar = 'Ocurrió un error al crear el registro; favor de contactar a Sistemas.';
SET @ErrorTipo = 1;
SET @Return = 0;
@@ -3826,7 +3814,6 @@ CREATE OR ALTER PROCEDURE [dbo].[PA_Sis_CorreoVerify]
AS
BEGIN
SET NOCOUNT ON;
- SET XACT_ABORT ON;
SELECT @ErrorMostrar = NULL, @ErrorTipo = 0, @Return = 0;
BEGIN TRY
DECLARE @CveVerificacion int;
@@ -3850,7 +3837,6 @@ BEGIN
RETURN;
END;
- BEGIN TRANSACTION;
UPDATE [dbo].[Sis_UsuariosVerificacionesCorreo]
SET [Utilizado] = (1), [FechaVerificacion] = SYSDATETIME()
@@ -3858,7 +3844,6 @@ BEGIN
IF @@ROWCOUNT = (0)
BEGIN
- ROLLBACK TRANSACTION;
SET @ErrorMostrar = 'La liga de verificación ya fue utilizada.';
SET @ErrorTipo = 2;
RETURN;
@@ -3874,11 +3859,9 @@ BEGIN
SET [Estatus] = (1), [CveUsuarioModifico] = @CveUsuario
WHERE [CveCliente] = @CveCliente AND [CveUsuario] = @CveUsuario AND [Borrado] = (0);
- COMMIT TRANSACTION;
SET @Return = 1;
END TRY
BEGIN CATCH
- IF XACT_STATE() <> 0 ROLLBACK TRANSACTION;
SET @ErrorMostrar = 'Ocurrió un error al verificar el correo; favor de contactar a Sistemas.';
SET @ErrorTipo = 1;
SET @Return = 0;
@@ -3976,7 +3959,6 @@ CREATE OR ALTER PROCEDURE [dbo].[PA_Sis_UsuarioSave]
AS
BEGIN
SET NOCOUNT ON;
- SET XACT_ABORT ON;
SELECT @ErrorMostrar = NULL, @ErrorTipo = 0, @Return = 0;
BEGIN TRY
IF NOT EXISTS
@@ -4049,7 +4031,6 @@ CREATE OR ALTER PROCEDURE [dbo].[PA_Sis_UsuarioDelete]
AS
BEGIN
SET NOCOUNT ON;
- SET XACT_ABORT ON;
SELECT @ErrorMostrar = NULL, @ErrorTipo = 0, @Return = 0;
BEGIN TRY
IF @CveUsuario = @CveUsuarioEjecuta
@@ -4125,7 +4106,6 @@ CREATE OR ALTER PROCEDURE [dbo].[PA_Sis_UsuarioClienteSave]
AS
BEGIN
SET NOCOUNT ON;
- SET XACT_ABORT ON;
SELECT @ErrorMostrar = NULL, @ErrorTipo = 0, @Return = 0;
BEGIN TRY
IF NOT EXISTS
@@ -4196,7 +4176,6 @@ CREATE OR ALTER PROCEDURE [dbo].[PA_Clientes_EstatusUpdate]
AS
BEGIN
SET NOCOUNT ON;
- SET XACT_ABORT ON;
SELECT @ErrorMostrar = NULL, @ErrorTipo = 0, @Return = 0;
BEGIN TRY
UPDATE C
diff --git a/Esquema_Borrado_Logico_Limpieza.sql b/Esquema_Borrado_Logico_Limpieza.sql
index 058cf7e..1f297c0 100644
--- a/Esquema_Borrado_Logico_Limpieza.sql
+++ b/Esquema_Borrado_Logico_Limpieza.sql
@@ -119,7 +119,6 @@ CREATE OR ALTER PROCEDURE [dbo].[Sis_ConfigurarLimpieza]
AS
BEGIN
SET NOCOUNT ON;
- SET XACT_ABORT ON;
IF @DiasRetencion NOT BETWEEN 30 AND 3650
THROW 51000, N'Los días de retención deben estar entre 30 y 3650.', 1;
@@ -180,7 +179,6 @@ CREATE OR ALTER PROCEDURE [dbo].[Sis_LimpiarRegistrosBorrados]
AS
BEGIN
SET NOCOUNT ON;
- SET XACT_ABORT ON;
IF @MaximoLotesPorTabla NOT BETWEEN 1 AND 10000
THROW 51010, N'El máximo de lotes debe estar entre 1 y 10000.', 1;
diff --git a/Esquema_Tramites_Pagos_AguaHillo.sql b/Esquema_Tramites_Pagos_AguaHillo.sql
index 4c3648c..1660d60 100644
--- a/Esquema_Tramites_Pagos_AguaHillo.sql
+++ b/Esquema_Tramites_Pagos_AguaHillo.sql
@@ -31,10 +31,10 @@ GO
CREATE TABLE [dbo].[Fraccionamientos] (
[CveFraccionamiento] int IDENTITY(1,1) NOT NULL,
[CveCliente] int NOT NULL,
- [Fraccionamiento] varchar(200) COLLATE Modern_Spanish_CS_AI NOT NULL,
+ [Fraccionamiento] varchar(200) COLLATE Modern_Spanish_CS_AS NOT NULL,
[Hectareas] decimal(18,4) NULL,
- [Ubicacion] varchar(500) COLLATE Modern_Spanish_CS_AI NULL,
- [Estatus] varchar(50) COLLATE Modern_Spanish_CS_AI NULL,
+ [Ubicacion] varchar(500) COLLATE Modern_Spanish_CS_AS NULL,
+ [Estatus] varchar(50) COLLATE Modern_Spanish_CS_AS NULL,
[EsActivo] bit CONSTRAINT [DF_Fraccionamientos_EsActivo] DEFAULT ((1)) NOT NULL,
[FechaAlta] datetime CONSTRAINT [DF_Fraccionamientos_FechaAlta] DEFAULT (GETDATE()) NOT NULL,
[FechaModificacion] datetime NULL,
@@ -49,7 +49,7 @@ GO
CREATE TABLE [dbo].[FraccionamientosEtapas] (
[CveFraccionamientoEtapa] int IDENTITY(1,1) NOT NULL,
[CveFraccionamiento] int NOT NULL,
- [Etapa] varchar(150) COLLATE Modern_Spanish_CS_AI NOT NULL,
+ [Etapa] varchar(150) COLLATE Modern_Spanish_CS_AS NOT NULL,
[Hectareas] decimal(18,4) NULL,
[Orden] int CONSTRAINT [DF_FraccionamientosEtapas_Orden] DEFAULT ((0)) NOT NULL,
[EsActivo] bit CONSTRAINT [DF_FraccionamientosEtapas_EsActivo] DEFAULT ((1)) NOT NULL,
@@ -66,12 +66,12 @@ GO
CREATE TABLE [dbo].[FraccionamientosLotes] (
[CveFraccionamientoLote] int IDENTITY(1,1) NOT NULL,
[CveFraccionamientoEtapa] int NOT NULL,
- [Tipo] varchar(100) COLLATE Modern_Spanish_CS_AI NULL,
- [Calle] varchar(200) COLLATE Modern_Spanish_CS_AI NULL,
- [Catastro] varchar(100) COLLATE Modern_Spanish_CS_AI NULL,
+ [Tipo] varchar(100) COLLATE Modern_Spanish_CS_AS NULL,
+ [Calle] varchar(200) COLLATE Modern_Spanish_CS_AS NULL,
+ [Catastro] varchar(100) COLLATE Modern_Spanish_CS_AS NULL,
[MetrosCuadrados] decimal(18,4) NULL,
- [Numero] varchar(50) COLLATE Modern_Spanish_CS_AI NULL,
- [Duplicador] varchar(50) COLLATE Modern_Spanish_CS_AI NULL,
+ [Numero] varchar(50) COLLATE Modern_Spanish_CS_AS NULL,
+ [Duplicador] varchar(50) COLLATE Modern_Spanish_CS_AS NULL,
[EsActivo] bit CONSTRAINT [DF_FraccionamientosLotes_EsActivo] DEFAULT ((1)) NOT NULL,
[FechaAlta] datetime CONSTRAINT [DF_FraccionamientosLotes_FechaAlta] DEFAULT (GETDATE()) NOT NULL,
[FechaModificacion] datetime NULL,
@@ -85,9 +85,9 @@ GO
CREATE TABLE [dbo].[Tra_TiposTramite] (
[CveTipoTramite] int IDENTITY(1,1) NOT NULL,
- [Codigo] varchar(50) COLLATE Modern_Spanish_CS_AI NOT NULL,
- [TipoTramite] varchar(200) COLLATE Modern_Spanish_CS_AI NOT NULL,
- [Descripcion] varchar(500) COLLATE Modern_Spanish_CS_AI NULL,
+ [Codigo] varchar(50) COLLATE Modern_Spanish_CI_AS NOT NULL,
+ [TipoTramite] varchar(200) COLLATE Modern_Spanish_CS_AS NOT NULL,
+ [Descripcion] varchar(500) COLLATE Modern_Spanish_CS_AS NULL,
[Orden] int CONSTRAINT [DF_Tra_TiposTramite_Orden] DEFAULT ((0)) NOT NULL,
[EsActivo] bit CONSTRAINT [DF_Tra_TiposTramite_EsActivo] DEFAULT ((1)) NOT NULL,
[FechaAlta] datetime CONSTRAINT [DF_Tra_TiposTramite_FechaAlta] DEFAULT (GETDATE()) NOT NULL,
@@ -100,8 +100,8 @@ GO
CREATE TABLE [dbo].[Tra_EstatusSolicitud] (
[CveEstatusSolicitud] int IDENTITY(1,1) NOT NULL,
- [Codigo] varchar(50) COLLATE Modern_Spanish_CS_AI NOT NULL,
- [EstatusSolicitud] varchar(100) COLLATE Modern_Spanish_CS_AI NOT NULL,
+ [Codigo] varchar(50) COLLATE Modern_Spanish_CI_AS NOT NULL,
+ [EstatusSolicitud] varchar(100) COLLATE Modern_Spanish_CS_AS NOT NULL,
[Orden] int CONSTRAINT [DF_Tra_EstatusSolicitud_Orden] DEFAULT ((0)) NOT NULL,
[EsFinal] bit CONSTRAINT [DF_Tra_EstatusSolicitud_EsFinal] DEFAULT ((0)) NOT NULL,
[EsActivo] bit CONSTRAINT [DF_Tra_EstatusSolicitud_EsActivo] DEFAULT ((1)) NOT NULL,
@@ -112,9 +112,9 @@ GO
CREATE TABLE [dbo].[Tra_TiposDocumento] (
[CveTipoDocumento] int IDENTITY(1,1) NOT NULL,
- [TipoDocumento] varchar(200) COLLATE Modern_Spanish_CS_AI NOT NULL,
- [Descripcion] varchar(500) COLLATE Modern_Spanish_CS_AI NULL,
- [ExtensionesPermitidas] varchar(200) COLLATE Modern_Spanish_CS_AI NULL,
+ [TipoDocumento] varchar(200) COLLATE Modern_Spanish_CS_AS NOT NULL,
+ [Descripcion] varchar(500) COLLATE Modern_Spanish_CS_AS NULL,
+ [ExtensionesPermitidas] varchar(200) COLLATE Modern_Spanish_CS_AS NULL,
[TamanoMaximoMb] int NULL,
[EsActivo] bit CONSTRAINT [DF_Tra_TiposDocumento_EsActivo] DEFAULT ((1)) NOT NULL,
[FechaAlta] datetime CONSTRAINT [DF_Tra_TiposDocumento_FechaAlta] DEFAULT (GETDATE()) NOT NULL,
@@ -128,8 +128,8 @@ GO
CREATE TABLE [dbo].[Tra_TiposPregunta] (
[CveTipoPregunta] int IDENTITY(1,1) NOT NULL,
- [Codigo] varchar(50) COLLATE Modern_Spanish_CS_AI NOT NULL,
- [TipoPregunta] varchar(100) COLLATE Modern_Spanish_CS_AI NOT NULL,
+ [Codigo] varchar(50) COLLATE Modern_Spanish_CI_AS NOT NULL,
+ [TipoPregunta] varchar(100) COLLATE Modern_Spanish_CS_AS NOT NULL,
[EsActivo] bit CONSTRAINT [DF_Tra_TiposPregunta_EsActivo] DEFAULT ((1)) NOT NULL,
CONSTRAINT [PK_Tra_TiposPregunta] PRIMARY KEY CLUSTERED ([CveTipoPregunta]),
CONSTRAINT [UQ_Tra_TiposPregunta_Codigo] UNIQUE NONCLUSTERED ([Codigo])
@@ -139,8 +139,8 @@ GO
CREATE TABLE [dbo].[Tra_Preguntas] (
[CvePregunta] int IDENTITY(1,1) NOT NULL,
[CveTipoPregunta] int NOT NULL,
- [Pregunta] varchar(500) COLLATE Modern_Spanish_CS_AI NOT NULL,
- [Descripcion] varchar(1000) COLLATE Modern_Spanish_CS_AI NULL,
+ [Pregunta] varchar(500) COLLATE Modern_Spanish_CS_AS NOT NULL,
+ [Descripcion] varchar(1000) COLLATE Modern_Spanish_CS_AS NULL,
[EsRequerida] bit CONSTRAINT [DF_Tra_Preguntas_EsRequerida] DEFAULT ((0)) NOT NULL,
[Orden] int CONSTRAINT [DF_Tra_Preguntas_Orden] DEFAULT ((0)) NOT NULL,
[EsActivo] bit CONSTRAINT [DF_Tra_Preguntas_EsActivo] DEFAULT ((1)) NOT NULL,
@@ -154,8 +154,8 @@ GO
CREATE TABLE [dbo].[Tra_OpcionesPregunta] (
[CveOpcionPregunta] int IDENTITY(1,1) NOT NULL,
[CvePregunta] int NOT NULL,
- [TextoOpcion] varchar(300) COLLATE Modern_Spanish_CS_AI NOT NULL,
- [ValorOpcion] varchar(300) COLLATE Modern_Spanish_CS_AI NULL,
+ [TextoOpcion] varchar(300) COLLATE Modern_Spanish_CS_AS NOT NULL,
+ [ValorOpcion] varchar(300) COLLATE Modern_Spanish_CS_AS NULL,
[Orden] int CONSTRAINT [DF_Tra_OpcionesPregunta_Orden] DEFAULT ((0)) NOT NULL,
[EsActivo] bit CONSTRAINT [DF_Tra_OpcionesPregunta_EsActivo] DEFAULT ((1)) NOT NULL,
CONSTRAINT [PK_Tra_OpcionesPregunta] PRIMARY KEY CLUSTERED ([CveOpcionPregunta]),
@@ -167,7 +167,7 @@ GO
CREATE TABLE [dbo].[Tra_Solicitudes] (
[CveSolicitud] int IDENTITY(1,1) NOT NULL,
- [Folio] varchar(50) COLLATE Modern_Spanish_CS_AI NOT NULL,
+ [Folio] varchar(50) COLLATE Modern_Spanish_CS_AS NOT NULL,
[CveCliente] int NOT NULL,
[CveFraccionamiento] int NOT NULL,
[CveFraccionamientoEtapa] int NOT NULL,
@@ -178,8 +178,8 @@ CREATE TABLE [dbo].[Tra_Solicitudes] (
[FechaEnvio] datetime NULL,
[FechaAutorizacion] datetime NULL,
[FechaRechazo] datetime NULL,
- [ComentariosCliente] varchar(max) COLLATE Modern_Spanish_CS_AI NULL,
- [ComentariosAdministrativos] varchar(max) COLLATE Modern_Spanish_CS_AI NULL,
+ [ComentariosCliente] varchar(max) COLLATE Modern_Spanish_CS_AS NULL,
+ [ComentariosAdministrativos] varchar(max) COLLATE Modern_Spanish_CS_AS NULL,
[FechaAlta] datetime CONSTRAINT [DF_Tra_Solicitudes_FechaAlta] DEFAULT (GETDATE()) NOT NULL,
[FechaModificacion] datetime NULL,
CONSTRAINT [PK_Tra_Solicitudes] PRIMARY KEY CLUSTERED ([CveSolicitud]),
@@ -193,7 +193,7 @@ CREATE TABLE [dbo].[Tra_SolicitudesDependencias] (
[CveSolicitud] int NOT NULL,
[CveSolicitudRequerida] int NOT NULL,
[EsObligatoria] bit CONSTRAINT [DF_Tra_SolicitudesDependencias_EsObligatoria] DEFAULT ((1)) NOT NULL,
- [Condicion] varchar(500) COLLATE Modern_Spanish_CS_AI NULL,
+ [Condicion] varchar(500) COLLATE Modern_Spanish_CS_AS NULL,
[FechaAlta] datetime CONSTRAINT [DF_Tra_SolicitudesDependencias_FechaAlta] DEFAULT (GETDATE()) NOT NULL,
[CveUsuario] int NOT NULL,
CONSTRAINT [PK_Tra_SolicitudesDependencias] PRIMARY KEY CLUSTERED ([CveSolicitudDependencia]),
@@ -207,7 +207,7 @@ CREATE TABLE [dbo].[Tra_HistorialEstatusSolicitud] (
[CveSolicitud] int NOT NULL,
[CveEstatusSolicitud] int NOT NULL,
[CveUsuario] int NULL,
- [Comentarios] varchar(1000) COLLATE Modern_Spanish_CS_AI NULL,
+ [Comentarios] varchar(1000) COLLATE Modern_Spanish_CS_AS NULL,
[FechaAlta] datetime CONSTRAINT [DF_Tra_HistorialEstatusSolicitud_FechaAlta] DEFAULT (GETDATE()) NOT NULL,
CONSTRAINT [PK_Tra_HistorialEstatusSolicitud] PRIMARY KEY CLUSTERED ([CveHistorialEstatusSolicitud])
);
@@ -229,13 +229,13 @@ CREATE TABLE [dbo].[Tra_DocumentosSolicitud] (
[CveDocumentoSolicitud] int IDENTITY(1,1) NOT NULL,
[CveSolicitud] int NOT NULL,
[CveTipoDocumento] int NOT NULL,
- [NombreArchivo] varchar(255) COLLATE Modern_Spanish_CS_AI NOT NULL,
- [NombreArchivoFisico] varchar(255) COLLATE Modern_Spanish_CS_AI NOT NULL,
- [RutaArchivo] varchar(1000) COLLATE Modern_Spanish_CS_AI NOT NULL,
- [ContentType] varchar(100) COLLATE Modern_Spanish_CS_AI NULL,
+ [NombreArchivo] varchar(255) COLLATE Modern_Spanish_CS_AS NOT NULL,
+ [NombreArchivoFisico] varchar(255) COLLATE Modern_Spanish_CS_AS NOT NULL,
+ [RutaArchivo] varchar(1000) COLLATE Modern_Spanish_CS_AS NOT NULL,
+ [ContentType] varchar(100) COLLATE Modern_Spanish_CS_AS NULL,
[TamanoBytes] bigint NULL,
- [ComentarioCliente] varchar(1000) COLLATE Modern_Spanish_CS_AI NULL,
- [ComentarioAdministrativo] varchar(1000) COLLATE Modern_Spanish_CS_AI NULL,
+ [ComentarioCliente] varchar(1000) COLLATE Modern_Spanish_CS_AS NULL,
+ [ComentarioAdministrativo] varchar(1000) COLLATE Modern_Spanish_CS_AS NULL,
[EsAprobado] bit NULL,
[CveUsuarioCarga] int NULL,
[CveUsuarioRevisa] int NULL,
@@ -263,7 +263,7 @@ CREATE TABLE [dbo].[Tra_RespuestasSolicitud] (
[CveSolicitud] int NOT NULL,
[CvePregunta] int NOT NULL,
[CveOpcionPregunta] int NULL,
- [Valor] varchar(max) COLLATE Modern_Spanish_CS_AI NULL,
+ [Valor] varchar(max) COLLATE Modern_Spanish_CS_AS NULL,
[FechaAlta] datetime CONSTRAINT [DF_Tra_RespuestasSolicitud_FechaAlta] DEFAULT (GETDATE()) NOT NULL,
[FechaModificacion] datetime NULL,
[CveUsuario] int NULL,
@@ -277,7 +277,7 @@ CREATE TABLE [dbo].[Tra_CostosTramite] (
[CveTipoTramite] int NOT NULL,
[CvePS] int NOT NULL,
[CveMoneda] int NOT NULL,
- [Descripcion] varchar(300) COLLATE Modern_Spanish_CS_AI NOT NULL,
+ [Descripcion] varchar(300) COLLATE Modern_Spanish_CS_AS NOT NULL,
[Importe] decimal(18,2) CONSTRAINT [DF_Tra_CostosTramite_Importe] DEFAULT ((0)) NOT NULL,
[FechaInicioVigencia] date NULL,
[FechaFinVigencia] date NULL,
@@ -296,8 +296,8 @@ CREATE TABLE [dbo].[Tra_NotasSolicitud] (
[CveNotaSolicitud] int IDENTITY(1,1) NOT NULL,
[CveSolicitud] int NOT NULL,
[CveUsuario] int NULL,
- [TipoNota] varchar(50) COLLATE Modern_Spanish_CS_AI CONSTRAINT [DF_Tra_NotasSolicitud_TipoNota] DEFAULT ('General') NOT NULL,
- [Comentario] varchar(max) COLLATE Modern_Spanish_CS_AI NOT NULL,
+ [TipoNota] varchar(50) COLLATE Modern_Spanish_CS_AS CONSTRAINT [DF_Tra_NotasSolicitud_TipoNota] DEFAULT ('General') NOT NULL,
+ [Comentario] varchar(max) COLLATE Modern_Spanish_CS_AS NOT NULL,
[EsVisibleParaCliente] bit CONSTRAINT [DF_Tra_NotasSolicitud_Visible] DEFAULT ((1)) NOT NULL,
[FechaAlta] datetime CONSTRAINT [DF_Tra_NotasSolicitud_FechaAlta] DEFAULT (GETDATE()) NOT NULL,
CONSTRAINT [PK_Tra_NotasSolicitud] PRIMARY KEY CLUSTERED ([CveNotaSolicitud])
@@ -336,7 +336,7 @@ CREATE TABLE [dbo].[Vta_Pagos] (
[CvePrePoliza] int NULL,
[FechaPago] datetime NOT NULL,
[Importe] decimal(18,2) NOT NULL,
- [Referencia] varchar(200) COLLATE Modern_Spanish_CS_AI NULL,
+ [Referencia] varchar(200) COLLATE Modern_Spanish_CS_AS NULL,
[EsSaldoFavor] bit CONSTRAINT [DF_Vta_Pagos_EsSaldoFavor] DEFAULT ((0)) NOT NULL,
[EsActivo] bit CONSTRAINT [DF_Vta_Pagos_EsActivo] DEFAULT ((1)) NOT NULL,
[FechaAlta] datetime CONSTRAINT [DF_Vta_Pagos_FechaAlta] DEFAULT (GETDATE()) NOT NULL,
diff --git a/Facturacion_Cfdi_Timbrado.sql b/Facturacion_Cfdi_Timbrado.sql
new file mode 100644
index 0000000..4a4ee7f
--- /dev/null
+++ b/Facturacion_Cfdi_Timbrado.sql
@@ -0,0 +1,1620 @@
+SET NOCOUNT ON;
+GO
+
+/*
+ Infraestructura de CFDI 4.0.
+
+ - Fac_EmisoresFiscales contiene datos fiscales y referencias de configuración.
+ Nunca almacena contraseñas de CSD, tokens ni credenciales del PAC.
+ - Fac_CfdiDocumentos conserva el XML previo al timbrado y una fotografía de
+ los datos fiscales usados al emitir.
+ - Fac_CfdiTimbrados conserva todos los intentos y respuestas. No existe una
+ restricción única sobre UUID porque la tabla debe evidenciar un doble timbrado.
+ - CveCfdiTimbradoVigente identifica el timbre adoptado por el documento padre.
+ - Los XML se guardan como varbinary(max) para conservar bytes recuperables.
+*/
+
+IF OBJECT_ID(N'dbo.Fac_EmisoresFiscales', N'U') IS NULL
+BEGIN
+ CREATE TABLE dbo.Fac_EmisoresFiscales
+ (
+ CveEmisorFiscal int IDENTITY(1, 1) NOT NULL,
+ CveEmpresa int NOT NULL,
+ Rfc varchar(13) COLLATE Modern_Spanish_CS_AS NOT NULL,
+ NombreFiscal varchar(300) COLLATE Modern_Spanish_CS_AS NOT NULL,
+ RegimenFiscal varchar(3) COLLATE Modern_Spanish_CS_AS NOT NULL,
+ CodigoPostal varchar(5) COLLATE Modern_Spanish_CI_AS NOT NULL,
+ ProveedorPac varchar(50) COLLATE Modern_Spanish_CS_AS NOT NULL,
+ AmbienteProduccion bit CONSTRAINT DF_Fac_EmisoresFiscales_Ambiente DEFAULT (0) NOT NULL,
+ ReferenciaCredencialPac varchar(100) COLLATE Modern_Spanish_CS_AS NOT NULL,
+ ReferenciaContratoPac varchar(100) COLLATE Modern_Spanish_CS_AS NULL,
+ ReferenciaCertificadoCsd varchar(500) COLLATE Modern_Spanish_CS_AS NULL,
+ ReferenciaLlavePrivadaCsd varchar(500) COLLATE Modern_Spanish_CS_AS NULL,
+ NumeroCertificado varchar(20) COLLATE Modern_Spanish_CS_AS NULL,
+ VigenciaCertificadoDesde datetime2(0) NULL,
+ VigenciaCertificadoHasta datetime2(0) NULL,
+ HuellaCertificado varchar(128) COLLATE Modern_Spanish_CS_AS NULL,
+ EsActivo bit CONSTRAINT DF_Fac_EmisoresFiscales_EsActivo DEFAULT (1) NOT NULL,
+ FechaAlta datetime2(0) CONSTRAINT DF_Fac_EmisoresFiscales_FechaAlta DEFAULT (SYSDATETIME()) NOT NULL,
+ FechaModificacion datetime2(0) NULL,
+ CveUsuario int NOT NULL,
+ CONSTRAINT PK_Fac_EmisoresFiscales
+ PRIMARY KEY CLUSTERED (CveEmisorFiscal),
+ CONSTRAINT UQ_Fac_EmisoresFiscales_Empresa
+ UNIQUE NONCLUSTERED (CveEmpresa),
+ CONSTRAINT CK_Fac_EmisoresFiscales_DatosFiscales
+ CHECK
+ (
+ LEN(Rfc) IN (12, 13)
+ AND LEN(RegimenFiscal) = 3
+ AND LEN(CodigoPostal) = 5
+ ),
+ CONSTRAINT FK_Fac_EmisoresFiscales_Usuarios
+ FOREIGN KEY (CveUsuario)
+ REFERENCES dbo.Sis_Usuarios (CveUsuario)
+ );
+END;
+GO
+
+IF EXISTS
+(
+ SELECT 1
+ FROM sys.check_constraints
+ WHERE parent_object_id = OBJECT_ID(N'dbo.Fac_EmisoresFiscales')
+ AND name = N'CK_Fac_EmisoresFiscales_Rfc'
+)
+ ALTER TABLE dbo.Fac_EmisoresFiscales DROP CONSTRAINT CK_Fac_EmisoresFiscales_Rfc;
+GO
+
+IF EXISTS
+(
+ SELECT 1
+ FROM sys.check_constraints
+ WHERE parent_object_id = OBJECT_ID(N'dbo.Fac_EmisoresFiscales')
+ AND name = N'CK_Fac_EmisoresFiscales_Regimen'
+)
+ ALTER TABLE dbo.Fac_EmisoresFiscales DROP CONSTRAINT CK_Fac_EmisoresFiscales_Regimen;
+GO
+
+IF EXISTS
+(
+ SELECT 1
+ FROM sys.check_constraints
+ WHERE parent_object_id = OBJECT_ID(N'dbo.Fac_EmisoresFiscales')
+ AND name = N'CK_Fac_EmisoresFiscales_CodigoPostal'
+)
+ ALTER TABLE dbo.Fac_EmisoresFiscales DROP CONSTRAINT CK_Fac_EmisoresFiscales_CodigoPostal;
+GO
+
+IF NOT EXISTS
+(
+ SELECT 1
+ FROM sys.check_constraints
+ WHERE parent_object_id = OBJECT_ID(N'dbo.Fac_EmisoresFiscales')
+ AND name = N'CK_Fac_EmisoresFiscales_DatosFiscales'
+)
+BEGIN
+ ALTER TABLE dbo.Fac_EmisoresFiscales WITH CHECK
+ ADD CONSTRAINT CK_Fac_EmisoresFiscales_DatosFiscales
+ CHECK
+ (
+ LEN(Rfc) IN (12, 13)
+ AND LEN(RegimenFiscal) = 3
+ AND LEN(CodigoPostal) = 5
+ );
+
+ ALTER TABLE dbo.Fac_EmisoresFiscales
+ CHECK CONSTRAINT CK_Fac_EmisoresFiscales_DatosFiscales;
+END;
+GO
+
+IF OBJECT_ID(N'dbo.Fac_CfdiDocumentos', N'U') IS NULL
+BEGIN
+ CREATE TABLE dbo.Fac_CfdiDocumentos
+ (
+ CveCfdiDocumento bigint IDENTITY(1, 1) NOT NULL,
+ IdentificadorDocumento uniqueidentifier CONSTRAINT DF_Fac_CfdiDocumentos_Identificador DEFAULT (NEWID()) NOT NULL,
+ CveEmpresa int NOT NULL,
+ CveCliente int NOT NULL,
+ TipoOrigen varchar(50) COLLATE Modern_Spanish_CS_AS NULL,
+ CveOrigen bigint NULL,
+ ReferenciaOrigen varchar(150) COLLATE Modern_Spanish_CS_AS NULL,
+ VersionCfdi varchar(5) COLLATE Modern_Spanish_CS_AS CONSTRAINT DF_Fac_CfdiDocumentos_Version DEFAULT ('4.0') NOT NULL,
+ Serie varchar(25) COLLATE Modern_Spanish_CS_AS NULL,
+ Folio varchar(40) COLLATE Modern_Spanish_CS_AS NULL,
+ FechaEmision datetime2(0) NOT NULL,
+ TipoComprobante char(1) COLLATE Modern_Spanish_CS_AS NOT NULL,
+ FormaPago varchar(2) COLLATE Modern_Spanish_CS_AS NULL,
+ MetodoPago varchar(3) COLLATE Modern_Spanish_CS_AS NULL,
+ CondicionesPago varchar(1000) COLLATE Modern_Spanish_CS_AS NULL,
+ Moneda varchar(3) COLLATE Modern_Spanish_CS_AS NOT NULL,
+ TipoCambio decimal(19, 6) NULL,
+ Exportacion varchar(2) COLLATE Modern_Spanish_CS_AS NOT NULL,
+ LugarExpedicion varchar(5) COLLATE Modern_Spanish_CI_AS NOT NULL,
+ Subtotal decimal(19, 6) NOT NULL,
+ Descuento decimal(19, 6) CONSTRAINT DF_Fac_CfdiDocumentos_Descuento DEFAULT (0) NOT NULL,
+ TotalImpuestosTrasladados decimal(19, 6) CONSTRAINT DF_Fac_CfdiDocumentos_Trasladados DEFAULT (0) NOT NULL,
+ TotalImpuestosRetenidos decimal(19, 6) CONSTRAINT DF_Fac_CfdiDocumentos_Retenidos DEFAULT (0) NOT NULL,
+ Total decimal(19, 6) NOT NULL,
+ RfcEmisor varchar(13) COLLATE Modern_Spanish_CS_AS NOT NULL,
+ NombreEmisor varchar(300) COLLATE Modern_Spanish_CS_AS NOT NULL,
+ RegimenFiscalEmisor varchar(3) COLLATE Modern_Spanish_CS_AS NOT NULL,
+ RfcReceptor varchar(13) COLLATE Modern_Spanish_CS_AS NOT NULL,
+ NombreReceptor varchar(300) COLLATE Modern_Spanish_CS_AS NOT NULL,
+ DomicilioFiscalReceptor varchar(5) COLLATE Modern_Spanish_CI_AS NOT NULL,
+ RegimenFiscalReceptor varchar(3) COLLATE Modern_Spanish_CS_AS NOT NULL,
+ UsoCfdi varchar(5) COLLATE Modern_Spanish_CS_AS NOT NULL,
+ Estado varchar(20) COLLATE Modern_Spanish_CS_AS CONSTRAINT DF_Fac_CfdiDocumentos_Estado DEFAULT ('BORRADOR') NOT NULL,
+ XmlSinTimbrar varbinary(max) NOT NULL,
+ HashXmlSinTimbrar binary(32) NOT NULL,
+ CveCfdiTimbradoVigente bigint NULL,
+ FechaAlta datetime2(0) CONSTRAINT DF_Fac_CfdiDocumentos_FechaAlta DEFAULT (SYSDATETIME()) NOT NULL,
+ FechaModificacion datetime2(0) NULL,
+ CveUsuario int NOT NULL,
+ VersionFila rowversion NOT NULL,
+ CONSTRAINT PK_Fac_CfdiDocumentos
+ PRIMARY KEY CLUSTERED (CveCfdiDocumento),
+ CONSTRAINT UQ_Fac_CfdiDocumentos_Identificador
+ UNIQUE NONCLUSTERED (IdentificadorDocumento),
+ CONSTRAINT CK_Fac_CfdiDocumentos_Estado
+ CHECK (Estado IN ('BORRADOR', 'LISTO', 'TIMBRADO', 'ERROR', 'REVISAR')),
+ CONSTRAINT CK_Fac_CfdiDocumentos_Importes
+ CHECK
+ (
+ Subtotal >= 0
+ AND Descuento >= 0
+ AND TotalImpuestosTrasladados >= 0
+ AND TotalImpuestosRetenidos >= 0
+ AND Total >= 0
+ ),
+ CONSTRAINT FK_Fac_CfdiDocumentos_Clientes
+ FOREIGN KEY (CveCliente)
+ REFERENCES dbo.Clientes (CveCliente),
+ CONSTRAINT FK_Fac_CfdiDocumentos_Usuarios
+ FOREIGN KEY (CveUsuario)
+ REFERENCES dbo.Sis_Usuarios (CveUsuario)
+ );
+END;
+GO
+
+IF OBJECT_ID(N'dbo.Fac_CfdiTimbrados', N'U') IS NULL
+BEGIN
+ CREATE TABLE dbo.Fac_CfdiTimbrados
+ (
+ CveCfdiTimbrado bigint IDENTITY(1, 1) NOT NULL,
+ CveCfdiDocumento bigint NOT NULL,
+ NumeroIntento int NOT NULL,
+ IdSolicitud uniqueidentifier NOT NULL,
+ ProveedorPac varchar(50) COLLATE Modern_Spanish_CS_AS NOT NULL,
+ Ambiente varchar(20) COLLATE Modern_Spanish_CS_AS NOT NULL,
+ Estado varchar(20) COLLATE Modern_Spanish_CS_AS CONSTRAINT DF_Fac_CfdiTimbrados_Estado DEFAULT ('PENDIENTE') NOT NULL,
+ Exitoso bit CONSTRAINT DF_Fac_CfdiTimbrados_Exitoso DEFAULT (0) NOT NULL,
+ EsDuplicado bit CONSTRAINT DF_Fac_CfdiTimbrados_EsDuplicado DEFAULT (0) NOT NULL,
+ IdOperacionPac varchar(150) COLLATE Modern_Spanish_CS_AS NULL,
+ ReferenciaContratoPac varchar(100) COLLATE Modern_Spanish_CS_AS NULL,
+ CodigoRespuesta varchar(100) COLLATE Modern_Spanish_CI_AS NULL,
+ MensajeRespuesta varchar(2000) COLLATE Modern_Spanish_CS_AS NULL,
+ TipoExcepcion varchar(300) COLLATE Modern_Spanish_CS_AS NULL,
+ Uuid varchar(36) COLLATE Modern_Spanish_CS_AS NULL,
+ FechaSolicitud datetime2(0) CONSTRAINT DF_Fac_CfdiTimbrados_FechaSolicitud DEFAULT (SYSDATETIME()) NOT NULL,
+ FechaRespuesta datetime2(0) NULL,
+ FechaTimbrado datetime2(0) NULL,
+ RfcProveedorCertificacion varchar(13) COLLATE Modern_Spanish_CS_AS NULL,
+ NumeroCertificadoEmisor varchar(20) COLLATE Modern_Spanish_CS_AS NULL,
+ NumeroCertificadoSat varchar(20) COLLATE Modern_Spanish_CS_AS NULL,
+ SelloCfdi varchar(1000) COLLATE Modern_Spanish_CS_AS NULL,
+ SelloSat varchar(1000) COLLATE Modern_Spanish_CS_AS NULL,
+ CadenaTimbre varchar(max) COLLATE Modern_Spanish_CS_AS NULL,
+ XmlTimbrado varbinary(max) NULL,
+ HashXmlTimbrado binary(32) NULL,
+ CodigoBidimensional varbinary(max) NULL,
+ CveUsuario int NOT NULL,
+ CONSTRAINT PK_Fac_CfdiTimbrados
+ PRIMARY KEY CLUSTERED (CveCfdiTimbrado),
+ CONSTRAINT UQ_Fac_CfdiTimbrados_Solicitud
+ UNIQUE NONCLUSTERED (IdSolicitud),
+ CONSTRAINT UQ_Fac_CfdiTimbrados_Intento
+ UNIQUE NONCLUSTERED (CveCfdiDocumento, NumeroIntento),
+ CONSTRAINT CK_Fac_CfdiTimbrados_Estado
+ CHECK (Estado IN ('PENDIENTE', 'EXITOSO', 'FALLIDO', 'INDETERMINADO', 'DUPLICADO')),
+ CONSTRAINT FK_Fac_CfdiTimbrados_Documentos
+ FOREIGN KEY (CveCfdiDocumento)
+ REFERENCES dbo.Fac_CfdiDocumentos (CveCfdiDocumento),
+ CONSTRAINT FK_Fac_CfdiTimbrados_Usuarios
+ FOREIGN KEY (CveUsuario)
+ REFERENCES dbo.Sis_Usuarios (CveUsuario)
+ );
+END;
+GO
+
+IF NOT EXISTS
+(
+ SELECT 1
+ FROM sys.foreign_keys
+ WHERE parent_object_id = OBJECT_ID(N'dbo.Fac_CfdiDocumentos')
+ AND name = N'FK_Fac_CfdiDocumentos_TimbradoVigente'
+)
+BEGIN
+ ALTER TABLE dbo.Fac_CfdiDocumentos
+ ADD CONSTRAINT FK_Fac_CfdiDocumentos_TimbradoVigente
+ FOREIGN KEY (CveCfdiTimbradoVigente)
+ REFERENCES dbo.Fac_CfdiTimbrados (CveCfdiTimbrado);
+END;
+GO
+
+IF NOT EXISTS
+(
+ SELECT 1
+ FROM sys.indexes
+ WHERE object_id = OBJECT_ID(N'dbo.Fac_CfdiDocumentos')
+ AND name = N'IX_Fac_CfdiDocumentos_Cliente_Fecha'
+)
+BEGIN
+ CREATE NONCLUSTERED INDEX IX_Fac_CfdiDocumentos_Cliente_Fecha
+ ON dbo.Fac_CfdiDocumentos
+ (
+ CveCliente,
+ FechaEmision DESC,
+ CveCfdiDocumento DESC
+ );
+END;
+GO
+
+IF NOT EXISTS
+(
+ SELECT 1
+ FROM sys.indexes
+ WHERE object_id = OBJECT_ID(N'dbo.Fac_CfdiTimbrados')
+ AND name = N'IX_Fac_CfdiTimbrados_Documento_Estado'
+)
+BEGIN
+ CREATE NONCLUSTERED INDEX IX_Fac_CfdiTimbrados_Documento_Estado
+ ON dbo.Fac_CfdiTimbrados
+ (
+ CveCfdiDocumento,
+ Estado,
+ NumeroIntento DESC
+ );
+END;
+GO
+
+CREATE OR ALTER PROCEDURE dbo.PA_Fac_EmisorFiscalGet
+ @CveEmpresa int,
+ @CveUsuarioEjecuta int,
+ @ErrorMostrar varchar(max) OUTPUT,
+ @ErrorTipo int OUTPUT,
+ @Return bit OUTPUT
+AS
+BEGIN
+ SET NOCOUNT ON;
+ SELECT @ErrorMostrar = NULL, @ErrorTipo = 0, @Return = 0;
+
+ BEGIN TRY
+ IF NOT EXISTS
+ (
+ SELECT 1
+ FROM dbo.Sis_Usuarios
+ WHERE CveUsuario = @CveUsuarioEjecuta
+ AND Activo = 1
+ )
+ BEGIN
+ SELECT
+ @ErrorMostrar = 'No cuenta con una sesión válida para consultar el emisor fiscal.',
+ @ErrorTipo = 2;
+ RETURN;
+ END;
+
+ IF NOT EXISTS
+ (
+ SELECT 1
+ FROM dbo.Fac_EmisoresFiscales
+ WHERE CveEmpresa = @CveEmpresa
+ AND EsActivo = 1
+ )
+ BEGIN
+ SELECT
+ @ErrorMostrar = 'La empresa no tiene configurado un emisor fiscal activo.',
+ @ErrorTipo = 2;
+ RETURN;
+ END;
+
+ SELECT
+ CveEmisorFiscal,
+ CveEmpresa,
+ Rfc,
+ NombreFiscal,
+ RegimenFiscal,
+ CodigoPostal,
+ ProveedorPac,
+ AmbienteProduccion,
+ ReferenciaCredencialPac,
+ ReferenciaContratoPac,
+ ReferenciaCertificadoCsd,
+ ReferenciaLlavePrivadaCsd,
+ NumeroCertificado,
+ VigenciaCertificadoDesde,
+ VigenciaCertificadoHasta,
+ HuellaCertificado,
+ EsActivo
+ FROM dbo.Fac_EmisoresFiscales
+ WHERE CveEmpresa = @CveEmpresa
+ AND EsActivo = 1;
+
+ SET @Return = 1;
+ END TRY
+ BEGIN CATCH
+ SELECT
+ @ErrorMostrar = 'Ocurrió un error al consultar el emisor fiscal; favor de contactar a Sistemas.',
+ @ErrorTipo = 1,
+ @Return = 0;
+
+ DECLARE @ErrorTecnico nvarchar(2048) =
+ CONCAT(
+ 'Número: ', ERROR_NUMBER(),
+ '; Procedimiento: ', COALESCE(ERROR_PROCEDURE(), 'PA_Fac_EmisorFiscalGet'),
+ '; Línea: ', ERROR_LINE(),
+ '; Detalle: ', ERROR_MESSAGE());
+ RAISERROR(N'%s', 10, 1, @ErrorTecnico);
+ END CATCH;
+END;
+GO
+
+CREATE OR ALTER PROCEDURE dbo.PA_Fac_EmisorFiscalSave
+ @CveEmisorFiscal int = NULL,
+ @CveEmpresa int,
+ @Rfc varchar(13),
+ @NombreFiscal varchar(300),
+ @RegimenFiscal varchar(3),
+ @CodigoPostal varchar(5),
+ @ProveedorPac varchar(50),
+ @AmbienteProduccion bit,
+ @ReferenciaCredencialPac varchar(100),
+ @ReferenciaContratoPac varchar(100) = NULL,
+ @ReferenciaCertificadoCsd varchar(500) = NULL,
+ @ReferenciaLlavePrivadaCsd varchar(500) = NULL,
+ @NumeroCertificado varchar(20) = NULL,
+ @VigenciaCertificadoDesde datetime2(0) = NULL,
+ @VigenciaCertificadoHasta datetime2(0) = NULL,
+ @HuellaCertificado varchar(128) = NULL,
+ @EsActivo bit,
+ @CveUsuarioEjecuta int,
+ @ErrorMostrar varchar(max) OUTPUT,
+ @ErrorTipo int OUTPUT,
+ @Return bit OUTPUT
+AS
+BEGIN
+ SET NOCOUNT ON;
+ SELECT @ErrorMostrar = NULL, @ErrorTipo = 0, @Return = 0;
+
+ BEGIN TRY
+ IF NOT EXISTS
+ (
+ SELECT 1
+ FROM dbo.Sis_Usuarios
+ WHERE CveUsuario = @CveUsuarioEjecuta
+ AND CveRol IN (1, 2)
+ AND Activo = 1
+ )
+ BEGIN
+ SELECT
+ @ErrorMostrar = 'No cuenta con permiso para configurar emisores fiscales.',
+ @ErrorTipo = 2;
+ RETURN;
+ END;
+
+ SELECT
+ @Rfc = UPPER(REPLACE(LTRIM(RTRIM(@Rfc)), ' ', '')),
+ @NombreFiscal = LTRIM(RTRIM(@NombreFiscal)),
+ @RegimenFiscal = LTRIM(RTRIM(@RegimenFiscal)),
+ @CodigoPostal = LTRIM(RTRIM(@CodigoPostal)),
+ @ProveedorPac = UPPER(LTRIM(RTRIM(@ProveedorPac))),
+ @ReferenciaCredencialPac = LTRIM(RTRIM(@ReferenciaCredencialPac)),
+ @ReferenciaContratoPac = NULLIF(LTRIM(RTRIM(@ReferenciaContratoPac)), ''),
+ @ReferenciaCertificadoCsd = NULLIF(LTRIM(RTRIM(@ReferenciaCertificadoCsd)), ''),
+ @ReferenciaLlavePrivadaCsd = NULLIF(LTRIM(RTRIM(@ReferenciaLlavePrivadaCsd)), ''),
+ @NumeroCertificado = NULLIF(LTRIM(RTRIM(@NumeroCertificado)), ''),
+ @HuellaCertificado = NULLIF(LTRIM(RTRIM(@HuellaCertificado)), '');
+
+ IF LEN(@Rfc) NOT IN (12, 13)
+ OR NULLIF(@NombreFiscal, '') IS NULL
+ OR LEN(@RegimenFiscal) <> 3
+ OR LEN(@CodigoPostal) <> 5
+ OR NULLIF(@ProveedorPac, '') IS NULL
+ OR NULLIF(@ReferenciaCredencialPac, '') IS NULL
+ BEGIN
+ SELECT
+ @ErrorMostrar = 'Capture RFC, nombre fiscal, régimen, código postal, PAC y referencia de credencial válidos.',
+ @ErrorTipo = 2;
+ RETURN;
+ END;
+
+ IF @CveEmisorFiscal IS NULL
+ BEGIN
+ IF EXISTS
+ (
+ SELECT 1
+ FROM dbo.Fac_EmisoresFiscales
+ WHERE CveEmpresa = @CveEmpresa
+ )
+ BEGIN
+ SELECT
+ @ErrorMostrar = 'La empresa ya cuenta con una configuración fiscal.',
+ @ErrorTipo = 2;
+ RETURN;
+ END;
+
+ INSERT dbo.Fac_EmisoresFiscales
+ (
+ CveEmpresa,
+ Rfc,
+ NombreFiscal,
+ RegimenFiscal,
+ CodigoPostal,
+ ProveedorPac,
+ AmbienteProduccion,
+ ReferenciaCredencialPac,
+ ReferenciaContratoPac,
+ ReferenciaCertificadoCsd,
+ ReferenciaLlavePrivadaCsd,
+ NumeroCertificado,
+ VigenciaCertificadoDesde,
+ VigenciaCertificadoHasta,
+ HuellaCertificado,
+ EsActivo,
+ CveUsuario
+ )
+ VALUES
+ (
+ @CveEmpresa,
+ @Rfc,
+ @NombreFiscal,
+ @RegimenFiscal,
+ @CodigoPostal,
+ @ProveedorPac,
+ @AmbienteProduccion,
+ @ReferenciaCredencialPac,
+ @ReferenciaContratoPac,
+ @ReferenciaCertificadoCsd,
+ @ReferenciaLlavePrivadaCsd,
+ @NumeroCertificado,
+ @VigenciaCertificadoDesde,
+ @VigenciaCertificadoHasta,
+ @HuellaCertificado,
+ @EsActivo,
+ @CveUsuarioEjecuta
+ );
+
+ SET @CveEmisorFiscal = CONVERT(int, SCOPE_IDENTITY());
+ END
+ ELSE
+ BEGIN
+ IF NOT EXISTS
+ (
+ SELECT 1
+ FROM dbo.Fac_EmisoresFiscales
+ WHERE CveEmisorFiscal = @CveEmisorFiscal
+ AND CveEmpresa = @CveEmpresa
+ )
+ BEGIN
+ SELECT
+ @ErrorMostrar = 'No se encontró la configuración fiscal seleccionada.',
+ @ErrorTipo = 2;
+ RETURN;
+ END;
+
+ UPDATE dbo.Fac_EmisoresFiscales
+ SET Rfc = @Rfc,
+ NombreFiscal = @NombreFiscal,
+ RegimenFiscal = @RegimenFiscal,
+ CodigoPostal = @CodigoPostal,
+ ProveedorPac = @ProveedorPac,
+ AmbienteProduccion = @AmbienteProduccion,
+ ReferenciaCredencialPac = @ReferenciaCredencialPac,
+ ReferenciaContratoPac = @ReferenciaContratoPac,
+ ReferenciaCertificadoCsd = @ReferenciaCertificadoCsd,
+ ReferenciaLlavePrivadaCsd = @ReferenciaLlavePrivadaCsd,
+ NumeroCertificado = @NumeroCertificado,
+ VigenciaCertificadoDesde = @VigenciaCertificadoDesde,
+ VigenciaCertificadoHasta = @VigenciaCertificadoHasta,
+ HuellaCertificado = @HuellaCertificado,
+ EsActivo = @EsActivo,
+ FechaModificacion = SYSDATETIME(),
+ CveUsuario = @CveUsuarioEjecuta
+ WHERE CveEmisorFiscal = @CveEmisorFiscal;
+ END;
+
+ SELECT @CveEmisorFiscal AS CveEmisorFiscal;
+ SET @Return = 1;
+ END TRY
+ BEGIN CATCH
+ SELECT
+ @ErrorMostrar = 'Ocurrió un error al guardar el emisor fiscal; favor de contactar a Sistemas.',
+ @ErrorTipo = 1,
+ @Return = 0;
+
+ DECLARE @ErrorTecnico nvarchar(2048) =
+ CONCAT(
+ 'Número: ', ERROR_NUMBER(),
+ '; Procedimiento: ', COALESCE(ERROR_PROCEDURE(), 'PA_Fac_EmisorFiscalSave'),
+ '; Línea: ', ERROR_LINE(),
+ '; Detalle: ', ERROR_MESSAGE());
+ RAISERROR(N'%s', 10, 1, @ErrorTecnico);
+ END CATCH;
+END;
+GO
+
+CREATE OR ALTER PROCEDURE dbo.PA_Fac_ReceptorFiscalGet
+ @CveCliente int,
+ @CveUsuarioEjecuta int,
+ @ErrorMostrar varchar(max) OUTPUT,
+ @ErrorTipo int OUTPUT,
+ @Return bit OUTPUT
+AS
+BEGIN
+ SET NOCOUNT ON;
+ SELECT @ErrorMostrar = NULL, @ErrorTipo = 0, @Return = 0;
+
+ BEGIN TRY
+ IF NOT EXISTS
+ (
+ SELECT 1
+ FROM dbo.Sis_Usuarios AS U
+ WHERE U.CveUsuario = @CveUsuarioEjecuta
+ AND U.Activo = 1
+ AND
+ (
+ U.CveRol IN (1, 2)
+ OR EXISTS
+ (
+ SELECT 1
+ FROM dbo.Sis_UsuariosClientes AS UC
+ WHERE UC.CveUsuario = U.CveUsuario
+ AND UC.CveCliente = @CveCliente
+ AND UC.Activo = 1
+ )
+ )
+ )
+ BEGIN
+ SELECT
+ @ErrorMostrar = 'No cuenta con permiso para consultar la información fiscal del cliente.',
+ @ErrorTipo = 2;
+ RETURN;
+ END;
+
+ IF NOT EXISTS
+ (
+ SELECT 1
+ FROM dbo.Clientes
+ WHERE CveCliente = @CveCliente
+ )
+ BEGIN
+ SELECT
+ @ErrorMostrar = 'No se encontró el cliente solicitado.',
+ @ErrorTipo = 2;
+ RETURN;
+ END;
+
+ SELECT
+ C.CveCliente,
+ C.RFC AS Rfc,
+ C.Nombre AS NombreFiscal,
+ C.CP AS CodigoPostal,
+ RF.CodigoRegimenFiscal AS RegimenFiscal,
+ UCFDI.UsoCFDI AS UsoCfdi
+ FROM dbo.Clientes AS C
+ LEFT JOIN dbo.Gral_RegimenesFiscales AS RF
+ ON RF.CveRegimenFiscal = C.CveRegimenFiscal
+ LEFT JOIN dbo.Gral_SAT_UsosCFDI AS UCFDI
+ ON UCFDI.CveUsoCFDI = C.CveUsoCFDI
+ WHERE C.CveCliente = @CveCliente;
+
+ SET @Return = 1;
+ END TRY
+ BEGIN CATCH
+ SELECT
+ @ErrorMostrar = 'Ocurrió un error al consultar la información fiscal del cliente; favor de contactar a Sistemas.',
+ @ErrorTipo = 1,
+ @Return = 0;
+
+ DECLARE @ErrorTecnico nvarchar(2048) =
+ CONCAT(
+ 'Número: ', ERROR_NUMBER(),
+ '; Procedimiento: ', COALESCE(ERROR_PROCEDURE(), 'PA_Fac_ReceptorFiscalGet'),
+ '; Línea: ', ERROR_LINE(),
+ '; Detalle: ', ERROR_MESSAGE());
+ RAISERROR(N'%s', 10, 1, @ErrorTecnico);
+ END CATCH;
+END;
+GO
+
+CREATE OR ALTER PROCEDURE dbo.PA_Fac_CfdiDocumentoSaveDraft
+ @CveCfdiDocumento bigint = NULL,
+ @CveEmpresa int,
+ @CveCliente int,
+ @TipoOrigen varchar(50) = NULL,
+ @CveOrigen bigint = NULL,
+ @ReferenciaOrigen varchar(150) = NULL,
+ @VersionCfdi varchar(5),
+ @Serie varchar(25) = NULL,
+ @Folio varchar(40) = NULL,
+ @FechaEmision datetime2(0),
+ @TipoComprobante char(1),
+ @FormaPago varchar(2) = NULL,
+ @MetodoPago varchar(3) = NULL,
+ @CondicionesPago varchar(1000) = NULL,
+ @Moneda varchar(3),
+ @TipoCambio decimal(19, 6) = NULL,
+ @Exportacion varchar(2),
+ @LugarExpedicion varchar(5),
+ @Subtotal decimal(19, 6),
+ @Descuento decimal(19, 6),
+ @TotalImpuestosTrasladados decimal(19, 6),
+ @TotalImpuestosRetenidos decimal(19, 6),
+ @Total decimal(19, 6),
+ @RfcEmisor varchar(13),
+ @NombreEmisor varchar(300),
+ @RegimenFiscalEmisor varchar(3),
+ @RfcReceptor varchar(13),
+ @NombreReceptor varchar(300),
+ @DomicilioFiscalReceptor varchar(5),
+ @RegimenFiscalReceptor varchar(3),
+ @UsoCfdi varchar(5),
+ @XmlSinTimbrar varbinary(max),
+ @HashXmlSinTimbrar binary(32),
+ @CveUsuarioEjecuta int,
+ @ErrorMostrar varchar(max) OUTPUT,
+ @ErrorTipo int OUTPUT,
+ @Return bit OUTPUT
+AS
+BEGIN
+ SET NOCOUNT ON;
+ SELECT @ErrorMostrar = NULL, @ErrorTipo = 0, @Return = 0;
+
+ BEGIN TRY
+ IF NOT EXISTS
+ (
+ SELECT 1
+ FROM dbo.Sis_Usuarios AS U
+ WHERE U.CveUsuario = @CveUsuarioEjecuta
+ AND U.Activo = 1
+ AND
+ (
+ U.CveRol IN (1, 2)
+ OR EXISTS
+ (
+ SELECT 1
+ FROM dbo.Sis_UsuariosClientes AS UC
+ WHERE UC.CveUsuario = U.CveUsuario
+ AND UC.CveCliente = @CveCliente
+ AND UC.Activo = 1
+ )
+ )
+ )
+ BEGIN
+ SELECT
+ @ErrorMostrar = 'No cuenta con permiso para guardar el CFDI del cliente.',
+ @ErrorTipo = 2;
+ RETURN;
+ END;
+
+ IF NOT EXISTS
+ (
+ SELECT 1
+ FROM dbo.Fac_EmisoresFiscales
+ WHERE CveEmpresa = @CveEmpresa
+ AND EsActivo = 1
+ )
+ BEGIN
+ SELECT
+ @ErrorMostrar = 'La empresa no tiene un emisor fiscal activo.',
+ @ErrorTipo = 2;
+ RETURN;
+ END;
+
+ IF @XmlSinTimbrar IS NULL
+ OR DATALENGTH(@XmlSinTimbrar) = 0
+ OR @HashXmlSinTimbrar IS NULL
+ OR DATALENGTH(@HashXmlSinTimbrar) <> 32
+ BEGIN
+ SELECT
+ @ErrorMostrar = 'El XML previo al timbrado no es válido.',
+ @ErrorTipo = 2;
+ RETURN;
+ END;
+
+ IF @CveCfdiDocumento IS NULL
+ BEGIN
+ INSERT dbo.Fac_CfdiDocumentos
+ (
+ CveEmpresa,
+ CveCliente,
+ TipoOrigen,
+ CveOrigen,
+ ReferenciaOrigen,
+ VersionCfdi,
+ Serie,
+ Folio,
+ FechaEmision,
+ TipoComprobante,
+ FormaPago,
+ MetodoPago,
+ CondicionesPago,
+ Moneda,
+ TipoCambio,
+ Exportacion,
+ LugarExpedicion,
+ Subtotal,
+ Descuento,
+ TotalImpuestosTrasladados,
+ TotalImpuestosRetenidos,
+ Total,
+ RfcEmisor,
+ NombreEmisor,
+ RegimenFiscalEmisor,
+ RfcReceptor,
+ NombreReceptor,
+ DomicilioFiscalReceptor,
+ RegimenFiscalReceptor,
+ UsoCfdi,
+ Estado,
+ XmlSinTimbrar,
+ HashXmlSinTimbrar,
+ CveUsuario
+ )
+ VALUES
+ (
+ @CveEmpresa,
+ @CveCliente,
+ NULLIF(LTRIM(RTRIM(@TipoOrigen)), ''),
+ @CveOrigen,
+ NULLIF(LTRIM(RTRIM(@ReferenciaOrigen)), ''),
+ @VersionCfdi,
+ NULLIF(LTRIM(RTRIM(@Serie)), ''),
+ NULLIF(LTRIM(RTRIM(@Folio)), ''),
+ @FechaEmision,
+ @TipoComprobante,
+ NULLIF(LTRIM(RTRIM(@FormaPago)), ''),
+ NULLIF(LTRIM(RTRIM(@MetodoPago)), ''),
+ NULLIF(LTRIM(RTRIM(@CondicionesPago)), ''),
+ @Moneda,
+ @TipoCambio,
+ @Exportacion,
+ @LugarExpedicion,
+ @Subtotal,
+ @Descuento,
+ @TotalImpuestosTrasladados,
+ @TotalImpuestosRetenidos,
+ @Total,
+ @RfcEmisor,
+ @NombreEmisor,
+ @RegimenFiscalEmisor,
+ @RfcReceptor,
+ @NombreReceptor,
+ @DomicilioFiscalReceptor,
+ @RegimenFiscalReceptor,
+ @UsoCfdi,
+ 'LISTO',
+ @XmlSinTimbrar,
+ @HashXmlSinTimbrar,
+ @CveUsuarioEjecuta
+ );
+
+ SET @CveCfdiDocumento = CONVERT(bigint, SCOPE_IDENTITY());
+ END
+ ELSE
+ BEGIN
+ IF NOT EXISTS
+ (
+ SELECT 1
+ FROM dbo.Fac_CfdiDocumentos WITH (UPDLOCK, HOLDLOCK)
+ WHERE CveCfdiDocumento = @CveCfdiDocumento
+ AND CveEmpresa = @CveEmpresa
+ AND CveCliente = @CveCliente
+ AND CveCfdiTimbradoVigente IS NULL
+ AND Estado IN ('BORRADOR', 'LISTO', 'ERROR')
+ )
+ BEGIN
+ SELECT
+ @ErrorMostrar = 'El CFDI no existe, ya fue timbrado o requiere revisión antes de modificarse.',
+ @ErrorTipo = 2;
+ RETURN;
+ END;
+
+ UPDATE dbo.Fac_CfdiDocumentos
+ SET TipoOrigen = NULLIF(LTRIM(RTRIM(@TipoOrigen)), ''),
+ CveOrigen = @CveOrigen,
+ ReferenciaOrigen = NULLIF(LTRIM(RTRIM(@ReferenciaOrigen)), ''),
+ VersionCfdi = @VersionCfdi,
+ Serie = NULLIF(LTRIM(RTRIM(@Serie)), ''),
+ Folio = NULLIF(LTRIM(RTRIM(@Folio)), ''),
+ FechaEmision = @FechaEmision,
+ TipoComprobante = @TipoComprobante,
+ FormaPago = NULLIF(LTRIM(RTRIM(@FormaPago)), ''),
+ MetodoPago = NULLIF(LTRIM(RTRIM(@MetodoPago)), ''),
+ CondicionesPago = NULLIF(LTRIM(RTRIM(@CondicionesPago)), ''),
+ Moneda = @Moneda,
+ TipoCambio = @TipoCambio,
+ Exportacion = @Exportacion,
+ LugarExpedicion = @LugarExpedicion,
+ Subtotal = @Subtotal,
+ Descuento = @Descuento,
+ TotalImpuestosTrasladados = @TotalImpuestosTrasladados,
+ TotalImpuestosRetenidos = @TotalImpuestosRetenidos,
+ Total = @Total,
+ RfcEmisor = @RfcEmisor,
+ NombreEmisor = @NombreEmisor,
+ RegimenFiscalEmisor = @RegimenFiscalEmisor,
+ RfcReceptor = @RfcReceptor,
+ NombreReceptor = @NombreReceptor,
+ DomicilioFiscalReceptor = @DomicilioFiscalReceptor,
+ RegimenFiscalReceptor = @RegimenFiscalReceptor,
+ UsoCfdi = @UsoCfdi,
+ Estado = 'LISTO',
+ XmlSinTimbrar = @XmlSinTimbrar,
+ HashXmlSinTimbrar = @HashXmlSinTimbrar,
+ FechaModificacion = SYSDATETIME(),
+ CveUsuario = @CveUsuarioEjecuta
+ WHERE CveCfdiDocumento = @CveCfdiDocumento;
+ END;
+
+ SELECT @CveCfdiDocumento AS CveCfdiDocumento;
+ SET @Return = 1;
+ END TRY
+ BEGIN CATCH
+ SELECT
+ @ErrorMostrar = 'Ocurrió un error al guardar el XML del CFDI; favor de contactar a Sistemas.',
+ @ErrorTipo = 1,
+ @Return = 0;
+
+ DECLARE @ErrorTecnico nvarchar(2048) =
+ CONCAT(
+ 'Número: ', ERROR_NUMBER(),
+ '; Procedimiento: ', COALESCE(ERROR_PROCEDURE(), 'PA_Fac_CfdiDocumentoSaveDraft'),
+ '; Línea: ', ERROR_LINE(),
+ '; Detalle: ', ERROR_MESSAGE());
+ RAISERROR(N'%s', 10, 1, @ErrorTecnico);
+ END CATCH;
+END;
+GO
+
+CREATE OR ALTER PROCEDURE dbo.PA_Fac_CfdiDocumentoGet
+ @CveCfdiDocumento bigint,
+ @CveUsuarioEjecuta int,
+ @ErrorMostrar varchar(max) OUTPUT,
+ @ErrorTipo int OUTPUT,
+ @Return bit OUTPUT
+AS
+BEGIN
+ SET NOCOUNT ON;
+ SELECT @ErrorMostrar = NULL, @ErrorTipo = 0, @Return = 0;
+
+ BEGIN TRY
+ IF NOT EXISTS
+ (
+ SELECT 1
+ FROM dbo.Fac_CfdiDocumentos AS D
+ INNER JOIN dbo.Sis_Usuarios AS U
+ ON U.CveUsuario = @CveUsuarioEjecuta
+ AND U.Activo = 1
+ WHERE D.CveCfdiDocumento = @CveCfdiDocumento
+ AND
+ (
+ U.CveRol IN (1, 2)
+ OR EXISTS
+ (
+ SELECT 1
+ FROM dbo.Sis_UsuariosClientes AS UC
+ WHERE UC.CveUsuario = U.CveUsuario
+ AND UC.CveCliente = D.CveCliente
+ AND UC.Activo = 1
+ )
+ )
+ )
+ BEGIN
+ SELECT
+ @ErrorMostrar = 'No se encontró el CFDI o no cuenta con permiso para consultarlo.',
+ @ErrorTipo = 2;
+ RETURN;
+ END;
+
+ SELECT
+ D.CveCfdiDocumento,
+ D.IdentificadorDocumento,
+ D.CveEmpresa,
+ D.CveCliente,
+ D.TipoOrigen,
+ D.CveOrigen,
+ D.ReferenciaOrigen,
+ D.VersionCfdi,
+ D.Serie,
+ D.Folio,
+ D.FechaEmision,
+ D.TipoComprobante,
+ D.FormaPago,
+ D.MetodoPago,
+ D.CondicionesPago,
+ D.Moneda,
+ D.TipoCambio,
+ D.Exportacion,
+ D.LugarExpedicion,
+ D.Subtotal,
+ D.Descuento,
+ D.TotalImpuestosTrasladados,
+ D.TotalImpuestosRetenidos,
+ D.Total,
+ D.RfcEmisor,
+ D.NombreEmisor,
+ D.RegimenFiscalEmisor,
+ D.RfcReceptor,
+ D.NombreReceptor,
+ D.DomicilioFiscalReceptor,
+ D.RegimenFiscalReceptor,
+ D.UsoCfdi,
+ D.Estado,
+ D.XmlSinTimbrar,
+ D.HashXmlSinTimbrar,
+ D.CveCfdiTimbradoVigente,
+ T.Uuid AS UuidVigente,
+ D.VersionFila
+ FROM dbo.Fac_CfdiDocumentos AS D
+ LEFT JOIN dbo.Fac_CfdiTimbrados AS T
+ ON T.CveCfdiTimbrado = D.CveCfdiTimbradoVigente
+ WHERE D.CveCfdiDocumento = @CveCfdiDocumento;
+
+ SET @Return = 1;
+ END TRY
+ BEGIN CATCH
+ SELECT
+ @ErrorMostrar = 'Ocurrió un error al consultar el CFDI; favor de contactar a Sistemas.',
+ @ErrorTipo = 1,
+ @Return = 0;
+
+ DECLARE @ErrorTecnico nvarchar(2048) =
+ CONCAT(
+ 'Número: ', ERROR_NUMBER(),
+ '; Procedimiento: ', COALESCE(ERROR_PROCEDURE(), 'PA_Fac_CfdiDocumentoGet'),
+ '; Línea: ', ERROR_LINE(),
+ '; Detalle: ', ERROR_MESSAGE());
+ RAISERROR(N'%s', 10, 1, @ErrorTecnico);
+ END CATCH;
+END;
+GO
+
+CREATE OR ALTER PROCEDURE dbo.PA_Fac_CfdiTimbradoAttemptStart
+ @CveCfdiDocumento bigint,
+ @IdSolicitud uniqueidentifier,
+ @ProveedorPac varchar(50),
+ @Ambiente varchar(20),
+ @ReferenciaContratoPac varchar(100) = NULL,
+ @CveUsuarioEjecuta int,
+ @ErrorMostrar varchar(max) OUTPUT,
+ @ErrorTipo int OUTPUT,
+ @Return bit OUTPUT
+AS
+BEGIN
+ SET NOCOUNT ON;
+ SELECT @ErrorMostrar = NULL, @ErrorTipo = 0, @Return = 0;
+
+ BEGIN TRY
+ DECLARE @CveCliente int;
+ DECLARE @CveCfdiTimbrado bigint;
+ DECLARE @NumeroIntento int;
+ DECLARE @Estado varchar(20);
+ DECLARE @PuedeEnviar bit = 0;
+
+ SELECT @CveCliente = D.CveCliente
+ FROM dbo.Fac_CfdiDocumentos AS D WITH (UPDLOCK, HOLDLOCK)
+ WHERE D.CveCfdiDocumento = @CveCfdiDocumento;
+
+ IF @CveCliente IS NULL
+ BEGIN
+ SELECT
+ @ErrorMostrar = 'No se encontró el CFDI solicitado.',
+ @ErrorTipo = 2;
+ RETURN;
+ END;
+
+ IF NOT EXISTS
+ (
+ SELECT 1
+ FROM dbo.Sis_Usuarios AS U
+ WHERE U.CveUsuario = @CveUsuarioEjecuta
+ AND U.Activo = 1
+ AND
+ (
+ U.CveRol IN (1, 2)
+ OR EXISTS
+ (
+ SELECT 1
+ FROM dbo.Sis_UsuariosClientes AS UC
+ WHERE UC.CveUsuario = U.CveUsuario
+ AND UC.CveCliente = @CveCliente
+ AND UC.Activo = 1
+ )
+ )
+ )
+ BEGIN
+ SELECT
+ @ErrorMostrar = 'No cuenta con permiso para timbrar el CFDI.',
+ @ErrorTipo = 2;
+ RETURN;
+ END;
+
+ IF EXISTS
+ (
+ SELECT 1
+ FROM dbo.Fac_CfdiDocumentos
+ WHERE CveCfdiDocumento = @CveCfdiDocumento
+ AND
+ (
+ CveCfdiTimbradoVigente IS NOT NULL
+ OR Estado = 'TIMBRADO'
+ )
+ )
+ BEGIN
+ SELECT
+ @ErrorMostrar = 'El CFDI ya cuenta con un timbre vigente.',
+ @ErrorTipo = 2;
+ RETURN;
+ END;
+
+ IF EXISTS
+ (
+ SELECT 1
+ FROM dbo.Fac_CfdiDocumentos
+ WHERE CveCfdiDocumento = @CveCfdiDocumento
+ AND Estado = 'REVISAR'
+ )
+ BEGIN
+ SELECT
+ @ErrorMostrar = 'El resultado anterior es indeterminado. Consulte el PAC antes de reenviar el CFDI.',
+ @ErrorTipo = 2;
+ RETURN;
+ END;
+
+ SELECT
+ @CveCfdiTimbrado = T.CveCfdiTimbrado,
+ @NumeroIntento = T.NumeroIntento,
+ @Estado = T.Estado,
+ @IdSolicitud = T.IdSolicitud
+ FROM dbo.Fac_CfdiTimbrados AS T
+ WHERE T.IdSolicitud = @IdSolicitud;
+
+ IF @CveCfdiTimbrado IS NULL
+ BEGIN
+ SELECT TOP (1)
+ @CveCfdiTimbrado = T.CveCfdiTimbrado,
+ @NumeroIntento = T.NumeroIntento,
+ @Estado = T.Estado,
+ @IdSolicitud = T.IdSolicitud
+ FROM dbo.Fac_CfdiTimbrados AS T
+ WHERE T.CveCfdiDocumento = @CveCfdiDocumento
+ AND T.Estado = 'PENDIENTE'
+ ORDER BY T.NumeroIntento DESC;
+ END;
+
+ IF @CveCfdiTimbrado IS NULL
+ BEGIN
+ SELECT @NumeroIntento =
+ ISNULL(MAX(NumeroIntento), 0) + 1
+ FROM dbo.Fac_CfdiTimbrados
+ WHERE CveCfdiDocumento = @CveCfdiDocumento;
+
+ INSERT dbo.Fac_CfdiTimbrados
+ (
+ CveCfdiDocumento,
+ NumeroIntento,
+ IdSolicitud,
+ ProveedorPac,
+ Ambiente,
+ Estado,
+ ReferenciaContratoPac,
+ CveUsuario
+ )
+ VALUES
+ (
+ @CveCfdiDocumento,
+ @NumeroIntento,
+ @IdSolicitud,
+ UPPER(LTRIM(RTRIM(@ProveedorPac))),
+ UPPER(LTRIM(RTRIM(@Ambiente))),
+ 'PENDIENTE',
+ NULLIF(LTRIM(RTRIM(@ReferenciaContratoPac)), ''),
+ @CveUsuarioEjecuta
+ );
+
+ SET @CveCfdiTimbrado = CONVERT(bigint, SCOPE_IDENTITY());
+ SET @Estado = 'PENDIENTE';
+ SET @PuedeEnviar = 1;
+ END;
+
+ SELECT
+ @CveCfdiTimbrado AS CveCfdiTimbrado,
+ @NumeroIntento AS NumeroIntento,
+ @IdSolicitud AS IdSolicitud,
+ @Estado AS Estado,
+ @PuedeEnviar AS PuedeEnviar;
+
+ SET @Return = 1;
+ END TRY
+ BEGIN CATCH
+ SELECT
+ @ErrorMostrar = 'Ocurrió un error al registrar el intento de timbrado; favor de contactar a Sistemas.',
+ @ErrorTipo = 1,
+ @Return = 0;
+
+ DECLARE @ErrorTecnico nvarchar(2048) =
+ CONCAT(
+ 'Número: ', ERROR_NUMBER(),
+ '; Procedimiento: ', COALESCE(ERROR_PROCEDURE(), 'PA_Fac_CfdiTimbradoAttemptStart'),
+ '; Línea: ', ERROR_LINE(),
+ '; Detalle: ', ERROR_MESSAGE());
+ RAISERROR(N'%s', 10, 1, @ErrorTecnico);
+ END CATCH;
+END;
+GO
+
+CREATE OR ALTER PROCEDURE dbo.PA_Fac_CfdiTimbradoAttemptComplete
+ @CveCfdiTimbrado bigint,
+ @Exitoso bit,
+ @ResultadoIndeterminado bit,
+ @IdOperacionPac varchar(150) = NULL,
+ @CodigoRespuesta varchar(100) = NULL,
+ @MensajeRespuesta varchar(2000) = NULL,
+ @TipoExcepcion varchar(300) = NULL,
+ @Uuid varchar(36) = NULL,
+ @FechaTimbrado datetime2(0) = NULL,
+ @RfcProveedorCertificacion varchar(13) = NULL,
+ @NumeroCertificadoEmisor varchar(20) = NULL,
+ @NumeroCertificadoSat varchar(20) = NULL,
+ @SelloCfdi varchar(1000) = NULL,
+ @SelloSat varchar(1000) = NULL,
+ @CadenaTimbre varchar(max) = NULL,
+ @XmlTimbrado varbinary(max) = NULL,
+ @HashXmlTimbrado binary(32) = NULL,
+ @CodigoBidimensional varbinary(max) = NULL,
+ @CveUsuarioEjecuta int,
+ @ErrorMostrar varchar(max) OUTPUT,
+ @ErrorTipo int OUTPUT,
+ @Return bit OUTPUT
+AS
+BEGIN
+ SET NOCOUNT ON;
+ SELECT @ErrorMostrar = NULL, @ErrorTipo = 0, @Return = 0;
+
+ BEGIN TRY
+ DECLARE @CveCfdiDocumento bigint;
+ DECLARE @CveCliente int;
+ DECLARE @EstadoActual varchar(20);
+ DECLARE @CveTimbradoVigente bigint;
+ DECLARE @EsDuplicado bit = 0;
+ DECLARE @EstadoNuevo varchar(20);
+
+ SELECT
+ @CveCfdiDocumento = T.CveCfdiDocumento,
+ @EstadoActual = T.Estado
+ FROM dbo.Fac_CfdiTimbrados AS T WITH (UPDLOCK, HOLDLOCK)
+ WHERE T.CveCfdiTimbrado = @CveCfdiTimbrado;
+
+ SELECT
+ @CveCliente = D.CveCliente,
+ @CveTimbradoVigente = D.CveCfdiTimbradoVigente
+ FROM dbo.Fac_CfdiDocumentos AS D WITH (UPDLOCK, HOLDLOCK)
+ WHERE D.CveCfdiDocumento = @CveCfdiDocumento;
+
+ IF @CveCfdiDocumento IS NULL
+ BEGIN
+ SELECT
+ @ErrorMostrar = 'No se encontró el intento de timbrado.',
+ @ErrorTipo = 2;
+ RETURN;
+ END;
+
+ IF NOT EXISTS
+ (
+ SELECT 1
+ FROM dbo.Sis_Usuarios AS U
+ WHERE U.CveUsuario = @CveUsuarioEjecuta
+ AND U.Activo = 1
+ AND
+ (
+ U.CveRol IN (1, 2)
+ OR EXISTS
+ (
+ SELECT 1
+ FROM dbo.Sis_UsuariosClientes AS UC
+ WHERE UC.CveUsuario = U.CveUsuario
+ AND UC.CveCliente = @CveCliente
+ AND UC.Activo = 1
+ )
+ )
+ )
+ BEGIN
+ SELECT
+ @ErrorMostrar = 'No cuenta con permiso para guardar el resultado del timbrado.',
+ @ErrorTipo = 2;
+ RETURN;
+ END;
+
+ IF @EstadoActual <> 'PENDIENTE'
+ BEGIN
+ SELECT
+ T.CveCfdiTimbrado,
+ T.CveCfdiDocumento,
+ T.NumeroIntento,
+ T.IdSolicitud,
+ T.ProveedorPac,
+ T.Ambiente,
+ T.Estado,
+ T.Exitoso,
+ T.EsDuplicado,
+ T.IdOperacionPac,
+ T.ReferenciaContratoPac,
+ T.CodigoRespuesta,
+ T.MensajeRespuesta,
+ T.TipoExcepcion,
+ T.Uuid,
+ T.FechaSolicitud,
+ T.FechaRespuesta,
+ T.FechaTimbrado,
+ T.RfcProveedorCertificacion,
+ T.NumeroCertificadoEmisor,
+ T.NumeroCertificadoSat,
+ T.SelloCfdi,
+ T.SelloSat,
+ T.CadenaTimbre,
+ T.XmlTimbrado,
+ T.HashXmlTimbrado,
+ T.CodigoBidimensional
+ FROM dbo.Fac_CfdiTimbrados AS T
+ WHERE T.CveCfdiTimbrado = @CveCfdiTimbrado;
+
+ SET @Return = 1;
+ RETURN;
+ END;
+
+ IF @Exitoso = 1
+ AND
+ (
+ NULLIF(LTRIM(RTRIM(@Uuid)), '') IS NULL
+ OR @XmlTimbrado IS NULL
+ OR DATALENGTH(@XmlTimbrado) = 0
+ OR @HashXmlTimbrado IS NULL
+ OR DATALENGTH(@HashXmlTimbrado) <> 32
+ )
+ BEGIN
+ SET @Exitoso = 0;
+ SET @ResultadoIndeterminado = 1;
+ SET @CodigoRespuesta =
+ COALESCE(NULLIF(@CodigoRespuesta, ''), 'PAC_RESPUESTA_INCOMPLETA');
+ SET @MensajeRespuesta =
+ 'El PAC indicó éxito, pero la respuesta no contiene UUID y XML completos.';
+ END;
+
+ IF @Exitoso = 1 AND @CveTimbradoVigente IS NOT NULL
+ BEGIN
+ SET @EsDuplicado = 1;
+ SET @EstadoNuevo = 'DUPLICADO';
+ END
+ ELSE IF @Exitoso = 1
+ BEGIN
+ SET @EstadoNuevo = 'EXITOSO';
+ END
+ ELSE IF @ResultadoIndeterminado = 1
+ BEGIN
+ SET @EstadoNuevo = 'INDETERMINADO';
+ END
+ ELSE
+ BEGIN
+ SET @EstadoNuevo = 'FALLIDO';
+ END;
+
+ UPDATE dbo.Fac_CfdiTimbrados
+ SET Estado = @EstadoNuevo,
+ Exitoso = @Exitoso,
+ EsDuplicado = @EsDuplicado,
+ IdOperacionPac = NULLIF(LTRIM(RTRIM(@IdOperacionPac)), ''),
+ CodigoRespuesta = NULLIF(LTRIM(RTRIM(@CodigoRespuesta)), ''),
+ MensajeRespuesta = NULLIF(@MensajeRespuesta, ''),
+ TipoExcepcion = NULLIF(LTRIM(RTRIM(@TipoExcepcion)), ''),
+ Uuid = NULLIF(LTRIM(RTRIM(@Uuid)), ''),
+ FechaRespuesta = SYSDATETIME(),
+ FechaTimbrado = @FechaTimbrado,
+ RfcProveedorCertificacion = NULLIF(LTRIM(RTRIM(@RfcProveedorCertificacion)), ''),
+ NumeroCertificadoEmisor = NULLIF(LTRIM(RTRIM(@NumeroCertificadoEmisor)), ''),
+ NumeroCertificadoSat = NULLIF(LTRIM(RTRIM(@NumeroCertificadoSat)), ''),
+ SelloCfdi = NULLIF(@SelloCfdi, ''),
+ SelloSat = NULLIF(@SelloSat, ''),
+ CadenaTimbre = NULLIF(@CadenaTimbre, ''),
+ XmlTimbrado = @XmlTimbrado,
+ HashXmlTimbrado = @HashXmlTimbrado,
+ CodigoBidimensional = @CodigoBidimensional,
+ CveUsuario = @CveUsuarioEjecuta
+ WHERE CveCfdiTimbrado = @CveCfdiTimbrado;
+
+ IF @EstadoNuevo = 'EXITOSO'
+ BEGIN
+ UPDATE dbo.Fac_CfdiDocumentos
+ SET CveCfdiTimbradoVigente = @CveCfdiTimbrado,
+ Estado = 'TIMBRADO',
+ FechaModificacion = SYSDATETIME(),
+ CveUsuario = @CveUsuarioEjecuta
+ WHERE CveCfdiDocumento = @CveCfdiDocumento
+ AND CveCfdiTimbradoVigente IS NULL;
+
+ IF @@ROWCOUNT = 0
+ BEGIN
+ UPDATE dbo.Fac_CfdiTimbrados
+ SET Estado = 'DUPLICADO',
+ EsDuplicado = 1
+ WHERE CveCfdiTimbrado = @CveCfdiTimbrado;
+ END;
+ END
+ ELSE IF @EstadoNuevo = 'INDETERMINADO'
+ BEGIN
+ UPDATE dbo.Fac_CfdiDocumentos
+ SET Estado = 'REVISAR',
+ FechaModificacion = SYSDATETIME(),
+ CveUsuario = @CveUsuarioEjecuta
+ WHERE CveCfdiDocumento = @CveCfdiDocumento
+ AND CveCfdiTimbradoVigente IS NULL;
+ END
+ ELSE IF @EstadoNuevo = 'FALLIDO'
+ BEGIN
+ UPDATE dbo.Fac_CfdiDocumentos
+ SET Estado = 'ERROR',
+ FechaModificacion = SYSDATETIME(),
+ CveUsuario = @CveUsuarioEjecuta
+ WHERE CveCfdiDocumento = @CveCfdiDocumento
+ AND CveCfdiTimbradoVigente IS NULL;
+ END;
+
+ SELECT
+ T.CveCfdiTimbrado,
+ T.CveCfdiDocumento,
+ T.NumeroIntento,
+ T.IdSolicitud,
+ T.ProveedorPac,
+ T.Ambiente,
+ T.Estado,
+ T.Exitoso,
+ T.EsDuplicado,
+ T.IdOperacionPac,
+ T.ReferenciaContratoPac,
+ T.CodigoRespuesta,
+ T.MensajeRespuesta,
+ T.TipoExcepcion,
+ T.Uuid,
+ T.FechaSolicitud,
+ T.FechaRespuesta,
+ T.FechaTimbrado,
+ T.RfcProveedorCertificacion,
+ T.NumeroCertificadoEmisor,
+ T.NumeroCertificadoSat,
+ T.SelloCfdi,
+ T.SelloSat,
+ T.CadenaTimbre,
+ T.XmlTimbrado,
+ T.HashXmlTimbrado,
+ T.CodigoBidimensional
+ FROM dbo.Fac_CfdiTimbrados AS T
+ WHERE T.CveCfdiTimbrado = @CveCfdiTimbrado;
+
+ SET @Return = 1;
+ END TRY
+ BEGIN CATCH
+ SELECT
+ @ErrorMostrar = 'Ocurrió un error al guardar el resultado del timbrado; favor de contactar a Sistemas.',
+ @ErrorTipo = 1,
+ @Return = 0;
+
+ DECLARE @ErrorTecnico nvarchar(2048) =
+ CONCAT(
+ 'Número: ', ERROR_NUMBER(),
+ '; Procedimiento: ', COALESCE(ERROR_PROCEDURE(), 'PA_Fac_CfdiTimbradoAttemptComplete'),
+ '; Línea: ', ERROR_LINE(),
+ '; Detalle: ', ERROR_MESSAGE());
+ RAISERROR(N'%s', 10, 1, @ErrorTecnico);
+ END CATCH;
+END;
+GO
+
+CREATE OR ALTER PROCEDURE dbo.PA_Fac_CfdiTimbradoAttemptList
+ @CveCfdiDocumento bigint,
+ @CveUsuarioEjecuta int,
+ @ErrorMostrar varchar(max) OUTPUT,
+ @ErrorTipo int OUTPUT,
+ @Return bit OUTPUT
+AS
+BEGIN
+ SET NOCOUNT ON;
+ SELECT @ErrorMostrar = NULL, @ErrorTipo = 0, @Return = 0;
+
+ BEGIN TRY
+ IF NOT EXISTS
+ (
+ SELECT 1
+ FROM dbo.Fac_CfdiDocumentos AS D
+ INNER JOIN dbo.Sis_Usuarios AS U
+ ON U.CveUsuario = @CveUsuarioEjecuta
+ AND U.Activo = 1
+ WHERE D.CveCfdiDocumento = @CveCfdiDocumento
+ AND
+ (
+ U.CveRol IN (1, 2)
+ OR EXISTS
+ (
+ SELECT 1
+ FROM dbo.Sis_UsuariosClientes AS UC
+ WHERE UC.CveUsuario = U.CveUsuario
+ AND UC.CveCliente = D.CveCliente
+ AND UC.Activo = 1
+ )
+ )
+ )
+ BEGIN
+ SELECT
+ @ErrorMostrar = 'No se encontró el CFDI o no cuenta con permiso para consultarlo.',
+ @ErrorTipo = 2;
+ RETURN;
+ END;
+
+ SELECT
+ T.CveCfdiTimbrado,
+ T.CveCfdiDocumento,
+ T.NumeroIntento,
+ T.IdSolicitud,
+ T.ProveedorPac,
+ T.Ambiente,
+ T.Estado,
+ T.Exitoso,
+ T.EsDuplicado,
+ T.IdOperacionPac,
+ T.ReferenciaContratoPac,
+ T.CodigoRespuesta,
+ T.MensajeRespuesta,
+ T.TipoExcepcion,
+ T.Uuid,
+ T.FechaSolicitud,
+ T.FechaRespuesta,
+ T.FechaTimbrado,
+ T.RfcProveedorCertificacion,
+ T.NumeroCertificadoEmisor,
+ T.NumeroCertificadoSat,
+ T.SelloCfdi,
+ T.SelloSat,
+ T.CadenaTimbre,
+ T.XmlTimbrado,
+ T.HashXmlTimbrado,
+ T.CodigoBidimensional
+ FROM dbo.Fac_CfdiTimbrados AS T
+ WHERE T.CveCfdiDocumento = @CveCfdiDocumento
+ ORDER BY T.NumeroIntento DESC;
+
+ SET @Return = 1;
+ END TRY
+ BEGIN CATCH
+ SELECT
+ @ErrorMostrar = 'Ocurrió un error al consultar los intentos de timbrado; favor de contactar a Sistemas.',
+ @ErrorTipo = 1,
+ @Return = 0;
+
+ DECLARE @ErrorTecnico nvarchar(2048) =
+ CONCAT(
+ 'Número: ', ERROR_NUMBER(),
+ '; Procedimiento: ', COALESCE(ERROR_PROCEDURE(), 'PA_Fac_CfdiTimbradoAttemptList'),
+ '; Línea: ', ERROR_LINE(),
+ '; Detalle: ', ERROR_MESSAGE());
+ RAISERROR(N'%s', 10, 1, @ErrorTecnico);
+ END CATCH;
+END;
+GO
+
+CREATE OR ALTER PROCEDURE dbo.PA_Fac_CfdiXmlGet
+ @CveCfdiDocumento bigint,
+ @Timbrado bit,
+ @CveUsuarioEjecuta int,
+ @ErrorMostrar varchar(max) OUTPUT,
+ @ErrorTipo int OUTPUT,
+ @Return bit OUTPUT
+AS
+BEGIN
+ SET NOCOUNT ON;
+ SELECT @ErrorMostrar = NULL, @ErrorTipo = 0, @Return = 0;
+
+ BEGIN TRY
+ IF NOT EXISTS
+ (
+ SELECT 1
+ FROM dbo.Fac_CfdiDocumentos AS D
+ INNER JOIN dbo.Sis_Usuarios AS U
+ ON U.CveUsuario = @CveUsuarioEjecuta
+ AND U.Activo = 1
+ WHERE D.CveCfdiDocumento = @CveCfdiDocumento
+ AND
+ (
+ U.CveRol IN (1, 2)
+ OR EXISTS
+ (
+ SELECT 1
+ FROM dbo.Sis_UsuariosClientes AS UC
+ WHERE UC.CveUsuario = U.CveUsuario
+ AND UC.CveCliente = D.CveCliente
+ AND UC.Activo = 1
+ )
+ )
+ )
+ BEGIN
+ SELECT
+ @ErrorMostrar = 'No se encontró el CFDI o no cuenta con permiso para descargarlo.',
+ @ErrorTipo = 2;
+ RETURN;
+ END;
+
+ IF @Timbrado = 1
+ AND NOT EXISTS
+ (
+ SELECT 1
+ FROM dbo.Fac_CfdiDocumentos
+ WHERE CveCfdiDocumento = @CveCfdiDocumento
+ AND CveCfdiTimbradoVigente IS NOT NULL
+ )
+ BEGIN
+ SELECT
+ @ErrorMostrar = 'El CFDI todavía no cuenta con un XML timbrado.',
+ @ErrorTipo = 2;
+ RETURN;
+ END;
+
+ SELECT
+ D.CveCfdiDocumento,
+ CASE
+ WHEN @Timbrado = 1
+ THEN D.CveCfdiTimbradoVigente
+ ELSE NULL
+ END AS CveCfdiTimbrado,
+ @Timbrado AS EsTimbrado,
+ CONCAT
+ (
+ 'CFDI-',
+ D.CveCfdiDocumento,
+ CASE
+ WHEN @Timbrado = 1
+ THEN CONCAT('-', T.Uuid, '-Timbrado.xml')
+ ELSE '-SinTimbrar.xml'
+ END
+ ) AS NombreArchivo,
+ 'application/xml' AS TipoContenido,
+ CASE
+ WHEN @Timbrado = 1
+ THEN T.XmlTimbrado
+ ELSE D.XmlSinTimbrar
+ END AS Contenido,
+ CASE
+ WHEN @Timbrado = 1
+ THEN T.HashXmlTimbrado
+ ELSE D.HashXmlSinTimbrar
+ END AS HashSha256
+ FROM dbo.Fac_CfdiDocumentos AS D
+ LEFT JOIN dbo.Fac_CfdiTimbrados AS T
+ ON T.CveCfdiTimbrado = D.CveCfdiTimbradoVigente
+ WHERE D.CveCfdiDocumento = @CveCfdiDocumento;
+
+ SET @Return = 1;
+ END TRY
+ BEGIN CATCH
+ SELECT
+ @ErrorMostrar = 'Ocurrió un error al recuperar el XML del CFDI; favor de contactar a Sistemas.',
+ @ErrorTipo = 1,
+ @Return = 0;
+
+ DECLARE @ErrorTecnico nvarchar(2048) =
+ CONCAT(
+ 'Número: ', ERROR_NUMBER(),
+ '; Procedimiento: ', COALESCE(ERROR_PROCEDURE(), 'PA_Fac_CfdiXmlGet'),
+ '; Línea: ', ERROR_LINE(),
+ '; Detalle: ', ERROR_MESSAGE());
+ RAISERROR(N'%s', 10, 1, @ErrorTecnico);
+ END CATCH;
+END;
+GO
diff --git a/Fraccionamientos_Catalogo.sql b/Fraccionamientos_Catalogo.sql
new file mode 100644
index 0000000..28325ef
--- /dev/null
+++ b/Fraccionamientos_Catalogo.sql
@@ -0,0 +1,812 @@
+/* Procedimientos del catálogo de fraccionamientos sincronizados desde la base local. */
+
+CREATE OR ALTER PROCEDURE [dbo].[PA_Fraccionamientos_ClienteList]
+ @CveUsuarioEjecuta int,
+ @ErrorMostrar varchar(max) OUTPUT,
+ @ErrorTipo int OUTPUT,
+ @Return bit OUTPUT
+AS
+BEGIN
+ SET NOCOUNT ON;
+ SELECT @ErrorMostrar = NULL, @ErrorTipo = 0, @Return = 0;
+
+ BEGIN TRY
+ DECLARE @EsSuperUsuario bit = 0;
+
+ SELECT @EsSuperUsuario = CASE WHEN R.NombreRol = 'SuperUsuario' THEN 1 ELSE 0 END
+ FROM dbo.Sis_Usuarios AS U
+ INNER JOIN dbo.Sis_Roles AS R ON R.CveRol = U.CveRol
+ WHERE U.CveUsuario = @CveUsuarioEjecuta
+ AND U.Activo = 1
+;
+
+ SELECT DISTINCT
+ C.CveCliente,
+ C.Nombre AS Cliente,
+ C.RFC
+ FROM dbo.Clientes AS C
+ WHERE C.Estatus = 1
+ AND
+ (
+ @EsSuperUsuario = 1
+ OR EXISTS
+ (
+ SELECT 1
+ FROM dbo.Sis_UsuariosClientes AS UC
+ WHERE UC.CveUsuario = @CveUsuarioEjecuta
+ AND UC.CveCliente = C.CveCliente
+ AND UC.Activo = 1
+
+ )
+ )
+ ORDER BY C.Nombre;
+
+ SET @Return = 1;
+ END TRY
+ BEGIN CATCH
+ SET @ErrorMostrar = 'Ocurrió un error al consultar los clientes disponibles; favor de contactar a Sistemas.';
+ SET @ErrorTipo = 1;
+ SET @Return = 0;
+ DECLARE @ErrorTecnico nvarchar(2048) = CONCAT('Número: ', ERROR_NUMBER(), '; Procedimiento: ', COALESCE(ERROR_PROCEDURE(), 'PA_Fraccionamientos_ClienteList'), '; Línea: ', ERROR_LINE(), '; Detalle: ', ERROR_MESSAGE());
+ RAISERROR(N'%s', 10, 1, @ErrorTecnico);
+ END CATCH;
+END;
+
+GO
+
+CREATE OR ALTER PROCEDURE [dbo].[PA_Fraccionamientos_EstatusList]
+ @CveUsuarioEjecuta int,
+ @ErrorMostrar varchar(max) OUTPUT,
+ @ErrorTipo int OUTPUT,
+ @Return bit OUTPUT
+AS
+BEGIN
+ SET NOCOUNT ON;
+
+ SELECT
+ @ErrorMostrar = NULL,
+ @ErrorTipo = 0,
+ @Return = 0;
+
+ BEGIN TRY
+ SELECT
+ E.CveEstatus,
+ E.Estatus
+ FROM dbo.Fraccionamientos_Estatus AS E
+ ORDER BY E.Estatus;
+
+ SET @Return = 1;
+ END TRY
+ BEGIN CATCH
+ SET @ErrorMostrar = 'Ocurrió un error al consultar los estatus de fraccionamientos; favor de contactar a Sistemas.';
+ SET @ErrorTipo = 1;
+ SET @Return = 0;
+
+ DECLARE @ErrorTecnico nvarchar(2048) = CONCAT(
+ 'Número: ', ERROR_NUMBER(),
+ '; Procedimiento: ', COALESCE(ERROR_PROCEDURE(), 'PA_Fraccionamientos_EstatusList'),
+ '; Línea: ', ERROR_LINE(),
+ '; Detalle: ', ERROR_MESSAGE()
+ );
+
+ RAISERROR(N'%s', 10, 1, @ErrorTecnico);
+ END CATCH;
+END;
+
+GO
+
+CREATE OR ALTER PROCEDURE [dbo].[PA_Fraccionamientos_FraccionamientoList]
+ @Texto varchar(200) = NULL,
+ @CveCliente int = NULL,
+ @IncluirInactivos bit = 0,
+ @CveUsuarioEjecuta int,
+ @ErrorMostrar varchar(max) OUTPUT,
+ @ErrorTipo int OUTPUT,
+ @Return bit OUTPUT
+AS
+BEGIN
+ SET NOCOUNT ON;
+ SELECT @ErrorMostrar = NULL, @ErrorTipo = 0, @Return = 0;
+
+ BEGIN TRY
+ DECLARE @EsSuperUsuario bit = 0;
+ SELECT @EsSuperUsuario = CASE WHEN R.NombreRol = 'SuperUsuario' THEN 1 ELSE 0 END
+ FROM dbo.Sis_Usuarios AS U
+ INNER JOIN dbo.Sis_Roles AS R ON R.CveRol = U.CveRol
+ WHERE U.CveUsuario = @CveUsuarioEjecuta AND U.Activo = 1;
+
+ SELECT
+ F.CveFraccionamiento,
+ F.CveCliente,
+ C.Nombre AS Cliente,
+ F.Fraccionamiento,
+ F.Hectareas,
+ F.Ubicacion,
+ F.CveEstatus,
+ COALESCE(FE.Estatus, 'Estatus no disponible') AS Estatus,
+ F.EsActivo,
+ COUNT(E.CveFraccionamientoEtapa) AS NumeroEtapas,
+ F.FechaAlta
+ FROM dbo.Fraccionamientos AS F
+ INNER JOIN dbo.Clientes AS C ON C.CveCliente = F.CveCliente
+ LEFT JOIN dbo.Fraccionamientos_Estatus AS FE
+ ON FE.CveEstatus = F.CveEstatus
+
+ LEFT JOIN dbo.FraccionamientosEtapas AS E ON E.CveFraccionamiento = F.CveFraccionamiento
+ WHERE (@IncluirInactivos = 1 OR F.EsActivo = 1)
+ AND (@CveCliente IS NULL OR F.CveCliente = @CveCliente)
+ AND
+ (
+ NULLIF(LTRIM(RTRIM(@Texto)), '') IS NULL
+ OR F.Fraccionamiento LIKE '%' + LTRIM(RTRIM(@Texto)) + '%'
+ OR C.Nombre LIKE '%' + LTRIM(RTRIM(@Texto)) + '%'
+ OR F.Ubicacion LIKE '%' + LTRIM(RTRIM(@Texto)) + '%'
+ )
+ AND
+ (
+ @EsSuperUsuario = 1
+ OR EXISTS
+ (
+ SELECT 1 FROM dbo.Sis_UsuariosClientes AS UC
+ WHERE UC.CveUsuario = @CveUsuarioEjecuta
+ AND UC.CveCliente = F.CveCliente
+ AND UC.Activo = 1
+ )
+ )
+ GROUP BY F.CveFraccionamiento, F.CveCliente, C.Nombre, F.Fraccionamiento,
+ F.Hectareas, F.Ubicacion, F.CveEstatus, FE.Estatus, F.EsActivo, F.FechaAlta
+ ORDER BY C.Nombre, F.Fraccionamiento;
+
+ SET @Return = 1;
+ END TRY
+ BEGIN CATCH
+ SET @ErrorMostrar = 'Ocurrió un error al consultar los fraccionamientos; favor de contactar a Sistemas.';
+ SET @ErrorTipo = 1;
+ SET @Return = 0;
+ DECLARE @ErrorTecnico nvarchar(2048) = CONCAT('Número: ', ERROR_NUMBER(), '; Procedimiento: ', COALESCE(ERROR_PROCEDURE(), 'PA_Fraccionamientos_FraccionamientoList'), '; Línea: ', ERROR_LINE(), '; Detalle: ', ERROR_MESSAGE());
+ RAISERROR(N'%s', 10, 1, @ErrorTecnico);
+ END CATCH;
+END;
+
+GO
+
+CREATE OR ALTER PROCEDURE [dbo].[PA_Fraccionamientos_FraccionamientoGet]
+ @CveFraccionamiento int,
+ @CveUsuarioEjecuta int,
+ @ErrorMostrar varchar(max) OUTPUT,
+ @ErrorTipo int OUTPUT,
+ @Return bit OUTPUT
+AS
+BEGIN
+ SET NOCOUNT ON;
+ SELECT @ErrorMostrar = NULL, @ErrorTipo = 0, @Return = 0;
+
+ BEGIN TRY
+ DECLARE @EsSuperUsuario bit = 0;
+ SELECT @EsSuperUsuario = CASE WHEN R.NombreRol = 'SuperUsuario' THEN 1 ELSE 0 END
+ FROM dbo.Sis_Usuarios AS U
+ INNER JOIN dbo.Sis_Roles AS R ON R.CveRol = U.CveRol
+ WHERE U.CveUsuario = @CveUsuarioEjecuta AND U.Activo = 1;
+
+ IF NOT EXISTS
+ (
+ SELECT 1
+ FROM dbo.Fraccionamientos AS F
+ WHERE F.CveFraccionamiento = @CveFraccionamiento
+
+ AND
+ (
+ @EsSuperUsuario = 1
+ OR EXISTS
+ (
+ SELECT 1 FROM dbo.Sis_UsuariosClientes AS UC
+ WHERE UC.CveUsuario = @CveUsuarioEjecuta
+ AND UC.CveCliente = F.CveCliente
+ AND UC.Activo = 1
+ )
+ )
+ )
+ BEGIN
+ SET @ErrorMostrar = 'El fraccionamiento no existe o no está asignado al usuario.';
+ SET @ErrorTipo = 2;
+ RETURN;
+ END;
+
+ SELECT
+ F.CveFraccionamiento, F.CveCliente, C.Nombre AS Cliente,
+ F.Fraccionamiento, F.Hectareas, F.Ubicacion, F.CveEstatus,
+ COALESCE(FE.Estatus, 'Estatus no disponible') AS Estatus,
+ F.EsActivo, 0 AS NumeroEtapas, F.FechaAlta
+ FROM dbo.Fraccionamientos AS F
+ INNER JOIN dbo.Clientes AS C ON C.CveCliente = F.CveCliente
+ LEFT JOIN dbo.Fraccionamientos_Estatus AS FE
+ ON FE.CveEstatus = F.CveEstatus
+
+ WHERE F.CveFraccionamiento = @CveFraccionamiento;
+
+ SET @Return = 1;
+ END TRY
+ BEGIN CATCH
+ SET @ErrorMostrar = 'Ocurrió un error al consultar el fraccionamiento; favor de contactar a Sistemas.';
+ SET @ErrorTipo = 1;
+ SET @Return = 0;
+ DECLARE @ErrorTecnico nvarchar(2048) = CONCAT('Número: ', ERROR_NUMBER(), '; Procedimiento: ', COALESCE(ERROR_PROCEDURE(), 'PA_Fraccionamientos_FraccionamientoGet'), '; Línea: ', ERROR_LINE(), '; Detalle: ', ERROR_MESSAGE());
+ RAISERROR(N'%s', 10, 1, @ErrorTecnico);
+ END CATCH;
+END;
+
+GO
+
+CREATE OR ALTER PROCEDURE [dbo].[PA_Fraccionamientos_FraccionamientoSave]
+ @CveFraccionamiento int = NULL,
+ @CveCliente int,
+ @Fraccionamiento varchar(200),
+ @Hectareas decimal(18,4) = NULL,
+ @Ubicacion varchar(500) = NULL,
+ @CveEstatus int,
+ @EsActivo bit = 1,
+ @CveUsuarioEjecuta int,
+ @ErrorMostrar varchar(max) OUTPUT,
+ @ErrorTipo int OUTPUT,
+ @Return bit OUTPUT
+AS
+BEGIN
+ SET NOCOUNT ON;
+ SELECT @ErrorMostrar = NULL, @ErrorTipo = 0, @Return = 0;
+
+ BEGIN TRY
+ DECLARE @EsSuperUsuario bit = 0;
+ SELECT @EsSuperUsuario = CASE WHEN R.NombreRol = 'SuperUsuario' THEN 1 ELSE 0 END
+ FROM dbo.Sis_Usuarios AS U
+ INNER JOIN dbo.Sis_Roles AS R ON R.CveRol = U.CveRol
+ WHERE U.CveUsuario = @CveUsuarioEjecuta AND U.Activo = 1;
+
+ IF NULLIF(LTRIM(RTRIM(@Fraccionamiento)), '') IS NULL
+ BEGIN
+ SET @ErrorMostrar = 'Capture el nombre del fraccionamiento.';
+ SET @ErrorTipo = 2;
+ RETURN;
+ END;
+
+ IF @Hectareas IS NOT NULL AND @Hectareas < 0
+ BEGIN
+ SET @ErrorMostrar = 'Las hectáreas no pueden ser negativas.';
+ SET @ErrorTipo = 2;
+ RETURN;
+ END;
+
+ IF NOT EXISTS
+ (
+ SELECT 1
+ FROM dbo.Fraccionamientos_Estatus AS E
+ WHERE E.CveEstatus = @CveEstatus
+
+ )
+ BEGIN
+ SET @ErrorMostrar = 'Seleccione un estatus válido para el fraccionamiento.';
+ SET @ErrorTipo = 2;
+ RETURN;
+ END;
+
+ IF NOT EXISTS
+ (
+ SELECT 1 FROM dbo.Clientes AS C
+ WHERE C.CveCliente = @CveCliente AND C.Estatus = 1
+ AND
+ (
+ @EsSuperUsuario = 1
+ OR EXISTS
+ (
+ SELECT 1 FROM dbo.Sis_UsuariosClientes AS UC
+ WHERE UC.CveUsuario = @CveUsuarioEjecuta
+ AND UC.CveCliente = C.CveCliente
+ AND UC.Activo = 1
+ )
+ )
+ )
+ BEGIN
+ SET @ErrorMostrar = 'El cliente no existe o no está asignado al usuario.';
+ SET @ErrorTipo = 2;
+ RETURN;
+ END;
+
+ IF @CveFraccionamiento IS NOT NULL
+ AND NOT EXISTS
+ (
+ SELECT 1 FROM dbo.Fraccionamientos AS F
+ WHERE F.CveFraccionamiento = @CveFraccionamiento
+
+ AND (@EsSuperUsuario = 1 OR EXISTS
+ (SELECT 1 FROM dbo.Sis_UsuariosClientes AS UC
+ WHERE UC.CveUsuario = @CveUsuarioEjecuta
+ AND UC.CveCliente = F.CveCliente
+ AND UC.Activo = 1))
+ )
+ BEGIN
+ SET @ErrorMostrar = 'El fraccionamiento no existe o no está asignado al usuario.';
+ SET @ErrorTipo = 2;
+ RETURN;
+ END;
+
+ IF EXISTS
+ (
+ SELECT 1 FROM dbo.Fraccionamientos AS F
+ WHERE F.CveCliente = @CveCliente
+ AND F.Fraccionamiento = LTRIM(RTRIM(@Fraccionamiento))
+
+ AND (@CveFraccionamiento IS NULL OR F.CveFraccionamiento <> @CveFraccionamiento)
+ )
+ BEGIN
+ SET @ErrorMostrar = 'Ya existe un fraccionamiento con ese nombre para el cliente seleccionado.';
+ SET @ErrorTipo = 2;
+ RETURN;
+ END;
+
+
+ IF @CveFraccionamiento IS NULL
+ BEGIN
+ INSERT INTO dbo.Fraccionamientos
+ (CveCliente, Fraccionamiento, Hectareas, Ubicacion, CveEstatus, EsActivo, CveUsuario)
+ VALUES
+ (@CveCliente, LTRIM(RTRIM(@Fraccionamiento)), @Hectareas,
+ NULLIF(LTRIM(RTRIM(@Ubicacion)), ''), @CveEstatus,
+ @EsActivo, @CveUsuarioEjecuta);
+ SET @CveFraccionamiento = CONVERT(int, SCOPE_IDENTITY());
+ END
+ ELSE
+ BEGIN
+ UPDATE dbo.Fraccionamientos
+ SET CveCliente = @CveCliente,
+ Fraccionamiento = LTRIM(RTRIM(@Fraccionamiento)),
+ Hectareas = @Hectareas,
+ Ubicacion = NULLIF(LTRIM(RTRIM(@Ubicacion)), ''),
+ CveEstatus = @CveEstatus,
+ EsActivo = @EsActivo,
+ FechaModificacion = GETDATE(),
+ CveUsuario = @CveUsuarioEjecuta
+ WHERE CveFraccionamiento = @CveFraccionamiento;
+ END;
+
+ SELECT @CveFraccionamiento AS CveFraccionamiento;
+ SET @Return = 1;
+ END TRY
+ BEGIN CATCH
+ SET @ErrorMostrar = 'Ocurrió un error al guardar el fraccionamiento; favor de contactar a Sistemas.';
+ SET @ErrorTipo = 1;
+ SET @Return = 0;
+ DECLARE @ErrorTecnico nvarchar(2048) = CONCAT('Número: ', ERROR_NUMBER(), '; Procedimiento: ', COALESCE(ERROR_PROCEDURE(), 'PA_Fraccionamientos_FraccionamientoSave'), '; Línea: ', ERROR_LINE(), '; Detalle: ', ERROR_MESSAGE());
+ RAISERROR(N'%s', 10, 1, @ErrorTecnico);
+ END CATCH;
+END;
+
+GO
+
+CREATE OR ALTER PROCEDURE [dbo].[PA_Fraccionamientos_FraccionamientoDelete]
+ @CveFraccionamiento int,
+ @CveUsuarioEjecuta int,
+ @ErrorMostrar varchar(max) OUTPUT,
+ @ErrorTipo int OUTPUT,
+ @Return bit OUTPUT
+AS
+BEGIN
+ SET NOCOUNT ON;
+ SELECT @ErrorMostrar = NULL, @ErrorTipo = 0, @Return = 0;
+
+ BEGIN TRY
+ DECLARE @EsSuperUsuario bit = 0;
+ SELECT @EsSuperUsuario = CASE WHEN R.NombreRol = 'SuperUsuario' THEN 1 ELSE 0 END
+ FROM dbo.Sis_Usuarios AS U INNER JOIN dbo.Sis_Roles AS R ON R.CveRol = U.CveRol
+ WHERE U.CveUsuario = @CveUsuarioEjecuta AND U.Activo = 1;
+
+ IF NOT EXISTS
+ (
+ SELECT 1 FROM dbo.Fraccionamientos AS F
+ WHERE F.CveFraccionamiento = @CveFraccionamiento
+ AND (@EsSuperUsuario = 1 OR EXISTS
+ (SELECT 1 FROM dbo.Sis_UsuariosClientes AS UC
+ WHERE UC.CveUsuario = @CveUsuarioEjecuta AND UC.CveCliente = F.CveCliente
+ AND UC.Activo = 1))
+ )
+ BEGIN
+ SET @ErrorMostrar = 'El fraccionamiento no existe o no está asignado al usuario.';
+ SET @ErrorTipo = 2;
+ RETURN;
+ END;
+
+ IF EXISTS
+ (
+ SELECT 1
+ FROM dbo.Tra_Solicitudes AS S
+ WHERE S.CveFraccionamiento = @CveFraccionamiento
+ OR EXISTS
+ (
+ SELECT 1
+ FROM dbo.FraccionamientosEtapas AS E
+ WHERE E.CveFraccionamientoEtapa = S.CveFraccionamientoEtapa
+ AND E.CveFraccionamiento = @CveFraccionamiento
+ )
+ )
+ BEGIN
+ SET @ErrorMostrar = 'El fraccionamiento tiene trámites relacionados y no puede eliminarse.';
+ SET @ErrorTipo = 2;
+ RETURN;
+ END;
+
+
+ DELETE L
+ FROM dbo.FraccionamientosLotes AS L
+ INNER JOIN dbo.FraccionamientosEtapas AS E
+ ON E.CveFraccionamientoEtapa = L.CveFraccionamientoEtapa
+ WHERE E.CveFraccionamiento = @CveFraccionamiento;
+
+ DELETE FROM dbo.FraccionamientosEtapas
+ WHERE CveFraccionamiento = @CveFraccionamiento;
+
+ DELETE FROM dbo.Fraccionamientos
+ WHERE CveFraccionamiento = @CveFraccionamiento;
+
+ SET @Return = 1;
+ END TRY
+ BEGIN CATCH
+ SET @ErrorMostrar = 'Ocurrió un error al eliminar el fraccionamiento; favor de contactar a Sistemas.';
+ SET @ErrorTipo = 1;
+ SET @Return = 0;
+ DECLARE @ErrorTecnico nvarchar(2048) = CONCAT('Número: ', ERROR_NUMBER(), '; Procedimiento: ', COALESCE(ERROR_PROCEDURE(), 'PA_Fraccionamientos_FraccionamientoDelete'), '; Línea: ', ERROR_LINE(), '; Detalle: ', ERROR_MESSAGE());
+ RAISERROR(N'%s', 10, 1, @ErrorTecnico);
+ END CATCH;
+END;
+
+GO
+
+CREATE OR ALTER PROCEDURE [dbo].[PA_Fraccionamientos_EtapaList]
+ @CveFraccionamiento int,
+ @CveUsuarioEjecuta int,
+ @ErrorMostrar varchar(max) OUTPUT,
+ @ErrorTipo int OUTPUT,
+ @Return bit OUTPUT
+AS
+BEGIN
+ SET NOCOUNT ON;
+ SELECT @ErrorMostrar = NULL, @ErrorTipo = 0, @Return = 0;
+ BEGIN TRY
+ DECLARE @EsSuperUsuario bit = 0;
+ SELECT @EsSuperUsuario = CASE WHEN R.NombreRol = 'SuperUsuario' THEN 1 ELSE 0 END
+ FROM dbo.Sis_Usuarios AS U INNER JOIN dbo.Sis_Roles AS R ON R.CveRol = U.CveRol
+ WHERE U.CveUsuario = @CveUsuarioEjecuta AND U.Activo = 1;
+
+ IF NOT EXISTS
+ (
+ SELECT 1 FROM dbo.Fraccionamientos AS F
+ WHERE F.CveFraccionamiento = @CveFraccionamiento
+ AND (@EsSuperUsuario = 1 OR EXISTS
+ (SELECT 1 FROM dbo.Sis_UsuariosClientes AS UC
+ WHERE UC.CveUsuario = @CveUsuarioEjecuta AND UC.CveCliente = F.CveCliente
+ AND UC.Activo = 1))
+ )
+ BEGIN
+ SET @ErrorMostrar = 'El fraccionamiento no existe o no está asignado al usuario.';
+ SET @ErrorTipo = 2;
+ RETURN;
+ END;
+
+ SELECT CveFraccionamientoEtapa, CveFraccionamiento, Etapa, Hectareas, Orden, EsActivo
+ FROM dbo.FraccionamientosEtapas
+ WHERE CveFraccionamiento = @CveFraccionamiento
+ ORDER BY Orden, Etapa;
+ SET @Return = 1;
+ END TRY
+ BEGIN CATCH
+ SET @ErrorMostrar = 'Ocurrió un error al consultar las etapas; favor de contactar a Sistemas.';
+ SET @ErrorTipo = 1;
+ SET @Return = 0;
+ DECLARE @ErrorTecnico nvarchar(2048) = CONCAT('Número: ', ERROR_NUMBER(), '; Procedimiento: ', COALESCE(ERROR_PROCEDURE(), 'PA_Fraccionamientos_EtapaList'), '; Línea: ', ERROR_LINE(), '; Detalle: ', ERROR_MESSAGE());
+ RAISERROR(N'%s', 10, 1, @ErrorTecnico);
+ END CATCH;
+END;
+
+GO
+
+CREATE OR ALTER PROCEDURE [dbo].[PA_Fraccionamientos_EtapaGet]
+ @CveFraccionamientoEtapa int,
+ @CveUsuarioEjecuta int,
+ @ErrorMostrar varchar(max) OUTPUT,
+ @ErrorTipo int OUTPUT,
+ @Return bit OUTPUT
+AS
+BEGIN
+ SET NOCOUNT ON;
+
+ SELECT
+ @ErrorMostrar = NULL,
+ @ErrorTipo = 0,
+ @Return = 0;
+
+ BEGIN TRY
+ DECLARE @EsSuperUsuario bit = 0;
+
+ SELECT @EsSuperUsuario = CASE
+ WHEN R.NombreRol = 'SuperUsuario' THEN 1
+ ELSE 0
+ END
+ FROM dbo.Sis_Usuarios AS U
+ INNER JOIN dbo.Sis_Roles AS R
+ ON R.CveRol = U.CveRol
+ WHERE U.CveUsuario = @CveUsuarioEjecuta
+ AND U.Activo = 1;
+
+ SELECT
+ E.CveFraccionamientoEtapa,
+ E.CveFraccionamiento,
+ F.CveCliente,
+ E.Etapa,
+ E.Hectareas,
+ E.Orden,
+ E.EsActivo
+ FROM dbo.FraccionamientosEtapas AS E
+ INNER JOIN dbo.Fraccionamientos AS F
+ ON F.CveFraccionamiento = E.CveFraccionamiento
+ WHERE E.CveFraccionamientoEtapa = @CveFraccionamientoEtapa
+ AND
+ (
+ @EsSuperUsuario = 1
+ OR EXISTS
+ (
+ SELECT 1
+ FROM dbo.Sis_UsuariosClientes AS UC
+ WHERE UC.CveUsuario = @CveUsuarioEjecuta
+ AND UC.CveCliente = F.CveCliente
+ AND UC.Activo = 1
+ )
+ );
+
+ IF @@ROWCOUNT = 0
+ BEGIN
+ SET @ErrorMostrar = 'La etapa no existe o no está asignada al usuario.';
+ SET @ErrorTipo = 2;
+ RETURN;
+ END;
+
+ SET @Return = 1;
+ END TRY
+ BEGIN CATCH
+ SET @ErrorMostrar = 'Ocurrió un error al consultar la etapa; favor de contactar a Sistemas.';
+ SET @ErrorTipo = 1;
+ SET @Return = 0;
+
+ DECLARE @ErrorTecnico nvarchar(2048) = CONCAT(
+ 'Número: ', ERROR_NUMBER(),
+ '; Procedimiento: ', COALESCE(ERROR_PROCEDURE(), 'PA_Fraccionamientos_EtapaGet'),
+ '; Línea: ', ERROR_LINE(),
+ '; Detalle: ', ERROR_MESSAGE()
+ );
+
+ RAISERROR(N'%s', 10, 1, @ErrorTecnico);
+ END CATCH;
+END;
+
+GO
+CREATE OR ALTER PROCEDURE [dbo].[PA_Fraccionamientos_EtapaSave]
+ @CveFraccionamientoEtapa int = NULL,
+ @CveFraccionamiento int,
+ @Etapa varchar(150),
+ @Hectareas decimal(18,4) = NULL,
+ @Orden int = 0,
+ @EsActivo bit = 1,
+ @CveUsuarioEjecuta int,
+ @ErrorMostrar varchar(max) OUTPUT,
+ @ErrorTipo int OUTPUT,
+ @Return bit OUTPUT
+AS
+BEGIN
+ SET NOCOUNT ON;
+ SELECT @ErrorMostrar = NULL, @ErrorTipo = 0, @Return = 0;
+ BEGIN TRY
+ DECLARE @EsSuperUsuario bit = 0;
+ SELECT @EsSuperUsuario = CASE WHEN R.NombreRol = 'SuperUsuario' THEN 1 ELSE 0 END
+ FROM dbo.Sis_Usuarios AS U INNER JOIN dbo.Sis_Roles AS R ON R.CveRol = U.CveRol
+ WHERE U.CveUsuario = @CveUsuarioEjecuta AND U.Activo = 1;
+
+ IF NULLIF(LTRIM(RTRIM(@Etapa)), '') IS NULL
+ BEGIN
+ SET @ErrorMostrar = 'Capture el nombre de la etapa.';
+ SET @ErrorTipo = 2;
+ RETURN;
+ END;
+ IF @Hectareas IS NOT NULL AND @Hectareas < 0
+ BEGIN
+ SET @ErrorMostrar = 'Las hectáreas de la etapa no pueden ser negativas.';
+ SET @ErrorTipo = 2;
+ RETURN;
+ END;
+ IF NOT EXISTS
+ (
+ SELECT 1 FROM dbo.Fraccionamientos AS F
+ WHERE F.CveFraccionamiento = @CveFraccionamiento
+ AND (@EsSuperUsuario = 1 OR EXISTS
+ (SELECT 1 FROM dbo.Sis_UsuariosClientes AS UC
+ WHERE UC.CveUsuario = @CveUsuarioEjecuta AND UC.CveCliente = F.CveCliente
+ AND UC.Activo = 1))
+ )
+ BEGIN
+ SET @ErrorMostrar = 'El fraccionamiento no existe o no está asignado al usuario.';
+ SET @ErrorTipo = 2;
+ RETURN;
+ END;
+ IF @CveFraccionamientoEtapa IS NOT NULL
+ AND NOT EXISTS (SELECT 1 FROM dbo.FraccionamientosEtapas WHERE CveFraccionamientoEtapa = @CveFraccionamientoEtapa AND CveFraccionamiento = @CveFraccionamiento)
+ BEGIN
+ SET @ErrorMostrar = 'La etapa no existe o no pertenece al fraccionamiento.';
+ SET @ErrorTipo = 2;
+ RETURN;
+ END;
+ IF EXISTS
+ (
+ SELECT 1 FROM dbo.FraccionamientosEtapas
+ WHERE CveFraccionamiento = @CveFraccionamiento
+ AND Etapa = LTRIM(RTRIM(@Etapa))
+ AND (@CveFraccionamientoEtapa IS NULL OR CveFraccionamientoEtapa <> @CveFraccionamientoEtapa)
+ )
+ BEGIN
+ SET @ErrorMostrar = 'Ya existe una etapa con ese nombre en el fraccionamiento.';
+ SET @ErrorTipo = 2;
+ RETURN;
+ END;
+
+ IF @CveFraccionamientoEtapa IS NULL
+ BEGIN
+ INSERT INTO dbo.FraccionamientosEtapas
+ (CveFraccionamiento, Etapa, Hectareas, Orden, EsActivo, CveUsuario)
+ VALUES
+ (@CveFraccionamiento, LTRIM(RTRIM(@Etapa)), @Hectareas, @Orden, @EsActivo, @CveUsuarioEjecuta);
+ SET @CveFraccionamientoEtapa = CONVERT(int, SCOPE_IDENTITY());
+ END
+ ELSE
+ BEGIN
+ UPDATE dbo.FraccionamientosEtapas
+ SET Etapa = LTRIM(RTRIM(@Etapa)), Hectareas = @Hectareas,
+ Orden = @Orden, EsActivo = @EsActivo,
+ FechaModificacion = GETDATE(), CveUsuario = @CveUsuarioEjecuta
+ WHERE CveFraccionamientoEtapa = @CveFraccionamientoEtapa;
+ END;
+ SELECT @CveFraccionamientoEtapa AS CveFraccionamientoEtapa;
+ SET @Return = 1;
+ END TRY
+ BEGIN CATCH
+ SET @ErrorMostrar = 'Ocurrió un error al guardar la etapa; favor de contactar a Sistemas.';
+ SET @ErrorTipo = 1;
+ SET @Return = 0;
+ DECLARE @ErrorTecnico nvarchar(2048) = CONCAT('Número: ', ERROR_NUMBER(), '; Procedimiento: ', COALESCE(ERROR_PROCEDURE(), 'PA_Fraccionamientos_EtapaSave'), '; Línea: ', ERROR_LINE(), '; Detalle: ', ERROR_MESSAGE());
+ RAISERROR(N'%s', 10, 1, @ErrorTecnico);
+ END CATCH;
+END;
+
+GO
+
+CREATE OR ALTER PROCEDURE [dbo].[PA_Fraccionamientos_EtapaDelete]
+ @CveFraccionamientoEtapa int,
+ @CveUsuarioEjecuta int,
+ @ErrorMostrar varchar(max) OUTPUT,
+ @ErrorTipo int OUTPUT,
+ @Return bit OUTPUT
+AS
+BEGIN
+ SET NOCOUNT ON;
+ SELECT @ErrorMostrar = NULL, @ErrorTipo = 0, @Return = 0;
+ BEGIN TRY
+ DECLARE @EsSuperUsuario bit = 0;
+ SELECT @EsSuperUsuario = CASE WHEN R.NombreRol = 'SuperUsuario' THEN 1 ELSE 0 END
+ FROM dbo.Sis_Usuarios AS U INNER JOIN dbo.Sis_Roles AS R ON R.CveRol = U.CveRol
+ WHERE U.CveUsuario = @CveUsuarioEjecuta AND U.Activo = 1;
+
+ IF NOT EXISTS
+ (
+ SELECT 1
+ FROM dbo.FraccionamientosEtapas AS E
+ INNER JOIN dbo.Fraccionamientos AS F ON F.CveFraccionamiento = E.CveFraccionamiento
+ WHERE E.CveFraccionamientoEtapa = @CveFraccionamientoEtapa
+ AND (@EsSuperUsuario = 1 OR EXISTS
+ (SELECT 1 FROM dbo.Sis_UsuariosClientes AS UC
+ WHERE UC.CveUsuario = @CveUsuarioEjecuta AND UC.CveCliente = F.CveCliente
+ AND UC.Activo = 1))
+ )
+ BEGIN
+ SET @ErrorMostrar = 'La etapa no existe o no está asignada al usuario.';
+ SET @ErrorTipo = 2;
+ RETURN;
+ END;
+
+ IF EXISTS
+ (
+ SELECT 1
+ FROM dbo.Tra_Solicitudes
+ WHERE CveFraccionamientoEtapa = @CveFraccionamientoEtapa
+ )
+ BEGIN
+ SET @ErrorMostrar = 'La etapa tiene trámites relacionados y no puede eliminarse.';
+ SET @ErrorTipo = 2;
+ RETURN;
+ END;
+
+
+ DELETE FROM dbo.FraccionamientosLotes
+ WHERE CveFraccionamientoEtapa = @CveFraccionamientoEtapa;
+
+ DELETE FROM dbo.FraccionamientosEtapas
+ WHERE CveFraccionamientoEtapa = @CveFraccionamientoEtapa;
+
+ SET @Return = 1;
+ END TRY
+ BEGIN CATCH
+ SET @ErrorMostrar = 'Ocurrió un error al eliminar la etapa; favor de contactar a Sistemas.';
+ SET @ErrorTipo = 1;
+ SET @Return = 0;
+ DECLARE @ErrorTecnico nvarchar(2048) = CONCAT('Número: ', ERROR_NUMBER(), '; Procedimiento: ', COALESCE(ERROR_PROCEDURE(), 'PA_Fraccionamientos_EtapaDelete'), '; Línea: ', ERROR_LINE(), '; Detalle: ', ERROR_MESSAGE());
+ RAISERROR(N'%s', 10, 1, @ErrorTecnico);
+ END CATCH;
+END;
+
+GO
+
+CREATE OR ALTER PROCEDURE [dbo].[PA_Fraccionamientos_EtapaTramiteList]
+ @CveFraccionamiento int,
+ @CveUsuarioEjecuta int,
+ @ErrorMostrar varchar(max) OUTPUT,
+ @ErrorTipo int OUTPUT,
+ @Return bit OUTPUT
+AS
+BEGIN
+ SET NOCOUNT ON;
+ SELECT @ErrorMostrar = NULL, @ErrorTipo = 0, @Return = 0;
+ BEGIN TRY
+ DECLARE @EsSuperUsuario bit = 0;
+ SELECT @EsSuperUsuario = CASE WHEN R.NombreRol = 'SuperUsuario' THEN 1 ELSE 0 END
+ FROM dbo.Sis_Usuarios AS U
+ INNER JOIN dbo.Sis_Roles AS R ON R.CveRol = U.CveRol
+ WHERE U.CveUsuario = @CveUsuarioEjecuta AND U.Activo = 1;
+
+ IF NOT EXISTS
+ (
+ SELECT 1 FROM dbo.Fraccionamientos AS F
+ WHERE F.CveFraccionamiento = @CveFraccionamiento
+ AND (@EsSuperUsuario = 1 OR EXISTS
+ (SELECT 1 FROM dbo.Sis_UsuariosClientes AS UC
+ WHERE UC.CveUsuario = @CveUsuarioEjecuta AND UC.CveCliente = F.CveCliente
+ AND UC.Activo = 1))
+ )
+ BEGIN
+ SET @ErrorMostrar = 'El fraccionamiento no existe o no está asignado al usuario.';
+ SET @ErrorTipo = 2;
+ RETURN;
+ END;
+
+ SELECT E.CveFraccionamientoEtapa, E.Etapa, S.CveSolicitud,
+ CONVERT(varchar(50), S.Folio) AS Folio, T.TipoTramite,
+ ES.EstatusSolicitud, ES.EsFinal,
+ COALESCE(H.FechaAlta, S.FechaModificacion, S.FechaAlta) AS FechaUltimoEstatus,
+ H.Comentarios
+ FROM dbo.FraccionamientosEtapas AS E
+ LEFT JOIN dbo.Tra_Solicitudes AS S ON S.CveFraccionamientoEtapa = E.CveFraccionamientoEtapa
+ LEFT JOIN dbo.Tra_TiposTramite AS T ON T.CveTipoTramite = S.CveTipoTramite
+ OUTER APPLY
+ (
+ SELECT TOP (1) HS.CveEstatusSolicitud, HS.FechaAlta, HS.Comentarios
+ FROM dbo.Tra_HistorialEstatusSolicitud AS HS
+ WHERE HS.CveSolicitud = S.CveSolicitud
+ ORDER BY HS.FechaAlta DESC
+ ) AS H
+ LEFT JOIN dbo.Tra_EstatusSolicitud AS ES ON ES.CveEstatusSolicitud = COALESCE(H.CveEstatusSolicitud, S.CveEstatusSolicitud)
+ WHERE E.CveFraccionamiento = @CveFraccionamiento
+ ORDER BY E.Orden, E.Etapa, S.FechaAlta DESC;
+
+ SET @Return = 1;
+ END TRY
+ BEGIN CATCH
+ SET @ErrorMostrar = 'Ocurrió un error al consultar los trámites de las etapas; favor de contactar a Sistemas.';
+ SET @ErrorTipo = 1;
+ SET @Return = 0;
+ DECLARE @ErrorTecnico nvarchar(2048) = CONCAT('Número: ', ERROR_NUMBER(), '; Procedimiento: ', COALESCE(ERROR_PROCEDURE(), 'PA_Fraccionamientos_EtapaTramiteList'), '; Línea: ', ERROR_LINE(), '; Detalle: ', ERROR_MESSAGE());
+ RAISERROR(N'%s', 10, 1, @ErrorTecnico);
+ END CATCH;
+END;
+
+GO
diff --git a/Fraccionamientos_Lotes.sql b/Fraccionamientos_Lotes.sql
new file mode 100644
index 0000000..9355fbf
--- /dev/null
+++ b/Fraccionamientos_Lotes.sql
@@ -0,0 +1,652 @@
+/* Catálogo de lotes con borrado físico. Las definiciones se sincronizaron desde la base local. */
+
+IF NOT EXISTS
+(
+ SELECT 1
+ FROM sys.indexes
+ WHERE [object_id] = OBJECT_ID(N'dbo.FraccionamientosLotes')
+ AND [name] = N'IX_FraccionamientosLotes_Etapa'
+)
+BEGIN
+ CREATE NONCLUSTERED INDEX [IX_FraccionamientosLotes_Etapa]
+ ON [dbo].[FraccionamientosLotes] ([CveFraccionamientoEtapa])
+ INCLUDE
+ (
+ [Numero],
+ [Tipo],
+ [Calle],
+ [Catastro],
+ [MetrosCuadrados],
+ [Duplicador],
+ [EsActivo]
+ );
+END;
+GO
+
+CREATE OR ALTER PROCEDURE [dbo].[PA_Fraccionamientos_LoteList]
+ @CveFraccionamiento int,
+ @CveFraccionamientoEtapa int = NULL,
+ @CveUsuarioEjecuta int,
+ @ErrorMostrar varchar(max) OUTPUT,
+ @ErrorTipo int OUTPUT,
+ @Return bit OUTPUT
+AS
+BEGIN
+ SET NOCOUNT ON;
+
+ SELECT
+ @ErrorMostrar = NULL,
+ @ErrorTipo = 0,
+ @Return = 0;
+
+ BEGIN TRY
+ IF NOT EXISTS
+ (
+ SELECT 1
+ FROM [dbo].[Fraccionamientos]
+ WHERE [CveFraccionamiento] = @CveFraccionamiento
+
+ )
+ BEGIN
+ SET @ErrorMostrar = 'El fraccionamiento seleccionado no existe.';
+ SET @ErrorTipo = 2;
+ RETURN;
+ END;
+
+ IF @CveFraccionamientoEtapa IS NOT NULL
+ AND NOT EXISTS
+ (
+ SELECT 1
+ FROM [dbo].[FraccionamientosEtapas]
+ WHERE [CveFraccionamientoEtapa] = @CveFraccionamientoEtapa
+ AND [CveFraccionamiento] = @CveFraccionamiento
+
+ )
+ BEGIN
+ SET @ErrorMostrar = 'La etapa seleccionada no pertenece al fraccionamiento.';
+ SET @ErrorTipo = 2;
+ RETURN;
+ END;
+
+ SELECT
+ L.[CveFraccionamientoLote] AS [CveFraccionamientoLote],
+ E.[CveFraccionamientoEtapa] AS [CveFraccionamientoEtapa],
+ E.[Etapa] AS [Etapa],
+ L.[Numero] AS [Nombre],
+ L.[Tipo] AS [Tipo],
+ L.[Calle] AS [Calle],
+ L.[Catastro] AS [Catastro],
+ L.[MetrosCuadrados] AS [MetrosCuadrados],
+ L.[Duplicador] AS [Duplicador],
+ L.[EsActivo] AS [EsActivo]
+ FROM [dbo].[FraccionamientosLotes] AS L
+ INNER JOIN [dbo].[FraccionamientosEtapas] AS E
+ ON E.[CveFraccionamientoEtapa] = L.[CveFraccionamientoEtapa]
+ WHERE E.[CveFraccionamiento] = @CveFraccionamiento
+ AND (@CveFraccionamientoEtapa IS NULL
+ OR E.[CveFraccionamientoEtapa] = @CveFraccionamientoEtapa)
+
+
+ ORDER BY
+ E.[Orden],
+ E.[Etapa],
+ L.[Numero],
+ L.[CveFraccionamientoLote];
+
+ SET @Return = 1;
+ END TRY
+ BEGIN CATCH
+ SET @ErrorMostrar = 'Ocurrió un error al consultar los lotes; favor de contactar a Sistemas.';
+ SET @ErrorTipo = 1;
+ SET @Return = 0;
+
+ DECLARE @ErrorTecnico nvarchar(2048) = CONCAT(
+ 'Número: ', ERROR_NUMBER(),
+ '; Procedimiento: ', COALESCE(ERROR_PROCEDURE(), 'PA_Fraccionamientos_LoteList'),
+ '; Línea: ', ERROR_LINE(),
+ '; Detalle: ', ERROR_MESSAGE()
+ );
+
+ RAISERROR(N'%s', 10, 1, @ErrorTecnico);
+ END CATCH;
+END;
+
+GO
+
+CREATE OR ALTER PROCEDURE [dbo].[PA_Fraccionamientos_LoteBatchSave]
+ @CveFraccionamiento int,
+ @CveFraccionamientoEtapa int,
+ @LotesXml xml,
+ @CveUsuarioEjecuta int,
+ @ErrorMostrar varchar(max) OUTPUT,
+ @ErrorTipo int OUTPUT,
+ @Return bit OUTPUT
+AS
+BEGIN
+ SET NOCOUNT ON;
+
+ SELECT
+ @ErrorMostrar = NULL,
+ @ErrorTipo = 0,
+ @Return = 0;
+
+ BEGIN TRY
+ IF NOT EXISTS
+ (
+ SELECT 1
+ FROM [dbo].[FraccionamientosEtapas]
+ WHERE [CveFraccionamientoEtapa] = @CveFraccionamientoEtapa
+ AND [CveFraccionamiento] = @CveFraccionamiento
+
+ AND [EsActivo] = (1)
+ )
+ BEGIN
+ SET @ErrorMostrar = 'La etapa seleccionada no existe, está inactiva o no pertenece al fraccionamiento.';
+ SET @ErrorTipo = 1;
+ RETURN;
+ END;
+
+ DECLARE @Lotes TABLE
+ (
+ [Nombre] varchar(50) COLLATE Modern_Spanish_CS_AS NULL,
+ [Tipo] varchar(100) COLLATE Modern_Spanish_CS_AS NULL,
+ [Calle] varchar(200) COLLATE Modern_Spanish_CS_AS NULL,
+ [Catastro] varchar(100) COLLATE Modern_Spanish_CS_AS NULL,
+ [MetrosCuadrados] decimal(18,4) NULL,
+ [Duplicador] varchar(50) COLLATE Modern_Spanish_CS_AS NULL,
+ [EsActivo] bit NOT NULL
+ );
+
+ INSERT INTO @Lotes
+ (
+ [Nombre],
+ [Tipo],
+ [Calle],
+ [Catastro],
+ [MetrosCuadrados],
+ [Duplicador],
+ [EsActivo]
+ )
+ SELECT
+ NULLIF(LTRIM(RTRIM(N.value('@Nombre', 'varchar(50)'))), ''),
+ NULLIF(LTRIM(RTRIM(N.value('@Tipo', 'varchar(100)'))), ''),
+ NULLIF(LTRIM(RTRIM(N.value('@Calle', 'varchar(200)'))), ''),
+ NULLIF(LTRIM(RTRIM(N.value('@Catastro', 'varchar(100)'))), ''),
+ TRY_CONVERT(
+ decimal(18,4),
+ NULLIF(N.value('@MetrosCuadrados', 'varchar(50)'), '')
+ ),
+ NULLIF(LTRIM(RTRIM(N.value('@Duplicador', 'varchar(50)'))), ''),
+ N.value('@EsActivo', 'bit')
+ FROM @LotesXml.nodes('/Lotes/Lote') AS X(N);
+
+ DECLARE @Cantidad int = (SELECT COUNT(1) FROM @Lotes);
+
+ IF @Cantidad = (0)
+ BEGIN
+ SET @ErrorMostrar = 'No se recibieron lotes para guardar.';
+ SET @ErrorTipo = 1;
+ RETURN;
+ END;
+
+
+ IF EXISTS
+ (
+ SELECT 1
+ FROM @Lotes
+ WHERE [Nombre] IS NULL
+ )
+ BEGIN
+ SET @ErrorMostrar = 'Todos los lotes deben tener un nombre.';
+ SET @ErrorTipo = 2;
+ RETURN;
+ END;
+
+ IF EXISTS
+ (
+ SELECT [Nombre]
+ FROM @Lotes
+ GROUP BY [Nombre]
+ HAVING COUNT(1) > (1)
+ )
+ BEGIN
+ SET @ErrorMostrar = 'La captura contiene nombres de lote repetidos.';
+ SET @ErrorTipo = 2;
+ RETURN;
+ END;
+
+ IF EXISTS
+ (
+ SELECT 1
+ FROM @Lotes AS N
+ INNER JOIN [dbo].[FraccionamientosLotes] AS L
+ ON L.[CveFraccionamientoEtapa] = @CveFraccionamientoEtapa
+ AND L.[Numero] = N.[Nombre]
+
+ )
+ BEGIN
+ SET @ErrorMostrar = 'Uno o más nombres de lote ya existen en la etapa seleccionada.';
+ SET @ErrorTipo = 2;
+ RETURN;
+ END;
+
+
+ DECLARE @LotesGuardados TABLE
+ (
+ CveFraccionamientoLote int NOT NULL,
+ CveFraccionamientoEtapa int NOT NULL,
+ Nombre varchar(50) COLLATE Modern_Spanish_CS_AS NULL,
+ Tipo varchar(100) COLLATE Modern_Spanish_CS_AS NULL,
+ Calle varchar(200) COLLATE Modern_Spanish_CS_AS NULL,
+ Catastro varchar(100) COLLATE Modern_Spanish_CS_AS NULL,
+ MetrosCuadrados decimal(18,4) NULL,
+ Duplicador varchar(50) COLLATE Modern_Spanish_CS_AS NULL,
+ EsActivo bit NOT NULL
+ );
+
+ INSERT INTO [dbo].[FraccionamientosLotes]
+ (
+ [CveFraccionamientoEtapa],
+ [Tipo],
+ [Calle],
+ [Catastro],
+ [MetrosCuadrados],
+ [Numero],
+ [Duplicador],
+ [EsActivo],
+ [CveUsuario]
+ )
+ OUTPUT
+ INSERTED.[CveFraccionamientoLote],
+ INSERTED.[CveFraccionamientoEtapa],
+ INSERTED.[Numero],
+ INSERTED.[Tipo],
+ INSERTED.[Calle],
+ INSERTED.[Catastro],
+ INSERTED.[MetrosCuadrados],
+ INSERTED.[Duplicador],
+ INSERTED.[EsActivo]
+ INTO @LotesGuardados
+ SELECT
+ @CveFraccionamientoEtapa,
+ [Tipo],
+ [Calle],
+ [Catastro],
+ [MetrosCuadrados],
+ [Nombre],
+ [Duplicador],
+ [EsActivo],
+ @CveUsuarioEjecuta
+ FROM @Lotes;
+
+ SELECT
+ G.CveFraccionamientoLote,
+ G.CveFraccionamientoEtapa,
+ @CveFraccionamiento AS CveFraccionamiento,
+ F.CveCliente,
+ G.Nombre,
+ G.Tipo,
+ G.Calle,
+ G.Catastro,
+ G.MetrosCuadrados,
+ G.Duplicador,
+ G.EsActivo
+ FROM @LotesGuardados AS G
+ INNER JOIN dbo.Fraccionamientos AS F
+ ON F.CveFraccionamiento = @CveFraccionamiento
+ ORDER BY G.CveFraccionamientoLote;
+ SET @Return = 1;
+ END TRY
+ BEGIN CATCH
+
+ SET @ErrorMostrar = 'Ocurrió un error al guardar los lotes; favor de contactar a Sistemas.';
+ SET @ErrorTipo = 1;
+ SET @Return = 0;
+
+ DECLARE @ErrorTecnico nvarchar(2048) = CONCAT(
+ 'Número: ', ERROR_NUMBER(),
+ '; Procedimiento: ', COALESCE(ERROR_PROCEDURE(), 'PA_Fraccionamientos_LoteBatchSave'),
+ '; Línea: ', ERROR_LINE(),
+ '; Detalle: ', ERROR_MESSAGE()
+ );
+
+ RAISERROR(N'%s', 10, 1, @ErrorTecnico);
+ END CATCH;
+END;
+
+GO
+
+CREATE OR ALTER PROCEDURE [dbo].[PA_Fraccionamientos_LoteGet]
+ @CveFraccionamiento int,
+ @CveFraccionamientoLote int,
+ @CveUsuarioEjecuta int,
+ @ErrorMostrar varchar(max) OUTPUT,
+ @ErrorTipo int OUTPUT,
+ @Return bit OUTPUT
+AS
+BEGIN
+ SET NOCOUNT ON;
+
+ SELECT
+ @ErrorMostrar = NULL,
+ @ErrorTipo = 0,
+ @Return = 0;
+
+ BEGIN TRY
+ IF NOT EXISTS
+ (
+ SELECT 1
+ FROM [dbo].[FraccionamientosLotes] AS L
+ INNER JOIN [dbo].[FraccionamientosEtapas] AS E
+ ON E.[CveFraccionamientoEtapa] = L.[CveFraccionamientoEtapa]
+ WHERE L.[CveFraccionamientoLote] = @CveFraccionamientoLote
+ AND E.[CveFraccionamiento] = @CveFraccionamiento
+
+
+ )
+ BEGIN
+ SET @ErrorMostrar = 'El lote seleccionado no existe o no pertenece al fraccionamiento.';
+ SET @ErrorTipo = 2;
+ RETURN;
+ END;
+
+ SELECT
+ L.[CveFraccionamientoLote] AS [CveFraccionamientoLote],
+ L.[CveFraccionamientoEtapa] AS [CveFraccionamientoEtapa],
+ E.[CveFraccionamiento] AS [CveFraccionamiento],
+ F.[CveCliente] AS [CveCliente],
+ E.[Etapa] AS [Etapa],
+ L.[Numero] AS [Nombre],
+ L.[Tipo] AS [Tipo],
+ L.[Calle] AS [Calle],
+ L.[Catastro] AS [Catastro],
+ L.[MetrosCuadrados] AS [MetrosCuadrados],
+ L.[Duplicador] AS [Duplicador],
+ L.[EsActivo] AS [EsActivo]
+ FROM [dbo].[FraccionamientosLotes] AS L
+ INNER JOIN [dbo].[FraccionamientosEtapas] AS E
+ ON E.[CveFraccionamientoEtapa] = L.[CveFraccionamientoEtapa]
+ INNER JOIN [dbo].[Fraccionamientos] AS F
+ ON F.[CveFraccionamiento] = E.[CveFraccionamiento]
+ WHERE L.[CveFraccionamientoLote] = @CveFraccionamientoLote
+ AND E.[CveFraccionamiento] = @CveFraccionamiento
+
+;
+
+ SET @Return = 1;
+ END TRY
+ BEGIN CATCH
+ SET @ErrorMostrar = 'Ocurrió un error al consultar el lote; favor de contactar a Sistemas.';
+ SET @ErrorTipo = 1;
+ SET @Return = 0;
+
+ DECLARE @ErrorTecnico nvarchar(2048) = CONCAT(
+ 'Número: ', ERROR_NUMBER(),
+ '; Procedimiento: ', COALESCE(ERROR_PROCEDURE(), 'PA_Fraccionamientos_LoteGet'),
+ '; Línea: ', ERROR_LINE(),
+ '; Detalle: ', ERROR_MESSAGE()
+ );
+
+ RAISERROR(N'%s', 10, 1, @ErrorTecnico);
+ END CATCH;
+END;
+
+GO
+
+CREATE OR ALTER PROCEDURE [dbo].[PA_Fraccionamientos_LoteUpdate]
+ @CveFraccionamiento int,
+ @CveFraccionamientoLote int,
+ @CveFraccionamientoEtapa int,
+ @Nombre varchar(50),
+ @Tipo varchar(100) = NULL,
+ @Calle varchar(200) = NULL,
+ @Catastro varchar(100) = NULL,
+ @MetrosCuadrados decimal(18,4) = NULL,
+ @Duplicador varchar(50) = NULL,
+ @EsActivo bit,
+ @CveUsuarioEjecuta int,
+ @ErrorMostrar varchar(max) OUTPUT,
+ @ErrorTipo int OUTPUT,
+ @Return bit OUTPUT
+AS
+BEGIN
+ SET NOCOUNT ON;
+
+ SELECT
+ @ErrorMostrar = NULL,
+ @ErrorTipo = 0,
+ @Return = 0;
+
+ BEGIN TRY
+ SET @Nombre = NULLIF(LTRIM(RTRIM(@Nombre)), '');
+ SET @Tipo = NULLIF(LTRIM(RTRIM(@Tipo)), '');
+ SET @Calle = NULLIF(LTRIM(RTRIM(@Calle)), '');
+ SET @Catastro = NULLIF(LTRIM(RTRIM(@Catastro)), '');
+ SET @Duplicador = NULLIF(LTRIM(RTRIM(@Duplicador)), '');
+
+ IF @Nombre IS NULL
+ BEGIN
+ SET @ErrorMostrar = 'Capture el nombre del lote.';
+ SET @ErrorTipo = 2;
+ RETURN;
+ END;
+
+ IF @MetrosCuadrados IS NOT NULL
+ AND @MetrosCuadrados < (0)
+ BEGIN
+ SET @ErrorMostrar = 'Los metros cuadrados no pueden ser negativos.';
+ SET @ErrorTipo = 2;
+ RETURN;
+ END;
+
+ IF NOT EXISTS
+ (
+ SELECT 1
+ FROM [dbo].[FraccionamientosEtapas]
+ WHERE [CveFraccionamientoEtapa] = @CveFraccionamientoEtapa
+ AND [CveFraccionamiento] = @CveFraccionamiento
+
+ )
+ BEGIN
+ SET @ErrorMostrar = 'La etapa del lote no pertenece al fraccionamiento.';
+ SET @ErrorTipo = 2;
+ RETURN;
+ END;
+
+ IF NOT EXISTS
+ (
+ SELECT 1
+ FROM [dbo].[FraccionamientosLotes] AS L
+ INNER JOIN [dbo].[FraccionamientosEtapas] AS E
+ ON E.[CveFraccionamientoEtapa] = L.[CveFraccionamientoEtapa]
+ WHERE L.[CveFraccionamientoLote] = @CveFraccionamientoLote
+ AND E.[CveFraccionamiento] = @CveFraccionamiento
+
+
+ )
+ BEGIN
+ SET @ErrorMostrar = 'El lote seleccionado no existe o no pertenece al fraccionamiento.';
+ SET @ErrorTipo = 2;
+ RETURN;
+ END;
+
+ IF EXISTS
+ (
+ SELECT 1
+ FROM [dbo].[FraccionamientosLotes] AS L
+ WHERE L.[CveFraccionamientoEtapa] = @CveFraccionamientoEtapa
+ AND L.[CveFraccionamientoLote] <> @CveFraccionamientoLote
+ AND L.[Numero] = @Nombre COLLATE Modern_Spanish_CS_AS
+
+ )
+ BEGIN
+ SET @ErrorMostrar = 'Ya existe otro lote con ese nombre en la etapa.';
+ SET @ErrorTipo = 2;
+ RETURN;
+ END;
+
+
+ UPDATE [dbo].[FraccionamientosLotes]
+ SET
+ [CveFraccionamientoEtapa] = @CveFraccionamientoEtapa,
+ [Numero] = @Nombre,
+ [Tipo] = @Tipo,
+ [Calle] = @Calle,
+ [Catastro] = @Catastro,
+ [MetrosCuadrados] = @MetrosCuadrados,
+ [Duplicador] = @Duplicador,
+ [EsActivo] = @EsActivo,
+ [FechaModificacion] = SYSDATETIME(),
+ [CveUsuario] = @CveUsuarioEjecuta
+ WHERE [CveFraccionamientoLote] = @CveFraccionamientoLote
+;
+
+
+ SELECT @CveFraccionamientoLote AS [CveFraccionamientoLote];
+ SET @Return = 1;
+ END TRY
+ BEGIN CATCH
+
+ SET @ErrorMostrar = 'Ocurrió un error al actualizar el lote; favor de contactar a Sistemas.';
+ SET @ErrorTipo = 1;
+ SET @Return = 0;
+
+ DECLARE @ErrorTecnico nvarchar(2048) = CONCAT(
+ 'Número: ', ERROR_NUMBER(),
+ '; Procedimiento: ', COALESCE(ERROR_PROCEDURE(), 'PA_Fraccionamientos_LoteUpdate'),
+ '; Línea: ', ERROR_LINE(),
+ '; Detalle: ', ERROR_MESSAGE()
+ );
+
+ RAISERROR(N'%s', 10, 1, @ErrorTecnico);
+ END CATCH;
+END;
+
+GO
+
+CREATE OR ALTER PROCEDURE [dbo].[PA_Fraccionamientos_LoteDelete]
+ @CveFraccionamiento int,
+ @CveFraccionamientoLote int,
+ @CveUsuarioEjecuta int,
+ @ErrorMostrar varchar(max) OUTPUT,
+ @ErrorTipo int OUTPUT,
+ @Return bit OUTPUT
+AS
+BEGIN
+ SET NOCOUNT ON;
+
+ SELECT
+ @ErrorMostrar = NULL,
+ @ErrorTipo = 0,
+ @Return = 0;
+
+ BEGIN TRY
+ IF NOT EXISTS
+ (
+ SELECT 1
+ FROM [dbo].[FraccionamientosLotes] AS L
+ INNER JOIN [dbo].[FraccionamientosEtapas] AS E
+ ON E.[CveFraccionamientoEtapa] = L.[CveFraccionamientoEtapa]
+ WHERE L.[CveFraccionamientoLote] = @CveFraccionamientoLote
+ AND E.[CveFraccionamiento] = @CveFraccionamiento
+
+
+ )
+ BEGIN
+ SET @ErrorMostrar = 'El lote seleccionado no existe o no pertenece al fraccionamiento.';
+ SET @ErrorTipo = 2;
+ RETURN;
+ END;
+
+
+ DELETE FROM [dbo].[FraccionamientosLotes]
+ WHERE [CveFraccionamientoLote] = @CveFraccionamientoLote;
+
+
+ SET @Return = 1;
+ END TRY
+ BEGIN CATCH
+
+ SET @ErrorMostrar = 'Ocurrió un error al eliminar el lote; favor de contactar a Sistemas.';
+ SET @ErrorTipo = 1;
+ SET @Return = 0;
+
+ DECLARE @ErrorTecnico nvarchar(2048) = CONCAT(
+ 'Número: ', ERROR_NUMBER(),
+ '; Procedimiento: ', COALESCE(ERROR_PROCEDURE(), 'PA_Fraccionamientos_LoteDelete'),
+ '; Línea: ', ERROR_LINE(),
+ '; Detalle: ', ERROR_MESSAGE()
+ );
+
+ RAISERROR(N'%s', 10, 1, @ErrorTecnico);
+ END CATCH;
+END;
+
+GO
+
+CREATE OR ALTER PROCEDURE [dbo].[PA_Fraccionamientos_LoteStageClear]
+ @CveFraccionamiento int,
+ @CveFraccionamientoEtapa int,
+ @CveUsuarioEjecuta int,
+ @ErrorMostrar varchar(max) OUTPUT,
+ @ErrorTipo int OUTPUT,
+ @Return bit OUTPUT
+AS
+BEGIN
+ SET NOCOUNT ON;
+
+ SELECT
+ @ErrorMostrar = NULL,
+ @ErrorTipo = 0,
+ @Return = 0;
+
+ BEGIN TRY
+ IF NOT EXISTS
+ (
+ SELECT 1
+ FROM [dbo].[FraccionamientosEtapas]
+ WHERE [CveFraccionamientoEtapa] = @CveFraccionamientoEtapa
+ AND [CveFraccionamiento] = @CveFraccionamiento
+
+ )
+ BEGIN
+ SET @ErrorMostrar = 'La etapa seleccionada no pertenece al fraccionamiento.';
+ SET @ErrorTipo = 2;
+ RETURN;
+ END;
+
+
+ DELETE FROM [dbo].[FraccionamientosLotes]
+ WHERE [CveFraccionamientoEtapa] = @CveFraccionamientoEtapa;
+
+ DECLARE @Cantidad int = @@ROWCOUNT;
+
+ IF @Cantidad = (0)
+ BEGIN
+ SET @ErrorMostrar = 'La etapa seleccionada no tiene lotes para eliminar.';
+ SET @ErrorTipo = 2;
+ RETURN;
+ END;
+
+
+ SELECT @Cantidad AS [LotesEliminados];
+ SET @Return = 1;
+ END TRY
+ BEGIN CATCH
+
+ SET @ErrorMostrar = 'Ocurrió un error al eliminar los lotes de la etapa; favor de contactar a Sistemas.';
+ SET @ErrorTipo = 1;
+ SET @Return = 0;
+
+ DECLARE @ErrorTecnico nvarchar(2048) = CONCAT(
+ 'Número: ', ERROR_NUMBER(),
+ '; Procedimiento: ', COALESCE(ERROR_PROCEDURE(), 'PA_Fraccionamientos_LoteStageClear'),
+ '; Línea: ', ERROR_LINE(),
+ '; Detalle: ', ERROR_MESSAGE()
+ );
+
+ RAISERROR(N'%s', 10, 1, @ErrorTecnico);
+ END CATCH;
+END;
+
+GO
diff --git a/Ley de Ingresos 2024.pdf b/Ley de Ingresos 2024.pdf
new file mode 100644
index 0000000..d7a4016
Binary files /dev/null and b/Ley de Ingresos 2024.pdf differ
diff --git a/Ley de Ingresos plataforma.docx b/Ley de Ingresos plataforma.docx
new file mode 100644
index 0000000..67356cf
Binary files /dev/null and b/Ley de Ingresos plataforma.docx differ
diff --git a/Menu_Catalogos_Tramites_Internos.sql b/Menu_Catalogos_Tramites_Internos.sql
new file mode 100644
index 0000000..31bc20d
--- /dev/null
+++ b/Menu_Catalogos_Tramites_Internos.sql
@@ -0,0 +1,236 @@
+SET NOCOUNT ON;
+SET XACT_ABORT ON;
+
+BEGIN TRY
+ BEGIN TRANSACTION;
+
+ DECLARE @CvePlataforma int;
+
+ SELECT TOP (1)
+ @CvePlataforma = CvePlataforma
+ FROM dbo.Sis_Plataformas
+ WHERE NombrePlataforma = 'Plataforma de Desarrolladores'
+ ORDER BY CvePlataforma;
+
+ IF @CvePlataforma IS NULL
+ BEGIN
+ THROW 50001, 'No se encontró la plataforma de desarrolladores.', 1;
+ END;
+
+ DECLARE @Menu TABLE
+ (
+ Clave varchar(50) NOT NULL PRIMARY KEY,
+ ClavePadre varchar(50) NULL,
+ NombreModulo varchar(150) NOT NULL,
+ Url varchar(500) NULL,
+ Icono varchar(150) NULL,
+ Orden int NOT NULL,
+ Visible bit NOT NULL
+ );
+
+ INSERT INTO @Menu
+ (Clave, ClavePadre, NombreModulo, Url, Icono, Orden, Visible)
+ VALUES
+ ('Catalogos', NULL, 'Catálogos', NULL, 'fa fa-list-alt', 30, 1),
+ ('EstatusSolicitud', 'Catalogos', 'Estatus de solicitud', '~/Pages/Catalogos/EstatusSolicitud.aspx', 'fa fa-check-circle', 10, 1),
+ ('TiposTramite', 'Catalogos', 'Tipos de trámite', '~/Pages/Catalogos/TiposTramite.aspx', 'fa fa-file-text-o', 20, 1),
+ ('TipoTramiteDetalle', 'TiposTramite', 'Detalle de tipo de trámite', '~/Pages/Catalogos/TipoTramiteDetalle.aspx', 'fa fa-question-circle', 10, 0),
+ ('TiposDocumento', 'Catalogos', 'Tipos de documento', '~/Pages/Catalogos/TiposDocumento.aspx', 'fa fa-file-o', 30, 1),
+ ('DocumentosRequeridos', 'Catalogos', 'Documentos requeridos', '~/Pages/Catalogos/DocumentosRequeridos.aspx', 'fa fa-paperclip', 40, 1);
+
+ DECLARE @Ids TABLE
+ (
+ Clave varchar(50) NOT NULL PRIMARY KEY,
+ CveModulo int NOT NULL
+ );
+
+ DECLARE
+ @Clave varchar(50),
+ @ClavePadre varchar(50),
+ @NombreModulo varchar(150),
+ @Url varchar(500),
+ @Icono varchar(150),
+ @Orden int,
+ @Visible bit,
+ @CveModuloPadre int,
+ @CveModulo int;
+
+ DECLARE CatalogoCursor CURSOR LOCAL FAST_FORWARD FOR
+ SELECT Clave, ClavePadre, NombreModulo, Url, Icono, Orden, Visible
+ FROM @Menu
+ ORDER BY
+ CASE WHEN ClavePadre IS NULL THEN 0 ELSE 1 END,
+ Orden,
+ Clave;
+
+ OPEN CatalogoCursor;
+ FETCH NEXT FROM CatalogoCursor
+ INTO @Clave, @ClavePadre, @NombreModulo, @Url, @Icono, @Orden, @Visible;
+
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+ SELECT @CveModuloPadre = NULL, @CveModulo = NULL;
+
+ IF @ClavePadre IS NOT NULL
+ BEGIN
+ SELECT @CveModuloPadre = CveModulo
+ FROM @Ids
+ WHERE Clave = @ClavePadre;
+ END;
+
+ SELECT TOP (1)
+ @CveModulo = CveModulo
+ FROM dbo.Sis_Modulos
+ WHERE CvePlataforma = @CvePlataforma
+ AND
+ (
+ (@Url IS NOT NULL AND LOWER(ISNULL(Url, '')) = LOWER(@Url) COLLATE Modern_Spanish_CS_AS)
+ OR
+ (@Url IS NULL AND Url IS NULL AND NombreModulo = @NombreModulo COLLATE Modern_Spanish_CS_AS)
+ )
+ ORDER BY CveModulo;
+
+ IF @CveModulo IS NULL
+ BEGIN
+ INSERT dbo.Sis_Modulos
+ (CveModuloPadre, CvePlataforma, NombreModulo, Descripcion, Url,
+ ClaseCssIcono, ClaseCssEstilo, OrdenVisualizacion, Visible,
+ Activo, FechaCreacion)
+ VALUES
+ (@CveModuloPadre, @CvePlataforma, @NombreModulo, @NombreModulo,
+ @Url, @Icono, NULL, @Orden, @Visible, 1, GETDATE());
+
+ SET @CveModulo = CONVERT(int, SCOPE_IDENTITY());
+ END
+ ELSE
+ BEGIN
+ UPDATE dbo.Sis_Modulos
+ SET CveModuloPadre = @CveModuloPadre,
+ NombreModulo = @NombreModulo COLLATE Modern_Spanish_CS_AS,
+ Descripcion = @NombreModulo,
+ Url = @Url,
+ ClaseCssIcono = @Icono,
+ OrdenVisualizacion = @Orden,
+ Visible = @Visible,
+ Activo = 1,
+ FechaActualizacion = GETDATE()
+ WHERE CveModulo = @CveModulo;
+ END;
+
+ INSERT INTO @Ids (Clave, CveModulo)
+ VALUES (@Clave, @CveModulo);
+
+ FETCH NEXT FROM CatalogoCursor
+ INTO @Clave, @ClavePadre, @NombreModulo, @Url, @Icono, @Orden, @Visible;
+ END;
+
+ CLOSE CatalogoCursor;
+ DEALLOCATE CatalogoCursor;
+
+ UPDATE RM
+ SET PuedeVer = CASE WHEN RM.CveRol IN (1, 2) THEN 1 ELSE 0 END,
+ PuedeCrear = CASE WHEN RM.CveRol IN (1, 2) THEN 1 ELSE 0 END,
+ PuedeModificar = CASE WHEN RM.CveRol IN (1, 2) THEN 1 ELSE 0 END,
+ PuedeEliminar = CASE WHEN RM.CveRol IN (1, 2) THEN 1 ELSE 0 END
+ FROM dbo.Sis_RolesModulos AS RM
+ INNER JOIN @Ids AS I ON I.CveModulo = RM.CveModulo;
+
+ INSERT dbo.Sis_RolesModulos
+ (CveRol, CveModulo, PuedeVer, PuedeCrear, PuedeModificar,
+ PuedeEliminar, PuedeImprimir, PuedeExportar, FechaCreacion)
+ SELECT
+ R.CveRol,
+ I.CveModulo,
+ 1,
+ 1,
+ 1,
+ 1,
+ 0,
+ 0,
+ GETDATE()
+ FROM dbo.Sis_Roles AS R
+ CROSS JOIN @Ids AS I
+ WHERE R.CveRol IN (1, 2)
+ AND NOT EXISTS
+ (
+ SELECT 1
+ FROM dbo.Sis_RolesModulos AS RM
+ WHERE RM.CveRol = R.CveRol
+ AND RM.CveModulo = I.CveModulo
+ );
+
+ DECLARE @Tablas TABLE
+ (
+ NombreTablaSQL varchar(128) NOT NULL,
+ NombreMostrar varchar(150) NOT NULL,
+ CampoLlave varchar(128) NOT NULL
+ );
+
+ INSERT INTO @Tablas
+ (NombreTablaSQL, NombreMostrar, CampoLlave)
+ VALUES
+ ('Tra_EstatusSolicitud', 'Estatus de solicitud', 'CveEstatusSolicitud'),
+ ('Tra_TiposTramite', 'Tipos de trámite', 'CveTipoTramite'),
+ ('Tra_TiposDocumento', 'Tipos de documento', 'CveTipoDocumento'),
+ ('Tra_DocumentosRequeridos', 'Documentos requeridos', 'CveDocumentoRequerido'),
+ ('Tra_Preguntas', 'Preguntas de trámite', 'CvePregunta'),
+ ('Tra_OpcionesPregunta', 'Opciones de respuesta', 'CveOpcionPregunta');
+
+ UPDATE T
+ SET NombreMostrar = S.NombreMostrar,
+ NombreCampoLlaveSQL = S.CampoLlave,
+ Activo = 1,
+ FechaMod = GETDATE()
+ FROM dbo.Bit_Tablas AS T
+ INNER JOIN @Tablas AS S ON S.NombreTablaSQL COLLATE Modern_Spanish_CS_AS = T.NombreTablaSQL;
+
+ INSERT dbo.Bit_Tablas
+ (NombreTablaSQL, NombreMostrar, Descripcion, NombreCampoLlaveSQL, Activo)
+ SELECT
+ S.NombreTablaSQL,
+ S.NombreMostrar,
+ 'Catálogo interno de trámites.',
+ S.CampoLlave,
+ 1
+ FROM @Tablas AS S
+ WHERE NOT EXISTS
+ (
+ SELECT 1
+ FROM dbo.Bit_Tablas AS T
+ WHERE T.NombreTablaSQL = S.NombreTablaSQL COLLATE Modern_Spanish_CS_AS
+ );
+
+ INSERT dbo.Bit_Campos
+ (CveTabla, NombreCampoSQL, NombreMostrar, MostrarEnBitacora, TipoDatoSQL, Activo)
+ SELECT
+ BT.CveTabla,
+ C.name,
+ C.name,
+ CASE WHEN C.name = S.CampoLlave THEN 0 ELSE 1 END,
+ TY.name,
+ 1
+ FROM @Tablas AS S
+ INNER JOIN sys.tables AS T ON T.name = S.NombreTablaSQL COLLATE Modern_Spanish_CS_AS
+ INNER JOIN sys.schemas AS SC ON SC.schema_id = T.schema_id AND SC.name = 'dbo'
+ INNER JOIN sys.columns AS C ON C.object_id = T.object_id
+ INNER JOIN sys.types AS TY ON TY.user_type_id = C.user_type_id
+ INNER JOIN dbo.Bit_Tablas AS BT ON BT.NombreTablaSQL = S.NombreTablaSQL COLLATE Modern_Spanish_CS_AS
+ WHERE NOT EXISTS
+ (
+ SELECT 1
+ FROM dbo.Bit_Campos AS BC
+ WHERE BC.CveTabla = BT.CveTabla
+ AND BC.NombreCampoSQL = C.name COLLATE Modern_Spanish_CS_AS
+ );
+
+ COMMIT TRANSACTION;
+END TRY
+BEGIN CATCH
+ IF XACT_STATE() <> 0
+ BEGIN
+ ROLLBACK TRANSACTION;
+ END;
+
+ THROW;
+END CATCH;
+GO
diff --git a/Menu_Desarrolladores.sql b/Menu_Desarrolladores.sql
new file mode 100644
index 0000000..1e341fd
--- /dev/null
+++ b/Menu_Desarrolladores.sql
@@ -0,0 +1,188 @@
+SET NOCOUNT ON;
+SET XACT_ABORT ON;
+
+BEGIN TRY
+ BEGIN TRANSACTION;
+
+ DECLARE @CvePlataforma int;
+
+ SELECT TOP (1)
+ @CvePlataforma = CvePlataforma
+ FROM dbo.Sis_Plataformas
+ WHERE NombrePlataforma = 'Plataforma de Desarrolladores'
+ AND Borrado = 0
+ ORDER BY CvePlataforma;
+
+ IF @CvePlataforma IS NULL
+ BEGIN
+ INSERT INTO dbo.Sis_Plataformas
+ (NombrePlataforma, Descripcion, Activo, FechaCreacion)
+ VALUES
+ ('Plataforma de Desarrolladores', 'Portal WebForms para desarrolladores', 1, GETDATE());
+
+ SET @CvePlataforma = CONVERT(int, SCOPE_IDENTITY());
+ END
+ ELSE
+ BEGIN
+ UPDATE dbo.Sis_Plataformas
+ SET Activo = 1,
+ FechaActualizacion = GETDATE()
+ WHERE CvePlataforma = @CvePlataforma;
+ END;
+
+ DECLARE @Menu TABLE
+ (
+ Clave varchar(50) NOT NULL PRIMARY KEY,
+ ClavePadre varchar(50) NULL,
+ NombreModulo varchar(150) NOT NULL,
+ Url varchar(500) NULL,
+ ClaseCssIcono varchar(150) NULL,
+ OrdenVisualizacion int NOT NULL
+ );
+
+ INSERT INTO @Menu
+ (Clave, ClavePadre, NombreModulo, Url, ClaseCssIcono, OrdenVisualizacion)
+ VALUES
+ ('Inicio', NULL, 'Inicio', '~/Inicio.aspx', 'icon-home', 0),
+ ('Desarrolladores', NULL, 'Desarrolladores', NULL, 'fa fa-address-card', 10),
+ ('Tramites', 'Desarrolladores', 'Trámites', '~/Pages/Desarrolladores/Tramites.aspx', 'fa fa-dollar-sign', 10),
+ ('ConsultaTramites', 'Desarrolladores', 'Consulta Trámites', '~/Pages/Desarrolladores/ConsultaTramites.aspx', 'fa fa-search', 20),
+ ('Predios', 'Desarrolladores', 'Predios', '~/Pages/Desarrolladores/Predios.aspx', 'fa fa-house', 30),
+ ('Fraccionamientos', 'Desarrolladores', 'Fraccionamientos', '~/Pages/Fraccionamientos/Fraccionamientos.aspx', 'fa fa-building', 35),
+ ('FraccionamientoDetalle', 'Fraccionamientos', 'Detalle de fraccionamiento', '~/Pages/Fraccionamientos/FraccionamientoDetalle.aspx', 'fa fa-building-o', 10),
+ ('Facturas', 'Desarrolladores', 'Facturas', '~/Pages/Desarrolladores/Facturas.aspx', 'fa fa-print', 40),
+ ('HistorialFacturas', 'Desarrolladores', 'Historial Facturas', '~/Pages/Desarrolladores/HistorialFacturas.aspx', 'fa fa-print', 50),
+ ('FacturasComerciales', 'Desarrolladores', 'Fact. Comerciales', '~/Pages/Desarrolladores/FacturasComerciales.aspx', 'fa fa-dollar-sign', 60),
+ ('FacturasComercialesListado', 'Desarrolladores', 'Fact. Com. Listado', '~/Pages/Desarrolladores/FacturasComercialesListado.aspx', 'fa fa-print', 70),
+ ('FacturasCfdi', NULL, 'Facturas (CFDI)', '~/Pages/Desarrolladores/FacturasCfdi.aspx', 'fa fa-address-card', 20);
+
+ DECLARE @Ids TABLE
+ (
+ Clave varchar(50) NOT NULL PRIMARY KEY,
+ CveModulo int NOT NULL
+ );
+
+ DECLARE
+ @Clave varchar(50),
+ @ClavePadre varchar(50),
+ @NombreModulo varchar(150),
+ @Url varchar(500),
+ @ClaseCssIcono varchar(150),
+ @OrdenVisualizacion int,
+ @CveModuloPadre int,
+ @CveModulo int;
+
+ DECLARE MenuCursor CURSOR LOCAL FAST_FORWARD FOR
+ SELECT Clave, ClavePadre, NombreModulo, Url, ClaseCssIcono, OrdenVisualizacion
+ FROM @Menu
+ ORDER BY CASE WHEN ClavePadre IS NULL THEN 0 ELSE 1 END, OrdenVisualizacion, Clave;
+
+ OPEN MenuCursor;
+ FETCH NEXT FROM MenuCursor
+ INTO @Clave, @ClavePadre, @NombreModulo, @Url, @ClaseCssIcono, @OrdenVisualizacion;
+
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+ SET @CveModuloPadre = NULL;
+ SET @CveModulo = NULL;
+
+ IF @ClavePadre IS NOT NULL
+ BEGIN
+ SELECT @CveModuloPadre = CveModulo
+ FROM @Ids
+ WHERE Clave = @ClavePadre;
+ END;
+
+ SELECT TOP (1)
+ @CveModulo = CveModulo
+ FROM dbo.Sis_Modulos
+ WHERE CvePlataforma = @CvePlataforma
+ AND
+ (
+ (@Url IS NOT NULL AND LOWER(ISNULL(Url, '')) = LOWER(@Url))
+ OR (@Url IS NULL AND Url IS NULL AND NombreModulo = @NombreModulo)
+ )
+ ORDER BY CveModulo;
+
+ IF @CveModulo IS NULL
+ BEGIN
+ INSERT INTO dbo.Sis_Modulos
+ (CveModuloPadre, CvePlataforma, NombreModulo, Descripcion, Url,
+ ClaseCssIcono, ClaseCssEstilo, OrdenVisualizacion, Visible, Activo, FechaCreacion)
+ VALUES
+ (@CveModuloPadre, @CvePlataforma, @NombreModulo, @NombreModulo, @Url,
+ @ClaseCssIcono, NULL, @OrdenVisualizacion, 1, 1, GETDATE());
+
+ SET @CveModulo = CONVERT(int, SCOPE_IDENTITY());
+ END
+ ELSE
+ BEGIN
+ UPDATE dbo.Sis_Modulos
+ SET CveModuloPadre = @CveModuloPadre,
+ NombreModulo = @NombreModulo,
+ Url = @Url,
+ ClaseCssIcono = @ClaseCssIcono,
+ OrdenVisualizacion = @OrdenVisualizacion,
+ Visible = 1,
+ Activo = 1,
+ Borrado = 0,
+ FechaBorrado = NULL,
+ FechaActualizacion = GETDATE()
+ WHERE CveModulo = @CveModulo;
+ END;
+
+ INSERT INTO @Ids (Clave, CveModulo)
+ VALUES (@Clave, @CveModulo);
+
+ FETCH NEXT FROM MenuCursor
+ INTO @Clave, @ClavePadre, @NombreModulo, @Url, @ClaseCssIcono, @OrdenVisualizacion;
+ END;
+
+ CLOSE MenuCursor;
+ DEALLOCATE MenuCursor;
+
+ UPDATE M SET M.Visible = 0
+ FROM dbo.Sis_Modulos AS M
+ INNER JOIN @Ids AS I ON I.CveModulo = M.CveModulo
+ WHERE I.Clave = 'FraccionamientoDetalle';
+
+ UPDATE RM
+ SET RM.PuedeVer = 1,
+ RM.Borrado = 0,
+ RM.FechaBorrado = NULL
+ FROM dbo.Sis_RolesModulos AS RM
+ INNER JOIN @Ids AS M ON M.CveModulo = RM.CveModulo
+ INNER JOIN dbo.Sis_Roles AS R ON R.CveRol = RM.CveRol
+ WHERE R.Activo = 1
+ AND R.Borrado = 0;
+
+ INSERT INTO dbo.Sis_RolesModulos
+ (CveRol, CveModulo, PuedeVer, PuedeCrear, PuedeModificar,
+ PuedeEliminar, PuedeImprimir, PuedeExportar, FechaCreacion)
+ SELECT
+ R.CveRol, M.CveModulo, 1, 0, 0, 0, 0, 0, GETDATE()
+ FROM dbo.Sis_Roles AS R
+ CROSS JOIN @Ids AS M
+ WHERE R.Activo = 1
+ AND R.Borrado = 0
+ AND NOT EXISTS
+ (
+ SELECT 1
+ FROM dbo.Sis_RolesModulos AS RM
+ WHERE RM.CveRol = R.CveRol
+ AND RM.CveModulo = M.CveModulo
+ );
+
+ COMMIT TRANSACTION;
+
+ SELECT M.CveModulo, M.CveModuloPadre, M.NombreModulo, M.Url, M.OrdenVisualizacion
+ FROM dbo.Sis_Modulos AS M
+ INNER JOIN @Ids AS I ON I.CveModulo = M.CveModulo
+ ORDER BY M.CveModuloPadre, M.OrdenVisualizacion, M.NombreModulo;
+END TRY
+BEGIN CATCH
+ IF XACT_STATE() <> 0
+ ROLLBACK TRANSACTION;
+
+ THROW;
+END CATCH;
diff --git a/Migracion_Bitacora_ConsultaRelaciones_20260722.sql b/Migracion_Bitacora_ConsultaRelaciones_20260722.sql
new file mode 100644
index 0000000..01933bd
--- /dev/null
+++ b/Migracion_Bitacora_ConsultaRelaciones_20260722.sql
@@ -0,0 +1,377 @@
+CREATE OR ALTER PROCEDURE dbo.PA_Bit_BitacoraListByRelations
+ @RelacionesXml xml = NULL,
+ @RegistrosOmitidos int,
+ @RegistrosPorPagina int,
+ @CveUsuarioEjecuta int,
+ @ErrorMostrar varchar(max) OUTPUT,
+ @ErrorTipo int OUTPUT,
+ @Return bit OUTPUT
+AS
+BEGIN
+ SET NOCOUNT ON;
+
+ SELECT
+ @ErrorMostrar = NULL,
+ @ErrorTipo = 0,
+ @Return = 0;
+
+ BEGIN TRY
+ IF @RegistrosOmitidos < 0 OR @RegistrosPorPagina <= 0
+ BEGIN
+ SET @ErrorMostrar = 'Los datos de paginación no son válidos.';
+ SET @ErrorTipo = 2;
+ RETURN;
+ END;
+
+ DECLARE @EsAdministrador bit = 0;
+ DECLARE @EsDesarrollador bit = 0;
+
+ SELECT
+ @EsAdministrador = CASE
+ WHEN R.NombreRol IN ('SuperUsuario', 'Administrador') THEN 1
+ ELSE 0
+ END,
+ @EsDesarrollador = CASE
+ WHEN R.NombreRol = 'Empresa' THEN 1
+ ELSE 0
+ END
+ FROM dbo.Sis_Usuarios AS U
+ INNER JOIN dbo.Sis_Roles AS R
+ ON R.CveRol = U.CveRol
+ WHERE U.CveUsuario = @CveUsuarioEjecuta
+ AND U.Activo = 1
+ AND R.Activo = 1;
+
+ DECLARE @Filtros TABLE
+ (
+ Orden int NOT NULL PRIMARY KEY,
+ NombreTablaSQL varchar(128)
+ COLLATE Modern_Spanish_CS_AS NOT NULL,
+ NombreCampoSQL varchar(128)
+ COLLATE Modern_Spanish_CS_AS NOT NULL,
+ Valor nvarchar(250)
+ COLLATE Modern_Spanish_CS_AS NOT NULL
+ );
+
+ IF @RelacionesXml IS NOT NULL
+ BEGIN
+ INSERT INTO @Filtros
+ (
+ Orden,
+ NombreTablaSQL,
+ NombreCampoSQL,
+ Valor
+ )
+ SELECT
+ R.value('@Orden', 'int'),
+ R.value('@Tabla', 'varchar(128)'),
+ R.value('@Campo', 'varchar(128)'),
+ R.value('@Valor', 'nvarchar(250)')
+ FROM @RelacionesXml.nodes('/Relaciones/Relacion') AS X(R);
+ END;
+
+ DECLARE @FiltrosResueltos TABLE
+ (
+ Orden int NOT NULL PRIMARY KEY,
+ CveTabla int NOT NULL,
+ CveCampo int NOT NULL,
+ TipoDatoSQL varchar(128)
+ COLLATE Modern_Spanish_CS_AS NOT NULL,
+ Valor nvarchar(250)
+ COLLATE Modern_Spanish_CS_AS NOT NULL,
+ EsEntero bit NOT NULL
+ );
+
+ INSERT INTO @FiltrosResueltos
+ (
+ Orden,
+ CveTabla,
+ CveCampo,
+ TipoDatoSQL,
+ Valor,
+ EsEntero
+ )
+ SELECT
+ F.Orden,
+ T.CveTabla,
+ C.CveCampo,
+ C.TipoDatoSQL,
+ F.Valor,
+ CASE
+ WHEN C.TipoDatoSQL IN
+ (
+ 'tinyint',
+ 'smallint',
+ 'int',
+ 'bigint'
+ ) THEN 1
+ ELSE 0
+ END
+ FROM @Filtros AS F
+ INNER JOIN dbo.Bit_Tablas AS T
+ ON T.NombreTablaSQL = F.NombreTablaSQL
+ AND T.Activo = 1
+ INNER JOIN dbo.Bit_Campos AS C
+ ON C.CveTabla = T.CveTabla
+ AND C.NombreCampoSQL = F.NombreCampoSQL
+ AND C.Activo = 1
+ WHERE C.TipoDatoSQL IS NOT NULL;
+
+ IF (SELECT COUNT(1) FROM @Filtros) <>
+ (SELECT COUNT(1) FROM @FiltrosResueltos)
+ BEGIN
+ SET @ErrorMostrar = 'Una relación utiliza una tabla o campo que no está configurado en la bitácora.';
+ SET @ErrorTipo = 2;
+ RETURN;
+ END;
+
+ IF EXISTS
+ (
+ SELECT 1
+ FROM @FiltrosResueltos
+ WHERE EsEntero = 1
+ AND TRY_CONVERT(bigint, Valor) IS NULL
+ )
+ BEGIN
+ SET @ErrorMostrar = 'El valor de una relación numérica no es válido.';
+ SET @ErrorTipo = 2;
+ RETURN;
+ END;
+
+ CREATE TABLE #BitacorasCoincidentes
+ (
+ CveBitacora bigint NOT NULL PRIMARY KEY,
+ FechaMovimiento datetime NOT NULL
+ );
+
+ INSERT INTO #BitacorasCoincidentes
+ (
+ CveBitacora,
+ FechaMovimiento
+ )
+ SELECT
+ B.CveBitacora,
+ B.FechaMovimiento
+ FROM dbo.Bit_Bitacora AS B
+ WHERE
+ (
+ @EsAdministrador = 1
+ OR
+ (
+ @EsDesarrollador = 1
+ AND EXISTS
+ (
+ SELECT 1
+ FROM dbo.Bit_BitacoraRelaciones AS BRCliente
+ INNER JOIN dbo.Bit_Tablas AS TCliente
+ ON TCliente.CveTabla =
+ BRCliente.CveTablaRelacionada
+ INNER JOIN dbo.Bit_Campos AS CCliente
+ ON CCliente.CveCampo =
+ BRCliente.CveCampoRelacion
+ AND CCliente.CveTabla = TCliente.CveTabla
+ INNER JOIN dbo.Sis_UsuariosClientes AS UC
+ ON UC.CveCliente =
+ BRCliente.ValorRelacionNumero
+ AND UC.CveUsuario = @CveUsuarioEjecuta
+ AND UC.Activo = 1
+ WHERE BRCliente.CveBitacora = B.CveBitacora
+ AND BRCliente.VisibleDesarrollador = 1
+ AND TCliente.NombreTablaSQL = 'Clientes'
+ AND CCliente.NombreCampoSQL = 'CveCliente'
+ )
+ )
+ )
+ AND
+ (
+ @EsDesarrollador = 0
+ OR NOT EXISTS
+ (
+ SELECT 1
+ FROM @FiltrosResueltos AS FCliente
+ INNER JOIN dbo.Bit_Tablas AS TClienteFiltro
+ ON TClienteFiltro.CveTabla = FCliente.CveTabla
+ INNER JOIN dbo.Bit_Campos AS CClienteFiltro
+ ON CClienteFiltro.CveCampo = FCliente.CveCampo
+ AND CClienteFiltro.CveTabla =
+ TClienteFiltro.CveTabla
+ WHERE TClienteFiltro.NombreTablaSQL = 'Clientes'
+ AND CClienteFiltro.NombreCampoSQL = 'CveCliente'
+ AND NOT EXISTS
+ (
+ SELECT 1
+ FROM dbo.Sis_UsuariosClientes AS UCClienteFiltro
+ WHERE UCClienteFiltro.CveUsuario =
+ @CveUsuarioEjecuta
+ AND UCClienteFiltro.CveCliente =
+ TRY_CONVERT(bigint, FCliente.Valor)
+ AND UCClienteFiltro.Activo = 1
+ )
+ )
+ )
+ AND NOT EXISTS
+ (
+ SELECT 1
+ FROM @FiltrosResueltos AS F
+ WHERE NOT EXISTS
+ (
+ SELECT 1
+ FROM dbo.Bit_BitacoraRelaciones AS BR
+ WHERE BR.CveBitacora = B.CveBitacora
+ AND BR.CveTablaRelacionada = F.CveTabla
+ AND BR.CveCampoRelacion = F.CveCampo
+ AND
+ (
+ @EsAdministrador = 1
+ OR BR.VisibleDesarrollador = 1
+ )
+ AND
+ (
+ (
+ F.EsEntero = 1
+ AND BR.ValorRelacionNumero =
+ TRY_CONVERT(bigint, F.Valor)
+ )
+ OR
+ (
+ F.EsEntero = 0
+ AND BR.ValorRelacionTexto =
+ F.Valor COLLATE Modern_Spanish_CS_AS
+ )
+ )
+ )
+ );
+
+ DECLARE @TotalRegistros int;
+
+ SELECT @TotalRegistros = COUNT(DISTINCT CveBitacora)
+ FROM #BitacorasCoincidentes;
+
+ CREATE TABLE #BitacorasPagina
+ (
+ CveBitacora bigint NOT NULL PRIMARY KEY,
+ Orden int NOT NULL
+ );
+
+ INSERT INTO #BitacorasPagina
+ (
+ CveBitacora,
+ Orden
+ )
+ SELECT
+ C.CveBitacora,
+ ROW_NUMBER() OVER
+ (
+ ORDER BY
+ C.FechaMovimiento DESC,
+ C.CveBitacora DESC
+ )
+ FROM #BitacorasCoincidentes AS C
+ ORDER BY
+ C.FechaMovimiento DESC,
+ C.CveBitacora DESC
+ OFFSET @RegistrosOmitidos ROWS
+ FETCH NEXT @RegistrosPorPagina ROWS ONLY;
+
+ SELECT @TotalRegistros AS TotalRegistros;
+
+ SELECT
+ B.CveBitacora,
+ B.CveTabla,
+ T.NombreTablaSQL,
+ T.NombreMostrar AS NombreTabla,
+ B.CveTipoMovimiento,
+ M.Nombre AS TipoMovimiento,
+ B.CveDefinicionAccion,
+ A.NombreAccion,
+ A.DescripcionAccion,
+ B.CveUsuarioEjecuta,
+ B.CveUsuarioAutoriza,
+ B.FechaAutorizacion,
+ B.LlaveRegistro,
+ B.DescripcionMovimiento,
+ B.FechaMovimiento,
+ B.DireccionIP,
+ B.NombreEquipo,
+ B.Modulo
+ FROM #BitacorasPagina AS P
+ INNER JOIN dbo.Bit_Bitacora AS B
+ ON B.CveBitacora = P.CveBitacora
+ INNER JOIN dbo.Bit_Tablas AS T
+ ON T.CveTabla = B.CveTabla
+ INNER JOIN dbo.Bit_TiposMovimiento AS M
+ ON M.CveTipoMovimiento = B.CveTipoMovimiento
+ LEFT JOIN dbo.Bit_DefinicionesAccion AS A
+ ON A.CveDefinicionAccion = B.CveDefinicionAccion
+ ORDER BY P.Orden;
+
+ SELECT
+ BC.CveBitacoraCampo,
+ BC.CveBitacora,
+ BC.CveCampo,
+ C.NombreCampoSQL,
+ C.NombreMostrar,
+ BC.ValorAnterior,
+ BC.ValorNuevo
+ FROM #BitacorasPagina AS P
+ INNER JOIN dbo.Bit_BitacoraCampos AS BC
+ ON BC.CveBitacora = P.CveBitacora
+ INNER JOIN dbo.Bit_Campos AS C
+ ON C.CveCampo = BC.CveCampo
+ WHERE @EsAdministrador = 1
+ OR C.MostrarEnBitacora = 1
+ ORDER BY
+ P.Orden,
+ BC.CveBitacoraCampo;
+
+ SELECT
+ BR.CveBitacoraRelacion,
+ BR.CveBitacora,
+ BR.CveTipoRelacion,
+ TR.Nombre AS TipoRelacion,
+ BR.CveTablaRelacionada,
+ T.NombreTablaSQL,
+ BR.CveCampoRelacion,
+ C.NombreCampoSQL,
+ BR.LlaveRegistroRelacionada,
+ BR.ValorRelacionNumero,
+ BR.ValorRelacionTexto,
+ BR.VisibleDesarrollador,
+ BR.DescripcionRelacion
+ FROM #BitacorasPagina AS P
+ INNER JOIN dbo.Bit_BitacoraRelaciones AS BR
+ ON BR.CveBitacora = P.CveBitacora
+ INNER JOIN dbo.Bit_TiposRelacion AS TR
+ ON TR.CveTipoRelacion = BR.CveTipoRelacion
+ INNER JOIN dbo.Bit_Tablas AS T
+ ON T.CveTabla = BR.CveTablaRelacionada
+ LEFT JOIN dbo.Bit_Campos AS C
+ ON C.CveCampo = BR.CveCampoRelacion
+ AND C.CveTabla = T.CveTabla
+ WHERE @EsAdministrador = 1
+ OR BR.VisibleDesarrollador = 1
+ ORDER BY
+ P.Orden,
+ BR.CveBitacoraRelacion;
+
+ SET @Return = 1;
+ END TRY
+ BEGIN CATCH
+ SET @ErrorMostrar = 'Ocurrió un error al consultar la bitácora; favor de contactar a Sistemas.';
+ SET @ErrorTipo = 1;
+ SET @Return = 0;
+
+ DECLARE @ErrorTecnico nvarchar(2048) = CONCAT(
+ 'Número: ', ERROR_NUMBER(),
+ '; Procedimiento: ', COALESCE(
+ ERROR_PROCEDURE(),
+ 'PA_Bit_BitacoraListByRelations'
+ ),
+ '; Línea: ', ERROR_LINE(),
+ '; Detalle: ', ERROR_MESSAGE()
+ );
+
+ RAISERROR(N'%s', 10, 1, @ErrorTecnico);
+ END CATCH;
+END;
+GO
\ No newline at end of file
diff --git a/Migracion_Bitacora_Relaciones_Campos_20260722.sql b/Migracion_Bitacora_Relaciones_Campos_20260722.sql
new file mode 100644
index 0000000..b5f179b
--- /dev/null
+++ b/Migracion_Bitacora_Relaciones_Campos_20260722.sql
@@ -0,0 +1,1098 @@
+/*
+ Configuración y procedimientos actuales de la bitácora.
+ La bitácora participa en la transacción ambiental de la operación principal.
+*/
+
+SET NOCOUNT ON;
+GO
+
+IF COL_LENGTH('dbo.Bit_Campos', 'TipoDatoSQL') IS NULL
+BEGIN
+ ALTER TABLE dbo.Bit_Campos
+ ADD TipoDatoSQL varchar(128) COLLATE Modern_Spanish_CS_AS NULL;
+END;
+GO
+
+IF COL_LENGTH('dbo.Bit_BitacoraRelaciones', 'VisibleDesarrollador') IS NULL
+BEGIN
+ ALTER TABLE dbo.Bit_BitacoraRelaciones
+ ADD VisibleDesarrollador bit NOT NULL
+ CONSTRAINT DF_Bit_BitacoraRelaciones_VisibleDesarrollador
+ DEFAULT (0);
+END;
+GO
+
+IF NOT EXISTS
+(
+ SELECT 1
+ FROM sys.indexes
+ WHERE object_id = OBJECT_ID('dbo.Bit_BitacoraRelaciones')
+ AND name = 'IX_Bit_BitacoraRelaciones_Filtro'
+)
+BEGIN
+ CREATE NONCLUSTERED INDEX IX_Bit_BitacoraRelaciones_Filtro
+ ON dbo.Bit_BitacoraRelaciones
+ (
+ CveTablaRelacionada,
+ CveCampoRelacion,
+ ValorRelacionNumero,
+ VisibleDesarrollador,
+ CveBitacora
+ )
+ INCLUDE
+ (
+ ValorRelacionTexto,
+ LlaveRegistroRelacionada
+ );
+END;
+GO
+
+IF NOT EXISTS
+(
+ SELECT 1
+ FROM sys.indexes
+ WHERE object_id = OBJECT_ID('dbo.Bit_BitacoraRelaciones')
+ AND name = 'IX_Bit_BitacoraRelaciones_FiltroTexto'
+)
+BEGIN
+ CREATE NONCLUSTERED INDEX IX_Bit_BitacoraRelaciones_FiltroTexto
+ ON dbo.Bit_BitacoraRelaciones
+ (
+ CveTablaRelacionada,
+ CveCampoRelacion,
+ ValorRelacionTexto,
+ VisibleDesarrollador,
+ CveBitacora
+ )
+ INCLUDE
+ (
+ ValorRelacionNumero,
+ LlaveRegistroRelacionada
+ );
+END;
+GO
+DECLARE @Tablas TABLE
+(
+ NombreTablaSQL varchar(128) COLLATE Modern_Spanish_CS_AS NOT NULL,
+ NombreMostrar varchar(150) COLLATE Modern_Spanish_CS_AS NOT NULL,
+ Descripcion varchar(500) COLLATE Modern_Spanish_CS_AS NULL,
+ NombreCampoLlaveSQL varchar(128) COLLATE Modern_Spanish_CS_AS NULL
+);
+
+INSERT INTO @Tablas
+(
+ NombreTablaSQL,
+ NombreMostrar,
+ Descripcion,
+ NombreCampoLlaveSQL
+)
+VALUES
+ ('Clientes', 'Clientes', 'Clientes propietarios de la información.', 'CveCliente'),
+ ('Fraccionamientos', 'Fraccionamientos', 'Catálogo de fraccionamientos.', 'CveFraccionamiento'),
+ ('FraccionamientosEtapas', 'Etapas', 'Etapas de los fraccionamientos.', 'CveFraccionamientoEtapa'),
+ ('FraccionamientosLotes', 'Lotes', 'Lotes de las etapas.', 'CveFraccionamientoLote'),
+ ('Sis_Usuarios', 'Usuarios', 'Usuarios del sistema.', 'CveUsuario'),
+ ('Sis_UsuariosClientes', 'Clientes por usuario', 'Asignaciones de clientes a usuarios.', NULL);
+
+UPDATE T
+SET
+ T.NombreMostrar = S.NombreMostrar,
+ T.Descripcion = S.Descripcion,
+ T.NombreCampoLlaveSQL = S.NombreCampoLlaveSQL,
+ T.Activo = 1,
+ T.FechaMod = GETDATE()
+FROM dbo.Bit_Tablas AS T
+INNER JOIN @Tablas AS S
+ ON S.NombreTablaSQL = T.NombreTablaSQL;
+
+INSERT INTO dbo.Bit_Tablas
+(
+ NombreTablaSQL,
+ NombreMostrar,
+ Descripcion,
+ NombreCampoLlaveSQL,
+ Activo
+)
+SELECT
+ S.NombreTablaSQL,
+ S.NombreMostrar,
+ S.Descripcion,
+ S.NombreCampoLlaveSQL,
+ 1
+FROM @Tablas AS S
+WHERE NOT EXISTS
+(
+ SELECT 1
+ FROM dbo.Bit_Tablas AS T
+ WHERE T.NombreTablaSQL = S.NombreTablaSQL
+);
+GO
+
+DECLARE @Campos TABLE
+(
+ NombreTablaSQL varchar(128) COLLATE Modern_Spanish_CS_AS NOT NULL,
+ NombreCampoSQL varchar(128) COLLATE Modern_Spanish_CS_AS NOT NULL,
+ NombreMostrar varchar(150) COLLATE Modern_Spanish_CS_AS NOT NULL,
+ MostrarEnBitacora bit NOT NULL
+);
+
+INSERT INTO @Campos
+(
+ NombreTablaSQL,
+ NombreCampoSQL,
+ NombreMostrar,
+ MostrarEnBitacora
+)
+VALUES
+ ('Clientes', 'CveCliente', 'Cliente', 0),
+ ('Fraccionamientos', 'CveFraccionamiento', 'Clave de fraccionamiento', 0),
+ ('Fraccionamientos', 'CveCliente', 'Cliente', 1),
+ ('Fraccionamientos', 'Fraccionamiento', 'Fraccionamiento', 1),
+ ('Fraccionamientos', 'Hectareas', 'Hectáreas', 1),
+ ('Fraccionamientos', 'Ubicacion', 'Ubicación', 1),
+ ('Fraccionamientos', 'CveEstatus', 'Estatus', 1),
+ ('Fraccionamientos', 'EsActivo', 'Activo', 1),
+ ('FraccionamientosEtapas', 'CveFraccionamientoEtapa', 'Clave de etapa', 0),
+ ('FraccionamientosEtapas', 'CveFraccionamiento', 'Fraccionamiento', 1),
+ ('FraccionamientosEtapas', 'Etapa', 'Etapa', 1),
+ ('FraccionamientosEtapas', 'Hectareas', 'Hectáreas', 1),
+ ('FraccionamientosEtapas', 'Orden', 'Orden', 1),
+ ('FraccionamientosEtapas', 'EsActivo', 'Activo', 1),
+ ('FraccionamientosLotes', 'CveFraccionamientoLote', 'Clave de lote', 0),
+ ('FraccionamientosLotes', 'CveFraccionamientoEtapa', 'Etapa', 1),
+ ('FraccionamientosLotes', 'Numero', 'Número', 1),
+ ('FraccionamientosLotes', 'Tipo', 'Tipo', 1),
+ ('FraccionamientosLotes', 'Calle', 'Calle', 1),
+ ('FraccionamientosLotes', 'Catastro', 'Catastro', 1),
+ ('FraccionamientosLotes', 'MetrosCuadrados', 'Metros cuadrados', 1),
+ ('FraccionamientosLotes', 'Duplicador', 'Duplicador', 1),
+ ('FraccionamientosLotes', 'EsActivo', 'Activo', 1),
+ ('Sis_Usuarios', 'CveUsuario', 'Clave de usuario', 0),
+ ('Sis_Usuarios', 'NombreUsuario', 'Usuario', 1),
+ ('Sis_Usuarios', 'CorreoElectronico', 'Correo electrónico', 1),
+ ('Sis_Usuarios', 'CveRol', 'Rol', 1),
+ ('Sis_Usuarios', 'Activo', 'Activo', 1),
+ ('Sis_Usuarios', 'DebeCambiarContrasena', 'Debe cambiar contraseña', 1),
+ ('Sis_Usuarios', 'CorreoVerificado', 'Correo verificado', 1),
+ ('Sis_UsuariosClientes', 'CveUsuario', 'Usuario', 1),
+ ('Sis_UsuariosClientes', 'CveCliente', 'Cliente', 1),
+ ('Sis_UsuariosClientes', 'Orden', 'Orden', 1),
+ ('Sis_UsuariosClientes', 'EsPrincipal', 'Principal', 1),
+ ('Sis_UsuariosClientes', 'Activo', 'Activo', 1);
+
+UPDATE C
+SET
+ C.NombreMostrar = S.NombreMostrar,
+ C.MostrarEnBitacora = S.MostrarEnBitacora,
+ C.TipoDatoSQL = TY.name COLLATE Modern_Spanish_CS_AS,
+ C.Activo = 1,
+ C.FechaMod = GETDATE()
+FROM dbo.Bit_Campos AS C
+INNER JOIN dbo.Bit_Tablas AS T
+ ON T.CveTabla = C.CveTabla
+INNER JOIN @Campos AS S
+ ON S.NombreTablaSQL = T.NombreTablaSQL
+ AND S.NombreCampoSQL = C.NombreCampoSQL
+INNER JOIN sys.schemas AS SC
+ ON SC.name = 'dbo'
+INNER JOIN sys.tables AS ST
+ ON ST.schema_id = SC.schema_id
+ AND ST.name COLLATE Modern_Spanish_CS_AS = S.NombreTablaSQL
+INNER JOIN sys.columns AS CO
+ ON CO.object_id = ST.object_id
+ AND CO.name COLLATE Modern_Spanish_CS_AS = S.NombreCampoSQL
+INNER JOIN sys.types AS TY
+ ON TY.user_type_id = CO.user_type_id;
+
+INSERT INTO dbo.Bit_Campos
+(
+ CveTabla,
+ NombreCampoSQL,
+ NombreMostrar,
+ MostrarEnBitacora,
+ TipoDatoSQL,
+ Activo
+)
+SELECT
+ T.CveTabla,
+ S.NombreCampoSQL,
+ S.NombreMostrar,
+ S.MostrarEnBitacora,
+ TY.name COLLATE Modern_Spanish_CS_AS,
+ 1
+FROM @Campos AS S
+INNER JOIN dbo.Bit_Tablas AS T
+ ON T.NombreTablaSQL = S.NombreTablaSQL
+INNER JOIN sys.schemas AS SC
+ ON SC.name = 'dbo'
+INNER JOIN sys.tables AS ST
+ ON ST.schema_id = SC.schema_id
+ AND ST.name COLLATE Modern_Spanish_CS_AS = S.NombreTablaSQL
+INNER JOIN sys.columns AS CO
+ ON CO.object_id = ST.object_id
+ AND CO.name COLLATE Modern_Spanish_CS_AS = S.NombreCampoSQL
+INNER JOIN sys.types AS TY
+ ON TY.user_type_id = CO.user_type_id
+WHERE NOT EXISTS
+(
+ SELECT 1
+ FROM dbo.Bit_Campos AS C
+ WHERE C.CveTabla = T.CveTabla
+ AND C.NombreCampoSQL = S.NombreCampoSQL
+);
+GO
+
+CREATE OR ALTER PROCEDURE dbo.PA_Bit_BitacoraAdd
+ @NombreTablaSQL varchar(128),
+ @CveTipoMovimiento tinyint,
+ @CveDefinicionAccion int = NULL,
+ @CveUsuarioAutoriza int = NULL,
+ @FechaAutorizacion datetime = NULL,
+ @LlaveRegistro nvarchar(250),
+ @DescripcionMovimiento nvarchar(1000),
+ @RelacionesXml xml,
+ @CamposXml xml = NULL,
+ @DiscriminarCamposSinCambios bit = 1,
+ @DireccionIP varchar(50) = NULL,
+ @NombreEquipo varchar(150) = NULL,
+ @Modulo varchar(150) = NULL,
+ @CveUsuarioEjecuta int,
+ @ErrorMostrar varchar(max) OUTPUT,
+ @ErrorTipo int OUTPUT,
+ @Return bit OUTPUT
+AS
+BEGIN
+ SET NOCOUNT ON;
+
+ SELECT
+ @ErrorMostrar = NULL,
+ @ErrorTipo = 0,
+ @Return = 0;
+
+ BEGIN TRY
+ DECLARE @CveTabla int;
+
+ SELECT @CveTabla = T.CveTabla
+ FROM dbo.Bit_Tablas AS T
+ WHERE T.NombreTablaSQL = @NombreTablaSQL COLLATE Modern_Spanish_CS_AS
+ AND T.Activo = 1;
+
+ IF @CveTabla IS NULL
+ BEGIN
+ SET @ErrorMostrar = 'La tabla indicada no está configurada para bitácora.';
+ SET @ErrorTipo = 2;
+ RETURN;
+ END;
+
+ IF NOT EXISTS
+ (
+ SELECT 1
+ FROM dbo.Bit_TiposMovimiento AS M
+ WHERE M.CveTipoMovimiento = @CveTipoMovimiento
+ )
+ BEGIN
+ SET @ErrorMostrar = 'El tipo de movimiento de bitácora no es válido.';
+ SET @ErrorTipo = 2;
+ RETURN;
+ END;
+
+ IF @CveDefinicionAccion IS NOT NULL
+ AND NOT EXISTS
+ (
+ SELECT 1
+ FROM dbo.Bit_DefinicionesAccion AS A
+ WHERE A.CveDefinicionAccion = @CveDefinicionAccion
+ AND A.CveTabla = @CveTabla
+ AND A.CveTipoMovimiento = @CveTipoMovimiento
+ AND A.Activo = 1
+ )
+ BEGIN
+ SET @ErrorMostrar = 'La definición de la acción no corresponde al movimiento.';
+ SET @ErrorTipo = 2;
+ RETURN;
+ END;
+
+ DECLARE @Relaciones TABLE
+ (
+ Orden int NOT NULL,
+ CveTipoRelacion tinyint NOT NULL,
+ NombreTablaSQL varchar(128) COLLATE Modern_Spanish_CS_AS NOT NULL,
+ NombreCampoSQL varchar(128) COLLATE Modern_Spanish_CS_AS NOT NULL,
+ Valor nvarchar(250) COLLATE Modern_Spanish_CS_AS NOT NULL,
+ VisibleDesarrollador bit NOT NULL,
+ DescripcionRelacion nvarchar(500) COLLATE Modern_Spanish_CS_AS NULL
+ );
+
+ INSERT INTO @Relaciones
+ (
+ Orden,
+ CveTipoRelacion,
+ NombreTablaSQL,
+ NombreCampoSQL,
+ Valor,
+ VisibleDesarrollador,
+ DescripcionRelacion
+ )
+ SELECT
+ R.value('@Orden', 'int'),
+ R.value('@CveTipoRelacion', 'tinyint'),
+ R.value('@NombreTablaSQL', 'varchar(128)'),
+ R.value('@NombreCampoSQL', 'varchar(128)'),
+ R.value('@Valor', 'nvarchar(250)'),
+ R.value('@VisibleDesarrollador', 'bit'),
+ NULLIF(R.value('@DescripcionRelacion', 'nvarchar(500)'), '')
+ FROM @RelacionesXml.nodes('/Relaciones/Relacion') AS X(R);
+
+ IF NOT EXISTS (SELECT 1 FROM @Relaciones)
+ BEGIN
+ SET @ErrorMostrar = 'La bitácora debe incluir al menos una relación.';
+ SET @ErrorTipo = 2;
+ RETURN;
+ END;
+
+ DECLARE @RelacionesResueltas TABLE
+ (
+ Orden int NOT NULL,
+ CveTipoRelacion tinyint NOT NULL,
+ CveTabla int NOT NULL,
+ CveCampo int NOT NULL,
+ NombreTablaSQL varchar(128) COLLATE Modern_Spanish_CS_AS NOT NULL,
+ NombreCampoSQL varchar(128) COLLATE Modern_Spanish_CS_AS NOT NULL,
+ TipoDatoSQL varchar(128) COLLATE Modern_Spanish_CS_AS NOT NULL,
+ Valor nvarchar(250) COLLATE Modern_Spanish_CS_AS NOT NULL,
+ VisibleDesarrollador bit NOT NULL,
+ DescripcionRelacion nvarchar(500) COLLATE Modern_Spanish_CS_AS NULL
+ );
+
+ INSERT INTO @RelacionesResueltas
+ (
+ Orden,
+ CveTipoRelacion,
+ CveTabla,
+ CveCampo,
+ NombreTablaSQL,
+ NombreCampoSQL,
+ TipoDatoSQL,
+ Valor,
+ VisibleDesarrollador,
+ DescripcionRelacion
+ )
+ SELECT
+ R.Orden,
+ R.CveTipoRelacion,
+ T.CveTabla,
+ C.CveCampo,
+ R.NombreTablaSQL,
+ R.NombreCampoSQL,
+ C.TipoDatoSQL,
+ R.Valor,
+ R.VisibleDesarrollador,
+ R.DescripcionRelacion
+ FROM @Relaciones AS R
+ INNER JOIN dbo.Bit_Tablas AS T
+ ON T.NombreTablaSQL = R.NombreTablaSQL
+ AND T.Activo = 1
+ INNER JOIN dbo.Bit_Campos AS C
+ ON C.CveTabla = T.CveTabla
+ AND C.NombreCampoSQL = R.NombreCampoSQL
+ AND C.Activo = 1
+ INNER JOIN dbo.Bit_TiposRelacion AS TR
+ ON TR.CveTipoRelacion = R.CveTipoRelacion
+ AND TR.Activo = 1
+ WHERE C.TipoDatoSQL IS NOT NULL;
+
+ IF (SELECT COUNT(1) FROM @Relaciones) <>
+ (SELECT COUNT(1) FROM @RelacionesResueltas)
+ BEGIN
+ SET @ErrorMostrar = 'Una relación utiliza una tabla, campo o tipo que no está configurado en la bitácora.';
+ SET @ErrorTipo = 2;
+ RETURN;
+ END;
+
+ IF EXISTS
+ (
+ SELECT 1
+ FROM @RelacionesResueltas
+ WHERE TipoDatoSQL IN ('tinyint', 'smallint', 'int', 'bigint')
+ AND TRY_CONVERT(bigint, Valor) IS NULL
+ )
+ BEGIN
+ SET @ErrorMostrar = 'El valor de una relación numérica no es válido.';
+ SET @ErrorTipo = 2;
+ RETURN;
+ END;
+
+ IF EXISTS
+ (
+ SELECT 1
+ FROM @RelacionesResueltas
+ WHERE VisibleDesarrollador = 1
+ )
+ AND NOT EXISTS
+ (
+ SELECT 1
+ FROM @RelacionesResueltas
+ WHERE NombreTablaSQL = 'Clientes'
+ AND NombreCampoSQL = 'CveCliente'
+ AND VisibleDesarrollador = 1
+ )
+ BEGIN
+ SET @ErrorMostrar = 'Una bitácora visible para desarrolladores debe relacionarse con un cliente.';
+ SET @ErrorTipo = 2;
+ RETURN;
+ END;
+
+ DECLARE @Campos TABLE
+ (
+ Orden int NOT NULL,
+ NombreCampoSQL varchar(128) COLLATE Modern_Spanish_CS_AS NOT NULL,
+ ValorAnteriorEsNulo bit NOT NULL,
+ ValorAnterior nvarchar(max) COLLATE Modern_Spanish_CS_AS NULL,
+ ValorNuevoEsNulo bit NOT NULL,
+ ValorNuevo nvarchar(max) COLLATE Modern_Spanish_CS_AS NULL
+ );
+
+ IF @CamposXml IS NOT NULL
+ BEGIN
+ INSERT INTO @Campos
+ (
+ Orden,
+ NombreCampoSQL,
+ ValorAnteriorEsNulo,
+ ValorAnterior,
+ ValorNuevoEsNulo,
+ ValorNuevo
+ )
+ SELECT
+ C.value('@Orden', 'int'),
+ C.value('@NombreCampoSQL', 'varchar(128)'),
+ C.value('@ValorAnteriorEsNulo', 'bit'),
+ CASE
+ WHEN C.value('@ValorAnteriorEsNulo', 'bit') = 1 THEN NULL
+ ELSE C.value('@ValorAnterior', 'nvarchar(max)')
+ END,
+ C.value('@ValorNuevoEsNulo', 'bit'),
+ CASE
+ WHEN C.value('@ValorNuevoEsNulo', 'bit') = 1 THEN NULL
+ ELSE C.value('@ValorNuevo', 'nvarchar(max)')
+ END
+ FROM @CamposXml.nodes('/Campos/Campo') AS X(C);
+ END;
+
+ IF @CveTipoMovimiento IN (1, 2)
+ AND NOT EXISTS (SELECT 1 FROM @Campos)
+ BEGIN
+ SET @ErrorMostrar = 'Las altas y modificaciones deben incluir los campos auditados.';
+ SET @ErrorTipo = 2;
+ RETURN;
+ END;
+
+ IF EXISTS
+ (
+ SELECT 1
+ FROM @Campos AS F
+ LEFT JOIN dbo.Bit_Campos AS C
+ ON C.CveTabla = @CveTabla
+ AND C.NombreCampoSQL = F.NombreCampoSQL
+ AND C.Activo = 1
+ WHERE C.CveCampo IS NULL
+ )
+ BEGIN
+ SET @ErrorMostrar = 'Uno de los campos enviados no está configurado para la tabla auditada.';
+ SET @ErrorTipo = 2;
+ RETURN;
+ END;
+
+ INSERT INTO dbo.Bit_Bitacora
+ (
+ CveTabla,
+ CveTipoMovimiento,
+ CveDefinicionAccion,
+ CveUsuarioEjecuta,
+ CveUsuarioAutoriza,
+ FechaAutorizacion,
+ LlaveRegistro,
+ DescripcionMovimiento,
+ DireccionIP,
+ NombreEquipo,
+ Modulo
+ )
+ VALUES
+ (
+ @CveTabla,
+ @CveTipoMovimiento,
+ @CveDefinicionAccion,
+ @CveUsuarioEjecuta,
+ @CveUsuarioAutoriza,
+ @FechaAutorizacion,
+ @LlaveRegistro,
+ @DescripcionMovimiento,
+ @DireccionIP,
+ @NombreEquipo,
+ @Modulo
+ );
+
+ DECLARE @CveBitacora bigint = CONVERT(bigint, SCOPE_IDENTITY());
+
+ INSERT INTO dbo.Bit_BitacoraRelaciones
+ (
+ CveBitacora,
+ CveTipoRelacion,
+ CveTablaRelacionada,
+ LlaveRegistroRelacionada,
+ CveCampoRelacion,
+ ValorRelacionNumero,
+ ValorRelacionTexto,
+ DescripcionRelacion,
+ VisibleDesarrollador
+ )
+ SELECT
+ @CveBitacora,
+ R.CveTipoRelacion,
+ R.CveTabla,
+ R.Valor,
+ R.CveCampo,
+ CASE
+ WHEN R.TipoDatoSQL IN ('tinyint', 'smallint', 'int', 'bigint')
+ THEN TRY_CONVERT(bigint, R.Valor)
+ ELSE NULL
+ END,
+ CASE
+ WHEN R.TipoDatoSQL IN ('tinyint', 'smallint', 'int', 'bigint')
+ THEN NULL
+ ELSE R.Valor
+ END,
+ R.DescripcionRelacion,
+ R.VisibleDesarrollador
+ FROM @RelacionesResueltas AS R;
+
+ INSERT INTO dbo.Bit_BitacoraCampos
+ (
+ CveBitacora,
+ CveCampo,
+ ValorAnterior,
+ ValorNuevo
+ )
+ SELECT
+ @CveBitacora,
+ C.CveCampo,
+ F.ValorAnterior,
+ F.ValorNuevo
+ FROM @Campos AS F
+ INNER JOIN dbo.Bit_Campos AS C
+ ON C.CveTabla = @CveTabla
+ AND C.NombreCampoSQL = F.NombreCampoSQL
+ AND C.Activo = 1
+ WHERE @DiscriminarCamposSinCambios = 0
+ OR F.ValorAnteriorEsNulo <> F.ValorNuevoEsNulo
+ OR
+ (
+ F.ValorAnteriorEsNulo = 0
+ AND F.ValorNuevoEsNulo = 0
+ AND F.ValorAnterior <> F.ValorNuevo
+ );
+
+ SELECT @CveBitacora AS CveBitacora;
+ SET @Return = 1;
+ END TRY
+ BEGIN CATCH
+ SET @ErrorMostrar = 'Ocurrió un error al registrar la bitácora; favor de contactar a Sistemas.';
+ SET @ErrorTipo = 1;
+ SET @Return = 0;
+
+ DECLARE @ErrorTecnico nvarchar(2048) = CONCAT(
+ 'Número: ', ERROR_NUMBER(),
+ '; Procedimiento: ', COALESCE(ERROR_PROCEDURE(), 'PA_Bit_BitacoraAdd'),
+ '; Línea: ', ERROR_LINE(),
+ '; Detalle: ', ERROR_MESSAGE()
+ );
+
+ RAISERROR(N'%s', 10, 1, @ErrorTecnico);
+ END CATCH;
+END;
+GO
+
+CREATE OR ALTER PROCEDURE dbo.PA_Bit_BitacoraList
+ @NombreTablaSQL varchar(128) = NULL,
+ @LlaveRegistro nvarchar(250) = NULL,
+ @CveUsuarioFiltro int = NULL,
+ @FechaInicio datetime = NULL,
+ @FechaFin datetime = NULL,
+ @Modulo varchar(150) = NULL,
+ @CveUsuarioEjecuta int,
+ @ErrorMostrar varchar(max) OUTPUT,
+ @ErrorTipo int OUTPUT,
+ @Return bit OUTPUT
+AS
+BEGIN
+ SET NOCOUNT ON;
+
+ SELECT
+ @ErrorMostrar = NULL,
+ @ErrorTipo = 0,
+ @Return = 0;
+
+ BEGIN TRY
+ DECLARE @EsAdministrador bit = 0;
+ DECLARE @EsDesarrollador bit = 0;
+
+ SELECT
+ @EsAdministrador = CASE
+ WHEN R.NombreRol IN ('SuperUsuario', 'Administrador') THEN 1
+ ELSE 0
+ END,
+ @EsDesarrollador = CASE
+ WHEN R.NombreRol = 'Empresa' THEN 1
+ ELSE 0
+ END
+ FROM dbo.Sis_Usuarios AS U
+ INNER JOIN dbo.Sis_Roles AS R
+ ON R.CveRol = U.CveRol
+ WHERE U.CveUsuario = @CveUsuarioEjecuta
+ AND U.Activo = 1
+ AND R.Activo = 1;
+
+ SELECT
+ B.CveBitacora,
+ B.CveTabla,
+ T.NombreTablaSQL,
+ T.NombreMostrar AS NombreTabla,
+ B.CveTipoMovimiento,
+ M.Nombre AS TipoMovimiento,
+ A.NombreAccion,
+ B.CveUsuarioEjecuta,
+ B.CveUsuarioAutoriza,
+ B.FechaAutorizacion,
+ B.LlaveRegistro,
+ B.DescripcionMovimiento,
+ B.FechaMovimiento,
+ B.DireccionIP,
+ B.NombreEquipo,
+ B.Modulo
+ FROM dbo.Bit_Bitacora AS B
+ INNER JOIN dbo.Bit_Tablas AS T
+ ON T.CveTabla = B.CveTabla
+ INNER JOIN dbo.Bit_TiposMovimiento AS M
+ ON M.CveTipoMovimiento = B.CveTipoMovimiento
+ LEFT JOIN dbo.Bit_DefinicionesAccion AS A
+ ON A.CveDefinicionAccion = B.CveDefinicionAccion
+ WHERE (@NombreTablaSQL IS NULL OR T.NombreTablaSQL = @NombreTablaSQL COLLATE Modern_Spanish_CS_AS)
+ AND (@LlaveRegistro IS NULL OR B.LlaveRegistro = @LlaveRegistro COLLATE Modern_Spanish_CS_AS)
+ AND (@CveUsuarioFiltro IS NULL OR B.CveUsuarioEjecuta = @CveUsuarioFiltro)
+ AND (@FechaInicio IS NULL OR B.FechaMovimiento >= @FechaInicio)
+ AND
+ (
+ @FechaFin IS NULL
+ OR B.FechaMovimiento < DATEADD(day, 1, CONVERT(date, @FechaFin))
+ )
+ AND (@Modulo IS NULL OR B.Modulo = @Modulo COLLATE Modern_Spanish_CS_AS)
+ AND
+ (
+ @EsAdministrador = 1
+ OR
+ (
+ @EsDesarrollador = 1
+ AND EXISTS
+ (
+ SELECT 1
+ FROM dbo.Bit_BitacoraRelaciones AS BR
+ INNER JOIN dbo.Bit_Tablas AS RT
+ ON RT.CveTabla = BR.CveTablaRelacionada
+ INNER JOIN dbo.Bit_Campos AS RC
+ ON RC.CveCampo = BR.CveCampoRelacion
+ AND RC.CveTabla = RT.CveTabla
+ INNER JOIN dbo.Sis_UsuariosClientes AS UC
+ ON UC.CveCliente = BR.ValorRelacionNumero
+ AND UC.CveUsuario = @CveUsuarioEjecuta
+ AND UC.Activo = 1
+ WHERE BR.CveBitacora = B.CveBitacora
+ AND BR.VisibleDesarrollador = 1
+ AND RT.NombreTablaSQL = 'Clientes'
+ AND RC.NombreCampoSQL = 'CveCliente'
+ )
+ )
+ )
+ ORDER BY
+ B.FechaMovimiento DESC,
+ B.CveBitacora DESC;
+
+ SET @Return = 1;
+ END TRY
+ BEGIN CATCH
+ SET @ErrorMostrar = 'Ocurrió un error al consultar la bitácora; favor de contactar a Sistemas.';
+ SET @ErrorTipo = 1;
+ SET @Return = 0;
+
+ DECLARE @ErrorTecnico nvarchar(2048) = CONCAT(
+ 'Número: ', ERROR_NUMBER(),
+ '; Procedimiento: ', COALESCE(ERROR_PROCEDURE(), 'PA_Bit_BitacoraList'),
+ '; Línea: ', ERROR_LINE(),
+ '; Detalle: ', ERROR_MESSAGE()
+ );
+
+ RAISERROR(N'%s', 10, 1, @ErrorTecnico);
+ END CATCH;
+END;
+GO
+
+/* Procedimientos requeridos para capturar valores y claves de auditoría. */
+
+CREATE OR ALTER PROCEDURE [dbo].[PA_Fraccionamientos_EtapaGet]
+ @CveFraccionamientoEtapa int,
+ @CveUsuarioEjecuta int,
+ @ErrorMostrar varchar(max) OUTPUT,
+ @ErrorTipo int OUTPUT,
+ @Return bit OUTPUT
+AS
+BEGIN
+ SET NOCOUNT ON;
+
+ SELECT
+ @ErrorMostrar = NULL,
+ @ErrorTipo = 0,
+ @Return = 0;
+
+ BEGIN TRY
+ DECLARE @EsSuperUsuario bit = 0;
+
+ SELECT @EsSuperUsuario = CASE
+ WHEN R.NombreRol = 'SuperUsuario' THEN 1
+ ELSE 0
+ END
+ FROM dbo.Sis_Usuarios AS U
+ INNER JOIN dbo.Sis_Roles AS R
+ ON R.CveRol = U.CveRol
+ WHERE U.CveUsuario = @CveUsuarioEjecuta
+ AND U.Activo = 1;
+
+ SELECT
+ E.CveFraccionamientoEtapa,
+ E.CveFraccionamiento,
+ F.CveCliente,
+ E.Etapa,
+ E.Hectareas,
+ E.Orden,
+ E.EsActivo
+ FROM dbo.FraccionamientosEtapas AS E
+ INNER JOIN dbo.Fraccionamientos AS F
+ ON F.CveFraccionamiento = E.CveFraccionamiento
+ WHERE E.CveFraccionamientoEtapa = @CveFraccionamientoEtapa
+ AND
+ (
+ @EsSuperUsuario = 1
+ OR EXISTS
+ (
+ SELECT 1
+ FROM dbo.Sis_UsuariosClientes AS UC
+ WHERE UC.CveUsuario = @CveUsuarioEjecuta
+ AND UC.CveCliente = F.CveCliente
+ AND UC.Activo = 1
+ )
+ );
+
+ IF @@ROWCOUNT = 0
+ BEGIN
+ SET @ErrorMostrar = 'La etapa no existe o no está asignada al usuario.';
+ SET @ErrorTipo = 2;
+ RETURN;
+ END;
+
+ SET @Return = 1;
+ END TRY
+ BEGIN CATCH
+ SET @ErrorMostrar = 'Ocurrió un error al consultar la etapa; favor de contactar a Sistemas.';
+ SET @ErrorTipo = 1;
+ SET @Return = 0;
+
+ DECLARE @ErrorTecnico nvarchar(2048) = CONCAT(
+ 'Número: ', ERROR_NUMBER(),
+ '; Procedimiento: ', COALESCE(ERROR_PROCEDURE(), 'PA_Fraccionamientos_EtapaGet'),
+ '; Línea: ', ERROR_LINE(),
+ '; Detalle: ', ERROR_MESSAGE()
+ );
+
+ RAISERROR(N'%s', 10, 1, @ErrorTecnico);
+ END CATCH;
+END;
+
+GO
+
+CREATE OR ALTER PROCEDURE [dbo].[PA_Fraccionamientos_LoteBatchSave]
+ @CveFraccionamiento int,
+ @CveFraccionamientoEtapa int,
+ @LotesXml xml,
+ @CveUsuarioEjecuta int,
+ @ErrorMostrar varchar(max) OUTPUT,
+ @ErrorTipo int OUTPUT,
+ @Return bit OUTPUT
+AS
+BEGIN
+ SET NOCOUNT ON;
+
+ SELECT
+ @ErrorMostrar = NULL,
+ @ErrorTipo = 0,
+ @Return = 0;
+
+ BEGIN TRY
+ IF NOT EXISTS
+ (
+ SELECT 1
+ FROM [dbo].[FraccionamientosEtapas]
+ WHERE [CveFraccionamientoEtapa] = @CveFraccionamientoEtapa
+ AND [CveFraccionamiento] = @CveFraccionamiento
+
+ AND [EsActivo] = (1)
+ )
+ BEGIN
+ SET @ErrorMostrar = 'La etapa seleccionada no existe, está inactiva o no pertenece al fraccionamiento.';
+ SET @ErrorTipo = 1;
+ RETURN;
+ END;
+
+ DECLARE @Lotes TABLE
+ (
+ [Nombre] varchar(50) COLLATE Modern_Spanish_CS_AS NULL,
+ [Tipo] varchar(100) COLLATE Modern_Spanish_CS_AS NULL,
+ [Calle] varchar(200) COLLATE Modern_Spanish_CS_AS NULL,
+ [Catastro] varchar(100) COLLATE Modern_Spanish_CS_AS NULL,
+ [MetrosCuadrados] decimal(18,4) NULL,
+ [Duplicador] varchar(50) COLLATE Modern_Spanish_CS_AS NULL,
+ [EsActivo] bit NOT NULL
+ );
+
+ INSERT INTO @Lotes
+ (
+ [Nombre],
+ [Tipo],
+ [Calle],
+ [Catastro],
+ [MetrosCuadrados],
+ [Duplicador],
+ [EsActivo]
+ )
+ SELECT
+ NULLIF(LTRIM(RTRIM(N.value('@Nombre', 'varchar(50)'))), ''),
+ NULLIF(LTRIM(RTRIM(N.value('@Tipo', 'varchar(100)'))), ''),
+ NULLIF(LTRIM(RTRIM(N.value('@Calle', 'varchar(200)'))), ''),
+ NULLIF(LTRIM(RTRIM(N.value('@Catastro', 'varchar(100)'))), ''),
+ TRY_CONVERT(
+ decimal(18,4),
+ NULLIF(N.value('@MetrosCuadrados', 'varchar(50)'), '')
+ ),
+ NULLIF(LTRIM(RTRIM(N.value('@Duplicador', 'varchar(50)'))), ''),
+ N.value('@EsActivo', 'bit')
+ FROM @LotesXml.nodes('/Lotes/Lote') AS X(N);
+
+ DECLARE @Cantidad int = (SELECT COUNT(1) FROM @Lotes);
+
+ IF @Cantidad = (0)
+ BEGIN
+ SET @ErrorMostrar = 'No se recibieron lotes para guardar.';
+ SET @ErrorTipo = 1;
+ RETURN;
+ END;
+
+
+ IF EXISTS
+ (
+ SELECT 1
+ FROM @Lotes
+ WHERE [Nombre] IS NULL
+ )
+ BEGIN
+ SET @ErrorMostrar = 'Todos los lotes deben tener un nombre.';
+ SET @ErrorTipo = 2;
+ RETURN;
+ END;
+
+ IF EXISTS
+ (
+ SELECT [Nombre]
+ FROM @Lotes
+ GROUP BY [Nombre]
+ HAVING COUNT(1) > (1)
+ )
+ BEGIN
+ SET @ErrorMostrar = 'La captura contiene nombres de lote repetidos.';
+ SET @ErrorTipo = 2;
+ RETURN;
+ END;
+
+ IF EXISTS
+ (
+ SELECT 1
+ FROM @Lotes AS N
+ INNER JOIN [dbo].[FraccionamientosLotes] AS L
+ ON L.[CveFraccionamientoEtapa] = @CveFraccionamientoEtapa
+ AND L.[Numero] = N.[Nombre]
+
+ )
+ BEGIN
+ SET @ErrorMostrar = 'Uno o más nombres de lote ya existen en la etapa seleccionada.';
+ SET @ErrorTipo = 2;
+ RETURN;
+ END;
+
+
+ DECLARE @LotesGuardados TABLE
+ (
+ CveFraccionamientoLote int NOT NULL,
+ CveFraccionamientoEtapa int NOT NULL,
+ Nombre varchar(50) COLLATE Modern_Spanish_CS_AS NULL,
+ Tipo varchar(100) COLLATE Modern_Spanish_CS_AS NULL,
+ Calle varchar(200) COLLATE Modern_Spanish_CS_AS NULL,
+ Catastro varchar(100) COLLATE Modern_Spanish_CS_AS NULL,
+ MetrosCuadrados decimal(18,4) NULL,
+ Duplicador varchar(50) COLLATE Modern_Spanish_CS_AS NULL,
+ EsActivo bit NOT NULL
+ );
+
+ INSERT INTO [dbo].[FraccionamientosLotes]
+ (
+ [CveFraccionamientoEtapa],
+ [Tipo],
+ [Calle],
+ [Catastro],
+ [MetrosCuadrados],
+ [Numero],
+ [Duplicador],
+ [EsActivo],
+ [CveUsuario]
+ )
+ OUTPUT
+ INSERTED.[CveFraccionamientoLote],
+ INSERTED.[CveFraccionamientoEtapa],
+ INSERTED.[Numero],
+ INSERTED.[Tipo],
+ INSERTED.[Calle],
+ INSERTED.[Catastro],
+ INSERTED.[MetrosCuadrados],
+ INSERTED.[Duplicador],
+ INSERTED.[EsActivo]
+ INTO @LotesGuardados
+ SELECT
+ @CveFraccionamientoEtapa,
+ [Tipo],
+ [Calle],
+ [Catastro],
+ [MetrosCuadrados],
+ [Nombre],
+ [Duplicador],
+ [EsActivo],
+ @CveUsuarioEjecuta
+ FROM @Lotes;
+
+ SELECT
+ G.CveFraccionamientoLote,
+ G.CveFraccionamientoEtapa,
+ @CveFraccionamiento AS CveFraccionamiento,
+ F.CveCliente,
+ G.Nombre,
+ G.Tipo,
+ G.Calle,
+ G.Catastro,
+ G.MetrosCuadrados,
+ G.Duplicador,
+ G.EsActivo
+ FROM @LotesGuardados AS G
+ INNER JOIN dbo.Fraccionamientos AS F
+ ON F.CveFraccionamiento = @CveFraccionamiento
+ ORDER BY G.CveFraccionamientoLote;
+ SET @Return = 1;
+ END TRY
+ BEGIN CATCH
+
+ SET @ErrorMostrar = 'Ocurrió un error al guardar los lotes; favor de contactar a Sistemas.';
+ SET @ErrorTipo = 1;
+ SET @Return = 0;
+
+ DECLARE @ErrorTecnico nvarchar(2048) = CONCAT(
+ 'Número: ', ERROR_NUMBER(),
+ '; Procedimiento: ', COALESCE(ERROR_PROCEDURE(), 'PA_Fraccionamientos_LoteBatchSave'),
+ '; Línea: ', ERROR_LINE(),
+ '; Detalle: ', ERROR_MESSAGE()
+ );
+
+ RAISERROR(N'%s', 10, 1, @ErrorTecnico);
+ END CATCH;
+END;
+
+GO
+
+CREATE OR ALTER PROCEDURE [dbo].[PA_Fraccionamientos_LoteGet]
+ @CveFraccionamiento int,
+ @CveFraccionamientoLote int,
+ @CveUsuarioEjecuta int,
+ @ErrorMostrar varchar(max) OUTPUT,
+ @ErrorTipo int OUTPUT,
+ @Return bit OUTPUT
+AS
+BEGIN
+ SET NOCOUNT ON;
+
+ SELECT
+ @ErrorMostrar = NULL,
+ @ErrorTipo = 0,
+ @Return = 0;
+
+ BEGIN TRY
+ IF NOT EXISTS
+ (
+ SELECT 1
+ FROM [dbo].[FraccionamientosLotes] AS L
+ INNER JOIN [dbo].[FraccionamientosEtapas] AS E
+ ON E.[CveFraccionamientoEtapa] = L.[CveFraccionamientoEtapa]
+ WHERE L.[CveFraccionamientoLote] = @CveFraccionamientoLote
+ AND E.[CveFraccionamiento] = @CveFraccionamiento
+
+
+ )
+ BEGIN
+ SET @ErrorMostrar = 'El lote seleccionado no existe o no pertenece al fraccionamiento.';
+ SET @ErrorTipo = 2;
+ RETURN;
+ END;
+
+ SELECT
+ L.[CveFraccionamientoLote] AS [CveFraccionamientoLote],
+ L.[CveFraccionamientoEtapa] AS [CveFraccionamientoEtapa],
+ E.[CveFraccionamiento] AS [CveFraccionamiento],
+ F.[CveCliente] AS [CveCliente],
+ E.[Etapa] AS [Etapa],
+ L.[Numero] AS [Nombre],
+ L.[Tipo] AS [Tipo],
+ L.[Calle] AS [Calle],
+ L.[Catastro] AS [Catastro],
+ L.[MetrosCuadrados] AS [MetrosCuadrados],
+ L.[Duplicador] AS [Duplicador],
+ L.[EsActivo] AS [EsActivo]
+ FROM [dbo].[FraccionamientosLotes] AS L
+ INNER JOIN [dbo].[FraccionamientosEtapas] AS E
+ ON E.[CveFraccionamientoEtapa] = L.[CveFraccionamientoEtapa]
+ INNER JOIN [dbo].[Fraccionamientos] AS F
+ ON F.[CveFraccionamiento] = E.[CveFraccionamiento]
+ WHERE L.[CveFraccionamientoLote] = @CveFraccionamientoLote
+ AND E.[CveFraccionamiento] = @CveFraccionamiento
+
+;
+
+ SET @Return = 1;
+ END TRY
+ BEGIN CATCH
+ SET @ErrorMostrar = 'Ocurrió un error al consultar el lote; favor de contactar a Sistemas.';
+ SET @ErrorTipo = 1;
+ SET @Return = 0;
+
+ DECLARE @ErrorTecnico nvarchar(2048) = CONCAT(
+ 'Número: ', ERROR_NUMBER(),
+ '; Procedimiento: ', COALESCE(ERROR_PROCEDURE(), 'PA_Fraccionamientos_LoteGet'),
+ '; Línea: ', ERROR_LINE(),
+ '; Detalle: ', ERROR_MESSAGE()
+ );
+
+ RAISERROR(N'%s', 10, 1, @ErrorTecnico);
+ END CATCH;
+END;
+
+GO
diff --git a/Migracion_Borrado_Fisico_20260722.sql b/Migracion_Borrado_Fisico_20260722.sql
new file mode 100644
index 0000000..afd5b87
--- /dev/null
+++ b/Migracion_Borrado_Fisico_20260722.sql
@@ -0,0 +1,2603 @@
+/* Migración global a borrado físico. Generada desde SIG_PlataformaDesarolladores el 2026-07-22. */
+
+SET NOCOUNT ON;
+
+SET XACT_ABORT ON;
+
+GO
+
+CREATE OR ALTER PROCEDURE [dbo].[PA_Clientes_EstatusUpdate]
+ @CveCliente int,
+ @Activo bit,
+ @CveUsuarioEjecuta int,
+ @ErrorMostrar varchar(max) OUTPUT,
+ @ErrorTipo int OUTPUT,
+ @Return bit OUTPUT
+AS
+BEGIN
+ SET NOCOUNT ON;
+ SELECT @ErrorMostrar = NULL, @ErrorTipo = 0, @Return = 0;
+ BEGIN TRY
+ UPDATE C
+ SET C.[Estatus] = @Activo, C.[CveUsuarioModifico] = @CveUsuarioEjecuta
+ FROM [dbo].[Clientes] C
+ WHERE C.[CveCliente] = @CveCliente
+ AND EXISTS
+ (
+ SELECT 1 FROM [dbo].[Sis_Usuarios] U INNER JOIN [dbo].[Sis_Roles] R ON R.[CveRol] = U.[CveRol]
+ WHERE U.[CveUsuario] = @CveUsuarioEjecuta
+ AND R.[NombreRol] IN ('SuperUsuario', 'Administrador')
+ AND U.[Activo] = (1)
+ );
+ IF @@ROWCOUNT = (0)
+ BEGIN
+ SET @ErrorMostrar = 'Sólo un Administrador o SuperUsuario puede cambiar el estado del cliente.';
+ SET @ErrorTipo = 1;
+ RETURN;
+ END;
+ SET @Return = 1;
+ END TRY
+ BEGIN CATCH
+ SET @ErrorMostrar = 'Ocurrió un error al cambiar el estado del cliente; favor de contactar a Sistemas.';
+ SET @ErrorTipo = 1;
+ DECLARE @E nvarchar(2048) = CONCAT('Número: ', ERROR_NUMBER(), '; Procedimiento: ', ERROR_PROCEDURE(), '; Línea: ', ERROR_LINE(), '; Detalle: ', ERROR_MESSAGE());
+ RAISERROR(N'%s', 10, 1, @E);
+ END CATCH;
+END;
+
+GO
+
+CREATE OR ALTER PROCEDURE [dbo].[PA_Fraccionamientos_ClienteList]
+ @CveUsuarioEjecuta int,
+ @ErrorMostrar varchar(max) OUTPUT,
+ @ErrorTipo int OUTPUT,
+ @Return bit OUTPUT
+AS
+BEGIN
+ SET NOCOUNT ON;
+ SELECT @ErrorMostrar = NULL, @ErrorTipo = 0, @Return = 0;
+
+ BEGIN TRY
+ DECLARE @EsSuperUsuario bit = 0;
+
+ SELECT @EsSuperUsuario = CASE WHEN R.NombreRol = 'SuperUsuario' THEN 1 ELSE 0 END
+ FROM dbo.Sis_Usuarios AS U
+ INNER JOIN dbo.Sis_Roles AS R ON R.CveRol = U.CveRol
+ WHERE U.CveUsuario = @CveUsuarioEjecuta
+ AND U.Activo = 1
+;
+
+ SELECT DISTINCT
+ C.CveCliente,
+ C.Nombre AS Cliente,
+ C.RFC
+ FROM dbo.Clientes AS C
+ WHERE C.Estatus = 1
+ AND
+ (
+ @EsSuperUsuario = 1
+ OR EXISTS
+ (
+ SELECT 1
+ FROM dbo.Sis_UsuariosClientes AS UC
+ WHERE UC.CveUsuario = @CveUsuarioEjecuta
+ AND UC.CveCliente = C.CveCliente
+ AND UC.Activo = 1
+
+ )
+ )
+ ORDER BY C.Nombre;
+
+ SET @Return = 1;
+ END TRY
+ BEGIN CATCH
+ SET @ErrorMostrar = 'Ocurrió un error al consultar los clientes disponibles; favor de contactar a Sistemas.';
+ SET @ErrorTipo = 1;
+ SET @Return = 0;
+ DECLARE @ErrorTecnico nvarchar(2048) = CONCAT('Número: ', ERROR_NUMBER(), '; Procedimiento: ', COALESCE(ERROR_PROCEDURE(), 'PA_Fraccionamientos_ClienteList'), '; Línea: ', ERROR_LINE(), '; Detalle: ', ERROR_MESSAGE());
+ RAISERROR(N'%s', 10, 1, @ErrorTecnico);
+ END CATCH;
+END;
+
+GO
+
+CREATE OR ALTER PROCEDURE [dbo].[PA_Fraccionamientos_EstatusList]
+ @CveUsuarioEjecuta int,
+ @ErrorMostrar varchar(max) OUTPUT,
+ @ErrorTipo int OUTPUT,
+ @Return bit OUTPUT
+AS
+BEGIN
+ SET NOCOUNT ON;
+
+ SELECT
+ @ErrorMostrar = NULL,
+ @ErrorTipo = 0,
+ @Return = 0;
+
+ BEGIN TRY
+ SELECT
+ E.CveEstatus,
+ E.Estatus
+ FROM dbo.Fraccionamientos_Estatus AS E
+ ORDER BY E.Estatus;
+
+ SET @Return = 1;
+ END TRY
+ BEGIN CATCH
+ SET @ErrorMostrar = 'Ocurrió un error al consultar los estatus de fraccionamientos; favor de contactar a Sistemas.';
+ SET @ErrorTipo = 1;
+ SET @Return = 0;
+
+ DECLARE @ErrorTecnico nvarchar(2048) = CONCAT(
+ 'Número: ', ERROR_NUMBER(),
+ '; Procedimiento: ', COALESCE(ERROR_PROCEDURE(), 'PA_Fraccionamientos_EstatusList'),
+ '; Línea: ', ERROR_LINE(),
+ '; Detalle: ', ERROR_MESSAGE()
+ );
+
+ RAISERROR(N'%s', 10, 1, @ErrorTecnico);
+ END CATCH;
+END;
+
+GO
+
+CREATE OR ALTER PROCEDURE [dbo].[PA_Fraccionamientos_EtapaDelete]
+ @CveFraccionamientoEtapa int,
+ @CveUsuarioEjecuta int,
+ @ErrorMostrar varchar(max) OUTPUT,
+ @ErrorTipo int OUTPUT,
+ @Return bit OUTPUT
+AS
+BEGIN
+ SET NOCOUNT ON;
+ SELECT @ErrorMostrar = NULL, @ErrorTipo = 0, @Return = 0;
+ BEGIN TRY
+ DECLARE @EsSuperUsuario bit = 0;
+ SELECT @EsSuperUsuario = CASE WHEN R.NombreRol = 'SuperUsuario' THEN 1 ELSE 0 END
+ FROM dbo.Sis_Usuarios AS U INNER JOIN dbo.Sis_Roles AS R ON R.CveRol = U.CveRol
+ WHERE U.CveUsuario = @CveUsuarioEjecuta AND U.Activo = 1;
+
+ IF NOT EXISTS
+ (
+ SELECT 1
+ FROM dbo.FraccionamientosEtapas AS E
+ INNER JOIN dbo.Fraccionamientos AS F ON F.CveFraccionamiento = E.CveFraccionamiento
+ WHERE E.CveFraccionamientoEtapa = @CveFraccionamientoEtapa
+ AND (@EsSuperUsuario = 1 OR EXISTS
+ (SELECT 1 FROM dbo.Sis_UsuariosClientes AS UC
+ WHERE UC.CveUsuario = @CveUsuarioEjecuta AND UC.CveCliente = F.CveCliente
+ AND UC.Activo = 1))
+ )
+ BEGIN
+ SET @ErrorMostrar = 'La etapa no existe o no está asignada al usuario.';
+ SET @ErrorTipo = 2;
+ RETURN;
+ END;
+
+ IF EXISTS
+ (
+ SELECT 1
+ FROM dbo.Tra_Solicitudes
+ WHERE CveFraccionamientoEtapa = @CveFraccionamientoEtapa
+ )
+ BEGIN
+ SET @ErrorMostrar = 'La etapa tiene trámites relacionados y no puede eliminarse.';
+ SET @ErrorTipo = 2;
+ RETURN;
+ END;
+
+
+ DELETE FROM dbo.FraccionamientosLotes
+ WHERE CveFraccionamientoEtapa = @CveFraccionamientoEtapa;
+
+ DELETE FROM dbo.FraccionamientosEtapas
+ WHERE CveFraccionamientoEtapa = @CveFraccionamientoEtapa;
+
+ SET @Return = 1;
+ END TRY
+ BEGIN CATCH
+ SET @ErrorMostrar = 'Ocurrió un error al eliminar la etapa; favor de contactar a Sistemas.';
+ SET @ErrorTipo = 1;
+ SET @Return = 0;
+ DECLARE @ErrorTecnico nvarchar(2048) = CONCAT('Número: ', ERROR_NUMBER(), '; Procedimiento: ', COALESCE(ERROR_PROCEDURE(), 'PA_Fraccionamientos_EtapaDelete'), '; Línea: ', ERROR_LINE(), '; Detalle: ', ERROR_MESSAGE());
+ RAISERROR(N'%s', 10, 1, @ErrorTecnico);
+ END CATCH;
+END;
+
+GO
+
+CREATE OR ALTER PROCEDURE [dbo].[PA_Fraccionamientos_EtapaList]
+ @CveFraccionamiento int,
+ @CveUsuarioEjecuta int,
+ @ErrorMostrar varchar(max) OUTPUT,
+ @ErrorTipo int OUTPUT,
+ @Return bit OUTPUT
+AS
+BEGIN
+ SET NOCOUNT ON;
+ SELECT @ErrorMostrar = NULL, @ErrorTipo = 0, @Return = 0;
+ BEGIN TRY
+ DECLARE @EsSuperUsuario bit = 0;
+ SELECT @EsSuperUsuario = CASE WHEN R.NombreRol = 'SuperUsuario' THEN 1 ELSE 0 END
+ FROM dbo.Sis_Usuarios AS U INNER JOIN dbo.Sis_Roles AS R ON R.CveRol = U.CveRol
+ WHERE U.CveUsuario = @CveUsuarioEjecuta AND U.Activo = 1;
+
+ IF NOT EXISTS
+ (
+ SELECT 1 FROM dbo.Fraccionamientos AS F
+ WHERE F.CveFraccionamiento = @CveFraccionamiento
+ AND (@EsSuperUsuario = 1 OR EXISTS
+ (SELECT 1 FROM dbo.Sis_UsuariosClientes AS UC
+ WHERE UC.CveUsuario = @CveUsuarioEjecuta AND UC.CveCliente = F.CveCliente
+ AND UC.Activo = 1))
+ )
+ BEGIN
+ SET @ErrorMostrar = 'El fraccionamiento no existe o no está asignado al usuario.';
+ SET @ErrorTipo = 2;
+ RETURN;
+ END;
+
+ SELECT CveFraccionamientoEtapa, CveFraccionamiento, Etapa, Hectareas, Orden, EsActivo
+ FROM dbo.FraccionamientosEtapas
+ WHERE CveFraccionamiento = @CveFraccionamiento
+ ORDER BY Orden, Etapa;
+ SET @Return = 1;
+ END TRY
+ BEGIN CATCH
+ SET @ErrorMostrar = 'Ocurrió un error al consultar las etapas; favor de contactar a Sistemas.';
+ SET @ErrorTipo = 1;
+ SET @Return = 0;
+ DECLARE @ErrorTecnico nvarchar(2048) = CONCAT('Número: ', ERROR_NUMBER(), '; Procedimiento: ', COALESCE(ERROR_PROCEDURE(), 'PA_Fraccionamientos_EtapaList'), '; Línea: ', ERROR_LINE(), '; Detalle: ', ERROR_MESSAGE());
+ RAISERROR(N'%s', 10, 1, @ErrorTecnico);
+ END CATCH;
+END;
+
+GO
+
+CREATE OR ALTER PROCEDURE [dbo].[PA_Fraccionamientos_EtapaSave]
+ @CveFraccionamientoEtapa int = NULL,
+ @CveFraccionamiento int,
+ @Etapa varchar(150),
+ @Hectareas decimal(18,4) = NULL,
+ @Orden int = 0,
+ @EsActivo bit = 1,
+ @CveUsuarioEjecuta int,
+ @ErrorMostrar varchar(max) OUTPUT,
+ @ErrorTipo int OUTPUT,
+ @Return bit OUTPUT
+AS
+BEGIN
+ SET NOCOUNT ON;
+ SELECT @ErrorMostrar = NULL, @ErrorTipo = 0, @Return = 0;
+ BEGIN TRY
+ DECLARE @EsSuperUsuario bit = 0;
+ SELECT @EsSuperUsuario = CASE WHEN R.NombreRol = 'SuperUsuario' THEN 1 ELSE 0 END
+ FROM dbo.Sis_Usuarios AS U INNER JOIN dbo.Sis_Roles AS R ON R.CveRol = U.CveRol
+ WHERE U.CveUsuario = @CveUsuarioEjecuta AND U.Activo = 1;
+
+ IF NULLIF(LTRIM(RTRIM(@Etapa)), '') IS NULL
+ BEGIN
+ SET @ErrorMostrar = 'Capture el nombre de la etapa.';
+ SET @ErrorTipo = 2;
+ RETURN;
+ END;
+ IF @Hectareas IS NOT NULL AND @Hectareas < 0
+ BEGIN
+ SET @ErrorMostrar = 'Las hectáreas de la etapa no pueden ser negativas.';
+ SET @ErrorTipo = 2;
+ RETURN;
+ END;
+ IF NOT EXISTS
+ (
+ SELECT 1 FROM dbo.Fraccionamientos AS F
+ WHERE F.CveFraccionamiento = @CveFraccionamiento
+ AND (@EsSuperUsuario = 1 OR EXISTS
+ (SELECT 1 FROM dbo.Sis_UsuariosClientes AS UC
+ WHERE UC.CveUsuario = @CveUsuarioEjecuta AND UC.CveCliente = F.CveCliente
+ AND UC.Activo = 1))
+ )
+ BEGIN
+ SET @ErrorMostrar = 'El fraccionamiento no existe o no está asignado al usuario.';
+ SET @ErrorTipo = 2;
+ RETURN;
+ END;
+ IF @CveFraccionamientoEtapa IS NOT NULL
+ AND NOT EXISTS (SELECT 1 FROM dbo.FraccionamientosEtapas WHERE CveFraccionamientoEtapa = @CveFraccionamientoEtapa AND CveFraccionamiento = @CveFraccionamiento)
+ BEGIN
+ SET @ErrorMostrar = 'La etapa no existe o no pertenece al fraccionamiento.';
+ SET @ErrorTipo = 2;
+ RETURN;
+ END;
+ IF EXISTS
+ (
+ SELECT 1 FROM dbo.FraccionamientosEtapas
+ WHERE CveFraccionamiento = @CveFraccionamiento
+ AND Etapa = LTRIM(RTRIM(@Etapa))
+ AND (@CveFraccionamientoEtapa IS NULL OR CveFraccionamientoEtapa <> @CveFraccionamientoEtapa)
+ )
+ BEGIN
+ SET @ErrorMostrar = 'Ya existe una etapa con ese nombre en el fraccionamiento.';
+ SET @ErrorTipo = 2;
+ RETURN;
+ END;
+
+ IF @CveFraccionamientoEtapa IS NULL
+ BEGIN
+ INSERT INTO dbo.FraccionamientosEtapas
+ (CveFraccionamiento, Etapa, Hectareas, Orden, EsActivo, CveUsuario)
+ VALUES
+ (@CveFraccionamiento, LTRIM(RTRIM(@Etapa)), @Hectareas, @Orden, @EsActivo, @CveUsuarioEjecuta);
+ SET @CveFraccionamientoEtapa = CONVERT(int, SCOPE_IDENTITY());
+ END
+ ELSE
+ BEGIN
+ UPDATE dbo.FraccionamientosEtapas
+ SET Etapa = LTRIM(RTRIM(@Etapa)), Hectareas = @Hectareas,
+ Orden = @Orden, EsActivo = @EsActivo,
+ FechaModificacion = GETDATE(), CveUsuario = @CveUsuarioEjecuta
+ WHERE CveFraccionamientoEtapa = @CveFraccionamientoEtapa;
+ END;
+ SELECT @CveFraccionamientoEtapa AS CveFraccionamientoEtapa;
+ SET @Return = 1;
+ END TRY
+ BEGIN CATCH
+ SET @ErrorMostrar = 'Ocurrió un error al guardar la etapa; favor de contactar a Sistemas.';
+ SET @ErrorTipo = 1;
+ SET @Return = 0;
+ DECLARE @ErrorTecnico nvarchar(2048) = CONCAT('Número: ', ERROR_NUMBER(), '; Procedimiento: ', COALESCE(ERROR_PROCEDURE(), 'PA_Fraccionamientos_EtapaSave'), '; Línea: ', ERROR_LINE(), '; Detalle: ', ERROR_MESSAGE());
+ RAISERROR(N'%s', 10, 1, @ErrorTecnico);
+ END CATCH;
+END;
+
+GO
+
+CREATE OR ALTER PROCEDURE [dbo].[PA_Fraccionamientos_EtapaTramiteList]
+ @CveFraccionamiento int,
+ @CveUsuarioEjecuta int,
+ @ErrorMostrar varchar(max) OUTPUT,
+ @ErrorTipo int OUTPUT,
+ @Return bit OUTPUT
+AS
+BEGIN
+ SET NOCOUNT ON;
+ SELECT @ErrorMostrar = NULL, @ErrorTipo = 0, @Return = 0;
+ BEGIN TRY
+ DECLARE @EsSuperUsuario bit = 0;
+ SELECT @EsSuperUsuario = CASE WHEN R.NombreRol = 'SuperUsuario' THEN 1 ELSE 0 END
+ FROM dbo.Sis_Usuarios AS U
+ INNER JOIN dbo.Sis_Roles AS R ON R.CveRol = U.CveRol
+ WHERE U.CveUsuario = @CveUsuarioEjecuta AND U.Activo = 1;
+
+ IF NOT EXISTS
+ (
+ SELECT 1 FROM dbo.Fraccionamientos AS F
+ WHERE F.CveFraccionamiento = @CveFraccionamiento
+ AND (@EsSuperUsuario = 1 OR EXISTS
+ (SELECT 1 FROM dbo.Sis_UsuariosClientes AS UC
+ WHERE UC.CveUsuario = @CveUsuarioEjecuta AND UC.CveCliente = F.CveCliente
+ AND UC.Activo = 1))
+ )
+ BEGIN
+ SET @ErrorMostrar = 'El fraccionamiento no existe o no está asignado al usuario.';
+ SET @ErrorTipo = 2;
+ RETURN;
+ END;
+
+ SELECT E.CveFraccionamientoEtapa, E.Etapa, S.CveSolicitud,
+ CONVERT(varchar(50), S.Folio) AS Folio, T.TipoTramite,
+ ES.EstatusSolicitud, ES.EsFinal,
+ COALESCE(H.FechaAlta, S.FechaModificacion, S.FechaAlta) AS FechaUltimoEstatus,
+ H.Comentarios
+ FROM dbo.FraccionamientosEtapas AS E
+ LEFT JOIN dbo.Tra_Solicitudes AS S ON S.CveFraccionamientoEtapa = E.CveFraccionamientoEtapa
+ LEFT JOIN dbo.Tra_TiposTramite AS T ON T.CveTipoTramite = S.CveTipoTramite
+ OUTER APPLY
+ (
+ SELECT TOP (1) HS.CveEstatusSolicitud, HS.FechaAlta, HS.Comentarios
+ FROM dbo.Tra_HistorialEstatusSolicitud AS HS
+ WHERE HS.CveSolicitud = S.CveSolicitud
+ ORDER BY HS.FechaAlta DESC
+ ) AS H
+ LEFT JOIN dbo.Tra_EstatusSolicitud AS ES ON ES.CveEstatusSolicitud = COALESCE(H.CveEstatusSolicitud, S.CveEstatusSolicitud)
+ WHERE E.CveFraccionamiento = @CveFraccionamiento
+ ORDER BY E.Orden, E.Etapa, S.FechaAlta DESC;
+
+ SET @Return = 1;
+ END TRY
+ BEGIN CATCH
+ SET @ErrorMostrar = 'Ocurrió un error al consultar los trámites de las etapas; favor de contactar a Sistemas.';
+ SET @ErrorTipo = 1;
+ SET @Return = 0;
+ DECLARE @ErrorTecnico nvarchar(2048) = CONCAT('Número: ', ERROR_NUMBER(), '; Procedimiento: ', COALESCE(ERROR_PROCEDURE(), 'PA_Fraccionamientos_EtapaTramiteList'), '; Línea: ', ERROR_LINE(), '; Detalle: ', ERROR_MESSAGE());
+ RAISERROR(N'%s', 10, 1, @ErrorTecnico);
+ END CATCH;
+END;
+
+GO
+
+CREATE OR ALTER PROCEDURE [dbo].[PA_Fraccionamientos_FraccionamientoDelete]
+ @CveFraccionamiento int,
+ @CveUsuarioEjecuta int,
+ @ErrorMostrar varchar(max) OUTPUT,
+ @ErrorTipo int OUTPUT,
+ @Return bit OUTPUT
+AS
+BEGIN
+ SET NOCOUNT ON;
+ SELECT @ErrorMostrar = NULL, @ErrorTipo = 0, @Return = 0;
+
+ BEGIN TRY
+ DECLARE @EsSuperUsuario bit = 0;
+ SELECT @EsSuperUsuario = CASE WHEN R.NombreRol = 'SuperUsuario' THEN 1 ELSE 0 END
+ FROM dbo.Sis_Usuarios AS U INNER JOIN dbo.Sis_Roles AS R ON R.CveRol = U.CveRol
+ WHERE U.CveUsuario = @CveUsuarioEjecuta AND U.Activo = 1;
+
+ IF NOT EXISTS
+ (
+ SELECT 1 FROM dbo.Fraccionamientos AS F
+ WHERE F.CveFraccionamiento = @CveFraccionamiento
+ AND (@EsSuperUsuario = 1 OR EXISTS
+ (SELECT 1 FROM dbo.Sis_UsuariosClientes AS UC
+ WHERE UC.CveUsuario = @CveUsuarioEjecuta AND UC.CveCliente = F.CveCliente
+ AND UC.Activo = 1))
+ )
+ BEGIN
+ SET @ErrorMostrar = 'El fraccionamiento no existe o no está asignado al usuario.';
+ SET @ErrorTipo = 2;
+ RETURN;
+ END;
+
+ IF EXISTS
+ (
+ SELECT 1
+ FROM dbo.Tra_Solicitudes AS S
+ WHERE S.CveFraccionamiento = @CveFraccionamiento
+ OR EXISTS
+ (
+ SELECT 1
+ FROM dbo.FraccionamientosEtapas AS E
+ WHERE E.CveFraccionamientoEtapa = S.CveFraccionamientoEtapa
+ AND E.CveFraccionamiento = @CveFraccionamiento
+ )
+ )
+ BEGIN
+ SET @ErrorMostrar = 'El fraccionamiento tiene trámites relacionados y no puede eliminarse.';
+ SET @ErrorTipo = 2;
+ RETURN;
+ END;
+
+
+ DELETE L
+ FROM dbo.FraccionamientosLotes AS L
+ INNER JOIN dbo.FraccionamientosEtapas AS E
+ ON E.CveFraccionamientoEtapa = L.CveFraccionamientoEtapa
+ WHERE E.CveFraccionamiento = @CveFraccionamiento;
+
+ DELETE FROM dbo.FraccionamientosEtapas
+ WHERE CveFraccionamiento = @CveFraccionamiento;
+
+ DELETE FROM dbo.Fraccionamientos
+ WHERE CveFraccionamiento = @CveFraccionamiento;
+
+ SET @Return = 1;
+ END TRY
+ BEGIN CATCH
+ SET @ErrorMostrar = 'Ocurrió un error al eliminar el fraccionamiento; favor de contactar a Sistemas.';
+ SET @ErrorTipo = 1;
+ SET @Return = 0;
+ DECLARE @ErrorTecnico nvarchar(2048) = CONCAT('Número: ', ERROR_NUMBER(), '; Procedimiento: ', COALESCE(ERROR_PROCEDURE(), 'PA_Fraccionamientos_FraccionamientoDelete'), '; Línea: ', ERROR_LINE(), '; Detalle: ', ERROR_MESSAGE());
+ RAISERROR(N'%s', 10, 1, @ErrorTecnico);
+ END CATCH;
+END;
+
+GO
+
+CREATE OR ALTER PROCEDURE [dbo].[PA_Fraccionamientos_FraccionamientoGet]
+ @CveFraccionamiento int,
+ @CveUsuarioEjecuta int,
+ @ErrorMostrar varchar(max) OUTPUT,
+ @ErrorTipo int OUTPUT,
+ @Return bit OUTPUT
+AS
+BEGIN
+ SET NOCOUNT ON;
+ SELECT @ErrorMostrar = NULL, @ErrorTipo = 0, @Return = 0;
+
+ BEGIN TRY
+ DECLARE @EsSuperUsuario bit = 0;
+ SELECT @EsSuperUsuario = CASE WHEN R.NombreRol = 'SuperUsuario' THEN 1 ELSE 0 END
+ FROM dbo.Sis_Usuarios AS U
+ INNER JOIN dbo.Sis_Roles AS R ON R.CveRol = U.CveRol
+ WHERE U.CveUsuario = @CveUsuarioEjecuta AND U.Activo = 1;
+
+ IF NOT EXISTS
+ (
+ SELECT 1
+ FROM dbo.Fraccionamientos AS F
+ WHERE F.CveFraccionamiento = @CveFraccionamiento
+
+ AND
+ (
+ @EsSuperUsuario = 1
+ OR EXISTS
+ (
+ SELECT 1 FROM dbo.Sis_UsuariosClientes AS UC
+ WHERE UC.CveUsuario = @CveUsuarioEjecuta
+ AND UC.CveCliente = F.CveCliente
+ AND UC.Activo = 1
+ )
+ )
+ )
+ BEGIN
+ SET @ErrorMostrar = 'El fraccionamiento no existe o no está asignado al usuario.';
+ SET @ErrorTipo = 2;
+ RETURN;
+ END;
+
+ SELECT
+ F.CveFraccionamiento, F.CveCliente, C.Nombre AS Cliente,
+ F.Fraccionamiento, F.Hectareas, F.Ubicacion, F.CveEstatus,
+ COALESCE(FE.Estatus, 'Estatus no disponible') AS Estatus,
+ F.EsActivo, 0 AS NumeroEtapas, F.FechaAlta
+ FROM dbo.Fraccionamientos AS F
+ INNER JOIN dbo.Clientes AS C ON C.CveCliente = F.CveCliente
+ LEFT JOIN dbo.Fraccionamientos_Estatus AS FE
+ ON FE.CveEstatus = F.CveEstatus
+
+ WHERE F.CveFraccionamiento = @CveFraccionamiento;
+
+ SET @Return = 1;
+ END TRY
+ BEGIN CATCH
+ SET @ErrorMostrar = 'Ocurrió un error al consultar el fraccionamiento; favor de contactar a Sistemas.';
+ SET @ErrorTipo = 1;
+ SET @Return = 0;
+ DECLARE @ErrorTecnico nvarchar(2048) = CONCAT('Número: ', ERROR_NUMBER(), '; Procedimiento: ', COALESCE(ERROR_PROCEDURE(), 'PA_Fraccionamientos_FraccionamientoGet'), '; Línea: ', ERROR_LINE(), '; Detalle: ', ERROR_MESSAGE());
+ RAISERROR(N'%s', 10, 1, @ErrorTecnico);
+ END CATCH;
+END;
+
+GO
+
+CREATE OR ALTER PROCEDURE [dbo].[PA_Fraccionamientos_FraccionamientoList]
+ @Texto varchar(200) = NULL,
+ @CveCliente int = NULL,
+ @IncluirInactivos bit = 0,
+ @CveUsuarioEjecuta int,
+ @ErrorMostrar varchar(max) OUTPUT,
+ @ErrorTipo int OUTPUT,
+ @Return bit OUTPUT
+AS
+BEGIN
+ SET NOCOUNT ON;
+ SELECT @ErrorMostrar = NULL, @ErrorTipo = 0, @Return = 0;
+
+ BEGIN TRY
+ DECLARE @EsSuperUsuario bit = 0;
+ SELECT @EsSuperUsuario = CASE WHEN R.NombreRol = 'SuperUsuario' THEN 1 ELSE 0 END
+ FROM dbo.Sis_Usuarios AS U
+ INNER JOIN dbo.Sis_Roles AS R ON R.CveRol = U.CveRol
+ WHERE U.CveUsuario = @CveUsuarioEjecuta AND U.Activo = 1;
+
+ SELECT
+ F.CveFraccionamiento,
+ F.CveCliente,
+ C.Nombre AS Cliente,
+ F.Fraccionamiento,
+ F.Hectareas,
+ F.Ubicacion,
+ F.CveEstatus,
+ COALESCE(FE.Estatus, 'Estatus no disponible') AS Estatus,
+ F.EsActivo,
+ COUNT(E.CveFraccionamientoEtapa) AS NumeroEtapas,
+ F.FechaAlta
+ FROM dbo.Fraccionamientos AS F
+ INNER JOIN dbo.Clientes AS C ON C.CveCliente = F.CveCliente
+ LEFT JOIN dbo.Fraccionamientos_Estatus AS FE
+ ON FE.CveEstatus = F.CveEstatus
+
+ LEFT JOIN dbo.FraccionamientosEtapas AS E ON E.CveFraccionamiento = F.CveFraccionamiento
+ WHERE (@IncluirInactivos = 1 OR F.EsActivo = 1)
+ AND (@CveCliente IS NULL OR F.CveCliente = @CveCliente)
+ AND
+ (
+ NULLIF(LTRIM(RTRIM(@Texto)), '') IS NULL
+ OR F.Fraccionamiento LIKE '%' + LTRIM(RTRIM(@Texto)) + '%'
+ OR C.Nombre LIKE '%' + LTRIM(RTRIM(@Texto)) + '%'
+ OR F.Ubicacion LIKE '%' + LTRIM(RTRIM(@Texto)) + '%'
+ )
+ AND
+ (
+ @EsSuperUsuario = 1
+ OR EXISTS
+ (
+ SELECT 1 FROM dbo.Sis_UsuariosClientes AS UC
+ WHERE UC.CveUsuario = @CveUsuarioEjecuta
+ AND UC.CveCliente = F.CveCliente
+ AND UC.Activo = 1
+ )
+ )
+ GROUP BY F.CveFraccionamiento, F.CveCliente, C.Nombre, F.Fraccionamiento,
+ F.Hectareas, F.Ubicacion, F.CveEstatus, FE.Estatus, F.EsActivo, F.FechaAlta
+ ORDER BY C.Nombre, F.Fraccionamiento;
+
+ SET @Return = 1;
+ END TRY
+ BEGIN CATCH
+ SET @ErrorMostrar = 'Ocurrió un error al consultar los fraccionamientos; favor de contactar a Sistemas.';
+ SET @ErrorTipo = 1;
+ SET @Return = 0;
+ DECLARE @ErrorTecnico nvarchar(2048) = CONCAT('Número: ', ERROR_NUMBER(), '; Procedimiento: ', COALESCE(ERROR_PROCEDURE(), 'PA_Fraccionamientos_FraccionamientoList'), '; Línea: ', ERROR_LINE(), '; Detalle: ', ERROR_MESSAGE());
+ RAISERROR(N'%s', 10, 1, @ErrorTecnico);
+ END CATCH;
+END;
+
+GO
+
+CREATE OR ALTER PROCEDURE [dbo].[PA_Fraccionamientos_FraccionamientoSave]
+ @CveFraccionamiento int = NULL,
+ @CveCliente int,
+ @Fraccionamiento varchar(200),
+ @Hectareas decimal(18,4) = NULL,
+ @Ubicacion varchar(500) = NULL,
+ @CveEstatus int,
+ @EsActivo bit = 1,
+ @CveUsuarioEjecuta int,
+ @ErrorMostrar varchar(max) OUTPUT,
+ @ErrorTipo int OUTPUT,
+ @Return bit OUTPUT
+AS
+BEGIN
+ SET NOCOUNT ON;
+ SELECT @ErrorMostrar = NULL, @ErrorTipo = 0, @Return = 0;
+
+ BEGIN TRY
+ DECLARE @EsSuperUsuario bit = 0;
+ SELECT @EsSuperUsuario = CASE WHEN R.NombreRol = 'SuperUsuario' THEN 1 ELSE 0 END
+ FROM dbo.Sis_Usuarios AS U
+ INNER JOIN dbo.Sis_Roles AS R ON R.CveRol = U.CveRol
+ WHERE U.CveUsuario = @CveUsuarioEjecuta AND U.Activo = 1;
+
+ IF NULLIF(LTRIM(RTRIM(@Fraccionamiento)), '') IS NULL
+ BEGIN
+ SET @ErrorMostrar = 'Capture el nombre del fraccionamiento.';
+ SET @ErrorTipo = 2;
+ RETURN;
+ END;
+
+ IF @Hectareas IS NOT NULL AND @Hectareas < 0
+ BEGIN
+ SET @ErrorMostrar = 'Las hectáreas no pueden ser negativas.';
+ SET @ErrorTipo = 2;
+ RETURN;
+ END;
+
+ IF NOT EXISTS
+ (
+ SELECT 1
+ FROM dbo.Fraccionamientos_Estatus AS E
+ WHERE E.CveEstatus = @CveEstatus
+
+ )
+ BEGIN
+ SET @ErrorMostrar = 'Seleccione un estatus válido para el fraccionamiento.';
+ SET @ErrorTipo = 2;
+ RETURN;
+ END;
+
+ IF NOT EXISTS
+ (
+ SELECT 1 FROM dbo.Clientes AS C
+ WHERE C.CveCliente = @CveCliente AND C.Estatus = 1
+ AND
+ (
+ @EsSuperUsuario = 1
+ OR EXISTS
+ (
+ SELECT 1 FROM dbo.Sis_UsuariosClientes AS UC
+ WHERE UC.CveUsuario = @CveUsuarioEjecuta
+ AND UC.CveCliente = C.CveCliente
+ AND UC.Activo = 1
+ )
+ )
+ )
+ BEGIN
+ SET @ErrorMostrar = 'El cliente no existe o no está asignado al usuario.';
+ SET @ErrorTipo = 2;
+ RETURN;
+ END;
+
+ IF @CveFraccionamiento IS NOT NULL
+ AND NOT EXISTS
+ (
+ SELECT 1 FROM dbo.Fraccionamientos AS F
+ WHERE F.CveFraccionamiento = @CveFraccionamiento
+
+ AND (@EsSuperUsuario = 1 OR EXISTS
+ (SELECT 1 FROM dbo.Sis_UsuariosClientes AS UC
+ WHERE UC.CveUsuario = @CveUsuarioEjecuta
+ AND UC.CveCliente = F.CveCliente
+ AND UC.Activo = 1))
+ )
+ BEGIN
+ SET @ErrorMostrar = 'El fraccionamiento no existe o no está asignado al usuario.';
+ SET @ErrorTipo = 2;
+ RETURN;
+ END;
+
+ IF EXISTS
+ (
+ SELECT 1 FROM dbo.Fraccionamientos AS F
+ WHERE F.CveCliente = @CveCliente
+ AND F.Fraccionamiento = LTRIM(RTRIM(@Fraccionamiento))
+
+ AND (@CveFraccionamiento IS NULL OR F.CveFraccionamiento <> @CveFraccionamiento)
+ )
+ BEGIN
+ SET @ErrorMostrar = 'Ya existe un fraccionamiento con ese nombre para el cliente seleccionado.';
+ SET @ErrorTipo = 2;
+ RETURN;
+ END;
+
+
+ IF @CveFraccionamiento IS NULL
+ BEGIN
+ INSERT INTO dbo.Fraccionamientos
+ (CveCliente, Fraccionamiento, Hectareas, Ubicacion, CveEstatus, EsActivo, CveUsuario)
+ VALUES
+ (@CveCliente, LTRIM(RTRIM(@Fraccionamiento)), @Hectareas,
+ NULLIF(LTRIM(RTRIM(@Ubicacion)), ''), @CveEstatus,
+ @EsActivo, @CveUsuarioEjecuta);
+ SET @CveFraccionamiento = CONVERT(int, SCOPE_IDENTITY());
+ END
+ ELSE
+ BEGIN
+ UPDATE dbo.Fraccionamientos
+ SET CveCliente = @CveCliente,
+ Fraccionamiento = LTRIM(RTRIM(@Fraccionamiento)),
+ Hectareas = @Hectareas,
+ Ubicacion = NULLIF(LTRIM(RTRIM(@Ubicacion)), ''),
+ CveEstatus = @CveEstatus,
+ EsActivo = @EsActivo,
+ FechaModificacion = GETDATE(),
+ CveUsuario = @CveUsuarioEjecuta
+ WHERE CveFraccionamiento = @CveFraccionamiento;
+ END;
+
+ SELECT @CveFraccionamiento AS CveFraccionamiento;
+ SET @Return = 1;
+ END TRY
+ BEGIN CATCH
+ SET @ErrorMostrar = 'Ocurrió un error al guardar el fraccionamiento; favor de contactar a Sistemas.';
+ SET @ErrorTipo = 1;
+ SET @Return = 0;
+ DECLARE @ErrorTecnico nvarchar(2048) = CONCAT('Número: ', ERROR_NUMBER(), '; Procedimiento: ', COALESCE(ERROR_PROCEDURE(), 'PA_Fraccionamientos_FraccionamientoSave'), '; Línea: ', ERROR_LINE(), '; Detalle: ', ERROR_MESSAGE());
+ RAISERROR(N'%s', 10, 1, @ErrorTecnico);
+ END CATCH;
+END;
+
+GO
+
+CREATE OR ALTER PROCEDURE [dbo].[PA_Fraccionamientos_LoteBatchSave]
+ @CveFraccionamiento int,
+ @CveFraccionamientoEtapa int,
+ @LotesXml xml,
+ @CveUsuarioEjecuta int,
+ @ErrorMostrar varchar(max) OUTPUT,
+ @ErrorTipo int OUTPUT,
+ @Return bit OUTPUT
+AS
+BEGIN
+ SET NOCOUNT ON;
+
+ SELECT
+ @ErrorMostrar = NULL,
+ @ErrorTipo = 0,
+ @Return = 0;
+
+ BEGIN TRY
+ IF NOT EXISTS
+ (
+ SELECT 1
+ FROM [dbo].[FraccionamientosEtapas]
+ WHERE [CveFraccionamientoEtapa] = @CveFraccionamientoEtapa
+ AND [CveFraccionamiento] = @CveFraccionamiento
+
+ AND [EsActivo] = (1)
+ )
+ BEGIN
+ SET @ErrorMostrar = 'La etapa seleccionada no existe, está inactiva o no pertenece al fraccionamiento.';
+ SET @ErrorTipo = 1;
+ RETURN;
+ END;
+
+ DECLARE @Lotes TABLE
+ (
+ [Nombre] varchar(50) COLLATE Modern_Spanish_CS_AS NULL,
+ [Tipo] varchar(100) COLLATE Modern_Spanish_CS_AS NULL,
+ [Calle] varchar(200) COLLATE Modern_Spanish_CS_AS NULL,
+ [Catastro] varchar(100) COLLATE Modern_Spanish_CS_AS NULL,
+ [MetrosCuadrados] decimal(18,4) NULL,
+ [Duplicador] varchar(50) COLLATE Modern_Spanish_CS_AS NULL,
+ [EsActivo] bit NOT NULL
+ );
+
+ INSERT INTO @Lotes
+ (
+ [Nombre],
+ [Tipo],
+ [Calle],
+ [Catastro],
+ [MetrosCuadrados],
+ [Duplicador],
+ [EsActivo]
+ )
+ SELECT
+ NULLIF(LTRIM(RTRIM(N.value('@Nombre', 'varchar(50)'))), ''),
+ NULLIF(LTRIM(RTRIM(N.value('@Tipo', 'varchar(100)'))), ''),
+ NULLIF(LTRIM(RTRIM(N.value('@Calle', 'varchar(200)'))), ''),
+ NULLIF(LTRIM(RTRIM(N.value('@Catastro', 'varchar(100)'))), ''),
+ TRY_CONVERT(
+ decimal(18,4),
+ NULLIF(N.value('@MetrosCuadrados', 'varchar(50)'), '')
+ ),
+ NULLIF(LTRIM(RTRIM(N.value('@Duplicador', 'varchar(50)'))), ''),
+ N.value('@EsActivo', 'bit')
+ FROM @LotesXml.nodes('/Lotes/Lote') AS X(N);
+
+ DECLARE @Cantidad int = (SELECT COUNT(1) FROM @Lotes);
+
+ IF @Cantidad = (0)
+ BEGIN
+ SET @ErrorMostrar = 'No se recibieron lotes para guardar.';
+ SET @ErrorTipo = 1;
+ RETURN;
+ END;
+
+
+ IF EXISTS
+ (
+ SELECT 1
+ FROM @Lotes
+ WHERE [Nombre] IS NULL
+ )
+ BEGIN
+ SET @ErrorMostrar = 'Todos los lotes deben tener un nombre.';
+ SET @ErrorTipo = 2;
+ RETURN;
+ END;
+
+ IF EXISTS
+ (
+ SELECT [Nombre]
+ FROM @Lotes
+ GROUP BY [Nombre]
+ HAVING COUNT(1) > (1)
+ )
+ BEGIN
+ SET @ErrorMostrar = 'La captura contiene nombres de lote repetidos.';
+ SET @ErrorTipo = 2;
+ RETURN;
+ END;
+
+ IF EXISTS
+ (
+ SELECT 1
+ FROM @Lotes AS N
+ INNER JOIN [dbo].[FraccionamientosLotes] AS L
+ ON L.[CveFraccionamientoEtapa] = @CveFraccionamientoEtapa
+ AND L.[Numero] = N.[Nombre]
+
+ )
+ BEGIN
+ SET @ErrorMostrar = 'Uno o más nombres de lote ya existen en la etapa seleccionada.';
+ SET @ErrorTipo = 2;
+ RETURN;
+ END;
+
+
+ INSERT INTO [dbo].[FraccionamientosLotes]
+ (
+ [CveFraccionamientoEtapa],
+ [Tipo],
+ [Calle],
+ [Catastro],
+ [MetrosCuadrados],
+ [Numero],
+ [Duplicador],
+ [EsActivo],
+ [CveUsuario]
+ )
+ SELECT
+ @CveFraccionamientoEtapa,
+ [Tipo],
+ [Calle],
+ [Catastro],
+ [MetrosCuadrados],
+ [Nombre],
+ [Duplicador],
+ [EsActivo],
+ @CveUsuarioEjecuta FROM @Lotes;
+
+
+ SELECT @Cantidad AS [LotesGuardados];
+ SET @Return = 1;
+ END TRY
+ BEGIN CATCH
+
+ SET @ErrorMostrar = 'Ocurrió un error al guardar los lotes; favor de contactar a Sistemas.';
+ SET @ErrorTipo = 1;
+ SET @Return = 0;
+
+ DECLARE @ErrorTecnico nvarchar(2048) = CONCAT(
+ 'Número: ', ERROR_NUMBER(),
+ '; Procedimiento: ', COALESCE(ERROR_PROCEDURE(), 'PA_Fraccionamientos_LoteBatchSave'),
+ '; Línea: ', ERROR_LINE(),
+ '; Detalle: ', ERROR_MESSAGE()
+ );
+
+ RAISERROR(N'%s', 10, 1, @ErrorTecnico);
+ END CATCH;
+END;
+
+GO
+
+CREATE OR ALTER PROCEDURE [dbo].[PA_Fraccionamientos_LoteList]
+ @CveFraccionamiento int,
+ @CveFraccionamientoEtapa int = NULL,
+ @CveUsuarioEjecuta int,
+ @ErrorMostrar varchar(max) OUTPUT,
+ @ErrorTipo int OUTPUT,
+ @Return bit OUTPUT
+AS
+BEGIN
+ SET NOCOUNT ON;
+
+ SELECT
+ @ErrorMostrar = NULL,
+ @ErrorTipo = 0,
+ @Return = 0;
+
+ BEGIN TRY
+ IF NOT EXISTS
+ (
+ SELECT 1
+ FROM [dbo].[Fraccionamientos]
+ WHERE [CveFraccionamiento] = @CveFraccionamiento
+
+ )
+ BEGIN
+ SET @ErrorMostrar = 'El fraccionamiento seleccionado no existe.';
+ SET @ErrorTipo = 2;
+ RETURN;
+ END;
+
+ IF @CveFraccionamientoEtapa IS NOT NULL
+ AND NOT EXISTS
+ (
+ SELECT 1
+ FROM [dbo].[FraccionamientosEtapas]
+ WHERE [CveFraccionamientoEtapa] = @CveFraccionamientoEtapa
+ AND [CveFraccionamiento] = @CveFraccionamiento
+
+ )
+ BEGIN
+ SET @ErrorMostrar = 'La etapa seleccionada no pertenece al fraccionamiento.';
+ SET @ErrorTipo = 2;
+ RETURN;
+ END;
+
+ SELECT
+ L.[CveFraccionamientoLote] AS [CveFraccionamientoLote],
+ E.[CveFraccionamientoEtapa] AS [CveFraccionamientoEtapa],
+ E.[Etapa] AS [Etapa],
+ L.[Numero] AS [Nombre],
+ L.[Tipo] AS [Tipo],
+ L.[Calle] AS [Calle],
+ L.[Catastro] AS [Catastro],
+ L.[MetrosCuadrados] AS [MetrosCuadrados],
+ L.[Duplicador] AS [Duplicador],
+ L.[EsActivo] AS [EsActivo]
+ FROM [dbo].[FraccionamientosLotes] AS L
+ INNER JOIN [dbo].[FraccionamientosEtapas] AS E
+ ON E.[CveFraccionamientoEtapa] = L.[CveFraccionamientoEtapa]
+ WHERE E.[CveFraccionamiento] = @CveFraccionamiento
+ AND (@CveFraccionamientoEtapa IS NULL
+ OR E.[CveFraccionamientoEtapa] = @CveFraccionamientoEtapa)
+
+
+ ORDER BY
+ E.[Orden],
+ E.[Etapa],
+ L.[Numero],
+ L.[CveFraccionamientoLote];
+
+ SET @Return = 1;
+ END TRY
+ BEGIN CATCH
+ SET @ErrorMostrar = 'Ocurrió un error al consultar los lotes; favor de contactar a Sistemas.';
+ SET @ErrorTipo = 1;
+ SET @Return = 0;
+
+ DECLARE @ErrorTecnico nvarchar(2048) = CONCAT(
+ 'Número: ', ERROR_NUMBER(),
+ '; Procedimiento: ', COALESCE(ERROR_PROCEDURE(), 'PA_Fraccionamientos_LoteList'),
+ '; Línea: ', ERROR_LINE(),
+ '; Detalle: ', ERROR_MESSAGE()
+ );
+
+ RAISERROR(N'%s', 10, 1, @ErrorTecnico);
+ END CATCH;
+END;
+
+GO
+
+CREATE OR ALTER PROCEDURE [dbo].[PA_Gral_CodigoPostalGet]
+ @CP varchar(5),
+ @CveUsuarioEjecuta int,
+ @ErrorMostrar varchar(max) OUTPUT,
+ @ErrorTipo int OUTPUT,
+ @Return bit OUTPUT
+AS
+BEGIN
+ SET NOCOUNT ON;
+ SELECT @ErrorMostrar = NULL, @ErrorTipo = 0, @Return = 0;
+ SET @CP = LTRIM(RTRIM(@CP));
+
+ BEGIN TRY
+ IF LEN(@CP) <> 5 OR @CP LIKE '%[^0-9]%'
+ BEGIN
+ SET @ErrorMostrar = 'El código postal debe contener exactamente 5 dígitos.';
+ SET @ErrorTipo = 2;
+ RETURN;
+ END;
+
+ DECLARE
+ @CvePais int,
+ @Pais varchar(100),
+ @CveEstado int,
+ @Estado varchar(50),
+ @CveMunicipio int,
+ @Municipio varchar(100),
+ @CveLocalidad int,
+ @Localidad varchar(100);
+
+ SELECT TOP (1)
+ @CvePais = P.[CvePais],
+ @Pais = P.[Descripcion],
+ @CveEstado = E.[CveEstado],
+ @Estado = E.[NombreEstado],
+ @CveMunicipio = M.[CveMunicipio],
+ @Municipio = M.[Descripcion],
+ @CveLocalidad = L.[CveLocalidad],
+ @Localidad = L.[NombreLocalidad]
+ FROM [dbo].[Gral_SAT_CP] AS CP
+ INNER JOIN [dbo].[Gral_SAT_Estado] AS E
+ ON E.[ClaveSATEstado] = CP.[ClaveSATEstado]
+
+ INNER JOIN [dbo].[Gral_SAT_Pais] AS P
+ ON P.[ClaveSATPais] = E.[ClaveSATPais]
+
+ INNER JOIN [dbo].[Gral_SAT_Municipio] AS M
+ ON M.[ClaveSATEstado] = CP.[ClaveSATEstado]
+ AND M.[ClaveSATMunicipio] = CP.[ClaveSATMunicipio]
+
+ LEFT JOIN [dbo].[Gral_SAT_Localidad] AS L
+ ON L.[ClaveSATEstado] = CP.[ClaveSATEstado]
+ AND L.[ClaveSATLocalidad] = CP.[ClaveSATLocalidad]
+
+ WHERE CP.[CP] = @CP
+;
+
+ IF @CvePais IS NULL OR @CveEstado IS NULL OR @CveMunicipio IS NULL
+ BEGIN
+ SET @ErrorMostrar = CONCAT(
+ 'El código postal ', @CP,
+ ' no existe o sus relaciones de país, estado y municipio están incompletas.');
+ SET @ErrorTipo = 2;
+ RETURN;
+ END;
+
+ SELECT
+ @CvePais AS [CvePais],
+ @Pais AS [Pais],
+ @CveEstado AS [CveEstado],
+ @Estado AS [Estado],
+ @CveMunicipio AS [CveMunicipio],
+ @Municipio AS [Municipio],
+ @CveLocalidad AS [CveLocalidad],
+ @Localidad AS [Localidad],
+ COALESCE(NULLIF(@Localidad, ''), @Municipio) AS [Ciudad];
+
+ SELECT
+ C.[CveColonia],
+ C.[NombreAsentamiento]
+ FROM [dbo].[Gral_SAT_Colonia] AS C
+ WHERE C.[CP] = @CP
+
+ ORDER BY C.[NombreAsentamiento];
+
+ SET @Return = 1;
+ END TRY
+ BEGIN CATCH
+ SET @ErrorMostrar = 'Ocurrió un error al consultar el código postal; favor de contactar a Sistemas.';
+ SET @ErrorTipo = 1;
+ SET @Return = 0;
+ DECLARE @E nvarchar(2048) = CONCAT(
+ 'Número: ', ERROR_NUMBER(),
+ '; Procedimiento: ', ERROR_PROCEDURE(),
+ '; Línea: ', ERROR_LINE(),
+ '; Detalle: ', ERROR_MESSAGE());
+ RAISERROR(N'%s', 10, 1, @E);
+ END CATCH;
+END;
+
+GO
+
+CREATE OR ALTER PROCEDURE [dbo].[PA_Gral_EstadoList]
+ @CveUsuarioEjecuta int,
+ @ErrorMostrar varchar(max) OUTPUT,
+ @ErrorTipo int OUTPUT,
+ @Return bit OUTPUT
+AS
+BEGIN
+ SET NOCOUNT ON;
+ SELECT @ErrorMostrar = NULL, @ErrorTipo = 0, @Return = 0;
+ BEGIN TRY
+ SELECT [CveEstado], [NombreEstado], [ClaveSATEstado]
+ FROM [dbo].[Gral_SAT_Estado]
+ ORDER BY [NombreEstado];
+ SET @Return = 1;
+ END TRY
+ BEGIN CATCH
+ SET @ErrorMostrar = 'Ocurrió un error al consultar los estados; favor de contactar a Sistemas.';
+ SET @ErrorTipo = 1;
+ DECLARE @E nvarchar(2048) = CONCAT('Número: ', ERROR_NUMBER(), '; Procedimiento: ', ERROR_PROCEDURE(), '; Línea: ', ERROR_LINE(), '; Detalle: ', ERROR_MESSAGE());
+ RAISERROR(N'%s', 10, 1, @E);
+ END CATCH;
+END;
+
+GO
+
+CREATE OR ALTER PROCEDURE [dbo].[PA_Sis_CorreoVerify]
+ @HashToken char(64),
+ @CveUsuarioEjecuta int,
+ @ErrorMostrar varchar(max) OUTPUT,
+ @ErrorTipo int OUTPUT,
+ @Return bit OUTPUT
+AS
+BEGIN
+ SET NOCOUNT ON;
+ SELECT @ErrorMostrar = NULL, @ErrorTipo = 0, @Return = 0;
+ BEGIN TRY
+ DECLARE @CveVerificacion int;
+ DECLARE @CveUsuario int;
+ DECLARE @CveCliente int;
+
+ SELECT TOP (1)
+ @CveVerificacion = [CveUsuarioVerificacionCorreo],
+ @CveUsuario = [CveUsuario],
+ @CveCliente = [CveClienteRegistro]
+ FROM [dbo].[Sis_UsuariosVerificacionesCorreo]
+ WHERE [HashToken] = @HashToken
+ AND [Utilizado] = (0)
+
+ AND [FechaExpiracion] >= SYSDATETIME();
+
+ IF @CveVerificacion IS NULL
+ BEGIN
+ SET @ErrorMostrar = 'La liga de verificación no es válida o ya expiró.';
+ SET @ErrorTipo = 2;
+ RETURN;
+ END;
+
+
+ UPDATE [dbo].[Sis_UsuariosVerificacionesCorreo]
+ SET [Utilizado] = (1), [FechaVerificacion] = SYSDATETIME()
+ WHERE [CveUsuarioVerificacionCorreo] = @CveVerificacion AND [Utilizado] = (0);
+
+ IF @@ROWCOUNT = (0)
+ BEGIN
+ SET @ErrorMostrar = 'La liga de verificación ya fue utilizada.';
+ SET @ErrorTipo = 2;
+ RETURN;
+ END;
+
+ UPDATE [dbo].[Sis_Usuarios]
+ SET [CorreoVerificado] = (1), [FechaVerificacionCorreo] = SYSDATETIME(),
+ [Activo] = (1), [FechaActualizacion] = GETDATE()
+ WHERE [CveUsuario] = @CveUsuario;
+
+ /* Activación inicial del cliente creado por este mismo token. */
+ UPDATE [dbo].[Clientes]
+ SET [Estatus] = (1), [CveUsuarioModifico] = @CveUsuario
+ WHERE [CveCliente] = @CveCliente AND [CveUsuario] = @CveUsuario;
+
+ SET @Return = 1;
+ END TRY
+ BEGIN CATCH
+ SET @ErrorMostrar = 'Ocurrió un error al verificar el correo; favor de contactar a Sistemas.';
+ SET @ErrorTipo = 1;
+ SET @Return = 0;
+ DECLARE @E nvarchar(2048) = CONCAT('Número: ', ERROR_NUMBER(), '; Procedimiento: ', ERROR_PROCEDURE(), '; Línea: ', ERROR_LINE(), '; Detalle: ', ERROR_MESSAGE());
+ RAISERROR(N'%s', 10, 1, @E);
+ END CATCH;
+END;
+
+GO
+
+CREATE OR ALTER PROCEDURE [dbo].[PA_Sis_MenuList]
+ @CveRol int,
+ @CveUsuarioEjecuta int,
+ @ErrorMostrar varchar(max) OUTPUT,
+ @ErrorTipo int OUTPUT,
+ @Return bit OUTPUT
+AS
+BEGIN
+ SET NOCOUNT ON;
+ SELECT @ErrorMostrar = NULL, @ErrorTipo = 0, @Return = 0;
+
+ BEGIN TRY
+ SELECT DISTINCT
+ M.[CveModulo], M.[CveModuloPadre], M.[NombreModulo], M.[Url],
+ M.[ClaseCssIcono], M.[ClaseCssEstilo], M.[OrdenVisualizacion], M.[Visible]
+ FROM [dbo].[Sis_Modulos] AS M
+ INNER JOIN [dbo].[Sis_RolesModulos] AS RM ON RM.[CveModulo] = M.[CveModulo]
+ WHERE RM.[CveRol] = @CveRol
+ AND RM.[PuedeVer] = (1)
+ AND M.[Activo] = (1)
+ AND M.[Visible] = (1)
+
+
+ ORDER BY M.[OrdenVisualizacion], M.[NombreModulo];
+
+ SET @Return = 1;
+ END TRY
+ BEGIN CATCH
+ SET @ErrorMostrar = 'Ocurrió un error al consultar el menú; favor de contactar a Sistemas.';
+ SET @ErrorTipo = 1;
+ SET @Return = 0;
+ DECLARE @ErrorTecnico nvarchar(2048) = CONCAT('Número: ', ERROR_NUMBER(), '; Procedimiento: ', COALESCE(ERROR_PROCEDURE(), 'PA_Sis_MenuList'), '; Línea: ', ERROR_LINE(), '; Detalle: ', ERROR_MESSAGE());
+ RAISERROR(N'%s', 10, 1, @ErrorTecnico);
+ END CATCH;
+END;
+
+GO
+
+CREATE OR ALTER PROCEDURE [dbo].[PA_Sis_PaginaAccessCheck]
+ @PaginaUrl varchar(500),
+ @CveUsuarioEjecuta int,
+ @ErrorMostrar varchar(max) OUTPUT,
+ @ErrorTipo int OUTPUT,
+ @Return bit OUTPUT
+AS
+BEGIN
+ SET NOCOUNT ON;
+ SELECT @ErrorMostrar = NULL, @ErrorTipo = 0, @Return = 0;
+
+ BEGIN TRY
+ DECLARE @CveRol int;
+ DECLARE @PuedeAcceder bit = (0);
+
+ SELECT @CveRol = [CveRol]
+ FROM [dbo].[Sis_Usuarios]
+ WHERE [CveUsuario] = @CveUsuarioEjecuta
+ AND [Activo] = (1)
+;
+
+ IF EXISTS
+ (
+ SELECT 1
+ FROM [dbo].[Sis_Modulos] AS M
+ INNER JOIN [dbo].[Sis_RolesModulos] AS RM ON RM.[CveModulo] = M.[CveModulo]
+ WHERE RM.[CveRol] = @CveRol
+ AND RM.[PuedeVer] = (1)
+ AND M.[Activo] = (1)
+
+
+ AND
+ (
+ LOWER(REPLACE(M.[Url], '~/', '')) = LOWER(@PaginaUrl)
+ OR LOWER(REPLACE(M.[Url], '/', '')) = LOWER(REPLACE(@PaginaUrl, '/', ''))
+ )
+ )
+ SET @PuedeAcceder = (1);
+ ELSE IF EXISTS
+ (
+ SELECT 1
+ FROM [dbo].[Sis_Modulos] AS M
+ WHERE M.[Activo] = (1)
+
+ AND LOWER(REPLACE(M.[Url], '~/', '')) = LOWER(@PaginaUrl)
+ )
+ SET @PuedeAcceder = (0);
+ ELSE IF EXISTS
+ (
+ SELECT 1
+ FROM [dbo].[Sis_UsuariosPermisos] AS UP
+ INNER JOIN [dbo].[Sis_Permisos] AS P ON P.[CvePermiso] = UP.[CvePermiso]
+ WHERE UP.[CveUsuario] = @CveUsuarioEjecuta
+ AND P.[CodigoPermiso] = 'System.Access'
+ AND UP.[Permitido] = (1)
+ AND P.[Activo] = (1)
+
+
+ )
+ SET @PuedeAcceder = (1);
+ ELSE IF EXISTS
+ (
+ SELECT 1
+ FROM [dbo].[Sis_RolesPermisos] AS RP
+ INNER JOIN [dbo].[Sis_Permisos] AS P ON P.[CvePermiso] = RP.[CvePermiso]
+ WHERE RP.[CveRol] = @CveRol
+ AND P.[CodigoPermiso] = 'System.Access'
+ AND RP.[Permitido] = (1)
+ AND P.[Activo] = (1)
+
+
+ )
+ SET @PuedeAcceder = (1);
+
+ SELECT @PuedeAcceder AS [PuedeAcceder];
+ SET @Return = 1;
+ END TRY
+ BEGIN CATCH
+ SET @ErrorMostrar = 'Ocurrió un error al validar el acceso; favor de contactar a Sistemas.';
+ SET @ErrorTipo = 1;
+ SET @Return = 0;
+ DECLARE @ErrorTecnico nvarchar(2048) = CONCAT('Número: ', ERROR_NUMBER(), '; Procedimiento: ', COALESCE(ERROR_PROCEDURE(), 'PA_Sis_PaginaAccessCheck'), '; Línea: ', ERROR_LINE(), '; Detalle: ', ERROR_MESSAGE());
+ RAISERROR(N'%s', 10, 1, @ErrorTecnico);
+ END CATCH;
+END;
+
+GO
+
+CREATE OR ALTER PROCEDURE [dbo].[PA_Sis_PermisoCheck]
+ @CodigoPermiso varchar(100),
+ @CveUsuarioEjecuta int,
+ @ErrorMostrar varchar(max) OUTPUT,
+ @ErrorTipo int OUTPUT,
+ @Return bit OUTPUT
+AS
+BEGIN
+ SET NOCOUNT ON;
+ SELECT @ErrorMostrar = NULL, @ErrorTipo = 0, @Return = 0;
+
+ BEGIN TRY
+ DECLARE @CveRol int;
+ DECLARE @PermisoUsuario bit;
+
+ SELECT @CveRol = [CveRol]
+ FROM [dbo].[Sis_Usuarios]
+ WHERE [CveUsuario] = @CveUsuarioEjecuta
+ AND [Activo] = (1)
+;
+
+ SELECT TOP (1) @PermisoUsuario = UP.[Permitido]
+ FROM [dbo].[Sis_UsuariosPermisos] AS UP
+ INNER JOIN [dbo].[Sis_Permisos] AS P ON P.[CvePermiso] = UP.[CvePermiso]
+ WHERE UP.[CveUsuario] = @CveUsuarioEjecuta
+ AND P.[CodigoPermiso] = @CodigoPermiso
+ AND P.[Activo] = (1)
+
+;
+
+ IF @PermisoUsuario IS NOT NULL
+ SELECT CAST(@PermisoUsuario AS bit) AS [Permitido];
+ ELSE IF EXISTS
+ (
+ SELECT 1
+ FROM [dbo].[Sis_RolesPermisos] AS RP
+ INNER JOIN [dbo].[Sis_Permisos] AS P ON P.[CvePermiso] = RP.[CvePermiso]
+ WHERE RP.[CveRol] = @CveRol
+ AND P.[CodigoPermiso] = @CodigoPermiso
+ AND RP.[Permitido] = (1)
+ AND P.[Activo] = (1)
+
+
+ )
+ SELECT CAST((1) AS bit) AS [Permitido];
+ ELSE
+ SELECT CAST((0) AS bit) AS [Permitido];
+
+ SET @Return = 1;
+ END TRY
+ BEGIN CATCH
+ SET @ErrorMostrar = 'Ocurrió un error al consultar los permisos; favor de contactar a Sistemas.';
+ SET @ErrorTipo = 1;
+ SET @Return = 0;
+ DECLARE @ErrorTecnico nvarchar(2048) = CONCAT('Número: ', ERROR_NUMBER(), '; Procedimiento: ', COALESCE(ERROR_PROCEDURE(), 'PA_Sis_PermisoCheck'), '; Línea: ', ERROR_LINE(), '; Detalle: ', ERROR_MESSAGE());
+ RAISERROR(N'%s', 10, 1, @ErrorTecnico);
+ END CATCH;
+END;
+
+GO
+
+CREATE OR ALTER PROCEDURE [dbo].[PA_Sis_RegistroClienteAdd]
+ @NombreUsuario varchar(100),
+ @HashContrasena varchar(500),
+ @CorreoElectronico varchar(255),
+ @RFC varchar(15),
+ @RazonSocial varchar(200),
+ @NombreComercial varchar(200) = NULL,
+ @Direccion varchar(90),
+ @NoExt varchar(20) = NULL,
+ @NoInt varchar(50) = NULL,
+ @Colonia varchar(100),
+ @Ciudad varchar(100),
+ @CveSATEstado int,
+ @Pais varchar(100) = 'México',
+ @CP varchar(5),
+ @Telefono varchar(25) = NULL,
+ @CvePais int,
+ @CveMunicipio int,
+ @CveLocalidad int = NULL,
+ @CveColonia int,
+ @HashToken char(64),
+ @HorasExpiracion int = 24,
+ @CveUsuarioEjecuta int,
+ @ErrorMostrar varchar(max) OUTPUT,
+ @ErrorTipo int OUTPUT,
+ @Return bit OUTPUT
+AS
+BEGIN
+ SET NOCOUNT ON;
+ SELECT @ErrorMostrar = NULL, @ErrorTipo = 0, @Return = 0;
+
+ BEGIN TRY
+ DECLARE @CveRolEmpresa int, @CveUsuario int, @CveCliente int;
+ DECLARE @NombreEstado varchar(50), @PaisCatalogo varchar(100);
+ DECLARE @CiudadCatalogo varchar(100), @ColoniaCatalogo varchar(100);
+
+ SET @NombreUsuario = LTRIM(RTRIM(@NombreUsuario));
+ SET @CorreoElectronico = LOWER(LTRIM(RTRIM(@CorreoElectronico)));
+ SET @RFC = UPPER(REPLACE(LTRIM(RTRIM(@RFC)), ' ', ''));
+ SET @CP = LTRIM(RTRIM(@CP));
+
+ SELECT @CveRolEmpresa = [CveRol]
+ FROM [dbo].[Sis_Roles]
+ WHERE [NombreRol] = 'Empresa' AND [Activo] = (1);
+
+ SELECT TOP (1)
+ @NombreEstado = LEFT(E.[NombreEstado], 35),
+ @PaisCatalogo = LEFT(P.[Descripcion], 50),
+ @CiudadCatalogo = LEFT(COALESCE(NULLIF(L.[NombreLocalidad], ''), M.[Descripcion]), 50),
+ @ColoniaCatalogo = LEFT(C.[NombreAsentamiento], 50)
+ FROM [dbo].[Gral_SAT_CP] AS CP
+ INNER JOIN [dbo].[Gral_SAT_Estado] AS E
+ ON E.[ClaveSATEstado] = CP.[ClaveSATEstado]
+ AND E.[CveEstado] = @CveSATEstado
+ INNER JOIN [dbo].[Gral_SAT_Pais] AS P
+ ON P.[ClaveSATPais] = E.[ClaveSATPais]
+ AND P.[CvePais] = @CvePais
+ INNER JOIN [dbo].[Gral_SAT_Municipio] AS M
+ ON M.[ClaveSATEstado] = CP.[ClaveSATEstado]
+ AND M.[ClaveSATMunicipio] = CP.[ClaveSATMunicipio]
+ AND M.[CveMunicipio] = @CveMunicipio
+ LEFT JOIN [dbo].[Gral_SAT_Localidad] AS L
+ ON L.[ClaveSATEstado] = CP.[ClaveSATEstado]
+ AND L.[ClaveSATLocalidad] = CP.[ClaveSATLocalidad]
+ INNER JOIN [dbo].[Gral_SAT_Colonia] AS C
+ ON C.[CP] = CP.[CP] AND C.[CveColonia] = @CveColonia
+ WHERE CP.[CP] = @CP
+ AND (@CveLocalidad IS NULL OR L.[CveLocalidad] = @CveLocalidad);
+
+ IF @CveRolEmpresa IS NULL
+ BEGIN
+ SELECT @ErrorMostrar = 'No fue posible determinar el rol Empresa.', @ErrorTipo = 1;
+ RETURN;
+ END;
+
+ IF @NombreEstado IS NULL OR @PaisCatalogo IS NULL OR @CiudadCatalogo IS NULL OR @ColoniaCatalogo IS NULL
+ BEGIN
+ SELECT @ErrorMostrar = 'Los datos del código postal no coinciden con los catálogos vigentes. Actualiza el código postal.', @ErrorTipo = 2;
+ RETURN;
+ END;
+
+ SELECT @Pais = @PaisCatalogo, @Ciudad = @CiudadCatalogo, @Colonia = @ColoniaCatalogo;
+
+ IF EXISTS (SELECT 1 FROM [dbo].[Sis_Usuarios] WHERE [NombreUsuario] = @NombreUsuario)
+ OR EXISTS (SELECT 1 FROM [dbo].[Sis_Usuarios] WHERE LOWER([CorreoElectronico]) = @CorreoElectronico)
+ OR EXISTS (SELECT 1 FROM [dbo].[Clientes] WHERE UPPER(REPLACE(LTRIM(RTRIM([RFC])), ' ', '')) = @RFC)
+ BEGIN
+ SELECT @ErrorMostrar = 'Los datos ya fueron registrados por otra solicitud. Actualiza la página e inténtalo nuevamente.', @ErrorTipo = 2;
+ RETURN;
+ END;
+
+
+ INSERT INTO [dbo].[Sis_Usuarios]
+ ([NombreUsuario], [HashContrasena], [CorreoElectronico], [CveRol], [Activo], [DebeCambiarContrasena], [CorreoVerificado])
+ VALUES (@NombreUsuario, @HashContrasena, @CorreoElectronico, @CveRolEmpresa, (0), (0), (0));
+
+ SET @CveUsuario = CONVERT(int, SCOPE_IDENTITY());
+
+ INSERT INTO [dbo].[Clientes]
+ ([Nombre], [NombreComercial], [Direccion], [NoExt], [NoInt], [Colonia],
+ [Ciudad], [Estado], [CveSATEstado], [Pais], [RFC], [CP], [Telefono],
+ [Mail], [Estatus], [Fecha], [CveUsuario], [FechaIng],
+ [CvePais], [CveEstado], [CveMunicipio], [CveLocalidad], [CveColonia])
+ VALUES
+ (@RazonSocial, NULLIF(@NombreComercial, ''), @Direccion, NULLIF(@NoExt, ''),
+ NULLIF(@NoInt, ''), @Colonia, @Ciudad, @NombreEstado, @CveSATEstado,
+ @Pais, @RFC, @CP, NULLIF(@Telefono, ''), @CorreoElectronico, (0),
+ CONVERT(date, GETDATE()), @CveUsuario, GETDATE(),
+ @CvePais, @CveSATEstado, @CveMunicipio, @CveLocalidad, @CveColonia);
+
+ SET @CveCliente = CONVERT(int, SCOPE_IDENTITY());
+
+ INSERT INTO [dbo].[Sis_UsuariosClientes]
+ ([CveUsuario], [CveCliente], [Orden], [EsPrincipal], [Activo], [CveUsuarioRegistro])
+ VALUES (@CveUsuario, @CveCliente, (1), (1), (1), @CveUsuario);
+
+ INSERT INTO [dbo].[Sis_UsuariosVerificacionesCorreo]
+ ([CveUsuario], [CveClienteRegistro], [HashToken], [FechaExpiracion])
+ VALUES (@CveUsuario, @CveCliente, @HashToken, DATEADD(HOUR, @HorasExpiracion, SYSDATETIME()));
+
+
+ SELECT @CveUsuario AS [CveUsuario], @CveCliente AS [CveCliente];
+ SET @Return = 1;
+ END TRY
+ BEGIN CATCH
+ SELECT @ErrorMostrar = 'Ocurrió un error al crear el registro; favor de contactar a Sistemas.', @ErrorTipo = 1, @Return = 0;
+ DECLARE @E nvarchar(2048) = CONCAT('Número: ', ERROR_NUMBER(), '; Procedimiento: ', ERROR_PROCEDURE(), '; Línea: ', ERROR_LINE(), '; Detalle: ', ERROR_MESSAGE());
+ RAISERROR(N'%s', 10, 1, @E);
+ END CATCH;
+END;
+
+GO
+
+/* ==================== AUTORREGISTRO ==================== */
+
+CREATE OR ALTER PROCEDURE [dbo].[PA_Sis_RegistroClienteValidate]
+ @NombreUsuario varchar(100),
+ @CorreoElectronico varchar(255),
+ @RFC varchar(15),
+ @CveUsuarioEjecuta int,
+ @ErrorMostrar varchar(max) OUTPUT,
+ @ErrorTipo int OUTPUT,
+ @Return bit OUTPUT
+AS
+BEGIN
+ SET NOCOUNT ON;
+ SELECT @ErrorMostrar = NULL, @ErrorTipo = 0, @Return = 0;
+ BEGIN TRY
+ SET @NombreUsuario = LTRIM(RTRIM(@NombreUsuario));
+ SET @CorreoElectronico = LOWER(LTRIM(RTRIM(@CorreoElectronico)));
+ SET @RFC = UPPER(REPLACE(LTRIM(RTRIM(@RFC)), ' ', ''));
+
+ IF EXISTS (SELECT 1 FROM [dbo].[Sis_Usuarios] WHERE [NombreUsuario] = @NombreUsuario)
+ BEGIN
+ SET @ErrorMostrar = 'El nombre de usuario ya se encuentra registrado.';
+ SET @ErrorTipo = 2;
+ RETURN;
+ END;
+
+ IF EXISTS (SELECT 1 FROM [dbo].[Sis_Usuarios] WHERE LOWER([CorreoElectronico]) = @CorreoElectronico)
+ BEGIN
+ SET @ErrorMostrar = 'El correo electrónico ya se encuentra registrado.';
+ SET @ErrorTipo = 2;
+ RETURN;
+ END;
+
+ /* Incluye clientes activos e inactivos para impedir registros duplicados. */
+ IF EXISTS (SELECT 1 FROM [dbo].[Clientes] WHERE UPPER(REPLACE(LTRIM(RTRIM([RFC])), ' ', '')) = @RFC)
+ BEGIN
+ SET @ErrorMostrar = 'El RFC ya se encuentra registrado. Contacta a un administrador para solicitar acceso.';
+ SET @ErrorTipo = 2;
+ RETURN;
+ END;
+
+ SET @Return = 1;
+ END TRY
+ BEGIN CATCH
+ SET @ErrorMostrar = 'Ocurrió un error al validar el registro; favor de contactar a Sistemas.';
+ SET @ErrorTipo = 1;
+ DECLARE @E nvarchar(2048) = CONCAT('Número: ', ERROR_NUMBER(), '; Procedimiento: ', ERROR_PROCEDURE(), '; Línea: ', ERROR_LINE(), '; Detalle: ', ERROR_MESSAGE());
+ RAISERROR(N'%s', 10, 1, @E);
+ END CATCH;
+END;
+
+GO
+
+/* ==================== CATÁLOGOS ==================== */
+
+CREATE OR ALTER PROCEDURE [dbo].[PA_Sis_RolList]
+ @CveUsuarioEjecuta int,
+ @ErrorMostrar varchar(max) OUTPUT,
+ @ErrorTipo int OUTPUT,
+ @Return bit OUTPUT
+AS
+BEGIN
+ SET NOCOUNT ON;
+ SELECT @ErrorMostrar = NULL, @ErrorTipo = 0, @Return = 0;
+ BEGIN TRY
+ SELECT [CveRol], [NombreRol], [Descripcion]
+ FROM [dbo].[Sis_Roles]
+ WHERE [Activo] = (1)
+ ORDER BY [NombreRol];
+ SET @Return = 1;
+ END TRY
+ BEGIN CATCH
+ SET @ErrorMostrar = 'Ocurrió un error al consultar los roles; favor de contactar a Sistemas.';
+ SET @ErrorTipo = 1;
+ DECLARE @E nvarchar(2048) = CONCAT('Número: ', ERROR_NUMBER(), '; Procedimiento: ', ERROR_PROCEDURE(), '; Línea: ', ERROR_LINE(), '; Detalle: ', ERROR_MESSAGE());
+ RAISERROR(N'%s', 10, 1, @E);
+ END CATCH;
+END;
+
+GO
+
+CREATE OR ALTER PROCEDURE [dbo].[PA_Sis_UsuarioClienteList]
+ @CveUsuario int,
+ @CveUsuarioEjecuta int,
+ @ErrorMostrar varchar(max) OUTPUT,
+ @ErrorTipo int OUTPUT,
+ @Return bit OUTPUT
+AS
+BEGIN
+ SET NOCOUNT ON;
+ SELECT @ErrorMostrar = NULL, @ErrorTipo = 0, @Return = 0;
+ BEGIN TRY
+ SELECT UC.[CveUsuarioCliente], UC.[CveUsuario], UC.[CveCliente], C.[Nombre], C.[RFC],
+ UC.[Orden], UC.[EsPrincipal], UC.[Activo], C.[Estatus] AS [ClienteActivo]
+ FROM [dbo].[Sis_UsuariosClientes] UC
+ INNER JOIN [dbo].[Clientes] C ON C.[CveCliente] = UC.[CveCliente]
+ WHERE UC.[CveUsuario] = @CveUsuario
+ ORDER BY UC.[Orden];
+ SET @Return = 1;
+ END TRY
+ BEGIN CATCH
+ SET @ErrorMostrar = 'Ocurrió un error al consultar los clientes del usuario; favor de contactar a Sistemas.';
+ SET @ErrorTipo = 1;
+ DECLARE @E nvarchar(2048) = CONCAT('Número: ', ERROR_NUMBER(), '; Procedimiento: ', ERROR_PROCEDURE(), '; Línea: ', ERROR_LINE(), '; Detalle: ', ERROR_MESSAGE());
+ RAISERROR(N'%s', 10, 1, @E);
+ END CATCH;
+END;
+
+GO
+
+CREATE OR ALTER PROCEDURE [dbo].[PA_Sis_UsuarioClienteSave]
+ @CveUsuario int,
+ @CveCliente int,
+ @Orden int,
+ @EsPrincipal bit,
+ @CveUsuarioEjecuta int,
+ @ErrorMostrar varchar(max) OUTPUT,
+ @ErrorTipo int OUTPUT,
+ @Return bit OUTPUT
+AS
+BEGIN
+ SET NOCOUNT ON;
+ SELECT @ErrorMostrar = NULL, @ErrorTipo = 0, @Return = 0;
+ BEGIN TRY
+ IF NOT EXISTS
+ (
+ SELECT 1 FROM [dbo].[Sis_Usuarios] U INNER JOIN [dbo].[Sis_Roles] R ON R.[CveRol] = U.[CveRol]
+ WHERE U.[CveUsuario] = @CveUsuarioEjecuta AND R.[NombreRol] IN ('SuperUsuario', 'Administrador')
+ AND U.[Activo] = (1)
+ )
+ BEGIN
+ SET @ErrorMostrar = 'No tienes permiso para asignar clientes.';
+ SET @ErrorTipo = 1;
+ RETURN;
+ END;
+
+ IF @Orden <= (0) OR NOT EXISTS (SELECT 1 FROM [dbo].[Clientes] WHERE [CveCliente] = @CveCliente)
+ BEGIN
+ SET @ErrorMostrar = 'El cliente o el orden indicado no es válido.';
+ SET @ErrorTipo = 2;
+ RETURN;
+ END;
+
+ IF EXISTS
+ (
+ SELECT 1 FROM [dbo].[Sis_UsuariosClientes]
+ WHERE [CveUsuario] = @CveUsuario AND [Orden] = @Orden AND [Activo] = (1)
+ AND [CveCliente] <> @CveCliente
+ )
+ BEGIN
+ SET @ErrorMostrar = 'Ya existe otro cliente con el mismo orden para este usuario.';
+ SET @ErrorTipo = 2;
+ RETURN;
+ END;
+
+ IF @EsPrincipal = (1)
+ UPDATE [dbo].[Sis_UsuariosClientes]
+ SET [EsPrincipal] = (0), [FechaActualizacion] = SYSDATETIME()
+ WHERE [CveUsuario] = @CveUsuario;
+
+ UPDATE [dbo].[Sis_UsuariosClientes]
+ SET [Orden] = @Orden, [EsPrincipal] = @EsPrincipal, [Activo] = (1),
+ [FechaActualizacion] = SYSDATETIME()
+ WHERE [CveUsuario] = @CveUsuario AND [CveCliente] = @CveCliente;
+
+ IF @@ROWCOUNT = (0)
+ INSERT INTO [dbo].[Sis_UsuariosClientes]
+ ([CveUsuario], [CveCliente], [Orden], [EsPrincipal], [Activo], [CveUsuarioRegistro])
+ VALUES
+ (@CveUsuario, @CveCliente, @Orden, @EsPrincipal, (1), @CveUsuarioEjecuta);
+
+ SET @Return = 1;
+ END TRY
+ BEGIN CATCH
+ SET @ErrorMostrar = 'Ocurrió un error al asignar el cliente; favor de contactar a Sistemas.';
+ SET @ErrorTipo = 1;
+ DECLARE @E nvarchar(2048) = CONCAT('Número: ', ERROR_NUMBER(), '; Procedimiento: ', ERROR_PROCEDURE(), '; Línea: ', ERROR_LINE(), '; Detalle: ', ERROR_MESSAGE());
+ RAISERROR(N'%s', 10, 1, @E);
+ END CATCH;
+END;
+
+GO
+
+CREATE OR ALTER PROCEDURE [dbo].[PA_Sis_UsuarioDelete]
+ @CveUsuario int,
+ @CveUsuarioEjecuta int,
+ @ErrorMostrar varchar(max) OUTPUT,
+ @ErrorTipo int OUTPUT,
+ @Return bit OUTPUT
+AS
+BEGIN
+ SET NOCOUNT ON;
+ SELECT @ErrorMostrar = NULL, @ErrorTipo = 0, @Return = 0;
+ BEGIN TRY
+ IF @CveUsuario = @CveUsuarioEjecuta
+ BEGIN
+ SET @ErrorMostrar = 'No puedes borrar tu propio usuario.';
+ SET @ErrorTipo = 2;
+ RETURN;
+ END;
+
+ DELETE U
+ FROM [dbo].[Sis_Usuarios] AS U
+ WHERE U.[CveUsuario] = @CveUsuario
+ AND EXISTS
+ (
+ SELECT 1
+ FROM [dbo].[Sis_Usuarios] AS E
+ INNER JOIN [dbo].[Sis_Roles] AS R
+ ON R.[CveRol] = E.[CveRol]
+ WHERE E.[CveUsuario] = @CveUsuarioEjecuta
+ AND R.[NombreRol] = 'SuperUsuario'
+ AND E.[Activo] = (1)
+ );
+ IF @@ROWCOUNT = (0)
+ BEGIN
+ SET @ErrorMostrar = 'No fue posible borrar el usuario o no tienes autorización.';
+ SET @ErrorTipo = 1;
+ RETURN;
+ END;
+ SET @Return = 1;
+ END TRY
+ BEGIN CATCH
+ IF ERROR_NUMBER() = 547
+ BEGIN
+ SET @ErrorMostrar = 'El usuario tiene información relacionada y no puede eliminarse.';
+ SET @ErrorTipo = 2;
+ SET @Return = 0;
+ RETURN;
+ END;
+ SET @ErrorMostrar = 'Ocurrió un error al borrar el usuario; favor de contactar a Sistemas.';
+ SET @ErrorTipo = 1;
+ DECLARE @E nvarchar(2048) = CONCAT('Número: ', ERROR_NUMBER(), '; Procedimiento: ', ERROR_PROCEDURE(), '; Línea: ', ERROR_LINE(), '; Detalle: ', ERROR_MESSAGE());
+ RAISERROR(N'%s', 10, 1, @E);
+ END CATCH;
+END;
+
+GO
+
+CREATE OR ALTER PROCEDURE [dbo].[PA_Sis_UsuarioGet]
+ @CveUsuario int,
+ @CveUsuarioEjecuta int,
+ @ErrorMostrar varchar(max) OUTPUT,
+ @ErrorTipo int OUTPUT,
+ @Return bit OUTPUT
+AS
+BEGIN
+ SET NOCOUNT ON;
+ SELECT @ErrorMostrar = NULL, @ErrorTipo = 0, @Return = 0;
+ BEGIN TRY
+ SELECT U.[CveUsuario], U.[NombreUsuario], U.[CorreoElectronico], U.[CveRol],
+ R.[NombreRol], U.[Activo], U.[DebeCambiarContrasena], U.[CorreoVerificado]
+ FROM [dbo].[Sis_Usuarios] U
+ INNER JOIN [dbo].[Sis_Roles] R ON R.[CveRol] = U.[CveRol]
+ WHERE U.[CveUsuario] = @CveUsuario;
+ SET @Return = 1;
+ END TRY
+ BEGIN CATCH
+ SET @ErrorMostrar = 'Ocurrió un error al consultar el usuario; favor de contactar a Sistemas.';
+ SET @ErrorTipo = 1;
+ DECLARE @E nvarchar(2048) = CONCAT('Número: ', ERROR_NUMBER(), '; Procedimiento: ', ERROR_PROCEDURE(), '; Línea: ', ERROR_LINE(), '; Detalle: ', ERROR_MESSAGE());
+ RAISERROR(N'%s', 10, 1, @E);
+ END CATCH;
+END;
+
+GO
+
+/* ==================== AUTENTICACIÓN CON CORREO VERIFICADO ==================== */
+
+CREATE OR ALTER PROCEDURE [dbo].[PA_Sis_UsuarioGetByName]
+ @NombreUsuario varchar(100),
+ @CveUsuarioEjecuta int,
+ @ErrorMostrar varchar(max) OUTPUT,
+ @ErrorTipo int OUTPUT,
+ @Return bit OUTPUT
+AS
+BEGIN
+ SET NOCOUNT ON;
+ SELECT @ErrorMostrar = NULL, @ErrorTipo = 0, @Return = 0;
+ BEGIN TRY
+ SELECT TOP (1)
+ U.[CveUsuario], U.[NombreUsuario], U.[HashContrasena], U.[CorreoElectronico],
+ U.[CveRol], R.[NombreRol], U.[Activo], U.[DebeCambiarContrasena],
+ U.[IntentosFallidosInicioSesion], U.[BloqueadoHasta],
+ U.[FechaUltimoInicioSesion], U.[FechaUltimaConexion], U.[CorreoVerificado]
+ FROM [dbo].[Sis_Usuarios] AS U
+ INNER JOIN [dbo].[Sis_Roles] AS R ON R.[CveRol] = U.[CveRol]
+ WHERE U.[NombreUsuario] = @NombreUsuario
+
+;
+ SET @Return = 1;
+ END TRY
+ BEGIN CATCH
+ SET @ErrorMostrar = 'Ocurrió un error al consultar el usuario; favor de contactar a Sistemas.';
+ SET @ErrorTipo = 1;
+ SET @Return = 0;
+ DECLARE @E nvarchar(2048) = CONCAT('Número: ', ERROR_NUMBER(), '; Procedimiento: ', ERROR_PROCEDURE(), '; Línea: ', ERROR_LINE(), '; Detalle: ', ERROR_MESSAGE());
+ RAISERROR(N'%s', 10, 1, @E);
+ END CATCH;
+END;
+
+GO
+
+/* ==================== ADMINISTRACIÓN DE USUARIOS ==================== */
+
+CREATE OR ALTER PROCEDURE [dbo].[PA_Sis_UsuarioList]
+ @Texto varchar(150) = NULL,
+ @CveUsuarioEjecuta int,
+ @ErrorMostrar varchar(max) OUTPUT,
+ @ErrorTipo int OUTPUT,
+ @Return bit OUTPUT
+AS
+BEGIN
+ SET NOCOUNT ON;
+ SELECT @ErrorMostrar = NULL, @ErrorTipo = 0, @Return = 0;
+ BEGIN TRY
+ IF NOT EXISTS
+ (
+ SELECT 1 FROM [dbo].[Sis_Usuarios] U
+ INNER JOIN [dbo].[Sis_Roles] R ON R.[CveRol] = U.[CveRol]
+ WHERE U.[CveUsuario] = @CveUsuarioEjecuta
+ AND R.[NombreRol] IN ('SuperUsuario', 'Administrador')
+ AND U.[Activo] = (1)
+ )
+ BEGIN
+ SET @ErrorMostrar = 'No tienes permiso para consultar usuarios.';
+ SET @ErrorTipo = 1;
+ RETURN;
+ END;
+
+ SELECT U.[CveUsuario], U.[NombreUsuario], U.[CorreoElectronico], U.[CveRol],
+ R.[NombreRol], U.[Activo], U.[CorreoVerificado], U.[FechaCreacion]
+ FROM [dbo].[Sis_Usuarios] U
+ INNER JOIN [dbo].[Sis_Roles] R ON R.[CveRol] = U.[CveRol]
+ WHERE (@Texto IS NULL OR U.[NombreUsuario] LIKE '%' + @Texto + '%'
+ OR U.[CorreoElectronico] LIKE '%' + @Texto + '%')
+ ORDER BY U.[NombreUsuario];
+ SET @Return = 1;
+ END TRY
+ BEGIN CATCH
+ SET @ErrorMostrar = 'Ocurrió un error al consultar usuarios; favor de contactar a Sistemas.';
+ SET @ErrorTipo = 1;
+ DECLARE @E nvarchar(2048) = CONCAT('Número: ', ERROR_NUMBER(), '; Procedimiento: ', ERROR_PROCEDURE(), '; Línea: ', ERROR_LINE(), '; Detalle: ', ERROR_MESSAGE());
+ RAISERROR(N'%s', 10, 1, @E);
+ END CATCH;
+END;
+
+GO
+
+CREATE OR ALTER PROCEDURE [dbo].[PA_Sis_UsuarioLoginFailedUpdate]
+ @CveUsuario int,
+ @CveUsuarioEjecuta int,
+ @ErrorMostrar varchar(max) OUTPUT,
+ @ErrorTipo int OUTPUT,
+ @Return bit OUTPUT
+AS
+BEGIN
+ SET NOCOUNT ON;
+ SELECT @ErrorMostrar = NULL, @ErrorTipo = 0, @Return = 0;
+
+ BEGIN TRY
+ UPDATE [dbo].[Sis_Usuarios]
+ SET [IntentosFallidosInicioSesion] = [IntentosFallidosInicioSesion] + (1),
+ [BloqueadoHasta] = CASE
+ WHEN [IntentosFallidosInicioSesion] + (1) >= (5)
+ THEN DATEADD(MINUTE, (15), GETDATE())
+ ELSE [BloqueadoHasta]
+ END,
+ [FechaActualizacion] = GETDATE()
+ WHERE [CveUsuario] = @CveUsuario
+;
+
+ IF @@ROWCOUNT = (0)
+ BEGIN
+ SET @ErrorMostrar = 'El usuario ya no está disponible.';
+ SET @ErrorTipo = 2;
+ RETURN;
+ END;
+
+ SET @Return = 1;
+ END TRY
+ BEGIN CATCH
+ SET @ErrorMostrar = 'Ocurrió un error al registrar el intento de acceso; favor de contactar a Sistemas.';
+ SET @ErrorTipo = 1;
+ SET @Return = 0;
+ DECLARE @ErrorTecnico nvarchar(2048) = CONCAT('Número: ', ERROR_NUMBER(), '; Procedimiento: ', COALESCE(ERROR_PROCEDURE(), 'PA_Sis_UsuarioLoginFailedUpdate'), '; Línea: ', ERROR_LINE(), '; Detalle: ', ERROR_MESSAGE());
+ RAISERROR(N'%s', 10, 1, @ErrorTecnico);
+ END CATCH;
+END;
+
+GO
+
+CREATE OR ALTER PROCEDURE [dbo].[PA_Sis_UsuarioLoginSuccessUpdate]
+ @CveUsuario int,
+ @CveUsuarioEjecuta int,
+ @ErrorMostrar varchar(max) OUTPUT,
+ @ErrorTipo int OUTPUT,
+ @Return bit OUTPUT
+AS
+BEGIN
+ SET NOCOUNT ON;
+ SELECT @ErrorMostrar = NULL, @ErrorTipo = 0, @Return = 0;
+
+ BEGIN TRY
+ UPDATE [dbo].[Sis_Usuarios]
+ SET [FechaUltimoInicioSesion] = GETDATE(),
+ [FechaUltimaConexion] = GETDATE(),
+ [IntentosFallidosInicioSesion] = (0),
+ [BloqueadoHasta] = NULL,
+ [FechaActualizacion] = GETDATE()
+ WHERE [CveUsuario] = @CveUsuario
+;
+
+ IF @@ROWCOUNT = (0)
+ BEGIN
+ SET @ErrorMostrar = 'El usuario ya no está disponible.';
+ SET @ErrorTipo = 2;
+ RETURN;
+ END;
+
+ SET @Return = 1;
+ END TRY
+ BEGIN CATCH
+ SET @ErrorMostrar = 'Ocurrió un error al actualizar el inicio de sesión; favor de contactar a Sistemas.';
+ SET @ErrorTipo = 1;
+ SET @Return = 0;
+ DECLARE @ErrorTecnico nvarchar(2048) = CONCAT('Número: ', ERROR_NUMBER(), '; Procedimiento: ', COALESCE(ERROR_PROCEDURE(), 'PA_Sis_UsuarioLoginSuccessUpdate'), '; Línea: ', ERROR_LINE(), '; Detalle: ', ERROR_MESSAGE());
+ RAISERROR(N'%s', 10, 1, @ErrorTecnico);
+ END CATCH;
+END;
+
+GO
+
+CREATE OR ALTER PROCEDURE [dbo].[PA_Sis_UsuarioSave]
+ @CveUsuario int = NULL,
+ @NombreUsuario varchar(100),
+ @CorreoElectronico varchar(255),
+ @CveRol int,
+ @HashContrasena varchar(500) = NULL,
+ @Activo bit,
+ @DebeCambiarContrasena bit,
+ @CveUsuarioEjecuta int,
+ @ErrorMostrar varchar(max) OUTPUT,
+ @ErrorTipo int OUTPUT,
+ @Return bit OUTPUT
+AS
+BEGIN
+ SET NOCOUNT ON;
+ SELECT @ErrorMostrar = NULL, @ErrorTipo = 0, @Return = 0;
+ BEGIN TRY
+ IF NOT EXISTS
+ (
+ SELECT 1 FROM [dbo].[Sis_Usuarios] U
+ INNER JOIN [dbo].[Sis_Roles] R ON R.[CveRol] = U.[CveRol]
+ WHERE U.[CveUsuario] = @CveUsuarioEjecuta AND R.[NombreRol] = 'SuperUsuario'
+ AND U.[Activo] = (1)
+ )
+ BEGIN
+ SET @ErrorMostrar = 'Sólo un SuperUsuario puede crear o modificar usuarios.';
+ SET @ErrorTipo = 1;
+ RETURN;
+ END;
+
+ IF EXISTS (SELECT 1 FROM [dbo].[Sis_Usuarios] WHERE [NombreUsuario] = @NombreUsuario AND [CveUsuario] <> ISNULL(@CveUsuario, (0)))
+ OR EXISTS (SELECT 1 FROM [dbo].[Sis_Usuarios] WHERE LOWER([CorreoElectronico]) = LOWER(@CorreoElectronico) AND [CveUsuario] <> ISNULL(@CveUsuario, (0)))
+ BEGIN
+ SET @ErrorMostrar = 'El usuario o correo electrónico ya está registrado.';
+ SET @ErrorTipo = 2;
+ RETURN;
+ END;
+
+ IF @CveUsuario IS NULL OR @CveUsuario <= (0)
+ BEGIN
+ IF NULLIF(@HashContrasena, '') IS NULL
+ BEGIN
+ SET @ErrorMostrar = 'La contraseña es obligatoria para un usuario nuevo.';
+ SET @ErrorTipo = 2;
+ RETURN;
+ END;
+
+ INSERT INTO [dbo].[Sis_Usuarios]
+ ([NombreUsuario], [HashContrasena], [CorreoElectronico], [CveRol], [Activo],
+ [DebeCambiarContrasena], [CorreoVerificado], [FechaVerificacionCorreo])
+ VALUES
+ (@NombreUsuario, @HashContrasena, @CorreoElectronico, @CveRol, @Activo,
+ @DebeCambiarContrasena, (1), SYSDATETIME());
+ SET @CveUsuario = CONVERT(int, SCOPE_IDENTITY());
+ END
+ ELSE
+ BEGIN
+ UPDATE [dbo].[Sis_Usuarios]
+ SET [NombreUsuario] = @NombreUsuario, [CorreoElectronico] = @CorreoElectronico,
+ [CveRol] = @CveRol, [Activo] = @Activo,
+ [DebeCambiarContrasena] = @DebeCambiarContrasena,
+ [HashContrasena] = COALESCE(NULLIF(@HashContrasena, ''), [HashContrasena]),
+ [FechaActualizacion] = GETDATE()
+ WHERE [CveUsuario] = @CveUsuario;
+ END;
+
+ SELECT @CveUsuario AS [CveUsuario];
+ SET @Return = 1;
+ END TRY
+ BEGIN CATCH
+ SET @ErrorMostrar = 'Ocurrió un error al guardar el usuario; favor de contactar a Sistemas.';
+ SET @ErrorTipo = 1;
+ DECLARE @E nvarchar(2048) = CONCAT('Número: ', ERROR_NUMBER(), '; Procedimiento: ', ERROR_PROCEDURE(), '; Línea: ', ERROR_LINE(), '; Detalle: ', ERROR_MESSAGE());
+ RAISERROR(N'%s', 10, 1, @E);
+ END CATCH;
+END;
+
+GO
+
+CREATE OR ALTER PROCEDURE [dbo].[PA_Sis_UsuarioSesionAdd]
+ @CveUsuario int,
+ @TokenSesion varchar(200),
+ @DireccionIP varchar(50) = NULL,
+ @AgenteUsuario varchar(1000) = NULL,
+ @NombreDominio varchar(255) = NULL,
+ @CveUsuarioEjecuta int,
+ @ErrorMostrar varchar(max) OUTPUT,
+ @ErrorTipo int OUTPUT,
+ @Return bit OUTPUT
+AS
+BEGIN
+ SET NOCOUNT ON;
+ SELECT @ErrorMostrar = NULL, @ErrorTipo = 0, @Return = 0;
+
+ BEGIN TRY
+ IF NOT EXISTS
+ (
+ SELECT 1 FROM [dbo].[Sis_Usuarios]
+ WHERE [CveUsuario] = @CveUsuario AND [Activo] = (1)
+ )
+ BEGIN
+ SET @ErrorMostrar = 'El usuario no está disponible para iniciar sesión.';
+ SET @ErrorTipo = 2;
+ RETURN;
+ END;
+
+ INSERT INTO [dbo].[Sis_UsuariosSesiones]
+ ([CveUsuario], [TokenSesion], [DireccionIP], [AgenteUsuario],
+ [NombreDominio], [FechaUltimaActividad])
+ VALUES
+ (@CveUsuario, @TokenSesion, @DireccionIP, @AgenteUsuario,
+ @NombreDominio, GETDATE());
+
+ SET @Return = 1;
+ END TRY
+ BEGIN CATCH
+ SET @ErrorMostrar = 'Ocurrió un error al crear la sesión; favor de contactar a Sistemas.';
+ SET @ErrorTipo = 1;
+ SET @Return = 0;
+ DECLARE @ErrorTecnico nvarchar(2048) = CONCAT('Número: ', ERROR_NUMBER(), '; Procedimiento: ', COALESCE(ERROR_PROCEDURE(), 'PA_Sis_UsuarioSesionAdd'), '; Línea: ', ERROR_LINE(), '; Detalle: ', ERROR_MESSAGE());
+ RAISERROR(N'%s', 10, 1, @ErrorTecnico);
+ END CATCH;
+END;
+
+GO
+
+CREATE OR ALTER PROCEDURE [dbo].[PA_Sis_UsuarioSesionEnd]
+ @TokenSesion varchar(200),
+ @CveUsuarioEjecuta int,
+ @ErrorMostrar varchar(max) OUTPUT,
+ @ErrorTipo int OUTPUT,
+ @Return bit OUTPUT
+AS
+BEGIN
+ SET NOCOUNT ON;
+ SELECT @ErrorMostrar = NULL, @ErrorTipo = 0, @Return = 0;
+
+ BEGIN TRY
+ UPDATE [dbo].[Sis_UsuariosSesiones]
+ SET [FechaFin] = GETDATE(), [Activo] = (0)
+ WHERE [TokenSesion] = @TokenSesion
+;
+
+ /* Cerrar una sesión inexistente o ya cerrada es una operación idempotente. */
+ SET @Return = 1;
+ END TRY
+ BEGIN CATCH
+ SET @ErrorMostrar = 'Ocurrió un error al cerrar la sesión; favor de contactar a Sistemas.';
+ SET @ErrorTipo = 1;
+ SET @Return = 0;
+ DECLARE @ErrorTecnico nvarchar(2048) = CONCAT('Número: ', ERROR_NUMBER(), '; Procedimiento: ', COALESCE(ERROR_PROCEDURE(), 'PA_Sis_UsuarioSesionEnd'), '; Línea: ', ERROR_LINE(), '; Detalle: ', ERROR_MESSAGE());
+ RAISERROR(N'%s', 10, 1, @ErrorTecnico);
+ END CATCH;
+END;
+
+GO
+
+CREATE OR ALTER PROCEDURE [dbo].[PA_Fraccionamientos_LoteGet]
+ @CveFraccionamiento int,
+ @CveFraccionamientoLote int,
+ @CveUsuarioEjecuta int,
+ @ErrorMostrar varchar(max) OUTPUT,
+ @ErrorTipo int OUTPUT,
+ @Return bit OUTPUT
+AS
+BEGIN
+ SET NOCOUNT ON;
+
+ SELECT
+ @ErrorMostrar = NULL,
+ @ErrorTipo = 0,
+ @Return = 0;
+
+ BEGIN TRY
+ IF NOT EXISTS
+ (
+ SELECT 1
+ FROM [dbo].[FraccionamientosLotes] AS L
+ INNER JOIN [dbo].[FraccionamientosEtapas] AS E
+ ON E.[CveFraccionamientoEtapa] = L.[CveFraccionamientoEtapa]
+ WHERE L.[CveFraccionamientoLote] = @CveFraccionamientoLote
+ AND E.[CveFraccionamiento] = @CveFraccionamiento
+
+
+ )
+ BEGIN
+ SET @ErrorMostrar = 'El lote seleccionado no existe o no pertenece al fraccionamiento.';
+ SET @ErrorTipo = 2;
+ RETURN;
+ END;
+
+ SELECT
+ L.[CveFraccionamientoLote] AS [CveFraccionamientoLote],
+ L.[CveFraccionamientoEtapa] AS [CveFraccionamientoEtapa],
+ E.[Etapa] AS [Etapa],
+ L.[Numero] AS [Nombre],
+ L.[Tipo] AS [Tipo],
+ L.[Calle] AS [Calle],
+ L.[Catastro] AS [Catastro],
+ L.[MetrosCuadrados] AS [MetrosCuadrados],
+ L.[Duplicador] AS [Duplicador],
+ L.[EsActivo] AS [EsActivo]
+ FROM [dbo].[FraccionamientosLotes] AS L
+ INNER JOIN [dbo].[FraccionamientosEtapas] AS E
+ ON E.[CveFraccionamientoEtapa] = L.[CveFraccionamientoEtapa]
+ WHERE L.[CveFraccionamientoLote] = @CveFraccionamientoLote
+ AND E.[CveFraccionamiento] = @CveFraccionamiento
+
+;
+
+ SET @Return = 1;
+ END TRY
+ BEGIN CATCH
+ SET @ErrorMostrar = 'Ocurrió un error al consultar el lote; favor de contactar a Sistemas.';
+ SET @ErrorTipo = 1;
+ SET @Return = 0;
+
+ DECLARE @ErrorTecnico nvarchar(2048) = CONCAT(
+ 'Número: ', ERROR_NUMBER(),
+ '; Procedimiento: ', COALESCE(ERROR_PROCEDURE(), 'PA_Fraccionamientos_LoteGet'),
+ '; Línea: ', ERROR_LINE(),
+ '; Detalle: ', ERROR_MESSAGE()
+ );
+
+ RAISERROR(N'%s', 10, 1, @ErrorTecnico);
+ END CATCH;
+END;
+
+GO
+
+CREATE OR ALTER PROCEDURE [dbo].[PA_Fraccionamientos_LoteUpdate]
+ @CveFraccionamiento int,
+ @CveFraccionamientoLote int,
+ @CveFraccionamientoEtapa int,
+ @Nombre varchar(50),
+ @Tipo varchar(100) = NULL,
+ @Calle varchar(200) = NULL,
+ @Catastro varchar(100) = NULL,
+ @MetrosCuadrados decimal(18,4) = NULL,
+ @Duplicador varchar(50) = NULL,
+ @EsActivo bit,
+ @CveUsuarioEjecuta int,
+ @ErrorMostrar varchar(max) OUTPUT,
+ @ErrorTipo int OUTPUT,
+ @Return bit OUTPUT
+AS
+BEGIN
+ SET NOCOUNT ON;
+
+ SELECT
+ @ErrorMostrar = NULL,
+ @ErrorTipo = 0,
+ @Return = 0;
+
+ BEGIN TRY
+ SET @Nombre = NULLIF(LTRIM(RTRIM(@Nombre)), '');
+ SET @Tipo = NULLIF(LTRIM(RTRIM(@Tipo)), '');
+ SET @Calle = NULLIF(LTRIM(RTRIM(@Calle)), '');
+ SET @Catastro = NULLIF(LTRIM(RTRIM(@Catastro)), '');
+ SET @Duplicador = NULLIF(LTRIM(RTRIM(@Duplicador)), '');
+
+ IF @Nombre IS NULL
+ BEGIN
+ SET @ErrorMostrar = 'Capture el nombre del lote.';
+ SET @ErrorTipo = 2;
+ RETURN;
+ END;
+
+ IF @MetrosCuadrados IS NOT NULL
+ AND @MetrosCuadrados < (0)
+ BEGIN
+ SET @ErrorMostrar = 'Los metros cuadrados no pueden ser negativos.';
+ SET @ErrorTipo = 2;
+ RETURN;
+ END;
+
+ IF NOT EXISTS
+ (
+ SELECT 1
+ FROM [dbo].[FraccionamientosEtapas]
+ WHERE [CveFraccionamientoEtapa] = @CveFraccionamientoEtapa
+ AND [CveFraccionamiento] = @CveFraccionamiento
+
+ )
+ BEGIN
+ SET @ErrorMostrar = 'La etapa del lote no pertenece al fraccionamiento.';
+ SET @ErrorTipo = 2;
+ RETURN;
+ END;
+
+ IF NOT EXISTS
+ (
+ SELECT 1
+ FROM [dbo].[FraccionamientosLotes] AS L
+ INNER JOIN [dbo].[FraccionamientosEtapas] AS E
+ ON E.[CveFraccionamientoEtapa] = L.[CveFraccionamientoEtapa]
+ WHERE L.[CveFraccionamientoLote] = @CveFraccionamientoLote
+ AND E.[CveFraccionamiento] = @CveFraccionamiento
+
+
+ )
+ BEGIN
+ SET @ErrorMostrar = 'El lote seleccionado no existe o no pertenece al fraccionamiento.';
+ SET @ErrorTipo = 2;
+ RETURN;
+ END;
+
+ IF EXISTS
+ (
+ SELECT 1
+ FROM [dbo].[FraccionamientosLotes] AS L
+ WHERE L.[CveFraccionamientoEtapa] = @CveFraccionamientoEtapa
+ AND L.[CveFraccionamientoLote] <> @CveFraccionamientoLote
+ AND L.[Numero] = @Nombre COLLATE Modern_Spanish_CS_AS
+
+ )
+ BEGIN
+ SET @ErrorMostrar = 'Ya existe otro lote con ese nombre en la etapa.';
+ SET @ErrorTipo = 2;
+ RETURN;
+ END;
+
+
+ UPDATE [dbo].[FraccionamientosLotes]
+ SET
+ [CveFraccionamientoEtapa] = @CveFraccionamientoEtapa,
+ [Numero] = @Nombre,
+ [Tipo] = @Tipo,
+ [Calle] = @Calle,
+ [Catastro] = @Catastro,
+ [MetrosCuadrados] = @MetrosCuadrados,
+ [Duplicador] = @Duplicador,
+ [EsActivo] = @EsActivo,
+ [FechaModificacion] = SYSDATETIME(),
+ [CveUsuario] = @CveUsuarioEjecuta
+ WHERE [CveFraccionamientoLote] = @CveFraccionamientoLote
+;
+
+
+ SELECT @CveFraccionamientoLote AS [CveFraccionamientoLote];
+ SET @Return = 1;
+ END TRY
+ BEGIN CATCH
+
+ SET @ErrorMostrar = 'Ocurrió un error al actualizar el lote; favor de contactar a Sistemas.';
+ SET @ErrorTipo = 1;
+ SET @Return = 0;
+
+ DECLARE @ErrorTecnico nvarchar(2048) = CONCAT(
+ 'Número: ', ERROR_NUMBER(),
+ '; Procedimiento: ', COALESCE(ERROR_PROCEDURE(), 'PA_Fraccionamientos_LoteUpdate'),
+ '; Línea: ', ERROR_LINE(),
+ '; Detalle: ', ERROR_MESSAGE()
+ );
+
+ RAISERROR(N'%s', 10, 1, @ErrorTecnico);
+ END CATCH;
+END;
+
+GO
+
+CREATE OR ALTER PROCEDURE [dbo].[PA_Fraccionamientos_LoteDelete]
+ @CveFraccionamiento int,
+ @CveFraccionamientoLote int,
+ @CveUsuarioEjecuta int,
+ @ErrorMostrar varchar(max) OUTPUT,
+ @ErrorTipo int OUTPUT,
+ @Return bit OUTPUT
+AS
+BEGIN
+ SET NOCOUNT ON;
+
+ SELECT
+ @ErrorMostrar = NULL,
+ @ErrorTipo = 0,
+ @Return = 0;
+
+ BEGIN TRY
+ IF NOT EXISTS
+ (
+ SELECT 1
+ FROM [dbo].[FraccionamientosLotes] AS L
+ INNER JOIN [dbo].[FraccionamientosEtapas] AS E
+ ON E.[CveFraccionamientoEtapa] = L.[CveFraccionamientoEtapa]
+ WHERE L.[CveFraccionamientoLote] = @CveFraccionamientoLote
+ AND E.[CveFraccionamiento] = @CveFraccionamiento
+
+
+ )
+ BEGIN
+ SET @ErrorMostrar = 'El lote seleccionado no existe o no pertenece al fraccionamiento.';
+ SET @ErrorTipo = 2;
+ RETURN;
+ END;
+
+
+ DELETE FROM [dbo].[FraccionamientosLotes]
+ WHERE [CveFraccionamientoLote] = @CveFraccionamientoLote;
+
+
+ SET @Return = 1;
+ END TRY
+ BEGIN CATCH
+
+ SET @ErrorMostrar = 'Ocurrió un error al eliminar el lote; favor de contactar a Sistemas.';
+ SET @ErrorTipo = 1;
+ SET @Return = 0;
+
+ DECLARE @ErrorTecnico nvarchar(2048) = CONCAT(
+ 'Número: ', ERROR_NUMBER(),
+ '; Procedimiento: ', COALESCE(ERROR_PROCEDURE(), 'PA_Fraccionamientos_LoteDelete'),
+ '; Línea: ', ERROR_LINE(),
+ '; Detalle: ', ERROR_MESSAGE()
+ );
+
+ RAISERROR(N'%s', 10, 1, @ErrorTecnico);
+ END CATCH;
+END;
+
+GO
+
+CREATE OR ALTER PROCEDURE [dbo].[PA_Fraccionamientos_LoteStageClear]
+ @CveFraccionamiento int,
+ @CveFraccionamientoEtapa int,
+ @CveUsuarioEjecuta int,
+ @ErrorMostrar varchar(max) OUTPUT,
+ @ErrorTipo int OUTPUT,
+ @Return bit OUTPUT
+AS
+BEGIN
+ SET NOCOUNT ON;
+
+ SELECT
+ @ErrorMostrar = NULL,
+ @ErrorTipo = 0,
+ @Return = 0;
+
+ BEGIN TRY
+ IF NOT EXISTS
+ (
+ SELECT 1
+ FROM [dbo].[FraccionamientosEtapas]
+ WHERE [CveFraccionamientoEtapa] = @CveFraccionamientoEtapa
+ AND [CveFraccionamiento] = @CveFraccionamiento
+
+ )
+ BEGIN
+ SET @ErrorMostrar = 'La etapa seleccionada no pertenece al fraccionamiento.';
+ SET @ErrorTipo = 2;
+ RETURN;
+ END;
+
+
+ DELETE FROM [dbo].[FraccionamientosLotes]
+ WHERE [CveFraccionamientoEtapa] = @CveFraccionamientoEtapa;
+
+ DECLARE @Cantidad int = @@ROWCOUNT;
+
+ IF @Cantidad = (0)
+ BEGIN
+ SET @ErrorMostrar = 'La etapa seleccionada no tiene lotes para eliminar.';
+ SET @ErrorTipo = 2;
+ RETURN;
+ END;
+
+
+ SELECT @Cantidad AS [LotesEliminados];
+ SET @Return = 1;
+ END TRY
+ BEGIN CATCH
+
+ SET @ErrorMostrar = 'Ocurrió un error al eliminar los lotes de la etapa; favor de contactar a Sistemas.';
+ SET @ErrorTipo = 1;
+ SET @Return = 0;
+
+ DECLARE @ErrorTecnico nvarchar(2048) = CONCAT(
+ 'Número: ', ERROR_NUMBER(),
+ '; Procedimiento: ', COALESCE(ERROR_PROCEDURE(), 'PA_Fraccionamientos_LoteStageClear'),
+ '; Línea: ', ERROR_LINE(),
+ '; Detalle: ', ERROR_MESSAGE()
+ );
+
+ RAISERROR(N'%s', 10, 1, @ErrorTecnico);
+ END CATCH;
+END;
+
+GO
+
+DECLARE @Sql nvarchar(max);
+
+SELECT @Sql = STRING_AGG(
+ CONVERT(nvarchar(max),
+ N'DROP INDEX ' + QUOTENAME(I.[name]) + N' ON ' +
+ QUOTENAME(S.[name]) + N'.' + QUOTENAME(T.[name]) + N';'),
+ CHAR(13) + CHAR(10)
+)
+FROM sys.indexes AS I
+INNER JOIN sys.tables AS T ON T.[object_id] = I.[object_id]
+INNER JOIN sys.schemas AS S ON S.[schema_id] = T.[schema_id]
+WHERE EXISTS
+(
+ SELECT 1
+ FROM sys.index_columns AS IC
+ INNER JOIN sys.columns AS C
+ ON C.[object_id] = IC.[object_id]
+ AND C.[column_id] = IC.[column_id]
+ WHERE IC.[object_id] = I.[object_id]
+ AND IC.[index_id] = I.[index_id]
+ AND C.[name] IN (N'Borrado', N'FechaBorrado')
+)
+OR I.[filter_definition] LIKE N'%Borrado%'
+OR I.[filter_definition] LIKE N'%FechaBorrado%';
+
+IF NULLIF(@Sql, N'') IS NOT NULL
+ EXEC sys.sp_executesql @Sql;
+
+SELECT @Sql = STRING_AGG(
+ CONVERT(nvarchar(max),
+ N'DROP STATISTICS ' + QUOTENAME(S.[name]) + N'.' +
+ QUOTENAME(T.[name]) + N'.' + QUOTENAME(ST.[name]) + N';'),
+ CHAR(13) + CHAR(10)
+)
+FROM sys.stats AS ST
+INNER JOIN sys.tables AS T ON T.[object_id] = ST.[object_id]
+INNER JOIN sys.schemas AS S ON S.[schema_id] = T.[schema_id]
+WHERE ST.[user_created] = (1)
+ AND EXISTS
+ (
+ SELECT 1
+ FROM sys.stats_columns AS SC
+ INNER JOIN sys.columns AS C
+ ON C.[object_id] = SC.[object_id]
+ AND C.[column_id] = SC.[column_id]
+ WHERE SC.[object_id] = ST.[object_id]
+ AND SC.[stats_id] = ST.[stats_id]
+ AND C.[name] IN (N'Borrado', N'FechaBorrado')
+ );
+
+IF NULLIF(@Sql, N'') IS NOT NULL
+ EXEC sys.sp_executesql @Sql;
+
+SELECT @Sql = STRING_AGG(
+ CONVERT(nvarchar(max),
+ N'ALTER TABLE ' + QUOTENAME(S.[name]) + N'.' + QUOTENAME(T.[name]) +
+ N' DROP CONSTRAINT ' + QUOTENAME(O.[name]) + N';'),
+ CHAR(13) + CHAR(10)
+)
+FROM
+(
+ SELECT DC.[parent_object_id] AS [object_id], DC.[name]
+ FROM sys.default_constraints AS DC
+ INNER JOIN sys.columns AS C
+ ON C.[object_id] = DC.[parent_object_id]
+ AND C.[column_id] = DC.[parent_column_id]
+ WHERE C.[name] IN (N'Borrado', N'FechaBorrado')
+
+ UNION ALL
+
+ SELECT CC.[parent_object_id], CC.[name]
+ FROM sys.check_constraints AS CC
+ WHERE CC.[definition] LIKE N'%Borrado%'
+ OR CC.[definition] LIKE N'%FechaBorrado%'
+) AS O
+INNER JOIN sys.tables AS T ON T.[object_id] = O.[object_id]
+INNER JOIN sys.schemas AS S ON S.[schema_id] = T.[schema_id];
+
+IF NULLIF(@Sql, N'') IS NOT NULL
+ EXEC sys.sp_executesql @Sql;
+
+SELECT @Sql = STRING_AGG(
+ CONVERT(nvarchar(max),
+ N'ALTER TABLE ' + QUOTENAME(S.[name]) + N'.' + QUOTENAME(T.[name]) +
+ N' DROP COLUMN ' + QUOTENAME(C.[name]) + N';'),
+ CHAR(13) + CHAR(10)
+)
+FROM sys.tables AS T
+INNER JOIN sys.schemas AS S ON S.[schema_id] = T.[schema_id]
+INNER JOIN sys.columns AS C ON C.[object_id] = T.[object_id]
+WHERE C.[name] IN (N'FechaBorrado', N'Borrado');
+
+IF NULLIF(@Sql, N'') IS NOT NULL
+ EXEC sys.sp_executesql @Sql;
+
+IF NOT EXISTS (SELECT 1 FROM sys.indexes WHERE [object_id] = OBJECT_ID(N'dbo.FraccionamientosLotes') AND [name] = N'IX_FraccionamientosLotes_Etapa')
+CREATE NONCLUSTERED INDEX [IX_FraccionamientosLotes_Etapa]
+ON [dbo].[FraccionamientosLotes] ([CveFraccionamientoEtapa])
+INCLUDE ([Numero], [Tipo], [Calle], [Catastro], [MetrosCuadrados], [Duplicador], [EsActivo]);
+
+IF NOT EXISTS (SELECT 1 FROM sys.indexes WHERE [object_id] = OBJECT_ID(N'dbo.Gral_SAT_Colonia') AND [name] = N'IX_Gral_SAT_Colonia_CP_Vigente')
+CREATE NONCLUSTERED INDEX [IX_Gral_SAT_Colonia_CP_Vigente]
+ON [dbo].[Gral_SAT_Colonia] ([CP])
+INCLUDE ([CveColonia], [ClaveSATColonia], [NombreAsentamiento]);
+
+IF NOT EXISTS (SELECT 1 FROM sys.indexes WHERE [object_id] = OBJECT_ID(N'dbo.Gral_SAT_CP') AND [name] = N'IX_Gral_SAT_CP_BusquedaRegistro')
+CREATE NONCLUSTERED INDEX [IX_Gral_SAT_CP_BusquedaRegistro]
+ON [dbo].[Gral_SAT_CP] ([CP])
+INCLUDE ([CveCP], [ClaveSATEstado], [ClaveSATMunicipio], [ClaveSATLocalidad]);
+
+IF NOT EXISTS (SELECT 1 FROM sys.indexes WHERE [object_id] = OBJECT_ID(N'dbo.Gral_SAT_Localidad') AND [name] = N'IX_Gral_SAT_Localidad_Claves_Vigente')
+CREATE NONCLUSTERED INDEX [IX_Gral_SAT_Localidad_Claves_Vigente]
+ON [dbo].[Gral_SAT_Localidad] ([ClaveSATEstado], [ClaveSATLocalidad])
+INCLUDE ([CveLocalidad], [NombreLocalidad]);
+
+IF NOT EXISTS (SELECT 1 FROM sys.indexes WHERE [object_id] = OBJECT_ID(N'dbo.Gral_SAT_Municipio') AND [name] = N'IX_Gral_SAT_Municipio_Claves_Vigente')
+CREATE NONCLUSTERED INDEX [IX_Gral_SAT_Municipio_Claves_Vigente]
+ON [dbo].[Gral_SAT_Municipio] ([ClaveSATEstado], [ClaveSATMunicipio])
+INCLUDE ([CveMunicipio], [Descripcion]);
+
+IF NOT EXISTS (SELECT 1 FROM sys.indexes WHERE [object_id] = OBJECT_ID(N'dbo.Sis_UsuariosClientes') AND [name] = N'UX_Sis_UsuariosClientes_Usuario_Cliente')
+CREATE UNIQUE NONCLUSTERED INDEX [UX_Sis_UsuariosClientes_Usuario_Cliente]
+ON [dbo].[Sis_UsuariosClientes] ([CveUsuario], [CveCliente]);
+
+IF NOT EXISTS (SELECT 1 FROM sys.indexes WHERE [object_id] = OBJECT_ID(N'dbo.Sis_UsuariosClientes') AND [name] = N'UX_Sis_UsuariosClientes_Usuario_Orden')
+CREATE UNIQUE NONCLUSTERED INDEX [UX_Sis_UsuariosClientes_Usuario_Orden]
+ON [dbo].[Sis_UsuariosClientes] ([CveUsuario], [Orden])
+WHERE [Activo] = (1);
+
+IF NOT EXISTS (SELECT 1 FROM sys.indexes WHERE [object_id] = OBJECT_ID(N'dbo.Sis_UsuariosVerificacionesCorreo') AND [name] = N'IX_Sis_UsuariosVerificacionesCorreo_Pendiente')
+CREATE NONCLUSTERED INDEX [IX_Sis_UsuariosVerificacionesCorreo_Pendiente]
+ON [dbo].[Sis_UsuariosVerificacionesCorreo] ([CveUsuario], [Utilizado], [FechaExpiracion]);
+GO
diff --git a/Migracion_Collation_CS_AS_20260723.sql b/Migracion_Collation_CS_AS_20260723.sql
new file mode 100644
index 0000000..20506b8
--- /dev/null
+++ b/Migracion_Collation_CS_AS_20260723.sql
@@ -0,0 +1,703 @@
+SET NOCOUNT ON;
+SET XACT_ABORT ON;
+SET ANSI_NULLS ON;
+SET QUOTED_IDENTIFIER ON;
+
+/* Texto general: CS_AS. Codigo* e identificadores reales de usuario: CI_AS. */
+IF EXISTS (SELECT 1 FROM [dbo].[Clasificaciones] GROUP BY [Clasificacion] COLLATE Modern_Spanish_CS_AS, [Codigo] COLLATE Modern_Spanish_CI_AS HAVING COUNT_BIG(*) > 1) THROW 51000, N'La conversión genera duplicados en dbo.Clasificaciones, índice UN_Clasificacion.', 1;
+IF EXISTS (SELECT 1 FROM [dbo].[Sis_Permisos] GROUP BY [CodigoPermiso] COLLATE Modern_Spanish_CI_AS HAVING COUNT_BIG(*) > 1) THROW 51000, N'La conversión genera duplicados en dbo.Sis_Permisos, índice UQ_Sis_Permisos_CodigoPermiso.', 1;
+IF EXISTS (SELECT 1 FROM [dbo].[Sis_Usuarios] GROUP BY [NombreUsuario] COLLATE Modern_Spanish_CI_AS HAVING COUNT_BIG(*) > 1) THROW 51000, N'La conversión genera duplicados en dbo.Sis_Usuarios, índice UQ_Sis_Usuarios_NombreUsuario.', 1;
+IF EXISTS (SELECT 1 FROM [dbo].[Tra_EstatusSolicitud] GROUP BY [Codigo] COLLATE Modern_Spanish_CI_AS HAVING COUNT_BIG(*) > 1) THROW 51000, N'La conversión genera duplicados en dbo.Tra_EstatusSolicitud, índice UQ_Tra_EstatusSolicitud_Codigo.', 1;
+IF EXISTS (SELECT 1 FROM [dbo].[Tra_Preguntas] WHERE ([Codigo] IS NOT NULL) GROUP BY [Codigo] COLLATE Modern_Spanish_CI_AS HAVING COUNT_BIG(*) > 1) THROW 51000, N'La conversión genera duplicados en dbo.Tra_Preguntas, índice UX_Tra_Preguntas_Codigo.', 1;
+IF EXISTS (SELECT 1 FROM [dbo].[Tra_TiposTramite] GROUP BY [Codigo] COLLATE Modern_Spanish_CI_AS HAVING COUNT_BIG(*) > 1) THROW 51000, N'La conversión genera duplicados en dbo.Tra_TiposTramite, índice UQ_Tra_TiposTramite_Codigo.', 1;
+
+BEGIN TRY
+ BEGIN TRANSACTION;
+
+ /* Eliminar llaves foráneas */
+ ALTER TABLE [dbo].[EstatusFactura] DROP CONSTRAINT [FK_EstatusFactura_Vta_TipoDocumentos];
+ ALTER TABLE [dbo].[Ventas] DROP CONSTRAINT [FK_Ventas_Vta_TipoDocumentos];
+
+ /* Eliminar CHECK */
+ ALTER TABLE [dbo].[Bit_Bitacora] DROP CONSTRAINT [CK_Bit_Bitacora_Autorizacion];
+ ALTER TABLE [dbo].[Bit_BitacoraRelaciones] DROP CONSTRAINT [CK_Bit_BitacoraRelaciones_ValorRelacion];
+ ALTER TABLE [dbo].[Clientes] DROP CONSTRAINT [CK_Clientes_RFC_Requerido];
+ ALTER TABLE [dbo].[Conta_Cuentas] DROP CONSTRAINT [CK_Conta_Cuentas_Padre];
+ ALTER TABLE [dbo].[Conta_Cuentas] DROP CONSTRAINT [CK_Conta_Cuentas_Padre_Requerido];
+ ALTER TABLE [dbo].[Conta_PrePolizas] DROP CONSTRAINT [CK_Conta_PrePolizas_Concepto];
+ ALTER TABLE [dbo].[Conta_PrePolizas] DROP CONSTRAINT [CK_Conta_PrePolizas_Fecha_2000_2050];
+ ALTER TABLE [dbo].[Conta_PrePolizas] DROP CONSTRAINT [CK_Conta_PrePolizas_FolioPoliza];
+ ALTER TABLE [dbo].[Fraccionamientos] DROP CONSTRAINT [CK_Fraccionamientos_Hectareas];
+ ALTER TABLE [dbo].[FraccionamientosEtapas] DROP CONSTRAINT [CK_FraccionamientosEtapas_Hectareas];
+ ALTER TABLE [dbo].[FraccionamientosLotes] DROP CONSTRAINT [CK_FraccionamientosLotes_MetrosCuadrados];
+ ALTER TABLE [dbo].[ProductosServicios] DROP CONSTRAINT [CK_AsientoContableCompras];
+ ALTER TABLE [dbo].[ProductosServicios] DROP CONSTRAINT [CK_AsientoContableVentas];
+ ALTER TABLE [dbo].[ProductosServicios] DROP CONSTRAINT [CK_ProductosServicios_IVA];
+ ALTER TABLE [dbo].[Sis_Notificaciones] DROP CONSTRAINT [CK_Sis_Notificaciones_Estado];
+ ALTER TABLE [dbo].[Sis_Notificaciones] DROP CONSTRAINT [CK_Sis_Notificaciones_Tipo];
+ ALTER TABLE [dbo].[Sis_NotificacionesEnvios] DROP CONSTRAINT [CK_Sis_NotificacionesEnvios_Canal];
+ ALTER TABLE [dbo].[Sis_NotificacionesEnvios] DROP CONSTRAINT [CK_Sis_NotificacionesEnvios_Estado];
+ ALTER TABLE [dbo].[Sis_PoliticasLimpieza] DROP CONSTRAINT [CK_Sis_PoliticasLimpieza_DiasRetencion];
+ ALTER TABLE [dbo].[Sis_PoliticasLimpieza] DROP CONSTRAINT [CK_Sis_PoliticasLimpieza_TamanoLote];
+ ALTER TABLE [dbo].[Sis_UsuariosAutorizaciones] DROP CONSTRAINT [CK_Sis_UsuariosAutorizaciones_Estado];
+ ALTER TABLE [dbo].[Tra_CostosTramite] DROP CONSTRAINT [CK_Tra_CostosTramite_Importe];
+ ALTER TABLE [dbo].[Tra_CostosTramite] DROP CONSTRAINT [CK_Tra_CostosTramite_Vigencia];
+ ALTER TABLE [dbo].[Tra_DocumentosSolicitud] DROP CONSTRAINT [CK_Tra_DocumentosSolicitud_Tamano];
+ ALTER TABLE [dbo].[Tra_RespuestasSolicitud] DROP CONSTRAINT [CK_Tra_RespuestasSolicitud_Valor];
+ ALTER TABLE [dbo].[Tra_SolicitudesDependencias] DROP CONSTRAINT [CK_Tra_SolicitudesDependencias_Diferentes];
+ ALTER TABLE [dbo].[Tra_TiposDocumento] DROP CONSTRAINT [CK_Tra_TiposDocumento_Tamano];
+ ALTER TABLE [dbo].[Ventas] DROP CONSTRAINT [CHK_VentasMail];
+ ALTER TABLE [dbo].[Ventas] DROP CONSTRAINT [CK_Ventas];
+ ALTER TABLE [dbo].[Ventas] DROP CONSTRAINT [CK_Ventas_1];
+ ALTER TABLE [dbo].[Ventas] DROP CONSTRAINT [CK_Ventas_Dev_CveVentaPadre];
+ ALTER TABLE [dbo].[Ventas] DROP CONSTRAINT [CK_Ventas_FechaEjecucion_MinMax];
+ ALTER TABLE [dbo].[Ventas] DROP CONSTRAINT [CK_Ventas_Moneda_TipoCambio];
+ ALTER TABLE [dbo].[Ventas] DROP CONSTRAINT [CK_Ventas_TMp_AlmacenInactivo];
+ ALTER TABLE [dbo].[Ventas] DROP CONSTRAINT [CK_Ventas_Total];
+ ALTER TABLE [dbo].[Vta_Pagos] DROP CONSTRAINT [CK_Vta_Pagos_Importe];
+ ALTER TABLE [dbo].[Vta_Pagos] DROP CONSTRAINT [CK_Vta_Pagos_SaldoFavor];
+
+ /* Eliminar índices */
+ ALTER TABLE [dbo].[Banc_Bancos] DROP CONSTRAINT [UN_Bancos];
+ ALTER TABLE [dbo].[Banc_BancosCuentas] DROP CONSTRAINT [UN_Banc_BancosCuentas];
+ ALTER TABLE [dbo].[Banc_TiposCuenta] DROP CONSTRAINT [UN_BancTipoCuenta];
+ DROP INDEX [IX_Bit_Bitacora_Tabla_Llave_Fecha] ON [dbo].[Bit_Bitacora];
+ DROP INDEX [IX_Bit_BitacoraRelaciones_Tabla_Llave] ON [dbo].[Bit_BitacoraRelaciones];
+ DROP INDEX [IX_Bit_BitacoraRelaciones_Filtro] ON [dbo].[Bit_BitacoraRelaciones];
+ DROP INDEX [IX_Bit_BitacoraRelaciones_FiltroTexto] ON [dbo].[Bit_BitacoraRelaciones];
+ ALTER TABLE [dbo].[Bit_Campos] DROP CONSTRAINT [UQ_Bit_Campos_Tabla_Campo];
+ ALTER TABLE [dbo].[Bit_DefinicionesAccion] DROP CONSTRAINT [UQ_Bit_DefinicionesAccion];
+ ALTER TABLE [dbo].[Bit_Tablas] DROP CONSTRAINT [UQ_Bit_Tablas_NombreTablaSQL];
+ ALTER TABLE [dbo].[Bit_TiposMovimiento] DROP CONSTRAINT [UQ_Bit_TiposMovimiento_Nombre];
+ ALTER TABLE [dbo].[Bit_TiposRelacion] DROP CONSTRAINT [UQ_Bit_TiposRelacion_Nombre];
+ ALTER TABLE [dbo].[Clasificaciones] DROP CONSTRAINT [UN_Clasificacion];
+ ALTER TABLE [dbo].[Conta_ConceptosContables] DROP CONSTRAINT [UN_Conta_ConceptosContables];
+ ALTER TABLE [dbo].[Conta_TiposPoliza] DROP CONSTRAINT [UN_ContaTipoPoliza];
+ ALTER TABLE [dbo].[Fraccionamientos] DROP CONSTRAINT [UQ_Fraccionamientos_Cliente_Nombre];
+ ALTER TABLE [dbo].[FraccionamientosEtapas] DROP CONSTRAINT [UQ_FraccionamientosEtapas_Fraccionamiento_Etapa];
+ DROP INDEX [IX_FraccionamientosLotes_Etapa] ON [dbo].[FraccionamientosLotes];
+ ALTER TABLE [dbo].[Gral_Categorias] DROP CONSTRAINT [UK_Gral_Categorias];
+ ALTER TABLE [dbo].[Gral_Monedas] DROP CONSTRAINT [UN_Moneda];
+ DROP INDEX [IND_Gral_SAT_Colonia_CP] ON [dbo].[Gral_SAT_Colonia];
+ DROP INDEX [IX_Gral_SAT_Colonia_CP_Vigente] ON [dbo].[Gral_SAT_Colonia];
+ DROP INDEX [IND_Gral_SAT_CP_ClaveSATEstado] ON [dbo].[Gral_SAT_CP];
+ ALTER TABLE [dbo].[Gral_SAT_CP] DROP CONSTRAINT [UQ_Gral_SAT_CP_CP];
+ DROP INDEX [IX_Gral_SAT_CP_BusquedaRegistro] ON [dbo].[Gral_SAT_CP];
+ DROP INDEX [IX_Gral_SAT_Localidad_Claves_Vigente] ON [dbo].[Gral_SAT_Localidad];
+ DROP INDEX [IX_Gral_SAT_Municipio_Claves_Vigente] ON [dbo].[Gral_SAT_Municipio];
+ ALTER TABLE [dbo].[Gral_SAT_UnidadesMedida] DROP CONSTRAINT [UK_Gral_SAT_UnidadesMedida];
+ ALTER TABLE [dbo].[Inv_Almacenes] DROP CONSTRAINT [UN_INV_Almacenes];
+ ALTER TABLE [dbo].[Inv_TiposAlmacenes] DROP CONSTRAINT [UN_INV_TiposAlmacenes];
+ ALTER TABLE [dbo].[Proyectos] DROP CONSTRAINT [UN_Proyectos];
+ ALTER TABLE [dbo].[Sat_Bancos] DROP CONSTRAINT [UQ_Sat_Bancos_CveBanco];
+ DROP INDEX [IX_Sis_IntentosInicioSesion_NombreUsuario_FechaCreacion] ON [dbo].[Sis_IntentosInicioSesion];
+ ALTER TABLE [dbo].[Sis_Permisos] DROP CONSTRAINT [UQ_Sis_Permisos_CodigoPermiso];
+ ALTER TABLE [dbo].[Sis_Plataformas] DROP CONSTRAINT [UQ_Sis_Plataformas_NombrePlataforma];
+ ALTER TABLE [dbo].[Sis_PoliticasLimpieza] DROP CONSTRAINT [PK_Sis_PoliticasLimpieza];
+ ALTER TABLE [dbo].[Sis_Roles] DROP CONSTRAINT [UQ_Sis_Roles_NombreRol];
+ ALTER TABLE [dbo].[Sis_Usuarios] DROP CONSTRAINT [UQ_Sis_Usuarios_NombreUsuario];
+ DROP INDEX [UQ_Sis_Usuarios_CorreoElectronico] ON [dbo].[Sis_Usuarios];
+ ALTER TABLE [dbo].[Sis_UsuariosSesiones] DROP CONSTRAINT [UQ_Sis_UsuariosSesiones_TokenSesion];
+ ALTER TABLE [dbo].[Sis_UsuariosVerificacionesCorreo] DROP CONSTRAINT [UQ_Sis_UsuariosVerificacionesCorreo_HashToken];
+ ALTER TABLE [dbo].[SubProyectos] DROP CONSTRAINT [UN_SubProyectos];
+ ALTER TABLE [dbo].[Tra_EstatusSolicitud] DROP CONSTRAINT [UQ_Tra_EstatusSolicitud_Codigo];
+ ALTER TABLE [dbo].[Tra_OpcionesPregunta] DROP CONSTRAINT [UQ_Tra_OpcionesPregunta_Pregunta_Texto];
+ DROP INDEX [UX_Tra_Preguntas_Codigo] ON [dbo].[Tra_Preguntas];
+ ALTER TABLE [dbo].[Tra_Solicitudes] DROP CONSTRAINT [UQ_Tra_Solicitudes_Folio];
+ ALTER TABLE [dbo].[Tra_TiposDocumento] DROP CONSTRAINT [UQ_Tra_TiposDocumento_Nombre];
+ ALTER TABLE [dbo].[Tra_TiposTramite] DROP CONSTRAINT [UQ_Tra_TiposTramite_Codigo];
+ ALTER TABLE [dbo].[UnidadesMedida] DROP CONSTRAINT [UN_UnidadesMedida];
+ ALTER TABLE [dbo].[Ventas] DROP CONSTRAINT [UK_Ventas_TipoDocto_Serie_Folio_CveSubProyecto];
+ ALTER TABLE [dbo].[Vta_ClientesSucursales] DROP CONSTRAINT [UN_Vta_ClientesSucursales];
+ ALTER TABLE [dbo].[Vta_TipoDocumentos] DROP CONSTRAINT [PK_Vta_TipoDocumentos];
+
+ /* Eliminar estadísticas */
+ DROP STATISTICS [dbo].[Bit_Bitacora].[_WA_Sys_00000008_1590259A];
+ DROP STATISTICS [dbo].[Bit_Bitacora].[_WA_Sys_0000000D_1590259A];
+ DROP STATISTICS [dbo].[Bit_Campos].[_WA_Sys_00000003_0559BDD1];
+ DROP STATISTICS [dbo].[Bit_Campos].[_WA_Sys_00000009_0559BDD1];
+ DROP STATISTICS [dbo].[Clientes].[_WA_Sys_00000013_3D2915A8];
+ DROP STATISTICS [dbo].[Fraccionamientos].[_WA_Sys_00000003_3BCADD1B];
+ DROP STATISTICS [dbo].[Fraccionamientos].[_WA_Sys_00000005_3BCADD1B];
+ DROP STATISTICS [dbo].[Fraccionamientos_Estatus].[_WA_Sys_00000002_50E5F592];
+ DROP STATISTICS [dbo].[Gral_SAT_CP].[_WA_Sys_00000003_2CA8951C];
+ DROP STATISTICS [dbo].[Gral_SAT_CP].[_WA_Sys_00000004_2CA8951C];
+ DROP STATISTICS [dbo].[Gral_SAT_Estado].[_WA_Sys_00000002_6225902D];
+ DROP STATISTICS [dbo].[Gral_SAT_Estado].[_WA_Sys_00000003_6225902D];
+ DROP STATISTICS [dbo].[Gral_SAT_Localidad].[_WA_Sys_00000002_603D47BB];
+ DROP STATISTICS [dbo].[Gral_SAT_Localidad].[_WA_Sys_00000003_603D47BB];
+ DROP STATISTICS [dbo].[Gral_SAT_Municipio].[_WA_Sys_00000002_2D9CB955];
+ DROP STATISTICS [dbo].[Gral_SAT_Municipio].[_WA_Sys_00000003_2D9CB955];
+ DROP STATISTICS [dbo].[Gral_SAT_Pais].[_WA_Sys_00000002_32616E72];
+ DROP STATISTICS [dbo].[Sis_Modulos].[_WA_Sys_00000004_4BAC3F29];
+ DROP STATISTICS [dbo].[Sis_Modulos].[_WA_Sys_00000006_4BAC3F29];
+ DROP STATISTICS [dbo].[Sis_Usuarios].[_WA_Sys_00000004_440B1D61];
+
+ /* Eliminar columnas calculadas */
+ ALTER TABLE [dbo].[Conta_PrePolizas] DROP COLUMN [AnioMes];
+ ALTER TABLE [dbo].[ProductosServicios] DROP COLUMN [CodigoPS];
+ ALTER TABLE [dbo].[Ventas] DROP COLUMN [SerieFolio];
+
+ /* Alterar columnas */
+ ALTER TABLE [dbo].[Banc_Bancos] ALTER COLUMN [Banco] [varchar](50) COLLATE Modern_Spanish_CS_AS NOT NULL;
+ ALTER TABLE [dbo].[Banc_Bancos] ALTER COLUMN [Ejecutivo] [varchar](50) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[Banc_Bancos] ALTER COLUMN [Telefono] [varchar](10) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[Banc_BancosCuentas] ALTER COLUMN [NumCuenta] [varchar](50) COLLATE Modern_Spanish_CS_AS NOT NULL;
+ ALTER TABLE [dbo].[Banc_BancosCuentas] ALTER COLUMN [CLABE] [varchar](18) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[Banc_BancosCuentas] ALTER COLUMN [FormatoCheque] [varchar](50) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[Banc_BancosCuentas] ALTER COLUMN [ConvenioPagoElectronico] [varchar](10) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[Banc_BancosCuentas] ALTER COLUMN [PrefijoConta] [varchar](2) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[Banc_BancosCuentas] ALTER COLUMN [ConvenioPagoElectronicoGrupos] [varchar](10) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[Banc_BancosCuentas] ALTER COLUMN [NumeroSucursal] [varchar](10) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[Banc_BancosCuentas] ALTER COLUMN [ConvenioPagoElectronicoNomina] [varchar](10) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[Banc_TiposCuenta] ALTER COLUMN [TipoCuenta] [varchar](50) COLLATE Modern_Spanish_CS_AS NOT NULL;
+ ALTER TABLE [dbo].[Bit_Bitacora] ALTER COLUMN [LlaveRegistro] [nvarchar](250) COLLATE Modern_Spanish_CS_AS NOT NULL;
+ ALTER TABLE [dbo].[Bit_Bitacora] ALTER COLUMN [DescripcionMovimiento] [nvarchar](1000) COLLATE Modern_Spanish_CS_AS NOT NULL;
+ ALTER TABLE [dbo].[Bit_Bitacora] ALTER COLUMN [DireccionIP] [varchar](50) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[Bit_Bitacora] ALTER COLUMN [NombreEquipo] [varchar](150) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[Bit_Bitacora] ALTER COLUMN [Modulo] [varchar](150) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[Bit_BitacoraCampos] ALTER COLUMN [ValorAnterior] [nvarchar](MAX) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[Bit_BitacoraCampos] ALTER COLUMN [ValorNuevo] [nvarchar](MAX) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[Bit_BitacoraRelaciones] ALTER COLUMN [LlaveRegistroRelacionada] [nvarchar](250) COLLATE Modern_Spanish_CS_AS NOT NULL;
+ ALTER TABLE [dbo].[Bit_BitacoraRelaciones] ALTER COLUMN [ValorRelacionTexto] [nvarchar](250) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[Bit_BitacoraRelaciones] ALTER COLUMN [DescripcionRelacion] [nvarchar](500) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[Bit_Campos] ALTER COLUMN [NombreCampoSQL] [varchar](128) COLLATE Modern_Spanish_CS_AS NOT NULL;
+ ALTER TABLE [dbo].[Bit_Campos] ALTER COLUMN [NombreMostrar] [varchar](150) COLLATE Modern_Spanish_CS_AS NOT NULL;
+ ALTER TABLE [dbo].[Bit_Campos] ALTER COLUMN [TipoDatoSQL] [varchar](128) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[Bit_DefinicionesAccion] ALTER COLUMN [NombreAccion] [varchar](150) COLLATE Modern_Spanish_CS_AS NOT NULL;
+ ALTER TABLE [dbo].[Bit_DefinicionesAccion] ALTER COLUMN [DescripcionAccion] [varchar](500) COLLATE Modern_Spanish_CS_AS NOT NULL;
+ ALTER TABLE [dbo].[Bit_Tablas] ALTER COLUMN [NombreTablaSQL] [varchar](128) COLLATE Modern_Spanish_CS_AS NOT NULL;
+ ALTER TABLE [dbo].[Bit_Tablas] ALTER COLUMN [NombreMostrar] [varchar](150) COLLATE Modern_Spanish_CS_AS NOT NULL;
+ ALTER TABLE [dbo].[Bit_Tablas] ALTER COLUMN [Descripcion] [varchar](500) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[Bit_Tablas] ALTER COLUMN [NombreCampoLlaveSQL] [varchar](128) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[Bit_TiposMovimiento] ALTER COLUMN [Nombre] [varchar](50) COLLATE Modern_Spanish_CS_AS NOT NULL;
+ ALTER TABLE [dbo].[Bit_TiposMovimiento] ALTER COLUMN [Descripcion] [varchar](250) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[Bit_TiposRelacion] ALTER COLUMN [Nombre] [varchar](100) COLLATE Modern_Spanish_CS_AS NOT NULL;
+ ALTER TABLE [dbo].[Bit_TiposRelacion] ALTER COLUMN [Descripcion] [varchar](300) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[Clasificaciones] ALTER COLUMN [Codigo] [varchar](20) COLLATE Modern_Spanish_CI_AS NULL;
+ ALTER TABLE [dbo].[Clasificaciones] ALTER COLUMN [Clasificacion] [varchar](200) COLLATE Modern_Spanish_CS_AS NOT NULL;
+ ALTER TABLE [dbo].[Clientes] ALTER COLUMN [Nombre] [varchar](200) COLLATE Modern_Spanish_CS_AS NOT NULL;
+ ALTER TABLE [dbo].[Clientes] ALTER COLUMN [Codigo] [varchar](50) COLLATE Modern_Spanish_CI_AS NULL;
+ ALTER TABLE [dbo].[Clientes] ALTER COLUMN [NombreCorto] [varchar](30) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[Clientes] ALTER COLUMN [NombreComercial] [varchar](200) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[Clientes] ALTER COLUMN [ApellidoPaterno] [varchar](50) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[Clientes] ALTER COLUMN [ApellidoMaterno] [varchar](50) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[Clientes] ALTER COLUMN [Nombres] [varchar](50) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[Clientes] ALTER COLUMN [Sucursal] [varchar](20) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[Clientes] ALTER COLUMN [Direccion] [varchar](90) COLLATE Modern_Spanish_CS_AS NOT NULL;
+ ALTER TABLE [dbo].[Clientes] ALTER COLUMN [NoExt] [varchar](20) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[Clientes] ALTER COLUMN [NoInt] [varchar](50) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[Clientes] ALTER COLUMN [Colonia] [varchar](50) COLLATE Modern_Spanish_CS_AS NOT NULL;
+ ALTER TABLE [dbo].[Clientes] ALTER COLUMN [Localidad] [varchar](50) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[Clientes] ALTER COLUMN [Ciudad] [varchar](50) COLLATE Modern_Spanish_CS_AS NOT NULL;
+ ALTER TABLE [dbo].[Clientes] ALTER COLUMN [Estado] [varchar](35) COLLATE Modern_Spanish_CS_AS NOT NULL;
+ ALTER TABLE [dbo].[Clientes] ALTER COLUMN [Pais] [varchar](50) COLLATE Modern_Spanish_CS_AS NOT NULL;
+ ALTER TABLE [dbo].[Clientes] ALTER COLUMN [RFC] [varchar](15) COLLATE Modern_Spanish_CS_AS NOT NULL;
+ ALTER TABLE [dbo].[Clientes] ALTER COLUMN [CP] [varchar](10) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[Clientes] ALTER COLUMN [Telefono] [varchar](25) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[Clientes] ALTER COLUMN [TelefonoExtension] [varchar](10) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[Clientes] ALTER COLUMN [TelefonoOtros] [varchar](50) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[Clientes] ALTER COLUMN [Contacto] [varchar](255) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[Clientes] ALTER COLUMN [Mail] [varchar](500) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[Clientes] ALTER COLUMN [Pagina] [varchar](50) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[Clientes] ALTER COLUMN [Giro] [varchar](50) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[Clientes] ALTER COLUMN [NotificarA] [varchar](500) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[Clientes] ALTER COLUMN [ConvenioCIE] [varchar](50) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[Clientes] ALTER COLUMN [RecepcionPagos] [varchar](15) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[Clientes] ALTER COLUMN [TipoPago] [varchar](50) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[Clientes] ALTER COLUMN [Vendedor] [varchar](20) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[Clientes] ALTER COLUMN [Tipo] [varchar](3) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[Clientes] ALTER COLUMN [FormaFacturacion] [varchar](13) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[Clientes] ALTER COLUMN [NumCtaPago] [varchar](30) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[Clientes] ALTER COLUMN [FEMSA_NumSociedad] [varchar](4) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[Clientes] ALTER COLUMN [FEMSA_NumProveedor] [varchar](10) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[Clientes] ALTER COLUMN [FEMSA_Mail] [varchar](50) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[Clientes] ALTER COLUMN [Detallista_GLNComprador] [varchar](18) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[Clientes] ALTER COLUMN [Detallista_Departamento] [varchar](50) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[Clientes] ALTER COLUMN [Detallista_GLNVendedor] [varchar](18) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[Clientes] ALTER COLUMN [Detallista_NumProveedor] [varchar](10) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[Clientes] ALTER COLUMN [SevenEleven_NumProveedor] [varchar](20) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[Clientes] ALTER COLUMN [Ford_GSDB] [varchar](5) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[Clientes] ALTER COLUMN [MailCotizacion] [varchar](300) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[Clientes] ALTER COLUMN [CobranzaContacto] [varchar](255) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[Clientes] ALTER COLUMN [CobranzaTelefono] [varchar](10) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[Clientes] ALTER COLUMN [CobranzaExt] [varchar](10) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[Clientes] ALTER COLUMN [CobranzaCorreo] [varchar](2000) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[Clientes] ALTER COLUMN [Horario] [varchar](50) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[Clientes] ALTER COLUMN [Documentacion] [varchar](255) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[Clientes] ALTER COLUMN [PortalFacturacion] [varchar](255) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[Clientes] ALTER COLUMN [DiasPago] [varchar](50) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[Clientes] ALTER COLUMN [UsuarioPortal] [varchar](50) COLLATE Modern_Spanish_CI_AS NULL;
+ ALTER TABLE [dbo].[Clientes] ALTER COLUMN [PasswordPortal] [varchar](50) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[Clientes] ALTER COLUMN [DiasRevision] [varchar](50) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[Clientes] ALTER COLUMN [ObservacionRevision] [varchar](255) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[Clientes] ALTER COLUMN [ReferenciaFiscal] [varchar](100) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[Clientes] ALTER COLUMN [Celular] [varchar](15) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[Clientes] ALTER COLUMN [ExtOtros] [varchar](15) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[Clientes] ALTER COLUMN [NumRegIdTrib] [varchar](50) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[Clientes] ALTER COLUMN [ComExtEstado] [varchar](50) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[Clientes] ALTER COLUMN [ComExtMunicipio] [varchar](50) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[Clientes] ALTER COLUMN [ComExtColonia] [varchar](50) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[Clientes] ALTER COLUMN [CorreoEntregaCompras] [varchar](50) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[Clientes] ALTER COLUMN [CorreoEntregaAlmacen] [varchar](50) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[Clientes] ALTER COLUMN [Punto] [varchar](100) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[Clientes] ALTER COLUMN [CorreoCumplimiento] [varchar](200) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[Clientes] ALTER COLUMN [RegimenSociedad] [varchar](50) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[Clientes] ALTER COLUMN [RepresentanteLegal] [varchar](100) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[Clientes] ALTER COLUMN [ComExtCalle] [varchar](50) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[Clientes] ALTER COLUMN [ComExtNumExt] [varchar](50) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[Clientes] ALTER COLUMN [ComExtCP] [varchar](10) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[Clientes] ALTER COLUMN [CreditoRegistroFirmas] [varchar](250) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[Clientes] ALTER COLUMN [VentasComplementos] [varchar](MAX) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[Conta_CodigosAgrupadoresSAT] ALTER COLUMN [Codigo] [nvarchar](20) COLLATE Modern_Spanish_CI_AS NOT NULL;
+ ALTER TABLE [dbo].[Conta_CodigosAgrupadoresSAT] ALTER COLUMN [Nombre] [nvarchar](200) COLLATE Modern_Spanish_CS_AS NOT NULL;
+ ALTER TABLE [dbo].[Conta_CodigosAgrupadoresSAT] ALTER COLUMN [Tipo] [nvarchar](1) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[Conta_ConceptosContables] ALTER COLUMN [Tipo] [varchar](5) COLLATE Modern_Spanish_CS_AS NOT NULL;
+ ALTER TABLE [dbo].[Conta_ConceptosContables] ALTER COLUMN [ConceptoContable] [varchar](50) COLLATE Modern_Spanish_CS_AS NOT NULL;
+ ALTER TABLE [dbo].[Conta_Cuentas] ALTER COLUMN [Codigo] [varchar](50) COLLATE Modern_Spanish_CI_AS NOT NULL;
+ ALTER TABLE [dbo].[Conta_Cuentas] ALTER COLUMN [Nombre] [varchar](200) COLLATE Modern_Spanish_CS_AS NOT NULL;
+ ALTER TABLE [dbo].[Conta_Cuentas] ALTER COLUMN [NomIdioma] [varchar](250) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[Conta_Cuentas] ALTER COLUMN [CodigoVinculacion] [varchar](50) COLLATE Modern_Spanish_CI_AS NULL;
+ ALTER TABLE [dbo].[Conta_Cuentas] ALTER COLUMN [CodigoAgrupacion] [varchar](100) COLLATE Modern_Spanish_CI_AS NULL;
+ ALTER TABLE [dbo].[Conta_PlantillasPolizas] ALTER COLUMN [PlantillaPoliza] [varchar](50) COLLATE Modern_Spanish_CS_AS NOT NULL;
+ ALTER TABLE [dbo].[Conta_PrePolizas] ALTER COLUMN [Modulo] [varchar](50) COLLATE Modern_Spanish_CS_AS NOT NULL;
+ ALTER TABLE [dbo].[Conta_PrePolizas] ALTER COLUMN [Concepto] [varchar](200) COLLATE Modern_Spanish_CS_AS NOT NULL;
+ ALTER TABLE [dbo].[Conta_PrePolizas] ALTER COLUMN [NumeroPoliza] [varchar](50) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[Conta_PrePolizas] ALTER COLUMN [CodigoNumeroPoliza] [varchar](5) COLLATE Modern_Spanish_CI_AS NULL;
+ ALTER TABLE [dbo].[Conta_PrePolizasDetalle] ALTER COLUMN [Referencia] [varchar](200) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[Conta_PrePolizasDetalle] ALTER COLUMN [Concepto] [varchar](200) COLLATE Modern_Spanish_CS_AS NOT NULL;
+ ALTER TABLE [dbo].[Conta_TiposPoliza] ALTER COLUMN [TipoPoliza] [varchar](50) COLLATE Modern_Spanish_CS_AS NOT NULL;
+ ALTER TABLE [dbo].[EstatusFactura] ALTER COLUMN [EstatusFactura] [varchar](30) COLLATE Modern_Spanish_CS_AS NOT NULL;
+ ALTER TABLE [dbo].[EstatusFactura] ALTER COLUMN [TipoDocto] [varchar](3) COLLATE Modern_Spanish_CS_AS NOT NULL;
+ ALTER TABLE [dbo].[Fraccionamientos] ALTER COLUMN [Fraccionamiento] [varchar](200) COLLATE Modern_Spanish_CS_AS NOT NULL;
+ ALTER TABLE [dbo].[Fraccionamientos] ALTER COLUMN [Ubicacion] [varchar](500) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[Fraccionamientos_Estatus] ALTER COLUMN [Estatus] [varchar](200) COLLATE Modern_Spanish_CS_AS NOT NULL;
+ ALTER TABLE [dbo].[FraccionamientosEtapas] ALTER COLUMN [Etapa] [varchar](150) COLLATE Modern_Spanish_CS_AS NOT NULL;
+ ALTER TABLE [dbo].[FraccionamientosLotes] ALTER COLUMN [Tipo] [varchar](100) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[FraccionamientosLotes] ALTER COLUMN [Calle] [varchar](200) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[FraccionamientosLotes] ALTER COLUMN [Catastro] [varchar](100) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[FraccionamientosLotes] ALTER COLUMN [Numero] [varchar](50) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[FraccionamientosLotes] ALTER COLUMN [Duplicador] [varchar](50) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[Gral_Categorias] ALTER COLUMN [Categoria] [varchar](50) COLLATE Modern_Spanish_CS_AS NOT NULL;
+ ALTER TABLE [dbo].[Gral_Monedas] ALTER COLUMN [Moneda] [varchar](50) COLLATE Modern_Spanish_CS_AS NOT NULL;
+ ALTER TABLE [dbo].[Gral_Monedas] ALTER COLUMN [Abreviatura] [varchar](3) COLLATE Modern_Spanish_CS_AS NOT NULL;
+ ALTER TABLE [dbo].[Gral_Monedas] ALTER COLUMN [AbreviaturaSAT] [varchar](5) COLLATE Modern_Spanish_CS_AS NOT NULL;
+ ALTER TABLE [dbo].[Gral_Monedas] ALTER COLUMN [LayoutBBVA] [varchar](3) COLLATE Modern_Spanish_CS_AS NOT NULL;
+ ALTER TABLE [dbo].[Gral_Monedas] ALTER COLUMN [Alias1] [varchar](20) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[Gral_Monedas] ALTER COLUMN [Alias2] [varchar](20) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[Gral_Monedas] ALTER COLUMN [Alias3] [varchar](30) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[Gral_RegimenesFiscales] ALTER COLUMN [RegimenFiscal] [varchar](100) COLLATE Modern_Spanish_CS_AS NOT NULL;
+ ALTER TABLE [dbo].[Gral_RegimenesFiscales] ALTER COLUMN [CodigoRegimenFiscal] [varchar](3) COLLATE Modern_Spanish_CI_AS NOT NULL;
+ ALTER TABLE [dbo].[Gral_SAT_Colonia] ALTER COLUMN [ClaveSATColonia] [varchar](10) COLLATE Modern_Spanish_CS_AS NOT NULL;
+ ALTER TABLE [dbo].[Gral_SAT_Colonia] ALTER COLUMN [CP] [varchar](50) COLLATE Modern_Spanish_CS_AS NOT NULL;
+ ALTER TABLE [dbo].[Gral_SAT_Colonia] ALTER COLUMN [NombreAsentamiento] [varchar](100) COLLATE Modern_Spanish_CS_AS NOT NULL;
+ ALTER TABLE [dbo].[Gral_SAT_CP] ALTER COLUMN [CP] [varchar](5) COLLATE Modern_Spanish_CS_AS NOT NULL;
+ ALTER TABLE [dbo].[Gral_SAT_CP] ALTER COLUMN [ClaveSATEstado] [varchar](5) COLLATE Modern_Spanish_CS_AS NOT NULL;
+ ALTER TABLE [dbo].[Gral_SAT_CP] ALTER COLUMN [ClaveSATMunicipio] [varchar](5) COLLATE Modern_Spanish_CS_AS NOT NULL;
+ ALTER TABLE [dbo].[Gral_SAT_CP] ALTER COLUMN [ClaveSATLocalidad] [varchar](5) COLLATE Modern_Spanish_CS_AS NOT NULL;
+ ALTER TABLE [dbo].[Gral_SAT_CP_MaterialPeligroso] ALTER COLUMN [ClaveMaterialPeligroso] [varchar](10) COLLATE Modern_Spanish_CS_AS NOT NULL;
+ ALTER TABLE [dbo].[Gral_SAT_CP_MaterialPeligroso] ALTER COLUMN [MaterialPeligroso] [varchar](390) COLLATE Modern_Spanish_CS_AS NOT NULL;
+ ALTER TABLE [dbo].[Gral_SAT_CP_MaterialPeligroso] ALTER COLUMN [ClaseoDiv] [varchar](8) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[Gral_SAT_CP_MaterialPeligroso] ALTER COLUMN [PeligroSecundario] [varchar](10) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[Gral_SAT_CP_MaterialPeligroso] ALTER COLUMN [NombreTecnico] [varchar](400) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[Gral_SAT_CP_MaterialPeligroso] ALTER COLUMN [Version] [varchar](5) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[Gral_SAT_Estado] ALTER COLUMN [ClaveSATEstado] [varchar](5) COLLATE Modern_Spanish_CS_AS NOT NULL;
+ ALTER TABLE [dbo].[Gral_SAT_Estado] ALTER COLUMN [ClaveSATPais] [varchar](3) COLLATE Modern_Spanish_CS_AS NOT NULL;
+ ALTER TABLE [dbo].[Gral_SAT_Estado] ALTER COLUMN [NombreEstado] [varchar](50) COLLATE Modern_Spanish_CS_AS NOT NULL;
+ ALTER TABLE [dbo].[Gral_SAT_Estado] ALTER COLUMN [ClaveImpuestoEstado] [varchar](2) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[Gral_SAT_Localidad] ALTER COLUMN [ClaveSATLocalidad] [varchar](50) COLLATE Modern_Spanish_CS_AS NOT NULL;
+ ALTER TABLE [dbo].[Gral_SAT_Localidad] ALTER COLUMN [ClaveSATEstado] [varchar](50) COLLATE Modern_Spanish_CS_AS NOT NULL;
+ ALTER TABLE [dbo].[Gral_SAT_Localidad] ALTER COLUMN [NombreLocalidad] [varchar](100) COLLATE Modern_Spanish_CS_AS NOT NULL;
+ ALTER TABLE [dbo].[Gral_SAT_Municipio] ALTER COLUMN [ClaveSATMunicipio] [varchar](5) COLLATE Modern_Spanish_CS_AS NOT NULL;
+ ALTER TABLE [dbo].[Gral_SAT_Municipio] ALTER COLUMN [ClaveSATEstado] [varchar](5) COLLATE Modern_Spanish_CS_AS NOT NULL;
+ ALTER TABLE [dbo].[Gral_SAT_Municipio] ALTER COLUMN [Descripcion] [varchar](100) COLLATE Modern_Spanish_CS_AS NOT NULL;
+ ALTER TABLE [dbo].[Gral_SAT_ObjetoImpuesto] ALTER COLUMN [ObjetoImpuesto] [varchar](50) COLLATE Modern_Spanish_CS_AS NOT NULL;
+ ALTER TABLE [dbo].[Gral_SAT_ObjetoImpuesto] ALTER COLUMN [CodigoObjetoImpuesto] [varchar](2) COLLATE Modern_Spanish_CI_AS NOT NULL;
+ ALTER TABLE [dbo].[Gral_SAT_Pais] ALTER COLUMN [ClaveSATPais] [varchar](5) COLLATE Modern_Spanish_CS_AS NOT NULL;
+ ALTER TABLE [dbo].[Gral_SAT_Pais] ALTER COLUMN [Descripcion] [varchar](100) COLLATE Modern_Spanish_CS_AS NOT NULL;
+ ALTER TABLE [dbo].[Gral_SAT_Pais] ALTER COLUMN [FormatoCP] [varchar](100) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[Gral_SAT_Pais] ALTER COLUMN [FormatoIT] [varchar](100) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[Gral_SAT_Pais] ALTER COLUMN [ValidacionIT] [varchar](100) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[Gral_SAT_Pais] ALTER COLUMN [Agrupaciones] [varchar](50) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[Gral_SAT_Pais] ALTER COLUMN [DIOTPais] [varchar](5) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[Gral_SAT_ProductosServicios] ALTER COLUMN [SATClavePS] [nvarchar](20) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[Gral_SAT_ProductosServicios] ALTER COLUMN [Descripcion] [nvarchar](600) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[Gral_SAT_ProductosServicios] ALTER COLUMN [IncluirIVAtrasladado] [nvarchar](255) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[Gral_SAT_ProductosServicios] ALTER COLUMN [IncluirIEPStrasladado] [nvarchar](255) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[Gral_SAT_ProductosServicios] ALTER COLUMN [ComplementoIncluir] [nvarchar](255) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[Gral_SAT_ProductosServicios] ALTER COLUMN [PalabrasSimilares] [varchar](600) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[Gral_SAT_ProductosServicios] ALTER COLUMN [MaterialPeligroso] [varchar](3) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[Gral_SAT_UnidadesMedida] ALTER COLUMN [SATClaveUnidadMedida] [nvarchar](255) COLLATE Modern_Spanish_CS_AS NOT NULL;
+ ALTER TABLE [dbo].[Gral_SAT_UnidadesMedida] ALTER COLUMN [Nombre] [nvarchar](255) COLLATE Modern_Spanish_CS_AS NOT NULL;
+ ALTER TABLE [dbo].[Gral_SAT_UnidadesMedida] ALTER COLUMN [Descripcion] [nvarchar](255) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[Gral_SAT_UnidadesMedida] ALTER COLUMN [Simbolo] [nvarchar](255) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[Gral_SAT_UsosCFDI] ALTER COLUMN [UsoCFDI] [varchar](5) COLLATE Modern_Spanish_CS_AS NOT NULL;
+ ALTER TABLE [dbo].[Gral_SAT_UsosCFDI] ALTER COLUMN [Descripcion] [varchar](100) COLLATE Modern_Spanish_CS_AS NOT NULL;
+ ALTER TABLE [dbo].[Gral_SAT_UsosCFDI] ALTER COLUMN [RegimenFiscalReceptor] [varchar](200) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[Inv_Almacenes] ALTER COLUMN [Almacen] [varchar](50) COLLATE Modern_Spanish_CS_AS NOT NULL;
+ ALTER TABLE [dbo].[Inv_Almacenes] ALTER COLUMN [AlmacenAbreviatura] [varchar](50) COLLATE Modern_Spanish_CS_AS NOT NULL;
+ ALTER TABLE [dbo].[Inv_TiposAlmacenes] ALTER COLUMN [TipoAlmacen] [varchar](50) COLLATE Modern_Spanish_CS_AS NOT NULL;
+ ALTER TABLE [dbo].[ProductosServicios] ALTER COLUMN [Codigo] [varchar](50) COLLATE Modern_Spanish_CI_AS NULL;
+ ALTER TABLE [dbo].[ProductosServicios] ALTER COLUMN [NumeroParte] [varchar](50) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[ProductosServicios] ALTER COLUMN [CodigoBarras] [varchar](50) COLLATE Modern_Spanish_CI_AS NULL;
+ ALTER TABLE [dbo].[ProductosServicios] ALTER COLUMN [PS] [varchar](846) COLLATE Modern_Spanish_CS_AS NOT NULL;
+ ALTER TABLE [dbo].[ProductosServicios] ALTER COLUMN [PSExtranjero] [varchar](846) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[ProductosServicios] ALTER COLUMN [Borrame] [varchar](50) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[ProductosServicios] ALTER COLUMN [AlmacenSeccion] [varchar](10) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[ProductosServicios] ALTER COLUMN [Imagen] [varchar](100) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[ProductosServicios] ALTER COLUMN [ClaveImpuestoEmpaque] [varchar](3) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[ProductosServicios] ALTER COLUMN [ClaveImpuestoUM] [varchar](3) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[ProductosServicios] ALTER COLUMN [ClaveCategoriaToxicidad] [varchar](3) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[ProductosServicios] ALTER COLUMN [ClaveImpuestoTipoProducto] [varchar](3) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[ProductosServicios] ALTER COLUMN [Code17] [varchar](10) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[ProductosServicios] ALTER COLUMN [Dimensiones] [varchar](25) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[ProductosServicios] ALTER COLUMN [RegistroRSCO] [varchar](50) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[ProductosServicios] ALTER COLUMN [NombreComercial] [varchar](100) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[ProductosServicios] ALTER COLUMN [NotasAdicionales] [varchar](500) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[ProductosServicios] ALTER COLUMN [EcommerceEtiquetas] [varchar](200) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[ProductosServicios] ALTER COLUMN [CodigoAlterno] [varchar](50) COLLATE Modern_Spanish_CI_AS NULL;
+ ALTER TABLE [dbo].[ProductosServicios] ALTER COLUMN [PSAlterno] [varchar](846) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[Proyectos] ALTER COLUMN [Proyecto] [varchar](50) COLLATE Modern_Spanish_CS_AS NOT NULL;
+ ALTER TABLE [dbo].[Sat_Bancos] ALTER COLUMN [CveBanco] [varchar](50) COLLATE Modern_Spanish_CS_AS NOT NULL;
+ ALTER TABLE [dbo].[Sat_Bancos] ALTER COLUMN [Banco] [varchar](150) COLLATE Modern_Spanish_CS_AS NOT NULL;
+ ALTER TABLE [dbo].[Sat_Bancos] ALTER COLUMN [RazonSocial] [varchar](300) COLLATE Modern_Spanish_CS_AS NOT NULL;
+ ALTER TABLE [dbo].[Sis_Auditorias] ALTER COLUMN [TipoEvento] [varchar](100) COLLATE Modern_Spanish_CS_AS NOT NULL;
+ ALTER TABLE [dbo].[Sis_Auditorias] ALTER COLUMN [NombreEntidad] [varchar](150) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[Sis_Auditorias] ALTER COLUMN [LlaveEntidad] [varchar](100) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[Sis_Auditorias] ALTER COLUMN [Descripcion] [varchar](500) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[Sis_Auditorias] ALTER COLUMN [DireccionIP] [varchar](50) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[Sis_Auditorias] ALTER COLUMN [AgenteUsuario] [varchar](1000) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[Sis_Auditorias] ALTER COLUMN [NombreDominio] [varchar](255) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[Sis_AuditoriasDetalles] ALTER COLUMN [NombreCampo] [varchar](150) COLLATE Modern_Spanish_CS_AS NOT NULL;
+ ALTER TABLE [dbo].[Sis_AuditoriasDetalles] ALTER COLUMN [ValorAnterior] [varchar](MAX) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[Sis_AuditoriasDetalles] ALTER COLUMN [ValorNuevo] [varchar](MAX) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[Sis_IntentosInicioSesion] ALTER COLUMN [NombreUsuario] [varchar](100) COLLATE Modern_Spanish_CI_AS NOT NULL;
+ ALTER TABLE [dbo].[Sis_IntentosInicioSesion] ALTER COLUMN [MotivoFallo] [varchar](200) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[Sis_IntentosInicioSesion] ALTER COLUMN [DireccionIP] [varchar](50) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[Sis_IntentosInicioSesion] ALTER COLUMN [AgenteUsuario] [varchar](1000) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[Sis_IntentosInicioSesion] ALTER COLUMN [NombreDominio] [varchar](255) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[Sis_Modulos] ALTER COLUMN [NombreModulo] [varchar](150) COLLATE Modern_Spanish_CS_AS NOT NULL;
+ ALTER TABLE [dbo].[Sis_Modulos] ALTER COLUMN [Descripcion] [varchar](255) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[Sis_Modulos] ALTER COLUMN [Url] [varchar](500) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[Sis_Modulos] ALTER COLUMN [ClaseCssIcono] [varchar](150) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[Sis_Modulos] ALTER COLUMN [ClaseCssEstilo] [varchar](150) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[Sis_Notificaciones] ALTER COLUMN [TipoNotificacion] [varchar](50) COLLATE Modern_Spanish_CS_AS NOT NULL;
+ ALTER TABLE [dbo].[Sis_Notificaciones] ALTER COLUMN [EstadoNotificacion] [varchar](30) COLLATE Modern_Spanish_CS_AS NOT NULL;
+ ALTER TABLE [dbo].[Sis_Notificaciones] ALTER COLUMN [Titulo] [varchar](200) COLLATE Modern_Spanish_CS_AS NOT NULL;
+ ALTER TABLE [dbo].[Sis_Notificaciones] ALTER COLUMN [Mensaje] [varchar](MAX) COLLATE Modern_Spanish_CS_AS NOT NULL;
+ ALTER TABLE [dbo].[Sis_Notificaciones] ALTER COLUMN [Url] [varchar](500) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[Sis_NotificacionesEnvios] ALTER COLUMN [CanalEnvio] [varchar](50) COLLATE Modern_Spanish_CS_AS NOT NULL;
+ ALTER TABLE [dbo].[Sis_NotificacionesEnvios] ALTER COLUMN [EstadoEnvio] [varchar](30) COLLATE Modern_Spanish_CS_AS NOT NULL;
+ ALTER TABLE [dbo].[Sis_NotificacionesEnvios] ALTER COLUMN [RespuestaProveedor] [varchar](MAX) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[Sis_NotificacionesEnvios] ALTER COLUMN [MensajeError] [varchar](MAX) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[Sis_PAC] ALTER COLUMN [PAC] [varchar](50) COLLATE Modern_Spanish_CS_AS NOT NULL;
+ ALTER TABLE [dbo].[Sis_Permisos] ALTER COLUMN [CodigoPermiso] [varchar](100) COLLATE Modern_Spanish_CI_AS NOT NULL;
+ ALTER TABLE [dbo].[Sis_Permisos] ALTER COLUMN [NombrePermiso] [varchar](150) COLLATE Modern_Spanish_CS_AS NOT NULL;
+ ALTER TABLE [dbo].[Sis_Permisos] ALTER COLUMN [Descripcion] [varchar](255) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[Sis_Plataformas] ALTER COLUMN [NombrePlataforma] [varchar](100) COLLATE Modern_Spanish_CS_AS NOT NULL;
+ ALTER TABLE [dbo].[Sis_Plataformas] ALTER COLUMN [Descripcion] [varchar](255) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[Sis_PoliticasLimpieza] ALTER COLUMN [Esquema] sysname COLLATE Modern_Spanish_CS_AS NOT NULL;
+ ALTER TABLE [dbo].[Sis_PoliticasLimpieza] ALTER COLUMN [Tabla] sysname COLLATE Modern_Spanish_CS_AS NOT NULL;
+ ALTER TABLE [dbo].[Sis_Roles] ALTER COLUMN [NombreRol] [varchar](100) COLLATE Modern_Spanish_CS_AS NOT NULL;
+ ALTER TABLE [dbo].[Sis_Roles] ALTER COLUMN [Descripcion] [varchar](255) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[Sis_Usuarios] ALTER COLUMN [NombreUsuario] [varchar](100) COLLATE Modern_Spanish_CI_AS NOT NULL;
+ ALTER TABLE [dbo].[Sis_Usuarios] ALTER COLUMN [HashContrasena] [varchar](500) COLLATE Modern_Spanish_CS_AS NOT NULL;
+ ALTER TABLE [dbo].[Sis_Usuarios] ALTER COLUMN [CorreoElectronico] [varchar](255) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[Sis_UsuariosAutorizaciones] ALTER COLUMN [EstadoAutorizacion] [varchar](30) COLLATE Modern_Spanish_CS_AS NOT NULL;
+ ALTER TABLE [dbo].[Sis_UsuariosAutorizaciones] ALTER COLUMN [ComentarioSolicitud] [varchar](500) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[Sis_UsuariosAutorizaciones] ALTER COLUMN [ComentarioAutorizacion] [varchar](500) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[Sis_UsuariosSesiones] ALTER COLUMN [TokenSesion] [varchar](200) COLLATE Modern_Spanish_CS_AS NOT NULL;
+ ALTER TABLE [dbo].[Sis_UsuariosSesiones] ALTER COLUMN [DireccionIP] [varchar](50) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[Sis_UsuariosSesiones] ALTER COLUMN [AgenteUsuario] [varchar](1000) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[Sis_UsuariosSesiones] ALTER COLUMN [NombreDominio] [varchar](255) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[Sis_UsuariosSuscripcionesPush] ALTER COLUMN [Endpoint] [varchar](1000) COLLATE Modern_Spanish_CS_AS NOT NULL;
+ ALTER TABLE [dbo].[Sis_UsuariosSuscripcionesPush] ALTER COLUMN [P256DH] [varchar](500) COLLATE Modern_Spanish_CS_AS NOT NULL;
+ ALTER TABLE [dbo].[Sis_UsuariosSuscripcionesPush] ALTER COLUMN [ClaveAutenticacion] [varchar](500) COLLATE Modern_Spanish_CS_AS NOT NULL;
+ ALTER TABLE [dbo].[Sis_UsuariosSuscripcionesPush] ALTER COLUMN [AgenteUsuario] [varchar](1000) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[Sis_UsuariosSuscripcionesPush] ALTER COLUMN [Plataforma] [varchar](100) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[Sis_UsuariosSuscripcionesPush] ALTER COLUMN [Navegador] [varchar](100) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[Sis_UsuariosSuscripcionesPush] ALTER COLUMN [NombreDominio] [varchar](255) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[Sis_UsuariosVerificacionesCorreo] ALTER COLUMN [HashToken] [char](64) COLLATE Modern_Spanish_CS_AS NOT NULL;
+ ALTER TABLE [dbo].[SubProyectos] ALTER COLUMN [ClaveSubProyecto] [varchar](5) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[SubProyectos] ALTER COLUMN [SubProyecto] [varchar](50) COLLATE Modern_Spanish_CS_AS NOT NULL;
+ ALTER TABLE [dbo].[SubProyectos] ALTER COLUMN [CuentaGasto] [varchar](50) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[SubProyectos] ALTER COLUMN [Serie] [varchar](15) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[SubProyectos] ALTER COLUMN [Calle] [varchar](50) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[SubProyectos] ALTER COLUMN [NoExt] [varchar](10) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[SubProyectos] ALTER COLUMN [NoInt] [varchar](10) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[SubProyectos] ALTER COLUMN [Colonia] [varchar](50) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[SubProyectos] ALTER COLUMN [Localidad] [varchar](50) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[SubProyectos] ALTER COLUMN [Municipio] [varchar](50) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[SubProyectos] ALTER COLUMN [Pais] [varchar](50) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[SubProyectos] ALTER COLUMN [CP] [varchar](5) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[SubProyectos] ALTER COLUMN [Estado] [varchar](20) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[SubProyectos] ALTER COLUMN [FormatoFactura] [varchar](25) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[SubProyectos] ALTER COLUMN [TipoFormato] [varchar](5) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[SubProyectos] ALTER COLUMN [Telefono] [varchar](10) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[SubProyectos] ALTER COLUMN [Correo] [varchar](50) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[SubProyectos] ALTER COLUMN [CodigoSucursal] [varchar](20) COLLATE Modern_Spanish_CI_AS NULL;
+ ALTER TABLE [dbo].[SubProyectos] ALTER COLUMN [Acum_CentroServicio] [varchar](10) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[SubProyectos] ALTER COLUMN [Acum_PortalUsuario] [varchar](50) COLLATE Modern_Spanish_CI_AS NULL;
+ ALTER TABLE [dbo].[SubProyectos] ALTER COLUMN [Acum_PortalContrasena] [varchar](50) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[Tra_CostosTramite] ALTER COLUMN [Descripcion] [varchar](300) COLLATE Modern_Spanish_CS_AS NOT NULL;
+ ALTER TABLE [dbo].[Tra_DocumentosSolicitud] ALTER COLUMN [NombreArchivo] [varchar](255) COLLATE Modern_Spanish_CS_AS NOT NULL;
+ ALTER TABLE [dbo].[Tra_DocumentosSolicitud] ALTER COLUMN [NombreArchivoFisico] [varchar](255) COLLATE Modern_Spanish_CS_AS NOT NULL;
+ ALTER TABLE [dbo].[Tra_DocumentosSolicitud] ALTER COLUMN [RutaArchivo] [varchar](1000) COLLATE Modern_Spanish_CS_AS NOT NULL;
+ ALTER TABLE [dbo].[Tra_DocumentosSolicitud] ALTER COLUMN [ContentType] [varchar](100) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[Tra_DocumentosSolicitud] ALTER COLUMN [ComentarioCliente] [varchar](1000) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[Tra_DocumentosSolicitud] ALTER COLUMN [ComentarioAdministrativo] [varchar](1000) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[Tra_EstatusSolicitud] ALTER COLUMN [Codigo] [varchar](50) COLLATE Modern_Spanish_CI_AS NOT NULL;
+ ALTER TABLE [dbo].[Tra_EstatusSolicitud] ALTER COLUMN [EstatusSolicitud] [varchar](100) COLLATE Modern_Spanish_CS_AS NOT NULL;
+ ALTER TABLE [dbo].[Tra_HistorialEstatusSolicitud] ALTER COLUMN [Comentarios] [varchar](1000) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[Tra_NotasSolicitud] ALTER COLUMN [TipoNota] [varchar](50) COLLATE Modern_Spanish_CS_AS NOT NULL;
+ ALTER TABLE [dbo].[Tra_NotasSolicitud] ALTER COLUMN [Comentario] [varchar](MAX) COLLATE Modern_Spanish_CS_AS NOT NULL;
+ ALTER TABLE [dbo].[Tra_OpcionesPregunta] ALTER COLUMN [TextoOpcion] [varchar](300) COLLATE Modern_Spanish_CS_AS NOT NULL;
+ ALTER TABLE [dbo].[Tra_OpcionesPregunta] ALTER COLUMN [ValorOpcion] [varchar](300) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[Tra_Preguntas] ALTER COLUMN [Pregunta] [varchar](500) COLLATE Modern_Spanish_CS_AS NOT NULL;
+ ALTER TABLE [dbo].[Tra_Preguntas] ALTER COLUMN [Descripcion] [varchar](1000) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[Tra_Preguntas] ALTER COLUMN [Codigo] [varchar](20) COLLATE Modern_Spanish_CI_AS NULL;
+ ALTER TABLE [dbo].[Tra_RespuestasSolicitud] ALTER COLUMN [Valor] [varchar](MAX) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[Tra_Solicitudes] ALTER COLUMN [Folio] [varchar](50) COLLATE Modern_Spanish_CS_AS NOT NULL;
+ ALTER TABLE [dbo].[Tra_Solicitudes] ALTER COLUMN [ComentariosCliente] [varchar](MAX) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[Tra_Solicitudes] ALTER COLUMN [ComentariosAdministrativos] [varchar](MAX) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[Tra_SolicitudesDependencias] ALTER COLUMN [Condicion] [varchar](500) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[Tra_TiposDocumento] ALTER COLUMN [TipoDocumento] [varchar](200) COLLATE Modern_Spanish_CS_AS NOT NULL;
+ ALTER TABLE [dbo].[Tra_TiposDocumento] ALTER COLUMN [Descripcion] [varchar](500) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[Tra_TiposDocumento] ALTER COLUMN [ExtensionesPermitidas] [varchar](200) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[Tra_TiposPregunta] ALTER COLUMN [TipoPregunta] [varchar](100) COLLATE Modern_Spanish_CS_AS NOT NULL;
+ ALTER TABLE [dbo].[Tra_TiposTramite] ALTER COLUMN [Codigo] [varchar](50) COLLATE Modern_Spanish_CI_AS NOT NULL;
+ ALTER TABLE [dbo].[Tra_TiposTramite] ALTER COLUMN [TipoTramite] [varchar](200) COLLATE Modern_Spanish_CS_AS NOT NULL;
+ ALTER TABLE [dbo].[Tra_TiposTramite] ALTER COLUMN [Descripcion] [varchar](500) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[UnidadesMedida] ALTER COLUMN [UnidadMedida] [varchar](50) COLLATE Modern_Spanish_CS_AS NOT NULL;
+ ALTER TABLE [dbo].[UnidadesMedida] ALTER COLUMN [Abreviatura] [varchar](15) COLLATE Modern_Spanish_CS_AS NOT NULL;
+ ALTER TABLE [dbo].[UnidadesMedida] ALTER COLUMN [Alias1] [varchar](20) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[UnidadesMedida] ALTER COLUMN [Alias2] [varchar](20) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[UnidadesMedida] ALTER COLUMN [Alias3] [varchar](20) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[UnidadesMedida] ALTER COLUMN [Alias4] [varchar](20) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[UnidadesMedida] ALTER COLUMN [CveImpEmpaque] [varchar](3) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[UnidadesMedida] ALTER COLUMN [CveImpUM] [varchar](3) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[Ventas] ALTER COLUMN [FolioFiscal] [varchar](50) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[Ventas] ALTER COLUMN [TipoDocto] [varchar](3) COLLATE Modern_Spanish_CS_AS NOT NULL;
+ ALTER TABLE [dbo].[Ventas] ALTER COLUMN [Serie] [varchar](10) COLLATE Modern_Spanish_CS_AS NOT NULL;
+ ALTER TABLE [dbo].[Ventas] ALTER COLUMN [MotivoDescuento] [varchar](500) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[Ventas] ALTER COLUMN [Observaciones] [varchar](2000) COLLATE Modern_Spanish_CS_AS NOT NULL;
+ ALTER TABLE [dbo].[Ventas] ALTER COLUMN [MotivoCancelacion] [varchar](500) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[Ventas] ALTER COLUMN [Alfa1] [varchar](500) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[Ventas] ALTER COLUMN [Alfa2] [varchar](100) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[Ventas] ALTER COLUMN [Alfa3] [varchar](100) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[Ventas] ALTER COLUMN [SelloCancelacion] [varchar](800) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[Ventas] ALTER COLUMN [AtencionA] [varchar](100) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[Ventas] ALTER COLUMN [Det_OrdenCompra] [varchar](20) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[Ventas] ALTER COLUMN [Det_FechaOrdenCompra] [varchar](15) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[Ventas] ALTER COLUMN [Ref] [varchar](50) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[Ventas] ALTER COLUMN [NumeroCuenta] [varchar](5) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[Ventas] ALTER COLUMN [Entrega] [varchar](50) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[Ventas] ALTER COLUMN [TiempoEntrega] [varchar](50) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[Ventas] ALTER COLUMN [TelefonoGenerico] [varchar](50) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[Ventas] ALTER COLUMN [PedidoContrato] [varchar](50) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[Ventas] ALTER COLUMN [ObservacionesAlmacen] [varchar](300) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[Ventas] ALTER COLUMN [CobranzaObservacion] [varchar](255) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[Ventas] ALTER COLUMN [TipoProceso] [varchar](255) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[Ventas] ALTER COLUMN [TipoComite] [varchar](255) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[Ventas] ALTER COLUMN [IdContabilidad] [varchar](50) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[Ventas] ALTER COLUMN [OrdenCompra] [varchar](50) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[Ventas] ALTER COLUMN [CorreoNotificacion] [varchar](100) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[Ventas] ALTER COLUMN [RFCReceptor] [varchar](50) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[Ventas] ALTER COLUMN [Adjunto] [varchar](150) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[Ventas] ALTER COLUMN [EstadoCancelacion] [varchar](100) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[Ventas] ALTER COLUMN [SelloSolicitudCancelacion] [varchar](800) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[Ventas] ALTER COLUMN [CFDIVersion] [varchar](5) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[Ventas] ALTER COLUMN [LineaAdicionalComprobante] [varchar](250) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[Ventas] ALTER COLUMN [DescripcionVenta] [varchar](300) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[Ventas] ALTER COLUMN [Paciente] [varchar](50) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[Ventas] ALTER COLUMN [Episodio] [varchar](20) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[Ventas] ALTER COLUMN [Addenda] [varchar](2000) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[Ventas] ALTER COLUMN [ComplementoSAT] [varchar](2000) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[Vta_ClientesSucursales] ALTER COLUMN [SucursalCliente] [varchar](100) COLLATE Modern_Spanish_CS_AS NOT NULL;
+ ALTER TABLE [dbo].[Vta_ClientesSucursales] ALTER COLUMN [Ciudad] [varchar](50) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[Vta_ClientesSucursales] ALTER COLUMN [Colonia] [varchar](50) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[Vta_ClientesSucursales] ALTER COLUMN [CP] [varchar](5) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[Vta_ClientesSucursales] ALTER COLUMN [Direccion] [varchar](90) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[Vta_ClientesSucursales] ALTER COLUMN [Estado] [varchar](35) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[Vta_ClientesSucursales] ALTER COLUMN [Localidad] [varchar](50) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[Vta_ClientesSucursales] ALTER COLUMN [Pais] [varchar](50) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[Vta_ClientesSucursales] ALTER COLUMN [NoExt] [varchar](20) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[Vta_ClientesSucursales] ALTER COLUMN [NoInt] [varchar](20) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[Vta_ClientesSucursales] ALTER COLUMN [Telefono] [varchar](25) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[Vta_ClientesSucursales] ALTER COLUMN [Correo] [varchar](300) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[Vta_ClientesSucursales] ALTER COLUMN [Contacto] [varchar](300) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[Vta_ClientesSucursales] ALTER COLUMN [CorreoCotizacion] [varchar](300) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[Vta_ClientesSucursales] ALTER COLUMN [NumCtaPago] [varchar](50) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[Vta_ClientesSucursales] ALTER COLUMN [Punto] [varchar](100) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[Vta_ClientesSucursales] ALTER COLUMN [RFC] [varchar](15) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[Vta_FormaPago] ALTER COLUMN [FormaPago] [varchar](50) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[Vta_FormaPago] ALTER COLUMN [ClaveFormaPagoSAT] [varchar](2) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[Vta_MetodoPago] ALTER COLUMN [MetodoPago] [varchar](50) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[Vta_MetodoPago] ALTER COLUMN [ClaveMetodoPagoSAT] [varchar](5) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[Vta_Pagos] ALTER COLUMN [Referencia] [varchar](200) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[Vta_Procedimientos] ALTER COLUMN [Procedimiento] [varchar](150) COLLATE Modern_Spanish_CS_AS NOT NULL;
+ ALTER TABLE [dbo].[Vta_TipoDocumentos] ALTER COLUMN [CveTipoDocumento] [varchar](3) COLLATE Modern_Spanish_CS_AS NOT NULL;
+ ALTER TABLE [dbo].[Vta_TipoDocumentos] ALTER COLUMN [TipoDocumento] [varchar](50) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[Vta_Vendedores] ALTER COLUMN [Codigo] [varchar](10) COLLATE Modern_Spanish_CI_AS NULL;
+ ALTER TABLE [dbo].[Vta_Vendedores] ALTER COLUMN [Vendedor] [varchar](50) COLLATE Modern_Spanish_CS_AS NOT NULL;
+ ALTER TABLE [dbo].[Vta_Vendedores] ALTER COLUMN [Correo] [varchar](50) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[Vta_Vendedores] ALTER COLUMN [Telefono] [varchar](50) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[Vta_Vendedores] ALTER COLUMN [Celular] [varchar](50) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[Vta_Vendedores] ALTER COLUMN [TituloDocumentos] [varchar](150) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[Vta_Vendedores] ALTER COLUMN [CorreoAdicionalNotificaciones] [varchar](200) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[ZonasHorarias] ALTER COLUMN [Abreviacion] [varchar](7) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[ZonasHorarias] ALTER COLUMN [ZonaHoraria] [varchar](100) COLLATE Modern_Spanish_CS_AS NULL;
+ ALTER TABLE [dbo].[ZonasHorarias] ALTER COLUMN [UTC] [varchar](20) COLLATE Modern_Spanish_CS_AS NULL;
+
+ /* Recrear columnas calculadas */
+ ALTER TABLE [dbo].[Conta_PrePolizas] ADD [AnioMes] AS ((CONVERT([varchar](6),[Fecha],(112))) COLLATE Modern_Spanish_CS_AS) PERSISTED;
+ ALTER TABLE [dbo].[ProductosServicios] ADD [CodigoPS] AS ((case when len([Codigo])>(0) then concat([Codigo] COLLATE Modern_Spanish_CI_AS,' - ',[PS] COLLATE Modern_Spanish_CI_AS) else [PS] COLLATE Modern_Spanish_CI_AS end) COLLATE Modern_Spanish_CI_AS);
+ ALTER TABLE [dbo].[Ventas] ADD [SerieFolio] AS ((concat(case when [Serie]<>'' then [Serie]+'-' else '' end,[Folio])) COLLATE Modern_Spanish_CS_AS);
+
+ /* Recrear CHECK */
+ ALTER TABLE [dbo].[Bit_Bitacora] WITH CHECK ADD CONSTRAINT [CK_Bit_Bitacora_Autorizacion] CHECK ([CveUsuarioAutoriza] IS NOT NULL OR [FechaAutorizacion] IS NULL);
+ ALTER TABLE [dbo].[Bit_Bitacora] CHECK CONSTRAINT [CK_Bit_Bitacora_Autorizacion];
+ ALTER TABLE [dbo].[Bit_BitacoraRelaciones] WITH CHECK ADD CONSTRAINT [CK_Bit_BitacoraRelaciones_ValorRelacion] CHECK (NOT ([ValorRelacionNumero] IS NOT NULL AND [ValorRelacionTexto] IS NOT NULL));
+ ALTER TABLE [dbo].[Bit_BitacoraRelaciones] CHECK CONSTRAINT [CK_Bit_BitacoraRelaciones_ValorRelacion];
+ ALTER TABLE [dbo].[Clientes] WITH CHECK ADD CONSTRAINT [CK_Clientes_RFC_Requerido] CHECK ([RFC]<>'');
+ ALTER TABLE [dbo].[Clientes] CHECK CONSTRAINT [CK_Clientes_RFC_Requerido];
+ ALTER TABLE [dbo].[Conta_Cuentas] WITH CHECK ADD CONSTRAINT [CK_Conta_Cuentas_Padre] CHECK ([CveCuentaPadre]<>[CveCuenta]);
+ ALTER TABLE [dbo].[Conta_Cuentas] CHECK CONSTRAINT [CK_Conta_Cuentas_Padre];
+ ALTER TABLE [dbo].[Conta_Cuentas] WITH CHECK ADD CONSTRAINT [CK_Conta_Cuentas_Padre_Requerido] CHECK ([CveCuentaPadre] IS NOT NULL OR ([Codigo]='_ORDEN' OR [Codigo]='_ESTADISTICAS' OR [Codigo]='_GLOBAL'));
+ ALTER TABLE [dbo].[Conta_Cuentas] CHECK CONSTRAINT [CK_Conta_Cuentas_Padre_Requerido];
+ ALTER TABLE [dbo].[Conta_PrePolizas] WITH CHECK ADD CONSTRAINT [CK_Conta_PrePolizas_Concepto] CHECK (rtrim([Concepto])<>'');
+ ALTER TABLE [dbo].[Conta_PrePolizas] CHECK CONSTRAINT [CK_Conta_PrePolizas_Concepto];
+ ALTER TABLE [dbo].[Conta_PrePolizas] WITH CHECK ADD CONSTRAINT [CK_Conta_PrePolizas_Fecha_2000_2050] CHECK ([Fecha]>='2000-01-01' AND [Fecha]<='2050/12/31');
+ ALTER TABLE [dbo].[Conta_PrePolizas] CHECK CONSTRAINT [CK_Conta_PrePolizas_Fecha_2000_2050];
+ ALTER TABLE [dbo].[Conta_PrePolizas] WITH CHECK ADD CONSTRAINT [CK_Conta_PrePolizas_FolioPoliza] CHECK ([IdPoliza]>(0) AND isnull([FolioPoliza],(0))>(0) OR ([IdPoliza] IS NULL OR [IdPoliza]=(0)));
+ ALTER TABLE [dbo].[Conta_PrePolizas] CHECK CONSTRAINT [CK_Conta_PrePolizas_FolioPoliza];
+ ALTER TABLE [dbo].[Fraccionamientos] WITH CHECK ADD CONSTRAINT [CK_Fraccionamientos_Hectareas] CHECK ([Hectareas] IS NULL OR [Hectareas]>=(0));
+ ALTER TABLE [dbo].[Fraccionamientos] CHECK CONSTRAINT [CK_Fraccionamientos_Hectareas];
+ ALTER TABLE [dbo].[FraccionamientosEtapas] WITH CHECK ADD CONSTRAINT [CK_FraccionamientosEtapas_Hectareas] CHECK ([Hectareas] IS NULL OR [Hectareas]>=(0));
+ ALTER TABLE [dbo].[FraccionamientosEtapas] CHECK CONSTRAINT [CK_FraccionamientosEtapas_Hectareas];
+ ALTER TABLE [dbo].[FraccionamientosLotes] WITH CHECK ADD CONSTRAINT [CK_FraccionamientosLotes_MetrosCuadrados] CHECK ([MetrosCuadrados] IS NULL OR [MetrosCuadrados]>=(0));
+ ALTER TABLE [dbo].[FraccionamientosLotes] CHECK CONSTRAINT [CK_FraccionamientosLotes_MetrosCuadrados];
+ ALTER TABLE [dbo].[ProductosServicios] WITH CHECK ADD CONSTRAINT [CK_AsientoContableCompras] CHECK ([AsientoContableCompras]=(3) OR [AsientoContableCompras]=(2) OR [AsientoContableCompras]=(1));
+ ALTER TABLE [dbo].[ProductosServicios] CHECK CONSTRAINT [CK_AsientoContableCompras];
+ ALTER TABLE [dbo].[ProductosServicios] WITH CHECK ADD CONSTRAINT [CK_AsientoContableVentas] CHECK ([AsientoContableVentas]=(2) OR [AsientoContableVentas]=(1));
+ ALTER TABLE [dbo].[ProductosServicios] CHECK CONSTRAINT [CK_AsientoContableVentas];
+ ALTER TABLE [dbo].[ProductosServicios] WITH CHECK ADD CONSTRAINT [CK_ProductosServicios_IVA] CHECK ([IVA]=(-1) OR [IVA]=(0) OR [IVA] IS NULL);
+ ALTER TABLE [dbo].[ProductosServicios] CHECK CONSTRAINT [CK_ProductosServicios_IVA];
+ ALTER TABLE [dbo].[Sis_Notificaciones] WITH CHECK ADD CONSTRAINT [CK_Sis_Notificaciones_Estado] CHECK ([EstadoNotificacion]='Cancelada' OR [EstadoNotificacion]='Fallida' OR [EstadoNotificacion]='Enviada' OR [EstadoNotificacion]='Pendiente');
+ ALTER TABLE [dbo].[Sis_Notificaciones] CHECK CONSTRAINT [CK_Sis_Notificaciones_Estado];
+ ALTER TABLE [dbo].[Sis_Notificaciones] WITH CHECK ADD CONSTRAINT [CK_Sis_Notificaciones_Tipo] CHECK ([TipoNotificacion]='Campana' OR [TipoNotificacion]='Push' OR [TipoNotificacion]='Correo' OR [TipoNotificacion]='SignalR' OR [TipoNotificacion]='WhatsApp' OR [TipoNotificacion]='Local');
+ ALTER TABLE [dbo].[Sis_Notificaciones] CHECK CONSTRAINT [CK_Sis_Notificaciones_Tipo];
+ ALTER TABLE [dbo].[Sis_NotificacionesEnvios] WITH CHECK ADD CONSTRAINT [CK_Sis_NotificacionesEnvios_Canal] CHECK ([CanalEnvio]='Campana' OR [CanalEnvio]='Push' OR [CanalEnvio]='Correo' OR [CanalEnvio]='SignalR' OR [CanalEnvio]='WhatsApp' OR [CanalEnvio]='Local');
+ ALTER TABLE [dbo].[Sis_NotificacionesEnvios] CHECK CONSTRAINT [CK_Sis_NotificacionesEnvios_Canal];
+ ALTER TABLE [dbo].[Sis_NotificacionesEnvios] WITH CHECK ADD CONSTRAINT [CK_Sis_NotificacionesEnvios_Estado] CHECK ([EstadoEnvio]='Cancelado' OR [EstadoEnvio]='Fallido' OR [EstadoEnvio]='Enviado' OR [EstadoEnvio]='Pendiente');
+ ALTER TABLE [dbo].[Sis_NotificacionesEnvios] CHECK CONSTRAINT [CK_Sis_NotificacionesEnvios_Estado];
+ ALTER TABLE [dbo].[Sis_PoliticasLimpieza] WITH CHECK ADD CONSTRAINT [CK_Sis_PoliticasLimpieza_DiasRetencion] CHECK ([DiasRetencion]>=(30) AND [DiasRetencion]<=(3650));
+ ALTER TABLE [dbo].[Sis_PoliticasLimpieza] CHECK CONSTRAINT [CK_Sis_PoliticasLimpieza_DiasRetencion];
+ ALTER TABLE [dbo].[Sis_PoliticasLimpieza] WITH CHECK ADD CONSTRAINT [CK_Sis_PoliticasLimpieza_TamanoLote] CHECK ([TamanoLote]>=(1) AND [TamanoLote]<=(10000));
+ ALTER TABLE [dbo].[Sis_PoliticasLimpieza] CHECK CONSTRAINT [CK_Sis_PoliticasLimpieza_TamanoLote];
+ ALTER TABLE [dbo].[Sis_UsuariosAutorizaciones] WITH CHECK ADD CONSTRAINT [CK_Sis_UsuariosAutorizaciones_Estado] CHECK ([EstadoAutorizacion]='Cancelada' OR [EstadoAutorizacion]='Rechazada' OR [EstadoAutorizacion]='Aprobada' OR [EstadoAutorizacion]='Pendiente');
+ ALTER TABLE [dbo].[Sis_UsuariosAutorizaciones] CHECK CONSTRAINT [CK_Sis_UsuariosAutorizaciones_Estado];
+ ALTER TABLE [dbo].[Tra_CostosTramite] WITH CHECK ADD CONSTRAINT [CK_Tra_CostosTramite_Importe] CHECK ([Importe]>=(0));
+ ALTER TABLE [dbo].[Tra_CostosTramite] CHECK CONSTRAINT [CK_Tra_CostosTramite_Importe];
+ ALTER TABLE [dbo].[Tra_CostosTramite] WITH CHECK ADD CONSTRAINT [CK_Tra_CostosTramite_Vigencia] CHECK ([FechaFinVigencia] IS NULL OR [FechaInicioVigencia] IS NULL OR [FechaFinVigencia]>=[FechaInicioVigencia]);
+ ALTER TABLE [dbo].[Tra_CostosTramite] CHECK CONSTRAINT [CK_Tra_CostosTramite_Vigencia];
+ ALTER TABLE [dbo].[Tra_DocumentosSolicitud] WITH CHECK ADD CONSTRAINT [CK_Tra_DocumentosSolicitud_Tamano] CHECK ([TamanoBytes] IS NULL OR [TamanoBytes]>=(0));
+ ALTER TABLE [dbo].[Tra_DocumentosSolicitud] CHECK CONSTRAINT [CK_Tra_DocumentosSolicitud_Tamano];
+ ALTER TABLE [dbo].[Tra_RespuestasSolicitud] WITH CHECK ADD CONSTRAINT [CK_Tra_RespuestasSolicitud_Valor] CHECK ([CveOpcionPregunta] IS NOT NULL OR [Valor] IS NOT NULL);
+ ALTER TABLE [dbo].[Tra_RespuestasSolicitud] CHECK CONSTRAINT [CK_Tra_RespuestasSolicitud_Valor];
+ ALTER TABLE [dbo].[Tra_SolicitudesDependencias] WITH CHECK ADD CONSTRAINT [CK_Tra_SolicitudesDependencias_Diferentes] CHECK ([CveSolicitud]<>[CveSolicitudRequerida]);
+ ALTER TABLE [dbo].[Tra_SolicitudesDependencias] CHECK CONSTRAINT [CK_Tra_SolicitudesDependencias_Diferentes];
+ ALTER TABLE [dbo].[Tra_TiposDocumento] WITH CHECK ADD CONSTRAINT [CK_Tra_TiposDocumento_Tamano] CHECK ([TamanoMaximoMb] IS NULL OR [TamanoMaximoMb]>(0));
+ ALTER TABLE [dbo].[Tra_TiposDocumento] CHECK CONSTRAINT [CK_Tra_TiposDocumento_Tamano];
+ ALTER TABLE [dbo].[Ventas] WITH CHECK ADD CONSTRAINT [CHK_VentasMail] CHECK ([EnvioMail]=(3) OR [EnvioMail]=(2) OR [EnvioMail]=(1) OR [EnvioMail]=(0));
+ ALTER TABLE [dbo].[Ventas] CHECK CONSTRAINT [CHK_VentasMail];
+ ALTER TABLE [dbo].[Ventas] WITH CHECK ADD CONSTRAINT [CK_Ventas] CHECK ([TipoDocto]='Egs' OR [TipoDocto]='Dev' OR [TipoDocto]='Ing' OR [TipoDocto]='Cot' OR [TipoDocto]='Rem' OR [TipoDocto]='Ped' OR [TipoDocto]='DPe' OR [TipoDocto]='Com' OR [TipoDocto]='OP' OR [TipoDocto]='Nom' OR [TipoDocto]='Ant' OR [TipoDocto]='PeC' OR [TipoDocto]='Pd2' OR [TipoDocto]='PA' OR [TipoDocto]='RNC' OR [TipoDocto]='Rmm');
+ ALTER TABLE [dbo].[Ventas] CHECK CONSTRAINT [CK_Ventas];
+ ALTER TABLE [dbo].[Ventas] WITH CHECK ADD CONSTRAINT [CK_Ventas_1] CHECK ([CveCliente]>(0));
+ ALTER TABLE [dbo].[Ventas] CHECK CONSTRAINT [CK_Ventas_1];
+ ALTER TABLE [dbo].[Ventas] WITH CHECK ADD CONSTRAINT [CK_Ventas_Dev_CveVentaPadre] CHECK ([TipoDocto]='Dev' AND [CveVentaPadre]>(0) OR [TipoDocto]<>'Dev');
+ ALTER TABLE [dbo].[Ventas] CHECK CONSTRAINT [CK_Ventas_Dev_CveVentaPadre];
+ ALTER TABLE [dbo].[Ventas] WITH CHECK ADD CONSTRAINT [CK_Ventas_FechaEjecucion_MinMax] CHECK ([FechaEjecucion]>'1900-01-01' AND [FechaEjecucion]<'2900-12-31');
+ ALTER TABLE [dbo].[Ventas] CHECK CONSTRAINT [CK_Ventas_FechaEjecucion_MinMax];
+ ALTER TABLE [dbo].[Ventas] WITH CHECK ADD CONSTRAINT [CK_Ventas_Moneda_TipoCambio] CHECK ([CveMoneda]>=(2) AND [TipoCambio]>=(10) OR [CveMoneda]=(1) AND [TipoCambio]=(1));
+ ALTER TABLE [dbo].[Ventas] CHECK CONSTRAINT [CK_Ventas_Moneda_TipoCambio];
+ ALTER TABLE [dbo].[Ventas] WITH CHECK ADD CONSTRAINT [CK_Ventas_TMp_AlmacenInactivo] CHECK ([CveAlmacenTraspasoDestino]<>(172) AND [CveVenta]>(1012251) OR [CveVenta]<=(1012251));
+ ALTER TABLE [dbo].[Ventas] CHECK CONSTRAINT [CK_Ventas_TMp_AlmacenInactivo];
+ ALTER TABLE [dbo].[Ventas] WITH CHECK ADD CONSTRAINT [CK_Ventas_Total] CHECK (datepart(year,[Fecha])>=(2018) AND abs(round([Total],(2))-round(((((((isnull([SubTotal],(0))+isnull([IVA],(0)))+isnull([IEPS],(0)))-isnull([Amortizacion],(0)))-isnull([RetIVA],(0)))-isnull([RetISR],(0)))-isnull([Descuento],(0)))-isnull([ImpuestoLocal],(0)),(2)))<(200.02) OR datepart(year,[Fecha])<(2018));
+ ALTER TABLE [dbo].[Ventas] CHECK CONSTRAINT [CK_Ventas_Total];
+ ALTER TABLE [dbo].[Vta_Pagos] WITH CHECK ADD CONSTRAINT [CK_Vta_Pagos_Importe] CHECK ([Importe]>(0));
+ ALTER TABLE [dbo].[Vta_Pagos] CHECK CONSTRAINT [CK_Vta_Pagos_Importe];
+ ALTER TABLE [dbo].[Vta_Pagos] WITH CHECK ADD CONSTRAINT [CK_Vta_Pagos_SaldoFavor] CHECK ([EsSaldoFavor]=(0) OR [CveSolicitud] IS NULL);
+ ALTER TABLE [dbo].[Vta_Pagos] CHECK CONSTRAINT [CK_Vta_Pagos_SaldoFavor];
+
+ /* Recrear índices */
+ ALTER TABLE [dbo].[Banc_Bancos] ADD CONSTRAINT [UN_Bancos] UNIQUE NONCLUSTERED ([Banco] ASC) WITH (PAD_INDEX = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY];
+ ALTER TABLE [dbo].[Banc_BancosCuentas] ADD CONSTRAINT [UN_Banc_BancosCuentas] UNIQUE NONCLUSTERED ([CveBanco] ASC, [NumCuenta] ASC) WITH (PAD_INDEX = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY];
+ ALTER TABLE [dbo].[Banc_TiposCuenta] ADD CONSTRAINT [UN_BancTipoCuenta] UNIQUE NONCLUSTERED ([TipoCuenta] ASC) WITH (PAD_INDEX = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY];
+ CREATE NONCLUSTERED INDEX [IX_Bit_Bitacora_Tabla_Llave_Fecha] ON [dbo].[Bit_Bitacora] ([CveTabla] ASC, [LlaveRegistro] ASC, [FechaMovimiento] ASC) WITH (PAD_INDEX = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY];
+ CREATE NONCLUSTERED INDEX [IX_Bit_BitacoraRelaciones_Tabla_Llave] ON [dbo].[Bit_BitacoraRelaciones] ([CveTablaRelacionada] ASC, [LlaveRegistroRelacionada] ASC) WITH (PAD_INDEX = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY];
+ CREATE NONCLUSTERED INDEX [IX_Bit_BitacoraRelaciones_Filtro] ON [dbo].[Bit_BitacoraRelaciones] ([CveTablaRelacionada] ASC, [CveCampoRelacion] ASC, [ValorRelacionNumero] ASC, [VisibleDesarrollador] ASC, [CveBitacora] ASC) INCLUDE ([ValorRelacionTexto], [LlaveRegistroRelacionada]) WITH (PAD_INDEX = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY];
+ CREATE NONCLUSTERED INDEX [IX_Bit_BitacoraRelaciones_FiltroTexto] ON [dbo].[Bit_BitacoraRelaciones] ([CveTablaRelacionada] ASC, [CveCampoRelacion] ASC, [ValorRelacionTexto] ASC, [VisibleDesarrollador] ASC, [CveBitacora] ASC) INCLUDE ([ValorRelacionNumero], [LlaveRegistroRelacionada]) WITH (PAD_INDEX = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY];
+ ALTER TABLE [dbo].[Bit_Campos] ADD CONSTRAINT [UQ_Bit_Campos_Tabla_Campo] UNIQUE NONCLUSTERED ([CveTabla] ASC, [NombreCampoSQL] ASC) WITH (PAD_INDEX = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY];
+ ALTER TABLE [dbo].[Bit_DefinicionesAccion] ADD CONSTRAINT [UQ_Bit_DefinicionesAccion] UNIQUE NONCLUSTERED ([CveTabla] ASC, [CveTipoMovimiento] ASC, [NombreAccion] ASC) WITH (PAD_INDEX = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY];
+ ALTER TABLE [dbo].[Bit_Tablas] ADD CONSTRAINT [UQ_Bit_Tablas_NombreTablaSQL] UNIQUE NONCLUSTERED ([NombreTablaSQL] ASC) WITH (PAD_INDEX = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY];
+ ALTER TABLE [dbo].[Bit_TiposMovimiento] ADD CONSTRAINT [UQ_Bit_TiposMovimiento_Nombre] UNIQUE NONCLUSTERED ([Nombre] ASC) WITH (PAD_INDEX = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY];
+ ALTER TABLE [dbo].[Bit_TiposRelacion] ADD CONSTRAINT [UQ_Bit_TiposRelacion_Nombre] UNIQUE NONCLUSTERED ([Nombre] ASC) WITH (PAD_INDEX = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY];
+ ALTER TABLE [dbo].[Clasificaciones] ADD CONSTRAINT [UN_Clasificacion] UNIQUE NONCLUSTERED ([Clasificacion] ASC, [Codigo] ASC) WITH (PAD_INDEX = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY];
+ ALTER TABLE [dbo].[Conta_ConceptosContables] ADD CONSTRAINT [UN_Conta_ConceptosContables] UNIQUE NONCLUSTERED ([ConceptoContable] ASC, [Tipo] ASC) WITH (PAD_INDEX = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY];
+ ALTER TABLE [dbo].[Conta_TiposPoliza] ADD CONSTRAINT [UN_ContaTipoPoliza] UNIQUE NONCLUSTERED ([TipoPoliza] ASC) WITH (PAD_INDEX = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY];
+ ALTER TABLE [dbo].[Fraccionamientos] ADD CONSTRAINT [UQ_Fraccionamientos_Cliente_Nombre] UNIQUE NONCLUSTERED ([CveCliente] ASC, [Fraccionamiento] ASC) WITH (PAD_INDEX = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY];
+ ALTER TABLE [dbo].[FraccionamientosEtapas] ADD CONSTRAINT [UQ_FraccionamientosEtapas_Fraccionamiento_Etapa] UNIQUE NONCLUSTERED ([CveFraccionamiento] ASC, [Etapa] ASC) WITH (PAD_INDEX = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY];
+ CREATE NONCLUSTERED INDEX [IX_FraccionamientosLotes_Etapa] ON [dbo].[FraccionamientosLotes] ([CveFraccionamientoEtapa] ASC) INCLUDE ([Numero], [Tipo], [Calle], [Catastro], [MetrosCuadrados], [Duplicador], [EsActivo]) WITH (PAD_INDEX = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY];
+ ALTER TABLE [dbo].[Gral_Categorias] ADD CONSTRAINT [UK_Gral_Categorias] UNIQUE NONCLUSTERED ([Categoria] ASC) WITH (PAD_INDEX = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY];
+ ALTER TABLE [dbo].[Gral_Monedas] ADD CONSTRAINT [UN_Moneda] UNIQUE NONCLUSTERED ([Moneda] ASC) WITH (PAD_INDEX = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY];
+ CREATE NONCLUSTERED INDEX [IND_Gral_SAT_Colonia_CP] ON [dbo].[Gral_SAT_Colonia] ([CP] ASC) INCLUDE ([CveColonia], [ClaveSATColonia], [NombreAsentamiento]) WITH (PAD_INDEX = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY];
+ CREATE NONCLUSTERED INDEX [IX_Gral_SAT_Colonia_CP_Vigente] ON [dbo].[Gral_SAT_Colonia] ([CP] ASC) INCLUDE ([CveColonia], [ClaveSATColonia], [NombreAsentamiento]) WITH (PAD_INDEX = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY];
+ CREATE NONCLUSTERED INDEX [IND_Gral_SAT_CP_ClaveSATEstado] ON [dbo].[Gral_SAT_CP] ([CP] ASC) INCLUDE ([ClaveSATEstado]) WITH (PAD_INDEX = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY];
+ ALTER TABLE [dbo].[Gral_SAT_CP] ADD CONSTRAINT [UQ_Gral_SAT_CP_CP] UNIQUE NONCLUSTERED ([CP] ASC) WITH (PAD_INDEX = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY];
+ CREATE NONCLUSTERED INDEX [IX_Gral_SAT_CP_BusquedaRegistro] ON [dbo].[Gral_SAT_CP] ([CP] ASC) INCLUDE ([CveCP], [ClaveSATEstado], [ClaveSATMunicipio], [ClaveSATLocalidad]) WITH (PAD_INDEX = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY];
+ CREATE NONCLUSTERED INDEX [IX_Gral_SAT_Localidad_Claves_Vigente] ON [dbo].[Gral_SAT_Localidad] ([ClaveSATEstado] ASC, [ClaveSATLocalidad] ASC) INCLUDE ([CveLocalidad], [NombreLocalidad]) WITH (PAD_INDEX = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY];
+ CREATE NONCLUSTERED INDEX [IX_Gral_SAT_Municipio_Claves_Vigente] ON [dbo].[Gral_SAT_Municipio] ([ClaveSATEstado] ASC, [ClaveSATMunicipio] ASC) INCLUDE ([CveMunicipio], [Descripcion]) WITH (PAD_INDEX = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY];
+ ALTER TABLE [dbo].[Gral_SAT_UnidadesMedida] ADD CONSTRAINT [UK_Gral_SAT_UnidadesMedida] UNIQUE NONCLUSTERED ([SATClaveUnidadMedida] ASC) WITH (PAD_INDEX = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY];
+ ALTER TABLE [dbo].[Inv_Almacenes] ADD CONSTRAINT [UN_INV_Almacenes] UNIQUE NONCLUSTERED ([Almacen] ASC) WITH (PAD_INDEX = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY];
+ ALTER TABLE [dbo].[Inv_TiposAlmacenes] ADD CONSTRAINT [UN_INV_TiposAlmacenes] UNIQUE NONCLUSTERED ([TipoAlmacen] ASC) WITH (PAD_INDEX = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY];
+ ALTER TABLE [dbo].[Proyectos] ADD CONSTRAINT [UN_Proyectos] UNIQUE NONCLUSTERED ([Proyecto] ASC) WITH (PAD_INDEX = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY];
+ ALTER TABLE [dbo].[Sat_Bancos] ADD CONSTRAINT [UQ_Sat_Bancos_CveBanco] UNIQUE NONCLUSTERED ([CveBanco] ASC) WITH (PAD_INDEX = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY];
+ CREATE NONCLUSTERED INDEX [IX_Sis_IntentosInicioSesion_NombreUsuario_FechaCreacion] ON [dbo].[Sis_IntentosInicioSesion] ([NombreUsuario] ASC, [FechaCreacion] DESC) WITH (PAD_INDEX = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY];
+ ALTER TABLE [dbo].[Sis_Permisos] ADD CONSTRAINT [UQ_Sis_Permisos_CodigoPermiso] UNIQUE NONCLUSTERED ([CodigoPermiso] ASC) WITH (PAD_INDEX = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY];
+ ALTER TABLE [dbo].[Sis_Plataformas] ADD CONSTRAINT [UQ_Sis_Plataformas_NombrePlataforma] UNIQUE NONCLUSTERED ([NombrePlataforma] ASC) WITH (PAD_INDEX = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY];
+ ALTER TABLE [dbo].[Sis_PoliticasLimpieza] ADD CONSTRAINT [PK_Sis_PoliticasLimpieza] PRIMARY KEY CLUSTERED ([Esquema] ASC, [Tabla] ASC) WITH (PAD_INDEX = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY];
+ ALTER TABLE [dbo].[Sis_Roles] ADD CONSTRAINT [UQ_Sis_Roles_NombreRol] UNIQUE NONCLUSTERED ([NombreRol] ASC) WITH (PAD_INDEX = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY];
+ ALTER TABLE [dbo].[Sis_Usuarios] ADD CONSTRAINT [UQ_Sis_Usuarios_NombreUsuario] UNIQUE NONCLUSTERED ([NombreUsuario] ASC) WITH (PAD_INDEX = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY];
+ CREATE UNIQUE NONCLUSTERED INDEX [UQ_Sis_Usuarios_CorreoElectronico] ON [dbo].[Sis_Usuarios] ([CorreoElectronico] ASC) WHERE ([CorreoElectronico] IS NOT NULL) WITH (PAD_INDEX = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY];
+ ALTER TABLE [dbo].[Sis_UsuariosSesiones] ADD CONSTRAINT [UQ_Sis_UsuariosSesiones_TokenSesion] UNIQUE NONCLUSTERED ([TokenSesion] ASC) WITH (PAD_INDEX = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY];
+ ALTER TABLE [dbo].[Sis_UsuariosVerificacionesCorreo] ADD CONSTRAINT [UQ_Sis_UsuariosVerificacionesCorreo_HashToken] UNIQUE NONCLUSTERED ([HashToken] ASC) WITH (PAD_INDEX = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY];
+ ALTER TABLE [dbo].[SubProyectos] ADD CONSTRAINT [UN_SubProyectos] UNIQUE NONCLUSTERED ([CveProyecto] ASC, [SubProyecto] ASC) WITH (PAD_INDEX = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY];
+ ALTER TABLE [dbo].[Tra_EstatusSolicitud] ADD CONSTRAINT [UQ_Tra_EstatusSolicitud_Codigo] UNIQUE NONCLUSTERED ([Codigo] ASC) WITH (PAD_INDEX = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY];
+ ALTER TABLE [dbo].[Tra_OpcionesPregunta] ADD CONSTRAINT [UQ_Tra_OpcionesPregunta_Pregunta_Texto] UNIQUE NONCLUSTERED ([CvePregunta] ASC, [TextoOpcion] ASC) WITH (PAD_INDEX = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY];
+ CREATE UNIQUE NONCLUSTERED INDEX [UX_Tra_Preguntas_Codigo] ON [dbo].[Tra_Preguntas] ([Codigo] ASC) WHERE ([Codigo] IS NOT NULL) WITH (PAD_INDEX = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY];
+ ALTER TABLE [dbo].[Tra_Solicitudes] ADD CONSTRAINT [UQ_Tra_Solicitudes_Folio] UNIQUE NONCLUSTERED ([Folio] ASC) WITH (PAD_INDEX = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY];
+ ALTER TABLE [dbo].[Tra_TiposDocumento] ADD CONSTRAINT [UQ_Tra_TiposDocumento_Nombre] UNIQUE NONCLUSTERED ([TipoDocumento] ASC) WITH (PAD_INDEX = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY];
+ ALTER TABLE [dbo].[Tra_TiposTramite] ADD CONSTRAINT [UQ_Tra_TiposTramite_Codigo] UNIQUE NONCLUSTERED ([Codigo] ASC) WITH (PAD_INDEX = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY];
+ ALTER TABLE [dbo].[UnidadesMedida] ADD CONSTRAINT [UN_UnidadesMedida] UNIQUE NONCLUSTERED ([Abreviatura] ASC) WITH (PAD_INDEX = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY];
+ ALTER TABLE [dbo].[Ventas] ADD CONSTRAINT [UK_Ventas_TipoDocto_Serie_Folio_CveSubProyecto] UNIQUE NONCLUSTERED ([CveSubProyecto] ASC, [TipoDocto] ASC, [Serie] ASC, [Folio] ASC) WITH (PAD_INDEX = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY];
+ ALTER TABLE [dbo].[Vta_ClientesSucursales] ADD CONSTRAINT [UN_Vta_ClientesSucursales] UNIQUE NONCLUSTERED ([CveCliente] ASC, [SucursalCliente] ASC) WITH (PAD_INDEX = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY];
+ ALTER TABLE [dbo].[Vta_TipoDocumentos] ADD CONSTRAINT [PK_Vta_TipoDocumentos] PRIMARY KEY CLUSTERED ([CveTipoDocumento] ASC) WITH (PAD_INDEX = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY];
+
+ /* Recrear estadísticas */
+
+ /* Recrear llaves foráneas */
+ ALTER TABLE [dbo].[EstatusFactura] WITH CHECK ADD CONSTRAINT [FK_EstatusFactura_Vta_TipoDocumentos] FOREIGN KEY ([TipoDocto]) REFERENCES [dbo].[Vta_TipoDocumentos] ([CveTipoDocumento]);
+ ALTER TABLE [dbo].[EstatusFactura] CHECK CONSTRAINT [FK_EstatusFactura_Vta_TipoDocumentos];
+ ALTER TABLE [dbo].[Ventas] WITH CHECK ADD CONSTRAINT [FK_Ventas_Vta_TipoDocumentos] FOREIGN KEY ([TipoDocto]) REFERENCES [dbo].[Vta_TipoDocumentos] ([CveTipoDocumento]);
+ ALTER TABLE [dbo].[Ventas] CHECK CONSTRAINT [FK_Ventas_Vta_TipoDocumentos];
+
+ COMMIT TRANSACTION;
+END TRY
+BEGIN CATCH
+ IF XACT_STATE() <> 0 ROLLBACK TRANSACTION;
+ THROW;
+END CATCH;
+GO
+
+/* Después ejecute Migracion_Collation_Default_CS_AS_Dependencias_20260723.sql. */
diff --git a/Migracion_Collation_Default_CS_AS_Dependencias_20260723.sql b/Migracion_Collation_Default_CS_AS_Dependencias_20260723.sql
new file mode 100644
index 0000000..c26f0b2
--- /dev/null
+++ b/Migracion_Collation_Default_CS_AS_Dependencias_20260723.sql
@@ -0,0 +1,177 @@
+SET NOCOUNT ON;
+SET XACT_ABORT ON;
+USE [master];
+ALTER DATABASE [SIG_PlataformaDesarolladores] SET SINGLE_USER WITH ROLLBACK IMMEDIATE;
+BEGIN TRY
+ USE [SIG_PlataformaDesarolladores];
+ /* Retirar dependencias del COLLATE predeterminado. */
+ IF EXISTS(SELECT 1 FROM sys.indexes WHERE object_id=OBJECT_ID(N'dbo.Sis_UsuariosClientes') AND name=N'UX_Sis_UsuariosClientes_Usuario_Orden') DROP INDEX [UX_Sis_UsuariosClientes_Usuario_Orden] ON [dbo].[Sis_UsuariosClientes];
+ IF EXISTS(SELECT 1 FROM sys.indexes WHERE object_id=OBJECT_ID(N'dbo.Sis_Usuarios') AND name=N'UQ_Sis_Usuarios_CorreoElectronico') DROP INDEX [UQ_Sis_Usuarios_CorreoElectronico] ON [dbo].[Sis_Usuarios];
+ IF EXISTS(SELECT 1 FROM sys.indexes WHERE object_id=OBJECT_ID(N'dbo.Tra_Preguntas') AND name=N'UX_Tra_Preguntas_Codigo') DROP INDEX [UX_Tra_Preguntas_Codigo] ON [dbo].[Tra_Preguntas];
+ IF OBJECT_ID(N'dbo.CK_Tra_DocumentosSolicitud_Tamano', N'C') IS NOT NULL ALTER TABLE [dbo].[Tra_DocumentosSolicitud] DROP CONSTRAINT [CK_Tra_DocumentosSolicitud_Tamano];
+ IF OBJECT_ID(N'dbo.CK_Sis_NotificacionesEnvios_Canal', N'C') IS NOT NULL ALTER TABLE [dbo].[Sis_NotificacionesEnvios] DROP CONSTRAINT [CK_Sis_NotificacionesEnvios_Canal];
+ IF OBJECT_ID(N'dbo.CK_Sis_NotificacionesEnvios_Estado', N'C') IS NOT NULL ALTER TABLE [dbo].[Sis_NotificacionesEnvios] DROP CONSTRAINT [CK_Sis_NotificacionesEnvios_Estado];
+ IF OBJECT_ID(N'dbo.CK_Tra_RespuestasSolicitud_Valor', N'C') IS NOT NULL ALTER TABLE [dbo].[Tra_RespuestasSolicitud] DROP CONSTRAINT [CK_Tra_RespuestasSolicitud_Valor];
+ IF OBJECT_ID(N'dbo.CK_Sis_UsuariosClientes_Orden', N'C') IS NOT NULL ALTER TABLE [dbo].[Sis_UsuariosClientes] DROP CONSTRAINT [CK_Sis_UsuariosClientes_Orden];
+ IF OBJECT_ID(N'dbo.CK_Tra_CostosTramite_Importe', N'C') IS NOT NULL ALTER TABLE [dbo].[Tra_CostosTramite] DROP CONSTRAINT [CK_Tra_CostosTramite_Importe];
+ IF OBJECT_ID(N'dbo.CK_Tra_CostosTramite_Vigencia', N'C') IS NOT NULL ALTER TABLE [dbo].[Tra_CostosTramite] DROP CONSTRAINT [CK_Tra_CostosTramite_Vigencia];
+ IF OBJECT_ID(N'dbo.CK_Bit_Bitacora_Autorizacion', N'C') IS NOT NULL ALTER TABLE [dbo].[Bit_Bitacora] DROP CONSTRAINT [CK_Bit_Bitacora_Autorizacion];
+ IF OBJECT_ID(N'dbo.CK_VentasDetalle_FondoInicial', N'C') IS NOT NULL ALTER TABLE [dbo].[VentasDetalle] DROP CONSTRAINT [CK_VentasDetalle_FondoInicial];
+ IF OBJECT_ID(N'dbo.CK_VentasDetalle_Importes', N'C') IS NOT NULL ALTER TABLE [dbo].[VentasDetalle] DROP CONSTRAINT [CK_VentasDetalle_Importes];
+ IF OBJECT_ID(N'dbo.CK_Vta_Pagos_Importe', N'C') IS NOT NULL ALTER TABLE [dbo].[Vta_Pagos] DROP CONSTRAINT [CK_Vta_Pagos_Importe];
+ IF OBJECT_ID(N'dbo.CK_Vta_Pagos_SaldoFavor', N'C') IS NOT NULL ALTER TABLE [dbo].[Vta_Pagos] DROP CONSTRAINT [CK_Vta_Pagos_SaldoFavor];
+ IF OBJECT_ID(N'dbo.CK_Bit_BitacoraRelaciones_ValorRelacion', N'C') IS NOT NULL ALTER TABLE [dbo].[Bit_BitacoraRelaciones] DROP CONSTRAINT [CK_Bit_BitacoraRelaciones_ValorRelacion];
+ IF OBJECT_ID(N'dbo.CK_Vta_AplicacionesSaldoFavor_Importe', N'C') IS NOT NULL ALTER TABLE [dbo].[Vta_AplicacionesSaldoFavor] DROP CONSTRAINT [CK_Vta_AplicacionesSaldoFavor_Importe];
+ IF OBJECT_ID(N'dbo.CHK_VentasMail', N'C') IS NOT NULL ALTER TABLE [dbo].[Ventas] DROP CONSTRAINT [CHK_VentasMail];
+ IF OBJECT_ID(N'dbo.CK_Ventas', N'C') IS NOT NULL ALTER TABLE [dbo].[Ventas] DROP CONSTRAINT [CK_Ventas];
+ IF OBJECT_ID(N'dbo.CK_Ventas_1', N'C') IS NOT NULL ALTER TABLE [dbo].[Ventas] DROP CONSTRAINT [CK_Ventas_1];
+ IF OBJECT_ID(N'dbo.CK_Ventas_Dev_CveVentaPadre', N'C') IS NOT NULL ALTER TABLE [dbo].[Ventas] DROP CONSTRAINT [CK_Ventas_Dev_CveVentaPadre];
+ IF OBJECT_ID(N'dbo.CK_Ventas_FechaEjecucion_MinMax', N'C') IS NOT NULL ALTER TABLE [dbo].[Ventas] DROP CONSTRAINT [CK_Ventas_FechaEjecucion_MinMax];
+ IF OBJECT_ID(N'dbo.CK_Ventas_Moneda_TipoCambio', N'C') IS NOT NULL ALTER TABLE [dbo].[Ventas] DROP CONSTRAINT [CK_Ventas_Moneda_TipoCambio];
+ IF OBJECT_ID(N'dbo.CK_Ventas_TMp_AlmacenInactivo', N'C') IS NOT NULL ALTER TABLE [dbo].[Ventas] DROP CONSTRAINT [CK_Ventas_TMp_AlmacenInactivo];
+ IF OBJECT_ID(N'dbo.CK_Ventas_Total', N'C') IS NOT NULL ALTER TABLE [dbo].[Ventas] DROP CONSTRAINT [CK_Ventas_Total];
+ IF OBJECT_ID(N'dbo.CK_Conta_Cuentas_Padre', N'C') IS NOT NULL ALTER TABLE [dbo].[Conta_Cuentas] DROP CONSTRAINT [CK_Conta_Cuentas_Padre];
+ IF OBJECT_ID(N'dbo.CK_Conta_Cuentas_Padre_Requerido', N'C') IS NOT NULL ALTER TABLE [dbo].[Conta_Cuentas] DROP CONSTRAINT [CK_Conta_Cuentas_Padre_Requerido];
+ IF OBJECT_ID(N'dbo.CK_Fraccionamientos_Hectareas', N'C') IS NOT NULL ALTER TABLE [dbo].[Fraccionamientos] DROP CONSTRAINT [CK_Fraccionamientos_Hectareas];
+ IF OBJECT_ID(N'dbo.CK_Clientes_RFC_Requerido', N'C') IS NOT NULL ALTER TABLE [dbo].[Clientes] DROP CONSTRAINT [CK_Clientes_RFC_Requerido];
+ IF OBJECT_ID(N'dbo.CK_FraccionamientosEtapas_Hectareas', N'C') IS NOT NULL ALTER TABLE [dbo].[FraccionamientosEtapas] DROP CONSTRAINT [CK_FraccionamientosEtapas_Hectareas];
+ IF OBJECT_ID(N'dbo.CK_FraccionamientosLotes_MetrosCuadrados', N'C') IS NOT NULL ALTER TABLE [dbo].[FraccionamientosLotes] DROP CONSTRAINT [CK_FraccionamientosLotes_MetrosCuadrados];
+ IF OBJECT_ID(N'dbo.CK_Tra_TiposDocumento_Tamano', N'C') IS NOT NULL ALTER TABLE [dbo].[Tra_TiposDocumento] DROP CONSTRAINT [CK_Tra_TiposDocumento_Tamano];
+ IF OBJECT_ID(N'dbo.CK_Conta_PrePolizas_Concepto', N'C') IS NOT NULL ALTER TABLE [dbo].[Conta_PrePolizas] DROP CONSTRAINT [CK_Conta_PrePolizas_Concepto];
+ IF OBJECT_ID(N'dbo.CK_Conta_PrePolizas_Fecha_2000_2050', N'C') IS NOT NULL ALTER TABLE [dbo].[Conta_PrePolizas] DROP CONSTRAINT [CK_Conta_PrePolizas_Fecha_2000_2050];
+ IF OBJECT_ID(N'dbo.CK_Conta_PrePolizas_FolioPoliza', N'C') IS NOT NULL ALTER TABLE [dbo].[Conta_PrePolizas] DROP CONSTRAINT [CK_Conta_PrePolizas_FolioPoliza];
+ IF OBJECT_ID(N'dbo.CK_Sis_PoliticasLimpieza_DiasRetencion', N'C') IS NOT NULL ALTER TABLE [dbo].[Sis_PoliticasLimpieza] DROP CONSTRAINT [CK_Sis_PoliticasLimpieza_DiasRetencion];
+ IF OBJECT_ID(N'dbo.CK_Sis_PoliticasLimpieza_TamanoLote', N'C') IS NOT NULL ALTER TABLE [dbo].[Sis_PoliticasLimpieza] DROP CONSTRAINT [CK_Sis_PoliticasLimpieza_TamanoLote];
+ IF OBJECT_ID(N'dbo.CK_Sis_UsuariosAutorizaciones_Estado', N'C') IS NOT NULL ALTER TABLE [dbo].[Sis_UsuariosAutorizaciones] DROP CONSTRAINT [CK_Sis_UsuariosAutorizaciones_Estado];
+ IF OBJECT_ID(N'dbo.CK_Tra_SolicitudesDependencias_Diferentes', N'C') IS NOT NULL ALTER TABLE [dbo].[Tra_SolicitudesDependencias] DROP CONSTRAINT [CK_Tra_SolicitudesDependencias_Diferentes];
+ IF OBJECT_ID(N'dbo.CK_AsientoContableCompras', N'C') IS NOT NULL ALTER TABLE [dbo].[ProductosServicios] DROP CONSTRAINT [CK_AsientoContableCompras];
+ IF OBJECT_ID(N'dbo.CK_AsientoContableVentas', N'C') IS NOT NULL ALTER TABLE [dbo].[ProductosServicios] DROP CONSTRAINT [CK_AsientoContableVentas];
+ IF OBJECT_ID(N'dbo.CK_ProductosServicios_IVA', N'C') IS NOT NULL ALTER TABLE [dbo].[ProductosServicios] DROP CONSTRAINT [CK_ProductosServicios_IVA];
+ IF OBJECT_ID(N'dbo.CK_Sis_Notificaciones_Estado', N'C') IS NOT NULL ALTER TABLE [dbo].[Sis_Notificaciones] DROP CONSTRAINT [CK_Sis_Notificaciones_Estado];
+ IF OBJECT_ID(N'dbo.CK_Sis_Notificaciones_Tipo', N'C') IS NOT NULL ALTER TABLE [dbo].[Sis_Notificaciones] DROP CONSTRAINT [CK_Sis_Notificaciones_Tipo];
+ IF COL_LENGTH(N'dbo.Banc_CreditosDetalle', N'IVA') IS NOT NULL ALTER TABLE [dbo].[Banc_CreditosDetalle] DROP COLUMN [IVA];
+ IF COL_LENGTH(N'dbo.Banc_CreditosDetalle', N'Total') IS NOT NULL ALTER TABLE [dbo].[Banc_CreditosDetalle] DROP COLUMN [Total];
+ IF COL_LENGTH(N'dbo.Ventas', N'DiasVencimiento') IS NOT NULL ALTER TABLE [dbo].[Ventas] DROP COLUMN [DiasVencimiento];
+ IF COL_LENGTH(N'dbo.Ventas', N'SerieFolio') IS NOT NULL ALTER TABLE [dbo].[Ventas] DROP COLUMN [SerieFolio];
+ IF COL_LENGTH(N'dbo.Conta_PrePolizas', N'AnioMes') IS NOT NULL ALTER TABLE [dbo].[Conta_PrePolizas] DROP COLUMN [AnioMes];
+ IF COL_LENGTH(N'dbo.ProductosServicios', N'CodigoPS') IS NOT NULL ALTER TABLE [dbo].[ProductosServicios] DROP COLUMN [CodigoPS];
+ USE [master];
+ ALTER DATABASE [SIG_PlataformaDesarolladores] COLLATE Modern_Spanish_CS_AS;
+ USE [SIG_PlataformaDesarolladores];
+ /* Reconstruir dependencias. */
+ IF OBJECT_ID(N'dbo.CK_Tra_DocumentosSolicitud_Tamano', N'C') IS NULL BEGIN ALTER TABLE [dbo].[Tra_DocumentosSolicitud] WITH CHECK ADD CONSTRAINT [CK_Tra_DocumentosSolicitud_Tamano] CHECK ([TamanoBytes] IS NULL OR [TamanoBytes]>=(0)); ALTER TABLE [dbo].[Tra_DocumentosSolicitud] CHECK CONSTRAINT [CK_Tra_DocumentosSolicitud_Tamano]; END;
+ IF OBJECT_ID(N'dbo.CK_Sis_NotificacionesEnvios_Canal', N'C') IS NULL BEGIN ALTER TABLE [dbo].[Sis_NotificacionesEnvios] WITH CHECK ADD CONSTRAINT [CK_Sis_NotificacionesEnvios_Canal] CHECK ([CanalEnvio]='Campana' OR [CanalEnvio]='Push' OR [CanalEnvio]='Correo' OR [CanalEnvio]='SignalR' OR [CanalEnvio]='WhatsApp' OR [CanalEnvio]='Local'); ALTER TABLE [dbo].[Sis_NotificacionesEnvios] CHECK CONSTRAINT [CK_Sis_NotificacionesEnvios_Canal]; END;
+ IF OBJECT_ID(N'dbo.CK_Sis_NotificacionesEnvios_Estado', N'C') IS NULL BEGIN ALTER TABLE [dbo].[Sis_NotificacionesEnvios] WITH CHECK ADD CONSTRAINT [CK_Sis_NotificacionesEnvios_Estado] CHECK ([EstadoEnvio]='Cancelado' OR [EstadoEnvio]='Fallido' OR [EstadoEnvio]='Enviado' OR [EstadoEnvio]='Pendiente'); ALTER TABLE [dbo].[Sis_NotificacionesEnvios] CHECK CONSTRAINT [CK_Sis_NotificacionesEnvios_Estado]; END;
+ IF OBJECT_ID(N'dbo.CK_Tra_RespuestasSolicitud_Valor', N'C') IS NULL BEGIN ALTER TABLE [dbo].[Tra_RespuestasSolicitud] WITH CHECK ADD CONSTRAINT [CK_Tra_RespuestasSolicitud_Valor] CHECK ([CveOpcionPregunta] IS NOT NULL OR [Valor] IS NOT NULL); ALTER TABLE [dbo].[Tra_RespuestasSolicitud] CHECK CONSTRAINT [CK_Tra_RespuestasSolicitud_Valor]; END;
+ IF OBJECT_ID(N'dbo.CK_Sis_UsuariosClientes_Orden', N'C') IS NULL BEGIN ALTER TABLE [dbo].[Sis_UsuariosClientes] WITH CHECK ADD CONSTRAINT [CK_Sis_UsuariosClientes_Orden] CHECK ([Orden]>(0)); ALTER TABLE [dbo].[Sis_UsuariosClientes] CHECK CONSTRAINT [CK_Sis_UsuariosClientes_Orden]; END;
+ IF OBJECT_ID(N'dbo.CK_Tra_CostosTramite_Importe', N'C') IS NULL BEGIN ALTER TABLE [dbo].[Tra_CostosTramite] WITH CHECK ADD CONSTRAINT [CK_Tra_CostosTramite_Importe] CHECK ([Importe]>=(0)); ALTER TABLE [dbo].[Tra_CostosTramite] CHECK CONSTRAINT [CK_Tra_CostosTramite_Importe]; END;
+ IF OBJECT_ID(N'dbo.CK_Tra_CostosTramite_Vigencia', N'C') IS NULL BEGIN ALTER TABLE [dbo].[Tra_CostosTramite] WITH CHECK ADD CONSTRAINT [CK_Tra_CostosTramite_Vigencia] CHECK ([FechaFinVigencia] IS NULL OR [FechaInicioVigencia] IS NULL OR [FechaFinVigencia]>=[FechaInicioVigencia]); ALTER TABLE [dbo].[Tra_CostosTramite] CHECK CONSTRAINT [CK_Tra_CostosTramite_Vigencia]; END;
+ IF OBJECT_ID(N'dbo.CK_Bit_Bitacora_Autorizacion', N'C') IS NULL BEGIN ALTER TABLE [dbo].[Bit_Bitacora] WITH CHECK ADD CONSTRAINT [CK_Bit_Bitacora_Autorizacion] CHECK ([CveUsuarioAutoriza] IS NOT NULL OR [FechaAutorizacion] IS NULL); ALTER TABLE [dbo].[Bit_Bitacora] CHECK CONSTRAINT [CK_Bit_Bitacora_Autorizacion]; END;
+ IF OBJECT_ID(N'dbo.CK_VentasDetalle_FondoInicial', N'C') IS NULL BEGIN ALTER TABLE [dbo].[VentasDetalle] WITH CHECK ADD CONSTRAINT [CK_VentasDetalle_FondoInicial] CHECK ([EsFondoInicial]=(0) OR [CveSolicitud] IS NULL AND [CveCostoTramite] IS NULL); ALTER TABLE [dbo].[VentasDetalle] CHECK CONSTRAINT [CK_VentasDetalle_FondoInicial]; END;
+ IF OBJECT_ID(N'dbo.CK_VentasDetalle_Importes', N'C') IS NULL BEGIN ALTER TABLE [dbo].[VentasDetalle] WITH CHECK ADD CONSTRAINT [CK_VentasDetalle_Importes] CHECK ([Cantidad]>(0) AND [PrecioUnitario]>=(0) AND [Descuento]>=(0) AND [IVA]>=(0) AND [Importe]>=(0)); ALTER TABLE [dbo].[VentasDetalle] CHECK CONSTRAINT [CK_VentasDetalle_Importes]; END;
+ IF OBJECT_ID(N'dbo.CK_Vta_Pagos_Importe', N'C') IS NULL BEGIN ALTER TABLE [dbo].[Vta_Pagos] WITH CHECK ADD CONSTRAINT [CK_Vta_Pagos_Importe] CHECK ([Importe]>(0)); ALTER TABLE [dbo].[Vta_Pagos] CHECK CONSTRAINT [CK_Vta_Pagos_Importe]; END;
+ IF OBJECT_ID(N'dbo.CK_Vta_Pagos_SaldoFavor', N'C') IS NULL BEGIN ALTER TABLE [dbo].[Vta_Pagos] WITH CHECK ADD CONSTRAINT [CK_Vta_Pagos_SaldoFavor] CHECK ([EsSaldoFavor]=(0) OR [CveSolicitud] IS NULL); ALTER TABLE [dbo].[Vta_Pagos] CHECK CONSTRAINT [CK_Vta_Pagos_SaldoFavor]; END;
+ IF OBJECT_ID(N'dbo.CK_Bit_BitacoraRelaciones_ValorRelacion', N'C') IS NULL BEGIN ALTER TABLE [dbo].[Bit_BitacoraRelaciones] WITH CHECK ADD CONSTRAINT [CK_Bit_BitacoraRelaciones_ValorRelacion] CHECK (NOT ([ValorRelacionNumero] IS NOT NULL AND [ValorRelacionTexto] IS NOT NULL)); ALTER TABLE [dbo].[Bit_BitacoraRelaciones] CHECK CONSTRAINT [CK_Bit_BitacoraRelaciones_ValorRelacion]; END;
+ IF OBJECT_ID(N'dbo.CK_Vta_AplicacionesSaldoFavor_Importe', N'C') IS NULL BEGIN ALTER TABLE [dbo].[Vta_AplicacionesSaldoFavor] WITH CHECK ADD CONSTRAINT [CK_Vta_AplicacionesSaldoFavor_Importe] CHECK ([Importe]>(0)); ALTER TABLE [dbo].[Vta_AplicacionesSaldoFavor] CHECK CONSTRAINT [CK_Vta_AplicacionesSaldoFavor_Importe]; END;
+ IF OBJECT_ID(N'dbo.CHK_VentasMail', N'C') IS NULL BEGIN ALTER TABLE [dbo].[Ventas] WITH CHECK ADD CONSTRAINT [CHK_VentasMail] CHECK ([EnvioMail]=(3) OR [EnvioMail]=(2) OR [EnvioMail]=(1) OR [EnvioMail]=(0)); ALTER TABLE [dbo].[Ventas] CHECK CONSTRAINT [CHK_VentasMail]; END;
+ IF OBJECT_ID(N'dbo.CK_Ventas', N'C') IS NULL BEGIN ALTER TABLE [dbo].[Ventas] WITH CHECK ADD CONSTRAINT [CK_Ventas] CHECK ([TipoDocto]='Egs' OR [TipoDocto]='Dev' OR [TipoDocto]='Ing' OR [TipoDocto]='Cot' OR [TipoDocto]='Rem' OR [TipoDocto]='Ped' OR [TipoDocto]='DPe' OR [TipoDocto]='Com' OR [TipoDocto]='OP' OR [TipoDocto]='Nom' OR [TipoDocto]='Ant' OR [TipoDocto]='PeC' OR [TipoDocto]='Pd2' OR [TipoDocto]='PA' OR [TipoDocto]='RNC' OR [TipoDocto]='Rmm'); ALTER TABLE [dbo].[Ventas] CHECK CONSTRAINT [CK_Ventas]; END;
+ IF OBJECT_ID(N'dbo.CK_Ventas_1', N'C') IS NULL BEGIN ALTER TABLE [dbo].[Ventas] WITH CHECK ADD CONSTRAINT [CK_Ventas_1] CHECK ([CveCliente]>(0)); ALTER TABLE [dbo].[Ventas] CHECK CONSTRAINT [CK_Ventas_1]; END;
+ IF OBJECT_ID(N'dbo.CK_Ventas_Dev_CveVentaPadre', N'C') IS NULL BEGIN ALTER TABLE [dbo].[Ventas] WITH CHECK ADD CONSTRAINT [CK_Ventas_Dev_CveVentaPadre] CHECK ([TipoDocto]='Dev' AND [CveVentaPadre]>(0) OR [TipoDocto]<>'Dev'); ALTER TABLE [dbo].[Ventas] CHECK CONSTRAINT [CK_Ventas_Dev_CveVentaPadre]; END;
+ IF OBJECT_ID(N'dbo.CK_Ventas_FechaEjecucion_MinMax', N'C') IS NULL BEGIN ALTER TABLE [dbo].[Ventas] WITH CHECK ADD CONSTRAINT [CK_Ventas_FechaEjecucion_MinMax] CHECK ([FechaEjecucion]>'1900-01-01' AND [FechaEjecucion]<'2900-12-31'); ALTER TABLE [dbo].[Ventas] CHECK CONSTRAINT [CK_Ventas_FechaEjecucion_MinMax]; END;
+ IF OBJECT_ID(N'dbo.CK_Ventas_Moneda_TipoCambio', N'C') IS NULL BEGIN ALTER TABLE [dbo].[Ventas] WITH CHECK ADD CONSTRAINT [CK_Ventas_Moneda_TipoCambio] CHECK ([CveMoneda]>=(2) AND [TipoCambio]>=(10) OR [CveMoneda]=(1) AND [TipoCambio]=(1)); ALTER TABLE [dbo].[Ventas] CHECK CONSTRAINT [CK_Ventas_Moneda_TipoCambio]; END;
+ IF OBJECT_ID(N'dbo.CK_Ventas_TMp_AlmacenInactivo', N'C') IS NULL BEGIN ALTER TABLE [dbo].[Ventas] WITH CHECK ADD CONSTRAINT [CK_Ventas_TMp_AlmacenInactivo] CHECK ([CveAlmacenTraspasoDestino]<>(172) AND [CveVenta]>(1012251) OR [CveVenta]<=(1012251)); ALTER TABLE [dbo].[Ventas] CHECK CONSTRAINT [CK_Ventas_TMp_AlmacenInactivo]; END;
+ IF OBJECT_ID(N'dbo.CK_Ventas_Total', N'C') IS NULL BEGIN ALTER TABLE [dbo].[Ventas] WITH CHECK ADD CONSTRAINT [CK_Ventas_Total] CHECK (datepart(year,[Fecha])>=(2018) AND abs(round([Total],(2))-round(((((((isnull([SubTotal],(0))+isnull([IVA],(0)))+isnull([IEPS],(0)))-isnull([Amortizacion],(0)))-isnull([RetIVA],(0)))-isnull([RetISR],(0)))-isnull([Descuento],(0)))-isnull([ImpuestoLocal],(0)),(2)))<(200.02) OR datepart(year,[Fecha])<(2018)); ALTER TABLE [dbo].[Ventas] CHECK CONSTRAINT [CK_Ventas_Total]; END;
+ IF OBJECT_ID(N'dbo.CK_Conta_Cuentas_Padre', N'C') IS NULL BEGIN ALTER TABLE [dbo].[Conta_Cuentas] WITH CHECK ADD CONSTRAINT [CK_Conta_Cuentas_Padre] CHECK ([CveCuentaPadre]<>[CveCuenta]); ALTER TABLE [dbo].[Conta_Cuentas] CHECK CONSTRAINT [CK_Conta_Cuentas_Padre]; END;
+ IF OBJECT_ID(N'dbo.CK_Conta_Cuentas_Padre_Requerido', N'C') IS NULL BEGIN ALTER TABLE [dbo].[Conta_Cuentas] WITH CHECK ADD CONSTRAINT [CK_Conta_Cuentas_Padre_Requerido] CHECK ([CveCuentaPadre] IS NOT NULL OR ([Codigo]='_ORDEN' OR [Codigo]='_ESTADISTICAS' OR [Codigo]='_GLOBAL')); ALTER TABLE [dbo].[Conta_Cuentas] CHECK CONSTRAINT [CK_Conta_Cuentas_Padre_Requerido]; END;
+ IF OBJECT_ID(N'dbo.CK_Fraccionamientos_Hectareas', N'C') IS NULL BEGIN ALTER TABLE [dbo].[Fraccionamientos] WITH CHECK ADD CONSTRAINT [CK_Fraccionamientos_Hectareas] CHECK ([Hectareas] IS NULL OR [Hectareas]>=(0)); ALTER TABLE [dbo].[Fraccionamientos] CHECK CONSTRAINT [CK_Fraccionamientos_Hectareas]; END;
+ IF OBJECT_ID(N'dbo.CK_Clientes_RFC_Requerido', N'C') IS NULL BEGIN ALTER TABLE [dbo].[Clientes] WITH CHECK ADD CONSTRAINT [CK_Clientes_RFC_Requerido] CHECK ([RFC]<>''); ALTER TABLE [dbo].[Clientes] CHECK CONSTRAINT [CK_Clientes_RFC_Requerido]; END;
+ IF OBJECT_ID(N'dbo.CK_FraccionamientosEtapas_Hectareas', N'C') IS NULL BEGIN ALTER TABLE [dbo].[FraccionamientosEtapas] WITH CHECK ADD CONSTRAINT [CK_FraccionamientosEtapas_Hectareas] CHECK ([Hectareas] IS NULL OR [Hectareas]>=(0)); ALTER TABLE [dbo].[FraccionamientosEtapas] CHECK CONSTRAINT [CK_FraccionamientosEtapas_Hectareas]; END;
+ IF OBJECT_ID(N'dbo.CK_FraccionamientosLotes_MetrosCuadrados', N'C') IS NULL BEGIN ALTER TABLE [dbo].[FraccionamientosLotes] WITH CHECK ADD CONSTRAINT [CK_FraccionamientosLotes_MetrosCuadrados] CHECK ([MetrosCuadrados] IS NULL OR [MetrosCuadrados]>=(0)); ALTER TABLE [dbo].[FraccionamientosLotes] CHECK CONSTRAINT [CK_FraccionamientosLotes_MetrosCuadrados]; END;
+ IF OBJECT_ID(N'dbo.CK_Tra_TiposDocumento_Tamano', N'C') IS NULL BEGIN ALTER TABLE [dbo].[Tra_TiposDocumento] WITH CHECK ADD CONSTRAINT [CK_Tra_TiposDocumento_Tamano] CHECK ([TamanoMaximoMb] IS NULL OR [TamanoMaximoMb]>(0)); ALTER TABLE [dbo].[Tra_TiposDocumento] CHECK CONSTRAINT [CK_Tra_TiposDocumento_Tamano]; END;
+ IF OBJECT_ID(N'dbo.CK_Conta_PrePolizas_Concepto', N'C') IS NULL BEGIN ALTER TABLE [dbo].[Conta_PrePolizas] WITH CHECK ADD CONSTRAINT [CK_Conta_PrePolizas_Concepto] CHECK (rtrim([Concepto])<>''); ALTER TABLE [dbo].[Conta_PrePolizas] CHECK CONSTRAINT [CK_Conta_PrePolizas_Concepto]; END;
+ IF OBJECT_ID(N'dbo.CK_Conta_PrePolizas_Fecha_2000_2050', N'C') IS NULL BEGIN ALTER TABLE [dbo].[Conta_PrePolizas] WITH CHECK ADD CONSTRAINT [CK_Conta_PrePolizas_Fecha_2000_2050] CHECK ([Fecha]>='2000-01-01' AND [Fecha]<='2050/12/31'); ALTER TABLE [dbo].[Conta_PrePolizas] CHECK CONSTRAINT [CK_Conta_PrePolizas_Fecha_2000_2050]; END;
+ IF OBJECT_ID(N'dbo.CK_Conta_PrePolizas_FolioPoliza', N'C') IS NULL BEGIN ALTER TABLE [dbo].[Conta_PrePolizas] WITH CHECK ADD CONSTRAINT [CK_Conta_PrePolizas_FolioPoliza] CHECK ([IdPoliza]>(0) AND isnull([FolioPoliza],(0))>(0) OR ([IdPoliza] IS NULL OR [IdPoliza]=(0))); ALTER TABLE [dbo].[Conta_PrePolizas] CHECK CONSTRAINT [CK_Conta_PrePolizas_FolioPoliza]; END;
+ IF OBJECT_ID(N'dbo.CK_Sis_PoliticasLimpieza_DiasRetencion', N'C') IS NULL BEGIN ALTER TABLE [dbo].[Sis_PoliticasLimpieza] WITH CHECK ADD CONSTRAINT [CK_Sis_PoliticasLimpieza_DiasRetencion] CHECK ([DiasRetencion]>=(30) AND [DiasRetencion]<=(3650)); ALTER TABLE [dbo].[Sis_PoliticasLimpieza] CHECK CONSTRAINT [CK_Sis_PoliticasLimpieza_DiasRetencion]; END;
+ IF OBJECT_ID(N'dbo.CK_Sis_PoliticasLimpieza_TamanoLote', N'C') IS NULL BEGIN ALTER TABLE [dbo].[Sis_PoliticasLimpieza] WITH CHECK ADD CONSTRAINT [CK_Sis_PoliticasLimpieza_TamanoLote] CHECK ([TamanoLote]>=(1) AND [TamanoLote]<=(10000)); ALTER TABLE [dbo].[Sis_PoliticasLimpieza] CHECK CONSTRAINT [CK_Sis_PoliticasLimpieza_TamanoLote]; END;
+ IF OBJECT_ID(N'dbo.CK_Sis_UsuariosAutorizaciones_Estado', N'C') IS NULL BEGIN ALTER TABLE [dbo].[Sis_UsuariosAutorizaciones] WITH CHECK ADD CONSTRAINT [CK_Sis_UsuariosAutorizaciones_Estado] CHECK ([EstadoAutorizacion]='Cancelada' OR [EstadoAutorizacion]='Rechazada' OR [EstadoAutorizacion]='Aprobada' OR [EstadoAutorizacion]='Pendiente'); ALTER TABLE [dbo].[Sis_UsuariosAutorizaciones] CHECK CONSTRAINT [CK_Sis_UsuariosAutorizaciones_Estado]; END;
+ IF OBJECT_ID(N'dbo.CK_Tra_SolicitudesDependencias_Diferentes', N'C') IS NULL BEGIN ALTER TABLE [dbo].[Tra_SolicitudesDependencias] WITH CHECK ADD CONSTRAINT [CK_Tra_SolicitudesDependencias_Diferentes] CHECK ([CveSolicitud]<>[CveSolicitudRequerida]); ALTER TABLE [dbo].[Tra_SolicitudesDependencias] CHECK CONSTRAINT [CK_Tra_SolicitudesDependencias_Diferentes]; END;
+ IF OBJECT_ID(N'dbo.CK_AsientoContableCompras', N'C') IS NULL BEGIN ALTER TABLE [dbo].[ProductosServicios] WITH CHECK ADD CONSTRAINT [CK_AsientoContableCompras] CHECK ([AsientoContableCompras]=(3) OR [AsientoContableCompras]=(2) OR [AsientoContableCompras]=(1)); ALTER TABLE [dbo].[ProductosServicios] CHECK CONSTRAINT [CK_AsientoContableCompras]; END;
+ IF OBJECT_ID(N'dbo.CK_AsientoContableVentas', N'C') IS NULL BEGIN ALTER TABLE [dbo].[ProductosServicios] WITH CHECK ADD CONSTRAINT [CK_AsientoContableVentas] CHECK ([AsientoContableVentas]=(2) OR [AsientoContableVentas]=(1)); ALTER TABLE [dbo].[ProductosServicios] CHECK CONSTRAINT [CK_AsientoContableVentas]; END;
+ IF OBJECT_ID(N'dbo.CK_ProductosServicios_IVA', N'C') IS NULL BEGIN ALTER TABLE [dbo].[ProductosServicios] WITH CHECK ADD CONSTRAINT [CK_ProductosServicios_IVA] CHECK ([IVA]=(-1) OR [IVA]=(0) OR [IVA] IS NULL); ALTER TABLE [dbo].[ProductosServicios] CHECK CONSTRAINT [CK_ProductosServicios_IVA]; END;
+ IF OBJECT_ID(N'dbo.CK_Sis_Notificaciones_Estado', N'C') IS NULL BEGIN ALTER TABLE [dbo].[Sis_Notificaciones] WITH CHECK ADD CONSTRAINT [CK_Sis_Notificaciones_Estado] CHECK ([EstadoNotificacion]='Cancelada' OR [EstadoNotificacion]='Fallida' OR [EstadoNotificacion]='Enviada' OR [EstadoNotificacion]='Pendiente'); ALTER TABLE [dbo].[Sis_Notificaciones] CHECK CONSTRAINT [CK_Sis_Notificaciones_Estado]; END;
+ IF OBJECT_ID(N'dbo.CK_Sis_Notificaciones_Tipo', N'C') IS NULL BEGIN ALTER TABLE [dbo].[Sis_Notificaciones] WITH CHECK ADD CONSTRAINT [CK_Sis_Notificaciones_Tipo] CHECK ([TipoNotificacion]='Campana' OR [TipoNotificacion]='Push' OR [TipoNotificacion]='Correo' OR [TipoNotificacion]='SignalR' OR [TipoNotificacion]='WhatsApp' OR [TipoNotificacion]='Local'); ALTER TABLE [dbo].[Sis_Notificaciones] CHECK CONSTRAINT [CK_Sis_Notificaciones_Tipo]; END;
+ IF COL_LENGTH(N'dbo.Banc_CreditosDetalle', N'IVA') IS NULL ALTER TABLE [dbo].[Banc_CreditosDetalle] ADD [IVA] AS (([IVACapital]+[IVAIntereses])+[IVASeguro]);
+ IF COL_LENGTH(N'dbo.Banc_CreditosDetalle', N'Total') IS NULL ALTER TABLE [dbo].[Banc_CreditosDetalle] ADD [Total] AS ((((([Capital]+[Intereses])+[Seguro])+[IVACapital])+[IVAIntereses])+[IVASeguro]);
+ IF COL_LENGTH(N'dbo.Ventas', N'DiasVencimiento') IS NULL ALTER TABLE [dbo].[Ventas] ADD [DiasVencimiento] AS (datediff(day,[FechaVencimiento2],getdate()));
+ IF COL_LENGTH(N'dbo.Ventas', N'SerieFolio') IS NULL ALTER TABLE [dbo].[Ventas] ADD [SerieFolio] AS ((concat(case when [Serie]<>'' then [Serie]+'-' else '' end,[Folio])) collate Modern_Spanish_CS_AS);
+ IF COL_LENGTH(N'dbo.Conta_PrePolizas', N'AnioMes') IS NULL ALTER TABLE [dbo].[Conta_PrePolizas] ADD [AnioMes] AS ((CONVERT([varchar](6),[Fecha],(112))) collate Modern_Spanish_CS_AS) PERSISTED;
+ IF COL_LENGTH(N'dbo.ProductosServicios', N'CodigoPS') IS NULL ALTER TABLE [dbo].[ProductosServicios] ADD [CodigoPS] AS ((case when len([Codigo])>(0) then concat(([Codigo]) collate Modern_Spanish_CI_AS,' - ',([PS]) collate Modern_Spanish_CI_AS) else ([PS]) collate Modern_Spanish_CI_AS end) collate Modern_Spanish_CI_AS);
+ IF NOT EXISTS(SELECT 1 FROM sys.indexes WHERE object_id=OBJECT_ID(N'dbo.Sis_UsuariosClientes') AND name=N'UX_Sis_UsuariosClientes_Usuario_Orden') CREATE UNIQUE NONCLUSTERED INDEX [UX_Sis_UsuariosClientes_Usuario_Orden] ON [dbo].[Sis_UsuariosClientes] ([CveUsuario] ASC,[Orden] ASC) WHERE ([Activo]=(1)) WITH (PAD_INDEX=OFF,IGNORE_DUP_KEY=OFF,ALLOW_ROW_LOCKS=ON,ALLOW_PAGE_LOCKS=ON) ON [PRIMARY];
+ IF NOT EXISTS(SELECT 1 FROM sys.indexes WHERE object_id=OBJECT_ID(N'dbo.Sis_Usuarios') AND name=N'UQ_Sis_Usuarios_CorreoElectronico') CREATE UNIQUE NONCLUSTERED INDEX [UQ_Sis_Usuarios_CorreoElectronico] ON [dbo].[Sis_Usuarios] ([CorreoElectronico] ASC) WHERE ([CorreoElectronico] IS NOT NULL) WITH (PAD_INDEX=OFF,IGNORE_DUP_KEY=OFF,ALLOW_ROW_LOCKS=ON,ALLOW_PAGE_LOCKS=ON) ON [PRIMARY];
+ IF NOT EXISTS(SELECT 1 FROM sys.indexes WHERE object_id=OBJECT_ID(N'dbo.Tra_Preguntas') AND name=N'UX_Tra_Preguntas_Codigo') CREATE UNIQUE NONCLUSTERED INDEX [UX_Tra_Preguntas_Codigo] ON [dbo].[Tra_Preguntas] ([Codigo] ASC) WHERE ([Codigo] IS NOT NULL) WITH (PAD_INDEX=OFF,IGNORE_DUP_KEY=OFF,ALLOW_ROW_LOCKS=ON,ALLOW_PAGE_LOCKS=ON) ON [PRIMARY];
+ USE [master];
+ ALTER DATABASE [SIG_PlataformaDesarolladores] SET MULTI_USER;
+END TRY
+BEGIN CATCH
+ DECLARE @Mensaje nvarchar(2048) = ERROR_MESSAGE();
+ BEGIN TRY
+ USE [SIG_PlataformaDesarolladores];
+ /* Reconstruir dependencias. */
+ IF OBJECT_ID(N'dbo.CK_Tra_DocumentosSolicitud_Tamano', N'C') IS NULL BEGIN ALTER TABLE [dbo].[Tra_DocumentosSolicitud] WITH CHECK ADD CONSTRAINT [CK_Tra_DocumentosSolicitud_Tamano] CHECK ([TamanoBytes] IS NULL OR [TamanoBytes]>=(0)); ALTER TABLE [dbo].[Tra_DocumentosSolicitud] CHECK CONSTRAINT [CK_Tra_DocumentosSolicitud_Tamano]; END;
+ IF OBJECT_ID(N'dbo.CK_Sis_NotificacionesEnvios_Canal', N'C') IS NULL BEGIN ALTER TABLE [dbo].[Sis_NotificacionesEnvios] WITH CHECK ADD CONSTRAINT [CK_Sis_NotificacionesEnvios_Canal] CHECK ([CanalEnvio]='Campana' OR [CanalEnvio]='Push' OR [CanalEnvio]='Correo' OR [CanalEnvio]='SignalR' OR [CanalEnvio]='WhatsApp' OR [CanalEnvio]='Local'); ALTER TABLE [dbo].[Sis_NotificacionesEnvios] CHECK CONSTRAINT [CK_Sis_NotificacionesEnvios_Canal]; END;
+ IF OBJECT_ID(N'dbo.CK_Sis_NotificacionesEnvios_Estado', N'C') IS NULL BEGIN ALTER TABLE [dbo].[Sis_NotificacionesEnvios] WITH CHECK ADD CONSTRAINT [CK_Sis_NotificacionesEnvios_Estado] CHECK ([EstadoEnvio]='Cancelado' OR [EstadoEnvio]='Fallido' OR [EstadoEnvio]='Enviado' OR [EstadoEnvio]='Pendiente'); ALTER TABLE [dbo].[Sis_NotificacionesEnvios] CHECK CONSTRAINT [CK_Sis_NotificacionesEnvios_Estado]; END;
+ IF OBJECT_ID(N'dbo.CK_Tra_RespuestasSolicitud_Valor', N'C') IS NULL BEGIN ALTER TABLE [dbo].[Tra_RespuestasSolicitud] WITH CHECK ADD CONSTRAINT [CK_Tra_RespuestasSolicitud_Valor] CHECK ([CveOpcionPregunta] IS NOT NULL OR [Valor] IS NOT NULL); ALTER TABLE [dbo].[Tra_RespuestasSolicitud] CHECK CONSTRAINT [CK_Tra_RespuestasSolicitud_Valor]; END;
+ IF OBJECT_ID(N'dbo.CK_Sis_UsuariosClientes_Orden', N'C') IS NULL BEGIN ALTER TABLE [dbo].[Sis_UsuariosClientes] WITH CHECK ADD CONSTRAINT [CK_Sis_UsuariosClientes_Orden] CHECK ([Orden]>(0)); ALTER TABLE [dbo].[Sis_UsuariosClientes] CHECK CONSTRAINT [CK_Sis_UsuariosClientes_Orden]; END;
+ IF OBJECT_ID(N'dbo.CK_Tra_CostosTramite_Importe', N'C') IS NULL BEGIN ALTER TABLE [dbo].[Tra_CostosTramite] WITH CHECK ADD CONSTRAINT [CK_Tra_CostosTramite_Importe] CHECK ([Importe]>=(0)); ALTER TABLE [dbo].[Tra_CostosTramite] CHECK CONSTRAINT [CK_Tra_CostosTramite_Importe]; END;
+ IF OBJECT_ID(N'dbo.CK_Tra_CostosTramite_Vigencia', N'C') IS NULL BEGIN ALTER TABLE [dbo].[Tra_CostosTramite] WITH CHECK ADD CONSTRAINT [CK_Tra_CostosTramite_Vigencia] CHECK ([FechaFinVigencia] IS NULL OR [FechaInicioVigencia] IS NULL OR [FechaFinVigencia]>=[FechaInicioVigencia]); ALTER TABLE [dbo].[Tra_CostosTramite] CHECK CONSTRAINT [CK_Tra_CostosTramite_Vigencia]; END;
+ IF OBJECT_ID(N'dbo.CK_Bit_Bitacora_Autorizacion', N'C') IS NULL BEGIN ALTER TABLE [dbo].[Bit_Bitacora] WITH CHECK ADD CONSTRAINT [CK_Bit_Bitacora_Autorizacion] CHECK ([CveUsuarioAutoriza] IS NOT NULL OR [FechaAutorizacion] IS NULL); ALTER TABLE [dbo].[Bit_Bitacora] CHECK CONSTRAINT [CK_Bit_Bitacora_Autorizacion]; END;
+ IF OBJECT_ID(N'dbo.CK_VentasDetalle_FondoInicial', N'C') IS NULL BEGIN ALTER TABLE [dbo].[VentasDetalle] WITH CHECK ADD CONSTRAINT [CK_VentasDetalle_FondoInicial] CHECK ([EsFondoInicial]=(0) OR [CveSolicitud] IS NULL AND [CveCostoTramite] IS NULL); ALTER TABLE [dbo].[VentasDetalle] CHECK CONSTRAINT [CK_VentasDetalle_FondoInicial]; END;
+ IF OBJECT_ID(N'dbo.CK_VentasDetalle_Importes', N'C') IS NULL BEGIN ALTER TABLE [dbo].[VentasDetalle] WITH CHECK ADD CONSTRAINT [CK_VentasDetalle_Importes] CHECK ([Cantidad]>(0) AND [PrecioUnitario]>=(0) AND [Descuento]>=(0) AND [IVA]>=(0) AND [Importe]>=(0)); ALTER TABLE [dbo].[VentasDetalle] CHECK CONSTRAINT [CK_VentasDetalle_Importes]; END;
+ IF OBJECT_ID(N'dbo.CK_Vta_Pagos_Importe', N'C') IS NULL BEGIN ALTER TABLE [dbo].[Vta_Pagos] WITH CHECK ADD CONSTRAINT [CK_Vta_Pagos_Importe] CHECK ([Importe]>(0)); ALTER TABLE [dbo].[Vta_Pagos] CHECK CONSTRAINT [CK_Vta_Pagos_Importe]; END;
+ IF OBJECT_ID(N'dbo.CK_Vta_Pagos_SaldoFavor', N'C') IS NULL BEGIN ALTER TABLE [dbo].[Vta_Pagos] WITH CHECK ADD CONSTRAINT [CK_Vta_Pagos_SaldoFavor] CHECK ([EsSaldoFavor]=(0) OR [CveSolicitud] IS NULL); ALTER TABLE [dbo].[Vta_Pagos] CHECK CONSTRAINT [CK_Vta_Pagos_SaldoFavor]; END;
+ IF OBJECT_ID(N'dbo.CK_Bit_BitacoraRelaciones_ValorRelacion', N'C') IS NULL BEGIN ALTER TABLE [dbo].[Bit_BitacoraRelaciones] WITH CHECK ADD CONSTRAINT [CK_Bit_BitacoraRelaciones_ValorRelacion] CHECK (NOT ([ValorRelacionNumero] IS NOT NULL AND [ValorRelacionTexto] IS NOT NULL)); ALTER TABLE [dbo].[Bit_BitacoraRelaciones] CHECK CONSTRAINT [CK_Bit_BitacoraRelaciones_ValorRelacion]; END;
+ IF OBJECT_ID(N'dbo.CK_Vta_AplicacionesSaldoFavor_Importe', N'C') IS NULL BEGIN ALTER TABLE [dbo].[Vta_AplicacionesSaldoFavor] WITH CHECK ADD CONSTRAINT [CK_Vta_AplicacionesSaldoFavor_Importe] CHECK ([Importe]>(0)); ALTER TABLE [dbo].[Vta_AplicacionesSaldoFavor] CHECK CONSTRAINT [CK_Vta_AplicacionesSaldoFavor_Importe]; END;
+ IF OBJECT_ID(N'dbo.CHK_VentasMail', N'C') IS NULL BEGIN ALTER TABLE [dbo].[Ventas] WITH CHECK ADD CONSTRAINT [CHK_VentasMail] CHECK ([EnvioMail]=(3) OR [EnvioMail]=(2) OR [EnvioMail]=(1) OR [EnvioMail]=(0)); ALTER TABLE [dbo].[Ventas] CHECK CONSTRAINT [CHK_VentasMail]; END;
+ IF OBJECT_ID(N'dbo.CK_Ventas', N'C') IS NULL BEGIN ALTER TABLE [dbo].[Ventas] WITH CHECK ADD CONSTRAINT [CK_Ventas] CHECK ([TipoDocto]='Egs' OR [TipoDocto]='Dev' OR [TipoDocto]='Ing' OR [TipoDocto]='Cot' OR [TipoDocto]='Rem' OR [TipoDocto]='Ped' OR [TipoDocto]='DPe' OR [TipoDocto]='Com' OR [TipoDocto]='OP' OR [TipoDocto]='Nom' OR [TipoDocto]='Ant' OR [TipoDocto]='PeC' OR [TipoDocto]='Pd2' OR [TipoDocto]='PA' OR [TipoDocto]='RNC' OR [TipoDocto]='Rmm'); ALTER TABLE [dbo].[Ventas] CHECK CONSTRAINT [CK_Ventas]; END;
+ IF OBJECT_ID(N'dbo.CK_Ventas_1', N'C') IS NULL BEGIN ALTER TABLE [dbo].[Ventas] WITH CHECK ADD CONSTRAINT [CK_Ventas_1] CHECK ([CveCliente]>(0)); ALTER TABLE [dbo].[Ventas] CHECK CONSTRAINT [CK_Ventas_1]; END;
+ IF OBJECT_ID(N'dbo.CK_Ventas_Dev_CveVentaPadre', N'C') IS NULL BEGIN ALTER TABLE [dbo].[Ventas] WITH CHECK ADD CONSTRAINT [CK_Ventas_Dev_CveVentaPadre] CHECK ([TipoDocto]='Dev' AND [CveVentaPadre]>(0) OR [TipoDocto]<>'Dev'); ALTER TABLE [dbo].[Ventas] CHECK CONSTRAINT [CK_Ventas_Dev_CveVentaPadre]; END;
+ IF OBJECT_ID(N'dbo.CK_Ventas_FechaEjecucion_MinMax', N'C') IS NULL BEGIN ALTER TABLE [dbo].[Ventas] WITH CHECK ADD CONSTRAINT [CK_Ventas_FechaEjecucion_MinMax] CHECK ([FechaEjecucion]>'1900-01-01' AND [FechaEjecucion]<'2900-12-31'); ALTER TABLE [dbo].[Ventas] CHECK CONSTRAINT [CK_Ventas_FechaEjecucion_MinMax]; END;
+ IF OBJECT_ID(N'dbo.CK_Ventas_Moneda_TipoCambio', N'C') IS NULL BEGIN ALTER TABLE [dbo].[Ventas] WITH CHECK ADD CONSTRAINT [CK_Ventas_Moneda_TipoCambio] CHECK ([CveMoneda]>=(2) AND [TipoCambio]>=(10) OR [CveMoneda]=(1) AND [TipoCambio]=(1)); ALTER TABLE [dbo].[Ventas] CHECK CONSTRAINT [CK_Ventas_Moneda_TipoCambio]; END;
+ IF OBJECT_ID(N'dbo.CK_Ventas_TMp_AlmacenInactivo', N'C') IS NULL BEGIN ALTER TABLE [dbo].[Ventas] WITH CHECK ADD CONSTRAINT [CK_Ventas_TMp_AlmacenInactivo] CHECK ([CveAlmacenTraspasoDestino]<>(172) AND [CveVenta]>(1012251) OR [CveVenta]<=(1012251)); ALTER TABLE [dbo].[Ventas] CHECK CONSTRAINT [CK_Ventas_TMp_AlmacenInactivo]; END;
+ IF OBJECT_ID(N'dbo.CK_Ventas_Total', N'C') IS NULL BEGIN ALTER TABLE [dbo].[Ventas] WITH CHECK ADD CONSTRAINT [CK_Ventas_Total] CHECK (datepart(year,[Fecha])>=(2018) AND abs(round([Total],(2))-round(((((((isnull([SubTotal],(0))+isnull([IVA],(0)))+isnull([IEPS],(0)))-isnull([Amortizacion],(0)))-isnull([RetIVA],(0)))-isnull([RetISR],(0)))-isnull([Descuento],(0)))-isnull([ImpuestoLocal],(0)),(2)))<(200.02) OR datepart(year,[Fecha])<(2018)); ALTER TABLE [dbo].[Ventas] CHECK CONSTRAINT [CK_Ventas_Total]; END;
+ IF OBJECT_ID(N'dbo.CK_Conta_Cuentas_Padre', N'C') IS NULL BEGIN ALTER TABLE [dbo].[Conta_Cuentas] WITH CHECK ADD CONSTRAINT [CK_Conta_Cuentas_Padre] CHECK ([CveCuentaPadre]<>[CveCuenta]); ALTER TABLE [dbo].[Conta_Cuentas] CHECK CONSTRAINT [CK_Conta_Cuentas_Padre]; END;
+ IF OBJECT_ID(N'dbo.CK_Conta_Cuentas_Padre_Requerido', N'C') IS NULL BEGIN ALTER TABLE [dbo].[Conta_Cuentas] WITH CHECK ADD CONSTRAINT [CK_Conta_Cuentas_Padre_Requerido] CHECK ([CveCuentaPadre] IS NOT NULL OR ([Codigo]='_ORDEN' OR [Codigo]='_ESTADISTICAS' OR [Codigo]='_GLOBAL')); ALTER TABLE [dbo].[Conta_Cuentas] CHECK CONSTRAINT [CK_Conta_Cuentas_Padre_Requerido]; END;
+ IF OBJECT_ID(N'dbo.CK_Fraccionamientos_Hectareas', N'C') IS NULL BEGIN ALTER TABLE [dbo].[Fraccionamientos] WITH CHECK ADD CONSTRAINT [CK_Fraccionamientos_Hectareas] CHECK ([Hectareas] IS NULL OR [Hectareas]>=(0)); ALTER TABLE [dbo].[Fraccionamientos] CHECK CONSTRAINT [CK_Fraccionamientos_Hectareas]; END;
+ IF OBJECT_ID(N'dbo.CK_Clientes_RFC_Requerido', N'C') IS NULL BEGIN ALTER TABLE [dbo].[Clientes] WITH CHECK ADD CONSTRAINT [CK_Clientes_RFC_Requerido] CHECK ([RFC]<>''); ALTER TABLE [dbo].[Clientes] CHECK CONSTRAINT [CK_Clientes_RFC_Requerido]; END;
+ IF OBJECT_ID(N'dbo.CK_FraccionamientosEtapas_Hectareas', N'C') IS NULL BEGIN ALTER TABLE [dbo].[FraccionamientosEtapas] WITH CHECK ADD CONSTRAINT [CK_FraccionamientosEtapas_Hectareas] CHECK ([Hectareas] IS NULL OR [Hectareas]>=(0)); ALTER TABLE [dbo].[FraccionamientosEtapas] CHECK CONSTRAINT [CK_FraccionamientosEtapas_Hectareas]; END;
+ IF OBJECT_ID(N'dbo.CK_FraccionamientosLotes_MetrosCuadrados', N'C') IS NULL BEGIN ALTER TABLE [dbo].[FraccionamientosLotes] WITH CHECK ADD CONSTRAINT [CK_FraccionamientosLotes_MetrosCuadrados] CHECK ([MetrosCuadrados] IS NULL OR [MetrosCuadrados]>=(0)); ALTER TABLE [dbo].[FraccionamientosLotes] CHECK CONSTRAINT [CK_FraccionamientosLotes_MetrosCuadrados]; END;
+ IF OBJECT_ID(N'dbo.CK_Tra_TiposDocumento_Tamano', N'C') IS NULL BEGIN ALTER TABLE [dbo].[Tra_TiposDocumento] WITH CHECK ADD CONSTRAINT [CK_Tra_TiposDocumento_Tamano] CHECK ([TamanoMaximoMb] IS NULL OR [TamanoMaximoMb]>(0)); ALTER TABLE [dbo].[Tra_TiposDocumento] CHECK CONSTRAINT [CK_Tra_TiposDocumento_Tamano]; END;
+ IF OBJECT_ID(N'dbo.CK_Conta_PrePolizas_Concepto', N'C') IS NULL BEGIN ALTER TABLE [dbo].[Conta_PrePolizas] WITH CHECK ADD CONSTRAINT [CK_Conta_PrePolizas_Concepto] CHECK (rtrim([Concepto])<>''); ALTER TABLE [dbo].[Conta_PrePolizas] CHECK CONSTRAINT [CK_Conta_PrePolizas_Concepto]; END;
+ IF OBJECT_ID(N'dbo.CK_Conta_PrePolizas_Fecha_2000_2050', N'C') IS NULL BEGIN ALTER TABLE [dbo].[Conta_PrePolizas] WITH CHECK ADD CONSTRAINT [CK_Conta_PrePolizas_Fecha_2000_2050] CHECK ([Fecha]>='2000-01-01' AND [Fecha]<='2050/12/31'); ALTER TABLE [dbo].[Conta_PrePolizas] CHECK CONSTRAINT [CK_Conta_PrePolizas_Fecha_2000_2050]; END;
+ IF OBJECT_ID(N'dbo.CK_Conta_PrePolizas_FolioPoliza', N'C') IS NULL BEGIN ALTER TABLE [dbo].[Conta_PrePolizas] WITH CHECK ADD CONSTRAINT [CK_Conta_PrePolizas_FolioPoliza] CHECK ([IdPoliza]>(0) AND isnull([FolioPoliza],(0))>(0) OR ([IdPoliza] IS NULL OR [IdPoliza]=(0))); ALTER TABLE [dbo].[Conta_PrePolizas] CHECK CONSTRAINT [CK_Conta_PrePolizas_FolioPoliza]; END;
+ IF OBJECT_ID(N'dbo.CK_Sis_PoliticasLimpieza_DiasRetencion', N'C') IS NULL BEGIN ALTER TABLE [dbo].[Sis_PoliticasLimpieza] WITH CHECK ADD CONSTRAINT [CK_Sis_PoliticasLimpieza_DiasRetencion] CHECK ([DiasRetencion]>=(30) AND [DiasRetencion]<=(3650)); ALTER TABLE [dbo].[Sis_PoliticasLimpieza] CHECK CONSTRAINT [CK_Sis_PoliticasLimpieza_DiasRetencion]; END;
+ IF OBJECT_ID(N'dbo.CK_Sis_PoliticasLimpieza_TamanoLote', N'C') IS NULL BEGIN ALTER TABLE [dbo].[Sis_PoliticasLimpieza] WITH CHECK ADD CONSTRAINT [CK_Sis_PoliticasLimpieza_TamanoLote] CHECK ([TamanoLote]>=(1) AND [TamanoLote]<=(10000)); ALTER TABLE [dbo].[Sis_PoliticasLimpieza] CHECK CONSTRAINT [CK_Sis_PoliticasLimpieza_TamanoLote]; END;
+ IF OBJECT_ID(N'dbo.CK_Sis_UsuariosAutorizaciones_Estado', N'C') IS NULL BEGIN ALTER TABLE [dbo].[Sis_UsuariosAutorizaciones] WITH CHECK ADD CONSTRAINT [CK_Sis_UsuariosAutorizaciones_Estado] CHECK ([EstadoAutorizacion]='Cancelada' OR [EstadoAutorizacion]='Rechazada' OR [EstadoAutorizacion]='Aprobada' OR [EstadoAutorizacion]='Pendiente'); ALTER TABLE [dbo].[Sis_UsuariosAutorizaciones] CHECK CONSTRAINT [CK_Sis_UsuariosAutorizaciones_Estado]; END;
+ IF OBJECT_ID(N'dbo.CK_Tra_SolicitudesDependencias_Diferentes', N'C') IS NULL BEGIN ALTER TABLE [dbo].[Tra_SolicitudesDependencias] WITH CHECK ADD CONSTRAINT [CK_Tra_SolicitudesDependencias_Diferentes] CHECK ([CveSolicitud]<>[CveSolicitudRequerida]); ALTER TABLE [dbo].[Tra_SolicitudesDependencias] CHECK CONSTRAINT [CK_Tra_SolicitudesDependencias_Diferentes]; END;
+ IF OBJECT_ID(N'dbo.CK_AsientoContableCompras', N'C') IS NULL BEGIN ALTER TABLE [dbo].[ProductosServicios] WITH CHECK ADD CONSTRAINT [CK_AsientoContableCompras] CHECK ([AsientoContableCompras]=(3) OR [AsientoContableCompras]=(2) OR [AsientoContableCompras]=(1)); ALTER TABLE [dbo].[ProductosServicios] CHECK CONSTRAINT [CK_AsientoContableCompras]; END;
+ IF OBJECT_ID(N'dbo.CK_AsientoContableVentas', N'C') IS NULL BEGIN ALTER TABLE [dbo].[ProductosServicios] WITH CHECK ADD CONSTRAINT [CK_AsientoContableVentas] CHECK ([AsientoContableVentas]=(2) OR [AsientoContableVentas]=(1)); ALTER TABLE [dbo].[ProductosServicios] CHECK CONSTRAINT [CK_AsientoContableVentas]; END;
+ IF OBJECT_ID(N'dbo.CK_ProductosServicios_IVA', N'C') IS NULL BEGIN ALTER TABLE [dbo].[ProductosServicios] WITH CHECK ADD CONSTRAINT [CK_ProductosServicios_IVA] CHECK ([IVA]=(-1) OR [IVA]=(0) OR [IVA] IS NULL); ALTER TABLE [dbo].[ProductosServicios] CHECK CONSTRAINT [CK_ProductosServicios_IVA]; END;
+ IF OBJECT_ID(N'dbo.CK_Sis_Notificaciones_Estado', N'C') IS NULL BEGIN ALTER TABLE [dbo].[Sis_Notificaciones] WITH CHECK ADD CONSTRAINT [CK_Sis_Notificaciones_Estado] CHECK ([EstadoNotificacion]='Cancelada' OR [EstadoNotificacion]='Fallida' OR [EstadoNotificacion]='Enviada' OR [EstadoNotificacion]='Pendiente'); ALTER TABLE [dbo].[Sis_Notificaciones] CHECK CONSTRAINT [CK_Sis_Notificaciones_Estado]; END;
+ IF OBJECT_ID(N'dbo.CK_Sis_Notificaciones_Tipo', N'C') IS NULL BEGIN ALTER TABLE [dbo].[Sis_Notificaciones] WITH CHECK ADD CONSTRAINT [CK_Sis_Notificaciones_Tipo] CHECK ([TipoNotificacion]='Campana' OR [TipoNotificacion]='Push' OR [TipoNotificacion]='Correo' OR [TipoNotificacion]='SignalR' OR [TipoNotificacion]='WhatsApp' OR [TipoNotificacion]='Local'); ALTER TABLE [dbo].[Sis_Notificaciones] CHECK CONSTRAINT [CK_Sis_Notificaciones_Tipo]; END;
+ IF COL_LENGTH(N'dbo.Banc_CreditosDetalle', N'IVA') IS NULL ALTER TABLE [dbo].[Banc_CreditosDetalle] ADD [IVA] AS (([IVACapital]+[IVAIntereses])+[IVASeguro]);
+ IF COL_LENGTH(N'dbo.Banc_CreditosDetalle', N'Total') IS NULL ALTER TABLE [dbo].[Banc_CreditosDetalle] ADD [Total] AS ((((([Capital]+[Intereses])+[Seguro])+[IVACapital])+[IVAIntereses])+[IVASeguro]);
+ IF COL_LENGTH(N'dbo.Ventas', N'DiasVencimiento') IS NULL ALTER TABLE [dbo].[Ventas] ADD [DiasVencimiento] AS (datediff(day,[FechaVencimiento2],getdate()));
+ IF COL_LENGTH(N'dbo.Ventas', N'SerieFolio') IS NULL ALTER TABLE [dbo].[Ventas] ADD [SerieFolio] AS ((concat(case when [Serie]<>'' then [Serie]+'-' else '' end,[Folio])) collate Modern_Spanish_CS_AS);
+ IF COL_LENGTH(N'dbo.Conta_PrePolizas', N'AnioMes') IS NULL ALTER TABLE [dbo].[Conta_PrePolizas] ADD [AnioMes] AS ((CONVERT([varchar](6),[Fecha],(112))) collate Modern_Spanish_CS_AS) PERSISTED;
+ IF COL_LENGTH(N'dbo.ProductosServicios', N'CodigoPS') IS NULL ALTER TABLE [dbo].[ProductosServicios] ADD [CodigoPS] AS ((case when len([Codigo])>(0) then concat(([Codigo]) collate Modern_Spanish_CI_AS,' - ',([PS]) collate Modern_Spanish_CI_AS) else ([PS]) collate Modern_Spanish_CI_AS end) collate Modern_Spanish_CI_AS);
+ IF NOT EXISTS(SELECT 1 FROM sys.indexes WHERE object_id=OBJECT_ID(N'dbo.Sis_UsuariosClientes') AND name=N'UX_Sis_UsuariosClientes_Usuario_Orden') CREATE UNIQUE NONCLUSTERED INDEX [UX_Sis_UsuariosClientes_Usuario_Orden] ON [dbo].[Sis_UsuariosClientes] ([CveUsuario] ASC,[Orden] ASC) WHERE ([Activo]=(1)) WITH (PAD_INDEX=OFF,IGNORE_DUP_KEY=OFF,ALLOW_ROW_LOCKS=ON,ALLOW_PAGE_LOCKS=ON) ON [PRIMARY];
+ IF NOT EXISTS(SELECT 1 FROM sys.indexes WHERE object_id=OBJECT_ID(N'dbo.Sis_Usuarios') AND name=N'UQ_Sis_Usuarios_CorreoElectronico') CREATE UNIQUE NONCLUSTERED INDEX [UQ_Sis_Usuarios_CorreoElectronico] ON [dbo].[Sis_Usuarios] ([CorreoElectronico] ASC) WHERE ([CorreoElectronico] IS NOT NULL) WITH (PAD_INDEX=OFF,IGNORE_DUP_KEY=OFF,ALLOW_ROW_LOCKS=ON,ALLOW_PAGE_LOCKS=ON) ON [PRIMARY];
+ IF NOT EXISTS(SELECT 1 FROM sys.indexes WHERE object_id=OBJECT_ID(N'dbo.Tra_Preguntas') AND name=N'UX_Tra_Preguntas_Codigo') CREATE UNIQUE NONCLUSTERED INDEX [UX_Tra_Preguntas_Codigo] ON [dbo].[Tra_Preguntas] ([Codigo] ASC) WHERE ([Codigo] IS NOT NULL) WITH (PAD_INDEX=OFF,IGNORE_DUP_KEY=OFF,ALLOW_ROW_LOCKS=ON,ALLOW_PAGE_LOCKS=ON) ON [PRIMARY];
+ END TRY
+ BEGIN CATCH
+ SET @Mensaje = CONCAT(@Mensaje, N' Error al restaurar dependencias: ', ERROR_MESSAGE());
+ END CATCH;
+ USE [master];
+ ALTER DATABASE [SIG_PlataformaDesarolladores] SET MULTI_USER;
+ THROW 51001, @Mensaje, 1;
+END CATCH;
diff --git a/Migracion_Transacciones_Aplicacion_20260722.sql b/Migracion_Transacciones_Aplicacion_20260722.sql
new file mode 100644
index 0000000..ebcdfc1
--- /dev/null
+++ b/Migracion_Transacciones_Aplicacion_20260722.sql
@@ -0,0 +1,1440 @@
+/*
+ Las transacciones de negocio pertenecen a la capa de servicios C#.
+ Los procedimientos conservan validaciones y TRY/CATCH, pero no administran
+ la transacción ambiental recibida desde TransactionLogic.
+*/
+CREATE OR ALTER PROCEDURE [dbo].[PA_Clientes_EstatusUpdate]
+ @CveCliente int,
+ @Activo bit,
+ @CveUsuarioEjecuta int,
+ @ErrorMostrar varchar(max) OUTPUT,
+ @ErrorTipo int OUTPUT,
+ @Return bit OUTPUT
+AS
+BEGIN
+ SET NOCOUNT ON;
+ SELECT @ErrorMostrar = NULL, @ErrorTipo = 0, @Return = 0;
+ BEGIN TRY
+ UPDATE C
+ SET C.[Estatus] = @Activo, C.[CveUsuarioModifico] = @CveUsuarioEjecuta
+ FROM [dbo].[Clientes] C
+ WHERE C.[CveCliente] = @CveCliente
+ AND EXISTS
+ (
+ SELECT 1 FROM [dbo].[Sis_Usuarios] U INNER JOIN [dbo].[Sis_Roles] R ON R.[CveRol] = U.[CveRol]
+ WHERE U.[CveUsuario] = @CveUsuarioEjecuta
+ AND R.[NombreRol] IN ('SuperUsuario', 'Administrador')
+ AND U.[Activo] = (1)
+ );
+ IF @@ROWCOUNT = (0)
+ BEGIN
+ SET @ErrorMostrar = 'Sólo un Administrador o SuperUsuario puede cambiar el estado del cliente.';
+ SET @ErrorTipo = 1;
+ RETURN;
+ END;
+ SET @Return = 1;
+ END TRY
+ BEGIN CATCH
+ SET @ErrorMostrar = 'Ocurrió un error al cambiar el estado del cliente; favor de contactar a Sistemas.';
+ SET @ErrorTipo = 1;
+ DECLARE @E nvarchar(2048) = CONCAT('Número: ', ERROR_NUMBER(), '; Procedimiento: ', ERROR_PROCEDURE(), '; Línea: ', ERROR_LINE(), '; Detalle: ', ERROR_MESSAGE());
+ RAISERROR(N'%s', 10, 1, @E);
+ END CATCH;
+END;
+GO
+
+CREATE OR ALTER PROCEDURE [dbo].[PA_Fraccionamientos_EtapaDelete]
+ @CveFraccionamientoEtapa int,
+ @CveUsuarioEjecuta int,
+ @ErrorMostrar varchar(max) OUTPUT,
+ @ErrorTipo int OUTPUT,
+ @Return bit OUTPUT
+AS
+BEGIN
+ SET NOCOUNT ON;
+ SELECT @ErrorMostrar = NULL, @ErrorTipo = 0, @Return = 0;
+ BEGIN TRY
+ DECLARE @EsSuperUsuario bit = 0;
+ SELECT @EsSuperUsuario = CASE WHEN R.NombreRol = 'SuperUsuario' THEN 1 ELSE 0 END
+ FROM dbo.Sis_Usuarios AS U INNER JOIN dbo.Sis_Roles AS R ON R.CveRol = U.CveRol
+ WHERE U.CveUsuario = @CveUsuarioEjecuta AND U.Activo = 1;
+
+ IF NOT EXISTS
+ (
+ SELECT 1
+ FROM dbo.FraccionamientosEtapas AS E
+ INNER JOIN dbo.Fraccionamientos AS F ON F.CveFraccionamiento = E.CveFraccionamiento
+ WHERE E.CveFraccionamientoEtapa = @CveFraccionamientoEtapa
+ AND (@EsSuperUsuario = 1 OR EXISTS
+ (SELECT 1 FROM dbo.Sis_UsuariosClientes AS UC
+ WHERE UC.CveUsuario = @CveUsuarioEjecuta AND UC.CveCliente = F.CveCliente
+ AND UC.Activo = 1))
+ )
+ BEGIN
+ SET @ErrorMostrar = 'La etapa no existe o no está asignada al usuario.';
+ SET @ErrorTipo = 2;
+ RETURN;
+ END;
+
+ IF EXISTS
+ (
+ SELECT 1
+ FROM dbo.Tra_Solicitudes
+ WHERE CveFraccionamientoEtapa = @CveFraccionamientoEtapa
+ )
+ BEGIN
+ SET @ErrorMostrar = 'La etapa tiene trámites relacionados y no puede eliminarse.';
+ SET @ErrorTipo = 2;
+ RETURN;
+ END;
+
+
+ DELETE FROM dbo.FraccionamientosLotes
+ WHERE CveFraccionamientoEtapa = @CveFraccionamientoEtapa;
+
+ DELETE FROM dbo.FraccionamientosEtapas
+ WHERE CveFraccionamientoEtapa = @CveFraccionamientoEtapa;
+
+ SET @Return = 1;
+ END TRY
+ BEGIN CATCH
+ SET @ErrorMostrar = 'Ocurrió un error al eliminar la etapa; favor de contactar a Sistemas.';
+ SET @ErrorTipo = 1;
+ SET @Return = 0;
+ DECLARE @ErrorTecnico nvarchar(2048) = CONCAT('Número: ', ERROR_NUMBER(), '; Procedimiento: ', COALESCE(ERROR_PROCEDURE(), 'PA_Fraccionamientos_EtapaDelete'), '; Línea: ', ERROR_LINE(), '; Detalle: ', ERROR_MESSAGE());
+ RAISERROR(N'%s', 10, 1, @ErrorTecnico);
+ END CATCH;
+END;
+GO
+
+CREATE OR ALTER PROCEDURE [dbo].[PA_Fraccionamientos_EtapaSave]
+ @CveFraccionamientoEtapa int = NULL,
+ @CveFraccionamiento int,
+ @Etapa varchar(150),
+ @Hectareas decimal(18,4) = NULL,
+ @Orden int = 0,
+ @EsActivo bit = 1,
+ @CveUsuarioEjecuta int,
+ @ErrorMostrar varchar(max) OUTPUT,
+ @ErrorTipo int OUTPUT,
+ @Return bit OUTPUT
+AS
+BEGIN
+ SET NOCOUNT ON;
+ SELECT @ErrorMostrar = NULL, @ErrorTipo = 0, @Return = 0;
+ BEGIN TRY
+ DECLARE @EsSuperUsuario bit = 0;
+ SELECT @EsSuperUsuario = CASE WHEN R.NombreRol = 'SuperUsuario' THEN 1 ELSE 0 END
+ FROM dbo.Sis_Usuarios AS U INNER JOIN dbo.Sis_Roles AS R ON R.CveRol = U.CveRol
+ WHERE U.CveUsuario = @CveUsuarioEjecuta AND U.Activo = 1;
+
+ IF NULLIF(LTRIM(RTRIM(@Etapa)), '') IS NULL
+ BEGIN
+ SET @ErrorMostrar = 'Capture el nombre de la etapa.';
+ SET @ErrorTipo = 2;
+ RETURN;
+ END;
+ IF @Hectareas IS NOT NULL AND @Hectareas < 0
+ BEGIN
+ SET @ErrorMostrar = 'Las hectáreas de la etapa no pueden ser negativas.';
+ SET @ErrorTipo = 2;
+ RETURN;
+ END;
+ IF NOT EXISTS
+ (
+ SELECT 1 FROM dbo.Fraccionamientos AS F
+ WHERE F.CveFraccionamiento = @CveFraccionamiento
+ AND (@EsSuperUsuario = 1 OR EXISTS
+ (SELECT 1 FROM dbo.Sis_UsuariosClientes AS UC
+ WHERE UC.CveUsuario = @CveUsuarioEjecuta AND UC.CveCliente = F.CveCliente
+ AND UC.Activo = 1))
+ )
+ BEGIN
+ SET @ErrorMostrar = 'El fraccionamiento no existe o no está asignado al usuario.';
+ SET @ErrorTipo = 2;
+ RETURN;
+ END;
+ IF @CveFraccionamientoEtapa IS NOT NULL
+ AND NOT EXISTS (SELECT 1 FROM dbo.FraccionamientosEtapas WHERE CveFraccionamientoEtapa = @CveFraccionamientoEtapa AND CveFraccionamiento = @CveFraccionamiento)
+ BEGIN
+ SET @ErrorMostrar = 'La etapa no existe o no pertenece al fraccionamiento.';
+ SET @ErrorTipo = 2;
+ RETURN;
+ END;
+ IF EXISTS
+ (
+ SELECT 1 FROM dbo.FraccionamientosEtapas
+ WHERE CveFraccionamiento = @CveFraccionamiento
+ AND Etapa = LTRIM(RTRIM(@Etapa))
+ AND (@CveFraccionamientoEtapa IS NULL OR CveFraccionamientoEtapa <> @CveFraccionamientoEtapa)
+ )
+ BEGIN
+ SET @ErrorMostrar = 'Ya existe una etapa con ese nombre en el fraccionamiento.';
+ SET @ErrorTipo = 2;
+ RETURN;
+ END;
+
+ IF @CveFraccionamientoEtapa IS NULL
+ BEGIN
+ INSERT INTO dbo.FraccionamientosEtapas
+ (CveFraccionamiento, Etapa, Hectareas, Orden, EsActivo, CveUsuario)
+ VALUES
+ (@CveFraccionamiento, LTRIM(RTRIM(@Etapa)), @Hectareas, @Orden, @EsActivo, @CveUsuarioEjecuta);
+ SET @CveFraccionamientoEtapa = CONVERT(int, SCOPE_IDENTITY());
+ END
+ ELSE
+ BEGIN
+ UPDATE dbo.FraccionamientosEtapas
+ SET Etapa = LTRIM(RTRIM(@Etapa)), Hectareas = @Hectareas,
+ Orden = @Orden, EsActivo = @EsActivo,
+ FechaModificacion = GETDATE(), CveUsuario = @CveUsuarioEjecuta
+ WHERE CveFraccionamientoEtapa = @CveFraccionamientoEtapa;
+ END;
+ SELECT @CveFraccionamientoEtapa AS CveFraccionamientoEtapa;
+ SET @Return = 1;
+ END TRY
+ BEGIN CATCH
+ SET @ErrorMostrar = 'Ocurrió un error al guardar la etapa; favor de contactar a Sistemas.';
+ SET @ErrorTipo = 1;
+ SET @Return = 0;
+ DECLARE @ErrorTecnico nvarchar(2048) = CONCAT('Número: ', ERROR_NUMBER(), '; Procedimiento: ', COALESCE(ERROR_PROCEDURE(), 'PA_Fraccionamientos_EtapaSave'), '; Línea: ', ERROR_LINE(), '; Detalle: ', ERROR_MESSAGE());
+ RAISERROR(N'%s', 10, 1, @ErrorTecnico);
+ END CATCH;
+END;
+GO
+
+CREATE OR ALTER PROCEDURE [dbo].[PA_Fraccionamientos_FraccionamientoDelete]
+ @CveFraccionamiento int,
+ @CveUsuarioEjecuta int,
+ @ErrorMostrar varchar(max) OUTPUT,
+ @ErrorTipo int OUTPUT,
+ @Return bit OUTPUT
+AS
+BEGIN
+ SET NOCOUNT ON;
+ SELECT @ErrorMostrar = NULL, @ErrorTipo = 0, @Return = 0;
+
+ BEGIN TRY
+ DECLARE @EsSuperUsuario bit = 0;
+ SELECT @EsSuperUsuario = CASE WHEN R.NombreRol = 'SuperUsuario' THEN 1 ELSE 0 END
+ FROM dbo.Sis_Usuarios AS U INNER JOIN dbo.Sis_Roles AS R ON R.CveRol = U.CveRol
+ WHERE U.CveUsuario = @CveUsuarioEjecuta AND U.Activo = 1;
+
+ IF NOT EXISTS
+ (
+ SELECT 1 FROM dbo.Fraccionamientos AS F
+ WHERE F.CveFraccionamiento = @CveFraccionamiento
+ AND (@EsSuperUsuario = 1 OR EXISTS
+ (SELECT 1 FROM dbo.Sis_UsuariosClientes AS UC
+ WHERE UC.CveUsuario = @CveUsuarioEjecuta AND UC.CveCliente = F.CveCliente
+ AND UC.Activo = 1))
+ )
+ BEGIN
+ SET @ErrorMostrar = 'El fraccionamiento no existe o no está asignado al usuario.';
+ SET @ErrorTipo = 2;
+ RETURN;
+ END;
+
+ IF EXISTS
+ (
+ SELECT 1
+ FROM dbo.Tra_Solicitudes AS S
+ WHERE S.CveFraccionamiento = @CveFraccionamiento
+ OR EXISTS
+ (
+ SELECT 1
+ FROM dbo.FraccionamientosEtapas AS E
+ WHERE E.CveFraccionamientoEtapa = S.CveFraccionamientoEtapa
+ AND E.CveFraccionamiento = @CveFraccionamiento
+ )
+ )
+ BEGIN
+ SET @ErrorMostrar = 'El fraccionamiento tiene trámites relacionados y no puede eliminarse.';
+ SET @ErrorTipo = 2;
+ RETURN;
+ END;
+
+
+ DELETE L
+ FROM dbo.FraccionamientosLotes AS L
+ INNER JOIN dbo.FraccionamientosEtapas AS E
+ ON E.CveFraccionamientoEtapa = L.CveFraccionamientoEtapa
+ WHERE E.CveFraccionamiento = @CveFraccionamiento;
+
+ DELETE FROM dbo.FraccionamientosEtapas
+ WHERE CveFraccionamiento = @CveFraccionamiento;
+
+ DELETE FROM dbo.Fraccionamientos
+ WHERE CveFraccionamiento = @CveFraccionamiento;
+
+ SET @Return = 1;
+ END TRY
+ BEGIN CATCH
+ SET @ErrorMostrar = 'Ocurrió un error al eliminar el fraccionamiento; favor de contactar a Sistemas.';
+ SET @ErrorTipo = 1;
+ SET @Return = 0;
+ DECLARE @ErrorTecnico nvarchar(2048) = CONCAT('Número: ', ERROR_NUMBER(), '; Procedimiento: ', COALESCE(ERROR_PROCEDURE(), 'PA_Fraccionamientos_FraccionamientoDelete'), '; Línea: ', ERROR_LINE(), '; Detalle: ', ERROR_MESSAGE());
+ RAISERROR(N'%s', 10, 1, @ErrorTecnico);
+ END CATCH;
+END;
+GO
+
+CREATE OR ALTER PROCEDURE [dbo].[PA_Fraccionamientos_FraccionamientoSave]
+ @CveFraccionamiento int = NULL,
+ @CveCliente int,
+ @Fraccionamiento varchar(200),
+ @Hectareas decimal(18,4) = NULL,
+ @Ubicacion varchar(500) = NULL,
+ @CveEstatus int,
+ @EsActivo bit = 1,
+ @CveUsuarioEjecuta int,
+ @ErrorMostrar varchar(max) OUTPUT,
+ @ErrorTipo int OUTPUT,
+ @Return bit OUTPUT
+AS
+BEGIN
+ SET NOCOUNT ON;
+ SELECT @ErrorMostrar = NULL, @ErrorTipo = 0, @Return = 0;
+
+ BEGIN TRY
+ DECLARE @EsSuperUsuario bit = 0;
+ SELECT @EsSuperUsuario = CASE WHEN R.NombreRol = 'SuperUsuario' THEN 1 ELSE 0 END
+ FROM dbo.Sis_Usuarios AS U
+ INNER JOIN dbo.Sis_Roles AS R ON R.CveRol = U.CveRol
+ WHERE U.CveUsuario = @CveUsuarioEjecuta AND U.Activo = 1;
+
+ IF NULLIF(LTRIM(RTRIM(@Fraccionamiento)), '') IS NULL
+ BEGIN
+ SET @ErrorMostrar = 'Capture el nombre del fraccionamiento.';
+ SET @ErrorTipo = 2;
+ RETURN;
+ END;
+
+ IF @Hectareas IS NOT NULL AND @Hectareas < 0
+ BEGIN
+ SET @ErrorMostrar = 'Las hectáreas no pueden ser negativas.';
+ SET @ErrorTipo = 2;
+ RETURN;
+ END;
+
+ IF NOT EXISTS
+ (
+ SELECT 1
+ FROM dbo.Fraccionamientos_Estatus AS E
+ WHERE E.CveEstatus = @CveEstatus
+
+ )
+ BEGIN
+ SET @ErrorMostrar = 'Seleccione un estatus válido para el fraccionamiento.';
+ SET @ErrorTipo = 2;
+ RETURN;
+ END;
+
+ IF NOT EXISTS
+ (
+ SELECT 1 FROM dbo.Clientes AS C
+ WHERE C.CveCliente = @CveCliente AND C.Estatus = 1
+ AND
+ (
+ @EsSuperUsuario = 1
+ OR EXISTS
+ (
+ SELECT 1 FROM dbo.Sis_UsuariosClientes AS UC
+ WHERE UC.CveUsuario = @CveUsuarioEjecuta
+ AND UC.CveCliente = C.CveCliente
+ AND UC.Activo = 1
+ )
+ )
+ )
+ BEGIN
+ SET @ErrorMostrar = 'El cliente no existe o no está asignado al usuario.';
+ SET @ErrorTipo = 2;
+ RETURN;
+ END;
+
+ IF @CveFraccionamiento IS NOT NULL
+ AND NOT EXISTS
+ (
+ SELECT 1 FROM dbo.Fraccionamientos AS F
+ WHERE F.CveFraccionamiento = @CveFraccionamiento
+
+ AND (@EsSuperUsuario = 1 OR EXISTS
+ (SELECT 1 FROM dbo.Sis_UsuariosClientes AS UC
+ WHERE UC.CveUsuario = @CveUsuarioEjecuta
+ AND UC.CveCliente = F.CveCliente
+ AND UC.Activo = 1))
+ )
+ BEGIN
+ SET @ErrorMostrar = 'El fraccionamiento no existe o no está asignado al usuario.';
+ SET @ErrorTipo = 2;
+ RETURN;
+ END;
+
+ IF EXISTS
+ (
+ SELECT 1 FROM dbo.Fraccionamientos AS F
+ WHERE F.CveCliente = @CveCliente
+ AND F.Fraccionamiento = LTRIM(RTRIM(@Fraccionamiento))
+
+ AND (@CveFraccionamiento IS NULL OR F.CveFraccionamiento <> @CveFraccionamiento)
+ )
+ BEGIN
+ SET @ErrorMostrar = 'Ya existe un fraccionamiento con ese nombre para el cliente seleccionado.';
+ SET @ErrorTipo = 2;
+ RETURN;
+ END;
+
+
+ IF @CveFraccionamiento IS NULL
+ BEGIN
+ INSERT INTO dbo.Fraccionamientos
+ (CveCliente, Fraccionamiento, Hectareas, Ubicacion, CveEstatus, EsActivo, CveUsuario)
+ VALUES
+ (@CveCliente, LTRIM(RTRIM(@Fraccionamiento)), @Hectareas,
+ NULLIF(LTRIM(RTRIM(@Ubicacion)), ''), @CveEstatus,
+ @EsActivo, @CveUsuarioEjecuta);
+ SET @CveFraccionamiento = CONVERT(int, SCOPE_IDENTITY());
+ END
+ ELSE
+ BEGIN
+ UPDATE dbo.Fraccionamientos
+ SET CveCliente = @CveCliente,
+ Fraccionamiento = LTRIM(RTRIM(@Fraccionamiento)),
+ Hectareas = @Hectareas,
+ Ubicacion = NULLIF(LTRIM(RTRIM(@Ubicacion)), ''),
+ CveEstatus = @CveEstatus,
+ EsActivo = @EsActivo,
+ FechaModificacion = GETDATE(),
+ CveUsuario = @CveUsuarioEjecuta
+ WHERE CveFraccionamiento = @CveFraccionamiento;
+ END;
+
+ SELECT @CveFraccionamiento AS CveFraccionamiento;
+ SET @Return = 1;
+ END TRY
+ BEGIN CATCH
+ SET @ErrorMostrar = 'Ocurrió un error al guardar el fraccionamiento; favor de contactar a Sistemas.';
+ SET @ErrorTipo = 1;
+ SET @Return = 0;
+ DECLARE @ErrorTecnico nvarchar(2048) = CONCAT('Número: ', ERROR_NUMBER(), '; Procedimiento: ', COALESCE(ERROR_PROCEDURE(), 'PA_Fraccionamientos_FraccionamientoSave'), '; Línea: ', ERROR_LINE(), '; Detalle: ', ERROR_MESSAGE());
+ RAISERROR(N'%s', 10, 1, @ErrorTecnico);
+ END CATCH;
+END;
+GO
+
+CREATE OR ALTER PROCEDURE [dbo].[PA_Fraccionamientos_LoteBatchSave]
+ @CveFraccionamiento int,
+ @CveFraccionamientoEtapa int,
+ @LotesXml xml,
+ @CveUsuarioEjecuta int,
+ @ErrorMostrar varchar(max) OUTPUT,
+ @ErrorTipo int OUTPUT,
+ @Return bit OUTPUT
+AS
+BEGIN
+ SET NOCOUNT ON;
+
+ SELECT
+ @ErrorMostrar = NULL,
+ @ErrorTipo = 0,
+ @Return = 0;
+
+ BEGIN TRY
+ IF NOT EXISTS
+ (
+ SELECT 1
+ FROM [dbo].[FraccionamientosEtapas]
+ WHERE [CveFraccionamientoEtapa] = @CveFraccionamientoEtapa
+ AND [CveFraccionamiento] = @CveFraccionamiento
+
+ AND [EsActivo] = (1)
+ )
+ BEGIN
+ SET @ErrorMostrar = 'La etapa seleccionada no existe, está inactiva o no pertenece al fraccionamiento.';
+ SET @ErrorTipo = 1;
+ RETURN;
+ END;
+
+ DECLARE @Lotes TABLE
+ (
+ [Nombre] varchar(50) COLLATE Modern_Spanish_CS_AS NULL,
+ [Tipo] varchar(100) COLLATE Modern_Spanish_CS_AS NULL,
+ [Calle] varchar(200) COLLATE Modern_Spanish_CS_AS NULL,
+ [Catastro] varchar(100) COLLATE Modern_Spanish_CS_AS NULL,
+ [MetrosCuadrados] decimal(18,4) NULL,
+ [Duplicador] varchar(50) COLLATE Modern_Spanish_CS_AS NULL,
+ [EsActivo] bit NOT NULL
+ );
+
+ INSERT INTO @Lotes
+ (
+ [Nombre],
+ [Tipo],
+ [Calle],
+ [Catastro],
+ [MetrosCuadrados],
+ [Duplicador],
+ [EsActivo]
+ )
+ SELECT
+ NULLIF(LTRIM(RTRIM(N.value('@Nombre', 'varchar(50)'))), ''),
+ NULLIF(LTRIM(RTRIM(N.value('@Tipo', 'varchar(100)'))), ''),
+ NULLIF(LTRIM(RTRIM(N.value('@Calle', 'varchar(200)'))), ''),
+ NULLIF(LTRIM(RTRIM(N.value('@Catastro', 'varchar(100)'))), ''),
+ TRY_CONVERT(
+ decimal(18,4),
+ NULLIF(N.value('@MetrosCuadrados', 'varchar(50)'), '')
+ ),
+ NULLIF(LTRIM(RTRIM(N.value('@Duplicador', 'varchar(50)'))), ''),
+ N.value('@EsActivo', 'bit')
+ FROM @LotesXml.nodes('/Lotes/Lote') AS X(N);
+
+ DECLARE @Cantidad int = (SELECT COUNT(1) FROM @Lotes);
+
+ IF @Cantidad = (0)
+ BEGIN
+ SET @ErrorMostrar = 'No se recibieron lotes para guardar.';
+ SET @ErrorTipo = 1;
+ RETURN;
+ END;
+
+
+ IF EXISTS
+ (
+ SELECT 1
+ FROM @Lotes
+ WHERE [Nombre] IS NULL
+ )
+ BEGIN
+ SET @ErrorMostrar = 'Todos los lotes deben tener un nombre.';
+ SET @ErrorTipo = 2;
+ RETURN;
+ END;
+
+ IF EXISTS
+ (
+ SELECT [Nombre]
+ FROM @Lotes
+ GROUP BY [Nombre]
+ HAVING COUNT(1) > (1)
+ )
+ BEGIN
+ SET @ErrorMostrar = 'La captura contiene nombres de lote repetidos.';
+ SET @ErrorTipo = 2;
+ RETURN;
+ END;
+
+ IF EXISTS
+ (
+ SELECT 1
+ FROM @Lotes AS N
+ INNER JOIN [dbo].[FraccionamientosLotes] AS L
+ ON L.[CveFraccionamientoEtapa] = @CveFraccionamientoEtapa
+ AND L.[Numero] = N.[Nombre]
+
+ )
+ BEGIN
+ SET @ErrorMostrar = 'Uno o más nombres de lote ya existen en la etapa seleccionada.';
+ SET @ErrorTipo = 2;
+ RETURN;
+ END;
+
+
+ INSERT INTO [dbo].[FraccionamientosLotes]
+ (
+ [CveFraccionamientoEtapa],
+ [Tipo],
+ [Calle],
+ [Catastro],
+ [MetrosCuadrados],
+ [Numero],
+ [Duplicador],
+ [EsActivo],
+ [CveUsuario]
+ )
+ SELECT
+ @CveFraccionamientoEtapa,
+ [Tipo],
+ [Calle],
+ [Catastro],
+ [MetrosCuadrados],
+ [Nombre],
+ [Duplicador],
+ [EsActivo],
+ @CveUsuarioEjecuta FROM @Lotes;
+
+
+ SELECT @Cantidad AS [LotesGuardados];
+ SET @Return = 1;
+ END TRY
+ BEGIN CATCH
+
+ SET @ErrorMostrar = 'Ocurrió un error al guardar los lotes; favor de contactar a Sistemas.';
+ SET @ErrorTipo = 1;
+ SET @Return = 0;
+
+ DECLARE @ErrorTecnico nvarchar(2048) = CONCAT(
+ 'Número: ', ERROR_NUMBER(),
+ '; Procedimiento: ', COALESCE(ERROR_PROCEDURE(), 'PA_Fraccionamientos_LoteBatchSave'),
+ '; Línea: ', ERROR_LINE(),
+ '; Detalle: ', ERROR_MESSAGE()
+ );
+
+ RAISERROR(N'%s', 10, 1, @ErrorTecnico);
+ END CATCH;
+END;
+GO
+
+CREATE OR ALTER PROCEDURE [dbo].[PA_Fraccionamientos_LoteDelete]
+ @CveFraccionamiento int,
+ @CveFraccionamientoLote int,
+ @CveUsuarioEjecuta int,
+ @ErrorMostrar varchar(max) OUTPUT,
+ @ErrorTipo int OUTPUT,
+ @Return bit OUTPUT
+AS
+BEGIN
+ SET NOCOUNT ON;
+
+ SELECT
+ @ErrorMostrar = NULL,
+ @ErrorTipo = 0,
+ @Return = 0;
+
+ BEGIN TRY
+ IF NOT EXISTS
+ (
+ SELECT 1
+ FROM [dbo].[FraccionamientosLotes] AS L
+ INNER JOIN [dbo].[FraccionamientosEtapas] AS E
+ ON E.[CveFraccionamientoEtapa] = L.[CveFraccionamientoEtapa]
+ WHERE L.[CveFraccionamientoLote] = @CveFraccionamientoLote
+ AND E.[CveFraccionamiento] = @CveFraccionamiento
+
+
+ )
+ BEGIN
+ SET @ErrorMostrar = 'El lote seleccionado no existe o no pertenece al fraccionamiento.';
+ SET @ErrorTipo = 2;
+ RETURN;
+ END;
+
+
+ DELETE FROM [dbo].[FraccionamientosLotes]
+ WHERE [CveFraccionamientoLote] = @CveFraccionamientoLote;
+
+
+ SET @Return = 1;
+ END TRY
+ BEGIN CATCH
+
+ SET @ErrorMostrar = 'Ocurrió un error al eliminar el lote; favor de contactar a Sistemas.';
+ SET @ErrorTipo = 1;
+ SET @Return = 0;
+
+ DECLARE @ErrorTecnico nvarchar(2048) = CONCAT(
+ 'Número: ', ERROR_NUMBER(),
+ '; Procedimiento: ', COALESCE(ERROR_PROCEDURE(), 'PA_Fraccionamientos_LoteDelete'),
+ '; Línea: ', ERROR_LINE(),
+ '; Detalle: ', ERROR_MESSAGE()
+ );
+
+ RAISERROR(N'%s', 10, 1, @ErrorTecnico);
+ END CATCH;
+END;
+GO
+
+CREATE OR ALTER PROCEDURE [dbo].[PA_Fraccionamientos_LoteStageClear]
+ @CveFraccionamiento int,
+ @CveFraccionamientoEtapa int,
+ @CveUsuarioEjecuta int,
+ @ErrorMostrar varchar(max) OUTPUT,
+ @ErrorTipo int OUTPUT,
+ @Return bit OUTPUT
+AS
+BEGIN
+ SET NOCOUNT ON;
+
+ SELECT
+ @ErrorMostrar = NULL,
+ @ErrorTipo = 0,
+ @Return = 0;
+
+ BEGIN TRY
+ IF NOT EXISTS
+ (
+ SELECT 1
+ FROM [dbo].[FraccionamientosEtapas]
+ WHERE [CveFraccionamientoEtapa] = @CveFraccionamientoEtapa
+ AND [CveFraccionamiento] = @CveFraccionamiento
+
+ )
+ BEGIN
+ SET @ErrorMostrar = 'La etapa seleccionada no pertenece al fraccionamiento.';
+ SET @ErrorTipo = 2;
+ RETURN;
+ END;
+
+
+ DELETE FROM [dbo].[FraccionamientosLotes]
+ WHERE [CveFraccionamientoEtapa] = @CveFraccionamientoEtapa;
+
+ DECLARE @Cantidad int = @@ROWCOUNT;
+
+ IF @Cantidad = (0)
+ BEGIN
+ SET @ErrorMostrar = 'La etapa seleccionada no tiene lotes para eliminar.';
+ SET @ErrorTipo = 2;
+ RETURN;
+ END;
+
+
+ SELECT @Cantidad AS [LotesEliminados];
+ SET @Return = 1;
+ END TRY
+ BEGIN CATCH
+
+ SET @ErrorMostrar = 'Ocurrió un error al eliminar los lotes de la etapa; favor de contactar a Sistemas.';
+ SET @ErrorTipo = 1;
+ SET @Return = 0;
+
+ DECLARE @ErrorTecnico nvarchar(2048) = CONCAT(
+ 'Número: ', ERROR_NUMBER(),
+ '; Procedimiento: ', COALESCE(ERROR_PROCEDURE(), 'PA_Fraccionamientos_LoteStageClear'),
+ '; Línea: ', ERROR_LINE(),
+ '; Detalle: ', ERROR_MESSAGE()
+ );
+
+ RAISERROR(N'%s', 10, 1, @ErrorTecnico);
+ END CATCH;
+END;
+GO
+
+CREATE OR ALTER PROCEDURE [dbo].[PA_Fraccionamientos_LoteUpdate]
+ @CveFraccionamiento int,
+ @CveFraccionamientoLote int,
+ @CveFraccionamientoEtapa int,
+ @Nombre varchar(50),
+ @Tipo varchar(100) = NULL,
+ @Calle varchar(200) = NULL,
+ @Catastro varchar(100) = NULL,
+ @MetrosCuadrados decimal(18,4) = NULL,
+ @Duplicador varchar(50) = NULL,
+ @EsActivo bit,
+ @CveUsuarioEjecuta int,
+ @ErrorMostrar varchar(max) OUTPUT,
+ @ErrorTipo int OUTPUT,
+ @Return bit OUTPUT
+AS
+BEGIN
+ SET NOCOUNT ON;
+
+ SELECT
+ @ErrorMostrar = NULL,
+ @ErrorTipo = 0,
+ @Return = 0;
+
+ BEGIN TRY
+ SET @Nombre = NULLIF(LTRIM(RTRIM(@Nombre)), '');
+ SET @Tipo = NULLIF(LTRIM(RTRIM(@Tipo)), '');
+ SET @Calle = NULLIF(LTRIM(RTRIM(@Calle)), '');
+ SET @Catastro = NULLIF(LTRIM(RTRIM(@Catastro)), '');
+ SET @Duplicador = NULLIF(LTRIM(RTRIM(@Duplicador)), '');
+
+ IF @Nombre IS NULL
+ BEGIN
+ SET @ErrorMostrar = 'Capture el nombre del lote.';
+ SET @ErrorTipo = 2;
+ RETURN;
+ END;
+
+ IF @MetrosCuadrados IS NOT NULL
+ AND @MetrosCuadrados < (0)
+ BEGIN
+ SET @ErrorMostrar = 'Los metros cuadrados no pueden ser negativos.';
+ SET @ErrorTipo = 2;
+ RETURN;
+ END;
+
+ IF NOT EXISTS
+ (
+ SELECT 1
+ FROM [dbo].[FraccionamientosEtapas]
+ WHERE [CveFraccionamientoEtapa] = @CveFraccionamientoEtapa
+ AND [CveFraccionamiento] = @CveFraccionamiento
+
+ )
+ BEGIN
+ SET @ErrorMostrar = 'La etapa del lote no pertenece al fraccionamiento.';
+ SET @ErrorTipo = 2;
+ RETURN;
+ END;
+
+ IF NOT EXISTS
+ (
+ SELECT 1
+ FROM [dbo].[FraccionamientosLotes] AS L
+ INNER JOIN [dbo].[FraccionamientosEtapas] AS E
+ ON E.[CveFraccionamientoEtapa] = L.[CveFraccionamientoEtapa]
+ WHERE L.[CveFraccionamientoLote] = @CveFraccionamientoLote
+ AND E.[CveFraccionamiento] = @CveFraccionamiento
+
+
+ )
+ BEGIN
+ SET @ErrorMostrar = 'El lote seleccionado no existe o no pertenece al fraccionamiento.';
+ SET @ErrorTipo = 2;
+ RETURN;
+ END;
+
+ IF EXISTS
+ (
+ SELECT 1
+ FROM [dbo].[FraccionamientosLotes] AS L
+ WHERE L.[CveFraccionamientoEtapa] = @CveFraccionamientoEtapa
+ AND L.[CveFraccionamientoLote] <> @CveFraccionamientoLote
+ AND L.[Numero] = @Nombre COLLATE Modern_Spanish_CS_AS
+
+ )
+ BEGIN
+ SET @ErrorMostrar = 'Ya existe otro lote con ese nombre en la etapa.';
+ SET @ErrorTipo = 2;
+ RETURN;
+ END;
+
+
+ UPDATE [dbo].[FraccionamientosLotes]
+ SET
+ [CveFraccionamientoEtapa] = @CveFraccionamientoEtapa,
+ [Numero] = @Nombre,
+ [Tipo] = @Tipo,
+ [Calle] = @Calle,
+ [Catastro] = @Catastro,
+ [MetrosCuadrados] = @MetrosCuadrados,
+ [Duplicador] = @Duplicador,
+ [EsActivo] = @EsActivo,
+ [FechaModificacion] = SYSDATETIME(),
+ [CveUsuario] = @CveUsuarioEjecuta
+ WHERE [CveFraccionamientoLote] = @CveFraccionamientoLote
+;
+
+
+ SELECT @CveFraccionamientoLote AS [CveFraccionamientoLote];
+ SET @Return = 1;
+ END TRY
+ BEGIN CATCH
+
+ SET @ErrorMostrar = 'Ocurrió un error al actualizar el lote; favor de contactar a Sistemas.';
+ SET @ErrorTipo = 1;
+ SET @Return = 0;
+
+ DECLARE @ErrorTecnico nvarchar(2048) = CONCAT(
+ 'Número: ', ERROR_NUMBER(),
+ '; Procedimiento: ', COALESCE(ERROR_PROCEDURE(), 'PA_Fraccionamientos_LoteUpdate'),
+ '; Línea: ', ERROR_LINE(),
+ '; Detalle: ', ERROR_MESSAGE()
+ );
+
+ RAISERROR(N'%s', 10, 1, @ErrorTecnico);
+ END CATCH;
+END;
+GO
+
+CREATE OR ALTER PROCEDURE [dbo].[PA_Sis_CorreoVerify]
+ @HashToken char(64),
+ @CveUsuarioEjecuta int,
+ @ErrorMostrar varchar(max) OUTPUT,
+ @ErrorTipo int OUTPUT,
+ @Return bit OUTPUT
+AS
+BEGIN
+ SET NOCOUNT ON;
+ SELECT @ErrorMostrar = NULL, @ErrorTipo = 0, @Return = 0;
+ BEGIN TRY
+ DECLARE @CveVerificacion int;
+ DECLARE @CveUsuario int;
+ DECLARE @CveCliente int;
+
+ SELECT TOP (1)
+ @CveVerificacion = [CveUsuarioVerificacionCorreo],
+ @CveUsuario = [CveUsuario],
+ @CveCliente = [CveClienteRegistro]
+ FROM [dbo].[Sis_UsuariosVerificacionesCorreo]
+ WHERE [HashToken] = @HashToken
+ AND [Utilizado] = (0)
+
+ AND [FechaExpiracion] >= SYSDATETIME();
+
+ IF @CveVerificacion IS NULL
+ BEGIN
+ SET @ErrorMostrar = 'La liga de verificación no es válida o ya expiró.';
+ SET @ErrorTipo = 2;
+ RETURN;
+ END;
+
+
+ UPDATE [dbo].[Sis_UsuariosVerificacionesCorreo]
+ SET [Utilizado] = (1), [FechaVerificacion] = SYSDATETIME()
+ WHERE [CveUsuarioVerificacionCorreo] = @CveVerificacion AND [Utilizado] = (0);
+
+ IF @@ROWCOUNT = (0)
+ BEGIN
+ SET @ErrorMostrar = 'La liga de verificación ya fue utilizada.';
+ SET @ErrorTipo = 2;
+ RETURN;
+ END;
+
+ UPDATE [dbo].[Sis_Usuarios]
+ SET [CorreoVerificado] = (1), [FechaVerificacionCorreo] = SYSDATETIME(),
+ [Activo] = (1), [FechaActualizacion] = GETDATE()
+ WHERE [CveUsuario] = @CveUsuario;
+
+ /* Activación inicial del cliente creado por este mismo token. */
+ UPDATE [dbo].[Clientes]
+ SET [Estatus] = (1), [CveUsuarioModifico] = @CveUsuario
+ WHERE [CveCliente] = @CveCliente AND [CveUsuario] = @CveUsuario;
+
+ SET @Return = 1;
+ END TRY
+ BEGIN CATCH
+ SET @ErrorMostrar = 'Ocurrió un error al verificar el correo; favor de contactar a Sistemas.';
+ SET @ErrorTipo = 1;
+ SET @Return = 0;
+ DECLARE @E nvarchar(2048) = CONCAT('Número: ', ERROR_NUMBER(), '; Procedimiento: ', ERROR_PROCEDURE(), '; Línea: ', ERROR_LINE(), '; Detalle: ', ERROR_MESSAGE());
+ RAISERROR(N'%s', 10, 1, @E);
+ END CATCH;
+END;
+GO
+
+CREATE OR ALTER PROCEDURE [dbo].[PA_Sis_IntentoInicioSesionAdd]
+ @CveUsuario int = NULL,
+ @NombreUsuario varchar(100),
+ @Exitoso bit,
+ @MotivoFallo varchar(200) = NULL,
+ @DireccionIP varchar(50) = NULL,
+ @AgenteUsuario varchar(1000) = NULL,
+ @NombreDominio varchar(255) = NULL,
+ @CveUsuarioEjecuta int,
+ @ErrorMostrar varchar(max) OUTPUT,
+ @ErrorTipo int OUTPUT,
+ @Return bit OUTPUT
+AS
+BEGIN
+ SET NOCOUNT ON;
+ SELECT @ErrorMostrar = NULL, @ErrorTipo = 0, @Return = 0;
+
+ BEGIN TRY
+ INSERT INTO [dbo].[Sis_IntentosInicioSesion]
+ ([CveUsuario], [NombreUsuario], [Exitoso], [MotivoFallo],
+ [DireccionIP], [AgenteUsuario], [NombreDominio])
+ VALUES
+ (@CveUsuario, @NombreUsuario, @Exitoso, @MotivoFallo,
+ @DireccionIP, @AgenteUsuario, @NombreDominio);
+
+ SET @Return = 1;
+ END TRY
+ BEGIN CATCH
+ SET @ErrorMostrar = 'Ocurrió un error al registrar el intento de acceso; favor de contactar a Sistemas.';
+ SET @ErrorTipo = 1;
+ SET @Return = 0;
+ DECLARE @ErrorTecnico nvarchar(2048) = CONCAT('Número: ', ERROR_NUMBER(), '; Procedimiento: ', COALESCE(ERROR_PROCEDURE(), 'PA_Sis_IntentoInicioSesionAdd'), '; Línea: ', ERROR_LINE(), '; Detalle: ', ERROR_MESSAGE());
+ RAISERROR(N'%s', 10, 1, @ErrorTecnico);
+ END CATCH;
+END;
+GO
+
+CREATE OR ALTER PROCEDURE [dbo].[PA_Sis_RegistroClienteAdd]
+ @NombreUsuario varchar(100),
+ @HashContrasena varchar(500),
+ @CorreoElectronico varchar(255),
+ @RFC varchar(15),
+ @RazonSocial varchar(200),
+ @NombreComercial varchar(200) = NULL,
+ @Direccion varchar(90),
+ @NoExt varchar(20) = NULL,
+ @NoInt varchar(50) = NULL,
+ @Colonia varchar(100),
+ @Ciudad varchar(100),
+ @CveSATEstado int,
+ @Pais varchar(100) = 'México',
+ @CP varchar(5),
+ @Telefono varchar(25) = NULL,
+ @CvePais int,
+ @CveMunicipio int,
+ @CveLocalidad int = NULL,
+ @CveColonia int,
+ @HashToken char(64),
+ @HorasExpiracion int = 24,
+ @CveUsuarioEjecuta int,
+ @ErrorMostrar varchar(max) OUTPUT,
+ @ErrorTipo int OUTPUT,
+ @Return bit OUTPUT
+AS
+BEGIN
+ SET NOCOUNT ON;
+ SELECT @ErrorMostrar = NULL, @ErrorTipo = 0, @Return = 0;
+
+ BEGIN TRY
+ DECLARE @CveRolEmpresa int, @CveUsuario int, @CveCliente int;
+ DECLARE @NombreEstado varchar(50), @PaisCatalogo varchar(100);
+ DECLARE @CiudadCatalogo varchar(100), @ColoniaCatalogo varchar(100);
+
+ SET @NombreUsuario = LTRIM(RTRIM(@NombreUsuario));
+ SET @CorreoElectronico = LOWER(LTRIM(RTRIM(@CorreoElectronico)));
+ SET @RFC = UPPER(REPLACE(LTRIM(RTRIM(@RFC)), ' ', ''));
+ SET @CP = LTRIM(RTRIM(@CP));
+
+ SELECT @CveRolEmpresa = [CveRol]
+ FROM [dbo].[Sis_Roles]
+ WHERE [NombreRol] = 'Empresa' AND [Activo] = (1);
+
+ SELECT TOP (1)
+ @NombreEstado = LEFT(E.[NombreEstado], 35),
+ @PaisCatalogo = LEFT(P.[Descripcion], 50),
+ @CiudadCatalogo = LEFT(COALESCE(NULLIF(L.[NombreLocalidad], ''), M.[Descripcion]), 50),
+ @ColoniaCatalogo = LEFT(C.[NombreAsentamiento], 50)
+ FROM [dbo].[Gral_SAT_CP] AS CP
+ INNER JOIN [dbo].[Gral_SAT_Estado] AS E
+ ON E.[ClaveSATEstado] = CP.[ClaveSATEstado]
+ AND E.[CveEstado] = @CveSATEstado
+ INNER JOIN [dbo].[Gral_SAT_Pais] AS P
+ ON P.[ClaveSATPais] = E.[ClaveSATPais]
+ AND P.[CvePais] = @CvePais
+ INNER JOIN [dbo].[Gral_SAT_Municipio] AS M
+ ON M.[ClaveSATEstado] = CP.[ClaveSATEstado]
+ AND M.[ClaveSATMunicipio] = CP.[ClaveSATMunicipio]
+ AND M.[CveMunicipio] = @CveMunicipio
+ LEFT JOIN [dbo].[Gral_SAT_Localidad] AS L
+ ON L.[ClaveSATEstado] = CP.[ClaveSATEstado]
+ AND L.[ClaveSATLocalidad] = CP.[ClaveSATLocalidad]
+ INNER JOIN [dbo].[Gral_SAT_Colonia] AS C
+ ON C.[CP] = CP.[CP] AND C.[CveColonia] = @CveColonia
+ WHERE CP.[CP] = @CP
+ AND (@CveLocalidad IS NULL OR L.[CveLocalidad] = @CveLocalidad);
+
+ IF @CveRolEmpresa IS NULL
+ BEGIN
+ SELECT @ErrorMostrar = 'No fue posible determinar el rol Empresa.', @ErrorTipo = 1;
+ RETURN;
+ END;
+
+ IF @NombreEstado IS NULL OR @PaisCatalogo IS NULL OR @CiudadCatalogo IS NULL OR @ColoniaCatalogo IS NULL
+ BEGIN
+ SELECT @ErrorMostrar = 'Los datos del código postal no coinciden con los catálogos vigentes. Actualiza el código postal.', @ErrorTipo = 2;
+ RETURN;
+ END;
+
+ SELECT @Pais = @PaisCatalogo, @Ciudad = @CiudadCatalogo, @Colonia = @ColoniaCatalogo;
+
+ IF EXISTS (SELECT 1 FROM [dbo].[Sis_Usuarios] WHERE [NombreUsuario] = @NombreUsuario)
+ OR EXISTS (SELECT 1 FROM [dbo].[Sis_Usuarios] WHERE LOWER([CorreoElectronico]) = @CorreoElectronico)
+ OR EXISTS (SELECT 1 FROM [dbo].[Clientes] WHERE UPPER(REPLACE(LTRIM(RTRIM([RFC])), ' ', '')) = @RFC)
+ BEGIN
+ SELECT @ErrorMostrar = 'Los datos ya fueron registrados por otra solicitud. Actualiza la página e inténtalo nuevamente.', @ErrorTipo = 2;
+ RETURN;
+ END;
+
+
+ INSERT INTO [dbo].[Sis_Usuarios]
+ ([NombreUsuario], [HashContrasena], [CorreoElectronico], [CveRol], [Activo], [DebeCambiarContrasena], [CorreoVerificado])
+ VALUES (@NombreUsuario, @HashContrasena, @CorreoElectronico, @CveRolEmpresa, (0), (0), (0));
+
+ SET @CveUsuario = CONVERT(int, SCOPE_IDENTITY());
+
+ INSERT INTO [dbo].[Clientes]
+ ([Nombre], [NombreComercial], [Direccion], [NoExt], [NoInt], [Colonia],
+ [Ciudad], [Estado], [CveSATEstado], [Pais], [RFC], [CP], [Telefono],
+ [Mail], [Estatus], [Fecha], [CveUsuario], [FechaIng],
+ [CvePais], [CveEstado], [CveMunicipio], [CveLocalidad], [CveColonia])
+ VALUES
+ (@RazonSocial, NULLIF(@NombreComercial, ''), @Direccion, NULLIF(@NoExt, ''),
+ NULLIF(@NoInt, ''), @Colonia, @Ciudad, @NombreEstado, @CveSATEstado,
+ @Pais, @RFC, @CP, NULLIF(@Telefono, ''), @CorreoElectronico, (0),
+ CONVERT(date, GETDATE()), @CveUsuario, GETDATE(),
+ @CvePais, @CveSATEstado, @CveMunicipio, @CveLocalidad, @CveColonia);
+
+ SET @CveCliente = CONVERT(int, SCOPE_IDENTITY());
+
+ INSERT INTO [dbo].[Sis_UsuariosClientes]
+ ([CveUsuario], [CveCliente], [Orden], [EsPrincipal], [Activo], [CveUsuarioRegistro])
+ VALUES (@CveUsuario, @CveCliente, (1), (1), (1), @CveUsuario);
+
+ INSERT INTO [dbo].[Sis_UsuariosVerificacionesCorreo]
+ ([CveUsuario], [CveClienteRegistro], [HashToken], [FechaExpiracion])
+ VALUES (@CveUsuario, @CveCliente, @HashToken, DATEADD(HOUR, @HorasExpiracion, SYSDATETIME()));
+
+
+ SELECT @CveUsuario AS [CveUsuario], @CveCliente AS [CveCliente];
+ SET @Return = 1;
+ END TRY
+ BEGIN CATCH
+ SELECT @ErrorMostrar = 'Ocurrió un error al crear el registro; favor de contactar a Sistemas.', @ErrorTipo = 1, @Return = 0;
+ DECLARE @E nvarchar(2048) = CONCAT('Número: ', ERROR_NUMBER(), '; Procedimiento: ', ERROR_PROCEDURE(), '; Línea: ', ERROR_LINE(), '; Detalle: ', ERROR_MESSAGE());
+ RAISERROR(N'%s', 10, 1, @E);
+ END CATCH;
+END;
+GO
+
+CREATE OR ALTER PROCEDURE [dbo].[PA_Sis_UsuarioClienteSave]
+ @CveUsuario int,
+ @CveCliente int,
+ @Orden int,
+ @EsPrincipal bit,
+ @CveUsuarioEjecuta int,
+ @ErrorMostrar varchar(max) OUTPUT,
+ @ErrorTipo int OUTPUT,
+ @Return bit OUTPUT
+AS
+BEGIN
+ SET NOCOUNT ON;
+ SELECT @ErrorMostrar = NULL, @ErrorTipo = 0, @Return = 0;
+ BEGIN TRY
+ IF NOT EXISTS
+ (
+ SELECT 1 FROM [dbo].[Sis_Usuarios] U INNER JOIN [dbo].[Sis_Roles] R ON R.[CveRol] = U.[CveRol]
+ WHERE U.[CveUsuario] = @CveUsuarioEjecuta AND R.[NombreRol] IN ('SuperUsuario', 'Administrador')
+ AND U.[Activo] = (1)
+ )
+ BEGIN
+ SET @ErrorMostrar = 'No tienes permiso para asignar clientes.';
+ SET @ErrorTipo = 1;
+ RETURN;
+ END;
+
+ IF @Orden <= (0) OR NOT EXISTS (SELECT 1 FROM [dbo].[Clientes] WHERE [CveCliente] = @CveCliente)
+ BEGIN
+ SET @ErrorMostrar = 'El cliente o el orden indicado no es válido.';
+ SET @ErrorTipo = 2;
+ RETURN;
+ END;
+
+ IF EXISTS
+ (
+ SELECT 1 FROM [dbo].[Sis_UsuariosClientes]
+ WHERE [CveUsuario] = @CveUsuario AND [Orden] = @Orden AND [Activo] = (1)
+ AND [CveCliente] <> @CveCliente
+ )
+ BEGIN
+ SET @ErrorMostrar = 'Ya existe otro cliente con el mismo orden para este usuario.';
+ SET @ErrorTipo = 2;
+ RETURN;
+ END;
+
+ IF @EsPrincipal = (1)
+ UPDATE [dbo].[Sis_UsuariosClientes]
+ SET [EsPrincipal] = (0), [FechaActualizacion] = SYSDATETIME()
+ WHERE [CveUsuario] = @CveUsuario;
+
+ UPDATE [dbo].[Sis_UsuariosClientes]
+ SET [Orden] = @Orden, [EsPrincipal] = @EsPrincipal, [Activo] = (1),
+ [FechaActualizacion] = SYSDATETIME()
+ WHERE [CveUsuario] = @CveUsuario AND [CveCliente] = @CveCliente;
+
+ IF @@ROWCOUNT = (0)
+ INSERT INTO [dbo].[Sis_UsuariosClientes]
+ ([CveUsuario], [CveCliente], [Orden], [EsPrincipal], [Activo], [CveUsuarioRegistro])
+ VALUES
+ (@CveUsuario, @CveCliente, @Orden, @EsPrincipal, (1), @CveUsuarioEjecuta);
+
+ SET @Return = 1;
+ END TRY
+ BEGIN CATCH
+ SET @ErrorMostrar = 'Ocurrió un error al asignar el cliente; favor de contactar a Sistemas.';
+ SET @ErrorTipo = 1;
+ DECLARE @E nvarchar(2048) = CONCAT('Número: ', ERROR_NUMBER(), '; Procedimiento: ', ERROR_PROCEDURE(), '; Línea: ', ERROR_LINE(), '; Detalle: ', ERROR_MESSAGE());
+ RAISERROR(N'%s', 10, 1, @E);
+ END CATCH;
+END;
+GO
+
+CREATE OR ALTER PROCEDURE [dbo].[PA_Sis_UsuarioDelete]
+ @CveUsuario int,
+ @CveUsuarioEjecuta int,
+ @ErrorMostrar varchar(max) OUTPUT,
+ @ErrorTipo int OUTPUT,
+ @Return bit OUTPUT
+AS
+BEGIN
+ SET NOCOUNT ON;
+ SELECT @ErrorMostrar = NULL, @ErrorTipo = 0, @Return = 0;
+ BEGIN TRY
+ IF @CveUsuario = @CveUsuarioEjecuta
+ BEGIN
+ SET @ErrorMostrar = 'No puedes borrar tu propio usuario.';
+ SET @ErrorTipo = 2;
+ RETURN;
+ END;
+
+ DELETE U
+ FROM [dbo].[Sis_Usuarios] AS U
+ WHERE U.[CveUsuario] = @CveUsuario
+ AND EXISTS
+ (
+ SELECT 1
+ FROM [dbo].[Sis_Usuarios] AS E
+ INNER JOIN [dbo].[Sis_Roles] AS R
+ ON R.[CveRol] = E.[CveRol]
+ WHERE E.[CveUsuario] = @CveUsuarioEjecuta
+ AND R.[NombreRol] = 'SuperUsuario'
+ AND E.[Activo] = (1)
+ );
+ IF @@ROWCOUNT = (0)
+ BEGIN
+ SET @ErrorMostrar = 'No fue posible borrar el usuario o no tienes autorización.';
+ SET @ErrorTipo = 1;
+ RETURN;
+ END;
+ SET @Return = 1;
+ END TRY
+ BEGIN CATCH
+ IF ERROR_NUMBER() = 547
+ BEGIN
+ SET @ErrorMostrar = 'El usuario tiene información relacionada y no puede eliminarse.';
+ SET @ErrorTipo = 2;
+ SET @Return = 0;
+ RETURN;
+ END;
+ SET @ErrorMostrar = 'Ocurrió un error al borrar el usuario; favor de contactar a Sistemas.';
+ SET @ErrorTipo = 1;
+ DECLARE @E nvarchar(2048) = CONCAT('Número: ', ERROR_NUMBER(), '; Procedimiento: ', ERROR_PROCEDURE(), '; Línea: ', ERROR_LINE(), '; Detalle: ', ERROR_MESSAGE());
+ RAISERROR(N'%s', 10, 1, @E);
+ END CATCH;
+END;
+GO
+
+CREATE OR ALTER PROCEDURE [dbo].[PA_Sis_UsuarioLoginFailedUpdate]
+ @CveUsuario int,
+ @CveUsuarioEjecuta int,
+ @ErrorMostrar varchar(max) OUTPUT,
+ @ErrorTipo int OUTPUT,
+ @Return bit OUTPUT
+AS
+BEGIN
+ SET NOCOUNT ON;
+ SELECT @ErrorMostrar = NULL, @ErrorTipo = 0, @Return = 0;
+
+ BEGIN TRY
+ UPDATE [dbo].[Sis_Usuarios]
+ SET [IntentosFallidosInicioSesion] = [IntentosFallidosInicioSesion] + (1),
+ [BloqueadoHasta] = CASE
+ WHEN [IntentosFallidosInicioSesion] + (1) >= (5)
+ THEN DATEADD(MINUTE, (15), GETDATE())
+ ELSE [BloqueadoHasta]
+ END,
+ [FechaActualizacion] = GETDATE()
+ WHERE [CveUsuario] = @CveUsuario
+;
+
+ IF @@ROWCOUNT = (0)
+ BEGIN
+ SET @ErrorMostrar = 'El usuario ya no está disponible.';
+ SET @ErrorTipo = 2;
+ RETURN;
+ END;
+
+ SET @Return = 1;
+ END TRY
+ BEGIN CATCH
+ SET @ErrorMostrar = 'Ocurrió un error al registrar el intento de acceso; favor de contactar a Sistemas.';
+ SET @ErrorTipo = 1;
+ SET @Return = 0;
+ DECLARE @ErrorTecnico nvarchar(2048) = CONCAT('Número: ', ERROR_NUMBER(), '; Procedimiento: ', COALESCE(ERROR_PROCEDURE(), 'PA_Sis_UsuarioLoginFailedUpdate'), '; Línea: ', ERROR_LINE(), '; Detalle: ', ERROR_MESSAGE());
+ RAISERROR(N'%s', 10, 1, @ErrorTecnico);
+ END CATCH;
+END;
+GO
+
+CREATE OR ALTER PROCEDURE [dbo].[PA_Sis_UsuarioLoginSuccessUpdate]
+ @CveUsuario int,
+ @CveUsuarioEjecuta int,
+ @ErrorMostrar varchar(max) OUTPUT,
+ @ErrorTipo int OUTPUT,
+ @Return bit OUTPUT
+AS
+BEGIN
+ SET NOCOUNT ON;
+ SELECT @ErrorMostrar = NULL, @ErrorTipo = 0, @Return = 0;
+
+ BEGIN TRY
+ UPDATE [dbo].[Sis_Usuarios]
+ SET [FechaUltimoInicioSesion] = GETDATE(),
+ [FechaUltimaConexion] = GETDATE(),
+ [IntentosFallidosInicioSesion] = (0),
+ [BloqueadoHasta] = NULL,
+ [FechaActualizacion] = GETDATE()
+ WHERE [CveUsuario] = @CveUsuario
+;
+
+ IF @@ROWCOUNT = (0)
+ BEGIN
+ SET @ErrorMostrar = 'El usuario ya no está disponible.';
+ SET @ErrorTipo = 2;
+ RETURN;
+ END;
+
+ SET @Return = 1;
+ END TRY
+ BEGIN CATCH
+ SET @ErrorMostrar = 'Ocurrió un error al actualizar el inicio de sesión; favor de contactar a Sistemas.';
+ SET @ErrorTipo = 1;
+ SET @Return = 0;
+ DECLARE @ErrorTecnico nvarchar(2048) = CONCAT('Número: ', ERROR_NUMBER(), '; Procedimiento: ', COALESCE(ERROR_PROCEDURE(), 'PA_Sis_UsuarioLoginSuccessUpdate'), '; Línea: ', ERROR_LINE(), '; Detalle: ', ERROR_MESSAGE());
+ RAISERROR(N'%s', 10, 1, @ErrorTecnico);
+ END CATCH;
+END;
+GO
+
+CREATE OR ALTER PROCEDURE [dbo].[PA_Sis_UsuarioSave]
+ @CveUsuario int = NULL,
+ @NombreUsuario varchar(100),
+ @CorreoElectronico varchar(255),
+ @CveRol int,
+ @HashContrasena varchar(500) = NULL,
+ @Activo bit,
+ @DebeCambiarContrasena bit,
+ @CveUsuarioEjecuta int,
+ @ErrorMostrar varchar(max) OUTPUT,
+ @ErrorTipo int OUTPUT,
+ @Return bit OUTPUT
+AS
+BEGIN
+ SET NOCOUNT ON;
+ SELECT @ErrorMostrar = NULL, @ErrorTipo = 0, @Return = 0;
+ BEGIN TRY
+ IF NOT EXISTS
+ (
+ SELECT 1 FROM [dbo].[Sis_Usuarios] U
+ INNER JOIN [dbo].[Sis_Roles] R ON R.[CveRol] = U.[CveRol]
+ WHERE U.[CveUsuario] = @CveUsuarioEjecuta AND R.[NombreRol] = 'SuperUsuario'
+ AND U.[Activo] = (1)
+ )
+ BEGIN
+ SET @ErrorMostrar = 'Sólo un SuperUsuario puede crear o modificar usuarios.';
+ SET @ErrorTipo = 1;
+ RETURN;
+ END;
+
+ IF EXISTS (SELECT 1 FROM [dbo].[Sis_Usuarios] WHERE [NombreUsuario] = @NombreUsuario AND [CveUsuario] <> ISNULL(@CveUsuario, (0)))
+ OR EXISTS (SELECT 1 FROM [dbo].[Sis_Usuarios] WHERE LOWER([CorreoElectronico]) = LOWER(@CorreoElectronico) AND [CveUsuario] <> ISNULL(@CveUsuario, (0)))
+ BEGIN
+ SET @ErrorMostrar = 'El usuario o correo electrónico ya está registrado.';
+ SET @ErrorTipo = 2;
+ RETURN;
+ END;
+
+ IF @CveUsuario IS NULL OR @CveUsuario <= (0)
+ BEGIN
+ IF NULLIF(@HashContrasena, '') IS NULL
+ BEGIN
+ SET @ErrorMostrar = 'La contraseña es obligatoria para un usuario nuevo.';
+ SET @ErrorTipo = 2;
+ RETURN;
+ END;
+
+ INSERT INTO [dbo].[Sis_Usuarios]
+ ([NombreUsuario], [HashContrasena], [CorreoElectronico], [CveRol], [Activo],
+ [DebeCambiarContrasena], [CorreoVerificado], [FechaVerificacionCorreo])
+ VALUES
+ (@NombreUsuario, @HashContrasena, @CorreoElectronico, @CveRol, @Activo,
+ @DebeCambiarContrasena, (1), SYSDATETIME());
+ SET @CveUsuario = CONVERT(int, SCOPE_IDENTITY());
+ END
+ ELSE
+ BEGIN
+ UPDATE [dbo].[Sis_Usuarios]
+ SET [NombreUsuario] = @NombreUsuario, [CorreoElectronico] = @CorreoElectronico,
+ [CveRol] = @CveRol, [Activo] = @Activo,
+ [DebeCambiarContrasena] = @DebeCambiarContrasena,
+ [HashContrasena] = COALESCE(NULLIF(@HashContrasena, ''), [HashContrasena]),
+ [FechaActualizacion] = GETDATE()
+ WHERE [CveUsuario] = @CveUsuario;
+ END;
+
+ SELECT @CveUsuario AS [CveUsuario];
+ SET @Return = 1;
+ END TRY
+ BEGIN CATCH
+ SET @ErrorMostrar = 'Ocurrió un error al guardar el usuario; favor de contactar a Sistemas.';
+ SET @ErrorTipo = 1;
+ DECLARE @E nvarchar(2048) = CONCAT('Número: ', ERROR_NUMBER(), '; Procedimiento: ', ERROR_PROCEDURE(), '; Línea: ', ERROR_LINE(), '; Detalle: ', ERROR_MESSAGE());
+ RAISERROR(N'%s', 10, 1, @E);
+ END CATCH;
+END;
+GO
+
+CREATE OR ALTER PROCEDURE [dbo].[PA_Sis_UsuarioSesionAdd]
+ @CveUsuario int,
+ @TokenSesion varchar(200),
+ @DireccionIP varchar(50) = NULL,
+ @AgenteUsuario varchar(1000) = NULL,
+ @NombreDominio varchar(255) = NULL,
+ @CveUsuarioEjecuta int,
+ @ErrorMostrar varchar(max) OUTPUT,
+ @ErrorTipo int OUTPUT,
+ @Return bit OUTPUT
+AS
+BEGIN
+ SET NOCOUNT ON;
+ SELECT @ErrorMostrar = NULL, @ErrorTipo = 0, @Return = 0;
+
+ BEGIN TRY
+ IF NOT EXISTS
+ (
+ SELECT 1 FROM [dbo].[Sis_Usuarios]
+ WHERE [CveUsuario] = @CveUsuario AND [Activo] = (1)
+ )
+ BEGIN
+ SET @ErrorMostrar = 'El usuario no está disponible para iniciar sesión.';
+ SET @ErrorTipo = 2;
+ RETURN;
+ END;
+
+ INSERT INTO [dbo].[Sis_UsuariosSesiones]
+ ([CveUsuario], [TokenSesion], [DireccionIP], [AgenteUsuario],
+ [NombreDominio], [FechaUltimaActividad])
+ VALUES
+ (@CveUsuario, @TokenSesion, @DireccionIP, @AgenteUsuario,
+ @NombreDominio, GETDATE());
+
+ SET @Return = 1;
+ END TRY
+ BEGIN CATCH
+ SET @ErrorMostrar = 'Ocurrió un error al crear la sesión; favor de contactar a Sistemas.';
+ SET @ErrorTipo = 1;
+ SET @Return = 0;
+ DECLARE @ErrorTecnico nvarchar(2048) = CONCAT('Número: ', ERROR_NUMBER(), '; Procedimiento: ', COALESCE(ERROR_PROCEDURE(), 'PA_Sis_UsuarioSesionAdd'), '; Línea: ', ERROR_LINE(), '; Detalle: ', ERROR_MESSAGE());
+ RAISERROR(N'%s', 10, 1, @ErrorTecnico);
+ END CATCH;
+END;
+GO
+
+CREATE OR ALTER PROCEDURE [dbo].[PA_Sis_UsuarioSesionEnd]
+ @TokenSesion varchar(200),
+ @CveUsuarioEjecuta int,
+ @ErrorMostrar varchar(max) OUTPUT,
+ @ErrorTipo int OUTPUT,
+ @Return bit OUTPUT
+AS
+BEGIN
+ SET NOCOUNT ON;
+ SELECT @ErrorMostrar = NULL, @ErrorTipo = 0, @Return = 0;
+
+ BEGIN TRY
+ UPDATE [dbo].[Sis_UsuariosSesiones]
+ SET [FechaFin] = GETDATE(), [Activo] = (0)
+ WHERE [TokenSesion] = @TokenSesion
+;
+
+ /* Cerrar una sesión inexistente o ya cerrada es una operación idempotente. */
+ SET @Return = 1;
+ END TRY
+ BEGIN CATCH
+ SET @ErrorMostrar = 'Ocurrió un error al cerrar la sesión; favor de contactar a Sistemas.';
+ SET @ErrorTipo = 1;
+ SET @Return = 0;
+ DECLARE @ErrorTecnico nvarchar(2048) = CONCAT('Número: ', ERROR_NUMBER(), '; Procedimiento: ', COALESCE(ERROR_PROCEDURE(), 'PA_Sis_UsuarioSesionEnd'), '; Línea: ', ERROR_LINE(), '; Detalle: ', ERROR_MESSAGE());
+ RAISERROR(N'%s', 10, 1, @ErrorTecnico);
+ END CATCH;
+END;
+GO
+
diff --git a/Procedimientos_Seguridad_Actuales.sql b/Procedimientos_Seguridad_Actuales.sql
index 116c927..e7912c0 100644
--- a/Procedimientos_Seguridad_Actuales.sql
+++ b/Procedimientos_Seguridad_Actuales.sql
@@ -46,7 +46,6 @@ CREATE OR ALTER PROCEDURE [dbo].[PA_Sis_UsuarioLoginSuccessUpdate]
AS
BEGIN
SET NOCOUNT ON;
- SET XACT_ABORT ON;
SELECT @ErrorMostrar = NULL, @ErrorTipo = 0, @Return = 0;
BEGIN TRY
@@ -87,7 +86,6 @@ CREATE OR ALTER PROCEDURE [dbo].[PA_Sis_UsuarioLoginFailedUpdate]
AS
BEGIN
SET NOCOUNT ON;
- SET XACT_ABORT ON;
SELECT @ErrorMostrar = NULL, @ErrorTipo = 0, @Return = 0;
BEGIN TRY
@@ -136,7 +134,6 @@ CREATE OR ALTER PROCEDURE [dbo].[PA_Sis_IntentoInicioSesionAdd]
AS
BEGIN
SET NOCOUNT ON;
- SET XACT_ABORT ON;
SELECT @ErrorMostrar = NULL, @ErrorTipo = 0, @Return = 0;
BEGIN TRY
@@ -172,7 +169,6 @@ CREATE OR ALTER PROCEDURE [dbo].[PA_Sis_UsuarioSesionAdd]
AS
BEGIN
SET NOCOUNT ON;
- SET XACT_ABORT ON;
SELECT @ErrorMostrar = NULL, @ErrorTipo = 0, @Return = 0;
BEGIN TRY
@@ -215,7 +211,6 @@ CREATE OR ALTER PROCEDURE [dbo].[PA_Sis_UsuarioSesionEnd]
AS
BEGIN
SET NOCOUNT ON;
- SET XACT_ABORT ON;
SELECT @ErrorMostrar = NULL, @ErrorTipo = 0, @Return = 0;
BEGIN TRY
@@ -326,7 +321,6 @@ BEGIN
WHERE RM.[CveRol] = @CveRol
AND RM.[PuedeVer] = (1)
AND M.[Activo] = (1)
- AND M.[Visible] = (1)
AND RM.[Borrado] = (0)
AND M.[Borrado] = (0)
AND
diff --git a/Requisitos de trámites en Excel.xlsx b/Requisitos de trámites en Excel.xlsx
new file mode 100644
index 0000000..6447a4b
Binary files /dev/null and b/Requisitos de trámites en Excel.xlsx differ
diff --git a/SIG.Web/AccessDenied.aspx b/SIG.Web/AccessDenied.aspx
index 13f3d4c..a1a8115 100644
--- a/SIG.Web/AccessDenied.aspx
+++ b/SIG.Web/AccessDenied.aspx
@@ -1,4 +1,4 @@
-<%@ Page Title="Acceso denegado" Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true" CodeBehind="AccessDenied.aspx.cs" Inherits="SIG.Web.AccessDenied" %>
+<%@ Page Title="Acceso denegado" Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true" CodeFile="AccessDenied.aspx.cs" Inherits="SIG.Web.AccessDenied" %>
");
+ html.AppendLine(
+@" ");
html.AppendLine("");
html.AppendLine("");
@@ -516,7 +781,9 @@ namespace SIG.Web.AppCode.Services.Errors
html.AppendLine(" ");
html.AppendLine(" ");
html.AppendLine("
");
- html.AppendLine("
Ocurrio un error inesperado al cargar esta seccion. Puedes regresar, intentar nuevamente o reportarlo al area de soporte.
");
+ html.AppendLine(
+ "
Ocurrio un error inesperado al cargar esta seccion. " +
+ "Puedes regresar, intentar nuevamente o reportarlo al area de soporte.