вторник, 29 марта 2016 г.

Начало

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

    Система называется Soldun. Просто понравилось сочетание. Можно использовать как слово, можно каждой буковке или нескольким слово сопоставить. Можно поупражняться в расшифровках, кому хочется. А я буду использовать слово. Soldun или Солдан. И даже Солдун. Неологизм такой.

         В чём отличие от других ? Думается, что простота и эффективность. Простота в использовании, но не в упрощении решаемых задач. Вот три реализованные "Простоты"

1. Простота установки. Её нет. Chrome/Firefox/Edge. И всё.
2. Простой интерфейс. Drag-and-Drop везде, где он возможен в принципе.    
3. Простая система прав. Придётся поверить на слово.

Есть и много другого. Простого и эффективного. Будет показано при описании задач. По мере их решения.

         

суббота, 12 марта 2016 г.

Состав

Ввести состав - это видимо самая первая задача, которую предстоит решить. По пунктам

1. Вводим позицию, состав которой хотим описать в справочник номенклатуры. Выделяем позицию и нажимаем кнопку "Создать компоненты". Этим действием мы связали вариант описания и сам объект, который описываем. 
2. Нажимаем на строчку и попадаем в информационные блоки номенклатуры, где выбираем блок ""Компоненты". В нём уже есть запись. Встаём на неё и выбираем в поле "Связь" значение "Состав". 
3. Нажимаем на эту строчку. Открываются информационные блоки "Коллекции".Перетаскиваем в блок "Компоненты" позиции из справочника номенклатуры или из любого другого места, где есть нужные нам позиции. Для добавленных позиций устанавливаем значение "Связь", "Единица измерения" и вводим "Количество". Если предварительно установить значение по умолчанию для значения "Связь" и "Единица измерения", то вновь переносимым позициям из справочника они будут присвоены автоматически.  
3. Повторяем действия для всех позиций, которые имеют состав. 

Заполнить блок "Коллекции" описываемой позиции можно и вручную (без использования команды "Создать компоненты по выделенным"), Просто перетащив коллекцию из справочника в этот блок.
Самая распространённая ошибка при вводе состава - это внести в описание позиции саму эту позицию.   

Общий вид

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





На закладке «Главная», выводится общая информация о вашем профиле
(сколько у вас введено данных, сколько дней вы в системе, сколько задач в производстве и так далее. На следующей странице приведён перечень задач, находящихся в производстве.


Закладка «Главная» информационная. Призвана показать основную информация в удобном сжатом виде. Но чтобы это стало возможным, информацию нужно подготовить.  Для этого предназначены действия, доступные на закладке, которая так и называется  -«Подготовка».

На закладке «Подготовка» имеются три дополнительных закладки. Выглядит это вот так



Это три справочника, доступные пользователю, - “Номенклатура”, “Коллекции” и “Параметры”.
Справочник «Номенклатура» предназначен для ведения самых разных данных, используемых в производстве. В него заносятся детали и узлы, инструмент и комплектующие, технологические операции и материалы. Всё необходимое и используемое в производстве. Выглядит он следующим образом


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



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


Закладка "Производство" содержит три пункта "Заказы", "График" и "Склад"



Следующая закладка - "Сервис" выглядит следующим образом



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


Параметры

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

Большинство операций по ведению справочника параметров, точно такие же как и при ведению справочника "Номенклатура", точно также ведутся и "Категории и папки". Но есть и особенности. Они приведены ниже. 


       При вводе параметра в справочник, нужно указать не только его обозначение и наименование, как в при вводе номенклатуры, но и указать его тип, как это показано на форме ввода.


        Тип может быть либо "Текстовый», либо это «Число». Текстовый тип это самый универсальный параметр, в качестве значения можно вносить что угодно. Числовой параметр используется тогда, когда над ним планируется выполнять какие-либо математические действия. Кроме всего прочего, система не даст вам записать значение такого параметра, если вы ввели не число, а просто набор символов. 
          Следует заметить, что выбранный тип параметра нельзя поменять в форме редактирования. 



На самой форме такого поля просто нет. 

        Кроме этой особенности есть дополнительная кнопка -  “Использование”, 


которой нет в строке команд "Номенклатуры". Связано это с тем, что для номенклатуры эта информация выводится в отдельном блоке информации, а вот для параметра сделано отдельное окно, так как блоков описания у него нет. 

      Её нажатие выводит отдельное окно в котором указано, где именно используется этот параметр и какое значение он имеет. Вот например так


     Колонка “Место” может принимать значение “Номенклатура”, “Коллекция” или “Компонент” в зависимости от того, к какому объекту этот параметр присоединён. Нажатие на строчке выводит окно, в котором этот параметр и его значение введены. Это может быть блок описания номенклатуры или коллекции или компоненты. Вот например такое будет выведено окно для параметра, использованного для описания размеров заготовки в технологическом процессе изготовления.

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

Импорт

Импорт данных в систему необходим в том случае если эти самые данные есть в удобоваримом виде. Мы не стали делать отдельно загрузку из самых разных форматов а сделали из одного. Самого популярного на наш взгляд. Да. Этот он. Формат Excel. Итак
Первое - нужно озаботься наличием первой строки, в которой прописать названия столбцов. Это

  1. Тип 
  2. Связь
  3. Статус 
  4. Уровень 
  5. Обозначение
  6. Наименование
  7. Количество 
  8. Единица измерения
  9. Комментарий
10. Цена
11. Дата и время начала
12. Дата и время окончания

Тип может принимать значения NMK, COLL, COMP, PARAM, NLINK и CLINK. Более никаких значений не допускается. Включая и пустые.

NMK означает, что производится импорт номенклатурной позиции.
COLL указывает, что начинается описание коллекции,
COMP ставится для компонент. Да. Перед COMP, которых как правило несколько строк, должно быть указано COLL, чтобы система понимали к какой коллекции относятся компоненты.
PARAM указывает на то, что это значение параметра, который относится к тому элементу, который следует перед это строкой. К номенклатуре, коллекции или к компоненте.
NLINK указывает что это значения из блока "Номенклатура", которые относятся либо к номенклатуре, либо в компоненте, либо к коллекции.
CLINK указывает на то, что это значения из блока "Компоненты", которые относятся либо к номенклатуре, либо к компоненте, либо к коллекции.

Связь принимает все допустимые значения из справочника связей.
Статус принимает все допустимые значения статусов.
Единица измерения принимает все значения из справочника единиц измерения.

Вот здесь приведен пример файла для импорта данных.

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


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



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

Импорт закончен. Можно посмотреть его результаты. Значки означают следующее


Импорт проведен, позиция добавлена в справочник.

Импорт проведен, позиция уже была в справочнике и поэтому не добавлена. Это может быть и коллекция и номенклатура. Если не добавлена коллекция, то не добавлены и компоненты с параметрами, как для компонент так и для коллекции.

Импорт не прошел. Как правило это не происходит для параметров по причине отсутствия такого обозначения в справочнике, или была попытка добавления значения параметра в номенклатуру, коллекцию или компонент, куда нет доступа у пользователя,

Показать информационные блоки коллекции, номенклатуры или компоненты. Кнопка появляется справа, при наведении курсора на строку.

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

Остаётся разнести новые позиции по папкам и категориям (если это конечно нужно) и можно работать с новой информацией. 




Приход и расход

Приход и расход - две основные операции складского учёта. Его мы постарались реализовать максимально просто. Но вместе с тем и так. чтобы все необходимые задачи решались на должно уровне. А их собственно три -
1.Откуда что пришло
2. Куда  подевалось
3. Сколько есть сейчас
Собственно все задачи. Все остальные решаются их сочетанием. Или сочетанием с другими задачами. Теперь немного поточнее. Начинается всё с простого - прихода. Это не обязательно приход извне. Это вполне может быть и например первоначальные остатки. В общем то суть простая. Этим фиксируется увеличение количества каких-либо позиций. Как оформляется приход. Очень просто. Создаётся коллекция со связью приход, а в её компоненты заносится, то что собственно пришло. Всё. Да. Чтобы факт прихода система зафиксировала, статус у этой коллекций должен стать "Завершено".

С расходом всё точно также. Создаём коллекцию со связью "Расход" и заполняем в блоке "Компоненты" что вы собственно расходуем. Внешне всё.
Теперь о внутреннем. Это блок "Зависимости". В этом блоке нужно указать, а откуда собственно вы эту позицию взяли, чтобы отдать. т.е. указать из какого именно прихода это взято. Это можно сделать и вручную, просто перетащив нужную компоненты из коллекции "Приход" и блок "Зависимости", а можно воспользоваться командой "+". Добавить в этом блоке. По ней будет создан список из всех компонент, которые имеются с ненулевым остатком по всем приходам. Остаются только выбрать нужный.

После того, как указали что из чего взято остаётся установить статус коллекции со связью "Расход" в "Завершено". При этом будет проверено, что количество которые вы указали, для компоненты имеется в достаточном количестве во всех компонентах по приходу. которые занесли в блок "Зависимости", и ещё ряд проверок. Если они не пройдены, то будет выдано сообщение, а если все хорошо, те статус изменится на "Завершено". Посмотреть текущий остаток, а также движение историю движения позиций в режиме "Склад".

Регистрация в системе

         Чтобы попасть в неё и всё увидеть собственными глазами, нужно пойти на сайт системы. Первое, что вы там увидите, будет такое окно





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



     В нём нужно заполнить все запрашиваемые поля. 

   Имя пользователя может быть произвольным сочетанием букв и цифр не менее 6 символов но и не более 30. И конечно же это имя не должно совпадать с именами других пользователей. Если такое случилось, и ваше имя уже кем то используется, то имя нужно поменять. 

     Пароль должен быть такой, чтобы вы его помнили и он не был уж очень легко подбираем. На его размер накладываются такие же ограничения как и на имя (логин). Не менее 6 символов длиной, но и не более 30. Если эти ограничения не соблюдаются, то будет выдано соответствующее диагностическое сообщение и нужно будет придумать другой логин и другой пароль. 

      Номер приглашения вам предоставит уже зарегистрированный в системе пользователь или же вы можете обратиться за ним, используя контактные данные. Номер приглашения можно использовать для регистрации только одного пользователя. Не следует его передавать кому-либо. Использовать его можно только один раз. 

      По заполнении всех реквизитов и по прохождении данных на соответствие требованиям, предъявляемых системой, следует нажать кнопку «Регистрация». Если всё прошло успешно, нужно будет ввести только что заполненные вами логин и пароль в окне "Вход в систему", а также поставить галочку "Я не робот". Всё. Нажимайте на кнопку "Начать работу" и работайте.
Да. Нажатие на кнопочку "Блог" направит вас на чтение блога разработчиков. 

Расчет стоимости

Эта кнопка позволяет нам провести расчёт стоимости. Конечно же предварительно нужно выполнить команду "Раскрыть" над заказом, С тем чтобы были учтены все входящие узлы и комплектующие, хотя это и не обязательно. Зависит от поставленной задачи. Расчёт проивзодится по следующему алгоритму.
 На основе  дерева заказа, включающего в себя полную информацию как о составе, так и технологии изготовления, а также рассчитанном количестве каждого элемента очень легко считается себестоимость изделия. Всё очень просто. Расчётное количество элементов нужно умножить на стоимость этого элемента. Эта стоимость указывается для каждой компоненты, которые заносится в коллекцию с видом связи “Лист цен”.
Вот таким образом выглядит  лист цен на металлопрокат
А вот так расценки на выполнение операций
Собственно они ничем не отличаются, за исключением самого содержания. В первом случае - это металлопрокат, а во втором - технологические операции. Для металлопроката указана цена за 1 кг, а для технологических операций - что стоимость одного часа. Следует заметить, что если в построенной заказной спецификации указана цена для какой либо компоненты, то в расчёт берётся именно она. А вот если цена не указана, то производится поиск в коллекциях с видом связи “Лист цен” и из них берётся минимальная не равная нулю. Если в поле “Цена” в заказной спецификации остались нулевые значения, то это означает, что она нигде не задана. Можно это задать в “лист цен”, а можно прямо в заказной спецификации. Осталось посчитать итоговую цифру стоимости нашего заказа сложением значения поля стоимость по всем компонентам. Что собственно система и сделала.
Конечно же и по каждой входящей позиции рассчитана цена. по комплектующим, необходимым материалам на производство, цены на операции технологического процесса, все элементы раскрытого состава. 


Дальше с этим сводным расчётом можно поработать. Например "Создать коллекции по выделенным компонентам". 

Раскрыть


Этот режим позволяет полностью раскрыть состав компонент коллекции. В переводе на простой язык - получить полное дерево изделия со всеми входящими в него узлами и сборочными единицами. Выполняется эта процедура нажатием кнопки "Раскрыть" в списке "Компоненты".

Видимо будет не лишним описать как она работает. Приведём пример как это делается на примере шкафа. Итак
Заведена коллекция, где в блоке “Компоненты”, указано, сколько этих шкафов нужно изготовить. В примере приведена одна позиция заказа. Их конечно же может быть несколько. Самых разных позиций, которые у нас заказали. Но не будем отвлекаться. У нас заказ на 50 шкафов.
Получаем следующую картинку

Остаётся нажать кнопку “Раскрыть”, чтобы коллекция была полностью раскрыта и присоединена к текущей в блоке “Коллекции”, как показано на рисунке.

Выглядит это вот так (ввиду довольно большого объёма, приведем только фрагмент.

Как видно из рисунка мы получили полное дерево изделия. Опишем алгоритм этого построения.
  1. Сначала конечно же создана новая коллекция под названием “Заказ 17_ЗС”.
  2. В блок “Компоненты” занесена строка из блока “компоненты” коллекции “Заказ 17 ”
  3. В номенклатурном справочнике найдена "Ёмкость РВС-2000" и открыты информационные блоки.

Из блока “Коллекции” взята коллекция со связью "Состав", и блок “Компоненты” из него переписан в блок “компоненты” Вновь созданной коллекции. Вот такой состав

  1. Далее по всем вновь добавленным позициям проверяется наличие у них информации в блоке “Коллекции” со связью "Состав". Если таковая имеется, то компоненты из коллекций записываются в заказную спецификацию.




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



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

Диалоги


Режим "Диалоги" предназначен для общения между пользователями системы в оперативном режиме. Обычный чат. Просто удобно.

Вызывается этот режим на закладке "Сервис" нажатием на пункт "Диалоги", как приведено ниже
или же нажатием на небольщой значёк в правом верхнем углу экрана

И в том и другом случае появится окно следующего вида
Экран разделён на три части. В верхней части выводится список пользователей с которыми были диалоги, в средней части - собственно содержание диалогов, а в нижней части находится поля куда собственно вводится сообщение. При наведении курсора на строку в списке появляются доступные команды
При нажатии на кнопку “+” появляется окно, а которое следует вести известный вам логин пользователя.
По нажатии на галочку пользователи появляется в списке ( если конечно такой логин в системе есть). Для общения нужно просто встать на нужного вам пользователя и вводить в нижнее поле ваши сообщения. Для оправки сообщения нужно нажать кнопку “Отправить”.
То что вы отправили пользователю, и то что он ответил вам будет отображаться в средней части экрана.

Для удаления пользователя из списка достаточно нажать на кнопку “Удалить” (-).

Чат как чат. Всё просто. Да. Если вам пришли сообщения, их количество выводится рядом со значком в следующем виде.

Часто полезно, чтобы не пропустить сообщения, которые могут быть важными. 

Приглашения

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


И выбрать пункт "Приглашения". По вхождении в этот режим выводится следующая информация



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

 

на кнопку “+”, которая появляется при наведении на строку в списке приглашений, или же нажатием на пустое поле, когда в списке ещё нет ни одного приглашения. При этом выдается запрос на подтверждение добавления. При положительном ответе приглашение появится в списке и его номер можно скопировать в буфер обмена и передать пользователю, которого вы хотите пригласить в систему. Для удаления приглашения следует нажать на кнопку “-”. Важное замечание - нельзя удалить приглашение, статус которого “Принято”.