# Separación de Mercancía

## Mapa Mental&#x20;

![Mapa Mental ](/files/-MXXWft06whWmJ43s6ko)

<https://miro.com/app/board/o9J_lMz8emM=/>

## Tablas

Las tablas afectadas por la separación de mercancía son :  &#x20;

**`Documentos_lin_separa`**                                               **`Documentos_lin_separacion`**

## Vistas&#x20;

Vista `v_codigos_separa`  - Suma la cantidad de unidades separadas agrupadas por código&#x20;

`Create view [dbo].[v_codigos_separa] as`\
`select codigo,SUM(cantidad) as cantidad`\
`from v_documentos_lin_separacion where numero is not null group by codigo`\
`GO`

## Triggers

Se modifica Trigger  **INS\_DOCUMENTOS\_LIN\_REPUESTOS** en tabla **documentos\_lin**  para controlar  el tipo de documentos TRT - Traslados al Taller, al momento de realizar el traslado se valida el stock de la bodega contra la cantidad separada:    &#x20;

&#x20;                                                                                                                                                                                                                                                    `-----ENERO 28 DE 2021, REPUESTOS SEPARADOS MAYOR AL STOCK - CONTROL TRT -----Se quita control para usuarios JHON RIOS y OSCAR LONDOÑO Solicita Edison Castro`\
`IF @TIPO='TRT' AND @vendedor NOT IN (55,34)`\
`begin`\
`if EXISTS (SELECT * from v_codigos_separa d left join v_referencias_sto_hoy v on d.codigo=v.codigo and v.bodega=1 where d.cantidad>=v.stock and d.codigo=@codigo)`\
`begin`\
`ROLLBACK TRANSACTION`\
`SELECT @mensaje='--CODIGO : ' + @codigo + ' ' + 'NO DISPONIBLE POR SEPARACION DE MERCANCIA'`\
`+' TRIGGER [dbo].[INS_DOCUMENTOS_LIN_REPUESTOS] ON [dbo].[documentos_lin] --'`\
`RAISERROR(@mensaje,11,2)`\
`RETURN`\
`end`

## Stored Procedures

Se crean los siguientes procedimientos almacenados , los cuales se utilizan en el módulo 0401- Informes y Consultas de  DMS, en resumen insertan y borran los datos de la separación a partir de una cotización realizada desde el módulo 1302- Cotizaciones.

* `sp_insertar_separacion_cotizacion`
* `sp_borrar_separacion_cotizacion`
* `sp_insertar_separacion_cotizacion_item`
* `sp_borrrar_separacion_cotizacion_item`

## Formas de Separar Mercancía en DMS

1. &#x20;Separación por Pedidos realizados en el módulo 1303 - Pedidos.
2. &#x20;Separación por Módulo 1910 -. Separar Mercancía.
3. &#x20;Separación por Stored Procedures desde el Módulo 0401.&#x20;

### 1.  **Módulo** 1303 - Pedidos

![](/files/-MXXYa7393dO5n0CoaiX)

La separación desde este módulo es automática  al momento de realizar el pedido. &#x20;

### 2. Módulo 1910 - Separar Mercancía&#x20;

![Módulo 1910. Separar Mercancía ](/files/-MXXc2tcfkTwgkQB1VmF)

\
El objetivo de este módulo es separar mercancía a nombre de algún cliente; esto es útil cuando se quiere evitar que la mercancía sea vendida o trasladada para otros fines.

![](/files/-MXXd0hkqARxjvc8moOs)

A continuación, se detallan los campos que utiliza el módulo:

**Cliente:**  Se ingresa el Nit del cliente a quien se le va a separar la mercancía.

**Código Ítem:** Se digita el código del ítem que será separado a nombre del cliente inicialmente ingresado, a un mismo cliente se le pueden separar varios ítems.

**Bodega:** Aparece por default la bodega en la que se esté ubicado en la aplicación.

**Cantidad Separada:** Si el ítem que se esté digitando ya tiene una cantidad separada con anterioridad aparece en este campo dicha cantidad.

**Cantidad a Separar:** Se ingresa la cantidad del ítem que se desea separar.

**Fecha de Expiración:** Significa que la mercancía estará automáticamente separada hasta una fecha determinada y si no ha sido facturada después de esta fecha, la mercancía será liberada para que cualquiera la pueda disponer.

**Orden Taller:** Quienes tengan sistema de taller pueden guardar el dato de la Orden de Taller para la que se va a separar el ítem.

**Notas:** Se pueden escribir datos adicionales o comentarios sobre el ítem separado.

A continuación, se detallan los botones y su funcionalidad que utiliza el módulo:

![](/files/-MXXdKKmsoj_FBjkBYzU)

**Nuevo:** Limpia el grid para comenzar a digitar los datos nuevamente.

**Separar:** Actualiza los datos ingresados en pantalla y baja la línea al grid.

**Cargar Vencidas:** Carga en el Grid todas las separaciones de mercancía vencidas en el sistema.

**Borrar todas las Vencidas:** Retira todas las separaciones que hallan expirado su fecha de vencimiento, este procedimiento es recomendable realizarlo semanalmente para borrar información que no es útil en la aplicación.

**Cargar todas:** Carga en el grid todas las separaciones ingresadas al sistema incluyendo las que ya han sido vencidas.

**Editar Línea:** sube la línea del grid que está señalada para realizarle cambios.

**Borrar Línea:** Borra la línea del grid que está señalada, liberando la mercancía.

**Importar CSV:** Permite exportar archivo plano con las referencias a separar. El archivo debe estar ubicado en siguiente ruta: \\\svrppal\separacion\_mercancia

Existen dos formas de separar la mercancía, una es de manera manual referencia por referencia y la otra es a través de un archivo plano.

**OPCIÓN 1: Ingreso Manual**

![](/files/-MXXdTdC8cMtOyfr7mzI)

Se ingresa el cliente, código de ítem, cantidad a separar y las notas. Damos clic al botón separar.

**Nota**: el número de la orden de taller no es obligatorio.

**OPCIÓN 2: Importando desde Archivo plano**

Para poder generar el archivo plano es necesario que se haya realizado una cotización en DMS desde el modulo 1302. Este archivo toma los datos registrados en esta.

En el módulo 0401 – Taller – 4515. Separación de Mercancía – 200. Cotización Archivo Plano Mod. 1910 - Esta consulta contiene los campos según estructura archivo plano requerido por DMS.

`select codigo,dl.bodega,dp.nit,fecha=CONVERT(varchar,GETDATE(),110),fecha_Vencimiento=CONVERT(varchar,GETDATE()+dp.dias_validez,110),dl.cantidad,dp.notas, orden=0 from documentos_lin_ped dl`

### 3. Módulo 0401 - Informes y Consultas de DMS

![](/files/-MXXiion3YBncinkjJBG)

![](/files/-MXXjQQq_s826PWVU4Im)

1. Separar Repuestos desde Cotización :  separa a partir del numero de Cotización , separa todos los ítems de la misma.  `sp_insertar_separacion_cotizacion`
2. Borrar Separación desde Cotización : borra separación de toda una cotización.                                                      `sp_borrar_separacion_cotizacion`
3. Consulta Repuestos Separados :  repuestos separados  `select ds.codigo,r.descripcion,ds.fecha ,ds.cantidad,ds.usuario, ds.numero as Cotizacion from documentos_lin_separacion ds left join referencias r on ds.codigo=r.codigo`
4. Separar Repuestos Cotización y Código : separa un código separado de una cotización                                                 `sp_insertar_separacion_cotizacion_item`&#x20;
5. Borrar Repuestos Cotización y Código : borra un código separado de una cotización                                              `sp_borrrar_separacion_cotizacion_item`
6. Consulta Separación por Código : Permite consultar separaciones existentes de un código en especifico `select ds.codigo,r.descripcion,ds.fecha ,ds.cantidad,ds.usuario, ds.numero as Cotizacion from documentos_lin_separacion ds left join referencias r on ds.codigo=r.codigo where ds.numero is not null and ds.codigo = '¿Digite Codigo[@5]?' order by ds.fecha,ds.numero,ds.codigo`
7. Consulta Separación por Placa : Consulta referencias separadas asociadas a una placa. `select ds.codigo,r.descripcion,ds.fecha ,ds.cantidad as cantidad_separada,vh.stock, ds.usuario,ds.numero as Cotizacion ,ds.notas from documentos_lin_separacion ds left join referencias r on ds.codigo=r.codigo left join v_referencias_sto_hoy vh on ds.codigo=vh.codigo and vh.bodega=1 where ds.notas LIKE '%¿Placa[]%?' and ds.numero is not null order by ds.numero,ds.codigo`

## **Notas Adicionales**&#x20;

Aspectos a tener en cuenta :&#x20;

**Pedidos 1303:** Muestra la cantidad separada debajo del stock

**Consulta de Ítems 1913:** Muestra una columna después del stock con la cantidad separada y el stock aparece restando la separación.

Todos los programas de movimiento de inventarios que muestran el stock\
&#x20;del producto, lo hacen después de restar la cantidad separada así ésta\
&#x20;no sea mostrada en pantalla. En resumen las separaciones afectan directamente al stock que se muestra en el DMS

Los usuarios de DMS de  Jhon Rios y Oscar Londoño están excluidos del control de Trigger. ( Ver Trigger - se excluyen por código de vendedor )&#x20;


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://desarrollo-ti.gitbook.io/enlaces-ti/dms/untitled.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
