El 2017-06-30 12:38, Alvaro Herrera escribió:
> palichis escribió:
>
>> Estimados.
>>
>> Tengo una consulta con varias tablas anidadas (LEFT JOIN), el resultado
>> es de 8324470 registros, la consulta se demora +- 15minutos.
>
> Por favor muestra la consulta y la definición de las tablas relevantes,
> en formato legible (un adjunto text/plain es lo mejor, aunque pegarlo
> directamente en el cuerpo del email también sirve si es que tu programa
> de correo no destruye el espacio en blanco). Un "paste" en un sitio
> externo como gist.github.com sirve como apoyo, pero el material primario
> debería estar en los archivos de la lista.
--
SALUDOS CORDIALES
PALICHIS 8A
CREATE TABLE product_uom
(
id serial NOT NULL,
create_uid integer,
create_date timestamp without time zone,
write_date timestamp without time zone,
write_uid integer,
uom_type character varying NOT NULL, -- UoM Type
category_id integer NOT NULL, -- UoM Category
name character varying(64) NOT NULL, -- Name
rounding numeric NOT NULL, -- Rounding Precision
factor numeric NOT NULL, -- Ratio
active boolean, -- Active
CONSTRAINT product_uom_pkey PRIMARY KEY (id),
CONSTRAINT product_uom_category_id_fkey FOREIGN KEY (category_id)
REFERENCES product_uom_categ (id) MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE CASCADE,
CONSTRAINT product_uom_create_uid_fkey FOREIGN KEY (create_uid)
REFERENCES res_users (id) MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE SET NULL,
CONSTRAINT product_uom_write_uid_fkey FOREIGN KEY (write_uid)
REFERENCES res_users (id) MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE SET NULL,
CONSTRAINT product_uom_factor_gt_zero CHECK (factor <> 0::numeric)
)
WITH (
OIDS=FALSE
);
ALTER TABLE product_uom
OWNER TO openerp;
GRANT ALL ON TABLE product_uom TO openerp;
GRANT SELECT ON TABLE product_uom TO lectura;
GRANT SELECT ON TABLE product_uom TO esb_msp;
GRANT SELECT ON TABLE product_uom TO consulta;
GRANT ALL ON TABLE product_uom TO inven_lectu;
GRANT SELECT ON TABLE product_uom TO "wladimir.quijije";
GRANT SELECT ON TABLE product_uom TO "diego.molina";
GRANT SELECT ON TABLE product_uom TO "fausto.suarez";
COMMENT ON TABLE product_uom
IS 'Product Unit of Measure';
COMMENT ON COLUMN product_uom.uom_type IS 'UoM Type';
COMMENT ON COLUMN product_uom.category_id IS 'UoM Category';
COMMENT ON COLUMN product_uom.name IS 'Name';
COMMENT ON COLUMN product_uom.rounding IS 'Rounding Precision';
COMMENT ON COLUMN product_uom.factor IS 'Ratio';
COMMENT ON COLUMN product_uom.active IS 'Active';
-- Index: sgi_factor
-- DROP INDEX sgi_factor;
CREATE INDEX sgi_factor
ON product_uom
USING btree
(factor);
CREATE TABLE product_product
(
id serial NOT NULL,
create_uid integer,
create_date timestamp without time zone,
write_date timestamp without time zone,
write_uid integer,
ean13 character varying(13), -- EAN13
color integer, -- Color Index
price_extra numeric, -- Variant Price Extra
default_code character varying(64), -- Reference
active boolean, -- Active
variants character varying(64), -- Variants
product_tmpl_id integer NOT NULL, -- Product Template
product_image bytea, -- Image
price_margin numeric, -- Variant Price Margin
track_production boolean, -- Track Manufacturing Lots
valuation character varying NOT NULL, -- Inventory Valuation
track_outgoing boolean, -- Track Outgoing Lots
track_incoming boolean, -- Track Incoming Lots
removal_time integer, -- Product Removal Time
use_time integer, -- Product Use Time
alert_time integer, -- Product Alert Time
life_time integer, -- Product Life Time
advertencia_edad_minima numeric, -- Edad mÃnima
cadena_frio boolean, -- Cadena de frio
es_vacuna boolean, -- Es una vacuna
atc_id integer, -- ATC
reacciones_adversas text, -- Reacciones adversas
via_administracion_id integer, -- VÃa de administración primarÃa
nivel_atencion_3 boolean, -- Nivel atención III
advertencia_edad_maxima numeric, -- Edad máxima
nivel_atencion_2 boolean, -- Nivel atención II
nivel_atencion_1 boolean, -- Nivel atención I
nivel_prescripcion_moved0 character varying, -- Nivel prescripción
concentracion_id integer, -- Concentración
advertencia_embarazo boolean, -- Contraindicado en el embarazo
advertencia_edad boolean, -- Existen advertencias de riesgo en edades
es_medicamento boolean, -- Es un medicamento
notas text, -- Información extra
forma_farmaceutica_id integer, -- Forma farmaceutica
estupefaciente_sicotropico boolean, -- Estupefaciente
presentacion_id integer, -- Envase/Presentación
condiciones_almacenamiento text, -- Condiciones de almacenamiento
categoria_embarazo integer, -- CategorÃa de riesgo embarazo
uom_dispensacion integer, -- UdM dispensación
price_promedio numeric, -- Precio Promedio
es_dispositivo boolean, -- Es dispositivo
ecri integer, -- Código UMDNS
especialidad integer, -- Especialidad
riesgo integer, -- Nivel de riesgo
empaque_primario boolean, -- Empaque primario
empaque_secundario boolean, -- Empaque secundario
sinonimo character varying(128), -- Sinónimo
envase_dispositivo_id integer, -- Presentación/Envase
psicotropico boolean, -- Psicotrópico
nivel_prescripcion integer, -- Nivel de prescripción
estupefaciente boolean, -- Estupefaciente
criterio_tecnico boolean, -- Criterio técnico
aplicacion text, -- Aplicación
name_template character varying(256),
alerta_lactancia integer, -- Alerta lactancia
nivel_atencion_1c boolean, -- Nivel atención I tipo C
nivel_atencion_1b boolean, -- Nivel atención I tipo B
contiene_mercurio boolean, -- Contiene Mercurio
nivel_mercurio integer, -- Nivel de mercurio
default_cnmb_code character varying(16), -- Referencia CNMB
forma_farmac_cnmb_id integer, -- Forma Farmaceútica CNMB
externalizacion boolean, -- Externalización
tipo_ayuda_tecnica_id integer, -- Tipo Ayuda Técnica
es_ay_tecnica boolean, -- Es ayuda técnica
precio numeric, -- Precio Externalización
CONSTRAINT product_product_pkey PRIMARY KEY (id),
CONSTRAINT product_product_alerta_lactancia_fkey FOREIGN KEY
(alerta_lactancia)
REFERENCES sgi_alerta_lactancia (id) MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE SET NULL,
CONSTRAINT product_product_atc_id_fkey FOREIGN KEY (atc_id)
REFERENCES sgi_atc (id) MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE SET NULL,
CONSTRAINT product_product_categoria_embarazo_fkey FOREIGN KEY
(categoria_embarazo)
REFERENCES sgi_categoria_embarazo (id) MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE SET NULL,
CONSTRAINT product_product_concentracion_id_fkey FOREIGN KEY
(concentracion_id)
REFERENCES sgi_concentracion (id) MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE SET NULL,
CONSTRAINT product_product_create_uid_fkey FOREIGN KEY (create_uid)
REFERENCES res_users (id) MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE SET NULL,
CONSTRAINT product_product_ecri_fkey FOREIGN KEY (ecri)
REFERENCES sgi_ecri (id) MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE SET NULL,
CONSTRAINT product_product_envase_dispositivo_id_fkey FOREIGN KEY
(envase_dispositivo_id)
REFERENCES sgi_envase_dispositivo (id) MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE SET NULL,
CONSTRAINT product_product_especialidad_fkey FOREIGN KEY (especialidad)
REFERENCES sgi_servicio (id) MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE SET NULL,
CONSTRAINT product_product_forma_farmac_cnmb_id_fkey FOREIGN KEY
(forma_farmac_cnmb_id)
REFERENCES sgi_forma_farmac_cnmb (id) MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE SET NULL,
CONSTRAINT product_product_forma_farmaceutica_id_fkey FOREIGN KEY
(forma_farmaceutica_id)
REFERENCES sgi_forma_farmaceutica (id) MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE SET NULL,
CONSTRAINT product_product_presentacion_id_fkey FOREIGN KEY (presentacion_id)
REFERENCES sgi_envase (id) MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE SET NULL,
CONSTRAINT product_product_product_tmpl_id_fkey FOREIGN KEY (product_tmpl_id)
REFERENCES product_template (id) MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE CASCADE,
CONSTRAINT product_product_riesgo_fkey FOREIGN KEY (riesgo)
REFERENCES sgi_riesgo_dispositivo (id) MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE SET NULL,
CONSTRAINT product_product_tipo_ayuda_tecnica_id_fkey FOREIGN KEY
(tipo_ayuda_tecnica_id)
REFERENCES sgi_tipo_ayuda_tecnica (id) MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE SET NULL,
CONSTRAINT product_product_uom_dispensacion_fkey FOREIGN KEY
(uom_dispensacion)
REFERENCES product_uom (id) MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE SET NULL,
CONSTRAINT product_product_via_administracion_id_fkey FOREIGN KEY
(via_administracion_id)
REFERENCES sgi_via_administracion (id) MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE SET NULL,
CONSTRAINT product_product_write_uid_fkey FOREIGN KEY (write_uid)
REFERENCES res_users (id) MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE SET NULL,
CONSTRAINT product_product_default_code_unique UNIQUE (default_code)
)
WITH (
OIDS=FALSE
);
ALTER TABLE product_product
OWNER TO openerp;
GRANT ALL ON TABLE product_product TO openerp;
GRANT SELECT ON TABLE product_product TO lectura;
GRANT SELECT ON TABLE product_product TO esb_msp;
GRANT SELECT ON TABLE product_product TO consulta;
GRANT ALL ON TABLE product_product TO inven_lectu;
GRANT SELECT ON TABLE product_product TO "wladimir.quijije";
GRANT SELECT ON TABLE product_product TO "diego.molina";
GRANT SELECT ON TABLE product_product TO "fausto.suarez";
COMMENT ON TABLE product_product
IS 'Product';
COMMENT ON COLUMN product_product.ean13 IS 'EAN13';
COMMENT ON COLUMN product_product.color IS 'Color Index';
COMMENT ON COLUMN product_product.price_extra IS 'Variant Price Extra';
COMMENT ON COLUMN product_product.default_code IS 'Reference';
COMMENT ON COLUMN product_product.active IS 'Active';
COMMENT ON COLUMN product_product.variants IS 'Variants';
COMMENT ON COLUMN product_product.product_tmpl_id IS 'Product Template';
COMMENT ON COLUMN product_product.product_image IS 'Image';
COMMENT ON COLUMN product_product.price_margin IS 'Variant Price Margin';
COMMENT ON COLUMN product_product.track_production IS 'Track Manufacturing
Lots';
COMMENT ON COLUMN product_product.valuation IS 'Inventory Valuation';
COMMENT ON COLUMN product_product.track_outgoing IS 'Track Outgoing Lots';
COMMENT ON COLUMN product_product.track_incoming IS 'Track Incoming Lots';
COMMENT ON COLUMN product_product.removal_time IS 'Product Removal Time';
COMMENT ON COLUMN product_product.use_time IS 'Product Use Time';
COMMENT ON COLUMN product_product.alert_time IS 'Product Alert Time';
COMMENT ON COLUMN product_product.life_time IS 'Product Life Time';
COMMENT ON COLUMN product_product.advertencia_edad_minima IS 'Edad mÃnima';
COMMENT ON COLUMN product_product.cadena_frio IS 'Cadena de frio';
COMMENT ON COLUMN product_product.es_vacuna IS 'Es una vacuna';
COMMENT ON COLUMN product_product.atc_id IS 'ATC';
COMMENT ON COLUMN product_product.reacciones_adversas IS 'Reacciones adversas';
COMMENT ON COLUMN product_product.via_administracion_id IS 'VÃa de
administración primarÃa';
COMMENT ON COLUMN product_product.nivel_atencion_3 IS 'Nivel atención III';
COMMENT ON COLUMN product_product.advertencia_edad_maxima IS 'Edad máxima';
COMMENT ON COLUMN product_product.nivel_atencion_2 IS 'Nivel atención II';
COMMENT ON COLUMN product_product.nivel_atencion_1 IS 'Nivel atención I';
COMMENT ON COLUMN product_product.nivel_prescripcion_moved0 IS 'Nivel
prescripción';
COMMENT ON COLUMN product_product.concentracion_id IS 'Concentración';
COMMENT ON COLUMN product_product.advertencia_embarazo IS 'Contraindicado en el
embarazo';
COMMENT ON COLUMN product_product.advertencia_edad IS 'Existen advertencias de
riesgo en edades';
COMMENT ON COLUMN product_product.es_medicamento IS 'Es un medicamento';
COMMENT ON COLUMN product_product.notas IS 'Información extra';
COMMENT ON COLUMN product_product.forma_farmaceutica_id IS 'Forma farmaceutica';
COMMENT ON COLUMN product_product.estupefaciente_sicotropico IS
'Estupefaciente';
COMMENT ON COLUMN product_product.presentacion_id IS 'Envase/Presentación';
COMMENT ON COLUMN product_product.condiciones_almacenamiento IS 'Condiciones de
almacenamiento';
COMMENT ON COLUMN product_product.categoria_embarazo IS 'CategorÃa de riesgo
embarazo';
COMMENT ON COLUMN product_product.uom_dispensacion IS 'UdM dispensación';
COMMENT ON COLUMN product_product.price_promedio IS 'Precio Promedio';
COMMENT ON COLUMN product_product.es_dispositivo IS 'Es dispositivo';
COMMENT ON COLUMN product_product.ecri IS 'Código UMDNS';
COMMENT ON COLUMN product_product.especialidad IS 'Especialidad';
COMMENT ON COLUMN product_product.riesgo IS 'Nivel de riesgo';
COMMENT ON COLUMN product_product.empaque_primario IS 'Empaque primario';
COMMENT ON COLUMN product_product.empaque_secundario IS 'Empaque secundario';
COMMENT ON COLUMN product_product.sinonimo IS 'Sinónimo';
COMMENT ON COLUMN product_product.envase_dispositivo_id IS
'Presentación/Envase';
COMMENT ON COLUMN product_product.psicotropico IS 'Psicotrópico';
COMMENT ON COLUMN product_product.nivel_prescripcion IS 'Nivel de
prescripción';
COMMENT ON COLUMN product_product.estupefaciente IS 'Estupefaciente';
COMMENT ON COLUMN product_product.criterio_tecnico IS 'Criterio técnico';
COMMENT ON COLUMN product_product.aplicacion IS 'Aplicación';
COMMENT ON COLUMN product_product.alerta_lactancia IS 'Alerta lactancia';
COMMENT ON COLUMN product_product.nivel_atencion_1c IS 'Nivel atención I tipo
C';
COMMENT ON COLUMN product_product.nivel_atencion_1b IS 'Nivel atención I tipo
B';
COMMENT ON COLUMN product_product.contiene_mercurio IS 'Contiene Mercurio';
COMMENT ON COLUMN product_product.nivel_mercurio IS 'Nivel de mercurio';
COMMENT ON COLUMN product_product.default_cnmb_code IS 'Referencia CNMB';
COMMENT ON COLUMN product_product.forma_farmac_cnmb_id IS 'Forma Farmaceútica
CNMB';
COMMENT ON COLUMN product_product.externalizacion IS 'Externalización';
COMMENT ON COLUMN product_product.tipo_ayuda_tecnica_id IS 'Tipo Ayuda
Técnica';
COMMENT ON COLUMN product_product.es_ay_tecnica IS 'Es ayuda técnica';
COMMENT ON COLUMN product_product.precio IS 'Precio Externalización';
-- Index: product_product_default_code_idx
-- DROP INDEX product_product_default_code_idx;
CREATE INDEX product_product_default_code_idx
ON product_product
USING gin
(default_code COLLATE pg_catalog."default" gin_trgm_ops);
-- Index: product_product_name_template_idx
-- DROP INDEX product_product_name_template_idx;
CREATE INDEX product_product_name_template_idx
ON product_product
USING gin
(name_template COLLATE pg_catalog."default" gin_trgm_ops);
-- Index: product_product_name_template_index
-- DROP INDEX product_product_name_template_index;
CREATE INDEX product_product_name_template_index
ON product_product
USING btree
(name_template COLLATE pg_catalog."default");
-- Index: product_product_sinonimo_idx
-- DROP INDEX product_product_sinonimo_idx;
CREATE INDEX product_product_sinonimo_idx
ON product_product
USING gin
(sinonimo COLLATE pg_catalog."default" gin_trgm_ops);
-- Index: sgi_name_template
-- DROP INDEX sgi_name_template;
CREATE INDEX sgi_name_template
ON product_product
USING btree
(name_template COLLATE pg_catalog."default");
-- Index: sgi_sinonimo
-- DROP INDEX sgi_sinonimo;
CREATE INDEX sgi_sinonimo
ON product_product
USING btree
(sinonimo COLLATE pg_catalog."default");
CREATE TABLE stock_location
(
id serial NOT NULL,
parent_left integer,
parent_right integer,
create_uid integer,
create_date timestamp without time zone,
write_date timestamp without time zone,
write_uid integer,
comment text, -- Additional Information
address_id integer, -- Location Address
chained_delay integer, -- Chaining Lead Time
chained_company_id integer, -- Chained Company
active boolean, -- Active
posz integer, -- Height (Z)
posx integer, -- Corridor (X)
posy integer, -- Shelves (Y)
valuation_in_account_id integer, -- Stock Valuation Account (Incoming)
location_id integer, -- Parent Location
icon character varying(64), -- Icon
valuation_out_account_id integer, -- Stock Valuation Account (Outgoing)
scrap_location boolean, -- Scrap Location
name character varying(64) NOT NULL, -- Location Name
chained_location_id integer, -- Chained Location If Fixed
chained_journal_id integer, -- Chaining Journal
chained_picking_type character varying, -- Shipping Type
company_id integer, -- Company
chained_auto_packing character varying NOT NULL, -- Chaining Type
complete_name character varying(256), -- Location Name
usage character varying NOT NULL, -- Location Type
chained_location_type character varying NOT NULL, -- Chained Location Type
base_location boolean, -- Base
excluir_reporte_stock boolean, -- Excluir del stock
CONSTRAINT stock_location_pkey PRIMARY KEY (id),
CONSTRAINT stock_location_address_id_fkey FOREIGN KEY (address_id)
REFERENCES res_partner_address (id) MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE SET NULL,
CONSTRAINT stock_location_chained_company_id_fkey FOREIGN KEY
(chained_company_id)
REFERENCES res_company (id) MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE SET NULL,
CONSTRAINT stock_location_chained_journal_id_fkey FOREIGN KEY
(chained_journal_id)
REFERENCES stock_journal (id) MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE SET NULL,
CONSTRAINT stock_location_chained_location_id_fkey FOREIGN KEY
(chained_location_id)
REFERENCES stock_location (id) MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE SET NULL,
CONSTRAINT stock_location_company_id_fkey FOREIGN KEY (company_id)
REFERENCES res_company (id) MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE SET NULL,
CONSTRAINT stock_location_create_uid_fkey FOREIGN KEY (create_uid)
REFERENCES res_users (id) MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE SET NULL,
CONSTRAINT stock_location_valuation_in_account_id_fkey FOREIGN KEY
(valuation_in_account_id)
REFERENCES account_account (id) MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE SET NULL,
CONSTRAINT stock_location_valuation_out_account_id_fkey FOREIGN KEY
(valuation_out_account_id)
REFERENCES account_account (id) MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE SET NULL,
CONSTRAINT stock_location_write_uid_fkey FOREIGN KEY (write_uid)
REFERENCES res_users (id) MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE SET NULL
)
WITH (
OIDS=FALSE
);
ALTER TABLE stock_location
OWNER TO openerp;
GRANT ALL ON TABLE stock_location TO openerp;
GRANT SELECT ON TABLE stock_location TO lectura;
GRANT SELECT ON TABLE stock_location TO esb_msp;
GRANT SELECT ON TABLE stock_location TO consulta;
GRANT ALL ON TABLE stock_location TO inven_lectu;
GRANT SELECT ON TABLE stock_location TO "wladimir.quijije";
GRANT SELECT ON TABLE stock_location TO "diego.molina";
GRANT SELECT ON TABLE stock_location TO "fausto.suarez";
COMMENT ON TABLE stock_location
IS 'Location';
COMMENT ON COLUMN stock_location.comment IS 'Additional Information';
COMMENT ON COLUMN stock_location.address_id IS 'Location Address';
COMMENT ON COLUMN stock_location.chained_delay IS 'Chaining Lead Time';
COMMENT ON COLUMN stock_location.chained_company_id IS 'Chained Company';
COMMENT ON COLUMN stock_location.active IS 'Active';
COMMENT ON COLUMN stock_location.posz IS 'Height (Z)';
COMMENT ON COLUMN stock_location.posx IS 'Corridor (X)';
COMMENT ON COLUMN stock_location.posy IS 'Shelves (Y)';
COMMENT ON COLUMN stock_location.valuation_in_account_id IS 'Stock Valuation
Account (Incoming)';
COMMENT ON COLUMN stock_location.location_id IS 'Parent Location';
COMMENT ON COLUMN stock_location.icon IS 'Icon';
COMMENT ON COLUMN stock_location.valuation_out_account_id IS 'Stock Valuation
Account (Outgoing)';
COMMENT ON COLUMN stock_location.scrap_location IS 'Scrap Location';
COMMENT ON COLUMN stock_location.name IS 'Location Name';
COMMENT ON COLUMN stock_location.chained_location_id IS 'Chained Location If
Fixed';
COMMENT ON COLUMN stock_location.chained_journal_id IS 'Chaining Journal';
COMMENT ON COLUMN stock_location.chained_picking_type IS 'Shipping Type';
COMMENT ON COLUMN stock_location.company_id IS 'Company';
COMMENT ON COLUMN stock_location.chained_auto_packing IS 'Chaining Type';
COMMENT ON COLUMN stock_location.complete_name IS 'Location Name';
COMMENT ON COLUMN stock_location.usage IS 'Location Type';
COMMENT ON COLUMN stock_location.chained_location_type IS 'Chained Location
Type';
COMMENT ON COLUMN stock_location.base_location IS 'Base';
COMMENT ON COLUMN stock_location.excluir_reporte_stock IS 'Excluir del stock';
-- Index: idx_complete_name_tmp_2
-- DROP INDEX idx_complete_name_tmp_2;
CREATE INDEX idx_complete_name_tmp_2
ON stock_location
USING btree
(complete_name COLLATE pg_catalog."default");
-- Index: stock_location_company_id_index
-- DROP INDEX stock_location_company_id_index;
CREATE INDEX stock_location_company_id_index
ON stock_location
USING btree
(company_id);
-- Index: stock_location_location_id_index
-- DROP INDEX stock_location_location_id_index;
CREATE INDEX stock_location_location_id_index
ON stock_location
USING btree
(location_id);
-- Index: stock_location_parent_left_index
-- DROP INDEX stock_location_parent_left_index;
CREATE INDEX stock_location_parent_left_index
ON stock_location
USING btree
(parent_left);
-- Index: stock_location_parent_right_index
-- DROP INDEX stock_location_parent_right_index;
CREATE INDEX stock_location_parent_right_index
ON stock_location
USING btree
(parent_right);
-- Index: stock_location_usage_index
-- DROP INDEX stock_location_usage_index;
CREATE INDEX stock_location_usage_index
ON stock_location
USING btree
(usage COLLATE pg_catalog."default");
CREATE TABLE stock_picking
(
id serial NOT NULL,
create_uid integer,
create_date timestamp without time zone,
write_date timestamp without time zone,
write_uid integer,
origin character varying(64), -- Origin
address_id integer, -- Address
date_done timestamp without time zone, -- Date Done
min_date timestamp without time zone, -- Expected Date
date timestamp without time zone, -- Order Date
location_id integer, -- Location
stock_journal_id integer, -- Stock Journal
backorder_id integer, -- Back Order of
partner_id integer, -- Partner
name character varying(64), -- Reference
auto_picking boolean, -- Auto-Picking
move_type character varying NOT NULL, -- Delivery Method
company_id integer NOT NULL, -- Company
invoice_state character varying NOT NULL, -- Invoice Control
note text, -- Notes
state character varying, -- State
location_dest_id integer, -- Dest. Location
max_date timestamp without time zone, -- Max. Expected Date
type character varying NOT NULL, -- Shipping Type
purchase_id integer, -- Purchase Order
sale_id integer, -- Sales Order
vacuna_id integer, -- ID Orden vacunación
receta_id integer, -- ID Receta
secuencia_bodega_id integer, -- Programa Nacional de Salud
programa_id integer, -- Programa Nacional
tiene_programa boolean, -- Programa
nro_factura character varying(50), -- Factura
encargado_egreso boolean, -- Es Encargado
encargado boolean, -- Es Encargado
global_loc_dest_id integer, -- Dest. global
global_loc_id integer, -- Origen global
estado_impreso character varying, -- unknown
trans_intercompany boolean, -- Intercompañias
nombre_recibi character varying(100), -- Nombre
cargo_recibi character varying(100), -- Cargo
document_type character varying, -- Tipo de documento
cedula_recibi character varying(14), -- Cedula
user_recibe integer, -- Valida recepción
aprobacion_origen boolean, -- Aprobación origen de inventarios
aprobacion_destino boolean, -- Aprobación destino de inventarios
prescripcion_id integer, -- ID Prescripción dispositivos
paciente_id integer, -- Paciente
descargo_contra_paciente boolean, -- Descargar contra paciente
nro_comprobante character varying(256),
referencia character varying(64), -- Nro de Referencia
global_loc_id_usr integer, -- Origen global
global_loc_dest_id_usr integer, -- Dest. global
motivo_cancelacion text, -- Motivo de la Cancelación
fecha_validacion timestamp without time zone, -- Fecha de validación
user_id integer, -- Guarda Almacen
codigo_receta integer, -- Código receta
CONSTRAINT stock_picking_pkey PRIMARY KEY (id),
CONSTRAINT stock_picking_address_id_fkey FOREIGN KEY (address_id)
REFERENCES res_partner_address (id) MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE SET NULL,
CONSTRAINT stock_picking_backorder_id_fkey FOREIGN KEY (backorder_id)
REFERENCES stock_picking (id) MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE SET NULL,
CONSTRAINT stock_picking_company_id_fkey FOREIGN KEY (company_id)
REFERENCES res_company (id) MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE SET NULL,
CONSTRAINT stock_picking_create_uid_fkey FOREIGN KEY (create_uid)
REFERENCES res_users (id) MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE SET NULL,
CONSTRAINT stock_picking_global_loc_dest_id_fkey FOREIGN KEY
(global_loc_dest_id)
REFERENCES stock_location (id) MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE SET NULL,
CONSTRAINT stock_picking_global_loc_dest_id_usr_fkey FOREIGN KEY
(global_loc_dest_id_usr)
REFERENCES stock_location (id) MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE SET NULL,
CONSTRAINT stock_picking_global_loc_id_fkey FOREIGN KEY (global_loc_id)
REFERENCES stock_location (id) MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE SET NULL,
CONSTRAINT stock_picking_global_loc_id_usr_fkey FOREIGN KEY
(global_loc_id_usr)
REFERENCES stock_location (id) MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE SET NULL,
CONSTRAINT stock_picking_location_dest_id_fkey FOREIGN KEY (location_dest_id)
REFERENCES stock_location (id) MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE SET NULL,
CONSTRAINT stock_picking_location_id_fkey FOREIGN KEY (location_id)
REFERENCES stock_location (id) MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE SET NULL,
CONSTRAINT stock_picking_paciente_id_fkey FOREIGN KEY (paciente_id)
REFERENCES res_partner (id) MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE SET NULL,
CONSTRAINT stock_picking_prescripcion_id_fkey FOREIGN KEY (prescripcion_id)
REFERENCES sgi_prescripcion_dispositivos (id) MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE SET NULL,
CONSTRAINT stock_picking_programa_id_fkey FOREIGN KEY (programa_id)
REFERENCES sgi_programa_nacional (id) MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE SET NULL,
CONSTRAINT stock_picking_purchase_id_fkey FOREIGN KEY (purchase_id)
REFERENCES purchase_order (id) MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE SET NULL,
CONSTRAINT stock_picking_receta_id_fkey FOREIGN KEY (receta_id)
REFERENCES sgi_receta (id) MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE SET NULL,
CONSTRAINT stock_picking_sale_id_fkey FOREIGN KEY (sale_id)
REFERENCES sale_order (id) MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE SET NULL,
CONSTRAINT stock_picking_secuencia_bodega_id_fkey FOREIGN KEY
(secuencia_bodega_id)
REFERENCES sgi_bodegas_secuencias (id) MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE SET NULL,
CONSTRAINT stock_picking_stock_journal_id_fkey FOREIGN KEY (stock_journal_id)
REFERENCES stock_journal (id) MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE SET NULL,
CONSTRAINT stock_picking_user_id_fkey FOREIGN KEY (user_id)
REFERENCES res_users (id) MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE SET NULL,
CONSTRAINT stock_picking_user_recibe_fkey FOREIGN KEY (user_recibe)
REFERENCES res_users (id) MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE SET NULL,
CONSTRAINT stock_picking_vacuna_id_fkey FOREIGN KEY (vacuna_id)
REFERENCES sgi_vacuna (id) MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE SET NULL,
CONSTRAINT stock_picking_write_uid_fkey FOREIGN KEY (write_uid)
REFERENCES res_users (id) MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE SET NULL,
CONSTRAINT stock_picking_name_uniq UNIQUE (name, company_id)
)
WITH (
OIDS=FALSE
);
ALTER TABLE stock_picking
OWNER TO openerp;
GRANT ALL ON TABLE stock_picking TO openerp;
GRANT SELECT ON TABLE stock_picking TO esb_msp;
GRANT SELECT, UPDATE ON TABLE stock_picking TO lectura;
GRANT SELECT ON TABLE stock_picking TO consulta;
GRANT ALL ON TABLE stock_picking TO inven_lectu;
GRANT SELECT ON TABLE stock_picking TO "wladimir.quijije";
GRANT SELECT ON TABLE stock_picking TO "diego.molina";
GRANT SELECT ON TABLE stock_picking TO "fausto.suarez";
COMMENT ON TABLE stock_picking
IS 'Picking List';
COMMENT ON COLUMN stock_picking.origin IS 'Origin';
COMMENT ON COLUMN stock_picking.address_id IS 'Address';
COMMENT ON COLUMN stock_picking.date_done IS 'Date Done';
COMMENT ON COLUMN stock_picking.min_date IS 'Expected Date';
COMMENT ON COLUMN stock_picking.date IS 'Order Date';
COMMENT ON COLUMN stock_picking.location_id IS 'Location';
COMMENT ON COLUMN stock_picking.stock_journal_id IS 'Stock Journal';
COMMENT ON COLUMN stock_picking.backorder_id IS 'Back Order of';
COMMENT ON COLUMN stock_picking.partner_id IS 'Partner';
COMMENT ON COLUMN stock_picking.name IS 'Reference';
COMMENT ON COLUMN stock_picking.auto_picking IS 'Auto-Picking';
COMMENT ON COLUMN stock_picking.move_type IS 'Delivery Method';
COMMENT ON COLUMN stock_picking.company_id IS 'Company';
COMMENT ON COLUMN stock_picking.invoice_state IS 'Invoice Control';
COMMENT ON COLUMN stock_picking.note IS 'Notes';
COMMENT ON COLUMN stock_picking.state IS 'State';
COMMENT ON COLUMN stock_picking.location_dest_id IS 'Dest. Location';
COMMENT ON COLUMN stock_picking.max_date IS 'Max. Expected Date';
COMMENT ON COLUMN stock_picking.type IS 'Shipping Type';
COMMENT ON COLUMN stock_picking.purchase_id IS 'Purchase Order';
COMMENT ON COLUMN stock_picking.sale_id IS 'Sales Order';
COMMENT ON COLUMN stock_picking.vacuna_id IS 'ID Orden vacunación';
COMMENT ON COLUMN stock_picking.receta_id IS 'ID Receta';
COMMENT ON COLUMN stock_picking.secuencia_bodega_id IS 'Programa Nacional de
Salud';
COMMENT ON COLUMN stock_picking.programa_id IS 'Programa Nacional';
COMMENT ON COLUMN stock_picking.tiene_programa IS 'Programa';
COMMENT ON COLUMN stock_picking.nro_factura IS 'Factura';
COMMENT ON COLUMN stock_picking.encargado_egreso IS 'Es Encargado';
COMMENT ON COLUMN stock_picking.encargado IS 'Es Encargado';
COMMENT ON COLUMN stock_picking.global_loc_dest_id IS 'Dest. global';
COMMENT ON COLUMN stock_picking.global_loc_id IS 'Origen global';
COMMENT ON COLUMN stock_picking.estado_impreso IS 'unknown';
COMMENT ON COLUMN stock_picking.trans_intercompany IS 'Intercompañias';
COMMENT ON COLUMN stock_picking.nombre_recibi IS 'Nombre';
COMMENT ON COLUMN stock_picking.cargo_recibi IS 'Cargo';
COMMENT ON COLUMN stock_picking.document_type IS 'Tipo de documento';
COMMENT ON COLUMN stock_picking.cedula_recibi IS 'Cedula';
COMMENT ON COLUMN stock_picking.user_recibe IS 'Valida recepción';
COMMENT ON COLUMN stock_picking.aprobacion_origen IS 'Aprobación origen de
inventarios';
COMMENT ON COLUMN stock_picking.aprobacion_destino IS 'Aprobación destino de
inventarios';
COMMENT ON COLUMN stock_picking.prescripcion_id IS 'ID Prescripción
dispositivos';
COMMENT ON COLUMN stock_picking.paciente_id IS 'Paciente';
COMMENT ON COLUMN stock_picking.descargo_contra_paciente IS 'Descargar contra
paciente';
COMMENT ON COLUMN stock_picking.referencia IS 'Nro de Referencia';
COMMENT ON COLUMN stock_picking.global_loc_id_usr IS 'Origen global';
COMMENT ON COLUMN stock_picking.global_loc_dest_id_usr IS 'Dest. global';
COMMENT ON COLUMN stock_picking.motivo_cancelacion IS 'Motivo de la
Cancelación';
COMMENT ON COLUMN stock_picking.fecha_validacion IS 'Fecha de validación';
COMMENT ON COLUMN stock_picking.user_id IS 'Guarda Almacen';
COMMENT ON COLUMN stock_picking.codigo_receta IS 'Código receta';
-- Index: stock_picking_backorder_id_index
-- DROP INDEX stock_picking_backorder_id_index;
CREATE INDEX stock_picking_backorder_id_index
ON stock_picking
USING btree
(backorder_id);
-- Index: stock_picking_company_id_index
-- DROP INDEX stock_picking_company_id_index;
CREATE INDEX stock_picking_company_id_index
ON stock_picking
USING btree
(company_id);
-- Index: stock_picking_date_index
-- DROP INDEX stock_picking_date_index;
CREATE INDEX stock_picking_date_index
ON stock_picking
USING btree
(date);
-- Index: stock_picking_invoice_state_index
-- DROP INDEX stock_picking_invoice_state_index;
CREATE INDEX stock_picking_invoice_state_index
ON stock_picking
USING btree
(invoice_state COLLATE pg_catalog."default");
-- Index: stock_picking_location_dest_id_index
-- DROP INDEX stock_picking_location_dest_id_index;
CREATE INDEX stock_picking_location_dest_id_index
ON stock_picking
USING btree
(location_dest_id);
-- Index: stock_picking_location_id_index
-- DROP INDEX stock_picking_location_id_index;
CREATE INDEX stock_picking_location_id_index
ON stock_picking
USING btree
(location_id);
-- Index: stock_picking_max_date_index
-- DROP INDEX stock_picking_max_date_index;
CREATE INDEX stock_picking_max_date_index
ON stock_picking
USING btree
(max_date);
-- Index: stock_picking_min_date_index
-- DROP INDEX stock_picking_min_date_index;
CREATE INDEX stock_picking_min_date_index
ON stock_picking
USING btree
(min_date);
-- Index: stock_picking_name_index
-- DROP INDEX stock_picking_name_index;
CREATE INDEX stock_picking_name_index
ON stock_picking
USING btree
(name COLLATE pg_catalog."default");
-- Index: stock_picking_origin_index
-- DROP INDEX stock_picking_origin_index;
CREATE INDEX stock_picking_origin_index
ON stock_picking
USING btree
(origin COLLATE pg_catalog."default");
-- Index: stock_picking_purchase_id_index
-- DROP INDEX stock_picking_purchase_id_index;
CREATE INDEX stock_picking_purchase_id_index
ON stock_picking
USING btree
(purchase_id);
-- Index: stock_picking_sale_id_index
-- DROP INDEX stock_picking_sale_id_index;
CREATE INDEX stock_picking_sale_id_index
ON stock_picking
USING btree
(sale_id);
-- Index: stock_picking_state_index
-- DROP INDEX stock_picking_state_index;
CREATE INDEX stock_picking_state_index
ON stock_picking
USING btree
(state COLLATE pg_catalog."default");
-- Index: stock_picking_stock_journal_id_index
-- DROP INDEX stock_picking_stock_journal_id_index;
CREATE INDEX stock_picking_stock_journal_id_index
ON stock_picking
USING btree
(stock_journal_id);
-- Index: stock_picking_type_index
-- DROP INDEX stock_picking_type_index;
CREATE INDEX stock_picking_type_index
ON stock_picking
USING btree
(type COLLATE pg_catalog."default");
-- Index: "Ãndice_id"
-- DROP INDEX "Ãndice_id";
CREATE UNIQUE INDEX "Ãndice_id"
ON stock_picking
USING btree
(id);
-- Trigger: tgg_spubicaciondestino_mov on stock_picking
-- DROP TRIGGER tgg_spubicaciondestino_mov ON stock_picking;
CREATE TRIGGER tgg_spubicaciondestino_mov
AFTER UPDATE
ON stock_picking
FOR EACH ROW
EXECUTE PROCEDURE tgg_spubicaciondestino_mov();
ALTER TABLE stock_picking DISABLE TRIGGER tgg_spubicaciondestino_mov;
CREATE TABLE stock_move
(
id serial NOT NULL,
create_uid integer,
create_date timestamp without time zone,
write_date timestamp without time zone,
write_uid integer,
origin character varying(64), -- Origin
product_uos_qty numeric, -- Quantity (UOS)
address_id integer, -- Destination Address
product_uom integer NOT NULL, -- Unit of Measure
price_unit numeric, -- Unit Price
date_expected timestamp without time zone NOT NULL, -- Scheduled Date
date timestamp without time zone NOT NULL, -- Date
prodlot_id integer, -- Production Lot
move_dest_id integer, -- Destination Move
product_qty numeric NOT NULL, -- Quantity
product_uos integer, -- Product UOS
location_id integer NOT NULL, -- Source Location
name character varying(250) NOT NULL, -- Name
note text, -- Notes
product_id integer NOT NULL, -- Product
auto_validate boolean, -- Auto Validate
price_currency_id integer, -- Currency for average price
partner_id integer, -- Partner
company_id integer NOT NULL, -- Company
picking_id integer, -- Reference
priority character varying, -- Priority
state character varying, -- State
location_dest_id integer NOT NULL, -- Destination Location
tracking_id integer, -- Pack
product_packaging integer, -- Packaging
purchase_line_id integer, -- Purchase Order Line
sale_line_id integer, -- Sales Order Line
linea_vacuna_id integer, -- LÃnea de vacuna
linea_receta_id integer, -- LÃnea de receta
discount double precision, -- Descuento (%)
trans_intercompany boolean, -- Intercompañias
precio_unitario_lote numeric, -- Precio unitario
linea_prescripcion_id integer, -- LÃnea de prescripcion de dispositivos
type_rp character varying, -- Tipo RP
fecha_caducidad_usr timestamp without time zone, -- Fecha Caducidad del lote
caducidad character varying, -- Caducidad
fecha_caducidad timestamp without time zone, -- Fecha Caducidad del lote
precio_unitario_lote_usr numeric, -- Precio unitario
edicion character varying, -- Edicion
CONSTRAINT stock_move_pkey PRIMARY KEY (id),
CONSTRAINT stock_move_address_id_fkey FOREIGN KEY (address_id)
REFERENCES res_partner_address (id) MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE SET NULL,
CONSTRAINT stock_move_company_id_fkey FOREIGN KEY (company_id)
REFERENCES res_company (id) MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE SET NULL,
CONSTRAINT stock_move_create_uid_fkey FOREIGN KEY (create_uid)
REFERENCES res_users (id) MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE SET NULL,
CONSTRAINT stock_move_linea_prescripcion_id_fkey FOREIGN KEY
(linea_prescripcion_id)
REFERENCES sgi_lineas_prescripcion (id) MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE SET NULL,
CONSTRAINT stock_move_linea_receta_id_fkey FOREIGN KEY (linea_receta_id)
REFERENCES sgi_lineas_receta (id) MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE SET NULL,
CONSTRAINT stock_move_linea_vacuna_id_fkey FOREIGN KEY (linea_vacuna_id)
REFERENCES sgi_lineas_vacuna (id) MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE SET NULL,
CONSTRAINT stock_move_location_dest_id_fkey FOREIGN KEY (location_dest_id)
REFERENCES stock_location (id) MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE SET NULL,
CONSTRAINT stock_move_location_id_fkey FOREIGN KEY (location_id)
REFERENCES stock_location (id) MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE SET NULL,
CONSTRAINT stock_move_move_dest_id_fkey FOREIGN KEY (move_dest_id)
REFERENCES stock_move (id) MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE SET NULL,
CONSTRAINT stock_move_picking_id_fkey FOREIGN KEY (picking_id)
REFERENCES stock_picking (id) MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE SET NULL,
CONSTRAINT stock_move_price_currency_id_fkey FOREIGN KEY (price_currency_id)
REFERENCES res_currency (id) MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE SET NULL,
CONSTRAINT stock_move_prodlot_id_fkey FOREIGN KEY (prodlot_id)
REFERENCES stock_production_lot (id) MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE SET NULL,
CONSTRAINT stock_move_product_id_fkey FOREIGN KEY (product_id)
REFERENCES product_product (id) MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE SET NULL,
CONSTRAINT stock_move_product_packaging_fkey FOREIGN KEY (product_packaging)
REFERENCES product_packaging (id) MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE SET NULL,
CONSTRAINT stock_move_product_uom_fkey FOREIGN KEY (product_uom)
REFERENCES product_uom (id) MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE SET NULL,
CONSTRAINT stock_move_product_uos_fkey FOREIGN KEY (product_uos)
REFERENCES product_uom (id) MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE SET NULL,
CONSTRAINT stock_move_purchase_line_id_fkey FOREIGN KEY (purchase_line_id)
REFERENCES purchase_order_line (id) MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE SET NULL,
CONSTRAINT stock_move_sale_line_id_fkey FOREIGN KEY (sale_line_id)
REFERENCES sale_order_line (id) MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE SET NULL,
CONSTRAINT stock_move_tracking_id_fkey FOREIGN KEY (tracking_id)
REFERENCES stock_tracking (id) MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE SET NULL,
CONSTRAINT stock_move_write_uid_fkey FOREIGN KEY (write_uid)
REFERENCES res_users (id) MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE SET NULL
)
WITH (
OIDS=FALSE
);
ALTER TABLE stock_move
OWNER TO openerp;
GRANT ALL ON TABLE stock_move TO openerp;
GRANT SELECT ON TABLE stock_move TO esb_msp;
GRANT SELECT, UPDATE ON TABLE stock_move TO lectura;
GRANT SELECT ON TABLE stock_move TO consulta;
GRANT ALL ON TABLE stock_move TO inven_lectu;
GRANT SELECT ON TABLE stock_move TO "wladimir.quijije";
GRANT SELECT ON TABLE stock_move TO "diego.molina";
GRANT SELECT ON TABLE stock_move TO "fausto.suarez";
COMMENT ON TABLE stock_move
IS 'Stock Move';
COMMENT ON COLUMN stock_move.origin IS 'Origin';
COMMENT ON COLUMN stock_move.product_uos_qty IS 'Quantity (UOS)';
COMMENT ON COLUMN stock_move.address_id IS 'Destination Address ';
COMMENT ON COLUMN stock_move.product_uom IS 'Unit of Measure';
COMMENT ON COLUMN stock_move.price_unit IS 'Unit Price';
COMMENT ON COLUMN stock_move.date_expected IS 'Scheduled Date';
COMMENT ON COLUMN stock_move.date IS 'Date';
COMMENT ON COLUMN stock_move.prodlot_id IS 'Production Lot';
COMMENT ON COLUMN stock_move.move_dest_id IS 'Destination Move';
COMMENT ON COLUMN stock_move.product_qty IS 'Quantity';
COMMENT ON COLUMN stock_move.product_uos IS 'Product UOS';
COMMENT ON COLUMN stock_move.location_id IS 'Source Location';
COMMENT ON COLUMN stock_move.name IS 'Name';
COMMENT ON COLUMN stock_move.note IS 'Notes';
COMMENT ON COLUMN stock_move.product_id IS 'Product';
COMMENT ON COLUMN stock_move.auto_validate IS 'Auto Validate';
COMMENT ON COLUMN stock_move.price_currency_id IS 'Currency for average price';
COMMENT ON COLUMN stock_move.partner_id IS 'Partner';
COMMENT ON COLUMN stock_move.company_id IS 'Company';
COMMENT ON COLUMN stock_move.picking_id IS 'Reference';
COMMENT ON COLUMN stock_move.priority IS 'Priority';
COMMENT ON COLUMN stock_move.state IS 'State';
COMMENT ON COLUMN stock_move.location_dest_id IS 'Destination Location';
COMMENT ON COLUMN stock_move.tracking_id IS 'Pack';
COMMENT ON COLUMN stock_move.product_packaging IS 'Packaging';
COMMENT ON COLUMN stock_move.purchase_line_id IS 'Purchase Order Line';
COMMENT ON COLUMN stock_move.sale_line_id IS 'Sales Order Line';
COMMENT ON COLUMN stock_move.linea_vacuna_id IS 'LÃnea de vacuna';
COMMENT ON COLUMN stock_move.linea_receta_id IS 'LÃnea de receta';
COMMENT ON COLUMN stock_move.discount IS 'Descuento (%)';
COMMENT ON COLUMN stock_move.trans_intercompany IS 'Intercompañias';
COMMENT ON COLUMN stock_move.precio_unitario_lote IS 'Precio unitario';
COMMENT ON COLUMN stock_move.linea_prescripcion_id IS 'LÃnea de prescripcion
de dispositivos';
COMMENT ON COLUMN stock_move.type_rp IS 'Tipo RP';
COMMENT ON COLUMN stock_move.fecha_caducidad_usr IS 'Fecha Caducidad del lote';
COMMENT ON COLUMN stock_move.caducidad IS 'Caducidad';
COMMENT ON COLUMN stock_move.fecha_caducidad IS 'Fecha Caducidad del lote';
COMMENT ON COLUMN stock_move.precio_unitario_lote_usr IS 'Precio unitario';
COMMENT ON COLUMN stock_move.edicion IS 'Edicion';
-- Index: sgi_product
-- DROP INDEX sgi_product;
CREATE INDEX sgi_product
ON stock_move
USING btree
(product_qty);
-- Index: sgi_product_uom
-- DROP INDEX sgi_product_uom;
CREATE INDEX sgi_product_uom
ON stock_move
USING btree
(product_uom);
-- Index: sgi_state
-- DROP INDEX sgi_state;
CREATE INDEX sgi_state
ON stock_move
USING btree
(state COLLATE pg_catalog."default");
-- Index: stock_move_company_id_index
-- DROP INDEX stock_move_company_id_index;
CREATE INDEX stock_move_company_id_index
ON stock_move
USING btree
(company_id);
-- Index: stock_move_date_expected_index
-- DROP INDEX stock_move_date_expected_index;
CREATE INDEX stock_move_date_expected_index
ON stock_move
USING btree
(date_expected);
-- Index: stock_move_date_index
-- DROP INDEX stock_move_date_index;
CREATE INDEX stock_move_date_index
ON stock_move
USING btree
(date);
-- Index: stock_move_id_idx
-- DROP INDEX stock_move_id_idx;
CREATE INDEX stock_move_id_idx
ON stock_move
USING btree
(id);
-- Index: stock_move_location_dest_id_index
-- DROP INDEX stock_move_location_dest_id_index;
CREATE INDEX stock_move_location_dest_id_index
ON stock_move
USING btree
(location_dest_id);
-- Index: stock_move_location_id_index
-- DROP INDEX stock_move_location_id_index;
CREATE INDEX stock_move_location_id_index
ON stock_move
USING btree
(location_id);
-- Index: stock_move_location_id_location_dest_id_product_id_state
-- DROP INDEX stock_move_location_id_location_dest_id_product_id_state;
CREATE INDEX stock_move_location_id_location_dest_id_product_id_state
ON stock_move
USING btree
(product_id, state COLLATE pg_catalog."default", location_id,
location_dest_id);
-- Index: stock_move_move_dest_id_index
-- DROP INDEX stock_move_move_dest_id_index;
CREATE INDEX stock_move_move_dest_id_index
ON stock_move
USING btree
(move_dest_id);
-- Index: stock_move_name_index
-- DROP INDEX stock_move_name_index;
CREATE INDEX stock_move_name_index
ON stock_move
USING btree
(name COLLATE pg_catalog."default");
-- Index: stock_move_partner_id_index
-- DROP INDEX stock_move_partner_id_index;
CREATE INDEX stock_move_partner_id_index
ON stock_move
USING btree
(partner_id);
-- Index: stock_move_picking_id_index
-- DROP INDEX stock_move_picking_id_index;
CREATE INDEX stock_move_picking_id_index
ON stock_move
USING btree
(picking_id);
-- Index: stock_move_prodlot_id_index
-- DROP INDEX stock_move_prodlot_id_index;
CREATE INDEX stock_move_prodlot_id_index
ON stock_move
USING btree
(prodlot_id);
-- Index: stock_move_product_id_index
-- DROP INDEX stock_move_product_id_index;
CREATE INDEX stock_move_product_id_index
ON stock_move
USING btree
(product_id);
-- Index: stock_move_purchase_line_id_index
-- DROP INDEX stock_move_purchase_line_id_index;
CREATE INDEX stock_move_purchase_line_id_index
ON stock_move
USING btree
(purchase_line_id);
-- Index: stock_move_sale_line_id_index
-- DROP INDEX stock_move_sale_line_id_index;
CREATE INDEX stock_move_sale_line_id_index
ON stock_move
USING btree
(sale_line_id);
-- Index: stock_move_state_index
-- DROP INDEX stock_move_state_index;
CREATE INDEX stock_move_state_index
ON stock_move
USING btree
(state COLLATE pg_catalog."default");
-- Index: stock_move_tracking_id_index
-- DROP INDEX stock_move_tracking_id_index;
CREATE INDEX stock_move_tracking_id_index
ON stock_move
USING btree
(tracking_id);
SELECT min(m.id) AS id,
m.date,
m.address_id AS partner_id,
m.location_id,
m.product_id,
pt.categ_id AS product_categ_id,
l.usage AS location_type,
m.company_id,
m.state,
m.prodlot_id,
COALESCE(sum((- pt.standard_price) * m.product_qty * pu.factor /
pu2.factor), 0.0) AS value,
COALESCE(sum((- m.product_qty) * pu.factor / pu2.factor), 0.0) AS
product_qty
FROM stock_move m
LEFT JOIN stock_picking p ON m.picking_id = p.id
LEFT JOIN product_product pp ON m.product_id = pp.id
LEFT JOIN product_template pt ON pp.product_tmpl_id = pt.id
LEFT JOIN product_uom pu ON pt.uom_id = pu.id
LEFT JOIN product_uom pu2 ON m.product_uom = pu2.id
LEFT JOIN product_uom u ON m.product_uom = u.id
LEFT JOIN stock_location l ON m.location_id = l.id
GROUP BY m.id, m.product_id, m.product_uom, pt.categ_id, m.address_id,
m.location_id, m.location_dest_id, m.prodlot_id, m.date, m.state, l.usage,
m.company_id, pt.uom_id
UNION ALL
SELECT - m.id AS id,
m.date,
m.address_id AS partner_id,
m.location_dest_id AS location_id,
m.product_id,
pt.categ_id AS product_categ_id,
l.usage AS location_type,
m.company_id,
m.state,
m.prodlot_id,
COALESCE(sum(pt.standard_price * m.product_qty * pu.factor / pu2.factor),
0.0) AS value,
COALESCE(sum(m.product_qty * pu.factor / pu2.factor), 0.0) AS product_qty
FROM stock_move m
LEFT JOIN stock_picking p ON m.picking_id = p.id
LEFT JOIN product_product pp ON m.product_id = pp.id
LEFT JOIN product_template pt ON pp.product_tmpl_id = pt.id
LEFT JOIN product_uom pu ON pt.uom_id = pu.id
LEFT JOIN product_uom pu2 ON m.product_uom = pu2.id
LEFT JOIN product_uom u ON m.product_uom = u.id
LEFT JOIN stock_location l ON m.location_dest_id = l.id
GROUP BY m.id, m.product_id, m.product_uom, pt.categ_id, m.address_id,
m.location_id, m.location_dest_id, m.prodlot_id, m.date, m.state, l.usage,
m.company_id, pt.uom_id;
-
Enviado a la lista de correo pgsql-es-ayuda (pgsql-es-ayuda@postgresql.org)
Para cambiar tu suscripción:
http://www.postgresql.org/mailpref/pgsql-es-ayuda