Учет оргтехники в организации v 2.0 2012 (работа в браузере) (закончено)

ВНИМАНИЕ! Данный материал устарел. Новую версию смотрите здесь

DEMO страница на sourceforge (test/test)
Скачать последнюю версию

Сообщить об ошибке
SVN репозитарий 


Общие сведения

Данный программный продукт предназначен для ведения учета оргтехники (да и любой ТМЦ) в одной или нескольких небольших организациях (разработка и тестирование проводилось в организации с численностью единиц оргтехники в количестве 293 и 2-х организаций). Учет ведется в разрезе материальной ответственности, а так-же привязки сотрудников к помещениям. Таким образом, вы и любой сотрудник организации в любой момент можете увидеть: количество и состав ТМЦ находящихся в его ведении, историю перемещений объекта, его фото, а так-же историю его ремонтов. Так-же данный программный продукт удобно использовать для проведения инвентаризаций (у меня например используется связка с данными по 1с). Основным же преимуществом этой разработки считаю : учет ведется из браузера в WEB интерфейсе, т.е. нет необходимости на каждом рабочем месте ставить клиентское ПО.

Лицензионное соглашение

В данный момент это ПО лицензируется и распространяется по принципу «Как есть». Вы можете скачивать, устанавливать, изменять исходные коды и использовать их для любых своих нужд, кроме продажи (ну или хочу долю!). Со своей стороны я так-же не гарантирую ничего: ни поддержки, ни обновлений, ни вообще работоспособности конечного продукта. Так-же я волен изменить данную лицензию в любой момент.

Материальное стимулирование

Несомненно приветствуется. Если вам хочется простимулировать автора данного ПО для дальнейших подвигов, свяжитесь со мной. У автора есть два пути обрести душевное спокойствие: материальное благополучие и слава. И то и другое автор очень любит.

Установка

Для успешного запуска ПО необходимы установленные Apache 2+,PHP 4+, MySQL 4+. Процесс развертывания LAMP достаточно легко найти в www.google.com Работа тестировалась на дистрибутиве Linux  Debian, однако я уверен, что и  любителей Windows проблем не возникнет.

Крайне не рекомендую СЕЙЧАС устанавливать данное ПО на «реальном» хостинге, «смотрящем» в интернет.  Хотя работать конечно будет…но не долго…ибо «придурков-хакеров» сейчас много, а зайцев поди мало.. Я к тому, что на вопрос безопасности никто не тестировал данное ПО. Для локальной сети пойдет, но в интернет выставлять, яб не стал. Работы по тестированию-устранению дыр будут проведены в ближайших релизах, после чего скорее всего запущу «Демо» в интернете, чтоб можно было «пощупать» в «живую».

Далее:

  1. Скачиваем последнюю версию исходников с https://sourceforge.net/projects/webuseorg/files/ 
  2. Копируем/распаковываем их в папку с сайтом.
  3. Запускаем инсталлятор http://имя_сайта/install/index.php
  4. Открываем config.php, прописываем данные для соединения с БД
  5. Пробуем запустить.
  6. Удаляем папку install

Обновление

Обновления являются каммулятивными — для обновления до последней версии нужен только самый последний релиз. Т.е. скачиваем ПОСЛЕДНЮЮ версию данного ПО. Копируем её 1 в 1 с заменой файлов в каталог где стояла предыдущая версия (за исключением config.php в корне). Выполняем  http://имя_или_IP_сайта/update.php Не забудьте после обновления удалить файл update.php

В ближайшее время планирую внедрить «проверку обновлений». При выходе новой версии, будет показано соответствующее уведомление в меню «Администрирование-Настройка».

Для любителей «свежатинки» — SVN репозитарий. По крайне мере сейчас (Декабрь 2012) там стабильно идут правки 1-2 раза в день.

Точно не будет и не планируется в ближайших релизах: автообновление. Вот может когда «деревья станут большими», вот тогда…

Первоначальная настройка

  1. Заходим на сайт
  2. Логинимся под пользователем test пароль test
  3. Идем в панель администрирования->Настройки
  4. Ставим галочки, заполняем.

Некоторые пояснения:

Аутенфикация через AD — если у вас поднят AD, то можно просто завести пользователей руками, пароль при проверке входа будет браться из AD.

И вообще будем слать что то по почте? — в случае поступления новой задачи пользователю, или движения ТМЦ по данному пользователю, ему будет отослано соответствующее письмо.

Первоначальное заполнение справочников

Для полноценной работы Вам необходимо сначала заполнить справочники. Хотя-бы основные позиции.

Ведение реестра ТМЦ

Заходим: Реестры -> Имущество. Здесь происходят основные операции с ТМЦ. Поступление, Редактирование (в т.ч. добавление фото), Перемещение, Печать штрихкода. Так-же реализован поиск ТМЦ. Для каждой единицы отображается история перемещения, а так-же нажатием на знак «+» слева, можно ввести дополнительные параметры, привязанные к группе номенклатуры (например типа операционной системы, количество памяти и т.п.).

Планы помещений

Снимок-12

С версии 1.04 появилась возможность загружать в справочнике «Организации» план помещений (формат PNG) и размещать ТМЦ соответственно на этом плане

Отчеты

Заходим: Главная-> Отчеты. Здесь вы можете отобразить в удобовариваемом для печати формате некоторые данные по состоянию учета ТМЦ на текущую дату.

Сейчас отчетов не так уж много, но в ближайшее время , если не заленюсь, будет добавлено еще несколько..

Новости

Заходим: Реестры-> Новости. Добавляем новости. Они будут отображаться на главной странице. Последняя по дате новость помеченная как «закреплено» будет отображаться так-же на главной странице.

Меню «Имущество»

Заходим:  Главная->Имущество. Предназначено для отображения имущества находящегося на попечении текущего пользователя (тот кто залогинился), как в помещении где он находится, так и на материальной ответственности.

Так-же для администратора есть возможность из данного раздела загружать фото.

Удаление объектов

Для окончательного удаления помеченных на удаление объектов разработан механизм поиска взаимосвязей помеченных на удаление объектов  В случае если объект ни от чего не зависит  то он будет удален. Правила для удаления объектов описаны в файле delete.xml

Например вот этот кусок показывает зависимость таблицы group_nome от таблиц nome и group_param по ключам id и groupid. В случаеприсутстсвия в таблицах nome и group_param хоть одной связанной записи с group_nome, ни одна запись из group_nome удалена не будет

Выгрузка в формате xml

Это фактически механизм для взаимодействия с другими учетными системами. Например с 1С. Конкретно у меня получившийся файл загружается в специальный документ в 1С и сравнивается с учетом по данным 1С и с учетом в данной «учетной» системе. Подробнее о возможном использовании здесь

Написание собственных модулей

Достаточно просто написать собственный модуль, если необходимо добавить функционал. Мало того, это приветствуется! Если вы написали свой модуль, то пришлите его мне, я с удовольствием включу его в следующий релиз/обновление.

Для понимания процесса опишу логику загрузки ПО:

  • грузится index.php из корня сайта
  • подгружаются настройки, классы, подключается smarty.
  • Если в url есть content_page=имя_модуля, то загружается сначала  файл modules/имя_модуля.php, затем templates/шаблон_сайта/имя_модуля.tpl
  • меню берется из папки modules/menu
Далее, разберем написание не самого простого, но полезного для понимания процесса, модуля на примере модуля «Новости»:
1) В папке modules/menu/doc создаем файл news со следующим содержимым:
Это даст нам отображение в меню «Реестры» надписи  «Новости»  со ссылкой content_page=news. Соответственно при нажатии на эту ссылку, будет загружены сначала: файл news.php из папки mosules, а затем Smarty загрузит templates/текущая_тема/news.tpl
2)Создаем файл templates/текущая_тема/news.tpl c кодом:
Следует пояснить, что при разработке движка, я принял следующие стандарты расположения папок и файлов, которыми и советую пользоваться:
  • controller/client — располагаются скрипты вывода клиентской части (то что выводится на экран) на PHP, которые подгружаются Ajax
  • controller/client/js — располагаются скрипты вывода клиентской части (то что выводится на экран) на JavaScript
  • controller/server — скрипты которые подготавливают и выдают данные запрашиваемые Ajax кодом
  • modules — располагаются PHP файлы которые выполняются перед обработкой *.tpl
  • inc — общие для всех модулей файлы
  • inc/classes — классы, общие для всех модулей
3) Создаем controller/client/js/news.js

4) Создаем файл controller/client/news.php, который подгружается в pg_add_edit после нажатия кнопок «Добавить» или «Редактировать»

5) Создаем файл modules/news.php который и будет собственно обрабатывать submit данной формы

Вот так мы и получили рабочий модуль администрирования новостей.

Вообще конечно если действительно есть желание что-то «допилить», то выходите на меня, дам доступ к SVN, будем «пилить» вместе.

Обратная связь

Вы можете всегда найти меня по следующим контактам ссылка. Я буду весьма благодарен, если вы будете контактировать со мной если:

  • хотите материально помочь проекту
  • хотите уделить свое время для помощи в разработке проекта (есть SVN репозитарий). Адекватно оценивайте свои силы! Помощники, которых мне придется обучать азам программирования, не принесут пользы..
  • нашли ошибку, а еще лучше если знаете как её устранить/уже устранили
  • хотите написать нормальную документацию, а не то что читаете сейчас

Один комментарий

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.