Mostrando entradas con la etiqueta SAP B1. Mostrar todas las entradas
Mostrando entradas con la etiqueta SAP B1. Mostrar todas las entradas

viernes, 6 de mayo de 2011

Bloqueo de costos sap b1

Utilizando transaction notification podremos bloquear costos de artículo. El sistema no te permite una autorización que haga esto posible. Se puede agregar un query en el sp transaction notification dentro de la base de datos.

Yo agregue el siguiente query que al momento de agregar el artículo o actualizar no me permitiera generar una orden de venta para no generar cola en facturación.


IF @object_type = '17' and @transaction_type IN ('A','U')
BEGIN

Declare @codigoitem nvarchar(20)
if exists (SELECT T1.[ItemCode]
FROM ORDR T0
INNER JOIN RDR1 T1 ON T0.DocEntry = T1.DocEntry
INNER JOIN OITM T2 ON T1.ITEMCODE=T2.ITEMCODE
WHERE (T1.[price] <= T2.[avgprice])and (T0.docentry = @list_of_cols_val_tab_del)
BEGIN
SELECT @error = 1, @error_message = 'orden de venta con precio bajo de costo '
END

donde :

@object_type = documento donde se requiere el bloqueo.
@transaction_type=tipo de transaccion a add u update.
@list_of_cols_val_tab_del =línea verificada.
@error=error
@error_menssage=mensaje de error.

se pueden declarar variables dentro del transaction para mover información.

en mi query cualquier artículo que este dentro de la tabla RDR1(líneas de la orden de venta) será consultada para ver si su precio es mayor al costo del artículo dentro de la tabla OITM(avgprice) .

Espero que les pueda servir para darse una idea de lo que ustedes necesitan.

miércoles, 23 de febrero de 2011

Subir entradas/Salidas de inventario masivamente. SAP B1

Estoy tratando de generar entradas de inventario masivamente para tener la facilidad de trabajar en excel y luego subir los datos al sistema. Subiendo los datos con Data transfer WorkBench.

unos colegas en un foro me han pasado algunos templates para llevar esto acabo.

yo utilice los templates de:

oInventoryGenEntry---Entradas
oInventoryGenExit --- Salidas

en mi caso no utilizo series ni lotes entonces solo utilice los templates de Documents y Document_Lines.

los datos de encabezado son los siguientes:

Recordkey Comments Series

y dentro del template de document_Lines

RecordKey LineNum AccountCode ItemCode WareHouses Quantity

Dentro de cabeceras la serie tiene que ir con el número relativo en la tabla de NNM1. y el AccountCode tiene que ir con su código Sys dentro de OACT.

Generalmente se utiliza una cuenta que se llama ajuste de inventarios, dependera del catálogo de cuenta.

martes, 1 de febrero de 2011

Iniciar nueva sociedad SAP B1

SISTEMAS (X ORDEN DIRECCION)
· parametrizaciones generales y por documento y su impresión.
· definir almacenes.
· definir usuarios.
· definir numeración de series para documentos, notas de créditos, facturas, ordenes de compra, ordenes de fabricación, etc. (importante).
· Definir grupos de artículos
· Definir tipos de pagos.
· Definir procesos de autorizaciones.
CONTABILIDAD
· plan de cuentas.
· determinación de cuentas de mayor.
· carga de saldos iniciales.
· periodos contables.


Carga TEMPLATE LAYOUT vía datatransferworkbench

Antes de iniciar la carga de el plan de cuentas debe de estar dado de alta la segmentacion de la misma dentro de gestión/definiciones/finanzas/segmentación de cuenta, si no te marcará un error de tipo y no dejará hacer la carga del plan de cuentas.



Code AcctCurrency ActiveAccount FatherAccountKey FormatCode Name
null ## Y 1111010 111101101 Caja de Cheques (For )
null##Y 1111021 111102101 Caja Efectivo (For )

miércoles, 6 de octubre de 2010

Autorizaciones dentro de SAP Business One con stored procedures



Dentro de un sistema de gestión es importante decir hasta donde podrá acceder el poder de un usuario. Dentro de nuestro ERP tenemos algunos modelos de autorización predefinidos. Dentro de Gestion/Procedimientos de autorización/modelos de autorización, éstos modelos deben de ser autorizados por usuarios superiores, estos se registran en una etapa de autorización la cual se crea agregando su nombre, que usuarios serán los autorizadores y de que departamento.

Dentro de modelos de autorización encontramos 4 pestañas





El modelo de autorización puede estar o no activo. esto cuando marcas la casilla.

Autor: Donde agregaremos a los usuarios que intentaran crear el documento a autorizar.
Documentos: Donde encontraras los documentos a los que se puede agregar el modelo de autorización.
Etapas: Que es donde agregaras la etapa que antes creaste, es decir quienes autorizaran, estos usuarios están dentro de la etapa o etapas que agregaras aquí.
Condiciones: Aqui ya hay condiciones predefinidas, como el límite de crédito o el límite de comprometido, el total del documento, etc. pero en esta parte esta lo interesante por que también puedes agregar tus propias autorizaciones por medio de stored procedures o consultas.




Para poder utilizarlo la condición debe de ser de vencimiento tipo indefinido,ratio mayor o igual y valor a 0.01





El stored procedure se invoca desde el query manager con código de SQL y se traspasa los datos requeridos con las variables de SAP.




y las variables se pasan al area de programación de sql dentro de la base de datos.


Y las variables que llegan pueden ser procesadas mediante T-SQL. Lo he utilizado y es una manera mas de personalizar el sistema.


Espero que les pueda servir.

viernes, 2 de abril de 2010

HP LASERJET P1505 PROBLEMAS x TS



Estos días he tenido para no variar problemas con impresoras, que a una se le acaba el modulo fotoconductor, para los que no conocen mucho es el módulo que ayuda a que se imantice la hoja y se impregne el tóner en ella.

Mis máquinas de facturación son sumamente importante y tuve que sacar de combate a una lexmark E360DN que se me hacen en verdad muy buenas para la impresión en formatos media carta y preimpresos. Trabajando en SAP BO sobre RDP(remote desktop).

Tuve que comprar de emergencia una HP laserjet P1505 una pequeña pero funcional impresora de hp ( asi me la vendieron) mi sorpresa empezo que para cuando tuve que hacerla funcionar siempre es necesario instalar los drivers en mi servidor de impresión en el, valgame la rebuznancia, servidor de terminal server. Esto para que mi PC cliente, en el lugar remoto, pueda imprimir y mi servidor con su sesión de RDP pueda detectarla.

Para comenzar tuve que cambiar los drivers ya que no me imprimía, el driver tenia la version 1.0.5, creo y tuve que bajar la versión 7.0.5, con esto hice que imprimiera pero después de darme cuenta y mandar impresiones seguidas se tardaba una eternidad.

Entre sus características esta el imprimir 23 pmm (Páginas por minuto), y en lugar de eso cada 30 segundos me sacaba una, entonces estuve 2 dias intentando cambiar drivers, buscando en foros para ver si a alguien le había pasado el mismo problema, ver si algun drivers postscript o PCL me ayudaba, pero no,al contrario en mi pc de prueba ya no quizo funcionar. total que cuando estaba de cliente si sacaba inmediatamente las impresiones, pero decidí dejarla por la paz, a lo mejor después de hablar con el soporte habrá por ahí algun parche para esas impresoras, pero que curioso que tambien batalle con una HP laserjet 2300 hace tiempo, se corrigio con un driver postcript, será que HP tiene algun problema con el software de windows y sobre todo con el servicio de terminal, lexmark me ha gustado por que no he tenido problemas, pero aun así siempre dan problemas, ahora con regionalizaciones y que me cambien el firmware de algunas impresoras.

Vamos son problemas que vemos los Jefes o Gerentes o Encargados de sistemas.
Experiencia, a alguien le puede servir.

jueves, 31 de diciembre de 2009

AUMENTO IVA EN SAP B1

El incremento que se hizo al IVA para el próximo año de 11% en regiones fronterizas y de 16% en el resto del país nos hizo preguntarnos como podríamos configurar el sistema.

Nuestro partner nos envio un video de estos sencillos pasos y se los comento a continuación.

En primer lugar tenemos que abrir gestion/definiciones/finanzas/impuestos dentro del menu entraremos a clases de impuesto, tenemos que tomar en cuenta el impuesto acreditable y el impuesto por pagar, como veran el acreditable es para compras y el por pagar es por las ventas. Asi como también sus sinónimos, el cual tiene mi sistema, el IVA soportado y el IVA repercutido (vaya nombrecitos).

Nos dieron la sugerencia de meter nuevas cuentas dentro del catalógo de cuentas par que así dentro de la categoría de impuestos fiscales pudiéramos parametrizarlos.

dentro de las clases de impuesto seleccionamos el Repercutido y nos abre una ventana para agregar la tasa el código del mismo y sus cuentas, las cuentas como dije antes tienen que haber ya sido agregadas al catalogo. Cuenta de impuesto de ventas y cuentas de impuesto de compras, y esto se hace dentro de el IVA repercutido y dentro del IVA Soportado. Se da clic en actualizar.

pasamos a parametrizar los códigos fiscales, ahi ponemos el código del IVA, el cual se parametrizará en los clientes y proveedores. en la categoría fiscal seleccionamos los que ya dimos de alta anteriormente. y también validamos con una palomita si el impesto ingresado es para ventas o compras, o en su defectos ambos.

Parametrizamos el IVA dentro de gestion/definiciones/finanzas y en la pantalla de determinación de cuentas dentro de la pestaña de ventas/general el código de impuesto seleccionamos el de ventas.

Esto es por todo lo del ámbito contable.

Ahora, falta parametrizar los clientes, cada cliente tiene direccion de envió dentro de los datos maestros de socios de negocios. Cada dirección de envió parametriza un IVA de venta. Se le cambia el código fiscal, si el tipo de socio es cliente, en su defecto, al proveedor se le cambia dentro de la pantalla de datos maestros y la pestaña de finanzas en impuesto, ahi se cambia el indicador de impuesto.

Para hacer el cambio masivamente en clientes y proveedores tiene que usar la herramienta Datatransfer workbench. Lo que yo hice para no cambiar el record key por que sería laborioso, fue hacer una lista por línea de direccion de envio, así subiré varias listas por línea, y los clientes que tengan mas los cambiaré manualmente al final con un query de consulta que me diga cuales son los que quedaron sin cambiar el indicador. Los proveedores son sencillos, pero lo complicado de los clientes esta en cuantas direcciones de envio tienen.

Ahi les dejo esta pequeña reseña de lo que yo hice, espero les sirva.

domingo, 22 de noviembre de 2009

tips SAP BO

Esta semana fue demasiado movida en el trabajo, me trajeron de un lado a otro. Entre mis funciones esta el ser soporte para el uso de el sistema que administro.

Un usuario mío tuvo un problema, quería hacer órdenes de compra y éstas no dejaban modificar los precios de los artículos, este mismo usuario también tuvo problemas para poder grabar sus documentos como preliminar.

En este caso es algo chistoso pues uno va en el apartado de gestión /autorizaciones y generalmente iremos al módulo de compras, pero, la solución no se encuentra ahí.

Para esto uno tiene que ir al apartado de ventas-clientes ahi encontrará el apartado documentos preliminar tiene que darle autorización total, así como modificar total de filas.

Lo escribo por que a veces buscamos y buscamos, sobre todo en las autorizaciones, mueves y mueves y no encuentras. Espero que les sirva.

jueves, 20 de agosto de 2009

Inventarios y MRP en SAP BO

El tema del MRP se me hace interesante, esta semana y la semana pasada estuvimos viendo en la empresa como podríamos sacarle mas provecho al sistema que manejamos, SAP BO. En resumidas cuentas estuve viendo con la gerente administrativa, el área de compras e inventario la manera de hacer que el sistema nos generé información que pueda resultar de utilidad para la toma de decisiones.

MRP (Materials Requiriment Planning), en español, Planificación de Requerimientos de materiales, este módulo es importante para la previsión del inventario, la cual tomaremos en cuenta para producir y vender, esto, para mantener el stock y un buen nivel de producción.

En una empresa que se dedica a la compra-venta de mercancías, es muy indispensable mantener el stock de ciertos artículos, dado que los clientes generalmente buscan los negocios bien surtidos, baratos y de buen servicio.

Bueno la semana pasada la gerenta y yo estuvimos hablando acerca de como podría beneficiarnos el módulo, después de andar indagando como se utilizaba (pues de este módulo no me dieron capacitación suficiente) fuí capaz de medio explicarle como se utilizaba, pero por mi inexperiencia en el área de inventario y compras me trababa un poco, pero con su ayuda logré discipar ciertas dudas y bueno, esta semana que pusimos en marcha el sistema con la gente de compras todo quedo totalmente claro.

El módulo de MRP de SAP, lo estamos manejando como método para el abastecimiento de nuestros stock en momentos críticos como éste período que no se ve ni se divisa alentador en el mercado. Aparte de que nos han puesto tope para pedidos y de que éstos muchas veces no se ajustan a lo que realmente la clientela necesita. Necesitamos armas para poder abastecer los almacenes de tal manera que lo que se consuma pueda ser lo que salga.

Bueno para terminar el módulo consta de tres pasos:
1. previsiones: las previsiones son las ventas que tu crees a criterio que tendras en el horizonte de planificación.
2. Asistente de MRP. En el asistente tomas en cuenta todas tus variables: stock mínimo, pedidos u órdenes de compra, pedidos de clientes, facturas de reserva, previsiones, horizonte de planificación y stock en tus almacenes. Aparte dices que artículos vas a planificar en ese momento y si este se desplegará en grupo o artículo por artículo. Esto es tanto con producción y compras.
3. Recomendaciones de pedido. Ahi encontrarás las órdenes de compra que el sistema te esta sugiriendo pedir.

Aqui lo interesante no esta en como definir cada apartado, lo interesante es ver como funciona, jajaja, tuvimos que hacer como 5 o 6 intentos para ver los resultados que arrojaba y conforme se hacía uno saltaban y saltaban preguntas que yo sola no podía responder por mi ignorancia, no completa, pero ignorancia en ciertas procesos. Pero todo esto lo resolvimos entre la cabeza de gerenta y la encargada de compras. Y por supuesto y obviamente la mía, ejejeje :P

Pero bueno, la investigación me encanta, pero cada vez me doy cuenta que sé menos, y que el mundo solamente se conoce cuando te empiezas a preguntar, me gusta mi carrera por eso, por que apesar de ser ing. en sistemas puedes tratar cosas de administración, contabilidad, ciencia, y otras ramas mas, medicina...etc.etc.

Bueno, es todo.

martes, 11 de agosto de 2009

SP, TRANSACT SQL Y UDF AND VIEW...

Bueno, en el mundo de la bases de datos podemos encontrarnos con diversos manejadores que tienen herramientas muy buenas para ayudarnos a salir de los problemas que crea el tener tanta información en los sistemas de gestión. Los cuales no sirven de nada si no sabes realizar unos buenos reportes, además de que éstos mismos sean útiles para el fin que son creados.

Bueno empezaré por definir cada una de estas valiosas herramientas que trae SQL server 2005 dentro de ella.

STORED PROCEDURE. Este nombre se le da por ser procedimiento que se ejecuta dentro del motor de la base de datos, son muy efectivos para no sobrecargar la red cuando se ejecutan, ya que todo el resultado se envía al cliente y no sobrecarga la red con las operaciones de extracción y devolución de datos.

VIEWs: en mi definición las vistas son pequeñas tablas que se pueden generar apartir de las tablas principales de la base de datos. Éstas pueden ser utilizadas para tener reportes sin necesidad de un código extra y sin necesidad de disminuir el rendimiento del servidor al momento de ejecutarlos. Las vistas, según entendí yo, se estan actualizando continuamente con los procesos de consulta que se hacen a éstas. Pero a la par de ser ventaja esto viene tambien a disminuir también un poco al rendimiento de los procesos de update, delete, etc. de los registros. pues no solo escriben en la tabla principal, si no los datos se reflejan en las vistas.

UDF. User defined function. En español funciones definidas por el usuario, estas utilizan código de transact sql. Las funciones definidas por el usuario se crean con la instrucción CREATE FUNCTION, se modifican con la instrucción ALTER FUNCTION y se quitan con la instrucción DROP FUNCTION. Los nombres completos de las funciones definidas por el usuario (schema_name.function_name) deben ser únicos. Además de que en teoría dan mas rendimiento que las vistas.

Bueno, estos son algunos conceptos que en estos días he aprendido.

Ahorita estoy definiendo que es lo que tendré que hacer con un reporte que me arroje ventas reales por sucursal, familias de artículos y me arroje el promedio.

Ahora, el código que tengo es el siguiente:

declare @familia as varchar
set @familia=(select distinct(itmsgrpcod) from vtaxfam where itmsgrpnam='[%0]')
SELECT itemcode,sum(quantity) as 'total ventas', sum(quantity)/12 as 'total promedio'
FROM vtaxfam
WHERE itemcode IS NOT NULL and docdate>'2008/05/02' and docdate<'2009/05/31' and @familia=itmsgrpcod group BY itemcode Tengo que hacer unos joins o unas uniones para que me salgacomo quiero, pero ahi voy, trataré de entender bien como sacar esto. :) cuando lo haga lo posteo.