Cambios y correcciones, sí, sigo con la exportación
parent
492475fbdd
commit
84f012ad6c
|
|
@ -549,36 +549,21 @@ namespace OliviaAddInPro.Helper
|
|||
* Forma la envolvente convexa, el mínimo polígono,
|
||||
* que contiene los ámbitos para exportar, a partir de ahí la red navegable ampliando a un buffer
|
||||
*/
|
||||
public static Task<ArcGIS.Core.Geometry.Geometry> GetGeomConvexHull(FeatureClass fclss, ArcGIS.Core.Data.QueryFilter filter, CancelableProgressorSource cps=null)
|
||||
public static Task<ArcGIS.Core.Geometry.Geometry> GetGeomConvexHull(FeatureClass fclss, ArcGIS.Core.Data.QueryFilter filter)
|
||||
{
|
||||
ArcGIS.Core.Geometry.Geometry geomIni = null;
|
||||
|
||||
return ArcGIS.Desktop.Framework.Threading.Tasks.QueuedTask.Run((Func<ArcGIS.Core.Geometry.Geometry>)(() =>
|
||||
{
|
||||
geomIni = GetGeomUnique(fclss, filter, cps);
|
||||
return geomIni;
|
||||
/*if (geomIni != null)
|
||||
{
|
||||
ArcGIS.Core.Geometry.Geometry geomSal = null;
|
||||
try
|
||||
{
|
||||
geomSal = GeometryEngine.Instance.ConvexHull(geomIni);
|
||||
return geomSal;
|
||||
}
|
||||
catch
|
||||
{
|
||||
return null;
|
||||
}
|
||||
}
|
||||
else
|
||||
return null;*/
|
||||
geomIni = GetGeomUnique(fclss, filter);
|
||||
return geomIni;
|
||||
}));
|
||||
}
|
||||
|
||||
/*
|
||||
* A partir de una capa recorre todos los elementos que cumplen el filtro y los une en una única geometría
|
||||
*/
|
||||
public static ArcGIS.Core.Geometry.Geometry GetGeomUnique(FeatureClass fclss, ArcGIS.Core.Data.QueryFilter filtro, CancelableProgressorSource cps)
|
||||
public static ArcGIS.Core.Geometry.Geometry GetGeomUnique(FeatureClass fclss, ArcGIS.Core.Data.QueryFilter filtro)
|
||||
{
|
||||
ArcGIS.Core.Geometry.Geometry geomsal = null;
|
||||
ReiniciaOutStr();
|
||||
|
|
@ -586,7 +571,6 @@ namespace OliviaAddInPro.Helper
|
|||
try
|
||||
{
|
||||
var geom = new List<ArcGIS.Core.Geometry.Geometry>();
|
||||
//geomSal = GeometryEngine.Instance.Union(f);
|
||||
using (RowCursor rowCursor = fclss.Search(filtro))
|
||||
{
|
||||
|
||||
|
|
@ -595,9 +579,7 @@ namespace OliviaAddInPro.Helper
|
|||
using (Row row = rowCursor.Current)
|
||||
{
|
||||
if (row is Feature ft)
|
||||
geom.Add(ft.GetShape());
|
||||
//geomsal = UneGeom(geomsal, ft.GetShape());
|
||||
|
||||
geom.Add(ft.GetShape());
|
||||
}
|
||||
}
|
||||
geomsal= GeometryEngine.Instance.Union(geom);
|
||||
|
|
@ -638,7 +620,7 @@ namespace OliviaAddInPro.Helper
|
|||
{
|
||||
where = $"{fieldName} = {Quote(f)}{selFieldVals[i]}{Quote(f)}";
|
||||
filtro = new ArcGIS.Core.Data.QueryFilter { WhereClause = where };
|
||||
geomAux = GetGeomUnique(fclss, filtro, null);
|
||||
geomAux = GetGeomUnique(fclss, filtro);
|
||||
if(geomAux == null)
|
||||
{
|
||||
ok = false;
|
||||
|
|
@ -1072,39 +1054,46 @@ namespace OliviaAddInPro.Helper
|
|||
public static Respuesta<ArcGIS.Core.Geometry.Geometry> AddPtoInGeom(Coordinate2D pto, ArcGIS.Core.Geometry.Geometry geom)
|
||||
{
|
||||
Respuesta<ArcGIS.Core.Geometry.Geometry> resp = new Respuesta<ArcGIS.Core.Geometry.Geometry>();
|
||||
double buffer = 100;//m de distancia desde la instalación
|
||||
double buffer = 0;//m de distancia desde la instalación
|
||||
bool repite = true;
|
||||
ArcGIS.Core.Geometry.Geometry geom_pto, geom_sal;
|
||||
try
|
||||
{
|
||||
ArcGIS.Core.Geometry.Geometry geom_pto = GeometryEngine.Instance.Buffer(pto.ToMapPoint(), buffer);
|
||||
if(geom_pto==null || geom_pto.IsEmpty)
|
||||
do
|
||||
{
|
||||
resp.Value = null;
|
||||
resp.Error.Add("Error al bufferear punto para incluirlo en polígono");
|
||||
return resp;
|
||||
buffer += 100;
|
||||
geom_pto = GeometryEngine.Instance.Buffer(pto.ToMapPoint(), buffer);
|
||||
if(geom_pto==null || geom_pto.IsEmpty)
|
||||
{
|
||||
resp.Value = null;
|
||||
resp.Error.Add("Error al bufferear punto para incluirlo en polígono");
|
||||
return resp;
|
||||
}
|
||||
//hace la convex hull, por si no fueran conexas las zonas
|
||||
repite= GeometryEngine.Instance.Disjoint(geom_pto, geom);
|
||||
/*if (geom_aux == null || geom_aux.IsEmpty)
|
||||
{
|
||||
ArcGIS.Core.Geometry.Envelope env1 = geom_sal.Extent;
|
||||
ArcGIS.Core.Geometry.Envelope env2 = geom_pto.Extent;
|
||||
ArcGIS.Core.Geometry.Envelope env3 = env1.Union(env2);
|
||||
geom_sal = (ArcGIS.Core.Geometry.Geometry) env3;
|
||||
//geom_sal = GeometryEngine.Instance.Envelope(geom_sal);
|
||||
if (geom_sal == null || geom_sal.IsEmpty)
|
||||
{
|
||||
resp.Value = null;
|
||||
resp.Error.Add("Error al hacer envolvente en unir punto al polígono");
|
||||
return resp;
|
||||
}
|
||||
}*/
|
||||
}
|
||||
ArcGIS.Core.Geometry.Geometry geom_sal = GeometryEngine.Instance.Union(geom_pto, geom);
|
||||
while (repite);
|
||||
geom_sal = GeometryEngine.Instance.Union(geom_pto, geom);
|
||||
if (geom_sal == null || geom_sal.IsEmpty)
|
||||
{
|
||||
resp.Value = null;
|
||||
resp.Error.Add("Error al unir punto a polígono");
|
||||
return resp;
|
||||
}
|
||||
//hace la convez hull, por si no fueran conexas las zonas
|
||||
ArcGIS.Core.Geometry.Geometry geom_aux= GeometryEngine.Instance.Intersection(geom_pto, geom);
|
||||
if (geom_aux == null || geom_aux.IsEmpty)
|
||||
{
|
||||
ArcGIS.Core.Geometry.Envelope env1 = geom_sal.Extent;
|
||||
ArcGIS.Core.Geometry.Envelope env2 = geom_pto.Extent;
|
||||
ArcGIS.Core.Geometry.Envelope env3 = env1.Union(env2);
|
||||
geom_sal = (ArcGIS.Core.Geometry.Geometry) env3;
|
||||
//geom_sal = GeometryEngine.Instance.Envelope(geom_sal);
|
||||
if (geom_sal == null || geom_sal.IsEmpty)
|
||||
{
|
||||
resp.Value = null;
|
||||
resp.Error.Add("Error al hacer envolvente en unir punto al polígono");
|
||||
return resp;
|
||||
}
|
||||
}
|
||||
resp.Value = geom_sal;
|
||||
return resp;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -52,10 +52,7 @@ namespace OliviaAddInPro.Model
|
|||
public TareaRes Ejecuta(ModosEjec modo, CancelableProgressorSource cps)
|
||||
{
|
||||
TareaRes res = null;
|
||||
if (modo == ModosEjec.Sectoriza)
|
||||
res = Serv.Sectoriza(cps);
|
||||
else if (modo == ModosEjec.Planifica)
|
||||
res = Serv.Planifica(cps);
|
||||
res = Serv.Ejecuta(modo, cps);
|
||||
return res;
|
||||
}
|
||||
public async void EjecutaAsync(ModosEjec modo, CancelableProgressorSource cps, Action<TareaRes> ffin)
|
||||
|
|
|
|||
|
|
@ -82,12 +82,9 @@ namespace OliviaAddInPro.Model
|
|||
public TareaRes Ejecuta(ModosEjec modo, CancelableProgressorSource cps)
|
||||
{
|
||||
TareaRes res = null;
|
||||
if (modo == ModosEjec.Sectoriza)
|
||||
res = Serv.Sectoriza(cps);
|
||||
else if (modo == ModosEjec.Planifica)
|
||||
res = Serv.Planifica(cps);
|
||||
res = Serv.Ejecuta(modo, cps);
|
||||
return res;
|
||||
|
||||
|
||||
}
|
||||
public async void EjecutaAsync(ModosEjec modo, CancelableProgressorSource cps, Action<TareaRes> ffin)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -40,6 +40,13 @@ namespace OliviaAddInPro.Services
|
|||
ErrStr = string.Empty;
|
||||
try
|
||||
{
|
||||
//Comprueba que tiene las columnas necesarias para planificar
|
||||
if ((modo == ModosEjec.Planifica) && !CompruebaPlanif())
|
||||
{
|
||||
ErrStr = "En la capa de ámbitos seleccionada no se encuentran columnas de SECTOR y/o SECUENCIA, necesarias para planificar";
|
||||
return false;
|
||||
}
|
||||
|
||||
//Cuenta las filas que cumplen la consulta
|
||||
int nelems = HelperGdb.GetNumElems(com.CapaElems, com.ConsultaAmbs);
|
||||
if (nelems <= 0)
|
||||
|
|
@ -52,7 +59,7 @@ namespace OliviaAddInPro.Services
|
|||
|
||||
//Obtiene la geometría que envuelve a los ámbitos
|
||||
Geometry geom_export = null;
|
||||
geom_export = GetGeomAmbitsExport(cps);
|
||||
geom_export = GetGeomAmbitsExport();
|
||||
if (geom_export == null || geom_export.IsEmpty)
|
||||
{
|
||||
ErrStr = "No se ha podido generar geometría de los ámbitos" + com.ConsultaAmbs + ErrStr;
|
||||
|
|
@ -212,7 +219,7 @@ namespace OliviaAddInPro.Services
|
|||
/**
|
||||
* Prepara la geometría para exportar los ámbitos
|
||||
*/
|
||||
public Geometry GetGeomAmbitsExport(CancelableProgressorSource cps)
|
||||
public Geometry GetGeomAmbitsExport()
|
||||
{
|
||||
Geometry geomAux = null;
|
||||
Geometry geomAmbits = null;
|
||||
|
|
@ -247,14 +254,13 @@ namespace OliviaAddInPro.Services
|
|||
ErrStr = "Al emplear ejes de calle como ámbitos es necesario indicar polígono de exportación";
|
||||
return null;
|
||||
}
|
||||
cps.Value = 30;
|
||||
|
||||
//prepara el filtro con consulta y espacial
|
||||
SpatialQueryFilter filtro = HelperGdb.CreateFiler(com.ConsultaAmbs, geomAux);
|
||||
if (geomAux == null)
|
||||
{
|
||||
//Ahora hace la geometría de los ámbitos que cumplen la consulta, si no hay ya geometría
|
||||
geomAmbits = HelperGdb.GetGeomConvexHull(fc, filtro, cps).Result;
|
||||
geomAmbits = HelperGdb.GetGeomConvexHull(fc, filtro).Result;
|
||||
if (geomAmbits == null || geomAmbits.IsEmpty)
|
||||
{
|
||||
ErrStr = "No se ha podido generar geometría de los ámbitos" + com.ConsultaAmbs + HelperGdb.OutStr;
|
||||
|
|
@ -262,7 +268,6 @@ namespace OliviaAddInPro.Services
|
|||
}
|
||||
geomAux = geomAmbits;
|
||||
}
|
||||
cps.Value = 60;
|
||||
//le quita las restricciones
|
||||
if (com.GeomRestr != null)
|
||||
{
|
||||
|
|
@ -273,7 +278,6 @@ namespace OliviaAddInPro.Services
|
|||
return null;
|
||||
}
|
||||
}
|
||||
cps.Value = 75;
|
||||
HelperGdb.Free(fc);
|
||||
return geomAux;
|
||||
}
|
||||
|
|
@ -333,6 +337,21 @@ namespace OliviaAddInPro.Services
|
|||
return CompruebaCampos(pathCapa, camps) == 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* Comprueba lo necesario para ver si hay campos para la planificación
|
||||
*/
|
||||
public bool CompruebaPlanif()
|
||||
{
|
||||
//si ha importado no hace falta que compruebe, seguro que las tiene
|
||||
if (OliviaGlob.IsConfig2())
|
||||
return true;
|
||||
//no ha importado, comprueba capa
|
||||
if (ComprCamposPlanif(com.CapaElems))
|
||||
return true;
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Borra los archivos exportados para el proceso
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -27,7 +27,7 @@ namespace OliviaAddInPro.Services
|
|||
* Modo 0, sectorizar
|
||||
* Modo 1, planificar
|
||||
*/
|
||||
public TareaRes Sectoriza(CancelableProgressorSource cps)
|
||||
public TareaRes Ejecuta(ModosEjec modo, CancelableProgressorSource cps)
|
||||
{
|
||||
var res = new TareaRes()
|
||||
{
|
||||
|
|
@ -74,36 +74,7 @@ namespace OliviaAddInPro.Services
|
|||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
public TareaRes Planifica(CancelableProgressorSource cps)
|
||||
{
|
||||
TareaRes res = new TareaRes()
|
||||
{
|
||||
Errores = false,
|
||||
msg = "",
|
||||
data = null
|
||||
};
|
||||
//se asegura que tiene todo para planif
|
||||
//ErrStr = string.Empty;
|
||||
if (!CompruebaPlanif())
|
||||
{
|
||||
res.msg = "En la capa de ámbitos seleccionada no se encuentran columnas de SECTOR y/o SECUENCIA, necesarias para planificar";
|
||||
res.Errores = true;
|
||||
return res;
|
||||
}
|
||||
//Prepara consulta
|
||||
string nombFileAmbs = string.Empty;
|
||||
//Prepara consulta
|
||||
if (!PreparaConsulta(out nombFileAmbs))
|
||||
{
|
||||
res.msg = "No se ha seleccionado una consulta válida" + limp.ConsultaAmbs;
|
||||
res.Errores = true;
|
||||
return res;
|
||||
}
|
||||
|
||||
return res;
|
||||
}
|
||||
}
|
||||
|
||||
public string DameAmbsConsulta(out string ambs_file)
|
||||
{
|
||||
|
|
@ -134,9 +105,9 @@ namespace OliviaAddInPro.Services
|
|||
/**
|
||||
* Comprueba lo necesario para ver si hay campos para la planificación
|
||||
*/
|
||||
public bool CompruebaPlanif()
|
||||
public bool CompruebaPlanif2()
|
||||
{
|
||||
|
||||
//NO SE USA AQUÍ, ESTÁ EN EJECSERV
|
||||
//si ha importado no hace falta que compruebe, seguro que las tiene
|
||||
if (OliviaGlob.IsConfig2())
|
||||
return true;
|
||||
|
|
|
|||
|
|
@ -60,7 +60,7 @@ namespace OliviaAddInPro.Services
|
|||
* Modo 0, sectorizar
|
||||
* Modo 1, planificar
|
||||
*/
|
||||
public TareaRes Sectoriza(CancelableProgressorSource cps)
|
||||
public TareaRes Ejecuta(ModosEjec modo, CancelableProgressorSource cps)
|
||||
{
|
||||
var res = new TareaRes()
|
||||
{
|
||||
|
|
@ -85,7 +85,6 @@ namespace OliviaAddInPro.Services
|
|||
|
||||
//Prepara nombre
|
||||
//Pone nombre al shape en función de los ámbitos, el tratamiento, y los polígonos + timestamp
|
||||
//REVISAR PARA RECO
|
||||
reco.NombreShpExp_PrefTto = nombFileAmbs + DameStrPoligs();
|
||||
|
||||
string msg = "";
|
||||
|
|
@ -111,75 +110,43 @@ namespace OliviaAddInPro.Services
|
|||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
public TareaRes Planifica(CancelableProgressorSource cps)
|
||||
|
||||
public string DameAmbsConsulta(out string cap_abrev)
|
||||
{
|
||||
TareaRes res = new TareaRes()
|
||||
string consulta, orstr, aux;
|
||||
|
||||
consulta = null;
|
||||
cap_abrev = "";
|
||||
aux = "";
|
||||
orstr = null;
|
||||
|
||||
if (reco.TipoFrac != -1)
|
||||
{
|
||||
Errores = false,
|
||||
msg = "",
|
||||
data = null
|
||||
};/*
|
||||
//se asegura que tiene todo para planif
|
||||
//ErrStr = string.Empty;
|
||||
if (!CompruebaPlanif())
|
||||
{
|
||||
res.msg = "En la capa de ámbitos seleccionada no se encuentran columnas de SECTOR y/o SECUENCIA, necesarias para planificar";
|
||||
res.Errores = true;
|
||||
return res;
|
||||
consulta = consulta + orstr + "(" + RecogidaDef.filtro_str[reco.TipoFrac] + ")";
|
||||
cap_abrev = reco.TipoFrac.ToString("00");
|
||||
cap_abrev = "F" + cap_abrev + "_";
|
||||
if (consulta == "()")
|
||||
consulta = "";
|
||||
}
|
||||
//Prepara consulta
|
||||
string nombFileAmbs = string.Empty;
|
||||
//Prepara consulta
|
||||
if (!PreparaConsulta(out nombFileAmbs))
|
||||
if (orstr == null)
|
||||
orstr = " AND ";
|
||||
if (reco.TipoCarg != -1)
|
||||
{
|
||||
res.msg = "No se ha seleccionado una consulta válida" + reco.ConsultaAmbs;
|
||||
res.Errores = true;
|
||||
return res;
|
||||
}*/
|
||||
|
||||
return res;
|
||||
}
|
||||
public string DameAmbsConsulta(out string ambs_file)
|
||||
{
|
||||
string consulta, orstr;
|
||||
|
||||
consulta = string.Empty;
|
||||
ambs_file = "";
|
||||
/*orstr = null;
|
||||
var n = reco.AmbitosSel.Length;
|
||||
|
||||
for (int i = 0; i < n; i++)
|
||||
{
|
||||
if (limp.AmbitosSel[i])
|
||||
{
|
||||
consulta = consulta + orstr + "(" + LimpiezaDef.filtro_str[i] + ")";
|
||||
ambs_file = ambs_file + i.ToString("00");
|
||||
if (orstr == null)
|
||||
orstr = " OR ";
|
||||
}
|
||||
consulta = consulta + orstr + "(" + RecogidaDef.filtro_str[RecogidaDef.tipos_fracc_str.Length + reco.TipoCarg] + ")";
|
||||
aux = reco.TipoCarg.ToString("00");
|
||||
cap_abrev = cap_abrev + "C" + aux;
|
||||
if (consulta == "()")
|
||||
consulta = "";
|
||||
}
|
||||
if (reco.TipoLate > 0)
|
||||
{
|
||||
consulta = consulta + orstr + "(" + RecogidaDef.campos_def.cons_lateral + " = '" + RecogidaDef.tipos_lateralidad[reco.TipoLate] + "'" + ")";
|
||||
if (consulta == "()")
|
||||
consulta = "";
|
||||
}
|
||||
ambs_file = "_A" + ambs_file;
|
||||
if (consulta == "()")
|
||||
consulta = "";
|
||||
*/
|
||||
return consulta;
|
||||
}
|
||||
/**
|
||||
* Comprueba lo necesario para ver si hay campos para la planificación
|
||||
*/
|
||||
public bool CompruebaPlanif()
|
||||
{
|
||||
|
||||
//si ha importado no hace falta que compruebe, seguro que las tiene
|
||||
if (OliviaGlob.IsConfig2())
|
||||
return true;
|
||||
//no ha importado, comprueba capa
|
||||
if (ComprCamposPlanif(reco.CapaElems))
|
||||
return true;
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Rellena el array de filtros en base a la config
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -28,17 +28,25 @@ namespace OliviaAddInPro
|
|||
|
||||
private void button_secto_Click(object sender, RoutedEventArgs e)
|
||||
{
|
||||
if (DataContext is PaneLimpiezaViewModel mod)
|
||||
if (DataContext is PaneLimpiezaViewModel modlimp)
|
||||
{
|
||||
mod.Ejecuta(OliviaAddInPro.Services.ModosEjec.Sectoriza);
|
||||
modlimp.Ejecuta(OliviaAddInPro.Services.ModosEjec.Sectoriza);
|
||||
}
|
||||
else if(DataContext is PaneRecogidaViewModel modrec)
|
||||
{
|
||||
modrec.Ejecuta(OliviaAddInPro.Services.ModosEjec.Planifica);
|
||||
}
|
||||
}
|
||||
|
||||
private void button_planif_Click(object sender, RoutedEventArgs e)
|
||||
{
|
||||
if (DataContext is PaneLimpiezaViewModel mod)
|
||||
if (DataContext is PaneLimpiezaViewModel modlimp)
|
||||
{
|
||||
mod.Ejecuta(OliviaAddInPro.Services.ModosEjec.Planifica);
|
||||
modlimp.Ejecuta(OliviaAddInPro.Services.ModosEjec.Planifica);
|
||||
}
|
||||
else if (DataContext is PaneRecogidaViewModel modrec)
|
||||
{
|
||||
modrec.Ejecuta(OliviaAddInPro.Services.ModosEjec.Planifica);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -155,7 +155,7 @@ namespace OliviaAddInPro
|
|||
|
||||
ArcGIS.Core.Geometry.Geometry geomsal = HelperGdb.OpenGeom(HelperGdb.TiposOpenFileDlg.OpenFtrClassPoint,out texto);
|
||||
|
||||
if ((DataContext is PaneRecogidaSub1ViewModel mod) && geomsal != null && geomsal is MapPoint mp)
|
||||
if ((DataContext is PaneRecogidaSub1ViewModel mod) && geomsal != null)
|
||||
{
|
||||
if (geomsal is MapPoint map)
|
||||
mod.CoordsPlanta = map.Coordinate2D;
|
||||
|
|
|
|||
|
|
@ -176,7 +176,6 @@ namespace OliviaAddInPro
|
|||
OliviaGlob.progrDialog.Show();
|
||||
var progSrc = new CancelableProgressorSource(OliviaGlob.progrDialog);
|
||||
|
||||
|
||||
if (!Lee(out err))
|
||||
{
|
||||
HelperGlobal.ponMsg(err);
|
||||
|
|
|
|||
|
|
@ -101,9 +101,7 @@ namespace OliviaAddInPro
|
|||
err_str = "No se ha seleccionado ninguna Capa de Limpieza";
|
||||
return false;
|
||||
}
|
||||
reco.CapaElems = _subPanel1ViewModel.CapaElems;
|
||||
reco.TipoTto = reco.TipoFrac;
|
||||
reco.TipoTtoStr= RecogidaDef.tipos_fracc_str[reco.TipoFrac];
|
||||
reco.CapaElems = _subPanel1ViewModel.CapaElems;
|
||||
//lee la fracción
|
||||
reco.TipoFrac = _subPanel1ViewModel.TipoFrac;
|
||||
if (reco.TipoFrac == -1)
|
||||
|
|
@ -112,6 +110,8 @@ namespace OliviaAddInPro
|
|||
return false;
|
||||
}
|
||||
reco.TipoFracStr = RecogidaDef.tipos_fracc_str[reco.TipoFrac];
|
||||
reco.TipoTto = reco.TipoFrac;
|
||||
reco.TipoTtoStr = RecogidaDef.tipos_fracc_str[reco.TipoFrac];
|
||||
|
||||
//lee la densidad del contenedor
|
||||
//si se ha seleccionado que se recogen los contenedores llenos hay que comprobar que se ha rellenado la densidad de los contenedores
|
||||
|
|
@ -213,6 +213,7 @@ namespace OliviaAddInPro
|
|||
}
|
||||
catch
|
||||
{
|
||||
err_str = "Error al leer ventana de descarga: "+ err_str;
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue