<div dir="ltr">Ok Leo ! Muchas Gracias por la respuesta !<div><br></div><div>Voy a ver si el cuatrimestre que viene me anoto en el curso de POO, así los próximos proyectos los encaro distinto.</div><div><br></div><div>PD: Te dejo un link con las nuevas alianzas extrañas que está haciendo el movimiento anonymous. No se si estabas al tanto: <a href="https://www.youtube.com/watch?v=U9_j415Q8G0">https://www.youtube.com/watch?v=U9_j415Q8G0</a></div><div><br></div><div>Saludos !</div></div><div class="gmail_extra"><br><div class="gmail_quote">El 17 de junio de 2015, 21:08, Leonardo Tadei - Pegasus Tech Supply <span dir="ltr"><<a href="mailto:leonardot@pegasusnet.com.ar" target="_blank">leonardot@pegasusnet.com.ar</a>></span> escribió:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hola Rodrigo,<br>
<br>
        entonces siendo las las "listas de precios" archivos PDF, podrías sacar<br>
el problema "listas de precios" porque no es relevante el contenido de<br>
los mismos.<br>
<br>
        Si, como es de esperarse, se agregan listas de precios poco<br>
frecuentemente, se podría resolver con una interfaz de "nueva lista de<br>
precios" en dónde se selecciones los distribuidores que las recibirán.<br>
Es un trabajo largo, pero será poco habitual.<br>
<br>
        Por otra parte si en el enunciado del problema las listas de precios se<br>
van habilitando progresivamente en base a una regla, podrías numerar los<br>
archivos por ejemplo del 1 al 10, y entonces bastaría con decir que un<br>
distribuidor puede ver las listas hasta la 6, con lo que si una lista de<br>
precios nueva es menor o igual que 6, la verá y si es es mayor no.<br>
        La elección de 1 a 10 es arbitraria: podría ser de 1 a 10.000 y tener<br>
más listas de precios todavía.<br>
<br>
        Sí, el patron de diseño observer es de POO, pero viendo el problema<br>
tipo y la solución, se podría hacer alguna implementación razonablemente<br>
decente en PE... lo importante es la idea detrás del Observer y en tu<br>
caso no la implementación.<br>
<br>
        Saludos!<br>
<div><div class="h5"><br>
<br>
<br>
<br>
El mié, 17-06-2015 a las 20:32 -0300, Rodrigo Fernandez escribió:<br>
> A ver si me explico un poco mejor:<br>
><br>
><br>
> Hay un administrador que gestiona distribuidores por un lado y listas<br>
> de precios (archivos pdf) por otro.<br>
><br>
><br>
> Estos distribuidores no pueden ver todas las listas, pero si "se<br>
> portan bien" y venden mucho, se les van desbloqueando otras.<br>
><br>
><br>
> Yo lo hice de manera que cuando agregas o modificas el distribuidor,<br>
> se muestran las listas disponibles y con un checkbox seleccionas las<br>
> que el distribuidor puede visualizar.<br>
><br>
><br>
> Cuando se actualiza una de estas listas, a los que la tenían asignada<br>
> les llega un mail notificándoles "Se subió una nueva lista" a los que<br>
> corresponde.<br>
><br>
><br>
> Pero cuando se agrega una nueva (que me parece como vos decís no es<br>
> algo que pase seguido, pero por lo que me sugiere el cliente algo que<br>
> puede pasar) no tengo manera de notificar a los distribuidores, porque<br>
> ninguno la tiene asignada.<br>
><br>
><br>
> Por eso mi solución, de hoy a la tarde, es darle un numero fijo de<br>
> listas a editar, digamos 5. Entonces cuando quieren agregar una,<br>
> primero se la asignan a los distribuidores pertinentes, la actualizan<br>
> y ahí les va a llegar el mail "Se subió una nueva lista".<br>
><br>
><br>
> No se si se entiende mejor... No se si está bien encarado...<br>
><br>
><br>
> ¿Lo del patrón de diseño de Observer es para programación orientada a<br>
> objetos no?<br>
><br>
><br>
> Saludos !<br>
><br>
> El 17 de junio de 2015, 19:44, Leonardo Tadei - Pegasus Tech Supply<br>
> <<a href="mailto:leonardot@pegasusnet.com.ar">leonardot@pegasusnet.com.ar</a>> escribió:<br>
>         Hola Rodrigo,<br>
><br>
>                 no sé si entiendo del todo el escenario.<br>
>                 Cuándo te referís a que "se sube una nueva lista de<br>
>         precios" querés<br>
>         decir que se actualizan los precios de una lista existente o<br>
>         que se sube<br>
>         una nueva al completo?<br>
><br>
>                 Por tu descripción, parece la 2da opción, pero me<br>
>         cuesta imaginarme un<br>
>         escenario real en dónde se agreguen frecuentemente nuevas<br>
>         listas de<br>
>         precios (lo que puede ser solo falta de imaginación de mi<br>
>         parte).<br>
><br>
>                 Por lo general cuando se habla de varias listas de<br>
>         precios, se hace<br>
>         referencia a que un mismo producto/servicio tiene diferentes<br>
>         precios,<br>
>         según cada comprador... pero pareciera que vos hacés<br>
>         referencia a otro<br>
>         concepto (o tenés un barullo de tamaño difícil de medir ;-) )<br>
><br>
>                 Para aclarar los conceptos que suelen usarse alrededor<br>
>         de estas<br>
>         cuestiones:<br>
><br>
>         - inventario: el universo de todo los que existe, con su<br>
>         código,<br>
>         descripción, etc, etc.<br>
>         - lista de precios: uno de los precios de las cosas en el<br>
>         inventario;<br>
>         cada lista de precios tiene un nombre, y bajo ese nombre están<br>
>         las cosas<br>
>         del inventario con el precio correspondiente. Si algo tiene<br>
>         más de un<br>
>         precio, pues estará en otra lista de precios.<br>
>         - stock: cuánto hay de cada cosa del inventario en cada lugar<br>
>         en que se<br>
>         guarden.<br>
><br>
>                 Tu problema tiene pinta de solucionarse con un patrón<br>
>         de diseño<br>
>         Observer, pero la verdad es que no entiendo del todo la<br>
>         situación de<br>
>         base.<br>
><br>
>                 Saludos!<br>
><br>
><br>
>         El mié, 17-06-2015 a las 11:12 -0300, Rodrigo Fernandez<br>
>         escribió:<br>
>         > Que tal buenos días, tengo un problema<br>
>         ><br>
>         ><br>
>         >    Estoy haciendo un sistema donde hay distribuidores, éstos<br>
>         tienen<br>
>         > diferentes listas de precios visibles (algunas si, otras no)<br>
>         y a la<br>
>         > vez cuando se sube una nueva lista de precios les llegue un<br>
>         mail<br>
>         > notificándoles.<br>
>         ><br>
>         ><br>
>         >    Lo había resuelto desde el lado de los distribuidores,<br>
>         cuando se<br>
>         > agrega o edita uno, se le asigna que listas de precios tiene<br>
>         visibles<br>
>         > y cuáles no.<br>
>         >      El problema es que si se agrega una nueva lista de<br>
>         precios no hay<br>
>         > manera de asignársela a nadie (excepto yendo a los<br>
>         distribuidores y<br>
>         > asignárselas uno por uno) y no le llegaría notificación<br>
>         alguna.<br>
>         ><br>
>         ><br>
>         > Estuve pensando en hacer que cuando se suba una lista de<br>
>         precios se<br>
>         > listen todos los distribuidores y ahí se les asignes quien<br>
>         la ve y<br>
>         > quien no. Así si les llegaría bien el mail pero me parece<br>
>         que no es LA<br>
>         > solución, ya que puede haber muchos distribuidores.<br>
>         ><br>
>         ><br>
>         > Otra es asignarles grupos a los ditribuidores y las listas a<br>
>         los<br>
>         > grupos. Pero tendría que haber tantos grupos como<br>
>         combinaciones<br>
>         > posibles.<br>
>         ><br>
>         ><br>
>         > Otra es dejar un número de posibles listas de precios fijo,<br>
>         digamos 5<br>
>         > que están vacíos y antes de agregar la lista N° 5 se le<br>
>         asigna a los<br>
>         > distribuidores pertinentes la 5, después se sube y así les<br>
>         llegaría el<br>
>         > mail jaja...<br>
>         ><br>
>         ><br>
>         > No se si me estoy complicando sólo, pero no se me ocurre una<br>
>         solución<br>
>         > satisfactoria.<br>
>         ><br>
>         ><br>
>         > Si me pueden dar una mano, más que agradecido.<br>
>         ><br>
>         ><br>
>         > Si algo no se entiende, me dicen y lo aclaro.<br>
>         ><br>
>         ><br>
>         > Gracias y Saludos !<br>
>         ><br>
>         ><br>
><br>
>         > _______________________________________________<br>
>         > Lista de correo: Php-avanzado<br>
>         > Mensajes a la lista: <a href="mailto:Php-avanzado@pato2.fi.mdp.edu.ar">Php-avanzado@pato2.fi.mdp.edu.ar</a><br>
>         > Administración Web:<br>
>         <a href="http://www3.fi.mdp.edu.ar/cgi-bin/mailman/listinfo/php-avanzado" rel="noreferrer" target="_blank">http://www3.fi.mdp.edu.ar/cgi-bin/mailman/listinfo/php-avanzado</a><br>
>         > Desubscripción:<br>
>         <a href="http://php-avanzado-request@pato2.fi.mdp.edu.ar?subject=unsubscribe" rel="noreferrer" target="_blank">php-avanzado-request@pato2.fi.mdp.edu.ar?subject=unsubscribe</a><br>
><br>
>         --<br>
>         Leonardo Tadei<br>
>         <a href="mailto:leonardot@pegasusnet.com.ar">leonardot@pegasusnet.com.ar</a><br>
>         Web: <a href="http://leonardo.tadei.com.ar" rel="noreferrer" target="_blank">http://leonardo.tadei.com.ar</a><br>
>         Firma pública:<br>
>         <a href="http://www.pegasusnet.com.ar/LeonardoTadei-public.key" rel="noreferrer" target="_blank">http://www.pegasusnet.com.ar/LeonardoTadei-public.key</a><br>
><br>
>         _______________________________________________<br>
>         Lista de correo: Php-avanzado<br>
>         Mensajes a la lista: <a href="mailto:Php-avanzado@pato2.fi.mdp.edu.ar">Php-avanzado@pato2.fi.mdp.edu.ar</a><br>
>         Administración Web:<br>
>         <a href="http://www3.fi.mdp.edu.ar/cgi-bin/mailman/listinfo/php-avanzado" rel="noreferrer" target="_blank">http://www3.fi.mdp.edu.ar/cgi-bin/mailman/listinfo/php-avanzado</a><br>
>         Desubscripción:<br>
>         <a href="http://php-avanzado-request@pato2.fi.mdp.edu.ar?subject=unsubscribe" rel="noreferrer" target="_blank">php-avanzado-request@pato2.fi.mdp.edu.ar?subject=unsubscribe</a><br>
><br>
><br>
> _______________________________________________<br>
> Lista de correo: Php-avanzado<br>
> Mensajes a la lista: <a href="mailto:Php-avanzado@pato2.fi.mdp.edu.ar">Php-avanzado@pato2.fi.mdp.edu.ar</a><br>
> Administración Web: <a href="http://www3.fi.mdp.edu.ar/cgi-bin/mailman/listinfo/php-avanzado" rel="noreferrer" target="_blank">http://www3.fi.mdp.edu.ar/cgi-bin/mailman/listinfo/php-avanzado</a><br>
> Desubscripción: <a href="http://php-avanzado-request@pato2.fi.mdp.edu.ar?subject=unsubscribe" rel="noreferrer" target="_blank">php-avanzado-request@pato2.fi.mdp.edu.ar?subject=unsubscribe</a><br>
<br>
--<br>
<br>
Leonardo Tadei<br>
<a href="mailto:leonardot@pegasusnet.com.ar">leonardot@pegasusnet.com.ar</a><br>
</div></div>Pegasus Tech Supply<br>
Tel: (+54)(+223) 471-2880<br>
La Salle 1131 - Mar del Plata - Argentina<br>
<a href="http://www.pegasusnet.com.ar" rel="noreferrer" target="_blank">http://www.pegasusnet.com.ar</a><br>
<a href="http://www.grupopegasus.com" rel="noreferrer" target="_blank">http://www.grupopegasus.com</a><br>
<div class="HOEnZb"><div class="h5">Firma pública: <a href="http://www.pegasusnet.com.ar/LeonardoTadei-public.key" rel="noreferrer" target="_blank">http://www.pegasusnet.com.ar/LeonardoTadei-public.key</a><br>
<br>
_______________________________________________<br>
Lista de correo: Php-avanzado<br>
Mensajes a la lista: <a href="mailto:Php-avanzado@pato2.fi.mdp.edu.ar">Php-avanzado@pato2.fi.mdp.edu.ar</a><br>
Administración Web: <a href="http://www3.fi.mdp.edu.ar/cgi-bin/mailman/listinfo/php-avanzado" rel="noreferrer" target="_blank">http://www3.fi.mdp.edu.ar/cgi-bin/mailman/listinfo/php-avanzado</a><br>
Desubscripción: <a href="http://php-avanzado-request@pato2.fi.mdp.edu.ar?subject=unsubscribe" rel="noreferrer" target="_blank">php-avanzado-request@pato2.fi.mdp.edu.ar?subject=unsubscribe</a><br>
</div></div></blockquote></div><br></div>