Учет оргтехники в организации v 3.х 2013-2017 (работа в браузере) (Завершено)

Внимание! Проект более не развивается.

Скачать последнюю версию: здесь
GIT репозитарий: здесь
DEMO сайт :<проект заброшен и завершен>Вход: test/test База обнуляется раз в час.
Wiki проекта: <проект заброшен и завершен>

Попросить помочь: <проект заброшен и завершен>

 Содержание

  • Общие сведения
  • Лицензионное соглашение
  • Материальное стимулирование
  • Установка
  • Обновление
  • Настройка
  • Первоначальное заполнение справочников
  • Журнал «Имущество»
  • Размещение ТМЦ на карте
  • Новости
  • Бизнес процессы
  • Удаление объектов
  • Разработчикам

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

Данное ПО, в версии 3.xx, предназначено для учета оргтехники в небольших организациях и будет полезно в основном системным администраторам и иже с ними, ведущими учет без фанатизма. Основные особенности:

  • установка программы на сервере LAMP и WAMP
  • работа в программе через браузер (WEB интерфейс)
  • поддержка работы с несколькими организациями одновременно
  • поддержка основных действий с ТМЦ, как то оприходование, перемещение, ремонт и списание ТМЦ. Привязка ТМЦ к помещению с оповещением сотрудников об изменении состава ТМЦ в помещении.
  • возможность формирования различного вида отчетности
  • расположение ТМЦ на карте-схеме помещений
  • возможность печати штрихкодов
  • модульность системы, что подразумевает возможность написания собственных модулей расширения. Модули в «базе»: учет ТМЦ,  Бизнес-процессы, вход-выход работников через турникет Орион, новости, контрагенты.
  • открытый исходный код и возможность подключения к репозитарию

Что нового, в отличии от старых версий,:

  • убрана поддержка smarty, как усложняющая жизнь разработчику
  • более полная совместимость с браузером IE 9+
  • подчищен и и во многом улучшен код, убрано множество ошибок
  • изменился внешний вид. Движок переведен на BootStrap 3

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

В данный момент это ПО лицензируется и распространяется по принципу «Как есть». Вы можете скачивать, устанавливать, изменять исходные коды и использовать их для любых своих нужд. Если вам необходима поддержка данного ПО на возмездной основе — не откажусь. Т.е. вроде бы всё это подходит под GPLv3

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

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

А вообще можете обратиться к любому контрибутеру участвующему в разработке — думаю не откажутся помочь. Может быть даже и бесплатно получится, если идея будет интересная.

Установка

Для успешного запуска ПО необходимы установленные Apache 2+,PHP 5+, MySQL 4+. Если вы не знаете что такое LAMP, данное ПО скорее всего вам видимо не подойдет.

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

P.S. Хотя в последнее время определенные работы по усилению безопасности творения были проведены.

Но это лирика. Как же таки установить сиё «чудо»:

  1. Скачиваем последнюю версию исходников с https://github.com/donpadlo/webuserog3
  2. Копируем/распаковываем их в папку с сайтом.
  3. Устанавливаем права 0777 на папки files,photos,maps
  4. Создаем БД в MySQL и заливаем в неё дамп webz.sql, из корня сайта
  5. Открываем config.php, прописываем данные для соединения с БД
  6. Пробуем запустить.
  7. Если всё работает, можно тестовые данные удалить и начать вести учет по своей организации

Более подробно по установке можно почитать на странице Wiki

Обновление

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

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

Настройка

Все настройки достаточно очевидны. Даже пояснять особо не чего. Находятся в меню Настройка->Настройка системы

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

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

Справочник «Список организаций»

В «личном меню» отображается список организаций занесенных в справочник «Список организаций». Выберите в «личном меню» ту организацию,  по которой хотите вести учет в настоящий момент. По умолчанию «Журнал имущества», «ТМЦ на карте»  и часть других страниц, отображает только информацию которая относится к организации выбранной в текущий момент в «личном меню».

Так-же в справочнике организаций можно к организации прикрепить схему или план организации в формате png, которая будет использована при отображении ТМЦ.

Снимок экрана от 2014-03-06 15:48:10

Справочник «Пользователи»

позволяет добавить и отредактировать пользователей, назначить права и пароль. Так-же доступно редактирование «профиля», где можно указать ФИО, должность, табельный номер, а так-же прикрепить «аватарку».

Справочник «Должности организации»

Снимок экрана от 2014-03-06 16:28:57

Позволяет сопоставить сотрудника его должности. Данная таблица используется например, при написании собственных «Бизнес-процессов», чтобы абстрагировать участника БП по его должности.

Справочник «Помещения»

Снимок экрана от 2014-03-06 16:32:02

Используется для «размещения» сотрудников по «кабинетам». Данный справочник используется например при отображении «ответственности» по сотрудникам в разрезе помещений. При перемещении или поступлении ТМЦ внутри «помещения», «привязанные» сотрудники получают уведомления на электронную почту.

Справочник «Контрагенты»

Снимок экрана от 2014-03-06 16:36:00

Здесь можно вести список контрагентов с которыми сотрудничает организация, вести учет заключенных договоров и их электронные копии. В моем случае юридический отдел ведет данный справочник, а бухгалтерская служба, которая не имеет прав доступа в этот справочник, использует другой инструмент, контроля:  Инструменты -> Контроль договоров:

Снимок экрана от 2014-03-06 16:40:46

Справочник «Производители»

Снимок экрана от 2014-03-06 16:41:39

служит для ведения учета ТМЦ в разрезе производителей оборудования

Справочник «Группы ТМЦ»

Снимок экрана от 2014-03-06 16:43:08

Позволяет вести учет в разрезе «групп». Так-же каждой «группе» можно задать какие-то характеристики. Например группе «Системные блоки», характеристики «Размер памяти», «Жесткий диск» и т.п.

Справочник «Номенклатура»

Снимок экрана от 2014-03-06 16:44:51

Позволяет собственно вести учет ТМВ в разрезе наименований ТМЦ.

Журнал «Имущество»

Находится в меню Журналы -> Имущество

Фактически это реестр всех ТМЦ которые в настоящий момент числятся (или не числятся) на балансе в организации. Вы можете здесь накладывать фильтры по «Помещению» и «Группе», а так-же искать по всем остальным полям. Например, мы хотим посмотреть какие мониторы  у нас в отеле АСУ:

Снимок экрана от 2014-03-06 16:51:09

При выборе мышкой какой то позиции ТМЦ отображается информация о перемещениях ТМЦ и фото (если есть):

Снимок экрана от 2014-03-06 17:06:14

Внизу таблицы доступно ряд пиктограмм: поступление ТМЦ, редактирование ТМЦ, перемещение ТМЦ, передача в ремонт, вывод штрихкодов, вывод отчетов и выгрузка в xml. Рассмотрим каждую операцию:

Поступление ТМЦ

Снимок экрана от 2014-03-06 16:57:26

Заполнение блоков «Куда» и что «Что», достаточно очевидно. «Имя по бухгалтерии» введено мною в виду того что в нашей 1С ТМЦ обозваны бухгалтерами не пойми как. Например «Сист.блк.вкмпл.м» — понимай как хочешь. А так — при инвентаризациях имеем полное понимание что имеет ввиду бухгалтер и что у нас там на самом деле.

При сохранении документа, сотрудникам которые находятся в помещении куда оприходуется ТМЦ высылается уведомление.

Редактирование ТМЦ

Снимок экрана от 2014-03-06 17:02:18

все очевидно

Перемещение ТМЦ

Снимок экрана от 2014-03-06 17:03:29

Указываем куда и зачем в комментариях. Сотрудникам находящимся в помещении откуда перемещают ТМЦ и куда перемещают ТМЦ высылается уведомление на почту.

Ремонт ТМЦ

Снимок экрана от 2014-03-06 17:08:13

Любое ТМЦ мы можем «отправить в ремонт». ТМЦ находящееся в «ремонте», в журнале отображается восклицательным знаком. Если ТМЦ пришло из ремонта, снова нажимаем «Отправить в ремонт» и изменяем статус на «сделано», предварительно занеся стоимость ремонта:

Снимок экрана от 2014-03-06 17:10:28

Вывод штрихкодов

В программе имеется возможность распечатать штрихкоды-наклейки на ТМЦ. Для этого нужно выбрать ТМЦ:

Снимок экрана от 2014-03-06 17:12:38

и нажать «Вывод штрихкодов»:

Снимок экрана от 2014-03-06 17:13:53

Далее можно распечатать штрихкоды, выстричь и наклеить на ТМЦ. Так можно легко идентифицировать ваше ТМЦ, если вдруг «потеряетесь».

Отчеты

Позволяют сформировать печатные формы наличия ТМЦ, например для проведения инвентаризаций:

Снимок экрана от 2014-03-06 17:15:26

или можно сформировать печатную форму журнала имущества

Вывод в xml

Позволяет выгрузить в файл xml содержимое реестра. У меня например далее этот файл загружается обработкой в 1С, и далее сравнивает автоматически данные по «бухучету» с тем что «реально», соотвественно выплевывая сообщения о расхождениях учета.

ТМЦ «на моем рабочем месте»

В журнал «Имущество» имеют доступ только «администраторы». Но ведь и пользователи хотят знать, что за ТМЦ «числится на их отвественности» по помещению например. Для этого есть раздел Инструменты -> ТМЦ на моем рабочем месте:

Снимок экрана от 2014-03-06 17:18:57

Размещение ТМЦ на карте

Данный раздел позволяет отображать ТМЦ на «карте», а так-же управляет его местоположением:

Снимок экрана от 2014-03-06 17:26:45

Карта в формате png должна быть предварительно загружена через справочник «Организации».

Новости

В меню Журналы -> Новости вы можете добавлять последние новости или объявления по организации. В случае если новость «закреплена», то она будет отображаться постоянно в среднем столбике на главной странице.

Снимок экрана от 2014-03-06 17:31:18

Бизнес-процессы

Будут в основном полезны тем, кто хочет алгоритмизировать часть действий сотрудников. Например у меня БП используются при начислении отпускных (при обнаружении в 1С что какой-то сотрудник скоро уходит в отпуск, создается БП сотруднику по начислению ЗП, «Расчитать и выплатить отпускные»), минуса на складе (при обнаружении в 1С «минусов», создается БП по устранению «минуса»), БРАК (при обнаружении в 1С документа по сертификации со статусом «отказано», создается БП «Брак», где последовательно выпадают задачи на сотрудников, с уточняющими вопросами, на основе ответов на которые, принимается решение «А что же делать?»:

Снимок экрана от 2014-03-06 17:39:01 Снимок экрана от 2014-03-06 17:39:11

Алгоритмы действий расписаны в xml файлах в папке modules/bp. Туда-же вы можете размещать собственные БП. Автоматизацию старта БП можно посмотреть в папке jobs. Подробное описание логики работы Бизнес процессов довольно объемное, потому опишу его реализацию лучше, если будет заинтересованность со стороны сообщества.

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

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

Снимок экрана от 2014-03-07 09:24:36 Снимок экрана от 2014-03-07 09:24:58

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

Например: не возможно удалить сотрудника из справочника сотрудников, если на нем числится какое-то ТМЦ. Для того чтобы операция удаления прошла успешно, необходимо переместить ТМЦ на другого человека.

Разработчикам

Разработка модулей и доработка данного ПО приветствуется. Уровень «вхождения» весьма низок, т.к. движек чрезвычайно прост и логичен, а так-же снабжен большим количеством комментариев. Рассмотрим основную логику.

Сначала запускается файл index.php,  откуда сначала подзагружаются сначала настройки из config.php, затем все необходимые классы и функции. Далее загружается include_once(«inc/login.php») ответственный за проверку регистрации пользователя. После чего мы имеем следующие проинициализированные глобальные классы-переменные:

$cfg — класс- хранилище настроек. Методы и переменные описаны в classes/cfg.php

$sqlcn — класс работы с mysql. Методы и переменные описаны в classes/sql.php

$user — класс работы с пользователями. По умолчанию содержит данные о текущем «золигинившемся» пользователе. Если пользователь не «зашел», тогда  $user-mode=»». Методы и переменные описаны в classes/users.php

$err — массив сообщений об ошибках. Если что-то в массиве есть, то ошибка выведется на экран пользователю.

$ok — массив сообщений об успешных действиях. Если что-то в массиве есть, то сообщение выведется на экран пользователю.

Далее, загружаются и автоматически выполняются все файлы с расширением php из каталога autorun

Далее, если задана переменная content_page в адресной строке, например http://10.80.16.19/webuseorg3/index.php?content_page=bp, то загружается сначала файл modules/$content_page, а затем client/view/themes/текущая_тема/index.php, в котором в свою очередь, есть нечто подобное:

Поподробнее расскажу о «модульности» системы. Во первых есть загружаемый по умолчанию класс classes/md.php, который позволяет нам работать с «модулями». Основной его функционал — это «регистрация» модуля  и «проверка», включен модуль или нет. Это реализовано следующими функциями:

Как включить разработанный модуль в «меню»? Тоже все просто.  В папке modules/menu создаем папку например newmenu и файл newmenu.php . При от рисовке меню, будет подгружена информация из этого файла. За образец содержания можно взять любой из имеющихся уже файлов.

67 комментариев

  • FryZcer

    Добрый день! Очень удобный учет, простой и незамысловатый. Единственный вопрос возник с выводом ТС которые уже вернулись из ремонта.
    «Если ТМЦ пришло из ремонта, снова нажимаем «Отправить в ремонт» и изменяем статус на «сделано», предварительно занеся стоимость ремонта»

    После данных действий, я нигде не смог найти информацию о ТМЦ вышедших из ремонта,. В предыдущей версии был реестр учета ТМЦ в ремонте, возможно ли в этой версии это сделать?

    • Павел Грибов

      Добрый!
      Если только чуть попозже. Сейчас интенсивность доработки снижена, т.к. других дел навалилось. Или сами попробуйте реализовать, в релиз 3.01 включим ваш код.

      • Виктор

        Отличная программа Павел! А Как насчет паспортов на рабочую станцию? И список установленных программ?

        • Павел Грибов

          Доброе!

          1) Список установленных программ (например лицензионных)- если очень нужно — можно заполнять в параметрах ТМЦ. ДЛя остальных случаев — не вижу вообще никакого смысла.
          2) Паспорта — планирую внедрить прикрепление файлов к ТМЦ. Например можно будет прикреплять сканы

  • Павел Грибов

    Упс. Кстати да, совсем не корректно работает сей блок, редко использую эту часть, проморгал. На днях посмотрю.

    • FryZcer

      Буду очень признателен, если можно будет что-то сделать.
      Второй день пробую прикрутить что-нибудь, но из-за нехватки знаний в этом, едва ли что-то получится.

  • Дмитрий

    Очень удобный учет. Кое что сделал под себя)) Но не могу разобраться как сделать удаление прикрепленных фалов в справочнике контрагентов. Чтоб файл удалялся не только с mysql но и с сервера. Сможете в этом помочь?

    • Павел Грибов

      Добрый день! Да как-то даже и в мыслях не было удалять физически файл. Жесткие диски нонче большие, а несомненным плюсом будет таки хранение всего что когда либо «заливалось», на «всякий случай»…

  • Notis

    выдает ошибку «браузер устарел»
    пробовал на свежих личкрафтах и firefox 24.5
    как починить?

  • Andrey

    При добавлении имущества выдает ошибку:
    Unknown column ‘kntid’ in ‘field list’
    С чем это может быть связано?

  • Aleksandr

    Здравствуйте! Очень простой учет! Без всяких лишних плюшек! :). ПО очень понравилось. А в дальнейшем планируется обновления?

    • Павел Грибов

      Добрый!
      Пока функционал «устаканен». Ошибок вроде особых нет. Активно разрабатываются модули для взаимодействия с LanBilling + работа с шейперами + работа с устройствами по snmp, но пока в «стол», т.к. это узкоспецаилизированные модули и не нужны в основном функционале.

  • Юрий

    Добрый вечер, Павел! Не могли бы Вы выложить пример строки, которую нужно прописать в поле «сервер LDAP:»
    Заранее спасибо.

  • Fox_M

    Здравствуйте!
    Классная программа, если бы реализовать еще и helpdesk для подачи заявок… цены бы не было…
    Знаний такое реализовать не хватит… остается только ждать.

  • Артур

    Здравия и благословений!
    Начал установку. Делаю импорт БД webuseorg empty.sql — выдает ошибку:

    CREATE TABLE IF NOT EXISTS bp_accept (
    id int( 11 ) NOT NULL AUTO_INCREMENT ,
    userid int( 11 ) NOT NULL ,
    title varchar( 200 ) COLLATE utf8_unicode_ci NOT NULL ,
    bodytxt text COLLATE utf8_unicode_ci NOT NULL ,
    status int( 11 ) NOT NULL ,
    dt datetime NOT NULL ,
    randomid varchar( 200 ) COLLATE utf8_unicode_ci NOT NULL ,
    PRIMARY KEY ( id )
    ) ENGINE = InnoDB DEFAULT CHARSET = utf8 COLLATE = utf8_unicode_ci AUTO_INCREMENT =574;

    Ответ MySQL: Документация
    #1064 — You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near ‘COLLATE utf8_unicode_ci NOT NULL,
    bodytxt text COLLATE utf8

    Версия MySQL 4.0.17-nt. Кодировка на сервере win1251. Думаю, что проблема в кодировке. Подскажите, плиз, как корректно перевести SQL-скрипт в win1251?

    • Павел Грибов

      Ой.. Какая старая MySQL.. Нет возможности обновить? Думаю что дело в этом..
      Если нет, так видимо нужно вче что связано с utf8 заменить на win1251

      • Артур

        Проблему решил ориентируясь на сообщения об ошибках при импорте. Чтобы импорт прошел нормально, нужно сделать следующее:
        1) закомментировать 2 строки в начальной части скрипта
        — SET SQL_MODE = «NO_AUTO_VALUE_ON_ZERO»;
        — SET time_zone = «+00:00»;
        2) удалить из скрипта следующее:
        COLLATE=utf8_unicode_ci
        COLLATE=utf8mb4_unicode_ci
        DEFAULT CHARSET=utf8
        DEFAULT CHARSET=utf8mb4
        3) удалить DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP;
        4) заменить где встречается CHARACTER SET utf8 на CHARACTER SET cp1251;
        5) заменить varchar(500) на varchar(255);
        6) заменить varchar(1000) на varchar(255);
        7) заменить ENGINE= на TYPE=

        Но после успешного импорта скрипта (config.php тоже настроен) при попытке запуска index.php сервер выдает полностью пустую страницу. Похоже придется дополнительно устанавливать современный WAMP.

  • Alena

    Извиняюсь заранее, может я не так понимаю, НО… «В папку с сайтом копировать и распаковать» — с каким сайтом? Просто html файл?

    • Павел Грибов

      Обычно в апаче и на диске создается некая папка где лежит собственно содержимое сайта. Туда и нужно скопировать

  • Alena

    Спасибо за ответ! Все запустилось, и теперь возник вопрос-логин и пароль админа где найти? Все файлы пересмотрела,так и не попалось на глаза.Заранее спасибо!

  • Alena

    Нашла! Все перед глазами оказалось

  • Дмитрий

    Как настроить интеграцию с AD

  • Денис

    Добрый день подскажите, как настроить интеграцию с AD
    конфиг нужно править или достаточно интерфейса выдает

    Fatal error: Call to undefined function ldap_connect() in /var/www/tmc/inc/functions.php on line 48

  • Денис

    Установил php5-ldap, теперь выдает
    Notice: Undefined variable: ldapserver in /var/www/tmc/inc/functions.php on line 48

    • Павел Грибов

      Если есть возможность, выйдите на меня по скайпу: pvtuning поподробнее глянем

  • Денис

    К сожаленью возможности нет такой, подскажите вот что, интеграция полностью настраивается через веб интерфейс? или все таки нужно что то поправлять в конфигах?
    и в поле ldap сервер достаточно ip указать например 192.168.1.1 ?
    или ldap сервер вида ldaps://192.168.1.1?
    хотя странно что он ругается на переменную вроде пока ничего не правил разворачивал на debian 7 amd 64

    • Павел Грибов

      По идее должно работать.. Единственный опыт интеграции с AD был два года назад.. В том случае хватило указать IP адрес где находилась AD.
      Возможно с обновлениями ошибку какую внёс… Нужно смотреть.

  • Виктор

    Павел выражаю огромное спасибо за ваш труд. Действительно редко найдешь софт не перегруженный всякими не нужными финтифлюшками и со вполне приличным юзалибити. У меня вопрос )). Как можно добавить отчеты ? А то в меню Отчеты кол-во 3 а проваливаешься всего один — «Размещение ТМЦ на карте». И да — как можно отблагодарить финансово ? )

    • Павел Грибов

      Ну можно на телефон кинуть денежку сколько не жалко 🙂
      +79212347594
      Отчеты, можно дописать самому. Алгоритм:
      1) Создаем пункт меню по образцу в inc/menu
      2) Пишем обработчик в /controller/view/themes/
      Могу помочь если что… В скайпе pvtuning

  • Олег

    У кого нибудь заработала интеграция с AD ?

  • Олег

    Подскажите при экспорте в CSV кодировка русских букв слетает, как поправить?

    • Павел Грибов

      Добрый!
      Возможно вы открываете файл в не верной кодировке? Попробуйте выставить как UTF-8?

  • Олег

    Добрый день, как бы я его импортирую из веб интерфейса и он открывается в exel, но русские буквы отображаются крякозяблами. Кодировку менять в exel нужно?

    • Павел Грибов

      Нету под рукой экселя попробовать.. На сколько помню есть два пути открыть csv utf-8: 1) Открываем Эксель-> вкладка «Данные”»-> «Из текста» 2) Открываем Эксель -> Файл «Открыть», там под кнопкой «открыть» должен быть выбор в какой кодировке.
      В либреофисе открывается сразу нормально.

      • Павел Грибов

        Ну или можно выгрузку поправить чтоб формировало файл в windows-1251

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

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

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