diff --git a/.idea/inspectionProfiles/Project_Default.xml b/.idea/inspectionProfiles/Project_Default.xml
new file mode 100644
index 0000000..8303cbd
--- /dev/null
+++ b/.idea/inspectionProfiles/Project_Default.xml
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/inspectionProfiles/profiles_settings.xml b/.idea/inspectionProfiles/profiles_settings.xml
new file mode 100644
index 0000000..3b31283
--- /dev/null
+++ b/.idea/inspectionProfiles/profiles_settings.xml
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 9a45b67..3ef0d6c 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -43,8 +43,8 @@
android:label="@string/title_activity_recepciones" >
+ android:name=".MovArticuloSerie"
+ android:label="@string/title_activity_mov_articulo_serie" >
diff --git a/app/src/main/java/es/incaser/apps/stockcontrol/BarcodeReader.java b/app/src/main/java/es/incaser/apps/stockcontrol/BarcodeReader.java
index 166cfdc..f5a8a3b 100644
--- a/app/src/main/java/es/incaser/apps/stockcontrol/BarcodeReader.java
+++ b/app/src/main/java/es/incaser/apps/stockcontrol/BarcodeReader.java
@@ -6,12 +6,17 @@
import android.database.Cursor;
import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
+import android.text.Editable;
+import android.text.TextWatcher;
import android.text.util.Linkify;
+import android.util.Log;
+import android.view.KeyEvent;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
+import android.widget.AdapterView;
import android.widget.BaseAdapter;
import android.widget.EditText;
import android.widget.ImageButton;
@@ -22,7 +27,7 @@
import java.util.UUID;
-public class BarcodeReader extends ActionBarActivity {
+public class BarcodeReader extends ActionBarActivity{
String tipoMov;
String serieMov;
String documentoMov;
@@ -74,15 +79,38 @@ public boolean onOptionsItemSelected(MenuItem item) {
return super.onOptionsItemSelected(item);
}
+
public void addListenerOnButtonRead() {
btnReader = (ImageButton) findViewById(R.id.btn_read);
txtBarcode = (EditText) findViewById(R.id.txt_barcodeReader);
+ txtBarcode.setOnKeyListener(new View.OnKeyListener() {
+ @Override
+ public boolean onKey(View v, int keyCode, KeyEvent event) {
+ if (event.getAction() == KeyEvent.ACTION_UP){
+ switch (keyCode) {
+ case KeyEvent.KEYCODE_ENTER:
+// if (txtBarcode.getText().toString().length() < 13) {
+// txtBarcode.setText(String.format("%013d", Long.parseLong(txtBarcode.getText().toString())));
+// }
+ leerCodigo(txtBarcode.getText().toString());
+ txtBarcode.setText("");
+ return true;
+ default:
+ break;
+ }
+ }
+ return false;
+ }
+ });
+
+
btnReader.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (txtBarcode.getText().toString().length() > 10){
leerCodigo(txtBarcode.getText().toString());
+ txtBarcode.setText("");
}else {
Toast.makeText(v.getContext(), "Código demasiado corto", Toast.LENGTH_SHORT).show();
}
@@ -94,6 +122,17 @@ public void linkListViewMovimientoStock(){
lvMovimientoStock = (ListView) findViewById(R.id.lv_movimientoStock);
movStockAdapter = new MovStockAdapter(this);
lvMovimientoStock.setAdapter(movStockAdapter);
+ lvMovimientoStock.setOnItemClickListener(new AdapterView.OnItemClickListener() {
+ @Override
+ public void onItemClick(AdapterView> parent, View view, int position, long id) {
+ Intent intent = new Intent(view.getContext(), MovArticuloSerie.class);
+ intent.putExtra("tipoMov", tipoMov);
+ intent.putExtra("serieMov", serieMov);
+ intent.putExtra("documentoMov", documentoMov);
+ intent.putExtra("codArticulo", movStockAdapter.getMovimiento("CodigoArticulo"));
+ startActivity(intent);
+ }
+ });
}
public void linkButtonCamera() {
@@ -132,7 +171,7 @@ private void updateUITextViews(String scan_result, String scan_result_format) {
public class MovStockAdapter extends BaseAdapter{
Context context;
Cursor cursor;
-
+
public MovStockAdapter(Context ctx){
context = ctx;
dbAdapter = new DbAdapter(context);
@@ -202,7 +241,8 @@ public View getView(int position, View convertView, ViewGroup parent) {
private String getMovimiento(String column) {
return cursor.getString(cursor.getColumnIndex(column));
- }
+ }
+
}
private void leerCodigo(String barCode){
diff --git a/app/src/main/java/es/incaser/apps/stockcontrol/DbAdapter.java b/app/src/main/java/es/incaser/apps/stockcontrol/DbAdapter.java
index 132f116..680e278 100644
--- a/app/src/main/java/es/incaser/apps/stockcontrol/DbAdapter.java
+++ b/app/src/main/java/es/incaser/apps/stockcontrol/DbAdapter.java
@@ -349,6 +349,13 @@ public Cursor getMovArticuloSerieByDoc(String codigoEmpresa, String tipoMovimien
return cur;
}
+ public Cursor getMovArticuloSerieByDoc(String codigoEmpresa, String tipoMovimiento, String serie, String documento, String articulo) {
+ String where ="CodigoEmpresa=? AND OrigenDocumento=? AND SerieDocumento=? AND Documento=? AND CodigoArticulo=?";
+ Cursor cur = db.query("MovimientoArticuloSerie", new String[]{"*"}, where,
+ new String[]{codigoEmpresa, TipoMovimiento.origenMov(tipoMovimiento), serie, documento, articulo}, "", "", "");
+ return cur;
+ }
+
public void updateUnidadesMovStock(String codigoEmpresa, String tipoMovimiento, String serie, String documento) {
String sql = "UPDATE MovimientoStock SET Unidades = (SELECT COUNT(id) " +
"FROM MovimientoArticuloSerie " +
@@ -512,22 +519,6 @@ SQLiteDatabase getDb() {
return db;
}
- public Cursor getUltimoArqueo(String empresa, String establecimiento, String maquina) {
- String[] cols = new String[]{"INC_FechaRecaudacion", "INC_ValorArqueoTeorico"};
- String where = "INC_ArqueoRealizado<>0 AND CodigoEmpresa=? AND INC_CodigoEstablecimiento=? AND INC_CodigoMaquina=?";
- String[] whereArgs = new String[]{empresa, establecimiento, maquina};
-
- return db.query("RecaudacionesAnteriores", cols, where, whereArgs, "", "", "INC_FechaRecaudacion DESC, INC_HoraRecaudacion DESC", "1");
- }
-
- public Cursor getUltimaRecaudacion(String empresa, String establecimiento, String maquina) {
- String[] cols = new String[]{"*"};
- String where = "CodigoEmpresa=? AND INC_CodigoEstablecimiento=? AND INC_CodigoMaquina=?";
- String[] whereArgs = new String[]{empresa, establecimiento, maquina};
-
- return db.query("RecaudacionesAnteriores", cols, where, whereArgs, "", "", "INC_FechaRecaudacion DESC, INC_HoraRecaudacion DESC", "1");
- }
-
public Cursor getIncidencias(String empresa, String establecimiento, String maquina) {
return getIncidencias(empresa, establecimiento, maquina, false);
}
@@ -550,73 +541,4 @@ public Cursor getIncidencia(long idIncidencia) {
return db.query("INC_Incidencias", cols, where, whereArgs, "", "", "");
}
-
-
- public Cursor getRecuperacionesPrestamo(String empresa, String codigoPrestamo) {
- String[] cols = new String[]{"*"};
- String where = "CodigoEmpresa=? AND INC_CodigoPrestamo=?";
- String[] whereArgs = new String[]{empresa, codigoPrestamo};
-
- return db.query("INC_RecuperacionesPrestamo", cols, where, whereArgs,
- "", "", "INC_FechaRecuperacion DESC");
- }
-
- public Cursor getSumasDesde(String empresa, String establecimiento, String maquina, String fechaDesde) {
- String[] cols = new String[]{"SUM(INC_Bruto) AS SumaBruto",
- "SUM(INC_JugadoTeorico) AS SumaJugadoTeorico",
- "SUM(INC_PremioTeorico) AS SumaPremioTeorico",
- "SUM(INC_ImporteRetencion) AS SumaImporteRetencion",
- "SUM(INC_RecuperaCargaEmpresa) AS SumaRecuperaCargaEmpresa",
- "SUM(INC_RecuperaCargaEstablecimiento) AS SumaRecuperaCargaEstablecimiento",
- "SUM(INC_CargaHopperEmpresa) AS SumaCargaHopperEmpresa",
- "SUM(INC_CargaHopperEstablecimiento) AS SumaCargaHopperEstablecimiento"};
- String where = "CodigoEmpresa=? AND INC_CodigoEstablecimiento=? AND INC_CodigoMaquina=? AND INC_FechaRecaudacion > ?";
- String[] whereArgs = new String[]{empresa, establecimiento, maquina, fechaDesde};
-
- return db.query("RecaudacionesAnteriores", cols, where, whereArgs, "", "", "INC_FechaRecaudacion DESC, INC_HoraRecaudacion DESC", "1");
- }
-
- public void deleteRecaudacion(String idRecaudacion) {
- db.delete("INC_LineasRecaudacion", "id=?", new String[]{idRecaudacion});
- }
-
- public void deleteCabRecaudacion(String idCabRecaudacion) {
- db.delete("INC_CabeceraRecaudacion", "id=?", new String[]{idCabRecaudacion});
- }
-
- public void deleteRecuperacion(String idRecuperacion) {
- db.delete("INC_RecuperacionesPrestamo", "id=?", new String[]{idRecuperacion});
- }
-
- public float getTotalRecuperaPrestamo(String codigoRecaudacion) {
- String[] cols = new String[]{"SUM(ImporteLiquido) AS SumaImporteLiquido"};
- String where = "INC_CodigoRecaudacion=?";
- String[] whereArgs = new String[]{codigoRecaudacion};
-
- Cursor cur = db.query( "INC_RecuperacionesPrestamo", cols, where, whereArgs, "", "", "");
- if (cur.moveToFirst()){
- return cur.getFloat(0);
- }else {
- return 0;
- }
- }
-
- public Cursor getTotalRecaudadoAll() {
- String[] campos = new String[]{
- "SUM(INC_TotalRecaudacion) AS INC_TotalRecaudacion",
- "SUM(INC_TotalRetencion) AS INC_TotalRetencion",
- "SUM(INC_TotalNeto) AS INC_TotalNeto",
- "SUM(INC_TotalEstablecimiento) AS INC_TotalEstablecimiento",
- "SUM(INC_TotalNetoMasRetencion) AS INC_TotalNetoMasRetencion",
- "SUM(INC_TotalRecuperaCarga) AS INC_TotalRecuperaCarga",
- "SUM(INC_TotalRecuperaPrestamo) AS INC_TotalRecuperaPrestamo",
- "SUM(INC_TotalSaldo) AS INC_TotalSaldo",
- "SUM(INC_MaquinasRecaudadas) AS INC_MaquinasRecaudadas"
- };
- String where = "";
- String[] whereArgs = new String[]{};
-
- return db.query( "INC_CabeceraRecaudacion", campos, where, whereArgs, "", "", "");
- }
-
}
diff --git a/app/src/main/java/es/incaser/apps/stockcontrol/MovArticuloSerie.java b/app/src/main/java/es/incaser/apps/stockcontrol/MovArticuloSerie.java
new file mode 100644
index 0000000..bcdcad4
--- /dev/null
+++ b/app/src/main/java/es/incaser/apps/stockcontrol/MovArticuloSerie.java
@@ -0,0 +1,153 @@
+package es.incaser.apps.stockcontrol;
+
+import android.content.Context;
+import android.database.Cursor;
+import android.support.v7.app.ActionBarActivity;
+import android.os.Bundle;
+import android.view.LayoutInflater;
+import android.view.Menu;
+import android.view.MenuItem;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.BaseAdapter;
+import android.widget.ListView;
+import android.widget.TextView;
+
+
+public class MovArticuloSerie extends ActionBarActivity {
+ ListView lvMovArticuloSerie;
+ MovArticuloSerieAdapter movArticuloSerieAdapter;
+ DbAdapter dbAdapter;
+ String tipoMov;
+ String serieMov;
+ String documentoMov;
+ String codArticulo;
+
+
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ setContentView(R.layout.activity_mov_articulo_serie);
+
+ getInitParams();
+ }
+
+ void getInitParams(){
+ Bundle bundle = getIntent().getExtras();
+ tipoMov = bundle.getString("tipoMov");
+ serieMov = bundle.getString("serieMov","");
+ documentoMov = bundle.getString("documentoMov","");
+ codArticulo = bundle.getString("codArticulo","");
+
+ lvMovArticuloSerie = (ListView) findViewById(R.id.lv_mov_articulo_serie);
+ movArticuloSerieAdapter = new MovArticuloSerieAdapter(this);
+ lvMovArticuloSerie.setAdapter(movArticuloSerieAdapter);
+ }
+
+
+ @Override
+ public boolean onCreateOptionsMenu(Menu menu) {
+ // Inflate the menu; this adds items to the action bar if it is present.
+ getMenuInflater().inflate(R.menu.menu_mov_articulo_serie, menu);
+ return true;
+ }
+
+ @Override
+ public boolean onOptionsItemSelected(MenuItem item) {
+ // Handle action bar item clicks here. The action bar will
+ // automatically handle clicks on the Home/Up button, so long
+ // as you specify a parent activity in AndroidManifest.xml.
+ int id = item.getItemId();
+
+ //noinspection SimplifiableIfStatement
+ if (id == R.id.action_settings) {
+ return true;
+ }
+
+ return super.onOptionsItemSelected(item);
+ }
+
+ public class MovArticuloSerieAdapter extends BaseAdapter {
+ Context context;
+ Cursor cursor;
+
+ public MovArticuloSerieAdapter(Context ctx) {
+ context = ctx;
+ dbAdapter = new DbAdapter(context);
+ cursor = dbAdapter.getMovArticuloSerieByDoc(MainActivity.codigoEmpresa, tipoMov,
+ serieMov, documentoMov, codArticulo);
+ cursor.moveToFirst();
+ }
+
+ @Override
+ public int getCount() {
+ return cursor.getCount();
+ }
+
+ @Override
+ public Object getItem(int position) {
+ cursor.moveToPosition(position);
+ return cursor;
+ }
+
+ @Override
+ public long getItemId(int position) {
+ cursor.moveToPosition(position);
+ return cursor.getLong(cursor.getColumnIndex("id"));
+ }
+
+ @Override
+ public View getView(int position, View convertView, ViewGroup parent) {
+ View myView = null;
+
+ if (convertView == null) {
+ LayoutInflater myInflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
+ myView = myInflater.inflate(R.layout.item_mov_art_serie, null);
+ } else {
+ myView = convertView;
+ }
+ cursor.moveToPosition(position);
+
+ TextView txtSubFamilia = (TextView) myView.findViewById(R.id.tv_mov_art_serie_articulo);
+ TextView txtGramaje = (TextView) myView.findViewById(R.id.tv_mov_art_serie_gramaje);
+ TextView txtAncho = (TextView) myView.findViewById(R.id.tv_mov_art_serie_ancho);
+ TextView txtDiametro = (TextView) myView.findViewById(R.id.tv_mov_art_serie_diametro);
+ TextView txtPeso = (TextView) myView.findViewById(R.id.tv_mov_art_serie_peso);
+ TextView txtLongitud = (TextView) myView.findViewById(R.id.tv_mov_art_serie_longitud);
+ TextView txtAnoBobina = (TextView) myView.findViewById(R.id.tv_mov_art_serie_ano);
+ TextView txtStatusSync = (TextView) myView.findViewById(R.id.tv_mov_art_serie_status_sync);
+ TextView txtNumSerie = (TextView) myView.findViewById(R.id.tv_mov_art_serie_num_serie);
+
+ txtSubFamilia.setText(getRecord("CodigoSubfamilia"));
+ txtGramaje.setText(getRecord("PesoNetoUnitario_"));
+ txtAncho.setText(getRecord("VolumenUnitario_"));
+ txtDiametro.setText(getRecord("CodigoTalla01_"));
+ txtPeso.setText(getRecord("TBL_Peso"));
+ txtLongitud.setText(getRecord("TBL_Longitud"));
+ txtAnoBobina.setText(getRecord("TBL_AnoBobina"));
+ txtNumSerie.setText(getRecord("NumeroSerieLc"));
+
+ String statusSync =getRecord("StatusAndroidSync");
+ txtStatusSync.setText(StatusSync.getSyncDescription(statusSync, myView.getContext()));
+
+ switch (statusSync){
+ case StatusSync.PREVISTO:
+ txtStatusSync.setBackgroundColor(getResources().getColor(R.color.status_previsto));
+ break;
+ case StatusSync.ESCANEADO:
+ txtStatusSync.setBackgroundColor(getResources().getColor(R.color.status_escaneado));
+ break;
+ case StatusSync.PARA_CREAR:
+ txtStatusSync.setBackgroundColor(getResources().getColor(R.color.status_para_crear));
+ break;
+ default:
+ txtStatusSync.setBackgroundColor(getResources().getColor(R.color.white));
+ }
+ return myView;
+ }
+
+ public String getRecord(String column) {
+ return cursor.getString(cursor.getColumnIndex(column));
+ }
+ }
+}
diff --git a/app/src/main/java/es/incaser/apps/stockcontrol/MovArticuloSerieDetail.java b/app/src/main/java/es/incaser/apps/stockcontrol/MovArticuloSerieDetail.java
deleted file mode 100644
index c82c89e..0000000
--- a/app/src/main/java/es/incaser/apps/stockcontrol/MovArticuloSerieDetail.java
+++ /dev/null
@@ -1,39 +0,0 @@
-package es.incaser.apps.stockcontrol;
-
-import android.support.v7.app.ActionBarActivity;
-import android.os.Bundle;
-import android.view.Menu;
-import android.view.MenuItem;
-
-
-public class MovArticuloSerieDetail extends ActionBarActivity {
-
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_mov_articulo_serie_detail);
- }
-
-
- @Override
- public boolean onCreateOptionsMenu(Menu menu) {
- // Inflate the menu; this adds items to the action bar if it is present.
- getMenuInflater().inflate(R.menu.menu_mov_articulo_serie_detail, menu);
- return true;
- }
-
- @Override
- public boolean onOptionsItemSelected(MenuItem item) {
- // Handle action bar item clicks here. The action bar will
- // automatically handle clicks on the Home/Up button, so long
- // as you specify a parent activity in AndroidManifest.xml.
- int id = item.getItemId();
-
- //noinspection SimplifiableIfStatement
- if (id == R.id.action_settings) {
- return true;
- }
-
- return super.onOptionsItemSelected(item);
- }
-}
diff --git a/app/src/main/java/es/incaser/apps/stockcontrol/StatusSync.java b/app/src/main/java/es/incaser/apps/stockcontrol/StatusSync.java
index 8807f20..c5c1296 100644
--- a/app/src/main/java/es/incaser/apps/stockcontrol/StatusSync.java
+++ b/app/src/main/java/es/incaser/apps/stockcontrol/StatusSync.java
@@ -1,16 +1,52 @@
package es.incaser.apps.stockcontrol;
+import android.content.Context;
+
/**
* Created by sergio on 9/01/15.
*/
public class StatusSync {
- public static String PEND_IMPORTAR = "-2";
- public static String IMPORTANDO = "-1";
- public static String PREVISTO = "0";
- public static String ESCANEADO = "1";
- public static String EXPORTANDO = "2";
- public static String EXPORTADO = "3";
- public static String SYNC_SAICA = "4";
- public static String PARA_CREAR = "98";
- public static String NOT_INSQL = "99";
+ public static final String PEND_IMPORTAR = "-2";
+ public static final String IMPORTANDO = "-1";
+ public static final String PREVISTO = "0";
+ public static final String ESCANEADO = "1";
+ public static final String EXPORTANDO = "2";
+ public static final String EXPORTADO = "3";
+ public static final String SYNC_SAICA = "4";
+ public static final String PARA_CREAR = "98";
+ public static final String NOT_INSQL = "99";
+
+ public static String getSyncDescription(String statusSync, Context ctx){
+ String res = "";
+ switch (statusSync){
+ case PEND_IMPORTAR:
+ res = ctx.getResources().getString(R.string.status_sync_pend_importar);
+ break;
+ case IMPORTANDO:
+ res = ctx.getResources().getString(R.string.status_sync_importando);
+ break;
+ case PREVISTO:
+ res = ctx.getResources().getString(R.string.status_sync_previsto);
+ break;
+ case ESCANEADO:
+ res = ctx.getResources().getString(R.string.status_sync_escaneado);
+ break;
+ case EXPORTANDO:
+ res = ctx.getResources().getString(R.string.status_sync_exportando);
+ break;
+ case EXPORTADO:
+ res = ctx.getResources().getString(R.string.status_sync_exportado);
+ break;
+ case SYNC_SAICA:
+ res = ctx.getResources().getString(R.string.status_sync_sync_saica);
+ break;
+ case PARA_CREAR:
+ res = ctx.getResources().getString(R.string.status_sync_para_crear);
+ break;
+ case NOT_INSQL:
+ res = ctx.getResources().getString(R.string.status_sync_not_insql);
+ break;
+ }
+ return res;
+ }
}
diff --git a/app/src/main/res/layout/activity_barcode_reader.xml b/app/src/main/res/layout/activity_barcode_reader.xml
index 69c7a30..7313a5c 100644
--- a/app/src/main/res/layout/activity_barcode_reader.xml
+++ b/app/src/main/res/layout/activity_barcode_reader.xml
@@ -23,8 +23,8 @@
android:layout_width="match_parent"
android:layout_height="fill_parent"
android:padding="15dp"
- android:text="44671420222703"
- android:inputType="number" />
+ android:inputType="number"
+ android:hint="Codigo Barras" />
-
-
+ tools:context="es.incaser.apps.stockcontrol.MovArticuloSerie">
+
+
diff --git a/app/src/main/res/layout/item_mov_art_serie.xml b/app/src/main/res/layout/item_mov_art_serie.xml
new file mode 100644
index 0000000..e64e82a
--- /dev/null
+++ b/app/src/main/res/layout/item_mov_art_serie.xml
@@ -0,0 +1,217 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/app/src/main/res/menu/menu_mov_articulo_serie.xml b/app/src/main/res/menu/menu_mov_articulo_serie.xml
new file mode 100644
index 0000000..eb37b35
--- /dev/null
+++ b/app/src/main/res/menu/menu_mov_articulo_serie.xml
@@ -0,0 +1,7 @@
+
diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml
index be124f8..a698abc 100644
--- a/app/src/main/res/values/colors.xml
+++ b/app/src/main/res/values/colors.xml
@@ -5,4 +5,7 @@
#fff
#ffd9d8d7
#ffff8843
+ #ffd9fff7
+ #ffb0ff68
+ #ff5338ff
\ No newline at end of file
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 505eee8..1d396b3 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -34,5 +34,15 @@
Soft sync
Recepciones
Detalle movimiento
+ Mov. Series
+ PREVISTO
+ PENDIENTE IMPORTAR
+ IMPORTANDO
+ ESCANEADO
+ EXPORTANDO
+ EXPORTADO
+ SINCRONIZADO CON SAICA
+ PARA CREAR
+ NO EN SQL