-
Notifications
You must be signed in to change notification settings - Fork 0
/
TODO
361 lines (321 loc) · 17.8 KB
/
TODO
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
== HECHO ==
== Haciendo ==
== Errores ==
== gong-socias ==
* En otra ocasión me ha dado no se qué de tasa en la moneda, en todo caso en lo que se refiere a añadir recibos siempre me echa fuera.
* Revisar los -1 de los informes
* Asociación, Proyectos, Proyecto, remesa, recibos y al añadir recibo e intentar buscar la socia, se me cierra el programa del tirón,
* Elegir remesa en generar recibos, elegir solo las no cerradas
* Tipo de partida: nameslisttable
* Socias: ¿Están al corriente del pago? Avisar si no lo están.
== gong-cats ==
* Revisar los -1 de los informes
== gong-factu ==
* Cambios masivos: Sumar porcentaje 0. No funciona.
* Comprobar todos los -1 de los informes de balance de pagos y cobros
* Estadísticas de compras y ventas: Agrupar por razón social, ¿cómo sé si es cliente o proveedora?
* Factu: Formulario datos ventas y compras de artículos
* Factu: Informe de existencias máximas y mínimas.
* Imprimir etiquetas con códigos de barras
* Calcular pvp de un albarán de compra.
* Clientes especiales, con un porcentaje extra.
* Enviar/recibir facturas a/de otro gestiong
* Que la suma en mc de las ventas coincida con la suma de las facturas:
* Añadir cliente si no existe, configurable
* Calcular el máximo de una unión en SQL: SELECT SUM() FROM ( SELECT .... UNION ALL .... );
* Albaranes, facturas, etc. Añadir Cantidad asignada al proyecto
* Artículos: Iva de compra e iva de venta
* Crear clientes múltiples ya no es posible (si lo vuelvo a hacer, también para proveedoras)
* Añadir a clientes y proveedoras: dia(s) de pago, mes no pago. Al generar los pagos, tenerlo en cuenta.
* Buscador de documentos por número
== gong-tpv ==
* La ventana de artículos en el TPV, si se queda abajo luego no funciona bien.
* Ticket_estrecho: Copiar el de la ecotienda ceres.
* Añadir botón Más botones y añadir ahí el resto de botones.
* tpv: Pagos por rondas: buscar un FrmList animado
== gong-deposit ==
* Revisar los -1 de estadisticas compra y venta.
* Generar liquidación, no genera el contador.
* Al crear un albarán desde una liquidación, no rellena el importe de la liquidación en cada detalle
* Generar liquidación a proveedoras, el validate del tipodoc no funciona
* Liquidación de depósitos de venta, marcar la liquidación, igual que los de compra.
* Si no hay coste de artículo, que la liquidación lo avise.
* browse de liqventa, mostrar número.
* Poner el tipo de documento al generar la liquidación de venta.
* Hago informe depósitos, creo una liquidación y vuelvo a hacer el informe y sale vacío
* Liquidar depósitos de venta, tecleo código del tipo de documento y pulso tab y no avanza
* Duplicar albarán de venta: no borra el check Liquidada
* ¿Qué pasa si al meter una liquidación de un cliente los precios de los artículos han cambiado?
== MODELOSFISCALES ==
* Implementar algún día
== gong-ofertas ==
* Abro factura de venta, abro oferta de venta. Se superponen las ventanas.
* Comprobar ciclo de oferta de venta y cobro.
== gong-pagos ==
* Pagos: regenerarlos: guardar el número como en apuntes de tesorería.
* Crear pago: si hay socias, sale la fecha
* Crear pago: Calcular el número siguiente
* Pagos: Que pagar o anular sea el botón por defecto
* Aplicar la tasa de cambio de la moneda en el pago/cobro
* Agrupar, desagrupar, asociar a factura, disociar de factura, etc.
* ¿Cómo regenerar los asientos de los pagos/cobros agrupados?
** Regenerar asientos de pagos: si no hay cuenta origen, dar error y no generarlo
** Añadir IAsentable a pagos y cobros para regenerar los pagos y cobros
* Si un pago es mayor que el total, y no hay más facturas, entonces ¿hay que crear un nuevo pago por el resto?
== gong-tesoreria ==
* Borrar cuenta, si solo se usa como tercero_id, no se detecta si está siendo usada.
* Añadir la cuenta a la forma de pago desde un behavior en tesoreria.
== gong-contab ==
* Comprobar todos los -1 de todos los informes.
* No genera el contador en los asientos nuevos
* Comprobar el asiento cuando el tipo de forma de pago es ignorar el resto.
* Asiento compuesto, poner en el concepto el código del artículo cuando es un solo artículo
* Añadir campos: cuenta clientes, cuenta anticipos, cuenta proveedores, etc. a empresa y eliminar settings MODULE.CONTAB.CUENTA_CLIENTE, etc.
* Crea asiento, supervisar, si está modificándolo, que ponga modificando asiento en el título
* Asientos automáticos:
** Pedir la fecha y otros campos que se pueden modificar
** Pensar mejor lo del rescateValues
* Crear un ContabFrmCustom que valide bien las cuentas y utilizarlo en asitipoform
** o bien usar el código en asitipoform del frmpagarrecibo
* ¿Qué hacer si se cancela un asiento generado automáticamente?
** Niveles del plan contable
== gong-contactos ==
* Comprobar que apellidos, nombre no duplica nombre, apellidos
* Mostrar nombres parecidos al dar de alta un nombre
* fullAddress: No se usa para nada.
* Visualizar contacto embebido: readonly botones
== gong-dbapp ==
* comprobar ejercicios, si no hay nada,devuelve el 2008
* No utilizar QWizard, no activar el botón crear base de datos al principio
* Poner en rojo los mensajes de error
* Encriptar la contraseña en settings.rc ?
* No se guarda el orden de los ficheros embebidos: Extracto de cuenta de tesoreria.
* dbApp: Carga la configuración de los módulos antes del login, con lo cual se queda aunque luego el login sea false, esto provoca errores en las vistas, por ejemplo.
* Exportar: Pedir bien el fichero
* Imprimir todo si hay un filtro tiene que imprimir solo los del filtro
* dbRecord::seekCode, buscar por todos los códigos de la tabla
** Pensarlo mejor porque habría que pasar otro parámetro, quizás un flag: SeekCodeInAllCodes
* Comando para enviar correo con icedove:
** icedove -compose `echo "attachment='file:///media/sdb3/Tmp/DSC1.jpg /media/sdb3/Tmp/DSC2.jpg'" | sed 's/ \//,file:\/\/\//g'`
* Añadir #ifmodule a los settings de solo lectura
* Cuando da error de que forma pago no puede estar vacío, no vuelve el cursor a la ventana anterior
* Si el formulario está maximizado, añadir un spacer al controlslayout
* FrmEstadCompraVenta: Revisar la reducción de la fuente número de documento en el informe
* Refactoring: Derivar FrmEditRec de FrmCustom y eliminar showtabs de FrmEditRec
** Añadir función estática para rellenar los fldlistofvalues
* RecordCompleter: Crearlo cuando el texto sea mayor de tres letras, no al principio,
** por lo tanto, en el validate del searchbox.
** Configuración: [ ] Completar campos de búsqueda
* setJustEdited. Cuando se hace manualmente, luego no se borra. Ejemplo, añadir factura de compra a una factura de venta, el campo tipodoc_codigo.
* Copia de seguridad, falta poner el puerto
* Tras "Asistente de acceso" no añade nombre empresa a título ventana principal
* Formulario de gestión de módulos en dbapp
* Carga automática: http://pocoproject.org/slides/120-SharedLibraries.pdf
* Elegir registro cuando hay un filtro, añades y si no coincide con el filtro, no aparece
** Comprobarlo y mostrar mensaje diciendo que el registro no se verá
* SQLSELECT. Elegir valores múltiples de campos
* No busca la Ñ el browse:
** El problema es: else if( ke->text()[ 0 ].isPrint() )
* FrmEditRecMaster: Exportar como fugit
* FrmAdvancedPrint:
** Pedir el ancho del informe
** Pedir salida
** El logo no sale
* Altura de los lineedit no es fija
* FrmEditRecMaster::Show, cuando es simpleEdition, no llama al beginEdit, con lo cual no se comprueban los permisos
* Crear y borrar la usuaria en la base de datos
* Al grabar un registro, refrescar los formularios de las relaciones
* FrmDatabasetools, al pulsar un botón, comprobar que no hay otras ventanas
* Crear estilos para edición y otros para vistas? (VIEW:INTEGER e INTEGER)
* No funciona duplicar detalles
* Recordar tamaño y posición de la ventana principal
* Los botones del visor de informes están en inglés
* Cerrar informes con el escape
* FrmEditRec Cuando está seleccionado el botón cancelar, si pulsamos ENTER no hace nada
* Nueva instalación con sqlite3
** WARNING: (CREATE UNIQUE INDEX TRATAMIENTOCONTACTO_CODIGO):1:near "TRATAMIENTOCONTACTO_CODIGO": syntax error [void gong::dbConnection::setError(const gong::Xtring&)]
== ventasweb ==
* Subir por ftp, el mensaje de error no está vacío cuando no hay error
== gong-sinpapeles ==
* No muestra los documentos
* FrmEditRecMaster: Añadir acceso directo para ver el documento archivado
* La longitud del documento archivado no puede ser mayor de ...
* Definir los .ddd de sin papeles y añadirlos a la configuración para las otras tablas
== gong-rtk ==
* rtk: Pensar: apaisado, el número de página no se va al final
* rtk: adjustment: elide
* No suprimir un valor en cambio de sección
* Visor:
** Mostrar número de página/total páginas
* Peta si se añade al inicio de xxxx_comun.inc:
#ifndef AGRUPAR
SizeX = 120;
* pagesperfolio=2, no imprime el pie de página de la primera página
=== Error en RTK ===
* Esto falla miserablemente:
INPUTFIELD NOMBRE {
Source = T.NOMBRE;
Type = string;
}
INPUTFIELD IVA {
* Comprobar los estilos de los campos de los informes, que se usen los de gonglib
* Si en un pageheader se pone un objeto con un sizey que va al final y luego hay otros objetos que van al principio, el del final no sale
* rtk: startpage.drawImages no cubre todo el painter
== gong-qt4 ==
* Funciona fatal el osd de la búsqueda incremental en datatable.
* ImageBox: Recibir un parámetro: convert_path
* Tamaño de los listboxes ajustado al máximo del listbox
* PushButton: una propiedad que diga qué hacer con el INTRO
* El richtextedit no envía el evento validate.
** Complicado: El evento lo tiene que enviar el richtextbox que es un QLabel
** Ahora el RichTextEdit modifica el contenido del QLabel, pero esto no debería ser así, además
** debería de ser un FrmCustom, no una QMainWindow para que se pueda hacer un showModalFor.
* No consigo pillar el keypressevent en el reportviewer
* Teclas cursor en la visualización de los informes
* Cuando pulso CTRL+M en cliente en añadir albaran de venta la primera vez sale modificar el detalle.
* FrmImport no se cierra al darle a cerrar porque no es un FrmBase
* No funciona f5 en frmeditrecdetail
* FrmEditRecDetail->Toma el foco el datatable siempre
* El enter de los textboxes es confuso, mejor añadirlo pero si se pulsa otra vez, saltar y borrarlo?
* No sale en español el Qt el mensaje de overwrite a file
* Cuando un editline da error, el cursor se vuelve un caracter a la izda.
* En campos deshabilitados no funciona ctrl+c
== gonglib ==
* Crear tipo de relación ItSelf o algo así
* dbconnection, sqlite3, year() month() => strftime
* Añadir parámetro longitud a fldlistofvalues<Xtring>
* No se pueden anidar transacciones en sqlite3
* Borrar usuario de mysql: REVOKE ALL PRIVILEGES, GRANT OPTION FROM vduser@localhost;
* XmlReader: mejorar parseFile().
* editar fechas de nacimiento, si el año es mayor de 2100 y es multiplo de 100, es un 19xx
* dbSettings::removeSetting no está acabado
* stringInc: Cuando solo son letras, incrementa por la izquierda!
* LineEdit::setText( DateTime::currentDate() ) => "dd/mm/yyyy 01:00:00";
* dbFieldReferenceID: aggregate relations null
* Locale ca falla porque está instalado el ca_ES.
* En settings, si una línea termina así, no da error pero no sigue leyendo ";";
* En settings, no funciona .~Por_proveedora
* Un setting DFDFDF(string)= debe devolverlo con el valor invalid
* Settings::getNextValue: No maneja bien los \\
* dbRecord: save fields right trimmed
== autotools, capel y gong.sh ==
* ENABLE_NLS no está definido: http://www.heiner-eichmann.de/autotools/adding_gettext.html
* gongdbdefinition, no está aislado el boost
* En el gong.sh, capel no funciona con ficheros con espacios en el nombre
* init_project Debug: Genera el makefile completo, no solo los modulos definidos en el configure.ac
* Informe CUENTA.rtk: alignment de header debe y haber no funciona
** capel no genera el objeto ASIENTO.DESCRIPCION en el header del grupo
== Para más tarde ==
* MsgYesNoDontAskAgain: aplicar a main.cpp, language
== Refactoring ==
* Refactor: FrmCsvImport y FrmCsvExport
* dbRecordList no permitir push_back
* FrmCustom: Utilizar un QTabWidget, showTabs
* Refactor: ImagesGallery::addPixmap e ImageBox::setImageData
* GuiApplication::loadImage(filename), GuiApplication::saveImage(filename)
* Quitar el getConnection del dbapp en cada módulo, tomarlo de cada módulo
* Convertir en behavior:
** editorial::frmeditarticulo, contab::frmeditempresa, socias::frmeditapunte, mc:frmproveedora, mc:articulo
== Dudo que lo haga
* Lineedit con mask ###,###,### al suprimir desde la izquierda, la posición del cursor falla
* Pegar fechas con año completo en mascaras sin año completo, tomar los dos digitos ultimos del año
* detalles-> set focus cuando se edita el nombre del artículo, que se vaya al código del artículo
** Hay que redefinir los formularios de detalles, lo cual es mucho trabajo, no merece la pena.
== Bugs ==
* Si se copia un presupuestoventadet a un pedido peta
* Si a un lineedit de tipo date le pasas un datetime en el settext, sale mal el formato y luego la máscara
== CONTABILIDAD ==
* Proveedoras: Es mejor no separar las cuentas.
** En algunos casos, sí que se pueden separar en proveedoras nacionales, comunitarios, extranjeros
* IVA: Siempre va a gestión.
** IVA de la UE: Se hacen dos asientos, uno al soportado y otro al repercutido
** Subcuentas soportado (deducible): 472.
** Subcuentas repercutido (devengado): 477.
* Crear tipo de documento ticket sin factura posterior
** No se puede declarar el IVA
** Genera un asiento como si fuera una factura
** Añade a tipodocumento un campo SINFACTURAPOSTERIOR
* Productos terminados y materias primas:
** Materias primas (compras) 601.
** Productos terminados (ventas ) 701.
** Si solo hubiera una empresa, sería genial, pero en los pájaros hay varios problemas:
*** Si se compra arroz, unas veces va a la 600 y otras a la 601.
*** Se necesita que el mismo artículo unas veces vaya a la 600 y otras a la 601.
*** Cuando compra la cantina a la tienda, tiene que hacerse un asiento en la tienda y otro en la cantina, y la cuenta (600 o 601)
depende de la familia de modo que no hay manera de distinguir
** 628.- Agua, luz y gas
** 629.- todo lo demás
== gonglib 0.6.0 ==
=== dbRecord ===
* Añadir validErrors y un saveNoValidate()
* Crear un objeto Query con métodos para formar una query
* Añadir: List<IntegrityResult> mErrors, mWarnings;
* isValid( context ) => rellena el array de IntegrityResult
* Al guardar un registro, que el resto de registros de las relaciones se pongan mIsRead = false, esto implica tener una lista de registros en memoria
* dbRecordBehavior se tiene que añadir a los registros, no a la tabledefinition
* Mastertable: SemanticProperties, pConnection
* Settings: añadir null values
* usar poco::string
=== gui ===
* Crear interface gui::IControl
** setVisible
** setEnabled
** setEdited
** setJustEdited
** setMustBeReadOnly
** signal validate
** isSettingProgrammatically: Probar a desconectar las señales/slots
* Crear interface gui::FormController
** addControl
** addXXXXControl
** Jerarquía de formularios
* QMdiSubWindow => FrmBase => FrmCustom (con tabs) => FrmEditRec
** FrmBase: public QMdiSubWindow, IFormController
** DialogBase: public QDialog, IFormController
* Q3Table -> Qt4 (http://www.informit.com/articles/article.aspx?p=1750226&seqNum=3)
** Hover sobre q3table, mostrar el texto completo de la celda
** Ctrl+click selecciona pero no deselecciona
** Si no está seleccionado el primer registro, al pulsar ctrl+l selecciona también el primero
** Al ir añadiendo detalles, la última línea no se ve
** Al mover la barra de detalles, no se redibuja bien
** Ajustar el alto de fila a la fuente
** ContextMenu de la pDataTable: Usar el menu del frmeditrecmaster
=== dbapp ===
* En modo release, duplicar vista se cuelga
* Opción en configuración: Guardar la sesión o no, quitar lo de guardar posición de la ventana, que se guarde siempre dentro de la sesión.
** Necesita una forma de que cuando se cierre un FrmBase, se ejecute algo en DBAPP
** Se necesita un refactoring para que FrmBase se una FrmMdiWindow
* canBeginEdit( EditMode &newmode )
* Definición de las vistas: +SELECT BLA,BLA FROM INNER JOIN
* Añadir a herramientas de la base de datos información sobre la conexión como etiquetas en el propio formulario
* Formulario de edición de la configuración:
** Mejorar el buscador: Reiniciar búsqueda, guardar el texto de búsqueda, quitar botón aceptar/cancelar.
** Añadir botón "Añadir clave"
* Shortcuts para los menus en la configuración
* AppReport::fromViewDefinition: Estrechar más los campos más largos (difícil)
* Opción en FrmEditRecMaster para mostrar/ocultar los ids
* FrmEditRec: Posibilidad de añadir controles dinámicamente a partir de una lista de campos,
así se evitaría tener que crear behaviors para campos muy sencillos.
* Quitar última fecha y añadir a frmeditrec la posibilidad de bloquear cualquier campo
** Eliminar el setting USEWORKINGDATE, usar bloqueo de campos
== optimizaciones ==
* CreateRecord: hacerlo en el readrelations
* mysql: no guardar el resultset completo, utilizar el cursor
== Módulos ==
* Avisos: añade campo avisos y cada vez que se elige un registro muestra ese aviso
* SENDBUG: Que msgxtringlist cierre con el intro
* SENDBUG: No poder maximizar la ventana inactiva.
* SENDBUG: A pesar de poner un stylesheet con font-size:10px, los editlines salen muy grandes (fontinfo?)
* SENDBUG: el ctrl+e de un lineedit, no retoma el foco cuando se cierra la ventana (depurar con dos monitores)
== Infinito ==
* tpv: Si no encuentra las imágenes next y previos, no dibuja los rectángulos.
== .deb ==
https://wiki.debian.org/IntroDebianPackaging
#dh_make --native -c gpl -e gestiong@programacionsocial.net -s
cd gestiong
make dist
cp gestiong-0.5.2.tar.gz ~/devel/tmp/gestiong_0.5.2-beta.orig.tar.gz
cd ~/devel/tmp
tar -zxvf gestiong_0.5.2-beta.orig.tar.gz
cd gestiong_0.5.2-beta.orig.tar.gz
debuild -us -uc