public viewComprasInv() { InitializeComponent(); proTA = new PROVEEDORESTableAdapter(); matTA = new MATERIALES_UNIDADESTableAdapter(); comTA = new COMPRASTableAdapter(); comdetTA = new DETALLE_COMPRATableAdapter(); //Cargamos los proveedores al ComboBox InventariosDS iDS = new InventariosDS(); proTA.Fill(iDS.PROVEEDORES); txtProveedor.ItemsSource=iDS.PROVEEDORES.DefaultView; txtProveedor.DisplayMemberPath="NOMBRE"; txtProveedor.SelectedValuePath="ID_PROVEEDOR"; //Cargamos los materiales matTA.Fill(iDS.MATERIALES_UNIDADES); gridDetalle.DataContext = iDS.MATERIALES_UNIDADES.DefaultView; txtMaterial.DisplayMemberPath="NOMBRE"; txtMaterial.SelectedValuePath="ID_MATERIAL"; //Creamos la tabla detalle de Factura GenerarTabla(); dgDetalleF.ItemsSource=tblDetalle.DefaultView; //Cargamos la fecha actual del sistema txtFecha.Text = DateTime.Today.ToString(); txtProveedor.Focus(); txtTUnit.LostFocus += new RoutedEventHandler(HandlerMathJMP.NumeroEnteroMath); txtPrecioU.LostFocus += new RoutedEventHandler(HandlerMathJMP.NumeroDecimalMath); }
public viewInventarioKardex() { this.InitializeComponent(); INVENTARIO_CARDEXTableAdapter ita = new INVENTARIO_CARDEXTableAdapter(); InventariosDS ids = new InventariosDS(); ita.Fill(ids.INVENTARIO_CARDEX); this.DataContext = ids.INVENTARIO_CARDEX; }
void ctlExpander_Expanded(object sender, RoutedEventArgs e) { //Primero Interceptamos el Expander que provoco el evento ctlExpander = sender as controlExpanderInventario; //Ahora recuperamos el valor del ID_MATERIAL para la consulta de su detalle string IDM = ctlExpander.IDMaterial; //Instaciamos el TA y cargamos la Consulta por el ID_Material ListBox dg = (ListBox)ctlExpander.Content; InventariosDS iDS = new InventariosDS(); //dg.Items.Clear(); iTA.FillByID(iDS.INVENTARIO_CARDEX, Int32.Parse(IDM)); dg.ItemsSource= iDS.INVENTARIO_CARDEX; }
public viewOrdenFabricacion() { this.InitializeComponent(); mtTA = new ONLY_MATERIAL_DISPONIBLETableAdapter(); funcTA = new FuncionesTableAdapter(); ofTA = new ORDEN_FABRICACIONTableAdapter(); InventariosDS ivDS = new InventariosDS(); //Cargamos fechas por defecto txtFechaExp.SelectedDate = DateTime.Today; txtFechaInicio.SelectedDate = DateTime.Today; //Cargamos la lista de materiales en el combobox mtTA.Fill(ivDS.ONLY_MATERIAL_DISPONIBLE); gridReqMateriales.DataContext = ivDS.ONLY_MATERIAL_DISPONIBLE.DefaultView; txtMaterial.DisplayMemberPath = "NOMBRE"; txtMaterial.SelectedValuePath = "ID_MATERIAL"; //Generamos la tabla que se conecta a la tabla de Req. Materiales GenerarTabla(); dgReqMateriales.ItemsSource = tblReqMateriales.DefaultView; //Pasamos el handler a la clase manejadora de expresiones matematicas txtCantidad.LostFocus += new RoutedEventHandler(HandlerMathJMP.NumeroEnteroMath); txtCantidadReq.LostFocus += new RoutedEventHandler(HandlerMathJMP.NumeroEnteroMath); //txtSalarioxHora.LostFocus += new RoutedEventHandler(HandlerMathJMP.NumeroDecimalMath); //txtMODNumeroHoras.LostFocus += new RoutedEventHandler(HandlerMathJMP.NumeroEnteroMath); //txtGIFMonto.LostFocus += new RoutedEventHandler(HandlerMathJMP.NumeroDecimalMath); //txtGIFTasa.LostFocus += new RoutedEventHandler(HandlerMathJMP.NumeroDecimalMath); //Pasamos tambn el handler cuando entran al TextBox se seleccione el texto txtArticulo.GotFocus += new RoutedEventHandler(HandlerMathJMP.TextSelect); txtEspecificaciones.GotFocus += new RoutedEventHandler(HandlerMathJMP.TextSelect); txtCantidad.GotFocus += new RoutedEventHandler(HandlerMathJMP.TextSelect); txtCantidadReq.GotFocus += new RoutedEventHandler(HandlerMathJMP.TextSelect); txtNoObreros.GotFocus += new RoutedEventHandler(HandlerMathJMP.TextSelect); txtSalarioxHora.GotFocus += new RoutedEventHandler(HandlerMathJMP.TextSelect); txtMODNumeroHoras.GotFocus += new RoutedEventHandler(HandlerMathJMP.TextSelect); txtGIFMonto.GotFocus += new RoutedEventHandler(HandlerMathJMP.TextSelect); txtGIFTasa.GotFocus += new RoutedEventHandler(HandlerMathJMP.TextSelect); }
private void btnCrearOF_Click(object sender, RoutedEventArgs e) { DateTime dtFE, dtFRxC, dtFI, dtFT; //Validamos primero las fechas de los datos generales de la OF if ((!ValidacionesJMP.IsSelectedDate(txtFechaExp.Text, out dtFE)) || (!ValidacionesJMP.IsSelectedDate(txtFechaReq.Text,out dtFRxC))) { MessageBox.Show("ERROR! Primero debe de seleccionar la Fecha de Expedicion y Fecha Requerida por el cliente", "ERROR! de datos", MessageBoxButton.OK, MessageBoxImage.Error); txtFechaExp.Focus(); return; } if (DateTime.Compare(dtFRxC,dtFE) < 0) { MessageBox.Show("ERROR! La fecha REQUERIDA POR EL CLIENTE no puede ser MENOR que la fecha de EXPEDICION", "ERROR! de Fechas", MessageBoxButton.OK, MessageBoxImage.Error); txtFechaReq.Focus(); return; } //Ahora validamos los datos de Produccion int iCantidadProd; if ((ValidacionesJMP.IsNull(txtArticulo.Text)) || (!ValidacionesJMP.IsNumericoMayor(txtCantidad.Text, out iCantidadProd)) || (!ValidacionesJMP.IsSelectedDate(txtFechaInicio.Text, out dtFI)) || (!ValidacionesJMP.IsSelectedDate(txtFechaFinalizacion.Text, out dtFT)) || (ValidacionesJMP.IsNull(txtEspecificaciones.Text))) { MessageBox.Show("ERROR! Los campo de los datos de produccion contienen errores. Por favor, corrijalos y vuelva a intentarlo", "ERROR! de datos", MessageBoxButton.OK, MessageBoxImage.Error); txtArticulo.Focus(); return; } if (DateTime.Compare(dtFT, dtFI) < 0) { MessageBox.Show("ERROR! La fecha de FINALIZACION no puede ser MENOR que la fecha de INICIO", "ERROR! de Fechas", MessageBoxButton.OK, MessageBoxImage.Error); txtFechaReq.Focus(); return; } //Ahora validamos datos del MOD if (lblTotalMOD.Text == "ERROR") { MessageBox.Show("ERROR! Los campos de los datos de MOD contiene errores", "ERROR! de datos", MessageBoxButton.OK, MessageBoxImage.Error); txtNoObreros.Focus(); return; } //Por ultimo validamos los datos del CIF if (lblTotalGIF.Text == "ERROR") { MessageBox.Show("ERROR! Los campos de los datos de CIF contiene errores", "ERROR! de datos", MessageBoxButton.OK, MessageBoxImage.Error); txtGIFTasa.Focus(); return; } //Tambien validamos que exista requisicion de material en la orden if (tblReqMateriales.Rows.Count == 0) { MessageBox.Show("ERROR! No se puede continuar debido a que no a requerido de ningun material", "ERROR! No existe requisicion de material", MessageBoxButton.OK, MessageBoxImage.Error); txtMaterial.Focus(); return; } //Una vez tenemos validado todos los datos, podemos pasar primero agregar todo los datos //a la tabla de OF. ofTA.Insert(dtFE, dtFRxC, dtFI, dtFT, txtArticulo.Text,iCantidadProd, txtEspecificaciones.Text, iMOD_NObreros, iMOD_Nhoras, dMOD_Salario, dGIF_Monto, (float)dGIF_Tasa); //Recuperamos el numero de operacion que fue asignado a la Orden de Fabricacion int iIDOFab = funcTA.GET_NOLAST_ORDEN_FAB().Value; //Ahora tenemos que ingresa los materiales de manera de PEPS int iCTotal,iIDMat,iDifArt,iDRCantidad; InventariosDS iDS = new InventariosDS(); INVENTARIO_CARDEXTableAdapter icxTA = new INVENTARIO_CARDEXTableAdapter(); REQUISICION_MATERIALESTableAdapter reqmatTA = new REQUISICION_MATERIALESTableAdapter(); foreach (DataRow dr in tblReqMateriales.Rows) { iIDMat = (int)dr["CODIGO"]; iCTotal = (int)dr["CANTIDAD"]; iDifArt = 0; //Cargamos la tabla con todos los productos disponibles ordenados en PEPS iDS.Clear(); icxTA.FillByIDMaterial(iDS.INVENTARIO_CARDEX, iIDMat); foreach (DataRow drM in iDS.INVENTARIO_CARDEX.Rows) { //Verificamos si la cantidad del primero articulo en PEPS alcanza para cubrir el material iDRCantidad = (int)drM["DIFERENCIA"]; if (iDRCantidad >= iCTotal - iDifArt) { //Significa que la cnatidad de la compra alcanza para cubrirla requesicion reqmatTA.Insert(iIDMat, iIDOFab, (int)drM["ID_COMPRA"], iCTotal - iDifArt); break; } else { reqmatTA.Insert(iIDMat, iIDOFab, (int)drM["ID_COMPRA"], (int)drM["DIFERENCIA"]); iDifArt += (int)drM["DIFERENCIA"]; } } } //Una vez terminado mostramos que la orden de fabriacion se realizo exitosamente MessageBox.Show(string.Format("La Orden de Fabriacion con No. {0}, se efectuo exitosamente en el sistema", iIDOFab), "La orden de fabricacion se ingreso correctamente en el sistema", MessageBoxButton.OK, MessageBoxImage.Information); }
private void btnCompra_Click(object sender, RoutedEventArgs e) { DateTime dt; int iIDProv; try { dt = DateTime.Parse(txtFecha.Text); } catch (Exception ex) { ex.Data.Clear(); MessageBox.Show("Por favor, seleccione la fecha de la operacion"); txtFecha.Focus(); return; } try { iIDProv = (int)txtProveedor.SelectedValue; } catch (Exception ex) { ex.Data.Clear(); MessageBox.Show("Por favor, seleccione un proveedor para la compra"); txtProveedor.Focus(); return; } //Agregamos la transaccion a la tabla COMPRAS, que es la info general comTA.Insert(iIDProv, txtFecha.SelectedDate); int iIDCompra; //Recalculamos totales por cualquier cosa CalcularTotales(); //Una vez agregada tenemos que recuperar el ID_COMPRA InventariosDS iDSTMP = new InventariosDS(); comTA.Fill(iDSTMP.COMPRAS); iIDCompra = (int)iDSTMP.COMPRAS[iDSTMP.COMPRAS.Rows.Count-1]["ID_COMPRA"]; //Una vez recuperado empezamos agregar material por material a la tabla detalle de compras foreach (DataRow dr in tblDetalle.Rows) { comdetTA.Insert(iIDCompra, (int)dr["CODIGO"], (int)dr["CANTIDAD"], (decimal)dr["PRECIO"]); } //Una vez con la compra de materieles tenemos que realizar la transaccion de Inventario Mercaderia //Calculamos el IVA y a que cuenta vamos abonar decimal dMontoT = decimal.Parse(lblTotalC.Text.Substring(1)); decimal dIVA = Math.Round(dMontoT * 0.13m, 2); int iIDTransaccion; TRANSACCIONESTableAdapter transTA = new TRANSACCIONESTableAdapter(); ContaGeneralDS contaDS = new ContaGeneralDS(); DETALLE_TRANSACCIONESTableAdapter detTransTA = new DETALLE_TRANSACCIONESTableAdapter(); //Hacemos primero la insercion en la tabla transacciones transTA.Insert(12, DateTime.Today, string.Format("F{0}", iIDCompra), dMontoT, "Compra de Materiales"); transTA.FillByCodigo(contaDS.TRANSACCIONES, string.Format("F{0}", iIDCompra)); iIDTransaccion = (int)contaDS.TRANSACCIONES[0]["ID_TRANSACCION"]; //Ahora afectamos las cuentas de la opoeracions d compra de materiales detTransTA.Insert(iIDTransaccion, 1, 39, dIVA, 0); detTransTA.Insert(iIDTransaccion, 2, 80, dMontoT-dIVA, 0); if (optEfectivo.IsChecked == true) detTransTA.Insert(iIDTransaccion, 3, 1, 0, dMontoT); //EFECTIVO else detTransTA.Insert(iIDTransaccion, 3, 31, 0, dMontoT); //CxP MessageBox.Show("La transaccion de Compra de Mercaderia se realizo con exito", "Transaccion Exitosa", MessageBoxButton.OK, MessageBoxImage.Information); tblDetalle.Clear(); txtPrecioU.Text = "0"; txtTUnit.Text = "0"; txtFecha.Focus(); }