QUEBRANTA EXPORT S.A.C.
UAP UNIVERSIDAD ALAS PERUANAS
“AÑO DE LA UNION NACIONAL FRENTE A LA CRISIS EXTERNA” CURSO
:
PROFESOR
:
ESPECIALIDAD ALUMNO
DESARROLLO SISTEMA CONTABLES II MARIA ARMAS GARCIA :
CONTABILIDAD
:
• YULY CONDORI PEÑALOZA • ADRIANA RAMIREZ • PETER SALAZAR • ARMAS FABIAN JOSE • YANALI PINTO • CALVO SALVATIERRA JESUS • JANET PEÑA SIOLA • VANESA ROMAN Agredece:
[email protected]
2009 1
QUEBRANTA EXPORT S.A.C.
MANUAL DE PROCEDIMIENTO 1.-Introducción El presente informe muestra la elaboración del manual de procedimiento para un sistema de gestión y esto facilita al operador detectar y corregir los posibles errores que se den en la ejecución del software 2.- Objetivo: Este manual tiene la finalidad de proveer una herramienta de apoyo en cuanto al procedimiento del departamento de venta (Facturación, Almacén, Cuentas por Cobrar, Cuentas por Pagar, Liquidación de Comisiones, etc.), estos criterios permiten la evaluación de los ingresos por venta y la provisión de necesidades para una buena toma de decisiones de la gerencia. 3.- A quién se dirige: Este manual está dirigido a todas las personas especializadas en lenguaje de programación y servirá como apoyo o material de trabajo para posteriores personas encargadas del uso de dicho programa a nivel de usuario. 4.- Utilidad: Permite conocer el funcionamiento interno por lo que respecta a descripción de
tareas, ubicación, requerimientos y a los puestos responsables de su ejecución. Describen en forma detallada las actividades de cada proceso del sistema. Sirve para el análisis o revisión de los procedimientos de un sistema.
Para uniformar y controlar el cumplimiento de las rutinas de trabajo y evitar su alteración arbitraria. Determina en forma más sencilla las responsabilidades por fallas o errores. Facilita las labores de auditoria, evaluación del control interno y su evaluación. Construye una base para el análisis posterior del trabajo y el mejoramiento de los
sistemas, procedimientos y métodos. 5.- Conformación del Manuel de Procedimientos.A) Identificación: Este documento debe incorporar la siguiente información:
Logotipo de la Empresa Nombre oficial de la Empresa
2
QUEBRANTA EXPORT S.A.C.
Tipo de Sistema : Almacén Lugar y fecha de elaboración. Personas responsables de su elaboración, revisión y/o autorización. Clave de la forma al momento de ingresar al sistema.
B) Índice O Contenido: Relación de los capítulos y paginas correspondientes que forman parte del documento. C) Prologo y/o Introducción: Exposición sobre el documento o programa que se está utilizando, detallar su contenido, cual es el objeto, identificar con que áreas está relacionado y porque es importante su revisión y actualización del sistema. D) Objetivos de los Procedimientos: Explicación del propósito que se pretende cumplir con los procedimientos. Los objetivos son uniformar y controlar el cumplimiento de las rutinas de trabajo y evitar su alteración arbitraria; simplificar la responsabilidad por fallas o errores del sistema. E) Concepto: Palabras o términos de carácter técnico que se emplean en el procedimiento, las cuales, por su significado o grado de especialización requieren de mayor información o ampliación de su significado, para hacer más accesible al programador al momento de consultar el sistema. F) procedimiento (descripción de las operaciones):Presentación por escrito, en forma narrativa y secuencial, de cada una de las operaciones que se realizan en un procedimiento, asimismo explicando en qué consisten, cuándo, cómo, dónde, con qué, y cuánto tiempo se hacen, señalando los responsables de llevarlas a cabo. G) Diagramas De Flujo. Representación gráfica de la sucesión en que se realizan las operaciones mediante un diagrama de procedimiento, en donde se muestran las unidades operativa (procedimiento general), o los puestos que intervienen (procedimiento detallado), en cada operación descrita. Los diagramas representados en forma sencilla y accesible en el manual de procedimientos, brinda una descripción clara de las operaciones, lo que facilita su comprensión al operador a la hora de detecta errores en el sistema. H) Glosario de Términos. Lista de conceptos de carácter técnico relacionados con el contenido y técnicas de elaboración de los manuales de procedimientos, que sirven de apoyo para su uso o consulta I) Diseño del Proyecto: El manuales de procedimientos requiere de mucha precisión, toda vez que los datos tienen que asentarse con la mayor exactitud posible para no generar errores en la interpretación del sistema por parte de quien los consulta. Es por ello que se 3
QUEBRANTA EXPORT S.A.C. debe poner mucha atención en todas y cada una de sus etapas de integración, delineando un proyecto en el que se consiguen todos los requerimientos, fases y procedimientos que fundamentan la ejecución del trabajo.
G) ANÁLISIS DE LA INFORMACIÒN En esta etapa se debe realizar un estudio o examen crítico de cada uno de los elementos de información o grupos de datos que se integraron con el propósito de conocer su naturaleza, características y comportamiento, sin perder de vista su relación, interdependencia o interacción interna y con el ambiente, para obtener un diagnóstico que refleje la realidad operativa. Esta mecánica de estudio puede seguir la siguiente secuencia: • • • • • • •
Conocer Describir Descomponer Examinar criticamente Ordenar cada elemento Definir las relaciones Identificar y explicar su comportamiento
Un enfoque muy eficaz en el momento del análisis de los datos consiste en adoptar una actitud interrogativa y formular de manera sistemática seis cuestionarios fundamentales: • • • • • •
¿Qué trabajo se hace? ¿Para qué se hace? ¿Quién lo hace? ¿Cómo se hace? ¿Con qué se hace? ¿Cuándo se hace?
4
QUEBRANTA EXPORT S.A.C.
DIAGRAMA FUNCIONAL DE SISTEMA DE ALMACEN (Sistema de Gestión de Almacén)
LIQUIDACION
IMPRIMIR
ACCES O
CUENTAS POR
VENDEDORES
CLIENTES
ARCHIV O
PAGAR ALMACEN “A”
GUIA Y FACTURA ANULADA
ALMACEN “B” ALMACEN “C” CUENTAS INGRESO PRODUCTOS REGISTRO
EMISION
X
GUIAS FACTU-
CHOFERES
MERCADERIA
COBRANZA
EN ALMACEN GUIAS X GENERAR ORDEN DE
PROVEEDORES
FACTURAR NOTAS DE CREDITO
IMPRIMIR
> 400.00 DETRACCION PAGO DE DETRACCIONES
5
QUEBRANTA EXPORT S.A.C.
6
QUEBRANTA EXPORT S.A.C.
QUEBRANTA EXPORT S.A.C. Sistema de Gestión de Almacén
7
QUEBRANTA EXPORT S.A.C.
PROCEDIMIENTO LOGICO PARA IMPLEMENTAR UN SISTEMA DE ALMACEN (ENTRADA – PROCESO –SALIDA DE DATOS) 1. IMPLEMENTACION DE LA BASE DE DATOS: Determinar las tablas q van a componer la base de datos del sistema de almacén. Clientes, Proveedores, Compras, Ventas, Kardex, Caja, Saldos, Conductores, Vehículos, Línea de producto, comisiones., etc.
2. CREACIÒN DE FORMULARIOS Y CODIFICACION DE LOS MISMOS.
Los Archivos del sistema están ubicados en la unidad D, dentro de la carpeta CONTABLE, ahí se ubicará elarchivo ejecutable llamado almacén, a partir de este archivo crear un acceso directo en el escritorio.
8
QUEBRANTA EXPORT S.A.C.
Realizar doble clic en el icono, el sistema mostrará una ventana de acceso en donde debe elegir en la pestaña de Usuario: OPERADOR y en el ítem de Passwoard digitar ADM, luego pulsar la tecla enter y/o hacer clic en el icono visto.
Codificación: (ACEPTAR) CODIFICACIÒN: SET DEFA TO \contable Set Exact On sele datos xusuario=alltr(thisform.combo1.value) XTC=THISFORM.txtpassword.VALUE loca for alltr(usuario)=alltr(thisform.combo1.value) .and. alltr(thisform.txtpassword.value)=alltr(clave) .AND. LEN(alltr(thisform.txtpassword.value))>0 If Found() IF alltr(NIVEL)="1" DO \contable\MENU5.MPR THISFORM.HIDE
9
QUEBRANTA EXPORT S.A.C. = acTiv_term(' Acceso Principal del sistema...') FOR gnCount = 1 TO 100 =UPDT_TERM(gnCount) SET COLOR TO RGB(255,0,0,192,192,192) @ 0.400, 30 SAY (gnCount) PICT "999" + "%" INKEY(0.01) ENDFOR INKEY(1) =DEACT_TERM() ********** Wait"Cargando Sistema, Espere Por Favor..." Wind NoWa Sw = 1 thisForm.Release do form \contable\acer.scx else if alltr(NIVEL)="2" DO \contable\MENu5.MPR THISFORM.HIDE endif = acTiv_term(' Acceso Principal del sistema...') FOR gnCount = 1 TO 100 =UPDT_TERM(gnCount) SET COLOR TO RGB(255,0,0,192,192,192) @ 0.400, 30 SAY (gnCount) PICT "999" + "%" INKEY(0.01) ENDFOR
10
QUEBRANTA EXPORT S.A.C. INKEY(1) =DEACT_TERM() ********** Wait"Cargando Sistema, Espere Por Favor..." Wind NoWa Sw = 1 thisForm.Release do form \contable\acer.scx endif THISFORM.HIDE else =MessageBox("No Existe el Usuario ó La Contreseña es Incorrecta",0+48,"Error de Dato") ThisForm.TxtPassWord.SetFocus N=N+1 If N = 3 =MessageBox("Se Agotaron los Intentos, y Se Finalizara...",0+48,"Ingreso Denegado") quit Endif Endif
(SALIR)
CODIFICACIÒN: ThisForm.Release CLOSE DATABASE
11
QUEBRANTA EXPORT S.A.C. CLEAR EVENTS close all QUIT El sistema muestra le pantalla principal del sistema.
DISEÑO DE MENUS:
12
QUEBRANTA EXPORT S.A.C.
Menú principal del sistema: Opciones principales del sistema
Barra de herramientas: Son iconos más inmediatos para poder acceder a las ventanas de aplicación.
Sub-menús del Sistema: Son sub opciones de aplicación, cada una de ellos tiene diferentes tipos de usos. Módulo de Mantenimiento: Modificación de datos.
13
QUEBRANTA EXPORT S.A.C.
Módulo de Almacén: Control de ingreso y salida de datos.
Módulo Contable: Realiza movimientos referente a caja.
Módulo de Consultas: Muestra la información por pantalla.
14
QUEBRANTA EXPORT S.A.C.
Módulo de Reportes: Muestra por pantalla oy/o impresora los diferentes consultas realizadas.
Módulo de Utilitarios: Permite realizar seguridad de la base de datos del sistema.
: Opción para salir del Sistema IMPLEMENTACION DE FORMULARIOS:
15
QUEBRANTA EXPORT S.A.C. Actualización de Stock de Productos:
(CODIFICACION) THISFORM.TEXT1.VALUE="" THISFORM.TEXT4.VALUE=000.00 THISFORM.TEXT2.VALUE=DATE() THISFORM.TEXT3.VALUE=0.00 THISFORM.COMBO5.VALUE="" THISFORM.COMBO6.VALUE="" THISFORM.TEXT6.VALUE="" THISFORM.TEXT13.VALUE="" THISFORM.COMBO1.VALUE=""
16
QUEBRANTA EXPORT S.A.C. THISFORM.COMBO2.VALUE="" THISFORM.COMBO3.VALUE="" THISFORM.COMBO4.VALUE="" THISFORM.combo1.SETFOCUS THISFORM.TEXT7.VALUE=""
(CODIFICACION) SELE ARTICULO1 SET ORDER TO CODIGO locate for alltrim(codigo)==alltrim(thisform.text1.value) if found() REPLACE CODIGO WITH THISFORM.TEXT1.VALUE REPLACE ARTICULO WITH THISFORM.COMBO4.VALUE REPLACE stoc WITH stoc+THISFORM.TEXT4.VALUE REPLACE FECHA WITH THISFORM.TEXT2.VALUE REPLA COD WITH THISFORM.TEXT13.VALUE REPLA COSTO WITH THISFORM.TEXT3.VALUE REPLACE LINEA WITH THISFORM.COMBO1.VALUE REPLACE ESTADO WITH THISFORM.COMBO3.VALUE REPLACE MEDIDA WITH THISFORM.COMBO2.VALUE REPLACE UVA WITH THISFORM.COMBO5.VALUE REPLACE DES WITH THISFORM.COMBO6.VALUE REPLACE DESCRIP WITH THISFORM.TEXT6.VALUE else sele articulo1
17
QUEBRANTA EXPORT S.A.C. append blank REPLACE CODIGO WITH THISFORM.TEXT1.VALUE REPLACE ARTICULO WITH THISFORM.COMBO4.VALUE REPLACE stoc WITH THISFORM.TEXT4.VALUE REPLACE FECHA WITH THISFORM.TEXT2.VALUE REPLA COD WITH THISFORM.TEXT13.VALUE REPLA COSTO WITH THISFORM.TEXT3.VALUE REPLACE LINEA WITH THISFORM.COMBO1.VALUE REPLACE ESTADO WITH THISFORM.COMBO3.VALUE REPLACE MEDIDA WITH THISFORM.COMBO2.VALUE REPLACE UVA WITH THISFORM.COMBO5.VALUE REPLACE DES WITH THISFORM.COMBO6.VALUE REPLACE DESCRIP WITH THISFORM.TEXT6.VALUE endif =MESSAGEBOX("REGISTRO GRABADO....")
(CODIFICACION) select ARTICULO1 cMessageTitle = 'Mensaje...' cMessageText = '¿Esta seguro de Eliminar...?' nDialogType = 4 + 32 + 256
nAnswer = MESSAGEBOX(cMessageText, nDialogType, cMessageTitle)
DO CASE
18
QUEBRANTA EXPORT S.A.C. CASE nAnswer = 6 DELE THISFORM.COMMAND2.CLICK
ENDCASE
(CODIFICACION) THISFORM.RELEASE Mantenimiento de Artículos: Ingreso de productos por línea.
Codificación: Grabar: SELE linea append blank 19
QUEBRANTA EXPORT S.A.C. repla codigo with thisform.text1.value repla descrip with thisform.text2.value =MESSAGEBOX("REGISTRO GRABADO....") THISFORM.GRDLINEA.REFRESH Nuevo: THISFORM.TEXT1.VALUE="" THISFORM.TEXT2.VALUE="" THISFORM.TEXT1.SETFOCUS Eliminar: select linea cMessageTitle = 'Mensaje...' cMessageText = '¿Esta seguro de Eliminar...?' nDialogType = 4 + 32 + 256 * 4 = Botones Sí y No * 32 = Icono del signo de interrogación * 256 = El segundo botón es el predeterminado nAnswer = MESSAGEBOX(cMessageText, nDialogType, cMessageTitle) DO CASE CASE nAnswer = 6 DELE THISFORM.COMMAND2.CLICK *
thisformset.release
ENDCASE Salir: THISFORM.RELEASE
20
QUEBRANTA EXPORT S.A.C. Ingreso de precio por producto para cada cliente:
Codificación: Nuevo: *THISFORM.TEXT9.VALUE=RIGH("00000"+ALLTR(STR(CONSTA.CODIGO)),5) THISFORM.TEXT1.VALUE="" THISFORM.TEXT4.VALUE="" THISFORM.TEXT2.VALUE=DATE() THISFORM.TEXT3.VALUE=0.00 THISFORM.COMBO5.VALUE="" THISFORM.COMBO6.VALUE="" *THISFORM.TEXT8.VALUE=0 THISFORM.TEXT13.VALUE="" THISFORM.COMBO1.VALUE="" THISFORM.COMBO2.VALUE="" THISFORM.COMBO3.VALUE="" THISFORM.COMBO4.VALUE="" THISFORM.text6.VALUE="" THISFORM.text7.VALUE="" 21
QUEBRANTA EXPORT S.A.C. THISFORM.combo1.SETFOCUS Grabar: SELE ARTICULO SET ORDER TO CODIGO locate for alltrim(codigo)==alltrim(thisform.text1.value) if found() REPLACE CODIGO WITH THISFORM.TEXT1.VALUE REPLACE ARTICULO WITH THISFORM.COMBO4.VALUE REPLACE P_COMPRA WITH THISFORM.TEXT4.VALUE REPLACE FECHA WITH THISFORM.TEXT2.VALUE REPLA COD WITH THISFORM.TEXT13.VALUE REPLA COSTO WITH THISFORM.TEXT3.VALUE REPLACE LINEA WITH THISFORM.COMBO1.VALUE REPLACE ESTADO WITH THISFORM.COMBO3.VALUE REPLACE MEDIDA WITH THISFORM.COMBO2.VALUE REPLACE UVA WITH THISFORM.COMBO5.VALUE REPLACE DES WITH THISFORM.COMBO6.VALUE REPLACE DESCRIP WITH THISFORM.TEXT6.VALUE else sele articulo append blank REPLACE CODIGO WITH THISFORM.TEXT1.VALUE REPLACE ARTICULO WITH THISFORM.COMBO4.VALUE REPLACE P_COMPRA WITH THISFORM.TEXT4.VALUE REPLACE FECHA WITH THISFORM.TEXT2.VALUE REPLA COD WITH THISFORM.TEXT13.VALUE REPLA COSTO WITH THISFORM.TEXT3.VALUE REPLACE LINEA WITH THISFORM.COMBO1.VALUE
22
QUEBRANTA EXPORT S.A.C. REPLACE ESTADO WITH THISFORM.COMBO3.VALUE REPLACE MEDIDA WITH THISFORM.COMBO2.VALUE REPLACE UVA WITH THISFORM.COMBO5.VALUE REPLACE DES WITH THISFORM.COMBO6.VALUE REPLACE DESCRIP WITH THISFORM.TEXT6.VALUE endif =MESSAGEBOX("REGISTRO GRABADO....")
Eliminar: select ARTICULO cMessageTitle = 'Mensaje...' cMessageText = '¿Esta seguro de Eliminar...?' nDialogType = 4 + 32 + 256 * 4 = Botones Sí y No * 32 = Icono del signo de interrogación * 256 = El segundo botón es el predeterminado
nAnswer = MESSAGEBOX(cMessageText, nDialogType, cMessageTitle)
DO CASE CASE nAnswer = 6 DELE THISFORM.COMMAND2.CLICK *
thisformset.release
ENDCASE Salir: THISFORMset.RELEASE
23
QUEBRANTA EXPORT S.A.C. Módulo de Proveedores: Permite el ingreso y modifica la base de datos de los proveedores.
Grabar
Nuevo
Modificar
Codificación: Grabar: SELE PROVE LOCA FOR ALLTR(CODIGO)=ALLTR(THISFORM.TEXT1.VALUE) IF !FOUND() SELE CONSTA REPLACE COD_PROV WITH COD_PROV+1 SELE PROVE APPE BLANK ENDIF SELE PROVE APPE BLANK
24
Salir
QUEBRANTA EXPORT S.A.C. REPLACE CODIGO WITH THISFORM.TEXT1.VALUE REPLACE RUC_DNI WITH THISFORM.TEXT2.VALUE REPLACE NOMBRE WITH THISFORM.TEXT3.VALUE REPLACE TELEFONO WITH THISFORM.TEXT4.VALUE REPLACE DIRECCION WITH THISFORM.TEXT5.VALUE REPLACE LUGAR WITH THISFORM.TEXT6.VALUE REPLACE CONTACTO WITH THISFORM.TEXT7.VALUE REPLACE E_MAIL WITH THISFORM.TEXT8.VALUE REPLACE OBS WITH THISFORM.TEXT9.VALUE
THISFORM.GRID1.SETFOCUS THISFORM.GRID1.REFRESH
=MESSAGEBOX("REGISTRO GRABADO...") Nuevo: SELE CONSTA THISFORM.TEXT1.VALUE=RIGH("000"+ALLTR(STR(COD_PROV)),3) THISFORM.TEXT2.VALUE="" THISFORM.TEXT3.VALUE="" THISFORM.TEXT4.VALUE="" THISFORM.TEXT5.VALUE="" THISFORM.TEXT6.VALUE="" THISFORM.TEXT7.VALUE="" THISFORM.TEXT8.VALUE="" THISFORM.TEXT9.VALUE="" THISFORM.TEXT2.SETFOCUS Eliminar: select PROVE
25
QUEBRANTA EXPORT S.A.C. cMessageTitle = 'Mensaje...' cMessageText = '¿Esta seguro de Eliminar...?' nDialogType = 4 + 32 + 256 * 4 = Botones Sí y No * 32 = Icono del signo de interrogación * 256 = El segundo botón es el predeterminado
nAnswer = MESSAGEBOX(cMessageText, nDialogType, cMessageTitle)
DO CASE CASE nAnswer = 6 DELE *
thisformset.release
ENDCASE THISFORM.GRID1.SETFOCUS THISFORM.GRID1.REFRESH Salir: THISFORM.RELEASE
Módulo de Clientes: Registra y modifica los datos de los clientes
26
QUEBRANTA EXPORT S.A.C.
Codificación: Grabar: SELE CLIENTE LOCA FOR ALLTR(CODIGO)=ALLTR(THISFORM.TEXT1.VALUE) IF !FOUND() SELE CONSTA REPLACE COD_CLI WITH COD_CLI+1 SELE CLIENTE APPE BLANK ENDIF SELE CLIENTE APPE BLANK REPLACE CODIGO WITH THISFORM.TEXT1.VALUE REPLACE RUC_DNI WITH THISFORM.TEXT2.VALUE REPLACE NOMBRE WITH THISFORM.TEXT3.VALUE REPLACE TELEFONO WITH THISFORM.TEXT4.VALUE
27
QUEBRANTA EXPORT S.A.C. REPLACE DIRECCION WITH THISFORM.TEXT5.VALUE REPLACE LUGAR WITH THISFORM.TEXT6.VALUE REPLACE CONTACTO WITH THISFORM.TEXT7.VALUE REPLACE E_MAIL WITH THISFORM.TEXT8.VALUE REPLACE OBS WITH THISFORM.TEXT9.VALUE REPLACE DIRECCION2 WITH THISFORM.TEXT11.VALUE REPLACE DIRECCION3 WITH THISFORM.TEXT12.VALUE THISFORM.GRID1.SETFOCUS THISFORM.GRID1.REFRESH
=MESSAGEBOX("REGISTRO GRABADO...") Nuevo: SELE CONSTA THISFORM.TEXT1.VALUE=RIGH("000"+ALLTR(STR(COD_CLI)),3)
THISFORM.TEXT2.VALUE="" THISFORM.TEXT3.VALUE="" THISFORM.TEXT4.VALUE="" THISFORM.TEXT5.VALUE="" THISFORM.TEXT6.VALUE="" THISFORM.TEXT7.VALUE="" THISFORM.TEXT8.VALUE="" THISFORM.TEXT9.VALUE="" THISFORM.TEXT11.VALUE="" THISFORM.TEXT12.VALUE="" THISFORM.TEXT2.SETFOCUS Eliminar: select CLIENTE
28
QUEBRANTA EXPORT S.A.C. cMessageTitle = 'Mensaje...' cMessageText = '¿Esta seguro de Eliminar...?' nDialogType = 4 + 32 + 256 * 4 = Botones Sí y No * 32 = Icono del signo de interrogación * 256 = El segundo botón es el predeterminado
nAnswer = MESSAGEBOX(cMessageText, nDialogType, cMessageTitle)
DO CASE CASE nAnswer = 6 DELE *
thisformset.release
ENDCASE THISFORM.GRID1.SETFOCUS THISFORM.GRID1.REFRESH Salir: THISFORM.RELEASE
Módulo de Vendedor: Registra y modifica los datos del vendedor.
29
QUEBRANTA EXPORT S.A.C.
Codificación: Grabar: SELE vendedor APPE BLANK REPLACE DNI WITH THISFORM.TEXT2.VALUE REPLACE NOMBRE WITH THISFORM.TEXT3.VALUE REPLACE TELEFONO WITH THISFORM.TEXT4.VALUE REPLACE DIRECCION WITH THISFORM.TEXT5.VALUE REPLACE LUGAR WITH THISFORM.TEXT6.VALUE REPLACE E_MAIL WITH THISFORM.TEXT8.VALUE
THISFORM.GRID1.SETFOCUS THISFORM.GRID1.REFRESH
=MESSAGEBOX("REGISTRO GRABADO...") Nuevo: THISFORM.TEXT2.VALUE=""
30
QUEBRANTA EXPORT S.A.C. THISFORM.TEXT3.VALUE="" THISFORM.TEXT4.VALUE="" THISFORM.TEXT5.VALUE="" THISFORM.TEXT6.VALUE=""
THISFORM.TEXT2.SETFOCUS Salir: RELEASE .THISFORM Eliminar: select vendedor cMessageTitle = 'Mensaje...' cMessageText = '¿Esta seguro de Eliminar...?' nDialogType = 4 + 32 + 256 * 4 = Botones Sí y No * 32 = Icono del signo de interrogación * 256 = El segundo botón es el predeterminado
nAnswer = MESSAGEBOX(cMessageText, nDialogType, cMessageTitle)
DO CASE CASE nAnswer = 6 DELE *
thisformset.release
ENDCASE THISFORM.GRID1.SETFOCUS THISFORM.GRID1.REFRESH
31
QUEBRANTA EXPORT S.A.C. Módulo de transportes: registra y modifica los datos de la empresa transportista de mercancías.
Codificación: Grabar: SELE EMPRESA LOCA FOR ALLTR(RUC)=ALLTR(THISFORM.TEXT1.VALUE) IF !FOUND() APPE BLANK ENDIF REPLACE RUC WITH THISFORM.TEXT1.VALUE REPLACE NOMBRE WITH THISFORM.TEXT2.VALUE REPLACE CODIGO WITH (THISFORM.TEXT5.VALUE) REPLACE DIRE WITH THISFORM.TEXT3.VALUE REPLACE TELEFONO WITH THISFORM.TEXT4.VALUE THISFORM.GRID1.SETFOCUS THISFORM.GRID1.REFRESH Nuevo: public n
32
QUEBRANTA EXPORT S.A.C. sele EMPRESA go bottom n=(EMPRESA.CODIGO) n=n+1 thisform.text5.value=n THISFORM.TEXT1.VALUE="" THISFORM.TEXT2.VALUE="" THISFORM.TEXT4.VALUE="" THISFORM.TEXT3.VALUE="" THISFORM.TEXT1.SETFOCUS Eliminar: select EMPRESA cMessageTitle = 'Mensaje...' cMessageText = '¿Esta seguro de Eliminar...?' nDialogType = 4 + 32 + 256 * 4 = Botones Sí y No * 32 = Icono del signo de interrogación * 256 = El segundo botón es el predeterminado
nAnswer = MESSAGEBOX(cMessageText, nDialogType, cMessageTitle)
DO CASE CASE nAnswer = 6 DELE *
thisformset.release
ENDCASE THISFORM.GRID1.SETFOCUS THISFORM.GRID1.REFRESH
33
QUEBRANTA EXPORT S.A.C. Salir: THISFORMset.RELEASE Módulo de Vehículos: Registra y modifica los datos del vehículo del transportista.
Codificación: Grabar: SELE MAQUINA LOCA FOR ALLTR(PLACA)=ALLTR(THISFORM.TEXT1.VALUE) IF !FOUND() APPE BLANK ENDIF REPLACE PLACA WITH THISFORM.TEXT1.VALUE REPLACE MARCA WITH THISFORM.TEXT2.VALUE REPLACE COLOR WITH THISFORM.TEXT3.VALUE replace constancia with thisform.text5.value replace configura with thisform.text6.value REPLACE REGISTRO WITH THISFORM.TEXT4.VALUE REPLACE CARGA WITH THISFORM.TEXT7.VALUE
34
QUEBRANTA EXPORT S.A.C. REPLACE CODIGO WITH (THISFORM.TEXT9.VALUE) REPLACE REG WITH (THISFORM.TEXT10.VALUE) THISFORM.GRID1.SETFOCUS THISFORM.GRID1.REFRESH Nuevo: THISFORM.TEXT1.VALUE="" THISFORM.TEXT2.VALUE="" THISFORM.TEXT3.VALUE="" THISFORM.TEXT5.VALUE="" THISFORM.TEXT6.VALUE="" THISFORM.TEXT7.VALUE="" THISFORM.TEXT10.VALUE="" THISFORM.TEXT4.VALUE=""
THISFORM.TEXT1.SETFOCUS Eliminar: select MAQUINA cMessageTitle = 'Mensaje...' cMessageText = '¿Esta seguro de Eliminar...?' nDialogType = 4 + 32 + 256 * 4 = Botones Sí y No * 32 = Icono del signo de interrogación * 256 = El segundo botón es el predeterminado
nAnswer = MESSAGEBOX(cMessageText, nDialogType, cMessageTitle)
DO CASE CASE nAnswer = 6
35
QUEBRANTA EXPORT S.A.C. DELE *
thisformset.release
ENDCASE THISFORM.GRID1.SETFOCUS THISFORM.GRID1.REFRESH Salir: Release.thisform
Módulo de Conductores: Registra y modifica los datos del conductor del transportista.
Codificación: Grabar: SELE CHOFER LOCA FOR ALLTR(LICENCIA)=ALLTR(THISFORM.TEXT3.VALUE) IF !FOUND() APPE BLANK ENDIF
36
QUEBRANTA EXPORT S.A.C. REPLACE DNI WITH THISFORM.TEXT1.VALUE REPLACE NOMBRE WITH THISFORM.TEXT2.VALUE REPLACE LICENCIA WITH THISFORM.TEXT3.VALUE replace DIRECCION with thisform.text5.value replace TELEFONO with thisform.text6.value replace CODIGO with (thisform.text7.value) THISFORM.GRID1.SETFOCUS THISFORM.GRID1.REFRESH Nuevo: THISFORM.TEXT1.VALUE="" THISFORM.TEXT2.VALUE="" THISFORM.TEXT3.VALUE="" THISFORM.TEXT5.VALUE="" THISFORM.TEXT6.VALUE="" THISFORM.TEXT1.SETFOCUS Elimina: select CHOFER cMessageTitle = 'Mensaje...' cMessageText = '¿Esta seguro de Eliminar...?' nDialogType = 4 + 32 + 256 * 4 = Botones Sí y No * 32 = Icono del signo de interrogación * 256 = El segundo botón es el predeterminado
nAnswer = MESSAGEBOX(cMessageText, nDialogType, cMessageTitle)
DO CASE CASE nAnswer = 6
37
QUEBRANTA EXPORT S.A.C. DELE *
thisformset.release
ENDCASE THISFORMSET.FORM2.GRID1.SETFOCUS THISFORMSET.FORM2.GRID1.REFRESH Salir: Realease.thisform Módulo de Emisión de Guía de Transportista:
En este módulo rellenar datos de acuerdo a lo que corresponde los casilleros, luego en el ítem del RUC: digitar el ruc del cliente para que el sistema muestre los precios de los productos y elegir el producto a facturar. Verificar todos los datos que sean correctos y Grabar la información e imprimir la guía correspondiente. Codificación: Nuevo: thisform.combo1.value="" thisform.text1.value=date()
38
QUEBRANTA EXPORT S.A.C. thisform.text2.value="" thisform.text3.value="" thisform.text4.value="" thisform.text22.value="" thisform.text12.value="" thisform.text25.value="" thisform.text26.value="" thisform.text5.value=0 THISFORM.COMBO5.VALUE="LIMA" thisform.combo2.value="Guía" thisform.text7.value="" thisform.combo3.value="Soles" thisform.text15.value="" thisform.text23.value="" *thisform.combo4.value="" thisform.text6.value=0 thisform.text16.value=0.00 thisform.text8.value=0 thisform.text9.value=0 THISFORM.COMBO6.VALUE="CONTADO" THISFORM.COMBO7.VALUE="" THISFORM.COMBO4.VALUE="VENTA" THISFORM.COMBO9.VALUE="Vidrio" THISFORM.text17.VALUE="" THISFORM.text18.VALUE="" THISFORM.text19.VALUE="" thisform.text12.value="Cal. Mama Ocllu 1983 - Lince - Lima" THISFORM.text20.VALUE=""
39
QUEBRANTA EXPORT S.A.C. THISFORM.text21.VALUE="" THISFORM.text10.VALUE="" THISFORM.text24.VALUE=0.00 thisform.text30.value=0.00 thisform.text31.value=0.00 thisform.text32.value=0.00 select tempo_V dele all thisform.grid1.refresh thisform.command3.enabled=.t. select articulo set order to articulo *thisform.text2.setfocus sele prove set filter to SELE CLIENTE go top SET FILTER TO Grabar: cMessageTitle = 'Ventas.....' cMessageText = '¿Esta seguro de Grabar.. ?' nDialogType = 4 + 32 + 256 * 4 = Botones Sí y No * 32 = Icono del signo de interrogación * 256 = El segundo botón es el predeterminado nAnswer = MESSAGEBOX(cMessageText, nDialogType, cMessageTitle) select VENTAS go top
40
QUEBRANTA EXPORT S.A.C. loca for ALLTR(RUC)=ALLTR(THISFORM.TEXT3.VALUE) .AND. alltr(documento)=alltr(thisform.combo2.value) .and. alltr(numero)==alltr(thisform.text7.value) if found() =MESSAGEBOX("YA EXISTE...") RETURN ENDIF tipo_c=thisform.text5.value set exact on DO CASE CASE nAnswer = 6 IF LEN(ALLTR(THISFORM.TEXT3.VALUE))=0 IF ALLTR(THISFORM.COMBO2.VALUE)="FACTURA" =MESSAGEBOX("INGRESE RUC....") ELSE IF ALLTR(THISFORM.COMBO2.VALUE)="BOLETA" =MESSAGEBOX("INGRESE D.N.I.....") THISFORM.LABEL4.CAPTION="DNI:" ENDIF ENDIF RETURN ENDIF IF LEN(ALLTR(THISFORM.COMBO2.VALUE))=0 =MESSAGEBOX("SELECCIONE EL DOCUMENTO....") RETURN ENDIF IF LEN(ALLTR(THISFORM.TEXT7.VALUE))=0 =MESSAGEBOX("INGRESE EL NUMERO DEL DOCUMENTO....")
41
QUEBRANTA EXPORT S.A.C. RETURN ENDIF IF LEN(ALLTR(THISFORM.COMBO3.VALUE))=0 =MESSAGEBOX("SELECCIONE LA MONEDA....") RETURN ENDIF IF LEN(ALLTR(THISFORM.COMBO6.VALUE))=0 =MESSAGEBOX("SELECCIONE CONDICION....") RETURN ENDIF *IF THISFORM.TEXT9.VALUE=0 *
=MESSAGEBOX("TOTALIZAR POR FAVOR....")
*
RETURN
*ENDIF select ventas appen blank replace fecha with thisform.text1.value replace ruc with thisform.text3.value replace proveedor with thisform.text2.value replace documento with thisform.combo2.value replace numero with thisform.text7.value replace moneda with thisform.combo3.value replace tip_cambio with thisform.text5.value replace direccion with thisform.text4.value replace tpbruto with thisform.text6.value replace ttara with thisform.text8.value replace tneto with thisform.text9.value replace humedad with thisform.text30.value
42
QUEBRANTA EXPORT S.A.C. replace por with thisform.text31.value replace isc with thisform.text32.value replace tsacos with thisform.text24.value replace dire1 with thisform.text25.value replace ruc1 with thisform.text26.value replace lic with thisform.text29.value replace f_tras with thisform.text28.value replace salida with thisform.text12.value REPLACE CONDICION WITH THISFORM.COMBO6.VALUE repla factura with thisform.text22.value repla transportista with thisform.text20.value repla chofer with thisform.text19.value repla placa with thisform.text17.value repla registro with thisform.text18.value repla destino with thisform.combo5.value repla condi with thisform.text15.value repla obs1 with thisform.text23.value repla VENTA with thisform.COMBO4.value REPLACE ALMACEN WITH "QUILLABAMBA" REPLACE VENDEDOR WITH THISFORM.COMBO7.VALUE * REPLACE PEDIDO WITH THISFORM.TEXT14.VALUE * * * * *
if alltr(moneda)="Soles" replace tot_soles with total else replace tot_soles with total*tip_cambio endif select tempo_V go top
43
QUEBRANTA EXPORT S.A.C. do while !eof() select kardex appe blank replace pre_dolar with thisform.text5.value replace op with "V" * REPLACE CIUDADES WITH THISFORM.COMBO5.VALUE REPLACE ALMACEN WITH THISFORM.COMBO5.VALUE replace fecha with thisform.text1.value replace ruc with thisform.text3.value replace pro_cli with thisform.text2.value replace documento with thisform.combo2.value replace numero with thisform.text7.value replace moneda with thisform.combo3.value replace dire1 with thisform.text12.value replace ruc1 with thisform.text26.value replace lic with thisform.text29.value replace f_tras with thisform.text28.value replace codigo with tempo_v.codigo replace articulo with tempo_v.articulo replace sacos with tempo_v.sacos replace pesob with tempo_v.pesob replace PNETO with tempo_v.pneto replace TARA with tempo_v.tara replace POR with tempo_v.POR replace isc with tempo_v.isc replace humedad with tempo_v.humedad REPLACE OBS WITH THISFORM.TEXT23.VALUE
44
QUEBRANTA EXPORT S.A.C. repla VENTA with thisform.COMBO4.value REPLACE T_CAMBIO WITH THISFORM.TEXT5.VALUE REPLACE CONDICION WITH THISFORM.COMBO6.VALUE REPLACE salida WITH THISFORM.TEXT12.VALUE replace tneto with thisform.text9.value repla f_vto with THISFORM.TEXT1.VALUE repla direccion with thisform.text4.value repla tpbruto with thisform.text6.value repla ttara with thisform.text8.value repla tneto with thisform.text9.value repla tsacos with thisform.text24.value repla dire1 with thisform.text25.value repla factura with thisform.text22.value repla transporti with thisform.text20.value repla chofer with thisform.text19.value repla destino with thisform.combo5.value repla obs with thisform.text23.value repla vendedor with THISFORM.COMBO7.VALUE *
repla pedido with
THISFORM.TEXT14.VALUE REPLACE VENDEDOR WITH THISFORM.COMBO7.VALUE select articulo1 set order to codigo seek tempo_V.codigo if found() replace stoc with stoc - tempo_v.sacos *
replace pesob with pesob - tempo_V.pesob
45
QUEBRANTA EXPORT S.A.C. * replace tara with tara - tempo_V.tara endif select tempo_V skip enddo thisform.command3.enabled=.T. ENDCASE SELE CLIENTE go top SET FILTER TO Imprime: PUBLIC xfecha,xf_traslado,xcliente,xruc,xp_llegada,xcomprobante,xp_salida,xnombre; xdire,xruc1,xlic,xguia,xplaca,xcarreta Xguia=THISFORM.TEXT7.VALUE Xfecha=THISFORM.text1.VALUE XF_traslado=THISFORM.text28.VALUE Xcliente=THISFORM.TEXT2.VALUE xruc=THISFORM.TEXT3.VALUE Xp_llegada=THISFORM.TEXT4.VALUE Xcomprobante=THISFORM.TEXT22.VALUE Xp_salida=THISFORM.TEXT12.VALUE xnombre=THISFORM.TEXT20.VALUE xdire=THISFORM.TEXT25.VALUE xruc1=THISFORM.TEXT26.VALUE xlic=THISFORM.TEXT29.VALUE xplaca=THISFORM.TEXT17.VALUE xca=THISFORM.TEXT18.VALUE
46
QUEBRANTA EXPORT S.A.C. SELECT TEMPO_v GO TOP REPORT FORM guia PREV Salir: thisformset.release Examina: SELE TEMPO_V DELE ALL select VENTAS SET ORDER TO ORDEN brow &&noedit thisform.text14.value=pedido thisform.text1.value=fecha thisform.text3.value=ruc thisform.text2.value=proveedor thisform.combo2.value=documento thisform.text7.value=numero thisform.combo3.value=moneda thisform.text5.value=tip_cambio thisform.text4.value=direccion thisform.text6.value=subtotal thisform.text8.value=igv thisform.text9.value=total THISFORM.COMBO5.VALUE=ALMACEN THISFORM.COMBO6.VALUE=CONDICION *
THISFORM.COMBO4.VALUE=TARJETA THISFORM.TEXT13.VALUE=COD_TAR THISFORM.COMBO7.VALUE=VENDEDOR
47
QUEBRANTA EXPORT S.A.C. THISFORM.TEXT12.VALUE=GUIA select kardex set filter to alltr(documento)=alltr(thisform.combo2.value) .and. alltr(numero)=alltr(thisform.text7.value) go top do while !eof() select tempo_V appe blank replace codigo with kardex.codigo replace articulo with kardex.articulo REPLACE TIPO WITH KARDEX.TIPO REPLACE PROCEDEN WITH KARDEX.PROCEDEN replace cantidad with kardex.cantidad replace precio with kardex.precio replace importe with kardex.importe REPLACE OBS WITH KARDEX.SERIE select kardex skip enddo select kardex set filter to
thisform.grid1.refresh Anular Venta: SELECT ventas LOCA FOR ALLTR(NUMERO)=ALLTR(THISFORM.TEXT7.VALUE) .AND. ALLTR(DOCUMENTO)=ALLTR(THISFORM.COMBO2.VALUE) .and. alltr(ruc)=alltr(thisform.text3.value) IF FOUND()
48
QUEBRANTA EXPORT S.A.C. replace PROVEEDOR with "ANULADO" REPLACE SUBTOTAL WITH 0 REPLACE IGV WITH 0 REPLACE TOTAL WITH 0 select kardex REPLACE PRECIO WITH 0,CANTIDAD WITH 0,IMPORTE WITH 0 for alltr(numero)=alltr(thisform.text7.value) .AND. ALLTR(DOCUMENTO)=ALLTR(THISFORM.COMBO2.VALUE) .and. alltr(ruc)=alltr(thisform.text3.value) select tempo_V go top do while !eof() select articulo loca for alltr(codigo)=alltr(tempo_V.codigo) if found() IF UPPER(ALLTR(THISFORM.COMBO5.VALUE))="ALMACEN" replace almacen with almacen + tempo_V.cantidad ELSE IF UPPER(ALLTR(THISFORM.COMBO5.VALUE))="TIENDA 1" REPLACE TIEN_1 WITH TIEN_1+TEMPO_V.CANTIDAD ELSE IF UPPER(ALLTR(THISFORM.COMBO5.VALUE))="TIENDA 2" REPLACE TIEN_2 WITH TIEN_2+TEMPO_V.CANTIDAD ENDIF ENDIF ENDIF
49
QUEBRANTA EXPORT S.A.C. endif select tempo_V skip enddo endif select tempo_V go top thisform.grid1.refresh =messagebox("PROCESO TERMINADO...") thisform.command6.click
Módulo de Facturación:
En el Item de Nº Guía, digitar el número de la guía generado anteriormente y clic en el botón buscar, el sistema automáticamente llenará todo los ítems excepto el ítem Nº Fact./Bol. Donde debe digitar el número correspondiente de la Factura y/o Boleta, verificar todos los datos que estén correctamente y grabar e imprimir. Codificación:
50
QUEBRANTA EXPORT S.A.C. Nuevo: thisform.combo1.value="" thisform.text1.value=date() thisform.text2.value="" thisform.text3.value="" thisform.text4.value="" thisform.text22.value="" thisform.text12.value="" thisform.text25.value="" thisform.text26.value="" thisform.text5.value=0 THISFORM.COMBO5.VALUE="" THISFORM.COMBO7.VALUE="" thisform.combo2.value="FACTURA" thisform.text7.value="" thisform.combo3.value="Soles" thisform.text15.value=DATE() thisform.text23.value="" thisform.text30.value=0.00 thisform.text31.value=0.00 thisform.text32.value=0.00 *thisform.combo4.value="" thisform.text6.value=0 *thisform.text16.value=0.00 thisform.text8.value=0 thisform.text9.value=0 THISFORM.COMBO6.VALUE="CONTADO" *THISFORM.TEXT15.VALUE=DATE()
51
QUEBRANTA EXPORT S.A.C. *THISFORM.COMBO8.VALUE="" *THISFORM.COMBO9.VALUE="" *THISFORM.text17.VALUE="" *THISFORM.text18.VALUE="" THISFORM.text19.VALUE="" THISFORM.text20.VALUE="" THISFORM.text21.VALUE="" THISFORM.text24.VALUE=0.00 select tempo_V dele all thisform.grid1.refresh thisform.command3.enabled=.t. select articulo set order to articulo *thisform.text2.setfocus sele prove set filter to Grabar: cMessageTitle = 'Ventas.....' cMessageText = '¿Esta seguro de Grabar.. ?' nDialogType = 4 + 32 + 256 * 4 = Botones Sí y No * 32 = Icono del signo de interrogación * 256 = El segundo botón es el predeterminado nAnswer = MESSAGEBOX(cMessageText, nDialogType, cMessageTitle) select VENTAS go top loca for ALLTR(factura)=ALLTR(THISFORM.TEXT22.VALUE)
52
QUEBRANTA EXPORT S.A.C. * .AND. alltr(documento)=alltr(thisform.combo2.value) .and. alltr(numero)=alltr(thisform.text7.value) if found() =MESSAGEBOX("YA EXISTE DESEA REEMPLAZAR ?...") *
RETURN ENDIF
tipo_c=thisform.text5.value set exact on DO CASE CASE nAnswer = 6 IF LEN(ALLTR(THISFORM.TEXT3.VALUE))=0 IF ALLTR(THISFORM.COMBO2.VALUE)="FACTURA" =MESSAGEBOX("INGRESE RUC....") ELSE IF ALLTR(THISFORM.COMBO2.VALUE)="BOLETA" =MESSAGEBOX("INGRESE D.N.I.....") THISFORM.LABEL4.CAPTION="DNI:" ENDIF ENDIF RETURN ENDIF IF LEN(ALLTR(THISFORM.COMBO2.VALUE))=0 =MESSAGEBOX("SELECCIONE EL DOCUMENTO....") RETURN ENDIF IF LEN(ALLTR(THISFORM.TEXT7.VALUE))=0 =MESSAGEBOX("INGRESE EL NUMERO DEL DOCUMENTO....") RETURN
53
QUEBRANTA EXPORT S.A.C. ENDIF IF LEN(ALLTR(THISFORM.COMBO3.VALUE))=0 =MESSAGEBOX("SELECCIONE LA MONEDA....") RETURN ENDIF IF LEN(ALLTR(THISFORM.COMBO6.VALUE))=0 =MESSAGEBOX("SELECCIONE CONDICION....") RETURN ENDIF IF THISFORM.TEXT9.VALUE=0 =MESSAGEBOX("TOTALIZAR POR FAVOR....") RETURN ENDIF select ventas * appen blank replace fecha with thisform.text1.value replace ruc with thisform.text3.value replace proveedor with thisform.text2.value replace documento with thisform.combo2.value replace numero with thisform.text7.value replace moneda with thisform.combo3.value replace tip_cambio with thisform.text5.value replace direccion with thisform.text4.value replace tpbruto with thisform.text6.value replace ttara with thisform.text8.value replace tneto with thisform.text9.value replace tsacos with thisform.text24.value replace dire1 with thisform.text25.value
54
QUEBRANTA EXPORT S.A.C. replace ruc1 with thisform.text26.value replace lic with thisform.text29.value replace humedad with thisform.text30.value replace por with thisform.text31.value replace isc with thisform.text32.value * replace codigo with tempo_v.codigo *
replace articulo with tempo_v.articulo
*
replace sacos with tempo_v.sacos
* replace vene with thisform.combo4.value * replace codigo with tempo_v.codigo * replace articulo with tempo_v.articulo * replace sacos with tempo_v.sacos * replace pesob with tempo_v.pesob * replace tara with tempo_v.tara * replace pneto with tempo_v.pneto * replace humedad with tempo_v.humedad REPLACE CONDICION WITH THISFORM.COMBO6.VALUE repla factura with thisform.text22.value repla transportista with thisform.text20.value repla chofer with thisform.text19.value repla destino with thisform.combo5.value repla obs1 with thisform.text23.value REPLACE ALMACEN WITH thisform.combo5.value *
REPLACE GUIA WITH THISFORM.TEXT12.VALUE * REPLACE PEDIDO WITH THISFORM.TEXT14.VALUE REPLACE son WITH THISFORM.TEXT23.VALUE REPLACE f_vto WITH THISFORM.TEXT15.VALUE REPLACE dni WITH THISFORM.TEXT12.VALUE
55
QUEBRANTA EXPORT S.A.C. REPLACE fac WITH "SAL" if alltrim(condicion)="CONTADO" replace com with tsacos*0.05 repla f_canc with THISFORM.TEXT15.VALUE endif * *
if alltr(moneda)="Soles" replace tot_soles with total
*
else
*
replace tot_soles with total*tip_cambio
*
endif select tempo_V go top do while !eof() select kardex * appe blank replace pre_dolar with thisform.text5.value replace op with "V" REPLACE ALMACEN WITH THISFORM.COMBO5.VALUE replace fecha with thisform.text1.value replace ruc with thisform.text3.value replace pro_cli with thisform.text2.value replace documento with thisform.combo2.value replace numero with thisform.text7.value replace moneda with thisform.combo3.value replace dire1 with thisform.text25.value replace ruc1 with thisform.text26.value replace lic with thisform.text29.value replace codigo with tempo_v.codigo
56
QUEBRANTA EXPORT S.A.C. replace articulo with tempo_v.articulo replace sacos with tempo_v.sacos replace pesob with tempo_v.pesob replace PNETO with tempo_v.pneto replace TARA with tempo_v.tara replace humedad with tempo_v.humedad * replace TIPO with tempo_V.TIPO REPLACE OBS WITH THISFORM.TEXT23.VALUE REPLACE PEDIDO WITH THISFORM.TEXT14.VALUE REPLACE T_CAMBIO WITH THISFORM.TEXT5.VALUE REPLACE CONDICION WITH THISFORM.COMBO6.VALUE replace tneto with thisform.text9.value REPLACE VENDEDOR WITH THISFORM.COMBO7.VALUE select articulo1 set order to codigo seek tempo_V.codigo if found() *
replace stoc with stoc - tempo_v.sacos endif * REPLA pesob with articulo.pbruto
select tempo_V * LOCA FOR alltrim(FACTURA)=alltrim(THISFORM.TEXT22.VALUE) * IF FOUND() * DELE FOR (FACTURA)=(THISFORM.TEXT22.VALUE) * ENDIF SELE TEMPO_V
57
QUEBRANTA EXPORT S.A.C. * APPE FROM TEMPO_V skip enddo thisform.command3.enabled=.T. ENDCASE sele comi loca for ALLTR(DOC)==ALLTR(THISFORM.TEXT22.VALUE) if found() sele comi repla doc with thisform.text22.value repla fecha with thisform.text1.value repla f_vto with thisform.text15.value repla condicion with thisform.combo6.value repla vende with thisform.combo7.value repla dni with thisform.text12.value repla subtotal with thisform.text24.value repla almacen with thisform.combo5.value else sele comi append blank repla doc with thisform.text22.value repla fecha with thisform.text1.value repla f_vto with thisform.text15.value repla condicion with thisform.combo6.value repla vende with thisform.combo7.value repla dni with thisform.text12.value repla subtotal with thisform.text24.value repla almacen with thisform.combo5.value
58
QUEBRANTA EXPORT S.A.C. endif Imprimir: SELE VENTAS SELE TEMPO_V PUBLIC xfecha,xcliente,xdire,xruc,xguia,xson,xsub,xigv,xtotal,xnum Xfecha=THISFORM.TEXT1.VALUE Xcliente=THISFORM.TEXT2.VALUE Xdire=THISFORM.TEXT4.VALUE Xruc=THISFORM.TEXT3.VALUE Xguia=THISFORM.TEXT22.VALUE Xson=THISFORM.TEXT23.VALUE Xsub=THISFORM.TEXT24.VALUE Xigv=THISFORM.TEXT6.VALUE Xtotal=THISFORM.TEXT8.VALUE Xnum=THISFORM.TEXT7.VALUE SELECT TEMPO_v sele ventas REPORT FORM factura PREV Salir: thisformset.release Examinar: SELE TEMPO_V DELE ALL select VENTAS SET ORDER TO ORDEN brow &&noedit thisform.text14.value=pedido thisform.text1.value=fecha
59
QUEBRANTA EXPORT S.A.C. thisform.text3.value=ruc thisform.text2.value=proveedor thisform.combo2.value=documento thisform.text7.value=numero thisform.combo3.value=moneda thisform.text5.value=tip_cambio thisform.text4.value=direccion thisform.text6.value=subtotal thisform.text8.value=igv thisform.text9.value=total THISFORM.COMBO5.VALUE=ALMACEN THISFORM.COMBO6.VALUE=CONDICION *
THISFORM.COMBO4.VALUE=TARJETA THISFORM.TEXT13.VALUE=COD_TAR THISFORM.COMBO7.VALUE=VENDEDOR THISFORM.TEXT12.VALUE=GUIA select kardex
set filter to alltr(documento)=alltr(thisform.combo2.value) .and. alltr(numero)=alltr(thisform.text7.value) go top do while !eof() select tempo_V appe blank replace codigo with kardex.codigo replace articulo with kardex.articulo REPLACE TIPO WITH KARDEX.TIPO REPLACE PROCEDEN WITH KARDEX.PROCEDEN replace cantidad with kardex.cantidad
60
QUEBRANTA EXPORT S.A.C. replace precio with kardex.precio replace importe with kardex.importe REPLACE OBS WITH KARDEX.SERIE select kardex skip enddo select kardex set filter to
thisform.grid1.refresh Anular Venta: SELECT ventas LOCA FOR ALLTR(NUMERO)=ALLTR(THISFORM.TEXT7.VALUE) .AND. ALLTR(DOCUMENTO)=ALLTR(THISFORM.COMBO2.VALUE) .and. alltr(ruc)=alltr(thisform.text3.value) IF FOUND() replace PROVEEDOR with "ANULADO" REPLACE SUBTOTAL WITH 0 REPLACE IGV WITH 0 REPLACE TOTAL WITH 0 select kardex REPLACE PRECIO WITH 0,CANTIDAD WITH 0,IMPORTE WITH 0 for alltr(numero)=alltr(thisform.text7.value) .AND. ALLTR(DOCUMENTO)=ALLTR(THISFORM.COMBO2.VALUE) .and. alltr(ruc)=alltr(thisform.text3.value) select tempo_V go top do while !eof() select articulo loca for alltr(codigo)=alltr(tempo_V.codigo)
61
QUEBRANTA EXPORT S.A.C. if found() IF UPPER(ALLTR(THISFORM.COMBO5.VALUE))="ALMACEN" replace almacen with almacen + tempo_V.cantidad ELSE IF UPPER(ALLTR(THISFORM.COMBO5.VALUE))="TIENDA 1" REPLACE TIEN_1 WITH TIEN_1+TEMPO_V.CANTIDAD ELSE IF UPPER(ALLTR(THISFORM.COMBO5.VALUE))="TIENDA 2" REPLACE TIEN_2 WITH TIEN_2+TEMPO_V.CANTIDAD ENDIF ENDIF ENDIF endif select tempo_V skip enddo endif select tempo_V go top thisform.grid1.refresh =messagebox("PROCESO TERMINADO...") thisform.command6.click Calcular Comisiones: SELE ventas SET ORDER TO factura
62
QUEBRANTA EXPORT S.A.C. LOCATE FOR ALLTRIM(factura)==ALLTRIM(THISFORM.TEXT22.VALUE) if found() repla com with tsacos*0.05 endif THISFORM.GRID1.VISIBLE=.T. THISFORM.GRID1.REFRESH THISFORM.GRID1.SETFOCUS Imprimir Boleta: PUBLIC xfecha,xcliente,xdire,xruc,xguia,xson,xsub,xigv,xtotal,xnum Xfecha=THISFORM.TEXT1.VALUE Xcliente=THISFORM.TEXT2.VALUE Xdire=THISFORM.TEXT4.VALUE Xruc=THISFORM.TEXT3.VALUE Xguia=THISFORM.TEXT22.VALUE Xson=THISFORM.TEXT23.VALUE Xtotal=THISFORM.TEXT8.VALUE Xnum=THISFORM.TEXT7.VALUE SELECT TEMPO_v GO TOP REPORT FORM boleta PREV
Módulo de Cancelar Facturas pendientes de pago:
63
QUEBRANTA EXPORT S.A.C.
En el ítem correspondiente Nro Factura digitar el número de factura a cancelar y pulsar la tecla enter, el sistema muestra el Estado de la factura y la fecha de cancelación. Codificación: Nro de Factura: SELE ventas SET ORDER TO factura LOCATE FOR ALLTRIM(factura)==ALLTRIM(THISFORM.TEXT1.VALUE) if found() set filter to ALLTRIM(factura)==ALLTRIM(THISFORM.TEXT1.VALUE)
THISFORM.GRID1.VISIBLE=.T. THISFORM.GRID1.REFRESH THISFORM.GRID1.SETFOCUS endif Nuevo: sele factura go bottom THISFORM.TEXT1.VALUE="" THISFORM.TEXT1.SETFOCUS Eliminar:
64
QUEBRANTA EXPORT S.A.C. set date dmy SELE ventas SET ORDER TO factura LOCATE FOR alltrim(factura)==alltrim(THISFORM.TEXT1.VALUE) if found() sele ventas repla ttara with 0.00 repla tpbruto with 0.00 repla tneto with 0.00 repla tsacos with 0.00 repla com with 0.00 repla condicion with "ANULADO" repla f_canc with date() endif THISFORM.GRID1.VISIBLE=.T. THISFORM.GRID1.REFRESH THISFORM.GRID1.SETFOCUS Salir: SELE ventas SET FILTER TO THISFORM.RELEASE Calcular Comisiones: SELE ventas SET ORDER TO factura LOCATE FOR ALLTRIM(factura)==ALLTRIM(THISFORM.TEXT1.VALUE) if found() sele ventas
65
QUEBRANTA EXPORT S.A.C. if f_canc>=f_vto then repla com with tsacos*0.03 else repla com with tsacos*0.05 endif endif THISFORM.GRID1.VISIBLE=.T. THISFORM.GRID1.REFRESH THISFORM.GRID1.SETFOCUS Módulo de Historial del Cliente: Emite el reporte de todo el movimiento que ha realizado el cliente, desde la fecha que inicio sus operaciones.
Codificación: Nuevo: THISFORM.TEXT1.VALUE="" THISFORM.TEXT1.SETFOCUS Salir: THISFORM.RELEASE Creditos - cancelados PUBLIC XFECHA1,XFECHA2 XFECHA1=THISFORM.TEXT2.VALUE XFECHA2=THISFORM.TEXT3.VALUE *XTOTAL=THISFORM.TEXT4.VALUE
66
QUEBRANTA EXPORT S.A.C. sele ventas SET ORDER TO fecha LOCATE FOR FECHA>=XFECHA1 .AND. FECHA<=XFECHA2 and ALLTRIM(RUC)==ALLTRIM(THISFORM.TEXT1.VALUE) IF FOUND() SET FILTER TO FECHA>=XFECHA1 .AND. FECHA<=XFECHA2 and ALLTRIM(RUC)==ALLTRIM(THISFORM.TEXT1.VALUE) REPORT FORM FACTURA_TODOS_ PREV ENDIF
Módulo de Stock: Muestra el stock del producto por almacén.
Codificación: Acepta: PUBLIC XFECHA1,XFECHA2,XALMACEN XFECHA1=THISFORM.TEXT1.VALUE XFECHA2=THISFORM.TEXT2.VALUE XALMACEN=THISFORM.COMBO2.VALUE SELE ARTICULO1 INDICE=SYS(3) INDEX ON ARTICULO TO &INDICE REPORT FORM STOCK1 PREV Salir: THISFORM.RELEASE Listado de Stock:
67
QUEBRANTA EXPORT S.A.C.
Módulo de Kardex x Producto: Muestra el movimiento de ingreso y salida de productos.
Codificación: Acepta: public xfecha1,xfecha2,xcod,xarticulo,xmarca,xmodelo,xlocal,XNUM,XALMACEN xfecha1=thisform.text1.value xfecha2=thisform.text2.value xcod=thisform.text3.value XALMACEN=thisform.combo2.value xarticulo=thisform.combo1.value *xmarca=thisform.text4.value
68
QUEBRANTA EXPORT S.A.C. *xmodelo=thisform.text5.value *xlocal=thisform.combo2.value create cursor x_kardex; (fecha d(8),documento c(20),numero c(15),pro_cli c(30),tienda c(10),entrada n(5),; salida n(10,2),precio n(10,2),saldo n(10,2),; importe n(10,2) null)
sele * from kardex where kardex.codigo=xcod ORDER BY KARDEX.FECHA into cursor t_kardex &&.and. upper(almacen)=upper(xlocal); sele t_kardex go top xsaldo=0 do while !eof() sele x_kardex appe blank replace fecha with t_kardex.fecha replace documento with t_kardex.documento replace numero with t_kardex.numero replace pro_cli with t_kardex.pro_cli replace tienda with t_kardex.almacen if alltr(upper(t_kardex.op))="V" replace salida with t_kardex.sacos xsaldo=xsaldo-t_kardex.sacos else if alltr(upper(t_kardex.op))="C" replace entrada with t_kardex.sacos xsaldo=xsaldo+t_kardex.sacos
69
QUEBRANTA EXPORT S.A.C. else if alltr(upper(t_kardex.op))="T" .and. alltr(T_KARDEX.ruc)="ORIGEN" replace SALIDA with t_kardex.sacos xsaldo=xsaldo-t_kardex.sacos else if alltr(upper(t_kardex.op))="T" .and. alltr(T_KARDEX.ruc)="DESTINO" replace entrada with t_kardex.sacos xsaldo=xsaldo+t_kardex.sacos eNDIF endif endif endif replace saldo with xsaldo sele t_kardex skip enddo sele x_kardex set filter to fecha>=xfecha1 .and. fecha<=xfecha2 go top report form kardex prev set filter to Salir: thisform.release Reporte:
70
QUEBRANTA EXPORT S.A.C.
Módulo Salida de almacén: Muestra los movimientos de salida de almacén x fecha.
Codificación: General: public xfecha1,xfecha2 *CREATE CURSOR CAJAS; *(FECHA D(8),NOMBRE C(30),DESCRIP C(100),RECIBO C(10),ENTRADA N(10,2),SALIDA N(10,2),; *SALDO N(10,2),OP C(2),MONEDA C(10),ENTRADA1 N(10,2),SALIDA1 N(10,2),SALDO1 N(10,2),OBS C(100) NULL) xfecha1=thisform.text1.value xfecha2=thisform.text2.value SELE kardex set order to numero
71
QUEBRANTA EXPORT S.A.C. locate for FECHA>=XFECHA1 .AND. FECHA<=XFECHA2 .and. op="V" .and. alltrim(obs1)<>"NO" .and. alltrim(documento)=="Guía" if found() set filter to FECHA>=XFECHA1 .AND. FECHA<=XFECHA2 .and. op="V" .and. alltrim(obs1)<>"NO" .and. alltrim(documento)=="Guía" REPORT FORM salidalmacen PREV SET FILTER TO endif THISFORM.REFRESH Por Producto: public xfecha1,xfecha2 *CREATE CURSOR CAJAS; *(FECHA D(8),NOMBRE C(30),DESCRIP C(100),RECIBO C(10),ENTRADA N(10,2),SALIDA N(10,2),; *SALDO N(10,2),OP C(2),MONEDA C(10),ENTRADA1 N(10,2),SALIDA1 N(10,2),SALDO1 N(10,2),OBS C(100) NULL) xfecha1=thisform.text1.value xfecha2=thisform.text2.value SELE kardex locate for FECHA>=XFECHA1 .AND. FECHA<=XFECHA2 .and. op="V" .and. alltrim(obs1)<>"NO" .and. alltrim(codigo)=alltrim(thisform.text3.value) if found() set filter to FECHA>=XFECHA1 .AND. FECHA<=XFECHA2 .and. op="V" .and. alltrim(obs1)<>"NO" .and. alltrim(codigo)=alltrim(thisform.text3.value) go top REPORT FORM salidalmacen PREV SET FILTER TO endif THISFORM.REFRESH
72
QUEBRANTA EXPORT S.A.C. Módulo de cuentas x Cobrar: Muestra el reporte de cuentas x cobrar a los clientes por fecha y por zona.
Cpdificación: Zona: Busqueda public xfecha1,xfecha2 xfecha1=thisform.text1.value xfecha2=thisform.text23.value SELE ventas SET ORDER TO proveedor LOCATE FOR FECHA>=XFECHA1 .AND. FECHA<=XFECHA2 .AND. ALLTRIM(upper(condicion))=="CREDITO" .and. ALLTRIM(upper(destino))==ALLTRIM(upper(THISFORM.COMBO1.VALUE)) IF FOUND() SET ORDER TO proveedor SET FILTER TO FECHA>=XFECHA1 .AND. FECHA<=XFECHA2 .AND. ALLTRIM(upper(condicion))=="CREDITO" .AND. ALLTRIM(upper(destino))==ALLTRIM(upper(THISFORM.COMBO1.VALUE)) ENDIF THISFORM.GRID1.VISIBLE=.T.
73
QUEBRANTA EXPORT S.A.C. THISFORM.GRID1.REFRESH THISFORM.GRID1.SETFOCUS Ctas. x Zona: PUBLIC XFECHA1,XFECHA2,XCONTADO,XCREDITO,TOTAL PUBLIC XCONTADO,XCREDITO,XRUC
*XCONTADO=THISFORM.TEXT5.VALUE *XCREDITO=THISFORM.TEXT3.VALUE XFECHA1=THISFORM.TEXT1.VALUE XFECHA2=THISFORM.TEXT23.VALUE XRUC=THISFORM.TEXT4.VALUE xciudad=THISFORM.combo1.VALUE *XCONTADO=THISFORM.TEXT5.VALUE *XCREDITO=THISFORM.TEXT3.VALUE *XTOTAL=THISFORM.TEXT2.VALUE
SELE ventas REPORT FORM FACTURA_TODOS6 PREV RETURN SET ORDER TO proveedor SET FILTER TO ALLTRIM(condicion)="Credito" .AND. FECHA>=XFECHA1 .AND. FECHA<=XFECHA2 .AND. ALLTRIM(destino)=ALLTRIM(THISFORM.COMBO1.VALUE) REPORT FORM FACTURA_TODOS6 TO PREV Reporte:
74
QUEBRANTA EXPORT S.A.C.
Módulo de registro de ventas: Muestra el reporte de registro de ventas mensuales.
Codificación: Acepta: PUBLIC XFECHA1,XFECHA2 XFECHA1=THISFORM.TEXT2.VALUE XFECHA2=THISFORM.TEXT3.VALUE *XTOTAL=THISFORM.TEXT4.VALUE sele ventas SET ORDER TO NUMERO LOCATE FOR FECHA>=XFECHA1 .AND. FECHA<=XFECHA2 .AND. alltrim(obs)<>"NO" *and ALLTRIM(RUC)==ALLTRIM(THISFORM.TEXT1.VALUE) IF FOUND() SET FILTER TO FECHA>=XFECHA1 .AND. FECHA<=XFECHA2 .AND. alltrim(obs)<>"NO" *and ALLTRIM(RUC)==ALLTRIM(THISFORM.TEXT1.VALUE) REPORT FORM REG_VENTAS PREV ENDIF
75
QUEBRANTA EXPORT S.A.C. Salir: THISFORM.RELEASE Reporte:
Módulo de Comisiones: Muestra el reporte de comisiones por vendedor por fecha.
Codificación: Acepta: *SELE * FROM ARTICULO ORDER BY ARTICULO.ARTICULO; *INTO CURSOR T_ARTICULO PUBLIC XFECHA1,XFECHA2,XVENDEDOR,XDNI XFECHA1=THISFORM.TEXT1.VALUE XFECHA2=THISFORM.TEXT2.VALUE XVENDEDOR=THISFORM.COMBO2.VALUE XDNI=THISFORM.TEXT3.VALUE SELE VENTAS INDICE=SYS(3) INDEX ON FACTURA TO &INDICE locate for ALLTRIM(condicion)=="CONTADO" .and. alltrim(dni)==alltrim(thisform.text3.value)
76
QUEBRANTA EXPORT S.A.C. if found() set filter to ALLTRIM(condicion)=="CONTADO" .AND. alltrim(dni)==alltrim(thisform.text3.value) REPORT FORM COMIS PREV endif Salir: THISFORM.RELEASE Módulo de seguridad: Copia todo la base de datos dentro de la carpeta de seguridad q está ubicado en la unidad d.
Codificación: Acepta: close all Close Tables Close Database dimen aBase(5,5),aTablas(50,5),aIndices(50,5) xBase = ADIR(aBase, '*.DBC') xTablas = ADIR(aTablas, '*.DBF') xIndices = ADIR(aIndices, '*.CDX') For i=1 To xBase Arch1 = Thisform.Origen.Value + aBase(i,1) Arch2 = Thisform.Destino.Value + aBase(i,1) Wait Arch1+" a "+Arch2 Wind Copy File &Arch1 To &Arch2 Next For i=1 To xTablas 77
QUEBRANTA EXPORT S.A.C. Arch1 = Thisform.Origen.Value + aTablas(i,1) Arch2 = Thisform.Destino.Value + aTablas(i,1) Wait Arch1+" a "+Arch2 Wind NoWait Copy File &Arch1 To &Arch2 Next For i=1 To xIndices Arch1 = Thisform.Origen.Value + aIndices(i,1) Arch2 = Thisform.Destino.Value + aIndices(i,1) Wait Arch1+" a "+Arch2 Wind NoWait Copy File &Arch1 To &Arch2 Next =MessageBox("Se termino de realizar la copia de seguridad") Salir: Thisform.Release
Módulo de Restauración: Restaura toda la base de datos de la carpeta seguridad al sistema.
Codificación: Acepta: Close Tables Close Data dimen aBase(5,5),aTablas(50,5),aIndices(50,5)
78
QUEBRANTA EXPORT S.A.C. xBase = ADIR(aBase, '*.DBC') xTablas = ADIR(aTablas, '*.DBF') xIndices = ADIR(aIndices, '*.CDX')
For i=1 To xBase Arch1 = Thisform.Origen.Value + aBase(i,1) Arch2 = Thisform.Destino.Value + aBase(i,1) Wait Arch1+" a "+Arch2 Wind Copy File &Arch1 To &Arch2 Next
For i=1 To xTablas Arch1 = Thisform.Origen.Value + aTablas(i,1) Arch2 = Thisform.Destino.Value + aTablas(i,1) Wait Arch1+" a "+Arch2 Wind NoWait Copy File &Arch1 To &Arch2 Next
For i=1 To xIndices Arch1 = Thisform.Origen.Value + aIndices(i,1) Arch2 = Thisform.Destino.Value + aIndices(i,1) Wait Arch1+" a "+Arch2 Wind NoWait Copy File &Arch1 To &Arch2 Next =MessageBox("Se termino de realizar la restauracion") Salir: Release.thisform
79
QUEBRANTA EXPORT S.A.C. Módulo de configuración: Permite configurar la impresora a ser usado en el sistema.
Es Capturado del sistema de Windows mediante la codificación en el menú. Módulo Principal del Sistema: PP1:PRG clea all close all clea set exclusive off SET DELETE ON SET TALK OFF SET ECHO OFF SET SAFETY OFF SET DATE dmy SET CLOCK STATUS set refresh to 1
80
QUEBRANTA EXPORT S.A.C. SET STATUS OFF SET CENT ON RELEASE WINDOWS ALL SET DELETE ON SET SYSMENU TO set exact on set date brit SET REPROCESS TO AUTOMATIC *SET PROCEDURE TO C:\soledad\LETRA PUBLIC XPASS,VECES,XSIMBOLO,l,X X=0 l=0 XPASS="" VECES=0 _SCREEN.icon="PERUU.ICO" _screen.caption= "QUEBRANTA EXPORT S.A.C. "+DTOC(DATE()) public xusuario _screen.windowstate=2 *_screen.picture="ONDAS.BMP"
public xusuario xusuario=""
SELE 1 USE ARTICULO SHARED sele 2 use CONSTA SHARED
81
Versión 2.0 FECHA :
QUEBRANTA EXPORT S.A.C. SELE 3 USE PROVE SHARED SELE 4 USE CLIENTE SHARED SELE 5 USE T_CAMBIO SHARED SELE 6 USE DOCU SHARED SELE 7 USE COMPRAS SHARED SELE 8 USE KARDEX SHARED SELE 9 USE TEMPO_V SHARED sele 10 use ventas SHARED SELE 11 USE COTI SHARED SELE 12 USE D_COTI SHARED SELE 13 USE GASTOS SHARED SELE 14 USE TEMPO_C SHARED SELE 15 USE T_TRAN SHARED
SET SYSMENU TO
82
QUEBRANTA EXPORT S.A.C. *DO FORM SEGURO *DO MENU5.MPR create cursor t_guia; (cantidad n(10),tipo_m c(30),descrip c(150),peso c(10),um c(10),precio n(10,2),; costo n(10,2),numero_i c(15),ruc_r c(11),numero_s c(15),doc_i c(10) null)
create cursor pingreso; (numero_i c(15),cantidad n(10),tipo_m c(30),peso c(10),remitente c(60); ,destina c(60),precio n(10,2),costo n(10,2),descrip c(100),recibo c(10) null) use uprinc Do Form \CONTABLE\entrada.scx close data READ EVENTS Return
83
QUEBRANTA EXPORT S.A.C.
84