α αα α!
αα
αααα»αα’ααααααααααΎαααΉαα
αΆααααααΎαααΏαα’αααΈαααααααααΆααααΎαααΆααα
ααΆααααα»α
α ααα»α’αααΈααΆαααΆααΎααα·αααΆααααα½αα±ααα
αΆααα’αΆαααααα? ααΈαα½α αααααΆααααα·ααΆ 1C:Enterprise 8 ααΊααΆαααααα·ααΈαααααα½α (α
αααΎαααΆα 10 ααΆααααααΆααααααΌα) αα
αααα»α C++ (αααΆαααΈαααααα αααΆαααΈαααααα) JavaScript (αααΆαααΈααααααααα ααααα) α αΎαααααΈαααα
ααΌα
ααααααΌαα
αΆααααααΎαα αα
αααα»αα’αααααααα ααΎαααΉααααααααΌααα·αααααΆαααΌαα
αααα
αα
αααα·ααααΆαα½αα
ααα½ααααααααΌαααΆαααααΎαα
αααα»ααααα·ααΆ αα·αααΌααααααΆαααααααΆα ααααα·αα
αΆαααΆα
αααααα»αααΉααααα
αα
αααα»αααΆαα’αα»αααααααααα ααΆααΆααα·αααΆαα αααααΆααααααααΆαααΆα
αααΎα ααΏααααα’α·αααΉαααααΌαααΆαα’αααααααΆα
ααααα‘αα α αΎααααααΆααα’ααααααα ααααα
ααΆααααΌα!
ααΎααααΈα
αΆααααααΎαααΆαα½α ααΆααΆαααααααααα»αααΆααααααα
α
α·αααααΎααΏαααΆααΌαααααΆα - ααΎ 1C: αααα·ααΆαα ααααΆαααΆα’αααΈ αα·ααααΆαααΆαα»α’αααΈαααααααααΆααΆαα α
ααααΎαα
αααααααα½ααααααΊαα·αααΆαααααα αααααααΆααα "αααα·ααΆ" (αααααΆααααΆαααααΈ ααΎαααΉαα α
ααΆααΆαα·ααΈααα) αααα
ααΎαααααααΆααααααΆαααααααΎααααααα·ααΈα’αΆααΈααααα ααα·ααΆααΆαααααΎαααΆα αα·αα§ααααααααααααααα αααΆαααΆαα»ααΆααααααα’αΆα
ααααΌαααΆααααααΆαααααααααααα
- α ααααααααΆαααΈααα
- αααΆαααΈαααααα "ααααΎα" αααα’αΆα ααααΆαααα αααΆαααΈαααααΆαααα http αα·ααα·ααΈααΆααααααααααααααΈαααααααΆα
- αααΆαααΈαααααααααααΆααααααΎααΆααα αααα»αααααΆααααααααααΈαααΆααααΆαα½αααΉαααΌαααααΆααα·αααααααααααΆαααΈααΆαααα ααΎααΆαααΉα α¬αααααααΆα
- αααΆαααΈααααααααα ααααα
- α§αααααααααααααααααΆαααΈααααααααα·ααΈ
- ααα·ααααΆαα’αα·αααααα (ααααΌαααΆαααααααΆααααΆααΆα’αααααααααα ααΆαααααααα)
- ααα·ααΆααΆααααααααΎαααΆααααααΆαα iOS, Android αα·α Windows Phone (αααα·ααΆα ααα 1C)
αααααααΆααα’ααααα ααΎαααααααααΆαααΈααααααααα ααααα ααααΌαααΆαααααααααα»α C++α ααααααβααΈβαααβααΆαβααΆαβαααααΆαβααΆαβααΈβαααβααααΈαβαααα
αααααα·ααΈααΎα
C ++03 ααααΌαααΆαααααΎααΎααααΈαααααΎααααααα·ααΈααΎαα αααααΆαα Windows Microsoft Visual C++ 12 (αααααααααααααΌαααααΆααΉα Windows XP) ααααΌαααΆαααααΎααΆα’αααα
ααααα αα·ααααααΆαα Linux αα·α Android - 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 αααααΆααααΈαα»α )α ααΆαααΆαα»ααααααα»αα αααΎαααΆααα½αααα αΆαα·α αααααΊααΆααΆααα·αααααΆα’αααΈαα½αααΆαα½αα ααα½αα
αααααα·ααΈααΆαααααα
ααΆααααΆαααΈααα·ααααααααααΆαααααααα·ααΆ
accnt
ααααα»αααα’αααα’αα·αααααααααααα·ααΈααααΎααΎααααΈαααααΎααααααααααΆααααααα (ααΆααΆαααααΈ αα·ααααααΈααααααα)
bsl
αααΆαααΈαααααα·ααααα·ααΆααΆαααααΆααααααα
nuke
ααΆαα’αα»ααααααααΆαααααα½αααααα’ααααααα
ααα’αααα
αα
αΆα
dbeng α¨
αααΆαααΈαααΌαααααΆααα·ααααααα―αααΆαα αααΆαααΈαααΌαααααΆααα·αααααααααΆαααΈαααα―αααΆαααΆααααααα’ααααΎ ISAM ααααα½ααααα
αΌαααααΎαααΆα SQL ααΆαααααααααα
wbbase
ααΆαααααΆααααΌαααααΆα αα·ααα»αααΆααααααΆααα’αα»ααααα
ααα»α
αααααΆααα’αααααααΎααΈαααΌ - ααααΆαααααα’α½α
ααΆαα
αΌαααααΎ 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 αααααΎααα½ααΆαα»αααΊααααααααΆααααααΎαααΆαααααΆαααα (α§. ααΎααα½ααΆααΈααΆα’ααααααααααΈααΆααααααΆαααα) α αΎαααααΆαααααΆααααΆαα½αααααΆααααααΆαααααΎααΌαααααΆααΈααααααααααα ααααΎαααΆα SCOM ααααΌαααΆαα αααααΆααααΆαα½ααααααααα‘αΆα OS α ααΌαα’ααα»αα ααααααΆαααα αα ααΆααααα»ααααααα·ααΈα’αααα’αΆα ααα½αααΆαααααΆααααααΌα αααα
SCOM_Process* process = core::current_process();
if (process)
return get_service<IMyService>(process);
ααΎαααΈααααα ααα ααΆααααααΆαααααΌαααααΎαααΆαα‘αΌααΈαα (SCOM) αααααααΆααααΆαα½ααααααααα‘αΆα α’αααα’αΆα ααα½αααΆααααααα·ααΈαααα’αα»ααααααΆααααααααααα―αααΆαααααΈα ααα»α αααα·αααααΆαααααα αααααααΆα αααααααΎαααΆααααα»ααααααααα‘αΆααααα½αα αααααΆααααααααααΆαααΈααααααααααΎαααααααΎαααααΎααΆαααΆαα½αααΌαααααΆααα·ααααααα―αααΆα - αα αααα»αααααΎαααΆα OS αα½αααΆαααααΎαααΆα SCOM ααΈα ααααα½αααααΌαααΆαααααΆααααΆαα½ααααΆαααΈαααααα αα·αααΈααΈαααΆαα½ααααΆαααΈαααα αα·ααΈααΆααααααααα’αα»ααααΆαα±ααααΎαααααα½αααααα½αααΆααααααααΌααααααΉαααααΎαααΆαααΆαααα ααΎααΌαααααΆααα·ααααααα―αααΆαααΌαααααΆα αα·ααα αααα»ααααααααΆαααΈαααααα-αααΆαααΈααα "αα·αααααΆαα" α ααααααααααΆααα―ααααααΆαααααααααΊααΎα ααα»ααααααΆαα’αα»αααααααα αΆαααΆααΆααΆααααααα
αααααα’ααααΎααααΌαααΆαααΆα SCOM ααΆαααααααα·ααααΆα’αΆααΈααααα αα·ααααααα ααα»α αααααΆαααα 1C: αα ααααΆαααααΌαααΆαα’αα»ααααα
α ααα»α αααααΆααα’αααααααΎ
ααααα·ααΈαααα’αααΈα
ααα»α
αααααΆααα ααΎααα·αααααΎααΆααααααααααααΈαααΌαααααααΆααα ααΆααααααααααααααααΎαααααΌαααΆαα’αα»αααααααααααΆαααα
ααΎ Windows API α αααααΆααααααααΈαα»α
αααααΆαααα½αααααΌαααΆααααααΎαα‘αΎααααααααΎαααΆαααΆαααααααααΆααα wxWidgetsα
αααααΆαααααααΆαααααααααααα·αα’αΆαααααααΎααααααααααααααα 1C: Enterprise α αΎαααααΌαααΆαααααΎααααΆααααααα½αααΎααα
αααα»αα§αααααααααΎααααΆααααΆααααα»αααΌα
ααα½αα
ααα½ααααα
αααα»αααααααααΆα
αααΎαααααΆαααααΆαα’αα·αααααα 1C: Enterprise ααΌαααΆαααααΆααααααααααααΆαααααΆααααααΌα ααα»ααααααΆαααααΆααααααΌαααααααααααααα
αααα»ααααααΆαααααΆαααΎαα‘αΎααααααααααααΊαααα»αααααΆα 2009 ααΆαα½αααΉαααΆαα
ααααααΆααααα 8.2 αα·αααΆαααααααα "ααααααααααααααα" α ααααααααΈααΎααΆαααααΆααααααΌαααΌαααΆααααααΆααααααααααααααααααΆαααααΆααααααΌαααΆααΌαααααΆα - ααΆαααΆαααα·αααααααΈααΆααααΈαααααααααΈααααααααΆαα»αα
αααα»αααΆααααα
α·ααααααααααααα αΌαααααΆαα»α ααΎαααΈαααααα αα
αααα»αααααΌααααΈ ααΆαααααααααααα·αααααΎαααΆααααααααΆααααΆαα½αααααα»ααααα ααα»ααααααΆαα½αααΉα DTOs αα·ααα (
ααΆαααααΆααααααΌαααΆαααααααΆαααααΎα±ααααΆα’αΆα
αααααΎα 1C:Enterprise web client αααα
αααααααααα·ααααΆ C++ ααααΆαααααααααα JavaScript α ααΎαααααΆααΆααααααΆααααΌααα»αααΆααααΆαα’αα·αα·ααααααΎα αα·αααα αααααα αααα»αααααΈαααααΆαα·αα’αΆα
αα
αα½α
α§ααΆα ααααααααΆααααααααααααα JavaScript API αααα’αΆα
ααααΎααΆα (α§ααΆα ααα αααααααΆααααα»αααΆαααααΎααΆαααΆαα½αα―αααΆαααΆαααααα·αααααΆαα) ααΎααααααα’αα»αααααα»αααΆαα
αΆαααΆα
ααααααααΎααααααααααααααααα·ααΈαα»ααααααααααααααα»α C++ α αα
αα
α»ααααααααΎαααΆαααα Internet Explorer αα·α Microsoft Edge (Windows), Google Chrome (Windows), Firefox (Windows αα·α Linux) αα·α Safari (MacOS) α
ααΎαααΈααα αα αα αααα·ααααΆαααααααααααΆααααααααααααααΌαααΆαααααΎααΎααααΈαααααΎαα ααα»α αααααΆαααααααΆαααααααα·ααΈααΌαααααααα ααΎαααα·ααΆ 1C α αα ααΎα§αααααα ααα ααΆααααααααααααααΌαααΆαααΌααααααααΎαα αα αααα·ααααΆαααααΆαααΎαααααΎαααΈααααααααααααα·ααααα·ααΆα ααα»αααααααααΆαααααααα·ααααΆααααααααααα αα·αααΆαααααΎαααα ααα»α αααααΆαα ααΌαααΌα ααααΆααααΌαααΆαααααΎααΌα αα αααα»α "αα" 1C: αααα·ααΆαα ααααΆαα
α
ααα»α
αααααΆαα 1C αα
ααΎ Linux OS
α
ααα»α
αααααΆαα 1C αα
ααΎα§αααααα
ααα
α
ααα»α
αααααΆαα 1C αα
ααΎαααα·ααΆααααααααα
α
ααα»α
αααααΆαα 1C αα
ααΎ Windows OS
α
ααα»α
αααααΆαα 1C - αααΆαααΈααααααααα ααααα
αααααβααΎαβα αα
αααααΈααΆααΎααα·αααααΎαααααΆααααααααααΆααααααΆααα’αααα’αα·αααααα C ++ αα
ααααα Windows (MFC, ααΆααααααααααααΈ WinAPI) ααΎααα·αααααααααΆαααΆαα»ααΆααα’ααααααααα½αα―αααα αααααΆαααβααααΌαβααΆαβααΎαβα‘αΎαβαα½α
βα αΎαα
cURL αααααΆααααααΎααΆαααΆαα½α HTTP αα·α FTP αOpenSSL & β§; αααααΆααααααΎααΆαααΆαα½α cryptography αα·ααααααΎαααΆααααααΆαα TLSlibxml2 αα·α libxslt αααααΆααααΆααα·ααΆα XMLlibetpan αααααΆααααααΎααΆαααΆαα½ααα·ααΈααΆααααα»ααα (POP3, SMTP, IMAP)ααααΎααααΆααααΆα ααΎααααΈαααααΆαα’ααΈαααsqllite αααααΆαααααααΆαα»ααααααα ααα»α’αααααααΎααααΆααICU αααααΆααα’ααααααΆαα·
αααααΈααααα
ααΎαααΈααα ααΎαααααΎαααααααααΆααααααααααααα
αααααΆαααβαααααΌαβα±ααβααΆαβααΆαβαααααβαααα½αβα±ααβααααΌαβααααΆβααΆαα½αβααααΌβα’αααααΆαβαααΆαααΆα SCOM α
αααααααΆα‘αααα 1C ααααΎα±αααααα·ααΆαααααααΆαααΆααΆαααΆαααααααααα’α₯αααα
αααααααΆαααααααΆααααααααΆαααααΎαα
αααα»αααΆα ααΆααα»αααααΆααα’αααααααΎααααΆαα αα·αααααΆααΈαααΌαααα αΆααααΆααα ααααΌαααα α»ααα
αααα»αααΌααααΈααααααααααααααααααΎαααα»αααααΌαα ααΎααααααααΌααα½αααααααααα½αα―α α αΎαααααΆααΆααααααα±αααα½ααααααα‘αααα
α’ααααα·αααααααααΆααααα·αα αααα·αααααααα’αααααααααααααα
ααΆαα»αααααΆααααΆααααΆααα
α’αααα’αα·αααααα
ααα ααααΈααααα·ααααΆα
αα
αααα»αα’ααααα ααΎαααΆααα·ααΆαα’αααΈαα·αααααΆαααααΆααααα½αα
ααα½αααααΆαα’αα·αααααα 1C: αααα·ααΆαα ααααΆαα αα
αααα»ααα·ααΆαααΆαααΆααααααααα’ααααα ααΎαααΆααααααΎα
ααα»α
αα½αα±ααα
αΆααα’αΆαααααααα½αα
ααα½αααα»ααααα ααΆααααα·αααααααΎα αα·αααααΆαα
ααΆααα·αααααΆααΌαα
ααααααααΆααααα·ααΆααααααα’αΆα
ααααΆα
ααΎαααααΆαααα’αααΈαααααααα’αααα
αΆααα’αΆαααααααα
αααα»αα’αααααααΆαααα’ααΆαα?
ααΎαααα·ααΆααΌααααααα
ααα 1C ααααΌαααΆαα’αα»αααααααΆαααΌα
ααααα
?
ααΆααα·αααααΆα’αααΈαα
ααΆαααααααααααααααα»ααααααααΆαααΈααααααααα ααααα?
α¬αααα ααααΆα’αααα
αΆααα’αΆααααααααΎααααΎαααΆαααααΆαααααΎαααΎααααααααα·ααααααααΆααααΆαα
ααααααΆαααααΈ ααΆαα’αα·αααααα αα·αααΆααααα?
ααααααα
αααα»αααα·ααααα!
ααααα: www.habr.com