Учет оргтехники в организации 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. Хотя в последнее время определенные работы по усилению безопасности творения были проведены.
Но это лирика. Как же таки установить сиё «чудо»:
- Скачиваем последнюю версию исходников с https://github.com/donpadlo/webuserog3
- Копируем/распаковываем их в папку с сайтом.
- Устанавливаем права 0777 на папки files,photos,maps
- Создаем БД в MySQL и заливаем в неё дамп webz.sql, из корня сайта
- Открываем config.php, прописываем данные для соединения с БД
- Пробуем запустить.
- Если всё работает, можно тестовые данные удалить и начать вести учет по своей организации
Более подробно по установке можно почитать на странице Wiki
Обновление
Обновления являются каммулятивными — для обновления до последней версии нужен только самый последний релиз. Т.е. скачиваем ПОСЛЕДНЮЮ версию данного ПО. Копируем её 1 в 1 с заменой файлов в каталог где стояла предыдущая версия (за исключениемconfig.php в корне). Выполняем http://имя_или_IP_сайта/update.php Не забудьте после обновления удалить файл update.php
Для любителей «свежатинки» — GIT репозитарий. По крайне мере сейчас (2016 год) там стабильно идут правки, иногда 1-2 раза в день.
Настройка
Все настройки достаточно очевидны. Даже пояснять особо не чего. Находятся в меню Настройка->Настройка системы
Первоначальное заполнение справочников
Для полноценной работы Вам необходимо сначала заполнить справочники. Хотя-бы основные позиции.
Справочник «Список организаций»
В «личном меню» отображается список организаций занесенных в справочник «Список организаций». Выберите в «личном меню» ту организацию, по которой хотите вести учет в настоящий момент. По умолчанию «Журнал имущества», «ТМЦ на карте» и часть других страниц, отображает только информацию которая относится к организации выбранной в текущий момент в «личном меню».
Так-же в справочнике организаций можно к организации прикрепить схему или план организации в формате png, которая будет использована при отображении ТМЦ.
Справочник «Пользователи»
позволяет добавить и отредактировать пользователей, назначить права и пароль. Так-же доступно редактирование «профиля», где можно указать ФИО, должность, табельный номер, а так-же прикрепить «аватарку».
Справочник «Должности организации»
Позволяет сопоставить сотрудника его должности. Данная таблица используется например, при написании собственных «Бизнес-процессов», чтобы абстрагировать участника БП по его должности.
Справочник «Помещения»
Используется для «размещения» сотрудников по «кабинетам». Данный справочник используется например при отображении «ответственности» по сотрудникам в разрезе помещений. При перемещении или поступлении ТМЦ внутри «помещения», «привязанные» сотрудники получают уведомления на электронную почту.
Справочник «Контрагенты»
Здесь можно вести список контрагентов с которыми сотрудничает организация, вести учет заключенных договоров и их электронные копии. В моем случае юридический отдел ведет данный справочник, а бухгалтерская служба, которая не имеет прав доступа в этот справочник, использует другой инструмент, контроля: Инструменты -> Контроль договоров:
Справочник «Производители»
служит для ведения учета ТМЦ в разрезе производителей оборудования
Справочник «Группы ТМЦ»
Позволяет вести учет в разрезе «групп». Так-же каждой «группе» можно задать какие-то характеристики. Например группе «Системные блоки», характеристики «Размер памяти», «Жесткий диск» и т.п.
Справочник «Номенклатура»
Позволяет собственно вести учет ТМВ в разрезе наименований ТМЦ.
Журнал «Имущество»
Находится в меню Журналы -> Имущество
Фактически это реестр всех ТМЦ которые в настоящий момент числятся (или не числятся) на балансе в организации. Вы можете здесь накладывать фильтры по «Помещению» и «Группе», а так-же искать по всем остальным полям. Например, мы хотим посмотреть какие мониторы у нас в отеле АСУ:
При выборе мышкой какой то позиции ТМЦ отображается информация о перемещениях ТМЦ и фото (если есть):
Внизу таблицы доступно ряд пиктограмм: поступление ТМЦ, редактирование ТМЦ, перемещение ТМЦ, передача в ремонт, вывод штрихкодов, вывод отчетов и выгрузка в xml. Рассмотрим каждую операцию:
Поступление ТМЦ
Заполнение блоков «Куда» и что «Что», достаточно очевидно. «Имя по бухгалтерии» введено мною в виду того что в нашей 1С ТМЦ обозваны бухгалтерами не пойми как. Например «Сист.блк.вкмпл.м» — понимай как хочешь. А так — при инвентаризациях имеем полное понимание что имеет ввиду бухгалтер и что у нас там на самом деле.
При сохранении документа, сотрудникам которые находятся в помещении куда оприходуется ТМЦ высылается уведомление.
Редактирование ТМЦ
все очевидно
Перемещение ТМЦ
Указываем куда и зачем в комментариях. Сотрудникам находящимся в помещении откуда перемещают ТМЦ и куда перемещают ТМЦ высылается уведомление на почту.
Ремонт ТМЦ
Любое ТМЦ мы можем «отправить в ремонт». ТМЦ находящееся в «ремонте», в журнале отображается восклицательным знаком. Если ТМЦ пришло из ремонта, снова нажимаем «Отправить в ремонт» и изменяем статус на «сделано», предварительно занеся стоимость ремонта:
Вывод штрихкодов
В программе имеется возможность распечатать штрихкоды-наклейки на ТМЦ. Для этого нужно выбрать ТМЦ:
и нажать «Вывод штрихкодов»:
Далее можно распечатать штрихкоды, выстричь и наклеить на ТМЦ. Так можно легко идентифицировать ваше ТМЦ, если вдруг «потеряетесь».
Отчеты
Позволяют сформировать печатные формы наличия ТМЦ, например для проведения инвентаризаций:
или можно сформировать печатную форму журнала имущества
Вывод в xml
Позволяет выгрузить в файл xml содержимое реестра. У меня например далее этот файл загружается обработкой в 1С, и далее сравнивает автоматически данные по «бухучету» с тем что «реально», соотвественно выплевывая сообщения о расхождениях учета.
ТМЦ «на моем рабочем месте»
В журнал «Имущество» имеют доступ только «администраторы». Но ведь и пользователи хотят знать, что за ТМЦ «числится на их отвественности» по помещению например. Для этого есть раздел Инструменты -> ТМЦ на моем рабочем месте:
Размещение ТМЦ на карте
Данный раздел позволяет отображать ТМЦ на «карте», а так-же управляет его местоположением:
Карта в формате png должна быть предварительно загружена через справочник «Организации».
Новости
В меню Журналы -> Новости вы можете добавлять последние новости или объявления по организации. В случае если новость «закреплена», то она будет отображаться постоянно в среднем столбике на главной странице.
Бизнес-процессы
Будут в основном полезны тем, кто хочет алгоритмизировать часть действий сотрудников. Например у меня БП используются при начислении отпускных (при обнаружении в 1С что какой-то сотрудник скоро уходит в отпуск, создается БП сотруднику по начислению ЗП, «Расчитать и выплатить отпускные»), минуса на складе (при обнаружении в 1С «минусов», создается БП по устранению «минуса»), БРАК (при обнаружении в 1С документа по сертификации со статусом «отказано», создается БП «Брак», где последовательно выпадают задачи на сотрудников, с уточняющими вопросами, на основе ответов на которые, принимается решение «А что же делать?»:
Алгоритмы действий расписаны в xml файлах в папке modules/bp. Туда-же вы можете размещать собственные БП. Автоматизацию старта БП можно посмотреть в папке jobs. Подробное описание логики работы Бизнес процессов довольно объемное, потому опишу его реализацию лучше, если будет заинтересованность со стороны сообщества.
Удаление объектов
В программе реализована 1С подобная система удаления записей в критически важных таблицах. Т.е. общий алгоритм удаления следующий: помечаем на удаление запись, а потом посредством меню Настройка-Удаление обьектов, производим попытку непосредственно физического удаления. В случае если удаляемый обьект не имеет зависимостей, он будет удален.
В противном случае будет выдано уведомление с указанием в какой таблице есть ссылка на удаляемую запись.
Например: не возможно удалить сотрудника из справочника сотрудников, если на нем числится какое-то ТМЦ. Для того чтобы операция удаления прошла успешно, необходимо переместить ТМЦ на другого человека.
Разработчикам
Разработка модулей и доработка данного ПО приветствуется. Уровень «вхождения» весьма низок, т.к. движек чрезвычайно прост и логичен, а так-же снабжен большим количеством комментариев. Рассмотрим основную логику.
Сначала запускается файл 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 — массив сообщений об ошибках. Если что-то в массиве есть, то ошибка выведется на экран пользователю.
1 |
$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, в котором в свою очередь, есть нечто подобное:
1 2 3 4 5 6 7 |
include_once("header.php"); // заголовок include_once("menus.php"); // главное меню include_once("messagebar.php"); // отображение сообщений пользователю (если есть) include_once("controller/client/themes/$cfg->theme/$content_page.php"); include_once("footer.php"); // подвал страницы |
Поподробнее расскажу о «модульности» системы. Во первых есть загружаемый по умолчанию класс classes/md.php, который позволяет нам работать с «модулями». Основной его функционал — это «регистрация» модуля и «проверка», включен модуль или нет. Это реализовано следующими функциями:
1 2 3 4 5 6 7 8 9 10 11 12 |
md=new Tmod; // обьявляем переменную для работы с классом модуля // регистрируем модуль. Если он уже зарегистрирован, то повторно он не зарегистрируется // по умолчанию зарегистрированный модуль выключен // включить его можно из меню настроек $md->Register("worktime", "Вход и выход работников организации (турникет Орион)", "Грибов Павел"); $md->Register("workandplans", "Оперативная обстановка на заводе", "Грибов Павел"); // Хотя можно его "включить и принудительно //$md->Activate("ping") if ($md->IsActive("workandplans")==1) { //если модуль активен, то что-то делаем } |
Как включить разработанный модуль в «меню»? Тоже все просто. В папке modules/menu создаем папку например newmenu и файл newmenu.php . При от рисовке меню, будет подгружена информация из этого файла. За образец содержания можно взять любой из имеющихся уже файлов.
Добрый день при выгрузке Отчеты-Имущество-Сформировать, хочу сделать отчет всего имущества, но отчет не формирует больше 1000 наименований.
Это так задумано?
Добрый! Упс. Неожиданно ). Откройте файл report.js и поправьте строчку rowNum:1000, на rowNum:10000,. Костыль, но пока сработает. Исправлю в ближайшее время..
Еще есть такая штука если я выбираю Отчеты-Основные + По группам, то квадратика куда я могу проставить крыжик для выбора нет и отчет не выводится экспортом в CSV
То есть общий отчет всего имущества
Если есть возможность, самостоятельно исправьте ошибку и мне вышлите изменения? У меня к сожалению в ближайшее время не складывается заняться..
Здравствуйте. Скажите реализован ли импорт информации о конфигурациях системных блоков на основании собранной информации сторонними программами. Просто я по описанию так и не нашел этой информации.
Добрый день! Нет, не реализован. Как написано в описании, это ПО для учета «без фанатизма». В основном для того чтобы знать что где расположено, что куда перемещалось и т.п. Т.е. в основном для инвентаризации и сверки с «бухгалтерией». Для более детального ведения учета есть другие, более серьезные проекты.
Здравствуем! А что-то у меня в любом браузере при нажатии на квадратик с тремя полосками ничего не выходит, а у вас на тестовом нормально слева меню открывается
Выйдите на меня по скайпу (pvtuning), посмотрим
Common.js судя по гитхабу должен быть Common_cal.js, но переименование ничего не дало((( Меню так и не заработало
Здравствуйте! Удалось решить проблему с тем, что меню не открывается? У меня такая же проблема, браузеры «Яндекс» и IE?
И еще при распаковке есть два файла с одним именем «Common.js» и «common.js» в папке «js». При распаковке спрашивает «Переименовать?»
Великолепно! Вы реализовали то, что необходимо для минимально достаточного учёта ИТ ТМЦ для любой организации с российским менталитетом! Очень интересный проект! Жалко, что у вас не предусмотрено понятие «расходники» (картриджи, жёсткие диски, флешки). Например сколько картриджей, показать список оргтехники совместимой с данным картриджом, посмотреть отчёт по принтеру, сколько поставлено картриджей.
Подскажите пожалуйста, существует ли возможность в Журнал -> Имущество добавить фильтр по дополнительным полям из типа ТМЦ (добавленного, через Справочники -> Группы ТМЦ, добавить «Параметры группы номенклатуры»)? И можно ли при отображении списка Имущества в Журнале указать на «развёртывание» всех дополнительных полей типов ТМЦ ?
Почему то мой вопрос о том, решили ли проблему с меню описанную :
«Андрей
08.02.2017 В 1:01 ПП
Здравствуем! А что-то у меня в любом браузере при нажатии на квадратик с тремя полосками ничего не выходит, а у вас на тестовом нормально слева меню открывается»
просто удалили? Так проблема не решена?
Да, помню кто-то обращался уже с этой проблемой. Но убей не помню что там было в итоге. Выйдите на меня по скайпу pvtuning, посмотрю.
Отличный проект. Вполне удобно и бесплатно. Для полного счастья мне не хватило всего одной вещи. Хочется чтоб можно было из добавленных комплектующих собрать системник, потом этот системник разобрать и комплектующую переставить в другой. Короче чтоб железо могло двигаться из одного системника в другой и обратно в шкаф-хранилище. У Вас такого найти не смог.
Да, такого нет функционала. И пока не планируется, чтоб не «усложнять».
Добрый день, как снять ограничение на количество в 1000, не получается выгрузить отчет, если наименований больше 1000.
Спасибо.
В файле /controller/client/js/report.js нужно поменять все 1000 на ну например на 2000..
P.S. Если у вас в организации уже больше 1000 единиц ТМЦ, можно подумать и о чем-то боле профессиональном 😉 Ибо я не трус, но я боюсь (с). Пока вы второй кто в «потолок» уперся 😉
В файле /controller/client/js/report.js нужно поменять все 1000 на ну например на 2000..
P.S. Если у вас в организации уже больше 1000 единиц ТМЦ, можно подумать и о чем-то боле профессиональном ? Ибо я не трус, но я боюсь (с). Пока вы второй кто в «потолок» уперся ?
Как изменить размер штрих кода ?
Как сделать что бы он выводил не EAN13 а CODEBAR ?
Покопайся в ean13.php