CompBase
РАБОТА С ПРОГРАММОЙ COMPBASE

Описание программы CompBase, основы работы с базой данных электронных компонентов.

О программе CompBase

Версия
1.17
Дата
21.04.2021
Автор
Матяш А.В. (a.mat.nosp@m.iash.nosp@m.@sete.nosp@m.l.pr.nosp@m.o)

CompBase – это база данных электронных компонентов. Она создана для учета имеющихся на складе резисторов, конденсаторов, микросхем, в конце концов, и прочей ерунды, которую собираются смонтировать на плату, но еще не поставили. В моем случае изначально это было 3-4 картонных коробки с пакетиками всякой мелочевки, рассованной кое-как. Потом я их попытался упорядочить и получил уже с десяток разных по величине и заполненности коробок. Через год пакетики с резисторами и конденсаторами стали вылезать из коробок, заполнив весь отведенный им объем, а еще через полгода на рабочем месте был организован стеллаж, и была сделана первая база для учета всей накопившейся мелочевки. Изначально я записывал все в ексельку. С годами табличка пухла, раздувалась, стала тяжеловата и неповоротлива. К тому же, с некоторых пор, всей накопленной базой стал пользоваться не я один – кто-то смотрит в нее, проектируя новое оборудование, кто-то вносит изменения, монтируя уже разработанное, кто-то заказывает недостающее. А общий доступ к ексельке это нечто. В общем, момент настал и я решился – перевел все электронное хозяйство на новые рельсы. В качестве основы выбрал SQLite. Поддержка этого движка встроена в QT и не требует дополнительных заморочек при разработке, база данных не требует сервера, что тоже удобно, и общий доступ к файлу базы по локальной сети при всего-то 5-10 пользователях не есть проблема. Так что проект вышел не тяжелый – один файл с базой в расшаренной по сети папке, и программка-клиент, установленный на компьютере пользователя.

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

  • Заносить новые компоненты;
  • Быстро находить уже записанные;
  • Редактировать записи;
  • Добавлять и просматривать документацию к записям;
  • Вести историю прихода/расхода компонентов;
  • Видеть точное количество компонентов на складе;
  • Загружать списки компонентов, используемых в проекте.

С версии 1.14 учет количества компонентов ведется по системе СРЗ (Склад-Резерв-Заказ).

Основные понятия

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

Администратор базы данных

Концепция базы данных нацелена на небольшие коллективы, где все друг друга знают и работают дружной командой. Файл базы данных лежит в локальной сети в общем дуступе и на доступ к базе данных не нужен пароль. Тот же подход применим и к управлению базой данных. Самый заинтересованный участник команды начинает учёт компонентов - он автоматически и становится администратором базы. Все остальные подключается уже к имеющемуся ресурсу и помогают, чем могут. Итак:

  • Администратор это человек первым установивший базу данных в локальной сети.

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

Администратор может передать права управления базой любому зарегистрированному пользователю через диалог Информация о Базе Данных. Вызвать диалог можно из меню База/БД Инфо.

Пользователь базы данных

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

Начало работы

Установка

Программа скачивается с сайта hawkit.ru в виде архива. Разархивируйте содержимое архива в любое удобное место на жестком диске. Запустите программу клиента базы данных CompBase.exe. При первом запуске программа создаст пустую базу в папке по умолчанию C:/CompBase/, а так же файл настроек CompBase.ini в папке с программой. После этого последует запрос на установку имени пользователя. В последствии имя можно будет изменить через пункт меню База/Имя пользователя.

Предупреждения
Если база устанавливается впервые и вы не планируете перенастроить клиент на уже имеющуюся в локальной сети базу данных то запись имени пользователя имеет особое значение. Пользователь с данным именем будет записан в базу как Администратор базы данных и изменить его будет затруднительно, хотя и возможно.

Для доступа к файлу базы данных других пользователей по локальной сети, разрешите Сетевой Общий Доступ к папке C:/CompBase/ и не забудьте разрешить изменение файлов папки по сети. При установке клиента базы данных на другие компьютеры локальной сети, зайдите в файл настроек и измените путь к базе данных

dbFileName=C:/CompBase/CompBase.db

на сетевой путь вида

dbFileName=//dbComputer/CompBase/CompBase.db

Здесь dbComputer имя компьютера с установленной базой данных, открытой для общего доступа.

Заметки
Папка базы данных C:/CompBase/ может быть изменена на любую другую в файле настроек CompBase.ini.

Обновление программы

Проверить наличие обновлённой версии программы можно на сайте hawkit.ru. Скачав новую программу извлеките содержимое архива в папку с программой и согласитесь на замены файлов. Файлы настроек не входят в комплект поставки, так что все ваши настройки останутся сохранёнными. Если возникнет необходимость вернутся к настройкам по умолчанию - удалите все файлы с расширением ini из папки с программой. После установки новой версии и запуска программы, база данных будет также обновлена. Таким образом, если вы приняли решение о переходе на новую версию программы клиента, достаточно обновить программу только на одной из машин локальной сети. Остальные пользователи обязательно узнают об этом решении :)

Предупреждения
Перед обновлением программы сделайте резервную копию базы данных - заархивируйте файл CompBase.db.

Заполнение базы данных

Для внесения данных о комплектации, имеющейся на складе, выполните следующие действия:

  • Выберите пункт меню База/Добавить компонент или пункт контекстного меню Создать для вызова диалогового окна Редактор свойств компонента.
  • В открывшемся Редакторе свойств компонента выберите группу, к которой относится создаваемая запись.
  • Заполните поля, характерные для выбранной группы.
  • Нажмите клавишу ОК для подтверждения ввода данных.
  • После нажатия на клавишу ОК редактор будет закрыт, а в строке поиска будет введено название нового компонента. Строка компонента будет видна в основном поле программы. В окне Учет появится таблица учетных записей нового компонента, что позволит сразу вводить данные о поступлении на склад.

Настройка программы

После первого запуска для настройки становятся доступны:

Подробное описание настройки можно найти в соответствующих описаниях.

Основные операции

Поиск записей

Для поиска записей в базе выполните следующией действия:

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

Клавиша Esc поочередно снимает условия поиска.

Добавление и просмотр документации

При разработке новых устройств часто приходится обращаться к документации на электронные компоненты. Документы скачиваются из интернета, сохраняются в правильную папку и ... теряются. Попытки структурировать сотни pdf файлов по типам или по проектам удобства не добавили. В результате было замечено, что многие, кто пользуются базой данных, находят нужный компонент, переходят по поисковой ссылке на DigiKey и скачивают pdf-ку. Причем не важно, скачивалась ли она ранее. Просто так удобно! Попробую предложить еще более удобный вариант.

Начиная с версии 1.15 в программе появилось поле добавления и просмотра документации. Открыть его можно из меню Вид/Панели/Документы. В нем отображается список документации, относящейся к выбранной записи. Каждая запись представляет собой ссылку, нажав на которую, вы откроете находящийся по этой ссылке файл. Для добавления документов к выделенной записи достаточно просто перенести один или несколько файлов прямо на панель Документы. Также можно воспользоваться пунктом контекстного меню Добавить. Добавлять можно что душе угодно - pdf, текстовые, графические файлы, схемы Альтиума и так далее.

Все документы в базе лежат в единой папке рядом с файлом базы данных. Предполагается, что добавляемые документы будут иметь уникальные имена, соответствующие типу компонента. Иногда один документ описывает сразу серию устройств (микросхем, резисторов и т.п.). В этом случае файл с одним и тем же именем может быть добавлен в базу несколько раз для разных записей. При таком добавлении программа предложит пользователю выбор: заменить имеющийся документ новым, оставить уже имеющуюся версию файла или отказаться от добавления, переименовать файл и добавить его под другим именем.

Для удобства к каждому имени файла можно добавить комментарий с помощью соответствующего пункта контекстного меню.

Печать/Сохранение текущей таблицы

Результат поиска по базе данных, выведенный в таблицу, можно вывести на печать или сохранить в виде документа.

Печать/Сохранение таблицы

Работа со списками

Программа поддерживает загрузку списков поиска. Это бывает удобно для выбора всех компонентов, используемых в проекте. Созданный список можно использовать для проверки наличия компонентов на складе и при необходимости для заказа недостающих. Формат списков на данный момент несколько специфичен, что обусловлено используемым мною ПО, и будет развиваться по мере необходимости. Программа позволяет загружать списки в текстовом формате с расширением txt. Для этого выберите пункт меню Файл/Загрузить список.

Каждая строка файла соответствует одному поисковому запросу и имеет вид:

зав_номер номинал.......................... n шт. //комментарий

Состав строки:

  • зав_номер – строка запроса поиска по полю Заводской номер (возможно не точное соответствие а только первая часть зав. номера);
  • номинал - не обязательное поле с номиналом компонента;
  • .. – (две и более точек с пробелом в конце) – разделитель между полями;
  • n шт. – комментарий содержащий количество компонентов, используемых в проекте;
  • комментарий – любой текст отделенный двумя наклонными чертами.

На каждый поисковый запрос, не нашедший в базе четкого соответствия (ноль соответствий или более одного), выводится диалоговое окно Выбор компонента. В шапке окна содержится исходный запрос. В графе Заводской номер этот же запрос с возможностью его редактирования. Результат поиска по данному запросу выводится в таблице в основной части диалогового окна. Подправьте запрос так, чтобы в результатах поиска осталась всего одна строка, или скопируйте в графу поиска заводской номер, содержащийся в базе (основное окно программы в это время остается доступным для работы с базой, выбирайте нужный тип, ищите компонент и копируйте зав. номер в графу поиска диалогового окна). Если компонент еще не внесен в базу, его можно внести, нажав кнопку Добавить компонент в базу, при этом откроется стандартное окно редактирования компонента. Исправив запрос, так чтобы в результате поиска осталась только одна строка, нажмите кнопку ОК. При невозможности найти однозначное соответствие просто закройте диалоговое окно – запрос будет проигнорирован. Найдете соответствия для всех компонентов. В результате вы увидите в основном окне программы список компонентов, содержащихся в базе, соответствующий списку запроса. Загруженный и откорректированный список можно сохранить для дальнейшего использования с помощью пункта меню Файл/Сохранить список. Последний загруженный список доступен для просмотра в группе Order поискового запроса до окончания работы с клиентом базы или до очистки списка (пункт меню Файл/Очистить список или клавиша Esc).

Начиная с версии 1.14 загружаемый список отображается в дополнительном окне Список, где его можно подправить перед сохранением. Загруженный список можно списать из базы, добавить в базу, зарезервировать или отметить как заказ, выбрав один из пунктов контекстного меню. При этом пользователю будет предложен диалог выбора количества списываемых комплектов компонентов. При некоторых операциях в диалоге могут быть предложены дополнительные действия. Подробное описание выполняемых операций, а также логику выбора дополнительных операций можно найти в разделе Таблица учетных записей.

Дополнительное окно Список может быть закрыто пользователем. Для открытия данного окна воспользуйтесь пунктом меню Вид/Панели/Список.

Сводка о компоненте

Внизу под списком компонентов находится строка сводной информации о компоненте. Пока ни один компонент не выбран строка остается пустой. Вберите один из компонентов, щелкнув по нему левой клавишей мыши, и в строке под таблицей появится сводная информация. В сводку входит название компонента, расшифровка номинала для резисторов, конденсаторов и индуктивностей, а так же название коробки (место на складе) в которой хранится данный компонент.

Таблица учетных записей

Для каждого компонента в базе данных выделена отдельная таблица учетных записей, содержащая подробную историю об использовании данного компонента. Изначально в таблице содержались записи только о поступлении на склад и списании со склада. С версии 1.14 данный вид таблиц был доработан для использования системы учета СРЗ.

Доступ к таблицам учетных записей реализован через дополнительное окно Учет. Данное окно активизируется при выборе одной из записей в основном поле программы. При этом в строке Зав. номер окна появляется номер выбранного компонента, а в основном поле окна появляется список учетных записей.

Над таблицей учетных записей расположен ряд кнопок для добавления новых записей и кнопка настройки окна. Кнопки добавления операций позволяют выполнить следующие действия:

  • Пополнение склада - позволяет отметить поступление определенного количества компонентов данного типа. При наличии не закрытого заказа, программа предложит снять заказ, в размере, не превышающем имеющийся заказ;
  • Отгрузка со склада - позволяет отметить списание определенного количества компонентов данного типа. Программа не даст ввести значение, превышающее фактическое количество имеющихся компонентов. При наличии не снятого резерва пользователю будет предложено снять резерв, в размере, не превышающем имеющийся резерв;
  • Резервирование под проект - позволяет зарезервировать некоторое количество компонентов под будущий проект. Это полезно для учета компонентов, которые еще находятся на складе, но будут отгружены в ближайшее время для монтажа некоего проекта, то есть не являются доступными для новых разработок. Количество резервируемых компонентов не ограничено, так как резервирование возможно в счет будущих заказов;
  • Заказ компонентов - позволяет отметить заказанную комплектацию, что удобно при оценке доступности компонентов в ближайшее время. Заказанные комплектующие учитываются при вычислении параметра Ожидается;
  • Снятие резервирования - позволяет отметить переход компонентов из резерва в расход или просто снятие резерва;
  • Снятие заказа - позволяет отметить переход компонентов из заказа в поступление на склад или просто отмену заказа.

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

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

Под таблицей учетных записей расположены основные и дополнительные параметры учета СРЗ.

Начиная с версии 1.14 таблица учета прихода/расхода компонентов вынесена в отдельное окно Учет. Дополнительное окно Учет может быть закрыто пользователем. Для открытия данного окна воспользуйтесь пунктом меню Вид/Панели/Учет.

Редактирование записей

Для редактирования записи, содержащейся в базе данных, выполните одно из следующих действий:

  • Вызовите контекстное меню, нажав правую клавишу мыши на нужном компоненте и выберите пункт Редактировать;
  • Или дважды щелкните левой клавишей мыши на нужном компоненте.

Откроется окно Редактора свойств компонента. В редакторе свойств сгруппированы записи о компоненте. Измените нужные поля окна. Нажмите кнопку ОК для того, чтобы изменения вступили в силу. Если в процессе редактирования было изменено поле Заводской номер, то после нажатия кнопки ОК будет создана новая запись с новым заводским номером, старая запись при этом изменена не будет.

Переименование записей

Для переименования компонента выделите его и вызовите контекстное меню правой клавишей мыши и выберите пункт Переименовать. Откроется диалоговое окно, содержащее строчку с текущим названием компонента. Измените его и нажмите кнопку ОК. При этом изменится название (Заводской номер) выбранного компонента. Вся прочая информация, включая историю расходов, сохранится.

Удаление записей

Для удаления записи выделите ее и вызовите контекстное меню правой клавишей мыши и выберите пункт Удалить. Откроется диалоговое окно подтверждения удаления. Нажмите кнопку ОК для удаления записи о компоненте из базы.

Импорт данных

Импорт данных в базу данных доступен только администратору базы. Программа поддерживает импорт данных в специфическом формате, порожденном екселем. Откройте меню Файл/Импорт и выберите импортируемый файл. Для импорта принимаются текстовые файлы с расширением txt. Заголовок файла должен в точности совпадать с одним из типов, указанных в поле выбора типа компонента. Именно под этим типом и будут занесены новые компоненты в базу. Назовите файл All.txt и компоненты запишутся без типа. Каждая строка файла соответствует одной новой записи в базе данных и содержит поля, соответствующие данному типу компонентов (посмотреть их вы сможете в шапке таблицы, открыв программу и выбрав нужный тип). Последним полем должно быть количество. Разделителем между полями одной записи является табуляция. Если в вашей ексельке не хватает каких-то полей, вставьте пустой столбец – при импорте поле останется пустым. Лишние поля с конца будут отброшены.

Начиная с версии 1.17 появилась возможность подстроить базу под импортируемую таблицу. Для этого нужно на время выполнения импорта отредактировать представление таблицы, соответствующее импортируемым данным. Если каких-либо полей нет в базе данных их можно добавить. Порядок полей можно откорректировать сдвигая поля влево и вправо. Лишние поля можно скрыть на время. После выполнения импорта представление таблицы можно снова изменить при необходимости.

Журнал событий

Файл базы данных содержит историю действий производимых с записями базы. Для входа в режим просмотра журнала выберите режим Журнал в поле выбора режима. В журнале записываются события создания, редактирования и удаления записей о компонентах, с пометкой о времени и пользователе, совершившем данное действие. Это бывает полезно, чтобы не забыть когда кто и сколько плат монтировал, или занес ли в базу изменения об использованных компонентах. В базе работает поиск по всем полям. Для выхода из режима просмотра журнала выберите режим База или просто нажимайте клавишу Ecs (если строка поиска содержит запись, по первому нажатию Esc она очистится, а только последующее нажатие выведет программу в режим поиска по базе).

Информация о базе данных

В файле базы данных содержится информация о самой базе. Посмотреть информацию можно выбрав пункт меню База/БД Инфо.

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

Так же здесь можно посмотреть информацию об администраторе базы данных (кто первый клиента в сети запустил тот и администратор :) и предприятии – владельце базы. Здесь же указан маркер файла базы (задел на будущее). При необходимости измените доступную для редактирования информацию и нажмите ОК.