ืืื ืืืจ!
ืืืืืจ ืื ื ืชืืื ืืช ืืกืืคืืจ ืขื ืืื ืื ืขืืื ืืคื ืื
ืืื ืื ืื ื ืืืฉืืื ืฉืื ืืขื ืืื? ืจืืฉืืช, ืืืืืื ืฉืคืืืคืืจืืช 1C:Enterprise 8 ืืื ืืืฉืื ืืืื (ืืืชืจ ื-10 ืืืืืื ืฉืืจืืช ืงืื) ื-C++ (ืืงืื, ืฉืจืช ืืื'), JavaScript (ืืงืื ืืื ืืจื ื), ืืืืืจืื ื, ืืื
ืื ืืืื ื ืชืืื. ืืืืืจ ืื ื ืืชื ืกืงืืจื ืฉื ืืืง ืืืืื ืืืืืืืช ืืืฉืืฉืืช ืืคืืืคืืจืื ืืืชืืืื ืืช ืื ืืฃ, ืืืื ืืฆืืื ืืขืืืง ืืืืฉืื. ืืืื, ืขืืืจ ืื ืื ืื ืื ืจืืื, ืกืืคืืจ ืืคืืจื ืืืจืืฉ ืืืืจ ื ืคืจื, ืืืืืงื ืกืคืจ ืฉืื!
ืืืืชืืืื, ืืืื ืืืืืื ืขื ืืืืจืื ืืืกืืกืืื - ืืื ืคืืืคืืจืืช 1C:Enterprise ืืืืืื ืจืืืืื ืืื ืืืจืืืช. ืืชืฉืืื ืืฉืืื ืื ืื ืื ืื ืคืฉืืื, ืื ืืืื ื "ืคืืืคืืจืื" (ืืืขื ืืงืืฆืืจ, ื ืงืจื ืืื ืื) ืืชืืืืก ืืืืฆืขื ืืคืืชืื ืืืฉืืืื ืขืกืงืืื, ืกืืืืช ืืื ืจืืฆื ืืืื ื ืืืื. ื ืืชื ืืืืืื ืืืืคื ืืก ืืื ืืืจืืืืื ืืืืื:
- ืืฉืืื ืฉืจืชืื
- ืืงืื "ืืง" ืืืกืืื ืืืชืืืจ ืืฉืจืช ืืืืฆืขืืช http ืืืคืจืืืืงืื ืืืื ืืจื ืฉืื
- ืืงืื ืืขืืืื ืืืจืืืืงืืืจื ืื-ืฉืืืชืืช ืขื ืืกื ื ืชืื ืื ืืืืืงื ืืืื ื ืงืฉืื ืื ืืชืืงืืืช ืจืฉืช
- ืืงืื ืืื ืืจื ื
- ืืื ื ืืืื ืฉืจืช ืืืฉืืืื
- ืกืืืืช ืคืืชืื (ืืืืื ื Configurator)
- ืกืืืืช ืืื ืจืืฆื ืขืืืจ iOS, Android ื-Windows Phone (ืคืืืคืืจืื ื ืืืืช 1C)
ืื ืืืืงืื ืืืื, ืืืขื ืืงืื ืืืื ืืจื ื, ืืชืืืื ื-C++. ืื ืืกืฃ, ืืฉ ืืช ืืืืืขื ืฉืืืืจืื ืืืืจืื ื
ืืคืืืงืฆืืืช ืืงืืจืืืช
C++03 ืืฉืืฉ ืืคืืชืื ืืืฉืืืื ืืงืืจืืื. ืขืืืจ Windows, Microsoft Visual C++ 12 (ืคืจืืคืื ืืชืืื ื-Windows XP) ืืฉืืฉ ืืงืืืคืืืืจ, ืืขืืืจ ืืื ืืงืก ืืื ืืจืืืื - gcc 4.8, ืขืืืจ iOS - clang 5.0. ืืกืคืจืืื ืืกืื ืืจืืืช ืืฉืืืืฉ ืืื ืืื ืืขืจืืืช ืืืคืขืื ืืืืืืจืื - STLPort. ืคืชืจืื ืื ืืงืืื ืืช ืืกืืืจืืช ืืฉืืืืืช ืกืคืฆืืคืืืช ืืืืืืฉ STL. ืื ื ืืชืื ื ืื ืืขืช ืืขืืืจ ืืืืืืฉ STL ืฉื ืฉืื ืขื CLang, ืืืืืื ืฉ-STLPort ืืืคืกืง ืืืื ื ืชืืื ืืืฆื C++11 ืฉื gcc.
ืืกืืก ืืงืื ืฉื ืืฉืจืช ื ืคืืฅ ื-99%, ืฉื ืืืงืื - 95%. ืืชืจื ืืื, ืืคืืื ืืคืืืคืืจืื ืื ืืืืช ืืฉืชืืฉืช ืืืืชื ืงืื C++ ืืื ืืงืื ื"ืืืื", ืื ืื ืืืื ืืืืืื ืฉื ื ืืื ืืืขื.
ืืื ืจืื ืืฉืชืืฉื C++, ืื ืื ื ืื ืืชืืืืจืื ืืืฉืชืืฉ ื-100% ืืืืืืืืช ืฉื ืืฉืคื ืืืกืคืจืืืช ืฉืื. ืื, ืื ืื ื ืืืขืฉื ืื ืืฉืชืืฉืื ื-Boost, ืืืืช ืืชืืื ืืช ืืฉืคื ืืื ืืืืืง ืกืื ืืื ืื. ืืืงืืื, ืื ื ืืฉืชืืฉืื ืืืืคื ืคืขืื:
- STL (ืืืืืื ืืืจืืืืช, ืืืืืื ืืืืืืจืืชืืื)
- ืืจืืฉื ืืจืืื, ืืืื. ืืจืืฉื ืืืฉืื ืืจืืื
- ืชืื ืืืช
- ืืจืืืื
- ืืฆืืืขืื ืืืืื (ืืืฉืื ืืืชืื ืืืฉืืช)
ืขื ืืื ืฉืืืืฉ ืืืืจืฉื ืืจืืื ืฉื ืืืฉืงืื (ืืืืงืืช ืืืคืฉืืืช ืืืืืืื), ืืชืืคืฉืจ ืืืื ืจืืืืื, ืขืืื ื ืืื ืืืื.
ืจืืืืื
ืืื ืืืืืื ืืืืืืจืืืช, ืื ืืคืื ืงืฆืืื ืืืืช ืืืืืงืช ืืจืืืืื, ืฉืื ืกืคืจืืืช ืืื ืืืืช (*.dll ืขืืืจ Windows, *.so ืขืืืจ Linux). ืืฉื ื ืืืชืจ ืืืื ืืืืืฉืื ืจืืืืื ืืกื ืืื; ืืืื ืชืืืืจืื ืฉื ืืื ืืื:
Backend
ืืืื ืืช ืื ืืข ืืืื ื ืชืื ืื ืฉื ืืคืืืคืืจืื
acnt
ืืืืืืงืืื ืฉืืคืชืื ืืืฉืืืื ืืฉืชืืฉืื ืืื ืืื ืืืช ืจืฉืืืืช ืืฉืืื ืืืืช (ืืืืืืช ืืฉืืื ืืช ืืคื ืงืกื ืืฉืืื ืืช)
bsl
ืื ืืข ืืืฆืืข ืฉืคื ืืืืืข
Nuke
ืืืฉืื ืืืชืื ืืืฉืืช ืฉื ืืงืฆื ืืืืจืื
dbeng8
ืื ืืข ืืกื ื ืชืื ืื ืฉื ืงืืฆืื. ืื ืืข ืืกื ื ืชืื ืื ืคืฉืื ืฉื ืฉืจืช ืงืืฆืื ืืืืืกืก ืขื ISAM, ืืืืื ืื ืืขืื SQL ืคืฉืื
wbase
ืืืื ืืช ืืืืงืืช ืืืกืืก ืืืคืื ืงืฆืืืช ืืืืืขืช ืืืฉืง ืืืฉืชืืฉ ืฉื Windows - ืืืืงืืช ืืืื ืืช, ืืืฉืช GDI ืืื'.
ืืืืงื ืืืกืคืจ ืจืืืืื ืฉืืืืฉืืช ืืืื ื ืงืืืืช ืืื:
- ืืคืจืื ืืงืืืช ืขืืฆืื ืืื ืืืชืจ, ืืืืืื ืืืืื ืงืื ืืื ืืืชืจ
- ืืชืื ืกื ืฉื ืจืืืืื ืืชื ืืืื ืืืจืืื ืืืืืฉืืช ืืคืฉืจืืืืช ืืฉืืื ืฉืื ืืช:
- ืืืืืื, ืืชืงื ืช ืืงืื ืืง ืชืืื wbase, ืื ืื ืชืืื ืื ืงืฆื ืืืืจื
- ืืื ืืฉืจืช wbase, ืืืืคื, ืื ืื ืืืื
- ืฉืชื ืืืคืฉืจืืืืช ืืืืื ืืืืื nuke ื-bsl
ืื ืืจืืืืื ืืืจืืฉืื ืืืคืฉืจืืช ืืืฉืงื ืืื ื ืืขื ืื ืืืฉืจ ืืชืืื ืืช ืืชืืืื. ืื, ืืืืืื, ืืืจืื ืืจืืฉืื ืฉืืขืืจื SCOM, ืืฉืจ ืืืืื ื ืืืื.
SCOM
ืืคืืจืืง ืืจืื ื ืืืื ืืืชืจ, ื ืขืฉื ืฉืืืืฉ ืืืขืจืืช SCOM, ืกืคืจืืื ืืืืื ืืืืืืืืืืืื ื-ATL. ืืื ืฉืื ืขืื ืขื ATL, ืื ื ืืคืจืืื ืืงืฆืจื ืืช ืืืืืืืช ืืืชืืื ืืช ืืขืืงืจืืืช.
ืขืืืจ ืฉืืขืืจ SCOM ืฉืชืืื ื ืืืืืื:
- ืืกืคืง ืฉืืืืช ืืคืขื ืืืืคืฉืจืืช ืื ืืืฆืืจ ืืืืงื ืืจืืื ืืืจ ืืืืืขื ืจืง ืืช ืฉืื (ืืืื ืืืฉืืฃ ืืช ืืืืฉืื)
- ืืกืคืง ืชืฉืชืืช ืืฆืืืข ืืืื ืืกืคืืจืช ืืคื ืืืช. ืืื ืฆืืจื ืื ืืจ ืืช ืืฉื ืืืืื ืฉื ืืืืงืช SCOM ืืืืคื ืืื ื
- ืืืคืฉืจ ืื ืืืจืจ ืื ืืืืืืงื ืืืืฉื ืืืฉืง ืกืคืฆืืคื ืืืืืืจ ืืืืืืืืช ืืฆืืืข ืืืืืืืงื ืืืฆืืืข ืืืืฉืง
- ืฆืืจ ืืืืืืงื ืฉืืจืืช ืฉื ืืืฉ ืชืืื ืืจื ืฉืืืช get_service ืืื'.
ืืืืืื, ืืชื ืืืื ืืชืืจ ืืืืงื ืืงืจืืืช JSON (ืืืืืื, JSONStreamReader) ืืจืืื json.dll.
ื ืืชื ืืืฆืืจ ืืืืงืืช ืืืืคืขืื ืืืจืืืืื ืืืจืื; ืื ืฆืจืืืื ืืืืืช ืจืฉืืืื ืืืืฉื SCOM:
SCOM_CLASS_ENTRY(JSONStreamReader)
ืืืงืจื ืื ืืชืืจ ืืืืงืช ืืงืืื ืกืืื ืืืืืืช, ืฉืืงืื ืกืืจืืงืืืจ ืฉืื ืืืงืจื ืืืฉืจ ืืจืืื ืืืืขื ืืืืืจืื.
ืืืืจ ืืื, ืชืืื ืืืฆืืจ ืืืคืข ืฉืื ืืจืืื ืืืจ:
IJSONStreamReaderPtr jsonReader = create_instance<IJSONStreamReader>(SCOM_CLSIDOF(JSONStreamReader));
ืืื ืืชืืื ืืฉืืจืืชืื, SCOM ืืฆืืขื ืชืฉืชืืช ื ืืกืคืช, ืืืจืืืช ืืืื. ืืจืืื ืื ืืื ืืจืขืืื ืฉื ืชืืืื SCOM, ืืืฉืืฉ ืืืืื ืืืคืขืืช ืฉืืจืืชืื (ืืืืืจ, ืืืื ืืช ืืชืคืงืื ืฉื Service Locator), ืืืืื ืื ืืจืืื ืืืฉืืืื ืืงืืืืื. ืชืืืื SCOM ืงืฉืืจ ืืฉืจืฉืืจ ืืขืจืืช ืืืคืขืื. ืืืืืช ืืื, ืืชืื ืืืคืืืงืฆืื ืชืืืื ืืงืื ืฉืืจืืชืื ืืื ืื:
SCOM_Process* process = core::current_process();
if (process)
return get_service<IMyService>(process);
ืืชืจื ืืื, ืขื ืืื ืืืืคืช ืชืืืืืื ืืืืืื (SCOM) ืืงืฉืืจืื ื-thread, ืืชื ืืืื ืืงืื ืืืฉืืืื ืืืชื ืชืืืืื ืืืขืฉื ืื ืงืืืช ืืืื ืฉื ืืจืื ืืืืืข, ืืคืืขืืื ืืชืื ืืืชื ืฉืจืฉืืจ. ืื ืขืืื ื-Thin Client ืฉืื ื ืขื ืืกื ื ืชืื ืื ืฉื ืงืืฆืื - ืืชืื ืชืืืื ืืขืจืืช ืืคืขืื ืืื ืืฉื ื ืฉื ื ืชืืืืื SCOM, ืืืื ืืฉืืื ืืืงืื, ืืืฉื ื ืืฉืจืช. ืืืฉื ืื ืืืคืฉืจืช ืื ื ืืืื ืืช ืืชืืืช ืืงืื ืฉืืขืืื ืื ืขื ืืกื ืื ืชืื ืื ืฉื ืืงืืฆืื ืืืงืืื ืืื ืืืจืกืช ืฉืจืช-ืืงืื "ืืืืชืืช". ืืืืืจ ืืืืืืืช ืืื ืืื ืชืงืืจื, ืืื ืืคืืขื ืืจืื ืฉืื ืฉืืื ืืช ืื.
ืืืชืืกืก ืขื ืืืื ืจืืืื SCOM, ืื ืืืืืืงื ืืขืกืงืืช ืืื ืืืืง ืืืืฉืง ืฉื 1C: Enterprise ืืืืฉืืื.
ืืืฉืง ืืฉืชืืฉ
ืืื, ืืืื ืืืฉืงืื. ืื ืื ื ืื ืืฉืชืืฉืื ืืคืงืืื ืกืื ืืจืืืื ืฉื Windows; ืืคืงืืื ืฉืื ื ืืืืฉืืื ืืฉืืจืืช ื-Windows API. ืขืืืจ ืืจืกืช ืืื ืืงืก, ื ืืฆืจื ืฉืืื ืฉืคืืขืืช ืืจื ืกืคืจืืืช wxWidgets.
ืกืคืจืืืช ืืคืงืืื ืืื ื ืชืืืื ืืืืงืื ืืืจืื ืฉื 1C:Enterprise ืืืื ืืฉืืฉืช ืืืชื ื ืืืกืคืจ ืืื ืขืืจ ืคื ืืืืื ืงืื ืื ืืืจืื.
ืืืืื ืฉื ืืช ืืคืืชืื ืฉื 1C:Enterprise, ืืืคืขืช ืืคืงืืื ืืฉืชื ืชื, ืื ืฉืื ืื ืจืฆืื ื ืืขืงืจืื ืืช ืืชืจืืฉ ืจืง ืคืขื ืืืช, ืืฉื ืช 2009, ืขื ืืฆืืืช ืืจืกื 8.2 ืืืืคืขืชื ืฉื "ืืคืกืื ืื ืืืืื". ืื ืืกืฃ ืืฉืื ืื ืืืจืื, ืขืงืจืื ืคืจืืกืช ืืืืคืก ืืฉืชื ื ืืืืชืืช - ืืืืชื ืืืืื ืฉื ืืืงืื ืคืืงืกื ืืืจ ืคืืงืกื ืฉื ืืืื ืืื ืืืืืช ืคืจืืกืช ืืจืืื ืฉื ืืืื ืืื. ืื ืืกืฃ, ืืืืื ืืืืฉ, ืืคืงืืื ืืื ื ืคืืขืืื ืืฉืืจืืช ืขื ืืืืืืงืื ืชืืื, ืืื ืขื DTOs ืืืืืืื (
ืฉืื ืืืื ืืื ืืคืฉืจื ืืืฆืืจ ืืงืื ืืื ืืจื ื 1C:Enterprise ืืืฉืืคื ืืช ืืืืืืื C++ ืฉื ืคืงืื JavaScript. ืื ื ืื ืกืื ืืฉืืืจ ืขื ืฉืืืืื ืคืื ืงืฆืืื ืื ืืื ืืงืืืืช ืืงืื ืืจืฉืช. ืืืงืจืื ืืื ืืืืจ ืืื ื ืืคืฉืจื, ืืืฉื ืขืงื ืืืืืืช ืฉื ื-JavaScript API ืืืืื (ืืืืืื, ืืืืืืช ืืขืืื ืขื ืงืืฆืื ืืืืืืช ืืืื), ืืจืื ืื ื ืืืืฉืืื ืืช ืืคืื ืงืฆืืื ืืืืช ืืืจืืฉื ืืืืฆืขืืช ืืจืืืืช ืืคืืคื ืืืชืืืืช ื-C++. ืืจืืข ืื ื ืชืืืืื ื-Internet Explorer ื-Microsoft Edge (Windows), Google Chrome (Windows), Firefox (Windows ื-Linux) ื-Safari (MacOS).
ืื ืืกืฃ, ืืื ืืืืืืืช ืืคืกืื ืื ืืืืื ืืฉืืฉืช ืืืฆืืจืช ืืืฉืง ืืืืฉืืืื ื ืืืืื ืืคืืืคืืจืืช 1C. ืืืืฉืืจืื ื ืืืืื, ืขืืืื ืืคืงืืื ืืืืฉื ืืืืฆืขืืช ืืื ืืืืืืืช ืืงืืจืืืช ืืืขืจืืช ืืืคืขืื, ืื ืขืืืจ ืืืืืืงื ืฉื ืคืจืืกืช ืืืืคืก ืืชืืืืช ืืืืฉืง, ื ืขืฉื ืฉืืืืฉ ืืืืชื ืงืื ืืื ืืคืืืคืืจืืช 1C:Enterprise "ืืืืืื".
ืืืฉืง 1C ืืืขืจืืช ืืืคืขืื ืืื ืืงืก
ืืืฉืง 1C ืืืืฉืืจ ื ืืื
ืืืฉืง 1C ืืคืืืคืืจืืืช ืืืจืืช
ืืืฉืง 1C ืืืขืจืืช ืืืคืขืื Windows
ืืืฉืง 1C - ืืงืื ืืื ืืจื ื
ืงืื ืคืชืื
ืืืจืืช ืฉืืื ื ื ืืฉืชืืฉืื ืืกืคืจืืืช ืกืื ืืจืืืืช ืขืืืจ ืืคืชืื C++ ืชืืช Windows (MFC, ืคืงืืื ื-WinAPI), ืื ื ืื ืืืชืืื ืืช ืื ืืจืืืืื ืืขืฆืื ื. ืืกืคืจืืื ืืืจ ืืืืืจื
cURL ืืขืืืื ืขื HTTP ื-FTP.OpenSSL ืืขืืืื ืขื ืงืจืืคืืืืจืคืื ืืืฆืืจืช ืืืืืจื TLSlibxml2 ื-libxslt ืขืืืจ ื ืืชืื XMLืืืืืคืื ืืขืืืื ืขื ืคืจืืืืงืืื ืืืืจ (POP3, SMTP, IMAP)ืึผืึนืึตื ืื ืชื ืืืืขืืช ืืืืจ ืืืงืืจืื ืืกืงืืื ืืืืกืื ืืืื ื ืืฉืชืืฉืืืืืืืงื ืืืืคืื ื ืืจืฅ ืืืื ืืืืืืืฆืื
ืืจืฉืืื ืขืื ืืจืืื.
ืื ืืกืฃ, ืื ื ืืฉืชืืฉืื ืืืจืกื ืฉืื ื ืืืื
ืืกืคืจืืืช ืืจืฉื ืืชืืื ืืื ืืืืืช ืชืืืืืช ืืืืื ืืืจืืื ืฉื ืจืืืื SCOM.
ืืฉืืืืืช ืฉื 1C ืืืคืืช ืืช ืืคืืืคืืจืื ืืืืื ืืื ืืฆืืื ืขืืืจ ืืกืคืจืืืช ืืืฉืืฉืืช ืื. ืืืืื ืืฉืชืืฉืื ืืชืจืืืฉืื ืืืฉืคืื ืืืืืจืืช ืฉืืืืืช ืืคืืื ืืืืืจื ืืงืื ืฉืืื ื ืขืฉื ืฉืืืืฉ ื ืืืจ ืืืืชืจ. ืื ื ืืชืงื ืื ืืืชื ืืขืฆืื ื ืืื ืกืื ืืืืืืจื ืืืืชืื ืืกืคืจืืื. ืืืืืช ืืืื ืืจืืงืฆืื ืืชืืจืจืช ืืฉืื ื ืืืื.
ืืคืชืืื
ืืกืงื ื
ืืืืืจ ื ืืขื ื ืืืกืคืจ ืืืืืื ืขืืงืจืืื ืฉื ืคืืชืื ืคืืืคืืจืืช 1C: Enterprise. ืืืืงืฃ ืืืฆืืืฆื ืฉื ืืืืืจ ื ืืขื ื ืจืง ืืืื ืืืืืื ืืขื ืืื ืื, ืืืขืชื ื,.
ื ืืชื ืืืฆืื ืชืืืืจ ืืืื ืฉื ืื ืื ืื ื ืืคืืืคืืจืื ืืฉืื ืื
ืืืื ื ืืฉืืื ืืขื ืืื ื ืืืชื ืืืืืจืื ืขืชืืืืื?
ืืืฆื ืืืืฉืืช ืืคืืืคืืจืื ืื ืืืืช 1C?
ืชืืืืจ ืืืื ื ืืคื ืืื ืฉื ืืงืื ืืืื ืืจื ื?
ืื ืืืื ืืชื ืืขืื ืืื ืืชืืืื ืฉื ืืืืจืช ืชืืื ืืช ืืืืืืจืืช ืืืฉืืช, ืคืืชืื ืืืืืงื?
ืืชืื ืืชืืืืืช!
ืืงืืจ: www.habr.com