! -> Note
$ -> Affected files
+17-May-2009 Janusz Dobrowolski
++ Added excluding item/category from sales.
+$ /includes/ui/ui_lists.inc
+ /inventory/includes/db/items_category_db.inc
+ /inventory/includes/db/items_db.inc
+ /inventory/manage/item_categories.php
+ /inventory/manage/items.php
+ /sql/alter2.2.sql
+ /sql/alter2.2.php
+
15-May-2009 Joe Hunt
# Bad link to view dimension
$ /includes/ui/ui_view.inc
! Improved layout.
-$ /purchasing/includes/ui/invoice_ud.inc
+$ /purchasing/includes/ui/invoice_ui.inc
14-May-2009 Joe Hunt
+ Added user_id to Journal Inquiry
$sql = "SELECT i.item_code, i.description, c.description, count(*)>1 as kit,
i.inactive
FROM
+ ".TB_PREF."stock_master s,
".TB_PREF."item_codes i
LEFT JOIN
".TB_PREF."stock_category c
- ON i.category_id=c.category_id";
+ ON i.category_id=c.category_id
+ WHERE i.stock_id=s.stock_id";
+
if ($type == 'local') { // exclude foreign codes
- $sql .= " WHERE !i.is_foreign";
+ $sql .= " AND !i.is_foreign";
} elseif ($type == 'kits') { // sales kits
- $sql .= " WHERE !i.is_foreign AND i.item_code!=i.stock_id";
+ $sql .= " AND !i.is_foreign AND i.item_code!=i.stock_id";
}
- $sql .= " AND !i.inactive";
+ $sql .= " AND !i.inactive AND !s.inactive AND !s.no_sale";
$sql .= " GROUP BY i.item_code";
return combo_input($name, $selected_id, $sql, 'i.item_code', 'c.description',
***********************************************************************/
function add_item_category($description, $tax_type_id, $sales_account,
$cogs_account, $inventory_account, $adjustment_account, $assembly_account,
- $units, $mb_flag, $dim1, $dim2)
+ $units, $mb_flag, $dim1, $dim2, $no_sale)
{
$sql = "INSERT INTO ".TB_PREF."stock_category (description, dflt_tax_type,
dflt_units, dflt_mb_flag, dflt_sales_act, dflt_cogs_act,
dflt_inventory_act, dflt_adjustment_act, dflt_assembly_act,
- dflt_dim1, dflt_dim2)
+ dflt_dim1, dflt_dim2, dflt_no_sale)
VALUES ("
.db_escape($description).","
.db_escape($tax_type_id).","
.db_escape($adjustment_account).","
.db_escape($assembly_account).","
.db_escape($dim1).","
- .db_escape($dim2).")";
+ .db_escape($dim2).","
+ .db_escape($no_sale).")";
db_query($sql,"an item category could not be added");
}
function update_item_category($id, $description, $tax_type_id,
$sales_account, $cogs_account, $inventory_account, $adjustment_account,
- $assembly_account, $units, $mb_flag, $dim1, $dim2)
+ $assembly_account, $units, $mb_flag, $dim1, $dim2, $no_sale)
{
$sql = "UPDATE ".TB_PREF."stock_category SET "
."dflt_adjustment_act = ".db_escape($adjustment_account).","
."dflt_assembly_act = ".db_escape($assembly_account).","
."dflt_dim1 = ".db_escape($dim1).","
- ."dflt_dim2 = ".db_escape($dim2)
+ ."dflt_dim2 = ".db_escape($dim2).","
+ ."dflt_no_sale = '$no_sale'"
." WHERE category_id = '$id'";
db_query($sql,"an item category could not be updated");
function update_item($stock_id, $description, $long_description, $category_id,
$tax_type_id, $units='', $mb_flag='', $sales_account, $inventory_account,
$cogs_account, $adjustment_account, $assembly_account, $dimension_id,
- $dimension2_id)
+ $dimension2_id, $no_sale)
{
$sql = "UPDATE ".TB_PREF."stock_master SET long_description=".db_escape($long_description).",
description=".db_escape($description).",
assembly_account='$assembly_account',
dimension_id=$dimension_id,
dimension2_id=$dimension2_id,
- tax_type_id=$tax_type_id";
+ tax_type_id=$tax_type_id,
+ no_sale='$no_sale'";
if ($units != '')
$sql .= ", units='$units'";
function add_item($stock_id, $description, $long_description, $category_id,
$tax_type_id, $units, $mb_flag, $sales_account, $inventory_account,
$cogs_account, $adjustment_account, $assembly_account, $dimension_id,
- $dimension2_id)
+ $dimension2_id, $no_sale)
{
$sql = "INSERT INTO ".TB_PREF."stock_master (stock_id, description, long_description, category_id,
tax_type_id, units, mb_flag, sales_account, inventory_account, cogs_account,
- adjustment_account, assembly_account, dimension_id, dimension2_id)
+ adjustment_account, assembly_account, dimension_id, dimension2_id, no_sale)
VALUES (".db_escape($stock_id).", ".db_escape($description).", ".db_escape($long_description).",
'$category_id', $tax_type_id, '$units', '$mb_flag',
'$sales_account', '$inventory_account', '$cogs_account',
- '$adjustment_account', '$assembly_account', $dimension_id, $dimension2_id)";
+ '$adjustment_account', '$assembly_account', $dimension_id, $dimension2_id,
+ '$no_sale')";
db_query($sql, "The item could not be added");
$_POST['tax_type_id'], $_POST['sales_account'],
$_POST['cogs_account'], $_POST['inventory_account'],
$_POST['adjustment_account'], $_POST['assembly_account'],
- $_POST['units'], $_POST['mb_flag'], $_POST['dim1'], $_POST['dim2']);
+ $_POST['units'], $_POST['mb_flag'], $_POST['dim1'], $_POST['dim2'],
+ check_value('no_sale'));
display_notification(_('Selected item category has been updated'));
}
else
$_POST['cogs_account'], $_POST['inventory_account'],
$_POST['adjustment_account'], $_POST['assembly_account'],
$_POST['units'], $_POST['mb_flag'], $_POST['dim1'],
- $_POST['dim2']);
+ $_POST['dim2'], check_value('no_sale'));
display_notification(_('New item category has been added'));
}
$Mode = 'RESET';
$_POST['mb_flag'] = $myrow["dflt_mb_flag"];
$_POST['dim1'] = $myrow["dflt_dim1"];
$_POST['dim2'] = $myrow["dflt_dim2"];
+ $_POST['no_sale'] = $myrow["dflt_no_sale"];
}
hidden('selected_id', $selected_id);
hidden('category_id');
} else {
$_POST['long_description'] = '';
$_POST['description'] = '';
+ $_POST['no_sale'] = 0;
$company_record = get_company_prefs();
stock_units_list_row(_("Units of Measure:"), 'units', null);
+check_row(_("Exclude from sales:"), 'no_sale', $_POST['no_sale']);
+
gl_all_accounts_list_row(_("Sales Account:"), 'sales_account', $_POST['sales_account']);
gl_all_accounts_list_row(_("Inventory Account:"), 'inventory_account', $_POST['inventory_account']);
get_post('mb_flag'), $_POST['sales_account'],
$_POST['inventory_account'], $_POST['cogs_account'],
$_POST['adjustment_account'], $_POST['assembly_account'],
- $_POST['dimension_id'], $_POST['dimension2_id']);
+ $_POST['dimension_id'], $_POST['dimension2_id'],
+ check_value('no_sale'));
update_record_status($_POST['NewStockID'], $_POST['inactive'],
'stock_master', 'stock_id');
update_record_status($_POST['NewStockID'], $_POST['inactive'],
$_POST['units'], $_POST['mb_flag'], $_POST['sales_account'],
$_POST['inventory_account'], $_POST['cogs_account'],
$_POST['adjustment_account'], $_POST['assembly_account'],
- $_POST['dimension_id'], $_POST['dimension2_id']);
+ $_POST['dimension_id'], $_POST['dimension2_id'],
+ check_value('no_sale'));
display_notification(_("A new item has been added."));
$_POST['stock_id'] = $_POST['NewStockID'] =
$_POST['assembly_account'] = $myrow['assembly_account'];
$_POST['dimension_id'] = $myrow['dimension_id'];
$_POST['dimension2_id'] = $myrow['dimension2_id'];
+ $_POST['no_sale'] = $myrow['no_sale'];
$_POST['del_image'] = 0;
$_POST['inactive'] = $myrow["inactive"];
label_row(_("Item Code:"),$_POST['NewStockID']);
$_POST['assembly_account'] = $category_record["dflt_assembly_act"];
$_POST['dimension_id'] = $category_record["dflt_dim1"];
$_POST['dimension2_id'] = $category_record["dflt_dim2"];
+ $_POST['no_sale'] = $category_record["dflt_no_sale"];
}
$fresh_item = !isset($_POST['NewStockID']) || $new_item
|| check_usage($_POST['stock_id'],false);
else
hidden('assembly_account', $_POST['assembly_account']);
-table_section_title(_("Picture"));
+table_section_title(_("Other"));
// Add image upload for New Item - by Joe
label_row(_("Image File (.jpg)") . ":", "<input type='file' id='pic' name='pic'>");
if ($check_remove_image)
check_row(_("Delete Image:"), 'del_image', $_POST['del_image']);
+check_row(_("Exclude from sales:"), 'no_sale', $_POST['no_sale']);
+
record_status_list_row(_("Item status:"), 'inactive');
end_outer_table(1);
div_end();
if ($info[1])
$sql .= " WHERE {$info[1]}=$typeno";
$result = db_query($sql);
- if(db_num_rows($result)) {
- while($row = db_fetch($result)) {
+ if (db_num_rows($result)) {
+ while ($row = db_fetch($result)) {
$res2 = db_query("INSERT INTO {$pref}refs VALUES("
. $row['id'].",".$typeno.",'".$row['ref']."')");
if (!$res2) {
}
}
}
-/* FIX
- // add audit_trail data for all transactions
- $datatbl = array ("gl_trans", "purch_orders", "sales_orders",
- "workorders");
- $sql = "INSERT INTO ".$pref."audit_trail"
- ." (type, trans_no, user, fiscal_year, gl_date) VALUES ("
- . "$type,$trans_no,$user,$year,$date)";
-*/
+/* FIX // restore/init audit_trail data
+ $datatbl = array (
+ "gl_trans"=> array("type", "type_no","tran_date"),
+ "purch_orders" => array("order_no", "'18'", "ord_date"),
+ "sales_orders" => array("order_no", "'30'", "ord_date"),
+ "workorders" => array("id", "'26'", "date_") );
+ foreach ( $datatbl as $tblname => $tbl) {
+ $sql = "SELECT {$tbl[0]} as type, {$tbl[1]} as trans, {$tbl[2]} as dat"
+ . " FROM {$pref}{$tblname}";
+ $result = db_query($sql);
+ if (db_num_rows($result)) {
+ $user = ;
+ $year = ;
+ while ($row = db_fetch($result)) {
+ $sql2 = "INSERT INTO ".$pref."audit_trail"
+ ." (type, trans_no, user, fiscal_year, gl_date, gl_seq) VALUES ("
+ . "{$row['type']},{$row['trans']},$user,$year,{$row['dat']},0)";
+ $res2 = db_query($sql2);
+ if (!$res2) {
+ display_error(_("Cannot init audit_trail data")
+ .':<br>'. db_error_msg($db));
+ return false;
+ }
+ }
+ }
+ }
+*/
return true;
}
//
if (check_table($pref, 'stock_category', 'dflt_dim2')) return false;
if (check_table($pref, 'users', 'sticky_doc_date')) return false;
if (check_table($pref, 'audit_trail')) return false;
+ if (check_table($pref, 'stock_master','no_sale')) return false;
return true;
}
};
ALTER TABLE `0_stock_category` ADD COLUMN `dflt_assembly_act` varchar(11) NOT NULL default '';
ALTER TABLE `0_stock_category` ADD COLUMN `dflt_dim1` int(11) default NULL;
ALTER TABLE `0_stock_category` ADD COLUMN `dflt_dim2` int(11) default NULL;
+ALTER TABLE `0_stock_category` ADD COLUMN `dflt_no_sale` tinyint(1) NOT NULL default '0';
ALTER TABLE `0_users` ADD COLUMN `sticky_doc_date` TINYINT(1) DEFAULT '0';
KEY (`fiscal_year`, `gl_seq`)
) TYPE=InnoDB ;
+ALTER TABLE `0_stock_master` ADD COLUMN `no_sale` tinyint(1) NOT NULL default '0';