Разработка AMR-специалиста отдела снабжения предприятия малого бизнеса

Заказать уникальную дипломную работу
Тип работы: Дипломная работа
Предмет: Программирование
  • 84 84 страницы
  • 29 + 29 источников
  • Добавлена 12.09.2012
2 500 руб.
  • Содержание
  • Часть работы
  • Список литературы
  • Вопросы/Ответы
Оглавление
1 Характеристика предприятия
2 Организационная структура предприятия малого бизнеса
3 Анализ существующих разработок для автоматизации комплекса задач
3 1 ERP – системы
3 2 SRM – системы
4 Информационная модель задачи и ее описание.
5 Дерево выполняемых функций и сценарий диалога
6 Информационное обеспечение задачи
7 Структура базы данных
8 Описание технических и программных средств обработки информации
9 Описание модулей
10 Алгоритм решения задачи
11 Схема ресурсов (связь программных модулей и информационных файлов)
12 Руководство администратора
Список литературы

Фрагмент для ознакомления

Текстовые поля «Наименование поставщика» и «Сумма оплаты», данные из таблицы – только для чтения. Эти данные заполняются на основании номера счета. При изменении номера счета, изменяются и эти данные.
При нажатии на кнопку «Изменить» происходит проверка правильности ввода и запись в базу.
При нажатии на кнопку «Удалить» заявка удаляется. Удаляется также связанный с ней документ Microsoft Word.
При нажатии на кнопку «Добавить» на экране появляется форма с полями:
Текстовое поле: Номер заявки
Выпадающий список: Номер счета
Текстовое поле: Основание платежа
Текстовое поле: Дата оплаты
Выпадающий список: Статус заявки на оплату
Таблица:
Текстовое поле: Наименование ТМЦ
Текстовое поле: Количество
Текстовое поле: Цена за единицу
Кнопка «Добавить»
Текстовые поля «Наименование поставщика» и «Сумма оплаты», данные из таблицы – только для чтения. Эти данные заполняются на основании номера счета. При изменении номера счета, изменяются и эти данные.
Код заявки формируется автоматически. При нажатии на кнопку «Добавить» происходит проверка правильности ввода и запись в базу. На основании шаблона создается документ Microsoft Word, в который вставляются данные из заявки.
Код модуля.
Add_zayav_opl.php
include('func_zayav_opl.php');
require_once('../head.php');
if (!isset($_SESSION['log']))
{?><script>document.location='../index.php'</script>
}
?>
<script src="../calendar/jquery-1.7.1.js"></script>
<script src="../calendar/ui.datepicker.js"></script>
<script language="javascript" type="text/javascript"> <br />var xmlHttp; <br /> try //обработка ошибок <br /> { <br /> xmlHttp = new XMLHttpRequest(); <br /> } <br /> catch(e) <br /> { <br /> var XmlHttpVersions = new Array("MSXML2.XMLHHTP.6.0", <br />"MSXML2.XMLHHTP.5.0", <br />"MSXML2.XMLHHTP.4.0", <br />"MSXML2.XMLHHTP.3.0", <br />"MSXML2.XMLHHTP", <br />"Microsoft.XMLHHTP"); <br />i=0 <br />while (i < XmlHttpVersions.length && !xmlHttp) <br />{ <br />try <br />{ <br />xmlHttp = new ActiveXObject(XmlHttpVersions[i]); <br />} <br />catch(e){} <br />i++ <br />} <br />} <br />function callServerTable() { <br /> var nom_schet = document.getElementById('nom_schet').value; <br /> var url = "getTable.php?nom_schet=" + nom_schet; <br /> xmlHttp.open("GET", url, true); <br /> xmlHttp.onreadystatechange = updatePageTable; <br /> xmlHttp.send(null); <br />} <br />function updatePageTable() <br />{ <br /> if (xmlHttp.readyState == 4) <br /> { <br /> var response = xmlHttp.responseText; <br /> document.getElementById('opt').innerHTML = response; <br /> } <br />} <br />$(document).ready(function() { <br/><br /> $("#data_vist").datepicker({dateFormat:'yy-mm-dd'}); <br /> }); <br /></script>
@import_request_variables('PG');
$mysql=mysql_con($db_connect,$db_user,$db_paswd);
$db=db_con($db_name);
?>









echo "
";
echo "";

echo "";
echo "";
echo "
Номер счета
Основание платежа *Дата оплаты
Статус оплаты
";
echo "";
$q_post="select * from postavshik,head_schet where postavshik.kod_post=head_schet.kod_post and nom_schet=".$nom_schet;
$r_post=mysql_query($q_post);
@$row_post=mysql_fetch_array($r_post);
echo "";
echo "";
echo "";
$q_body="select * from body_schet,tmc where body_schet.kod_tmc=tmc.kod_tmc and nom_schet=".$nom_schet;
$res_body=mysql_query($q_body);
@$n_body=mysql_num_rows($res_body);
$sum_opl=0;
for($i=0;$i<$n_body;$i++)
{
@$r_body=mysql_fetch_array($res_body);
echo "";
$sum_opl=$sum_opl+$r_body['kolvo_schet']*$r_body['price_ed_schet'];
}
echo "
Поставщик
Наименование ТМЦКоличествоЦена за единицу
".stripslashes($r_body['naim_tmc'])."".$r_body['kolvo_schet']."".$r_body['price_ed_schet']."
Итого".$sum_opl."
";
echo "";


echo "
";


if(isset($addb))
{
if (empty($data_vist))
{$data_vist=date('Y-m-d');}
if (empty($osn_plat) && empty($kod_st_opl) && empty($nom_schet) && empty($sum_opl))
{
?><script>alert('Заполните все поля')</script>
}
else
{
$q_prov="select nom_schet from zayav_oplata where nom_schet=".$nom_schet;
$r_prov=mysql_query($q_prov);
$n_prov= mysql_num_rows($r_prov);
if ($n_prov>0)
{
?><script>alert('Заявка на оплату этого счета уже существует')</script>
}
else
{
$osn_plat=addslashes($osn_plat);
$q_ins="insert into zayav_oplata (data_vist,sum_opl,kod_st_opl,osn_plat,nom_schet) values ('".$data_vist."','".$sum_opl."','".$st_opl."','".$osn_plat."','".$nom_schet."')";
$r_ins=mysql_query($q_ins);
if ($r_ins>0)
{
$q="select max(kod_zayav_opl) as max from zayav_oplata";
$r=mysql_query($q);
@$row=mysql_fetch_array($r);
$kod_zayav_opl=$row['max'];
create_doc($kod_zayav_opl,$nom_schet,$osn_plat,$data_vist,$sum_opl)
?><script>alert('Заявка добавлена');document.location='zayav_opl.php'</script>
}
}
}
}
?>

Show_zayav_opl.php
require_once('../head.php');
if (!isset($_SESSION['log']))
{?><script>document.location='../index.php'</script>
}
@import_request_variables('PG');
$mysql=mysql_con($db_connect,$db_user,$db_paswd);
$db=db_con($db_name);
?>
<script src="../calendar/jquery-1.7.1.js"></script>
<script src="../calendar/ui.datepicker.js"></script>
<script language="javascript" type="text/javascript"> <br />var xmlHttp; <br /> try //обработка ошибок <br /> { <br /> xmlHttp = new XMLHttpRequest(); <br /> } <br /> catch(e) <br /> { <br /> var XmlHttpVersions = new Array("MSXML2.XMLHHTP.6.0", <br />"MSXML2.XMLHHTP.5.0", <br />"MSXML2.XMLHHTP.4.0", <br />"MSXML2.XMLHHTP.3.0", <br />"MSXML2.XMLHHTP", <br />"Microsoft.XMLHHTP"); <br />i=0 <br />while (i < XmlHttpVersions.length && !xmlHttp) <br />{ <br />try <br />{ <br />xmlHttp = new ActiveXObject(XmlHttpVersions[i]); <br />} <br />catch(e){} <br />i++ <br />} <br />} <br />function callServerTable() { <br /> var nom_schet = document.getElementById('nom_schet').value; <br /> var url = "getTable.php?nom_schet=" + nom_schet+'& f=1'; <br /> xmlHttp.open("GET", url, true); <br /> xmlHttp.onreadystatechange = updatePageTable; <br /> xmlHttp.send(null); <br />} <br />function updatePageTable() <br />{ <br /> if (xmlHttp.readyState == 4) <br /> { <br /> var response = xmlHttp.responseText; <br /> document.getElementById('opt').innerHTML = response; <br /> } <br />} <br />$(document).ready(function() { <br/><br /> $("#data_vist").datepicker({dateFormat:'yy-mm-dd'}); <br /> }); <br /></script>








echo "
";
$q="select * from zayav_oplata as z,head_schet as h,postavshik as p where
h.kod_post=p.kod_post and z.nom_schet=h.nom_schet and z.kod_zayav_opl=".$id;
$res=mysql_query($q);
@$row=mysql_fetch_array($res);
echo "";

echo "";
echo "";
echo "
Номер заявки";
echo "
Номер счета
Основание платежа *Дата оплаты*
Статус оплаты
";
//-----------------ТМЦ
echo "";
echo "";
echo "";
$q_body="select * from body_schet,tmc where body_schet.kod_tmc=tmc.kod_tmc and nom_schet=".$row['nom_schet'];
$res_body=mysql_query($q_body);
@$n_body=mysql_num_rows($res_body);
$sum_opl=0;
for($i=0;$i<$n_body;$i++)
{
@$r_body=mysql_fetch_array($res_body);
echo "";
$sum_opl=$sum_opl+$r_body['kolvo_schet']*$r_body['price_ed_schet'];
}
echo "
Наименование ТМЦКоличествоЦена за единицу
".stripslashes($r_body['naim_tmc'])."".$r_body['kolvo_schet']."".$r_body['price_ed_schet']."
Итого".$sum_opl."
";
echo "
";
echo "";
echo "
";

if (isset($changeb))
{
if (empty($data_vist) && empty($osn_plat))
{
?><script>alert('Заполните дату и основание')</script>
}
else
{
$q_body="select * from body_schet,tmc where body_schet.kod_tmc=tmc.kod_tmc and nom_schet=".$nom_schet;
$res_body=mysql_query($q_body);
@$n_body=mysql_num_rows($res_body);
$sum_opl=0;
for($i=0;$i<$n_body;$i++)
{
@$r_body=mysql_fetch_array($res_body);
$sum_opl=$sum_opl+$r_body['kolvo_schet']*$r_body['price_ed_schet'];
}
$q_prov="select nom_schet from zayav_oplata where nom_schet=".$nom_schet. " and kod_zayav_opl<>".$id;
$r_prov=mysql_query($q_prov);
@$n_prov= mysql_num_rows($r_prov);
if ($n_prov>0)
{
?><script>alert('Заявка на оплату этого счета уже существует')</script>
}
else
{
$osn_plat=addslashes($osn_plat);
$q_ins="update zayav_oplata set data_vist='".$data_vist."',sum_opl='".$sum_opl."',kod_st_opl='".$st_opl."',osn_plat='".$osn_plat."',nom_schet='".$nom_schet."' where kod_zayav_opl=".$id;
$r_ins=mysql_query($q_ins);
if ($r_ins>0)
{
?><script>alert('Заявка изменена');document.location='zayav_opl.php'</script>
}
}
}
}

if (isset($delb))
{
$q="select doc_zayav_opl from zayav_oplata where kod_zayav_opl=".$id;
$r=mysql_query($q);
@$row=mysql_fetch_array($r);
$name= "docs/".$row['doc_zayav_opl'];
chmod($name,666);
unlink($name);
$q_del="delete from zayav_oplata where kod_zayav_opl=".$id;
$r_del=mysql_query($q_del);
?>
<script>alert('Заявка удалена');document.location='zayav_opl.php'</script>
}
?>

Zayav_opl.php
require_once('../head.php');
if (!isset($_SESSION['log']))
{?><script>document.location='../index.php'</script>
}
@import_request_variables('PG');
$mysql=mysql_con($db_connect,$db_user,$db_paswd);
$db=db_con($db_name);
?>






echo "
";
echo "";
echo "
";
echo "
";
$add_btn=buttons(100,30,'','Добавить','add_btn');
echo "
";
if (isset($sch))
{
$q="select * from postavshik as p,zayav_oplata as z,head_schet as h,st_zayav_oplata as st where
z.kod_post=p.kod_post and z.nom_schet=h.nom_schet and z.kod_st_opl=st.kod_st_opl and
(naim_post like '%".$search."%' or data_vist like '%".$search."%' or st_opl like '%".$search."%' or osn_plat like '%".$search."%' or
kod_zayav like '%".$search."%' or nom_schet like '%".$search."%')";
}
else
{
$q="select * from postavshik as p,zayav_oplata as z,head_schet as h,st_zayav_oplata as st where
h.kod_post=p.kod_post and z.nom_schet=h.nom_schet and z.kod_st_opl=st.kod_st_opl";
}
$all=mysql_query($q);
echo "";
echo "
";
@$n=mysql_num_rows($all);
for ($i=0;$i<$n;$i++)
{
@$row=mysql_fetch_array($all);
echo "

";
}
?>


Код заявкиНаименование поставщикаДата оплатыОснование платежаномер счета Сумма оплатыстатус заявкиДокумент
".$row['kod_zayav_opl']."".stripslashes($row['naim_post'])." ".$row['data_vist']."".stripslashes($row['osn_plat'])."".$row['nom_schet']."".$row['sum_opl']." ".stripslashes($row['st_opl'])."".stripslashes($row['doc_zayav_opl'])."

getTable.php




АРМ специалиста отдела снабжения <br />

include('../inc/inc.php');
include('../func.php');
$mysql=mysql_con($db_connect,$db_user,$db_paswd);
$db=db_con($db_name);
$nom_schet=$_GET['nom_schet'];
$q_post="select * from postavshik,head_schet where postavshik.kod_post=head_schet.kod_post and nom_schet=".$nom_schet;
$r_post=mysql_query($q_post);
@$row_post=mysql_fetch_array($r_post);
echo "";
echo "";
echo "";
$q_body="select * from body_schet,tmc where body_schet.kod_tmc=tmc.kod_tmc and nom_schet=".$nom_schet;
$res_body=mysql_query($q_body);
@$n_body=mysql_num_rows($res_body);
$sum_opl=0;
for($i=0;$i<$n_body;$i++)
{
@$r_body=mysql_fetch_array($res_body);
echo "";
$sum_opl=$sum_opl+$r_body['kolvo_schet']*$r_body['price_ed_schet'];
}
echo "
Поставщик
Наименование ТМЦКоличествоЦена за единицу
".stripslashes($r_body['naim_tmc'])."".$r_body['kolvo_schet']."".$r_body['price_ed_schet']."
Итого".$sum_opl."
";
if ($_GET['f']!=1)
echo "";
?>
func_zayav_opl.php
function create_doc($kod_zayav_opl,$nom_schet,$osn_plat,$data_vist,$sum_opl)
{
$word=new COM("Word.application") or die("Couldn't start Word!");
$word->Visible = false;
$p=getcwd();
$word->Documents->Open($p."/docs/pattern.dot");
if ($word->ActiveDocument->Bookmarks->Exists("kod_zayav_opl"))
{
$word->ActiveDocument->Bookmarks["kod_zayav_opl"]->Select();
$word->Selection->InsertAfter($kod_zayav_opl);
}
if ($word->ActiveDocument->Bookmarks->Exists("nom_schet"))
{
$word->ActiveDocument->Bookmarks["nom_schet"]->Select();
$word->Selection->InsertAfter($nom_schet);
}
if ($word->ActiveDocument->Bookmarks->Exists("data_vist"))
{
$word->ActiveDocument->Bookmarks["data_vist"]->Select();
$word->Selection->InsertAfter($data_vist);
}
if ($word->ActiveDocument->Bookmarks->Exists("osn_plat"))
{
$word->ActiveDocument->Bookmarks["osn_plat"]->Select();
$word->Selection->InsertAfter($osn_plat);
}
if ($word->ActiveDocument->Bookmarks->Exists("sum_opl"))
{
$word->ActiveDocument->Bookmarks["sum_opl"]->Select();
$word->Selection->InsertAfter($sum_opl);
}
$fname=$p."/docs/".$kod_zayav_opl.".doc";
$name=$kod_zayav_opl.".doc";
$word->ActiveDocument->SaveAs($fname);
$q="update zayav_oplata set doc_zayav_opl='".addslashes($name)."' where kod_zayav_opl=".$kod_zayav_opl;
$r=mysql_query($q);
$word->Quit();
$word = null;
unset($word);
}
3.4. Приходная накладная
Строка поиска
Кнопка «Добавить»
На экран выводится таблица со списком накладных. Накладную нельзя удалить или изменить.
В строке поиска достаточно ввести фрагмент текста и при нажатии на кнопку «Найти» будет осуществляться поиск в полях «Наименование поставщика», «Дата», «ФИО принявшего», «ФИО сдавшего», в значениях которых весь текст или часть его совпадают с введенным текстом.
Накладная создается на основании счета.
При нажатии на кнопку «Добавить» открывается форма со следующими полями:
Текстовое поле: Номер накладной
Выпадающий список: Номер договора
Выпадающий список: Номер счета
Текстовое поле: Дата накладной
Текстовое поле: ФИО принявшего
Текстовое поле: ФИО сдавшего
Таблица:
Код ТМЦ
Количество
Цена за единицу
Итого
Кнопка «Добавить»
При нажатии на кнопку «Добавить» происходит проверка правильности ввода и запись в базу. Автоматически меняется остаток в ТМЦ.
Код модуля.
Add_prih_nakl.php
require_once('../head.php');
if (!isset($_SESSION['log']))
{?><script>document.location='../index.php'</script>
}
?>
<script src="../calendar/jquery-1.7.1.js"></script>
<script src="../calendar/ui.datepicker.js"></script>
<script language="javascript" type="text/javascript"> <br />var xmlHttp; <br /> try //обработка ошибок <br /> { <br /> xmlHttp = new XMLHttpRequest(); <br /> } <br /> catch(e) <br /> { <br /> var XmlHttpVersions = new Array("MSXML2.XMLHHTP.6.0", <br />"MSXML2.XMLHHTP.5.0", <br />"MSXML2.XMLHHTP.4.0", <br />"MSXML2.XMLHHTP.3.0", <br />"MSXML2.XMLHHTP", <br />"Microsoft.XMLHHTP"); <br />i=0 <br />while (i < XmlHttpVersions.length && !xmlHttp) <br />{ <br />try <br />{ <br />xmlHttp = new ActiveXObject(XmlHttpVersions[i]); <br />} <br />catch(e){} <br />i++ <br />} <br />} <br />function callServerTable() { <br /> var nom_schet = document.getElementById('nom_schet').value; <br /> var url = "getTable.php?nom_schet=" + nom_schet; <br /> xmlHttp.open("GET", url, true); <br /> xmlHttp.onreadystatechange = updatePageTable; <br /> xmlHttp.send(null); <br />} <br />function updatePageTable() <br />{ <br /> if (xmlHttp.readyState == 4) <br /> { <br /> var response = xmlHttp.responseText; <br /> document.getElementById('opt').innerHTML = response; <br /> } <br />} <br />$(document).ready(function() { <br/><br /> $("#data_prih_nakl").datepicker({dateFormat:'yy-mm-dd'}); <br /> }); <br /></script>
@import_request_variables('PG');
$mysql=mysql_con($db_connect,$db_user,$db_paswd);
$db=db_con($db_name);
?>








echo "
";
echo "";
echo "";

echo "";
echo "";
echo "";
echo "";
echo "
Номер накладной *
Номер счета *
ФИО принявшего *Дата поступления *
Фио сдавшего *
Номер договора *
";
echo "";
$q_post="select * from postavshik,head_schet where postavshik.kod_post=head_schet.kod_post and nom_schet=".$nom_schet;
$r_post=mysql_query($q_post);
@$row_post=mysql_fetch_array($r_post);
echo "";
echo "";
echo "";
$q_body="select * from body_schet,tmc where body_schet.kod_tmc=tmc.kod_tmc and nom_schet=".$nom_schet;
$res_body=mysql_query($q_body);
@$n_body=mysql_num_rows($res_body);
$sum_opl=0;
for($i=0;$i<$n_body;$i++)
{
$r_body=mysql_fetch_array($res_body);
echo "";
$sum_opl=$sum_opl+$r_body['kolvo_schet']*$r_body['price_ed_schet'];
$kod_tmc[$i]=$r_body['kod_tmc'];
$kolvo_tmc[$i]=$r_body['kolvo_schet'];
echo "";
}
echo "
Поставщик".stripslashes($row_post['naim_post'])."
Наименование ТМЦКоличествоЦена за единицу
".stripslashes($r_body['naim_tmc'])."".$r_body['kolvo_schet']."".$r_body['price_ed_schet']."
Итого".$sum_opl."
";
echo "";
echo "
";
if(isset($addb))
{
if (empty($data_prih_nakl) && empty($fio_prin) or empty($fio_sdav))
{
?><script>alert('Все поля обязательны для заполнения')</script>
}
else
{
$q_prov="select nom_schet from head_prih_nakl where nom_schet=".$nom_schet;
$r_prov=mysql_query($q_prov);
@$n_prov= mysql_num_rows($r_prov);
if ($n_prov>0)
{
?><script>alert('Приходная накладная по этому счету уже существует')</script>
}
else
{
$q_prov="select * from head_prih_nakl where nom_prih_nakl=".$id;
$res_prov=mysql_query($q_prov);
@$n=mysql_num_rows($res_prov);
if ($n>0)
{
?><script>alert('Приходная накладная с таким номером уже существует')</script>
}
else
{
$fio_sdav=addslashes($fio_sdav);
$fio_prin=addslashes($fio_prin);
$q_ins="insert into head_prih_nakl (nom_prih_nakl,data_prih_nakl,fio_prin,fio_sdav,kod_dog,nom_schet,sum_nakl) values ('".$id."','".$data_prih_nakl."','".$fio_prin."','".$fio_sdav."','".$nom_dog."','".$nom_schet."','".$sum_opl."')";
$r_ins=mysql_query($q_ins);
if ($r_ins>0)
{
$len=count($kod_tmc);
for ($i=0;$i<$len;$i++)
{
$q="select ostatok from tmc where kod_tmc=".$kod_tmc[$i];
echo $kod_tmc[$i];
$r=mysql_query($q);
@$row=mysql_fetch_array($r);
$m=$kolvo_tmc[$i]+$row['ostatok'];
$q_up="update tmc set ostatok='".$m."' where kod_tmc=".$kod_tmc[$i];
echo $q_up;
@$r_up=mysql_query($q_up);
}
?><script>alert('Накладная добавлена');document.location='prih_nakl.php'</script>
}
}
}
}
}
?>

Show_prih_nakl.php
require_once('../head.php');
if (!isset($_SESSION['log']))
{?><script>document.location='../index.php'</script>
}
@import_request_variables('PG');
$mysql=mysql_con($db_connect,$db_user,$db_paswd);
$db=db_con($db_name);
?>






$q="select * from postavshik as p,head_schet as h,head_prih_nakl as pn where
h.kod_post=p.kod_post and pn.nom_schet=h.nom_schet and pn.nom_prih_nakl=".$id;
$all=mysql_query($q);
@$row=mysql_fetch_array($all);
echo "";
echo "";
echo "";
echo "";
echo "";
echo "";
echo "";
echo "
Номер накладной".$id."
Номер счета".$row['nom_schet']."
ФИО принявшего".$row['fio_prin']."
Дата оплаты".$row['data_prih_nakl']."
Фио сдавшего".$row['fio_sdav']."
Номер договора".$row['kod_dog']."
";
$q_post="select * from postavshik,head_schet where postavshik.kod_post=head_schet.kod_post and nom_schet=".$row['nom_schet'];
$r_post=mysql_query($q_post);
@$row_post=mysql_fetch_array($r_post);
echo "";
echo "";
echo "";
$q_body="select * from body_schet,tmc where body_schet.kod_tmc=tmc.kod_tmc and nom_schet=".$row['nom_schet'];
$res_body=mysql_query($q_body);
@$n_body=mysql_num_rows($res_body);
$sum_opl=0;
for($i=0;$i<$n_body;$i++)
{
$r_body=mysql_fetch_array($res_body);
echo "";
$sum_opl=$sum_opl+$r_body['kolvo_schet']*$r_body['price_ed_schet'];
}
echo "
Поставщик".$row_post['naim_post']."
Наименование ТМЦКоличествоЦена за единицу
".stripslashes($r_body['naim_tmc'])."".$r_body['kolvo_schet']."".$r_body['price_ed_schet']."
Итого".$sum_opl."
Назад
";
?>
Prih_nakl.php
require_once('../head.php');
if (!isset($_SESSION['log']))
{?><script>document.location='../index.php'</script>
}
@import_request_variables('PG');
$mysql=mysql_con($db_connect,$db_user,$db_paswd);
$db=db_con($db_name);
?>






echo "
";
echo "";
echo "
";
echo "
";
$add_btn=buttons(100,30,'','Добавить','add_btn');
echo "
";
if (isset($sch))
{
$q="select * from postavshik as p,head_schet as h,head_prih_nakl as pn where
h.kod_post=p.kod_post and pn.nom_schet=h.nom_schet and
(naim_post like '%".$search."%' or data_prih_nakl like '%".$search."%' or fio_prin like '%".$search."%' or fio_sdav like '%".$search."%')";
}
else
{
$q="select * from postavshik as p,head_schet as h,head_prih_nakl as pn where
h.kod_post=p.kod_post and pn.nom_schet=h.nom_schet";
}
$all=mysql_query($q);
echo "";
echo "";
@$n=mysql_num_rows($all);
for ($i=0;$i<$n;$i++)
{
$row=mysql_fetch_array($all);
echo "";
}
?>


Номер накладнойНомер счетаНаименование поставщикаДата поступленияФИО сдавшегоФИО принявшегоСумма накладной
".$row['nom_prih_nakl']."".$row['nom_schet']."".stripslashes($row['naim_post'])."".$row['data_prih_nakl']."".stripslashes($row['fio_sdav'])."".stripslashes($row['fio_prin'])."".$row['sum_nakl']."

getTable.php




АРМ специалиста отдела снабжения <br />

include('../inc/inc.php');
include('../func.php');
$mysql=mysql_con($db_connect,$db_user,$db_paswd);
$db=db_con($db_name);
$nom_schet=$_GET['nom_schet'];
$q_post="select * from postavshik,head_schet where postavshik.kod_post=head_schet.kod_post and nom_schet=".$nom_schet;
$r_post=mysql_query($q_post);
@$row_post=mysql_fetch_array($r_post);
echo "";
echo "";
echo "";
$q_body="select * from body_schet,tmc where body_schet.kod_tmc=tmc.kod_tmc and nom_schet=".$nom_schet;
$res_body=mysql_query($q_body);
@$n_body=mysql_num_rows($res_body);
$sum_opl=0;
for($i=0;$i<$n_body;$i++)
{
@$r_body=mysql_fetch_array($res_body);
echo "";
$sum_opl=$sum_opl+$r_body['kolvo_schet']*$r_body['price_ed_schet'];
}
echo "
Поставщик
Наименование ТМЦКоличествоЦена за единицу
".stripslashes($r_body['naim_tmc'])."".$r_body['kolvo_schet']."".$r_body['price_ed_schet']."
Итого".$sum_opl."
";
if ($_GET['f']!=1)
echo "";
?>
3.5. Требование-накладная
Строка поиска
Кнопка «Добавить»
На экран выводится список требований. Номер требования-накладной является гиперссылкой, переход по которой открывает требование. Изменить или удалить требование-накладную нельзя.
В строке поиска достаточно ввести фрагмент текста и при нажатии на кнопку «Найти» будет осуществляться поиск в полях «Статус заявки», «Фамилия сотрудника», «Имя сотрудника», «Отчество сотрудника», «Дата требования», в значениях которых весь текст или часть его совпадают с введенным текстом.
При нажатии на кнопку «Добавить» открывается форма со следующими полями:
Выпадающий список: Номер заявки
Текстовое поле: Дата выдачи
Текстовое поле: ФИО сотрудника
Таблица:
Текстовое поле: Наименование ТМЦ
Текстовое поле: Количество отпущено
Кнопка «Добавить»
Данные таблицы и ФИО сотрудника изменить нельзя, они формируются из заявки. При изменении номера заявки, меняются данные таблицы.
При нажатии на кнопку «Добавить» происходит проверка данных и запись в базу. Код требования формируется автоматически. Дата выдачи автоматически заносится в поле «Дата выполнения» отношения «Заявки». Статус заявки меняется на «Выполнена».
4. Аналитика
Вертикальное меню
Реестр заявок
Поставки в разрезе подразделений
Поставки в разрезе ТМЦ
Поставщики
Остатки
4.1. Реестр заявок
На экране форма выбора параметров:
Выпадающий список: Подразделение
Выпадающий список: ТМЦ
Выпадающий список: Статус заявки
Текстовое поле: начальная дата
Текстовое поле: конечная дата
Кнопка «Поиск»
В поиске участвуют те параметры, которые заполнены пользователем.
Результат выборки представлен в виде перечня удовлетворяющих условию заявок, каждая из которых является ссылкой.
На экран выводятся шапки заявок:
Код заявки
Дата заявки
ФИО сотрудника
Статус заявки
При выборе одной из заявок открывается окно с таблицей:
Наименование ТМЦ
Группа ТМЦ
Единица измерения ТМЦ
Количество
Количество в наличии
Код модуля.
Reestr_zayav.php
require_once('../head.php');
if (!isset($_SESSION['log']))
{?><script>document.location='../index.php'</script>
}
@import_request_variables('PG');
$mysql=mysql_con($db_connect,$db_user,$db_paswd);
$db=db_con($db_name);
?>








<script src="../calendar/jquery-1.7.1.js"></script>
<script src="../calendar/ui.datepicker.js"></script>
<script language="javascript" type="text/javascript"> <br />$(document).ready(function() { <br/><br /> $("#data_begin").datepicker({dateFormat:'yy-mm-dd'}); <br /> $("#data_end").datepicker({dateFormat:'yy-mm-dd'}); <br /> }); <br /></script>
echo "
";
echo "";
echo "
";
echo "";

echo "
ПодразделениеТМЦСтатус заявкиОт даты заведенияДо даты заведения
";
echo "
";

if (isset($find))
{
$q="select * from head_zayav as h,podrazdelenie as p,sotrudniki as s, st_zayav as st, body_zayav as b
where h.kod_sotr=s.kod_sotr and s.kod_podr=p.kod_podr and h.kod_st_zayav=st.kod_st_zayav and h.kod_zayav=b.kod_zayav";
if (!empty($data_begin) && !empty($data_end))
{
$q=$q." and data_zayav between '".$data_begin."' and '".$data_end."'";
}
if (!empty($data_begin) && empty($data_end))
{
$q=$q." and data_zayav='".$data_begin."'";
}
if (empty($data_begin) && !empty($data_end))
{
$q=$q." and data_zayav='".$data_end."'";
}
if (!empty($kod_st_zayav))
{
$q=$q." and h.kod_st_zayav=".$kod_st_zayav;
}
if (!empty($kod_tmc))
{
$q=$q." and b.kod_tmc=".$kod_tmc;
}
if (!empty($kod_podr))
{
$q=$q." and p.kod_podr=".$kod_podr;
}
$q=$q." group by h.kod_zayav";
$r=mysql_query($q);
@$n=mysql_num_rows($r);

echo "";
for ($i=0;$i<$n;$i++)
{
$row=mysql_fetch_array($r);
$s=stripslashes($row['fam_sotr'])." ".stripslashes($row['name_sotr'])." ".stripslashes($row['otch_sotr']);
echo "";
}
echo "
Код заявкиДата заявкиФИО сотрудникаСтатус
".$row['kod_zayav']."".$row['data_zayav']."".$s."".$row['st_zayav']."
";
}
?>

Show_zayav.php
require_once('../head.php');
if (!isset($_SESSION['log']))
{?><script>document.location='../index.php'</script>
}
@import_request_variables('PG');
$mysql=mysql_con($db_connect,$db_user,$db_paswd);
$db=db_con($db_name);
?>








$kod_zayav=$_GET['id'];
$q="select * from head_zayav as h,podrazdelenie as p,sotrudniki as s, st_zayav as st
where h.kod_sotr=s.kod_sotr and s.kod_podr=p.kod_podr and h.kod_st_zayav=st.kod_st_zayav
and h.kod_zayav=".$kod_zayav;
$r=mysql_query($q);
@$n=mysql_num_rows($r);
echo "";
$row=mysql_fetch_array($r);
$s=stripslashes($row['fam_sotr'])." ".stripslashes($row['name_sotr'])." ".stripslashes($row['otch_sotr']);
echo "
";
if ($row['data_vip']>0)
{
echo "";
}
echo "
Код заявки".$row['kod_zayav']."
Дата подачи заявки".$row['data_zayav']."
ФИО сотрудника".$s."
Статус".$row['st_zayav']."
Дата выдачи".$row['data_vip']."
";
echo "";
$q="select naim_group_tmc,naim_tmc,naim_edizm,kolvo_zayav,ostatok from group_tmc, head_zayav as h,edizm, body_zayav as b, tmc as t
where t.kod_edizm=edizm.kod_edizm and t.kod_group_tmc=group_tmc.kod_group_tmc and h.kod_zayav=b.kod_zayav
and b.kod_tmc=t.kod_tmc and h.kod_zayav=".$kod_zayav;
$r=mysql_query($q);
@$n=mysql_num_rows($r);
for ($i=0;$i<$n;$i++)
{
$row=mysql_fetch_array($r);
echo "
";
}
echo "
Группа ТМЦНаименование ТМЦЕдиница измеренияКоличество заявленоКоличество в наличии
".$row['naim_group_tmc']."".$row['naim_tmc']."".$row['naim_edizm']."".$row['kolvo_zayav']." ".$row['ostatok']."

";
?>

4.2. Поставки в разрезе подразделений
Выборка из требований-накладных производится по подразделению на диапазон дат:
Текстовое поле: Начальная дата
Текстовое поле: Конечная дата
Выпадающий список: Код подразделения
Кнопка «Поиск»
Все поля должны быть заполнены, начальная дата должна быть меньше конечной даты. Выборка осуществляется из требований-накладных. На экран выводится таблица:
Наименование ТМЦ
Группа ТМЦ
Единица измерения ТМЦ
Количество отпущено
Дата выдачи
Код модуля.
Post_podr.php
require_once('../head.php');
if (!isset($_SESSION['log']))
{?><script>document.location='../index.php'</script>
}
@import_request_variables('PG');
$mysql=mysql_con($db_connect,$db_user,$db_paswd);
$db=db_con($db_name);
?>






<script src="../calendar/jquery-1.7.1.js"></script>
<script src="../calendar/ui.datepicker.js"></script>
<script language="javascript" type="text/javascript"> <br />$(document).ready(function() { <br /> <br /> $("#data_begin").datepicker({dateFormat:'yy-mm-dd'}); <br /> $("#data_end").datepicker({dateFormat:'yy-mm-dd'}); <br /> }); <br /></script>
echo "";
echo "
";
echo "";
echo "
ПодразделениеОт даты заведенияДо даты заведения
";

if (isset($find))
{
$q="select * from head_treb_nakl as ht,head_zayav as h,podrazdelenie as p,sotrudniki as s where
ht.kod_zayav=h.kod_zayav and h.kod_sotr=s.kod_sotr and s.kod_podr=p.kod_podr";
if (!empty($data_begin) && !empty($data_end))
{
$q=$q." and data_vid between '".$data_begin."' and '".$data_end."'";
}
if (!empty($data_begin) && empty($data_end))
{
$q=$q." and data_vid='".$data_begin."'";
}
if (empty($data_begin) && !empty($data_end))
{
$q=$q." and data_vid='".$data_end."'";
}
if (!empty($kod_podr))
{
$q=$q." and p.kod_podr=".$kod_podr;
}
$r=mysql_query($q);
@$n=mysql_num_rows($r);
echo "";
for ($i=0;$i<$n;$i++)
{
$row=mysql_fetch_array($r);
$nom_treb=$row['nom_treb'];
$q_tmc="select * from body_treb_nakl as b,group_tmc as g,edizm as e,tmc as t where
b.kod_tmc=t.kod_tmc and t.kod_group_tmc=g.kod_group_tmc and t.kod_edizm=e.kod_edizm and b.nom_treb=".$nom_treb;
$row_tmc=mysql_query($q_tmc);
@$n_tmc=mysql_num_rows($row_tmc);
for ($j=0;$j<$n_tmc;$j++)
{
@$r_tmc=mysql_fetch_array($row_tmc);
echo "";
}
}
}
?>


Группа ТМЦНаименование ТМЦЕдиница измеренияКоличество отпущеноДата выдачи
".$r_tmc['naim_group_tmc']."".$r_tmc['naim_tmc']."".$r_tmc['naim_edizm']."
".$r_tmc['kolvo_otp']."
".$row['data_vid']."

4.3. Поставки в разрезе ТМЦ
Выборка производится из приходных накладных по ТМЦ на диапазон дат.
Текстовое поле: Начальная дата
Текстовое поле: Конечная дата
Выпадающий список: Код группы ТМЦ
Выпадающий список Код ТМЦ
Кнопка «Поиск»
При выборе кода группы список ТМЦ формируется «на лету».
На экран выводится:
Номер приходной накладной
Код договора
Дата накладной
ФИО принявшего
ФИО сдавшего
Количество
Цена за единицу
Код модуля.
Post_tmc.php
require_once('../head.php');
if (!isset($_SESSION['log']))
{?><script>document.location='../index.php'</script>
}
@import_request_variables('PG');
$mysql=mysql_con($db_connect,$db_user,$db_paswd);
$db=db_con($db_name);
?>








<script src="../calendar/jquery-1.7.1.js"></script>
<script src="../calendar/ui.datepicker.js"></script>
<script language="javascript" type="text/javascript"> <br />var xmlHttp; <br /> try //обработка ошибок <br /> { <br /> xmlHttp = new XMLHttpRequest(); <br /> } <br /> catch(e) <br /> { <br /> var XmlHttpVersions = new Array("MSXML2.XMLHHTP.6.0", <br />"MSXML2.XMLHHTP.5.0", <br />"MSXML2.XMLHHTP.4.0", <br />"MSXML2.XMLHHTP.3.0", <br />"MSXML2.XMLHHTP", <br />"Microsoft.XMLHHTP"); <br />i=0 <br />while (i < XmlHttpVersions.length && !xmlHttp) <br />{ <br />try <br />{ <br />xmlHttp = new ActiveXObject(XmlHttpVersions[i]); <br />} <br />catch(e){} <br />i++ <br />} <br />} <br />function callServerTable() { <br /> var kod_podr = document.getElementById('kod_group_tmc').value; <br /> <br /> var url = "getTmc.php?kodg="+kod_podr; <br /> xmlHttp.open("GET", url, true); <br /> xmlHttp.onreadystatechange = updatePageTable; <br /> xmlHttp.send(null); <br />} <br />function updatePageTable() <br />{ <br /> if (xmlHttp.readyState == 4) <br /> { <br /> var response = xmlHttp.responseText; <br /> document.getElementById('opt').innerHTML = response; <br /> } <br />} <br />$(document).ready(function() { <br/><br /> $("#data_begin").datepicker({dateFormat:'yy-mm-dd'}); <br /> $("#data_end").datepicker({dateFormat:'yy-mm-dd'}); <br /> }); <br /></script>
echo "";
echo "
";

echo "";
echo "
Группа ТМЦТМСОт даты заведенияДо даты заведения

";

if (isset($find))
{
$q="select * from head_prih_nakl as hp,head_schet as hs,body_schet as bs where hp.nom_schet=hs.nom_schet and hs.nom_schet=bs.nom_schet and kod_tmc=".$kod_tmc;
if (!empty($data_begin) && !empty($data_end))
{
$q=$q." and data_prih_nakl between '".$data_begin."' and '".$data_end."'";
}
if (!empty($data_begin) && empty($data_end))
{
$q=$q." and data_prih_nakl='".$data_begin."'";
}
if (empty($data_begin) && !empty($data_end))
{
$q=$q." and data_prih_nakl='".$data_end."'";
}
echo "
";
$r=mysql_query($q);
@$n=mysql_num_rows($r);
for ($i=0;$i<$n;$i++)
{
$row=mysql_fetch_array($r);
echo "
";
}
echo "
Номер приходной накладнойКод договораДата накладной ФИО принявшегоФИО сдавшегоКоличествоЦена за единицу
".$row['nom_prih_nakl']."".$row['kod_dog']."".$row['data_prih_nakl']."".stripslashes($row['fio_prin'])." ".stripslashes($row['fio_sdav'])."".$row['kolvo_schet']."".$row['price_ed_schet']."
";
}
?>

getTMC.php




АРМ специалиста отдела снабжения

include('../inc/inc.php');
include('../func.php');
$mysql=mysql_con($db_connect,$db_user,$db_paswd);
$db=db_con($db_name);
$kodg=$_GET['kodg'];
echo "";
4.4. Поставщики
На экране выводится форма выбора параметров:
Элемент Radio «Код поставщика»
Элемент Radio «Код ТМЦ»
Выпадающий список: Код поставщика
Выпадающий список: Код ТМЦ
Кнопка «Поиск»
Активным может быть только один список.
Выборка производится из отношений:
Postavshiki
Head_schet
Body_schet
Для выборки по наименованию поставщика на экране выводятся данные:
Шапка
Наименование поставщика
Адрес поставщика
Телефон поставщика
Таблица
Наименование ТМЦ
Цена за единицу
Номер счета
Дата выставления
Условия поставки
Список ТМЦ отсортирован в алфавитном порядке.
Для выборки по наименованию ТМЦ на экран выводятся данные:
Шапка
Наименование ТМЦ
Группа ТМЦ
Единица измерения
Таблица
Номер счета
Название поставщика
Адрес поставщика
Телефон поставщика
Дата выставления счета
Цена за единицу
Код модуля.
Post.php
require_once('../head.php');
if (!isset($_SESSION['log']))
{?><script>document.location='../index.php'</script>
}
@import_request_variables('PG');
$mysql=mysql_con($db_connect,$db_user,$db_paswd);
$db=db_con($db_name);
?>








<script src="../calendar/jquery-1.7.1.js"></script>
<script src="../calendar/ui.datepicker.js"></script>
<script language="javascript" type="text/javascript"> <br />var xmlHttp; <br />try //обработка ошибок <br /> { <br /> xmlHttp = new XMLHttpRequest(); <br /> } <br /> catch(e) <br /> { <br />var XmlHttpVersions = new Array("MSXML2.XMLHHTP.6.0", <br />"MSXML2.XMLHHTP.5.0", <br />"MSXML2.XMLHHTP.4.0", <br />"MSXML2.XMLHHTP.3.0", <br />"MSXML2.XMLHHTP", <br />"Microsoft.XMLHHTP"); <br />i=0 <br />while (i < XmlHttpVersions.length && !xmlHttp) <br />{ <br />try <br />{ <br />xmlHttp = new ActiveXObject(XmlHttpVersions[i]); <br />} <br />catch(e){} <br />i++ <br />} <br />} <br />function callServerTable() { <br /> var kod_podr = document.getElementById('kod_group_tmc').value; <br /> var url = "getTmc.php?kodg="+kod_podr; <br /> xmlHttp.open("GET", url, true); <br /> xmlHttp.onreadystatechange = updatePageTable; <br /> xmlHttp.send(null); <br />} <br />function updatePageTable() <br />{ <br /> if (xmlHttp.readyState == 4) <br /> { <br /> var response = xmlHttp.responseText; <br /> document.getElementById('opt').innerHTML = response; <br /> } <br />} <br />$(document).ready(function() { <br /> $("#data_begin").datepicker({dateFormat:'yy-mm-dd'}); <br /> $("#data_end").datepicker({dateFormat:'yy-mm-dd'}); <br /> }); <br />function f() <br /> { <br /> document.getElementById('kod_tmc').disabled=!document.getElementById('r2').checked <br /> document.getElementById('kod_post').disabled=!document.getElementById('r1').checked <br /> } <br /></script>
echo "";
echo "
";
echo "";
echo "
ПоставщикиТМС
";
if (isset($radio))
{
if ($radio=='r1')
echo "
";
if (isset($radio))
{
if ($radio=='r2')
echo "
";
if (isset($find))
{
if ($radio=='r1')
{
$q="select * from head_schet as ht,postavshik as p where
ht.kod_post=p.kod_post and ht.kod_post=".$kod_post;
$res=mysql_query($q);
@$n=mysql_num_rows($res);
for ($i=0;$i<$n;$i++)
{
$row=mysql_fetch_array($res);
if ($i==0)
{
echo "";
echo "";
echo "
Наименование поставщика".stripslashes($row['naim_post'])."
Адрес поставщика".stripslashes($row['address_post'])."
Телефон поставщика".$row['phone_post']."

";
}
echo "

Номер счета".$row['nom_schet']."
Дата выставления".$row['data_schet']."
Условия поставки".stripslashes($row['uslov'])."
";
echo "";
$q_tmc="select * from head_schet,body_schet,tmc where head_schet.nom_schet=body_schet.nom_schet and body_schet.kod_tmc=tmc.kod_tmc and body_schet.nom_schet=".$row['nom_schet'];
$r_tmc=mysql_query($q_tmc);
@$n_tmc=mysql_num_rows($r_tmc);
for ($j=0;$j<$n_tmc;$j++)
{
$row_tmc=mysql_fetch_array($r_tmc);
echo "";
}
echo "
Наименование ТМЦЦена за единицу
".$row_tmc['naim_tmc']."".$row_tmc['price_ed_schet']."

";
}
}
if ($radio=='r2')
{
$q="select * from body_schet as bs,head_schet as hs, tmc as t,group_tmc as g where
hs.nom_schet=bs.nom_schet and bs.kod_tmc=t.kod_tmc and t.kod_group_tmc=g.kod_group_tmc and bs.kod_tmc=".$kod_tmc;
$res=mysql_query($q);
@$n=mysql_num_rows($res);
for ($i=0;$i<$n;$i++)
{
$row=mysql_fetch_array($res);
if ($i==0)
{
echo "";
echo "
Наименование ТМЦ".stripslashes($row['naim_tmc'])."
Группа ТМЦ".stripslashes($row['naim_group_tmc'])."

";
echo "
";
}
$q_tmc="select * from head_schet,body_schet,postavshik as p where head_schet.nom_schet=body_schet.nom_schet and head_schet.kod_post=p.kod_post
and body_schet.nom_schet=".$row['nom_schet']." and body_schet.kod_tmc=".$kod_tmc;
$r_tmc=mysql_query($q_tmc);
@$n_tmc=mysql_num_rows($r_tmc);
for ($j=0;$j<$n_tmc;$j++)
{
$row_tmc=mysql_fetch_array($r_tmc);
echo "
";
}
}
echo "
Номер счетаНаименование поставщикаАдрес поставщикаТелефон поставщика Дата выставления счетаЦена за единицу
".$row_tmc['nom_schet']."".stripslashes($row_tmc['naim_post'])."".stripslashes($row_tmc['address_post'])."".$row_tmc['phone_post']."".$row_tmc['data_schet']." ".$row_tmc['price_ed_schet']."
";
}
}
?>

4.5. Остатки
На экране выводится форма выбора параметров:
Выпадающий список: Код группы
Выпадающий список: Код ТМЦ
Текстовое поле: «Остаток больше»
Кнопка «Поиск»
Выпадающий список «Код ТМЦ» формируется «на лету» в зависимости от выбранной группы. В текстовое поле «Остаток больше» вводится число для поиска записей, в которых остаток больше него.
На экран выводятся данные:
Наименование ТМЦ
Группа ТМЦ
Единица измерения ТМЦ
Остаток
Код модуля.
Ostatki.php
require_once('../head.php');
if (!isset($_SESSION['log']))
{?><script>document.location='../index.php'</script>
}
@import_request_variables('PG');
$mysql=mysql_con($db_connect,$db_user,$db_paswd);
$db=db_con($db_name);
?>








<script src="../calendar/jquery-1.7.1.js"></script>
<script src="../calendar/ui.datepicker.js"></script>
<script language="javascript" type="text/javascript"> <br />var xmlHttp; <br />try //обработка ошибок <br /> { <br /> xmlHttp = new XMLHttpRequest(); <br /> } <br /> catch(e) <br /> { <br />var XmlHttpVersions = new Array("MSXML2.XMLHHTP.6.0", <br />"MSXML2.XMLHHTP.5.0", <br />"MSXML2.XMLHHTP.4.0", <br />"MSXML2.XMLHHTP.3.0", <br />"MSXML2.XMLHHTP", <br />"Microsoft.XMLHHTP"); <br />i=0 <br />while (i < XmlHttpVersions.length && !xmlHttp) <br />{ <br />try <br />{ <br />xmlHttp = new ActiveXObject(XmlHttpVersions[i]); <br />} <br />catch(e){} <br />i++ <br />} <br />} <br />function callServerTable() { <br /> var kod_podr = document.getElementById('kod_group_tmc').value; <br /> var url = "getTmc.php?kodg="+kod_podr; <br /> xmlHttp.open("GET", url, true); <br /> xmlHttp.onreadystatechange = updatePageTable; <br /> xmlHttp.send(null); <br />} <br />function updatePageTable() <br />{ <br /> if (xmlHttp.readyState == 4) <br /> { <br /> var response = xmlHttp.responseText; <br /> document.getElementById('opt').innerHTML = response; <br /> } <br />} <br />$(document).ready(function() { <br /> $("#data_begin").datepicker({dateFormat:'yy-mm-dd'}); <br /> $("#data_end").datepicker({dateFormat:'yy-mm-dd'}); <br /> }); <br /></script>
echo "";
echo "
";
echo "
Группа ТМЦТМСОстатки больше
";

if (isset($find))
{
if (!empty($ost))
{
$q="select * from tmc,group_tmc,edizm where tmc.kod_group_tmc=group_tmc.kod_group_tmc and tmc.kod_edizm=edizm.kod_edizm and kod_tmc=".$kod_tmc." and ostatok>".$ost;
}
else
{
$q="select * from tmc,group_tmc,edizm where tmc.kod_group_tmc=group_tmc.kod_group_tmc and tmc.kod_edizm=edizm.kod_edizm and kod_tmc=".$kod_tmc;
}
$r=mysql_query($q);
@$n=mysql_num_rows($r);
echo "";
for ($i=0;$i<$n;$i++)
{
@$row=mysql_fetch_array($r);
echo "";
}
echo "
Группа ТМЦНаименование ТМЦЕдиница измерения ТМЦОстаток
".$row['naim_group_tmc']."".$row['naim_tmc']."".$row['naim_edizm']."".$row['ostatok']."
";
}
?>

11 Схема ресурсов (связь программных модулей и информационных файлов)
АРМ специалиста отдела снабжения содержит 21 модуль, каждый из которых хранится в отдельно й папке.
Физическая структура модулей представлена в таблице.
Таблица 23 – Физическая структура модулей
Название модуля Папка Описание Администрирование Admin Отвечает за создание базы данных и регистрацию пользователя Банк Bank Заполнение, изменение, удаление, просмотр справочника банков Договор Dog Заполнение и просмотр договоров Единицы измерения Edizm Заполнение, изменение, удаление, просмотр справочника единиц измерения ТМЦ Группы ТМЦ Group_tmc Заполнение, изменение, удаление, просмотр справочника групп ТМЦ Организация Organiz Заполнение, изменение, удаление данных об организации Остатки Ostatki Просмотр остатков по товару и количеству Подразделения Podr Заполнение, изменение, удаление, просмотр справочника подразделений Поставщики Post Заполнение, изменение, удаление, просмотр справочника поставщиков Поставки в разрезе подразделений Post_podr Просмотр данных о поставках в разрезе подразделений Поставки в разрезе ТМЦ Post_tmc Просмотр данных о поставках в разрезе ТМЦ Аналитика поставщиков Postavshiki Просмотр данных о поставщиках в разрезе наименования поставщика или наименования ТМЦ Приходные накладные Prih_nakl Заведение и просмотр приходных накладных Реестр заявок Reestr_zayav Просмотр заявок по разным признакам Счета Schet Заведение, изменение, удаление, просмотр счетов Сотрудники Sort Заполнение, изменение, удаление, просмотр справочника сотрудников Статусы оплаты St_opl Заполнение, изменение, удаление, просмотр справочника статусов оплаты ТМЦ Tmc Заполнение, изменение, удаление, просмотр справочника ТМЦ Требования-накладные Treb_nakl ЗАведение, просмотр требований-накладных Заявки Zayav Заведение, удаление, изменение, просмотр заявок Заявки на оплату Zayav_opl Создание, изменение, удаление, просмотр заявок на оплату
В таблице представлена физическая структура папок вспомогательных файлов проекта.
Таблица 24 – Физическая структура папок вспомогательных файлов
Название Папка Описание Календарь Jquery Calendar Библиотека и стилевая таблица Jquery, позволяющая подключить календарь Информационные файлы Inc Содержит основной информационный файл проекта Изображения Images
В таблице представлен перечень вспомогательных и информационных файлов проекта.
Таблица 25 – Перечень вспомогательных и информационных файлов
Файл Описание Func.php Содержит главные функции проекта: меню, форма авторизации, соединение с базой данных и т.д. Inc/inc.php Содержит системные переменные проекта Style.css Стилевая таблица проекта Calendar/jquery-1.7.1.js Библиотека Jquery Ui.datepicker.js Библиотека «Календарь» Admin/tables.php Запросы на создание отношенийбазыданных
В таблице представлены все файлы проекта.
Таблица 26 – Перечень файлов проекта
Папка Файл Описание admin Create.php Создание базы данных и отношений Index.php Меню выбора действий администратора New_user.php Форма создания нового пользователя New_user_write.php Запись пользователя в отношение USER bank Add_new_bank.php Создание нового банка Bank.php Форма поиска и перечень имеющихся в справочнике банков, удаление банка Change_bank.php Изменение данных банка Func_bank.php Функция модуля: форма добавления банка dog Add_new_dog.php Добавление нового договора Dogovor.php Форма поиска договоров, просмотр всех заведенных договоров. Func_dog.php Функция модуля: форма добавления нового договора edizm Add_new_edizm.php Создание новой единицы измерения Change_edizm.php Изменение единицы измерения Edizm.php Форма поиска, просмотрвсехединицизмерения, удаление единицы измерения Func_edizm.php Функция модуля: форма заполнения Group_tmc Group_tmc.php Форма поиска, просмотр всех групп ТМЦ, удаление группы Add_new_group.php Страница с формой добавления Change_group.php Изменение группы Func_group.php Функция модуля: форма добавления группы, добавление группы organiz Func_org.php Функции модуля: проверка данных, форма добавления getChange.php Запись изменений getTable.php Запись новых данных Organization.php Форма для добавления/изменения данных об организации Ostatki Ostatki.php Просмотр остатков ТМЦ по наименованию ТМЦ и количеству getTmc.php Получение списка ТМЦ по выбранной группе podr Add_new_podr.php Создание нового подразделения Change_podr.php Изменение подразделения Podrazdelenie.php Форма поиска, просмотр всех подразделений, удаление подразделения Func_podr.php Функция модуля: форма добавления подразделения post Add_new_post.php Создание нового поставщика Change_post.php Изменение поставщика Postavshiki.php Форма поиска, просмотр всех поставщиков, удаление поставщиков Func_post.php Функция модуля: форма добавления поставщика, форма изменения поставщика Post_podr Post_podr.php Просмотр поставок в разрезе подразделений Post_tmc Post_tmc.php Просмотр поставок в разрезе ТМЦ getTmc.php Получение списка ТМЦ по выбранной группе postavshiki Post.php Просмотр поставщиков по разным параметрам Prih_nakl Add_prih_nakl.php Заведение приходной накладной getTable.php Получение таблицы ТМЦ из счета при выборе номера счета Prih_nakl.php Форма поиска, просмотр шапок всех приходных накладных Show_prih_nakl.php Просмотр приходной накладной Reestr_zayav Reestr_zayav.php Просмотр шапок заявок по разным параметрам Show_zayav.php Просмотр выбранной заявки schet Add_new_schet.php Заведение нового счета Change_schet.php Изменение счета Show_schet.php Просмотр счета, удаление счета Work_schet.php Форма поиска, список всех счетов sotr Add_new_sotr.php Создание нового поставщика Change_sotr.php Изменение поставщика Sotrudniki.php Форма поиска, просмотр всех сотрудников, удаление сотрудников Func_sotr.php Функции модуля: форма добавления сотрудников, форма изменения сотрудников St_opl Add_new_st_opl.php Создание нового сотрудников Change_st_opl.php Изменение сотрудников St_opl.php Форма поиска, просмотр всех статусов заявок оплаты, удаление статусов заявок оплаты Func_st_opl.php Функция модуля: форма добавления статусов заявок оплаты tmc Add_new_tmc.php Создание новой ТМЦ Change_tmc.php Изменение ТМЦ tmc.php Форма поиска, просмотр всех ТМЦ, удаление ТМЦ Func_tmc.php Функции модуля: форма добавления ТМЦ, форма изменения ТМЦ, добавление новой группы, добавление новой единицы измерения Treb_nakl Add_treb_nakl.php Заведение нового требования-накладной Func_treb_nakl.php Функция модуля: создание документа WORD на основании шаблона – форма требования-накладной – и заполнение его данными из нового требования-накладной getTable.php Получение таблицы ТМЦ из заявки при выборе номера заявки Show_treb_nakl.php Просмотр требования-накладной Treb_nakl.php Просмотр шапок требований-накладных zayav Add_new_zayav.php Заведение новой заявки Change_zayav.php Изменение заявки getSotr.php Получение списка сотрудников при выборе подразделения Show_zayav.php Просмотр заявки, удаление заявки Work_zayavka.php Просмотр списка заявок Zayav_opl Add_zayav_opl.php Заведение новой заявки на оплату Func_zayav_opl.php Функция модуля: создание документа WORD на основании шаблона – форма заявки на оплату – и заполнение его данными из новой заявки на оплату getTable.php Получение таблицы ТМЦ из счета при выборе номера счета Show_zayav_opl.php Просмотр счета Zayav_opl.php Просмотр списка заявок на оплату, удаление заявки на оплату .. analitika.php Главная страница блока аналитики func.php Содержит главные функции проекта: меню, форма авторизации, соединение с базой данных и т.д. head.php Содержит шапку проекта – главное меню, подключение func.php index.php Главная страница проекта – форма авторизации postavki.php Главная страница блока поставок Spravochniki.php Главная страница блока справочников
Основной информационный файл проекта – inc.php
$PATH_ROOT='arm';
$db_user='root';
$db_connect='localhost';
$db_paswd='';
$db_name='arm';
?>
Он хранит в себе описание базовых переменных проекта. Значение переменных приведены в таблице.
Таблица 27 – Значения переменных проекта
Имя переменной Описание Начальное значение $PATH_ROOT Имя папки проекта arm $db_user Имя пользователя базы данных (в MySQL) root $db_connect Имя хоста (в MySQL) localhost $db_paswd Пароль для входа в MySQL $db_name Имя базы данных в MySQL arm
12 Руководство администратора
Проект работает только под ОС семейства Windows.
Оптимальная платформа – DENWER3.
Установочный файл
Denwer3_Base_PHP52_2010-11-07_a2.2.4_p5.2.12_zendoptimizer_m5.1.40_pma3.2.3.exe
По умолчанию имя пользователя базы MySQL – root, имя хоста – localhost, пароль пустой.
Файл inc/inc.php хранит в себе имя пользователя, пароль, имя хоста, название папки, имя базы данных. В случае если при установке были заданы другие параметры, их необходимо поменять в этом файле.
При установке пакета DENWER по умолчанию сервер APACHE, PHP, СУБД MySQL устанавливаются в папку WebServers диска С.
Папку проекта необходимо скопировать в папку по следующему пути:
C:\webServer\home\localhost\www
Для запуска проекта необходимо открыть браузер (любой) и в адресной строке набрать http://localhost/arm/admin
Откроется меню администратора.

Рисунок 71 – Главное меню администратора
Сначала надо создать базу. При нажатии на кнопку база создастся, если корректно установлено соединение с СУБД MySQL. Если соединение не установлено проверьте правильность установленных в inc.php переменных. Все параметры подключения должны совпадать со значениями переменных.
В случае успешного создания базы на экране появится сообщение.

Рисунок 72 – Сообщение о создании базы данных
Далее следует указать логин и пароль пользователя. Пользователь не сможет работать в системе, не пройдя процедуру авторизации.
Для запуска самого проекта необходимо в адресной строке браузера набрать http://localhost/arm/
После авторизации доступны действия в системе.
Для корректной работы системы сначала необходимо заполнить ВСЕ справочники.
Логика работы поставок:
Заполняются заявки
Заполняются счета поставщиков
На основании счетов заполняются заявки на оплату
На основании счетов заполняются приходные накладные
На основании заявок заполняются требования-накладные

Список литературы
Decision Support Systems [Электронный ресурс] : URL http://www.dssconsulting.ru/services/marketing/analytics/erp/terminologiya2010.html
PHP в деталях [Электронный ресурс] : URL http://www.phpclub.ru/
SRM (Supplier Relationship Management) - управление взаимоотношениями с поставщиками - ERP. Управление ресурсами предприятия | система управления | управление предприятием | управление ресурсами | erp-система | автоматизация управления | управленческий учет | автоматизация предприятия | внедрение erp | Sap erp | erp систем [Электронный ресурс] : URL http://erp.incom.ua/content/view/371864/156/
Агулар, Р. HTML и CSS. / Р. Агулар. – М.: Эксмо, 2010.
Вайк,А. PHP. Справочник/ А. Вайк, Д. Уокер, Р. Кокс.- М. : ДиаСофт, 2008.
Вандшнайдер, М. Основы разработки веб-приложений с помощью PHP и MySQL / М. Вандшнайдер.- М. : ЭКОМ Паблишерз, 2008 .
Веллинг, Л. Разработка веб-приложений с помощью PHP и MySQL / Л. Веллинг, Л. Томсон.- М. : Вильямс, 2010.
Гизберт, Д. PHP и MySQL / Д. Гизберт.- М. : НТ Пресс, 2008 .
Дэвис, М. Изучаем PHP и MySQL / М. Дэвис, Д. Филлипс.- М. : Символ-Плюс, 2008.
Зандстра, М . PHP. Объекты, шаблоны и методики программирования / М . Зандстра.- М.: Вильямс, 2009.
Интернет-Университет Информационных Технологий [Электронный ресурс] : URL http://www.intuit.ru
Кинкоф, Ш. HTML / Ш. Кинкоф. – М.: Харвест, 2008.
Кисленко, Н. П. HTML / Н. П. Кисленко. – Спб.: БХВ, 2008.
Косентино, К. PHP. Web-профессионалам/ К. Косентино.- К. : BHV, 2001.
Куссуль , Н. Н. Использование PHP/ Н. Н. Куссуль,А. Ю. Шелестов.- М. : Вильямс, 2005.
Мухамметов, Г. В. HTML и CSS / Г. В. Мухамметов. – М.: НТ Пресс, 2008.
Общее описание | Управление торговлей | 1C:Предприятие 8 [Электронный ресурс] : URL http://v8.1c.ru/trade/
ООО БИТ Аэро-Софт - программы для экологов, программы для расчета платы за негативное воздействие [Электронный ресурс]: URL http://www.airsoft-bit.ru/
Орлов, А. А. PHP. Полезные приемы/ А. А. Орлов.- М. : Горячая Линия - Телеком, 2006.
Портал по PHP, MySQL и другим веб-технологиям [Электронный ресурс] : URL http://php.su/
Прохоренок, Н. HTML, JavaScript, PHP и MySQL. Джентельменский набор Web-мастера / Н. Прохоренок. – Спб.: БХВ, 2010.
Рева, О. Н. JavaScript/ О. Н. Рева. – М.: Эксмо, 2007.
Свободная энциклопедия Википедия [Электронный ресурс] : URL http://ru.wikipedia.org/
Скляр, Д. PHP. Рецепты программирования / Д. Скляр. – Спб.: БХВ, 2007.
Флэнаган, Д. JavaScript. Подробное руководство/ Д. Флэнаган. – М.: Символ-Плюс, 2008.
Харрис, Э. PHP/MySQL для начинающих / Э. Харрис.- М.:КУДИЦ-Образ, 2007.
Харт-Дэвис, Г. HTML / Г. Харт-Дэвис. – М.: НТ Пресс, 2005.
Хольцнер, С. PHP в примерах / С. Хольцнер. – М.: Бином-Пресс, 2009.
Ясенев В.Н. Автоматизированные информационные системы в экономике: Учебно-методическое пособие / Н.Новгород, 2007 439с.


Малый бизнес Свободная энциклопедия Википедия http://ru.wikipedia.org/wiki/%CC%E0%EB%FB%E9_%E1%E8%E7%ED%E5%F1










АРМ специалиста отдела снабжения

1. Автоматизированное рабочее место

2. Администрирование

2.1. Создать базу

2.2. Завести пользователя

Главное меню
1.1. Справочники
1.2. Аналитика
1.3. Поставки
1.4. Заявки

1.1.1.-1.1.8
1. Заполнить
2. Изменить
3. Удалить
4. Найти

1.2. Аналитика
1.2.1. Реестр заявок
1.2.2. Поставки в разрезе подразделений
1.2.3. Поставки в разрезе ТМЦ
1.2.4. Поставщики
1.2.5. Остатки

1.1. Справочники
1.1.1. ТМЦ
1.1.2. Группы ТМЦ
1.2.3. Единицы измерения ТМЦ
1.1.4. Подразделения
1.1.5. Сотрудники
1.1.6. Банки
1.1.7. Поставщики
1.1.8. Статусы заявок на оплату

1.2.1.-1.2.5
1. Найти

1.3. Поставки
1.3.1. Договоры
1.3.2. Заявки на оплату
1.3.3. Счета
1.3.4. Приходные накладные
1.3.5. Требования-накладные

1.3.2.-1.3.3
1. Заполнить
2. Изменить
3. Удалить
4. Найти

1.3.1,1.3.4,1.3.5.
1. Заполнить
2. Найти

1.4. Заявки
1. Заполнить
2. Изменить
3. Удалить
4. Найти

Список литературы
1.Decision Support Systems [Электронный ресурс] : URL http://www.dssconsulting.ru/services/marketing/analytics/erp/terminologiya2010.html
2. PHP в деталях [Электронный ресурс] : URL http://www.phpclub.ru/
3.SRM (Supplier Relationship Management) - управление взаимоотношениями с поставщиками - ERP. Управление ресурсами предприятия | система управления | управление предприятием | управление ресурсами | erp-система | автоматизация управления | управленческий учет | автоматизация предприятия | внедрение erp | Sap erp | erp систем [Электронный ресурс] : URL http://erp.incom.ua/content/view/371864/156/
4. Агулар, Р. HTML и CSS. / Р. Агулар. – М.: Эксмо, 2010.
5. Вайк,А. PHP. Справочник/ А. Вайк, Д. Уокер, Р. Кокс.- М.: ДиаСофт, 2008.
6. Вандшнайдер, М. Основы разработки веб-приложений с помощью PHP и MySQL / М. Вандшнайдер.- М.: ЭКОМ Паблишерз, 2008 .
7.Веллинг, Л. Разработка веб-приложений с помощью PHP и MySQL / Л. Веллинг, Л. Томсон.- М.: Вильямс, 2010.
8.Гизберт, Д. PHP и MySQL / Д. Гизберт.- М.: НТ Пресс, 2008 .
9.Дэвис, М. Изучаем PHP и MySQL / М. Дэвис, Д. Филлипс.- М.: Символ-Плюс, 2008.
10.Зандстра, М . PHP. Объекты, шаблоны и методики программирования / М . Зандстра.- М.: Вильямс, 2009.
11. Интернет-Университет Информационных Технологий [Электронный ресурс] : URL http://www.intuit.ru
12. Кинкоф, Ш. HTML / Ш. Кинкоф. – М.: Харвест, 2008.
13. Кисленко, Н. П. HTML / Н. П. Кисленко. – Спб.: БХВ, 2008.
14. Косентино, К. PHP. Web-профессионалам/ К. Косентино.- К.: BHV, 2001.
15. Куссуль , Н. Н. Использование PHP/ Н. Н. Куссуль,А. Ю. Шелестов.- М.: Вильямс, 2005.
16. Мухамметов, Г. В. HTML и CSS / Г. В. Мухамметов. – М.: НТ Пресс, 2008.
17.Общее описание | Управление торговлей | 1C:Предприятие 8 [Электронный ресурс] : URL http://v8.1c.ru/trade/
18.ООО БИТ Аэро-Софт - программы для экологов, программы для расчета платы за негативное воздействие [Электронный ресурс]: URL http://www.airsoft-bit.ru/
19. Орлов, А. А. PHP. Полезные приемы/ А. А. Орлов.- М.: Горячая Линия - Телеком, 2006.
20.Портал по PHP, MySQL и другим веб-технологиям [Электронный ресурс] : URL http://php.su/
21.Прохоренок, Н. HTML, JavaScript, PHP и MySQL. Джентельменский набор Web-мастера / Н. Прохоренок. – Спб.: БХВ, 2010.
22. Рева, О. Н. JavaScript/ О. Н. Рева. – М.: Эксмо, 2007.
23.Свободная энциклопедия Википедия [Электронный ресурс] : URL http://ru.wikipedia.org/
24.Скляр, Д. PHP. Рецепты программирования / Д. Скляр. – Спб.: БХВ, 2007.
25. Флэнаган, Д. JavaScript. Подробное руководство/ Д. Флэнаган. – М.: Символ-Плюс, 2008.
26.Харрис, Э. PHP/MySQL для начинающих / Э. Харрис.- М.:КУДИЦ-Образ, 2007.
27. Харт-Дэвис, Г. HTML / Г. Харт-Дэвис. – М.: НТ Пресс, 2005.
28.Хольцнер, С. PHP в примерах / С. Хольцнер. – М.: Бином-Пресс, 2009.
29.Ясенев В.Н. Автоматизированные информационные системы в экономике: Учебно-методическое пособие / Н.Новгород, 2007 439с.

Вопрос-ответ:

Какими функциями обладает AMR-специалист отдела снабжения?

AMR-специалист отдела снабжения предприятия малого бизнеса выполняет следующие функции: анализ существующих разработок для автоматизации комплекса задач, организация закупок и поставок товаров, контроль за сроками поставки и качеством товаров, ведение документации по закупкам и поставкам, а также поддержка и развитие информационных систем в отделе снабжения.

Какие системы используются для автоматизации задач отдела снабжения на предприятии малого бизнеса?

Для автоматизации задач отдела снабжения на предприятии малого бизнеса может использоваться ERP-система (система управления предприятием) и SRM-система (система управления отношениями с поставщиками). ERP-система позволяет управлять всеми бизнес-процессами предприятия, включая учет, финансы, производство и снабжение. SRM-система, в свою очередь, помогает оптимизировать взаимодействие с поставщиками, управлять контрактами, сравнивать условия поставок и тд.

Как организована информационная модель задачи и каких она опирается?

Информационная модель задачи по разработке AMR-специалиста отдела снабжения предприятия малого бизнеса опирается на концепцию управления бизнес-процессами. Она включает в себя описание всех необходимых функций и операций, которые должен выполнять специалист. Информационная модель также учитывает потоки информации и взаимодействие с другими подразделениями предприятия, такими как финансовый и производственный департаменты.

Какие функции выполняет AMR-специалист отдела снабжения предприятия малого бизнеса?

AMR-специалист отдела снабжения предприятия малого бизнеса выполняет следующие функции: анализ существующих разработок для автоматизации комплекса задач, организация закупок и поставок товаров, контроль за сроками поставки и качеством товаров, ведение документации по закупкам и поставкам, а также поддержка и развитие информационных систем в отделе снабжения.

Что такое AMR-специалист отдела снабжения?

AMR-специалист отдела снабжения представляет собой специалиста, который занимается автоматизацией комплекса задач, связанных с управлением ресурсами и поставками на предприятии малого бизнеса. Он отвечает за разработку и поддержку процессов снабжения, а также управление информационными системами, необходимыми для эффективной работы отдела снабжения.

Какие задачи решает AMR-специалист отдела снабжения?

AMR-специалист отдела снабжения решает следующие задачи: разработка и оптимизация процессов снабжения, управление поставками и складскими запасами, обеспечение эффективной работы отдела снабжения, а также выбор и внедрение информационных систем для автоматизации этих задач.

Какими информационными системами пользуется AMR-специалист отдела снабжения?

AMR-специалист отдела снабжения может использовать ERP-системы (системы планирования ресурсов предприятия) и SRM-системы (системы управления взаимоотношениями с поставщиками). ERP-системы позволяют управлять всеми бизнес-процессами на предприятии, включая снабжение, производство, финансы и т. д. SRM-системы, в свою очередь, помогают управлять отношениями с поставщиками и оптимизировать закупочные процессы.