Shoemaker without shoes, or accounting equipment in the it Department. Part I

the people there are wonderful phrase, "the Shoemaker without shoes." She fully describes the situation in which there are it departments of organizations and companies. People who help others to solve problems with technology, fix software errors, to recover the hardware and software, trying to restore order and to instill a culture of work with the equipment and software themselves can not put things in order at home! What will be discussed? About sore... records of equipment and everything connected with it. I think You will be interested to hear about how we did the accounting system designed for it departments, still Habr one of Russia's largest IT communities.

It all began back in 2009. I have held the position of senior programmer and together with the head of Department, we started to think how to make our lives better. The state contained about 10 of generalists, 5 programmers and 2 system administrator and head of Department and senior programmer — Your humble servant.
Accounting for equipment, whether we like it or not, is an integral part of any it person that is associated with the iron. Of course, that when You have three computer this should not not what to say, and even think, because everything is clear what and how much :) But the trouble is, if the computer begins to grow, and with it grows and the number of it people, the mind to retain information is not real, and may just do not know about something, if it wasn't you. Here are some examples:

Case 1. The accountant turns to the head of the it Department.
Accountant. Tell me, please, I does not print printer would not be able to tell my guys that if they came and changed the cartridge?
The head of it. Now. Hang on the handset. (voice-over: Vova, we have cartridges? the answer is over: No, no. Over... )
The head of it. Uh. Mar Ivanovna, you know, we ran out of cartridges...
Accountant. Why not buy earlier that stock was? A primary me to print it, customers are waiting!
The head of it. Well...
...

Case 2. Head of it Department refers to the administrator of the computer networks.
The head of it. Since you took the supplier of additional memory, which promised to put the Deputy?
Admin. No. We have not paid...
The head of it. How? A week ago I promised him that today will deliver... Why not pay for?
Admin. Uh. Well... I forgot... a lot of Work, just can't remember...
The head of it. Do you want to go with you today will take to the Deputy Director, you will tell?
...

Case 3. System administrator refers to the technique of computer networks.
Sysadmin. Hey, what happened to the system unit, which with the two screws in the RAID? Before he stood beside Ivanova.
Techniques. So she quit...
Sysadmin. And computer what happened?
Techniques. I don't know... Probably put someone.
Sysadmin. ?!
...

Familiar situation? All right, we are also faced with this. We are not the first, and I think we did not last. All of these cases, as a rule, permanently ruining the reputation of it-schnick, and not because we want to. As it turns out. We have the magic wand to fly and "make it work".
We head decided to proceed with development of their system, which could be applied in our conditions. The organization is large, would like to see a solution to our problems, some of which were quite specific and did not fit into the framework of existing software similar direction.
As development platform we chose 1C: Enterprise. Wait, wait... I Foresee that after these words, begin the cries of "Orthodox" about 1S :) For many programmers at the mention of 1C: Enterprise, immediately comes to mind the most obnoxious accountant in the organization who are not happy. I'll try to explain why 1C.
the
  • 1C — it's not just accounting, it is primarily a platform used for the implementation of accounting and analytical tasks
  • the
  • 1C modifierade easily and make changes according to Your requirements and wishes. Relatively speaking, I need here's a printed form that is signed by the employee after the transfer of the equipment. How to get it? Here it is all is solved very simply. If You are familiar with 1C, you quickly will understand, if not, a bunch of examples, you will find the solution.
  • the
  • Additional functionality that is not provided by 1C, are easily realized by using an external component that can be written in C++ or Delphi. In particular, we did insert screenshots in the 1C subsystem Service Desk
  • the
  • the Latest trends in 1C, such that the system itself is actively developing in the direction of the WEB. Ie configuration, can work through a WEB browser. Agree, it is very convenient.
  • the
  • the Speed of development is much higher than using other development tools. In simple words, 1C is a "layer" between the database and the user that manages all metadata and its internal language.

  • You can continue, but the choice came exactly from all of the above.

    project Implementation


    Thus, the system is selected. Began development. The first thing we decided to close the hole called "inventory control". Because very often suffered because of this "bottleneck".
    First of all was elaborated the technical part. Decided how it wants to see and have developed a method of operation of a subsystem of storage path.
    I wanted to make a "perfect" program. To make it simple but at the same time very functional and very comfortable. After all, we were supposed to use it in work.

    For the suffering is a screenshot of the configuration:



    About how we have implemented circuit inventory I'll discuss in this article.

    Let's start with the main and fundamental for the warehouse (storage location). In our configuration, the equipment is "attached" to the place of storage, and this storage location is fixed employee. I.e. in the configuration of the implemented link:

    the
    Equipment <-> storage <-> Employee.
    

    There are two naming schemes invented by us in the context of our decision and the most optimal from the point of view of simplicity and convenience.

    1) Impersonal.
    Create a storage location buch1 in the organizational structure. To create a structure you can drag and drop storage location to another storage location and it will be subordinate. This is useful if you want to scatter all through the rooms, floors etc.
    I.e. in the tree warehouse will be something like that.
    the
    Organization, LLC
    --Accounting
    ----buch1
    ----buch2
    

    When an employee is dismissed simply change responsible and all. Nothing floating structure storage does not change.

    2) For employees.
    I.e. the structure is like this:
    the
    Organization, LLC
    --Accounting
    ----Ivanov Ivan Ivanovich (buch1)
    ----Petrov Petr Petrovich (buch2)
    

    This scheme is convenient because you can not bind employees. The name of the store, and so it is clear who is carrying the equipment.

    What kind of plan You choose, that is Your choice.

    It also supports a hierarchy of storage locations. I.e. one place of storage can contain several others, for example:
    the
    Warehouse it Department
    --Shelf 1
    ----Cell 1.1
    ----Cell 1.2
    --2 shelf
    

    Here's how it looks:


    Just had to solve the following problem...
    We all know that computer equipment is made up of different components — components. Sets are objects that are composed of parts and kits can be both virtual (workstation, system unit, etc.) and very specific (server rack, printer, etc.).
    Discuss and give examples of how this is implemented in the configuration.
    In our solution there are two concepts: nomenclature card and nomenclature. You may ask: why do two directory component if we have one? A reasonable question.

    The fact is that often we want to see where it was one or the other nomenclature, where she was repaired whether whether the inventory number, etc. But also, we have a lot of similar content: the same printers, monitors, system units motherboard. If everything is kept separate, one reference, then after a while we will get the nomenclature mess of identical names and it is impossible to navigate in this. This stage passed us back in 2009... Then we came up with a concept that is relevant to the present day.

    Was divided all by 2 of the Handbook: nomenclature card and nomenclature. The item contains a model component, and the card itself is a component with the inventory number, history, etc.

    To make it clear here is an example:
    Item: 2107
    The item card 2107 А123АА 99 RUS

    In the documents choosing the item (a model component or Assembly), we choose the card, but choose not the entire list of cards, and selection for the item:
    Sample card item


    Everything is quite simple and not confusing.

    As mentioned above: the sets are objects which consist of components. Configuration to work with them just as easy. In the figure, as indicated above kit is the "PC # 256" in it, contains other components. In order to make completing this kit, you need the mouse to drag a component to the kit.
    The same configuration is possible not to be in the cards. This is true for some sort of special accessories and consumables. For example: network cable, mouse, keyboard, etc Information about where they were one or the other mouse, we often don't need.
    Item and item card
    is the item. For added convenience, many of the key features. However, it is better to see everything with your own eyes:



    And this is the card item.



    For software and licenses form a little different:



    In the configuration, it is possible to control the license and the expiry time.

    As documents, posting of goods, we have:
    the
    the Ordering provider <-> Admission
    

    The receipt can be entered on the basis of the order to the supplier and without it. In this work, that we booked and arrived. I.e. at any moment we can say that ordered from the supplier, that came into the warehouse and what else not. Allows you to control orders.
    Order supplier and Receipt
    the Ordering provider. Intended for fixation of intent to purchase the equipment.



    The flow captures the actual arrival of the equipment to us.



    And here is a comparison of what came with what was ordered.



    In the receipt, as seen from the picture in the spoiler above, the equipment data is captured in the most understandable form. In the tree view that in what is included.

    Go ahead... What operation next in importance? True, moving from one storage location to another.
    I've been thinking how best to implement because it often happens, especially in holdings issue of internal displacement. What do I mean? Suppose there are two firms that are part of holding company, and You work it person here and there. Then suddenly the print cartridge in the printer of one firm ends, and urgently needs than to replace it, but at the moment the cartridges in this firm, there is on the remains of another firm. From the point of view of accounting it is impossible from a single firm to transfer the cartridge to another, but often in management accounting this rule is violated. For these purposes, the document "Moving" we slightly altered. Maybe useful and it has paid off.

    As you can see there is an organization of the parish and the organization of consumption. Again, from the point of view of accounting is not true! But in real life everything happens...

    Well, where do without "write-off"? This document will allow you to write off balances on equipment that is not suitable for further use.
    Cancellation


    In fact, why us this news? The answer is obvious: we want at any time to see what still we have to balance and quickly respond. In fact, because of this, we and we make all the accounting. Details of the balances will give us a report:
    inventory/jobs


    In the report, you can choose the option that allows you to see not only the remains, but to form a statement on the equipment during the period and to see what was at the beginning of the period it was that moved or cancelled, and that at the end of the period left. The report contains many selections that will allow you to filter the results in the report. For example, to select only the place of storage, or only to the employee.

    It is clear that this report is not one, there's more, we will give only it.
    Comment on another important point which should be required in any such system is an Assembly (kitting), splitting the set. I.e. Assembly and disassembly of sets.
    Build (package)


    The split is similar. Only allows you to split a kit, for parts.

    Just like any other warehouse from time to time it is necessary to conduct the audit or inventory. It is as we envisaged. The configuration allows for a "slice" of the equipment at the specified date and compare the actual credentials and the remnants of equipment.
    Inventory


    Opinion


    Of course, this is not all that I can tell. In this article, I have tried to select key documents and reference configuration of subsystem "Inventory accounting". Behind the scenes left a lot of interesting and useful for it people, for example:

    the
      the
    • Combining components in one set
    • the
    • data Import from Everest (AIDA 64) and WMI
    • the
    • Using advanced object properties
    • the
    • Attaching files to objects
    • the
    • LLS and software
    • the
    • Work with bar codes and print labels for kits and components
    • the
    • retention of employees for storage
    • the
    • maintain a list of usernames and passwords of users for the software
    • the
    • ...


    To summarize. Get a program, allowing to simplify life the it Department and service providers. Tested on myself and hundreds of satisfied customers who we had since 2009.

    Here in General that and all. 've tried to cover all possible configurations in the part bin path. Interested in details? Welcome to our website.

    PS: If the publication You enjoy, I will continue the description and talk about the other subsystems, which are implemented by us: Service Desk, knowledge Base, Repairs, Budgets, Cash etc.
    Article based on information from habrahabr.ru