πŸ“œ ⬆️ ⬇️

How is that?

- Kolya, are you?

Kohl nearly lost the gift of speech. The event was so unexpected that he did not immediately understand who he was talking to.

- Venya ... Benjamin! Oh fuck up How are you
')
Kolyan got up from his chair, ran up to an old school friend who was standing in the door of the office, firmly shook his hand. A smile clung to her face so tightly that there was no way to remove it.

- How are you, Venia? On a visit to his parents arrived, or what?

- No, I came to live.

- How? Why? You're in Moscow! But what are we worth, come, sit down, tell!

Friends walked deep into a small, windowless cabinet. Kohl spent several minutes looking for a chair for a guest - everything around was littered with devils than. Papers, network cards, some yellow books, twisted pair bays. Finally, the chair was found under the old, semi-disassembled system unit.

- Well, tell me already! - Nick said impatiently, sitting down on his chair.

- Yes, what to tell ... I decided to do downshifting. He returned to his native village, rented a house, on the same street where the parents live.

- Is that Nedopyokin or something? They moved to Muhosransk, I heard.

- Yes, yes, they seem to be. I will live in the village. Clean air, clean food, river, fishing, chicken head.

- Chicken is good, I can not here.

- Why? How can a village without chickens?

- So the poultry farm is the same. Since I work here, I must bring a certificate from the village council that I have no chickens at home.

- What for?

- I understand, I can bring some chicken disease on myself, and tryndets livestock then. But you do not worry, this is only for workers of the poultry farm.

β€œSo am I.”

- What, too?

- I will work at the poultry farm, I have already settled. What do you think I fell for you?

- Seriously?

Kolya, who had just withdrawn from the shock, again fell into a light stupor.

- Yes, you're lying ... What are you doing here? You're a web programmer.

- Web, not web, what's the difference. Got a programmer. I’m not a fan of any framework, I’ll figure out what your code is here. What, by the way? On the dolphi, come on? Or a builder?

- 1C.

- What?

- Well, 1C. Did not hear that?

- I heard that in accounting we had such a program. What is it written on?

- On 1C.

- 1C written in 1C? What are you talking about?

- Not. 1C is both a program and a programming language.

- A program written on itself?

- Well, not really ... How to explain to you.

At that moment the door to the office opened, an aunt of about forty came in.

- Veniamin Vasilyevich, let's go make out. - warmly, in a rural smile, said aunt.

- Okay, Nick, then tell. - said Benjamin, getting up from his chair.

***

- Come on Kolya, show me. How to run the development environment?

- Well, there, configurator.

Kohl took the mouse from Benjamin's hands, launched a yellow label, after a few minutes a long-awaited window appeared on the screen.

β€œOh, oh, how terrible ...” Benjamin shook his head. - Is it possible to develop something else?

- In terms of?

- Well, put a web storm, or netbins, after all. I'm used to them. Will he read the 1X files? Where are they, by the way, let's look.

- Files ... Wait, what for you files?

- How will I watch and edit the source code?

Kolya looked at his friend uncomprehendingly. Then he shrugged, opened the conductor and began to scour the folders. Finally, I found the right directory, which contained a dozen files and three folders. The largest file was called β€œ1Cv8.1CD”, and Kolya stopped there.

- Well, here's a file for you.

- What is this format? Is it packed already?

- This is an information database file.

- In terms of? A database or something? I asked to show you source codes.

- It's all here. And data, metadata, and code, and forms. Everything, in short. In one file.

- Strange ... Okay, how to see it?

- Through the configurator.

- And so it is impossible? - Benjamin took the mouse, double clicked on the file. The operating system said helplessly that it does not know how to open it.

β€œYour mother ...” Benjamin swore, and tried to open the file with a notebook β€” some unreadable crap opened up. - What the fuck, Kolyan? How to read the code?

- In the configurator.

- Damn, yes you got with your configurator! And if I do not want?

- Go analyze computers then. - shrug Kolya. - You're a programmer.

Benjamin paused and looked hard at his friend. Kolya's expression did not betray any emotion β€” the devil knows whether he was joking or not.

- Okay, give your configurator. How is that?

***

- Kolya, what is a document in 1C? Instructions what? Or a passport?

- What? Why do you want it?

β€œAccounting said that ... Right now.” - Benjamin opened the notebook, leafed through. - Here. Batch processing of documents does not start. What is this? Do they passport passports?

- Not. - smiled Kohl. β€œA document is such a thing ... How to explain to you ...”

- Well, try it somehow, I'm not stupid.

β€œRight now, remember what it's called ...”

Kohl thought for a few minutes, then opened the browser and began to search for something.

- Well, what is it, Kolyan?

- Right now, right now, wait ...

A few more minutes passed. Benjamin patiently waited for his friend, sometimes sighing heavily, as if indicating his presence.

- Here. - Kolya finally said. - The document is ... In short, it is a lot of things. On the one hand, these are database records, in different tables there are different documents. On the other hand, a document is an object if it is read from the database.

- Wait, is it like - and record the database, and the object? Right in the database to work with him, or what?

- Not. While it is in the database, it is a reference document. When you read it in RAM, it becomes an object document. And there is also a document manager and a sample document. These are all different objects.

- Damn, it is impossible that there were different names to give ...

- It seems that everything is clear. - smiled Kohl.

- What is his physical meaning? What is it all - a document?

- It seems like the registration of the fact of economic activity. Some kind of event, in short.

- In the sense of an event? How event?

- Well, sort of. A chicken was born - one event, a chicken died - another event, a chicken was cut - the third event, food was brought - another event, given out pay - also an event.

- Event real life? - smiled Benjamin.

- Well, sort of.

- Understood, poking around. And the properties, methods that he has?

- Different for each. Look in the configurator, see. The properties are called details, there are still tabular parts.

- This is what?

- Well, can an object have table properties? The list of goods for shipment, for example.

- They can.

- This is the table part. There are predefined properties, as they are called there ... And, standard details.

- Is it like - predefined properties?

- Right now ... - Kolyan thought for a few seconds. - Type inherited, in short.

- What class?

- From one big, common, which is called documents. Vaughn, a branch of "Documents" in the configurator you see? In the metadata tree.

- Yes I see.

- This is the "Documents" class. He has properties and methods. Date there, number, held, link ...

- done? Who is where?

- Document posted.

- Damn, right now my brain boils. What else is done?

- How can I explain ... Well, they drive in the arrival of feed into the system, through the document. Then write down.

- Well, I understand that. Recorded - all the data in the database. Or not?

- Yes, in the database, but not all and not everywhere. A document not submitted is a type of a blank that is not reflected in accounting. Until you catch, no one will see the arrival of feed. This is like ... Damn ... In short, when you drag a document, the handler code is executed, and the data goes to different places.

β€œWhat other places?” One table is not enough, or what?

- Not. Well, the arrival of feed - at least two tables. And the feed came, went to the warehouse, and the settlements moved.

- What?

- Well, the money we have become a supplier of feed.

- That is, the goods fall into one table, and the debts - into another?

- Well yes. There are more provodki, VAT, purchases separately, and so on. But did you understand the principle?
- Principle yes. And what is the provoking? Is it some sort of slang? Do you call provodki? Where do feedstuffs come from?

β€œThese are not wires, but wires.” Accounting term. Debit, credit, accounts, balance, off balance ...

- Stop stop stop! - Benjamin raised his hands, as if giving up. - Too much information. Let's eat the elephant bit by bit.

- As you say. - Nick shrugged and turned to the computer.

- Wait, Kolya. - Benjamin felt a little awkward, so rudely interrupted the patient explanations of a friend.

- Yes what?

- If you go back to the property "held." You said that holding is the execution of code that fills in additional tables, right?

- Yes, so.

- And the property itself β€œheld” is of a boolean type, right?

- Yes.

- Should it be installed separately? After executing this code?

- No, it will be cocked.

- That is, as?

- Well, like this. It is of type calculated. The document is completed, that is, all the handlers have been executed, the property is set to true. It is like a property, and at the same time - like a state, or something.

- And, sort of state? As in the components of the reactor?

β€œI don't know what a reactor is ...”

- Okay, drove ... Thank you, Kolya!

***

β€œYes, stupidity knows no limits ...” Benjamin smiled, looking at the monitor.

- What again? - Nick asked a little embarrassed.

- Why, look at this table, how it is there ... Register of accumulation.

- Well, why?

- I added two fields, look - product and quantity. I look - and there still appeared the period fields, the recorder and the type of movement. Well, I can understand the period and the registrar - when and who, what document did I write here during the meeting. And the kind of movement what for? What the hell is this?

- Arrival or expense. Do you have a savings register?

- Yes.

- Here you go. Receipt entry replenishes it, consumable - it empties. Something like this.

- Wait, what's the point? After all, there is the field "quantity". Is it possible to do something like this: if the quantity is positive, then this is a return, and if negative, then an expense? And the balance then is the sum of the quantities. Just the same!

- And how are you going to do?

- What to do?

- Well, reverse the documents.

Benjamin frowned, turned away from Kolya, and looked at the computer. Quickly opened the help, flipped through something.

- What a storno? Is this a property or method? In the help there is nothing like that.

- Well, this is not technical, but methodical. Cancel a document.

- Why is the cancellation of the document is called reversal? I mean, why would this operation be called something else? Can't you just delete the document?

- No you can not. Well, that is, if you did it yesterday, you can. And if a year ago - it is impossible. Reporting has already been submitted, the numbers should not change. Therefore, the document is reversed.

- Sounds ominous. - smiled Benjamin. - What does this mean something?

- Do exactly the same, only in the registers all the numbers are written with the opposite sign.

- In terms of? With a minus, or what?

- Well.

- Minus five tons of feed?

- Yes.

- So it's just an expense, isn't it? Plus five - the arrival, minus five - consumption.

- Not. If you have plus five and minus five, then there will be both figures in the reports. One - in the flow column, the other - in the ward column. It was as if we bought five tons of feed, and then they were left somewhere - fed the hens, or eaten themselves.

- Or shizdili. - smiled Benjamin.

- Well, in general, yes, in this case, too, the expense will be, in the debit of 94 accounts.

- Damn, Kolya, please do not start again about invoices and transactions ...

- Okay. About the income and consumption understood?

- Not really. Well, the expense can not be done, it will hang in the reports. And how then?

- Reversal, negative arrival.

- And what is better?

- The fact that you have two entries - the arrival of five and the arrival of minus five. Summing up, we get zero. In the report, in the ward column, there will be zero. More precisely, of course, nothing will happen - the virtual table will not issue any entries at all. As if there was nothing.

Benjamin thought. Eyes ran from side to side, giving a mad mind work. Kohl, not wanting to dominate his friend with his close attention, turned to the computer. Benjamin took a piece of paper, began to draw some schemes with numbers.

- So, okay. - finally said Benjamin. - It seems I understood about storno. But I did not understand why she nevertheless added the field of movement to the register in me.

- And how would you otherwise distinguish a normal return from reversal? How will your scheme with positive and negative amounts work?

- Well, how ... - Benjamin hesitated. - A positive amount - the arrival, a negative - consumption ...

- Is it possible?

- If the arrival of the parish, it is also negative ... Wait ...

- Well, got it?

- It seems, yes ... It will look like a normal expense. And it will not be possible to distinguish the expense from the negative income. Well your mother ...

- What?

- Yes, some kind of crap! I feel like a moron. As if not working as a programmer, but working as an accountant. Are you not dumb?

- I don’t know, I’m used to ... This is 1C.

- Well, what, what 1C? What for a programmer to know about reversal, accounts, and all sorts of costs there, VAT, NDFL, KUDIR and so on? Isn't it possible to do all this in a more abstract way?

β€œI don’t know ...” said Nick, embarrassed, feeling out of nowhere who had taken the blame for all his breed. - Immediately under the account all sharpened. The site, or service, or there you will not draw a mobile application on 1C. But simply and quickly.

- Well, well, quickly. Zadolbatsya understand all these subtleties and predefined properties and methods. As you know, in the new supermarket - the devil's leg breaks, how the merchandiser's head works, and where he put soy sauce - in the seasoning department or in oriental products.

β€œYes, everything seems to be clear ...” said Kolya in confusion.

- You understand, because a few years sitting. But I now understand. The sources are closed, you won't see a damn thing, just a certificate. It’s impossible to understand how the thought of the developers worked.

- Well yes. But quickly.

- What have you done, fast and fast? What is fast?

- Develop quickly. Well, what users need from the accounting system.

- Come on! Where is fast? I'm on a bare html with a whine faster I will do it!

- Maybe we bet?

- Come on!

- Only tomorrow, and then it's time to go home.

***

- Well, what are the conditions? - asked Kohl.

β€œSo ... Let's do something more or less abstract.”

- But accounting related, ok? And then come up with a game for a mobile device ...

- Yes, yes, of course. Maybe something related to taking orders? After all, one way or another, take orders?

- Yes, good.

- So. We make from scratch a system for receiving orders. It turns out, one document ... Ugh, that and I became the tables and objects called documents ... Okay. Document - order. Property one - the client, so as not to complicate. The table of goods is simple - product, quantity, price, amount. Everything is entered manually, without auto-determination of prices and the like.

- Is the amount at least recalculated?

- Of course. Well, everything, sort of? You - on 1C, I - on html and cheekbones. Drove?

- Drive!

Both turned sharply toward the computers. Kohl created a new database, opened the configurator and quickly began to throw metadata. Benjamin opened a notebook with pluses, next is the SQL Server Manager, where he began to create tables.

After 10 minutes, Nick stopped moving the mouse, smiled and leaned back in his chair.

- Done. - he said.

- What? - Benjamin did not immediately understand what Kolyan said, because was heavily immersed in the writing of input. - How ready?

- Well, like this. Watch it.

Benjamin drove up in Kolya’s chair, stared at the monitor. Kohl opened his first application, showed a list of orders, created a new one, indicated the goods, quantities, prices, amounts recalculated - everything was as agreed.

- I have a report drawn. - proudly said Kohl. - Here look.

Kohl opened and showed a simple report, in which orders grouped by customer - with goods, quantities and amounts were displayed.

- Damn ... - Benjamin leaned back in his chair. - How is that?

- I told you, 1C faster.

- No, well, of course, the task is simple.

- So you yourself came up with the conditions.

- Well, yes ... Okay, I admit. Simple applications for accounting on 1C do faster.

- Okay. - smiled Kolyan.

- Flexibility is not enough, of course ... And so ... In general, you won because you did not have to define classes, you did not need to draw the connection to the base, draw the interface forms, or write the button handlers.

- In terms of? I somehow unfairly did?

- No, no, Kolya, I don't mean that. You're doing fine. Simply…

- What?

- Well I do not know…

- Can't play?

- I know how. Okay, let's work.

***

- Kolya, what is a subconto?

- Why do you want it?

- Yes, that's it, the task was given in accounting. In the analysis of subconto withdraw heads.

- Strange ... Give me, I'll do it.

- No, I want it myself. Just do not know what a subconto. And where is his analysis. Is it a type of offal, or what? Stomachs, liver, chicken hearts?

- Not this…

- And, something Italian? The word is just weird.

- Yeah, the dish is. Served after pasta aldente, along with caprese salad.

- Seriously…

- Section analytics accounting.

- Your mother, again buh.uchet ...

- We'll have to figure it out at the end.

- So I'm a programmer, not an accountant.

- Well, you and look at these tasks as a programmer. Accounting is abstract, in general. Just such a technique, invented by God knows what century. The principle of double entry.

- I heard something like that ...

- Well, you know the registers?

- More or less. - Benjamin nodded.

- Do you have a register of goods. The feed arrived - the arrival in the register, the feed left - the expense from the register. So?

- Yes, so.

- That's when the flow is done, where does the feed go?

- In terms of? I do not know, there are different options. The chickens were fed or thrown away if feed was damaged.

- In the register you see where the food went?

- No ... Or see? Wait ... - Benjamin buried in the computer.

- Yes, do not look, no there. In the register of this information is not. Just an expense, and all. And somewhere, in another table, there is a parish. For example, in costs, if the chickens were fed.

- Well, that's understandable where that went.

- This is understandable to you, but it is not clear for an accountant. They generally do not like registers, always look at them with hostility, like a ram at a new gate. And from the cost of your feed again in the warehouse fall.

- What is it like?

- Not fast. The hen ate them, grew up, and then her cuckoo was sent to the thief. Then - again to the warehouse, only in the form of ... Well, a dead chicken, in short.

- Well? And what are you doing?

β€” , , .

β€” -?

β€” . , … – , , . … , .

β€” , . – .

β€” . : , , . , , .

β€” , , , ? β„– 16?

β€” . , , , , … . , . , . , …

β€” , , , – ? ?

β€” , . , . , .

β€” ?

β€” . – 20, 23, 25, 26, 44 , . – 94, – 29, – 10, 21, 43, 41, - …

β€” , … , , ?

β€” , , .

β€” , … ? ?

β€” , . 43 – . , ?

β€” …

β€” . , β„– 3. , 43 , . , , .

β€” , …

β€” . ?

β€” , . .

β€” . , . , , – ..

β€” ?

β€” – . , , . . – . , .

β€” ?

β€” … , 1 . .

β€” … β€” .

***

β€” , ?

β€” … , . , , . , , .

β€” … ?

β€” ? .

, . – .

β€” , . – . – . .

β€” ? , ?

β€” , , .

β€” ? – .

β€” . , ?

β€” - … ?

β€” .

- Why?

β€” … - , . – . – , …

β€” . – . – ? ?

β€” , , . , .

β€” ? What is it like? ?

β€” . ?

β€” ?

- Not. , , , . , , – . , . .

β€” ?

β€” … , , , . , . , , 200 . 200 .

β€” , . , , ?

- Yes.

β€” , … , 100 . , , , , .

β€” , . – . – . .

β€” , .

β€” ?

β€” .

β€” . .

β€” ?

β€” . . .

β€” ? , ?

β€” . . , . , . And so on.

β€” … β€” .

β€” . – .

***

β€” , .

β€” ? What? ? Why?

β€” . , .

β€” …

β€” , . , , .

β€” , … , . , , . Summer. – .

β€” , . , , – .

β€” …

β€” ?

β€” - 1 ?

β€” 1 ?

β€” … , … .

β€” ?

β€” 1, , , … .

β€” -?

β€” …

β€” ? , . , 1, -. , - .

β€” ?

- Not. ?

β€” … , . , . , , …

β€” ? What's the difference?

β€” …

β€” . , : , – . , ?

β€” , …

β€” , . . , , , , , , , , NoSQL, . , ?

β€” , .

β€” . 1 , , ? 10 , - , .

β€” …

β€” ?

β€” . , , …

β€” , , . , . , , . – , . , -, , … , .

β€” , …

β€” . – , – .

β€” ?

β€” , . 1 – . – - , 1. Β« – !Β», . , .

β€” , , , …

β€” , . ?

β€” .

β€” … , . , , , , . 1 . - , , , . .

β€” , , …

β€” … , . . ?

β€” ?

β€” 1.

β€” ? – .

β€” …

β€” ? , , .

β€” , 1 – . , 1 .

β€” ?

β€” , ?

β€” , .

β€” . , …

β€” ?

β€” … , ? .

β€” … , . , - , . . , .

β€” , … β€” . – .

β€” , . , 1, .

β€” . , -, .

β€” , ! !

. , - . , , – .

, , , .

β€” . – . – ?

β€” , . ?

β€” … . ?

Source: https://habr.com/ru/post/429934/


All Articles