უნივერსალური პროგრამული უზრუნველყოფა ოპტიკური სალონებისთვის, ოფთალმოლოგიური კლინიკებისთვის, საკონტაქტო კორექციის ოთახებისთვის. უნივერსალური პროგრამული უზრუნველყოფა ოპტიკური სალონებისთვის, ოფთალმოლოგიური კლინიკებისთვის, საკონტაქტო კორექციის ოთახებისთვის კომპიუტერული პროგრამა

ჯომლაში, წარმატებული რეგისტრაციის შემდეგ, მომხმარებლები ნაგულისხმევად გადამისამართდებიან a შესვლის გვერდი(თუ ანგარიშის გააქტიურება არ არის საჭირო). იქიდან (შესვლის შემდეგ) მომხმარებლები გადამისამართდებიან მომხმარებლის პროფილიგვერდი. ეს ხდება მაშინაც კი, თუ თქვენ გაქვთ შესვლის გადამისამართება დაყენებული სხვა რამეზე შესვლის ფორმის მოდული.

ამ ქცევის შესაცვლელად შეგიძლიათ რეგისტრაციის შემდეგ მომხმარებლების გადამისამართება თქვენი ვებსაიტის ნებისმიერ სხვა გვერდზე.
ამისათვის თქვენ უნდა შეცვალოთ ძირითადი Joomla ფაილი. გაითვალისწინეთ, რომ თქვენი ცვლილებები შეიძლება გადაიწეროს Joomla-ს განახლებით. ყოველთვის დაარეგისტრირეთ ცვლილებები, რომლებსაც აკეთებთ Joomla-ს ძირითად ფაილებში, რათა საჭიროების შემთხვევაში სწრაფად შეასრულოთ ისინი.

Გახსენი ფაილი:
კომპონენტები/com_users/controllers/registration.php

გადაახვიეთ ბოლოში. საწყისი ხაზი 162 ან მეტი გექნებათ ნაკადი კოდი:

if ($return === "adminactivate" ) ( $this -> setMessage (JText:: _() ) ; $this -> setRedirect (JRoute:: _(, false ) ) ; ) სხვა თუ ($return == = "useractivate" ) ( $this -> setMessage (JText::_() ) ; $this -> setRedirect (JRoute::_( "index.php?option=com_users&view=registration&layout=complete", მცდარი ) ; ) else ( $this -> setMessage (JText::_() ) ; $this -> setRedirect (JRoute::_( "index.php?option=com_users&view=login", მცდარი ) ; )

ამ განყოფილებაში გაქვთ 3 ბმული დაწყებული index.php?

  • პირველი () შესრულებულია მომხმარებლის რეგისტრაციის შემდეგ, თუ ანგარიში უნდა გააქტიურდეს ადმინისტრატორის მიერ
  • მეორე ( index.php?option=com_users&view=registration&layout=complete), თუ ანგარიში უნდა იყოს გააქტიურებული მომხმარებლის მიერ
  • მესამე ( index.php?option=com_users&view=login), თუ ანგარიშის გააქტიურება არ არის საჭირო.

ჩაანაცვლეთ ბმულები თქვენი გამოყენების ტიპის რეგისტრაციის მიხედვით თქვენი გადამისამართების გვერდის სრული URL-ით და დაასრულეთ.
მაგალითად, თუ მომხმარებლის გააქტიურება ჩემს ვებსაიტზე არ არის საჭირო და მსურს მომხმარებლების გადამისამართება რეგისტრაციის შემდეგ http://www.mywebsite.com/welcome-regგანახლებული კოდი იქნება:

// პროფილის ეკრანზე გადამისამართება. if ($return === "adminactivate" ) ( $this -> setMessage (JText::_( "COM_USERS_REGISTRATION_COMPLETE_VERIFY")) ; $this -> setRedirect(JRoute::_( "index.php?option=com_users&view=registration&layout=complete", მცდარი ) ; ) else if ($return === "useractivate" ) ( $this -> setMessage (JText::_( "COM_USERS_REGISTRATION_COMPLETE_ACTIVATE")) ; $this -> setRedirect(JRoute::_( "index.php?option=com_users&view=registration&layout=complete", მცდარი ) ; ) else ( $this -> setMessage (JText::_( "COM_USERS_REGISTRATION_SAVE_SUCCESS")) ; $this -> setRedirect(JRoute::_( "http://www.mywebsite.com/welcome-reg" , მცდარი ) ; )

იმისდა მიუხედავად, რომელ გვერდზე გადამისამართებთ თქვენს ვებსაიტზე, სისტემური შეტყობინება " Გმადლობთ რეგისტრაციისთვის..." კვლავ გამოჩნდება. თუ არ გსურთ ეს შეტყობინება, წაშალეთ სრული ხაზი თქვენი გადამისამართების URL-ის ზემოთ. მაგალითად. $this->setMessage(JText::_("COM_USERS_REGISTRATION_SAVE_SUCCESS"));

თუ არ გჭირდებათ ანგარიშის გააქტიურება (ახალი მომხმარებლის ანგარიშის აქტივაცია დაყენებულია არცერთი) ეს არის ყველაფერი, რაც გჭირდებათ მომხმარებლის პროფილის გვერდის თავიდან ასაცილებლად. თუმცა, თუ მომხმარებელმა უნდა გაააქტიუროს ანგარიში ელფოსტით (ანგარიშის აქტივაცია დაყენებულია თვით) ეს შეიძლება არ იყოს საკმარისი. რეგისტრაციის შემდეგ დაუყოვნებლივ მომხმარებელი გადამისამართდება ვებ გვერდზე, რომელიც მითითებულია კოდში, როგორც მოსალოდნელი იყო. თუმცა, როდესაც მომხმარებელი დააჭერს ბმულს აქტივაციის ელფოსტაში, ისინი გადაიყვანენ ადრე აღნიშნულ შესვლის ფორმაზე და თუ გამოიყენებენ მას შესვლისთვის, გადავლენ მომხმარებლის პროფილის გვერდზე. ამის თავიდან ასაცილებლად შეგიძლიათ მთლიანად გამორთოთ მომხმარებლის პროფილის გვერდი და სანაცვლოდ გადამისამართოთ მომხმარებლები თქვენთვის სასურველ გვერდზე. წაიკითხეთ ეს სტატია იმის გასარკვევად, თუ როგორ.

ჯომლა 1.6
ჯომლა 1.7
ჯომლა 2.5

დღეს ჩვენ განვიხილავთ პოპულარულ CMS Joomla-ში კრიტიკული 1-დღიანი დაუცველობის ექსპლუატაციას, რომელიც ოქტომბრის ბოლოს აფეთქდა ინტერნეტში. მოწყვლადობაზე ვისაუბრებთ ციფრებით CVE-2016-8869, CVE-2016-8870და CVE-2016-9081. სამივე მომდინარეობს კოდის ერთი ნაწილიდან, რომელიც ფრეიმურის სიღრმეში იწელებოდა ხუთი წლის განმავლობაში და ელოდა ფრთებში, მხოლოდ ამის შემდეგ გათავისუფლდა და მოიტანა ქაოსი, გატეხილი საიტები და ამ Joomla-ს უდანაშაულო მომხმარებლების ცრემლები. მხოლოდ ყველაზე მამაცი და გაბედული დეველოპერები, რომელთა თვალები მონიტორების შუქისგან წითელია და კლავიატურები სავსეა პურის ნამსხვრევებით, შეძლეს მძვინვარე ბოროტი სულების გამოწვევა და თავები გამოსწორების სამსხვერპლოზე დაედო.

გაფრთხილება

ყველა ინფორმაცია მოცემულია მხოლოდ საინფორმაციო მიზნებისთვის. არც რედაქტორები და არც ავტორი არ არიან პასუხისმგებელი ამ სტატიის მასალებით მიყენებულ შესაძლო ზიანს.

სადაც ყველაფერი დაიწყო

2016 წლის 6 ოქტომბერს, დემის პალმამ შექმნა თემა Stack Exchange-ზე, სადაც ჰკითხა: რატომ არის სინამდვილეში Joomla-ს 3.6 ვერსიაში ორი მეთოდი, რომ დარეგისტრირდეთ იგივე სახელით register()? პირველი არის UsersControllerRegistration კონტროლერში და მეორე არის UsersControllerUser კონტროლერში. დამისს სურდა გაეგო, გამოყენებული იყო თუ არა სადმე UsersControllerUser::register() მეთოდი, თუ ეს იყო მხოლოდ ძველი ლოგიკიდან შემორჩენილი ევოლუციური ანაქრონიზმი. მისი საზრუნავი ის იყო, რომ მაშინაც კი, თუ ეს მეთოდი არ გამოიყენება რომელიმე ხედვის მიერ, ის შეიძლება გამოიძახოს შემუშავებული შეკითხვით. რაზეც მე მივიღე პასუხი დეველოპერისგან, მეტსახელად itoctopus, რომელმაც დაადასტურა: პრობლემა ნამდვილად არსებობს. და გაუგზავნა ანგარიში Joomla-ს დეველოპერებს.

მაშინ მოვლენები ყველაზე სწრაფად განვითარდა. 18 ოქტომბერს, Joomla-ს დეველოპერებმა მიიღეს მოხსენება Damis-ისგან, რომელმაც იმ დროისთვის შექმნა PoC, რომელიც საშუალებას მისცემს მომხმარებლის რეგისტრაციას. მან საკუთარ ვებ-გვერდზე გამოაქვეყნა ჩანაწერი, სადაც ზოგადად ისაუბრა მის მიერ აღმოჩენილ პრობლემაზე და მის აზრებზე ამ საკითხზე. იმავე დღეს გამოდის Joomla 3.6.3-ის ახალი ვერსია, რომელიც კვლავ შეიცავს დაუცველ კოდს.

ამის შემდეგ, Davide Tampellini ატრიალებს შეცდომას იქამდე, რომ დაარეგისტრიროს არა მარტივი მომხმარებელი, არამედ ადმინისტრატორი. 21 ოქტომბერს კი ჯომლას უსაფრთხოების გუნდში ახალი საქმე მოდის. უკვე საუბარია პრივილეგიების გაზრდაზე. იმავე დღეს Joomla-ს ვებსაიტზე ჩნდება განცხადება, რომ სამშაბათს, 25 ოქტომბერს, გამოვა შემდეგი ვერსია სერიული ნომრით 3.6.3, რომელიც ასწორებს კრიტიკულ დაუცველობას სისტემის ბირთვში.

25 ოქტომბერი Joomla Security Strike Team აღმოაჩენს Damis-ის მიერ აღმოჩენილი კოდის მიერ შექმნილ უახლეს პრობლემას. შემდეგ 21 ოქტომბრით დათარიღებული commit შეუმჩნეველი სახელწოდებით Prepare 3.6.4 Stable Release გადადის ჯომლას ოფიციალური საცავების მთავარ ფილიალში, რომელიც აფიქსირებს სამწუხარო შეცდომას.

ამ გამოსვლის შემდეგ, უამრავი დაინტერესებული პირი უერთდება დეველოპერის საზოგადოებას - ისინი იწყებენ დაუცველობის პოპულარიზაციას და ექსპლოიტების მომზადებას.

27 ოქტომბერს მკვლევარი ჰარი რობერტსი ატვირთავს მზა ექსპლოიტს Xiphos Research-ის საცავში, რომელსაც შეუძლია PHP ფაილის ატვირთვა სერვერზე დაუცველი CMS-ით.

დეტალები

ისე, ფონი დასრულდა, გადავიდეთ ყველაზე საინტერესო ნაწილზე - მოწყვლადობის ანალიზზე. მე დავაინსტალირე Joomla 3.6.3, როგორც სატესტო ვერსია, ამიტომ ყველა ხაზის ნომერი შესაბამისი იქნება ამ ვერსიისთვის. და ფაილებისკენ მიმავალი ყველა გზა, რომელსაც ქვემოთ ნახავთ, მითითებული იქნება დაინსტალირებული CMS-ის ფესვთან მიმართებაში.

Damis Palma-ს აღმოჩენის წყალობით, ჩვენ ვიცით, რომ არსებობს ორი მეთოდი, რომელიც ასრულებს მომხმარებლის რეგისტრაციას სისტემაში. პირველს იყენებს CMS და მდებარეობს ფაილში /components/com_users/controllers/registration.php:108. მეორე (ის, ვისი დარეკვაც დაგვჭირდება) ცხოვრობს /components/com_users/controllers/user.php:293-ში. მოდით უფრო ახლოს მივხედოთ მას.

286: /** 287: * მომხმარებლის რეგისტრაციის მეთოდი. 288: * 289: * @return boolean 290: * 291: * @since 1.6 292: */ 293: public function register() 294: ( 295: JSession::checkToken("post") ან jexit(JText::_ ("JINVALID_TOKEN")); ... 300: // მიიღეთ ფორმის მონაცემები. 301: $data = $this->input->post->get("user", array(), "array"); . .. 315: $return = $model->validate($form, $data); 316: 317: // შეამოწმეთ შეცდომები. 318: თუ ($return === false) 319: ( ... 345: / / დაასრულეთ რეგისტრაცია 346: $return = $model->register($data);

აქ დავტოვე მხოლოდ საინტერესო სტრიქონები. დაუცველი მეთოდის სრული ვერსია შეგიძლიათ იხილოთ Joomla-ს საცავში.

მოდით გავარკვიოთ, რა ხდება მომხმარებლის ნორმალური რეგისტრაციის დროს: რა მონაცემები იგზავნება და როგორ მუშავდება. თუ მომხმარებლის რეგისტრაცია ჩართულია პარამეტრებში, ფორმა შეგიძლიათ იხილოთ მისამართზე http://joomla.local/index.php/component/users/?view=registration.


მომხმარებლის რეგისტრაციის ლეგიტიმური მოთხოვნა გამოიყურება შემდეგ ეკრანის სურათზე.


com_users კომპონენტი პასუხისმგებელია მომხმარებლებთან მუშაობაზე. ყურადღება მიაქციეთ დავალების პარამეტრს მოთხოვნაში. მას აქვს ფორმატი $controller.$method . მოდით შევხედოთ ფაილის სტრუქტურას.

სკრიპტების სახელები საქაღალდეში კონტროლერებიშეესაბამება გამოძახებული კონტროლერების სახელებს. ვინაიდან ჩვენი მოთხოვნა ახლა შეიცავს $controller = "რეგისტრაციას", ფაილი გამოიძახება რეგისტრაცია.phpდა მისი register() მეთოდი.

ყურადღება, კითხვა: როგორ გადავიტანოთ სარეგისტრაციო პროცესი კოდში დაუცველ ადგილზე? თქვენ ალბათ უკვე მიხვდით. დაუცველი და რეალური მეთოდების სახელები იგივეა (რეგისტრაცია), ამიტომ უბრალოდ უნდა შევცვალოთ გამოძახებული კონტროლერის სახელი. სად მდებარეობს ჩვენი დაუცველი კონტროლერი? მართალია, ფაილში user.php. გამოდის $controller = "user" . ყველაფრის ერთად შეკრებით მივიღებთ ამოცანა = მომხმარებელი.რეგისტრაცია . ახლა რეგისტრაციის მოთხოვნა მუშავდება ჩვენთვის საჭირო მეთოდით.


მეორე რაც უნდა გავაკეთოთ არის მონაცემების სწორი ფორმატით გაგზავნა. აქ ყველაფერი მარტივია. ლეგიტიმური register() მოელის ჩვენგან მასივს სახელად jform, რომელშიც ჩვენ ვაგზავნით სარეგისტრაციო მონაცემებს - სახელს, შესვლას, პაროლს, ელფოსტას (იხილეთ სკრინშოტი მოთხოვნით).

  • /components/com_users/controllers/registration.php: 124: // მიიღეთ მომხმარებლის მონაცემები. 125: $requestData = $this->input->post->get("jform", array(), "array");

ჩვენი კლიენტი იღებს ამ მონაცემებს მასივისაგან, რომელსაც მომხმარებელი ჰქვია.

  • /components/com_users/controllers/user.php: 301: // მიიღეთ ფორმის მონაცემები. 302: $data = $this->input->post->get("user", array(), "array");

ამიტომ, ჩვენ ვცვლით მოთხოვნის ყველა პარამეტრის სახელს jfrom-დან მომხმარებლის .

ჩვენი მესამე ნაბიჯი არის სწორი CSRF ნიშნის პოვნა, რადგან მის გარეშე რეგისტრაცია არ იქნება.

  • /components/com_users/controllers/user.php: 296: JSession::checkToken("post") ან jexit(JText::_("JINVALID_TOKEN"));

ის ჰგავს MD5 ჰეშს და შეგიძლიათ აიღოთ, მაგალითად, ავტორიზაციის ფორმიდან საიტზე /index.php/component/users/?view=login.


ახლა თქვენ შეგიძლიათ შექმნათ მომხმარებლები სასურველი მეთოდის გამოყენებით. თუ ყველაფერი გამოვიდა, მაშინ გილოცავთ - თქვენ უბრალოდ გამოიყენეთ დაუცველობა CVE-2016-8870"გამოტოვებული ნებართვის შემოწმება ახალი მომხმარებლების რეგისტრაციისთვის."

ასე გამოიყურება "მუშა" register() მეთოდში UsersControllerRegistration კონტროლერიდან:

  • /components/com_users/controllers/registration.php: 113: // თუ რეგისტრაცია გამორთულია - გადამისამართება შესვლის გვერდზე. 114: if (JComponentHelper::getParams("com_users")->get("allowUserRegistration") == 0) 115: ( 116: $this->setRedirect(JRoute::_("index.php?option=com_users&view= შესვლა", ყალბი)); 117: 118: დაბრუნება ყალბი; 119: )

და ასე დაუცველებში:

  • /components/com_users/controllers/user.php:

ჰო, არანაირად.

მეორე, ბევრად უფრო სერიოზული პრობლემის გასაგებად, გავაგზავნოთ ჩვენს მიერ შექმნილი მოთხოვნა და ვნახოთ, როგორ სრულდება ის კოდის სხვადასხვა ნაწილში. აქ არის ნაწილი, რომელიც პასუხისმგებელია მომხმარებლის მიერ წარდგენილი მონაცემების ვალიდაციაზე მუშა მეთოდით:

გაგრძელება ხელმისაწვდომია მხოლოდ წევრებისთვის

ვარიანტი 1. შეუერთდით „საიტის“ საზოგადოებას, რათა წაიკითხოთ საიტზე არსებული ყველა მასალა

საზოგადოებაში გაწევრიანება მითითებულ პერიოდში მოგცემთ წვდომას ჰაკერების ყველა მასალაზე, გაზრდით თქვენს პერსონალურ კუმულატიურ ფასდაკლებას და საშუალებას მოგცემთ დააგროვოთ პროფესიონალური Xakep Score რეიტინგი!

უნივერსალური პროგრამული უზრუნველყოფა შექმნილია სპეციალურად ოპტიკური სალონებისთვის, ოფთალმოლოგიური კლინიკებისთვის, QC ოფისებისთვის და ოფთალმოლოგებისთვის.
ოპტიკური სალონებისა და ოფთალმოლოგების მუშაობის თვისობრივად ახალი დონე.

Კომპიუტერული პროგრამა "ARMO plus"

(სამედიცინო აღრიცხვა და ვაჭრობა)

  • ერთიანი კლიენტის ფაილი ყველა სამუშაო ადგილზე და ფილიალში.
  • ფასდაკლების მოქნილი სისტემა, ფასდაკლების ბარათებით მუშაობა.
  • საბითუმო და საცალო გაყიდვების წარმოება და აღრიცხვა, სათვალეების წარმოებისა და შეკეთების მომსახურება, სამედიცინო მომსახურება.
  • სწრაფად შეიყვანეთ და მოძებნეთ ინფორმაცია სახელის მიხედვით, კოდების გამოყენებით, შტრიხკოდების სკანერის საშუალებით.
  • საქონლის მიწოდების მოთხოვნების ოპტიმიზაცია შაბლონების გამოყენებით. ინვენტარის მინიმიზაცია.
  • სამედიცინო შემოწმების მონაცემების ავტომატური შეყვანა და სამედიცინო ჩანაწერების გენერირება.
  • რეცეპტების გაცემა და სათვალეების შეკვეთების ფორმირების ავტომატიზაცია. ექიმის და მაგისტრის მომსახურების აღრიცხვა.
  • ოპერაციული ინფორმაციის მიზანმიმართული მიწოდება SMS შეტყობინებების გამოყენებით კლიენტების მოსაწვევად საკონსულტაციო შეხვედრაზე ან ლინზების დაგეგმილ გამოცვლაზე; კომპანიის აქციების შესახებ ინფორმაცია.
  • შემაჯამებელი და დეტალური ანგარიშები ფულადი სახსრებისა და საქონლის გადაადგილების, მომხმარებელთა ნაკადების, პერსონალის მუშაობის, ფინანსური შედეგების შესახებ.
  • მონაცემების ჩამოტვირთვის შესაძლებლობა 1C-ში შემდგომი გამოყენებისთვის: ბუღალტერია, ონლაინ მაღაზია და სხვა პროგრამები.
  • თანამშრომლების ინდივიდუალური აქტივობის მონიტორინგი (გაყიდვები, რეფერირება გამოცდებზე, კლიენტებისთვის ფასდაკლების მიცემა და ა.შ.).
  • პროგრამის ფუნქციებზე მომხმარებლის წვდომის კონფიგურაცია.
  • მონაცემთა ავტომატური გაცვლა დისტანციურ სამუშაო სადგურებს (ფილიალებს) შორის.
  • დაცვის მაღალი ხარისხი ინფორმაციის არასანქცირებული წვდომისა და კოპირებისგან. მონაცემთა ბაზის ავტომატური დაარქივება.

"ARMO plus" არის სისტემა, რომელიც იყენებს მონაცემთა ბაზის განაწილებულ ტექნოლოგიებს

შექმნილია ავტომატიზაციისთვის:

საბითუმო და საცალო გაყიდვების განხორციელება;

განაცხადები საქონლის მიწოდებაზე, სამუშაო ადგილებზე საქონლის გადაადგილებისა და დარჩენილი საქონლის კონტროლის შესახებ;

კლიენტის ელექტრონული ფაილის წარმოება ოფთალმოლოგიური გამოკვლევების მონაცემებით, საკონსულტაციო გამოკვლევების დღიურებით, სათვალეების რეცეპტებისა და შეკვეთების გაცემა;

სამედიცინო შემოწმების მონაცემების ფორმირება და ბეჭდვა;

ფულადი სახსრებისა და საქონლის გადაადგილების, მომხმარებელთა ნაკადების და მათი გამოკითხვის შედეგების შესახებ ანგარიშების გენერირება.

საიმედო და უსაფრთხო მუშაობის ორგანიზებისთვის, პროგრამა ითვალისწინებს როლებად დაყოფას, რომლებიც განსაზღვრავენ მომხმარებლის უფლებებს და მათ წვდომას ინფორმაციას. ტექნოლოგიები განაწილებული მონაცემთა ბაზასაშუალებას გაძლევთ ჩაატაროთ ოპტიკური მაღაზიებისა და ოფთალმოლოგიური ოფისების ქსელის ფუნქციონირება.

დირექტორიები და დოკუმენტები

მონაცემთა შენახვისა და სისტემატიზაციისთვის, დოკუმენტების, მოხსენებების, პაციენტის ფაილების სწრაფად შევსებისთვის და ა.შ. გათვალისწინებული ცნობარები. დირექტორიებს აქვთ მოსახერხებელი ინტერფეისი და მათთან მუშაობა ინტუიციურია დახმარებით დოკუმენტებიშეიტანება ინფორმაცია საქმიანი და ფინანსური ტრანზაქციების შესახებ, ხდება საქონლის მოთხოვნა, შეიტანება ნაშთები დირექტორიებსა და დოკუმენტებზე წვდომას განსაზღვრავს პროგრამის ადმინისტრატორი,მომხმარებლებისთვის კონკრეტული „უფლებების“ მინიჭება

სხვადასხვა ოპერაციების ერთდროულად შესრულების შესაძლებლობა

კლიენტის ფაილი

ARMO Plus-ში განსაკუთრებული როლი ენიჭება შენარჩუნებასელექტრონული კლიენტის ფაილი. კლიენტის ერთიანი ფაილი შეიცავს ინფორმაციას პირველადი მონაცემების, ანამნეზის, დიაგნოზის, ვიზიტების, გამოკვლევებისა და ოფთალმოლოგიური გამოკვლევების დღიურის, რეცეპტების, სათვალეების შეკვეთების, შესყიდვების, კლიენტის განცხადებებისა და ავანსების შესახებ ინფორმაციას. პროგრამა აწარმოებს ანგარიშებს გაყიდვების, შეკვეთების და კლიენტების მოთხოვნების შესახებ და ამონაწერებს ოფთალმოლოგიური გამოკვლევებიდან. კლიენტებისთვის შექმნილია ფასდაკლების მოქნილი სქემა. არსებობს შეტყობინებების სისტემა SMS და ელ.ფოსტის შეტყობინებებით.


ძირითადი ანგარიშები ARMO Plus-ში

  • შემაჯამებელი და დეტალური ანგარიშები შემოსავლების, ხარჯების, ნაშთების, ბრუნვის შესახებ
  • შემოსავლების ანგარიშები
  • წინასწარი ანგარიშები დოკუმენტებისა და ფაილების შესახებ
  • ანგარიშები მოხმარების ფასების კონტროლის შესახებ
  • ანგარიშები სათვალეების განაცხადებისა და შეკვეთების შესახებ
  • ანგარიშები შენახვის ვადის შესახებ
  • დოკუმენტური ანგარიშები
  • ანგარიშები კლიენტების, მოსალოდნელი ვიზიტების, კლიენტის წყაროების შესახებ
  • მომხმარებელთა ფასდაკლების ანგარიშები
  • შემაჯამებელი და დეტალური ანგარიშები პერსონალის შესახებ

ბუღალტრული აღრიცხვისა და ანალიზის ფუნქციების გარდა, ანგარიშები გამოიყენება პერსონალის მუშაობის, გაყიდვებისა და მომხმარებელთა ნაკადების მონიტორინგისთვის.

განაწილებული მონაცემთა ბაზა და მონაცემთა გაცვლა

მონაცემთა განაწილებული ტექნოლოგია გეოგრაფიულად დისტანციური ოპტიკოსების, ოფთალმოლოგიური ოფისებისა და ფილიალების მუშაობის საშუალებას იძლევა. ინფორმაცია ერთმანეთს გადაეცემა ელექტრონული გაცვლის პაკეტების მეშვეობით. ამის გამო, მონაცემთა სინქრონიზაცია მიიღწევა დისტანციურ სამუშაო სადგურებზე. ასე ყალიბდება პაციენტის ერთიანი ფაილიდა საცნობარო და დოკუმენტური ინფორმაციის მონაცემთა ბაზა ARMO Plus-თან მომუშავე ფირმებს შეუძლიათ მონაცემთა ელექტრონულად გაცვლა ერთმანეთთან.


მონაცემთა ბაზის ადმინისტრირების სერვისი

ოპერაციის საიმედოობა უზრუნველყოფილია საშუალებით კონსერვაციაᲛონაცემთა ბაზა შენახული მონაცემები ყოველთვის შეიძლება იყოს აღდგენა. მონაცემთა ბაზის შეკუმშვის მიზნით, უზრუნველყოფილია მონაცემთა გადმოტვირთვა და გაწმენდა. ARMO plus შეიძლება ატვირთეთ მონაცემები 1C: Enterprise პროგრამაში, Excel, ონლაინ მაღაზიაში.



უახლესი მასალები განყოფილებაში:

სექტორთაშორისი ბალანსის მეთოდი
სექტორთაშორისი ბალანსის მეთოდი

ინდუსტრიათაშორისი ბალანსი (IOB, შეყვანა-გამომავალი მოდელი, შეყვანა-გამომავალი მეთოდი) არის ეკონომიკური და მათემატიკური ბალანსის მოდელი, რომელიც ახასიათებს...

მაკროეკონომიკური წონასწორობის მოდელიAD-AS
მაკროეკონომიკური წონასწორობის მოდელიAD-AS

ეროვნული ეკონომიკის მდგომარეობა, რომელშიც არის საერთო პროპორციულობა: რესურსებსა და მათ გამოყენებას შორის; წარმოება და...

Olympus OM-D E-M1 Mark II-ის უგემრიელესი სატესტო დრაივი
Olympus OM-D E-M1 Mark II-ის უგემრიელესი სატესტო დრაივი

არც ისე დიდი ხნის წინ იყო ჩამოთვლილი ჩვენს ვებგვერდზე. მიმოხილვამ შეისწავლა კამერის ძირითადი მახასიათებლები, მისი შესაძლებლობები ფოტოებისა და ვიდეოების გადაღებაში, ასევე...