├── .gitattributes ├── .gitignore ├── change-log.txt ├── demo ├── .gitignore ├── 1C │ └── 1Cv8.1CD ├── demo_dev.cpp ├── dllmain.cpp ├── esb_app_config.h ├── esb_demo.sln ├── esb_demo.vcxproj └── esb_demo.vcxproj.filters ├── emitter └── Platform │ ├── v8.3.09 │ ├── dilib830000000.dat32 │ └── elib.dat32 │ └── v8.3.22 │ ├── dilib832300000.dat32 │ └── elib.dat32 ├── esb-license.txt ├── esb_studio ├── EsbStudio.vsix_ ├── EsbStudio │ ├── EsbProjectTemplateWizardImplementation.cs │ ├── EsbProjectTemplateWizardPackage.cs │ ├── EsbStudio.csproj │ ├── EsbStudio.sln │ ├── ProjectTemplateFiles │ │ ├── 1s_files │ │ │ ├── CommonModules │ │ │ │ ├── EsbCommon.xml │ │ │ │ ├── EsbCommon │ │ │ │ │ └── Ext │ │ │ │ │ │ └── Module.bsl │ │ │ │ ├── EsbComponent.xml │ │ │ │ ├── EsbComponent │ │ │ │ │ └── Ext │ │ │ │ │ │ └── Module.bsl │ │ │ │ ├── EsbManager.xml │ │ │ │ └── EsbManager │ │ │ │ │ └── Ext │ │ │ │ │ └── Module.bsl │ │ │ ├── Configuration.xml │ │ │ ├── Ext │ │ │ │ └── OrdinaryApplicationModule.bsl │ │ │ └── Languages │ │ │ │ └── Русский.xml │ │ ├── EsbProjectTemplate.vstemplate │ │ ├── _1s_create.cmd │ │ ├── _1s_run.cmd │ │ ├── _esb_1s_property_page_schema.xml │ │ ├── _esb_props_ui.xml │ │ ├── directory.build.props │ │ ├── directory.build.targets │ │ ├── dllmain.cpp │ │ ├── esb.h │ │ ├── esb_app_config.h │ │ ├── esb_proj_template.jpg │ │ ├── esb_studio_readme.txt │ │ ├── esb_template.vcxproj │ │ ├── esb_template.vcxproj.filters │ │ └── esbmain.cpp │ ├── ProjectTemplateMaker │ │ ├── App.config │ │ ├── FrmMaker.Designer.cs │ │ ├── FrmMaker.cs │ │ ├── FrmMaker.resx │ │ ├── Program.cs │ │ ├── ProjectTemplateMaker.csproj │ │ ├── Properties │ │ │ ├── AssemblyInfo.cs │ │ │ ├── Resources.Designer.cs │ │ │ ├── Resources.resx │ │ │ ├── Settings.Designer.cs │ │ │ └── Settings.settings │ │ └── proj_template_copy.sln │ ├── ProjectTemplateVCProject │ │ ├── 1s_files │ │ │ ├── CommonModules │ │ │ │ ├── EsbCommon.xml │ │ │ │ ├── EsbCommon │ │ │ │ │ └── Ext │ │ │ │ │ │ └── Module.bsl │ │ │ │ ├── EsbComponent.xml │ │ │ │ ├── EsbComponent │ │ │ │ │ └── Ext │ │ │ │ │ │ └── Module.bsl │ │ │ │ ├── EsbManager.xml │ │ │ │ └── EsbManager │ │ │ │ │ └── Ext │ │ │ │ │ └── Module.bsl │ │ │ ├── Configuration.xml │ │ │ ├── Ext │ │ │ │ └── OrdinaryApplicationModule.bsl │ │ │ └── Languages │ │ │ │ └── Русский.xml │ │ ├── _1s_create.cmd │ │ ├── _1s_run.cmd │ │ ├── _esb_1s_property_page_schema.xml │ │ ├── _esb_props_ui.xml │ │ ├── directory.build.props │ │ ├── directory.build.targets │ │ ├── dllmain.cpp │ │ ├── esb.h │ │ ├── esb_app_config.h │ │ ├── esb_proj_template.jpg │ │ ├── esb_studio_readme.txt │ │ ├── esb_template.sln │ │ ├── esb_template.vcxproj │ │ ├── esb_template.vcxproj.filters │ │ ├── esbmain.cpp │ │ ├── vstemplate._vstemplate │ │ └── vstemplate._vstemplate_lst │ ├── Properties │ │ └── AssemblyInfo.cs │ ├── WizardForm.cs │ ├── WizardForm.designer.cs │ ├── WizardForm.resx │ ├── WizardForm │ │ ├── App.config │ │ ├── Program.cs │ │ ├── Properties │ │ │ ├── AssemblyInfo.cs │ │ │ ├── Resources.Designer.cs │ │ │ ├── Resources.resx │ │ │ ├── Settings.Designer.cs │ │ │ └── Settings.settings │ │ ├── esb_proj_template_dialog.csproj │ │ ├── esb_proj_template_dialog.sln │ │ └── packages.config │ ├── app.cs │ ├── esb_studio_key.snk │ ├── esb_studio_outfile.key │ ├── esb_studio_snk.snk │ ├── esb_studio_snk.txt │ ├── esb_studio_snk_outfile.key │ └── source.extension.vsixmanifest ├── EslLanguage.vsix_ └── EslLanguage │ ├── EslGrammar │ ├── EslContextHelpers.cs │ ├── EslContext_Esb.cs │ ├── EslContext_Global.cs │ ├── EslDeclarations.cs │ ├── EslEngine.cs │ ├── EslEngineUI.cs │ ├── EslGrammar.cs │ ├── EslHashSet.cs │ ├── EslLanguageService.cs │ ├── EslParse.cs │ ├── EslParseOn.cs │ ├── EslParseResult.cs │ ├── EslParseSink.cs │ ├── EslSource.cs │ ├── EslTokenizer.cs │ └── EslTypeSystem.cs │ ├── EslLanguage.csproj │ ├── EslLanguage.sln │ ├── EslLanguagePackage.cs │ ├── Properties │ └── AssemblyInfo.cs │ ├── _test │ └── EslApplicationModule.esl │ └── source.extension.vsixmanifest ├── include └── esb │ ├── 1c │ ├── 1c_api.h │ ├── 1c_api_native.h │ ├── 1c_api_providers.h │ ├── 1c_data.h │ ├── 1c_file.h │ ├── v8309 │ │ ├── es1_all.def.h │ │ ├── es1_api.h │ │ ├── es1_api_providers.def │ │ ├── es1_api_providers.def.h │ │ ├── es1_api_providers.h │ │ ├── es1_base.def │ │ ├── es1_base.def.h │ │ ├── es1_data.def │ │ ├── es1_data.def.h │ │ ├── es1_data.h │ │ ├── es1_file.def │ │ ├── es1_file.def.h │ │ ├── es1_file.h │ │ ├── es1_main.def │ │ ├── es1_main.def.h │ │ ├── es1_main.h │ │ ├── esdisp.h │ │ ├── esdisp_all.h │ │ ├── esdisp_api.h │ │ ├── esdisp_base.h │ │ ├── esdisp_data.h │ │ ├── esdisp_file.h │ │ └── esdisp_main.h │ └── v8323 │ │ ├── es1_all.def.h │ │ ├── es1_api.h │ │ ├── es1_api_providers.def │ │ ├── es1_api_providers.def.h │ │ ├── es1_api_providers.h │ │ ├── es1_base.def │ │ ├── es1_base.def.h │ │ ├── es1_data.def │ │ ├── es1_data.def.h │ │ ├── es1_data.h │ │ ├── es1_file.def │ │ ├── es1_file.def.h │ │ ├── es1_file.h │ │ ├── es1_main.def │ │ ├── es1_main.def.h │ │ ├── es1_main.h │ │ ├── esdisp.h │ │ ├── esdisp_all.h │ │ ├── esdisp_api.h │ │ ├── esdisp_base.h │ │ ├── esdisp_data.h │ │ ├── esdisp_file.h │ │ └── esdisp_main.h │ ├── afx │ ├── afx_base.h │ ├── afx_meta_fields.h │ ├── afx_pp.h │ ├── afx_serialize.h │ ├── afx_tuple.h │ ├── afx_ustring.h │ └── afx_util.h │ ├── es1addin.h │ ├── es1addin_v8300 │ ├── AddInDefBase.h │ ├── ComponentBase.h │ ├── IMemoryManager.h │ ├── MANIFEST.xsd │ ├── NPAPILib.h │ ├── addin.idl │ ├── com.h │ └── types.h │ ├── es1addin_v8311 │ ├── AddInDefBase.h │ ├── ComponentBase.h │ ├── IAndroidComponentHelper.h │ ├── IMemoryManager.h │ ├── MANIFEST.xsd │ ├── addin.idl │ ├── addinlib.h │ ├── com.h │ ├── mobile.h │ └── types.h │ ├── esb.h │ ├── esb_base.h │ ├── esb_base_helpers.h │ ├── esb_config.h │ ├── esb_config_base.h │ ├── esb_core.h │ ├── esb_core_interface.h │ ├── esb_errors.h │ ├── esb_ext.h │ ├── esb_meta.h │ ├── esb_pragmas.h │ ├── esb_util.h │ ├── esb_winmin.h │ ├── esb_winmincom.h │ ├── esbldr.h │ └── esbldr_component_cpp.h ├── lib ├── clean_all.cmd ├── v8309Debug │ ├── w32 │ │ └── esbhlp.lib │ └── w64 │ │ └── esbhlp.lib ├── v8309Release │ ├── w32 │ │ └── esbhlp.lib │ └── w64 │ │ └── esbhlp.lib ├── v8323Debug │ ├── w32 │ │ └── esbhlp.lib │ └── w64 │ │ └── esbhlp.lib └── v8323Release │ ├── w32 │ └── esbhlp.lib │ └── w64 │ └── esbhlp.lib └── readme.md /.gitattributes: -------------------------------------------------------------------------------- 1 | ############################################################################### 2 | # Set default behavior to automatically normalize line endings. 3 | ############################################################################### 4 | * text=auto 5 | 6 | ############################################################################### 7 | # Set default behavior for command prompt diff. 8 | # 9 | # This is need for earlier builds of msysgit that does not have it on by 10 | # default for csharp files. 11 | # Note: This is only used by command line 12 | ############################################################################### 13 | #*.cs diff=csharp 14 | 15 | ############################################################################### 16 | # Set the merge driver for project and solution files 17 | # 18 | # Merging from the command prompt will add diff markers to the files if there 19 | # are conflicts (Merging from VS is not affected by the settings below, in VS 20 | # the diff markers are never inserted). Diff markers may cause the following 21 | # file extensions to fail to load in VS. An alternative would be to treat 22 | # these files as binary and thus will always conflict and require user 23 | # intervention with every merge. To do so, just uncomment the entries below 24 | ############################################################################### 25 | #*.sln merge=binary 26 | #*.csproj merge=binary 27 | #*.vbproj merge=binary 28 | #*.vcxproj merge=binary 29 | #*.vcproj merge=binary 30 | #*.dbproj merge=binary 31 | #*.fsproj merge=binary 32 | #*.lsproj merge=binary 33 | #*.wixproj merge=binary 34 | #*.modelproj merge=binary 35 | #*.sqlproj merge=binary 36 | #*.wwaproj merge=binary 37 | 38 | ############################################################################### 39 | # behavior for image files 40 | # 41 | # image files are treated as binary by default. 42 | ############################################################################### 43 | #*.jpg binary 44 | #*.png binary 45 | #*.gif binary 46 | 47 | ############################################################################### 48 | # diff behavior for common document formats 49 | # 50 | # Convert binary document formats to text before diffing them. This feature 51 | # is only available from the command line. Turn it on by uncommenting the 52 | # entries below. 53 | ############################################################################### 54 | #*.doc diff=astextplain 55 | #*.DOC diff=astextplain 56 | #*.docx diff=astextplain 57 | #*.DOCX diff=astextplain 58 | #*.dot diff=astextplain 59 | #*.DOT diff=astextplain 60 | #*.pdf diff=astextplain 61 | #*.PDF diff=astextplain 62 | #*.rtf diff=astextplain 63 | #*.RTF diff=astextplain 64 | -------------------------------------------------------------------------------- /change-log.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/int-unsigned/esb/1c7b4c0dc24dd97ceab08b65fc13914349920c06/change-log.txt -------------------------------------------------------------------------------- /demo/.gitignore: -------------------------------------------------------------------------------- 1 | *test*.txt 2 | esb_app_config.h 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /demo/1C/1Cv8.1CD: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/int-unsigned/esb/1c7b4c0dc24dd97ceab08b65fc13914349920c06/demo/1C/1Cv8.1CD -------------------------------------------------------------------------------- /demo/demo_dev.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/int-unsigned/esb/1c7b4c0dc24dd97ceab08b65fc13914349920c06/demo/demo_dev.cpp -------------------------------------------------------------------------------- /demo/esb_app_config.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #ifndef ESB_APP_CONFIG_H_ 3 | #define ESB_APP_CONFIG_H_ 4 | 5 | // Данный файл описывает конфигурацию Вашего ЕСБ-приложения. Он должен быть включен до включения esb.h 6 | // (или, если этот файл доступен для включения из esb_config.h подключит его сам. см. esb_config.h) 7 | 8 | 9 | // Версия платформы (и есб соответственно) (допустимые значения 8300, 8311, 8320, 8323) 10 | // Вы можете указать ее здесь принудительно иначе esb_app.h настроит последнюю доступную (8323). 11 | // (для esb_demo указывается в свойствах проекта) 12 | #ifndef ESB_VER 13 | # define ESB_VER 8309 14 | #endif 15 | 16 | 17 | 18 | // Контролирует принудительное конструирование есб-строки String из с++ строки 19 | // Необходимо помнить, что любое создание есб-строки - это создание строки в пуле памяти 1С и по возможности избегать лишней нагрузки на память 20 | #define ESB_USE_EXPLICIT_STRING 1 21 | 22 | // То же самое для есб-числа. Любое есб-число это нетривиальный объект 1С, который также конструируется платформой. 23 | // Если не контролировать его создание, то очень легко даже не желая того перегрузить пул памяти 1С, т.к. в с++ числа используются очень часто, много 24 | // и обычно в с++ Вы не задумываетесь когда пишете 2+2. 25 | #define ESB_USE_EXPLICIT_NUMERIC 0 26 | 27 | // Экспериментальная функция разрешения диспатч имен в идентификаторы методов из с++ строки, а не 1С строки (т.е. без лишних аллокаций) 28 | // (при странном и неадекватном поведении можно отключить) 29 | #define ESB_USE_OBJECT_DISPATCH_FIND_STRVIEW_HACK 1 30 | 31 | // Экспериментальный прямой доступ к содержимому BinaryDataBuffer минуя диспатч интерфейс. Только для для v8300. (см.esb_es_file.h::BinaryDataBuffer) 32 | // Точно работает в 8.3.9.1818 х86, 8.3.10.2772 х64, 8.3.11.2831 х86 33 | // Точно не работает в 8.3.23.1688 34 | // Видимо изменения были где-то между 8.3.11.2831 и 8.3.23.1688, но когда точно - неизвестно. Нужно экспериментировать и проверять. 35 | #define ESB_USE_BYTEBUFFER_DIRECT_HACK_v8300 0 36 | 37 | // Для демонстрации возможности есб-по-русски. 38 | #define ESB_USE_RUSSIAN 1 39 | 40 | // По умолчанию конфигурация есб не подключает АПИ платформы. При желании нужно указать это. Также можно подключать АПИ отдельно по каждому провайдеру. 41 | #define ESB_USE_API_ALL 1 42 | 43 | // для использования ЕСБ как SCOM модуля или подключайте компоненту из bin директории 1С (Вы должны иметь права на доступ к этой директории!), 44 | // или используйте закгрузку при помощи ms-detours (это удобно для отладочных сборок, но категорически не рекомендуется для релиза) 45 | // (вам нужно скачать его из https://github.com/microsoft/Detours, скомпилировать для Вашего компьютера и прописать в ESB_USE_DETOUR_PATH ваш путь к библиотеке) 46 | // использование ЕСБ не как SCOM модуль, а как объект компоненты также возможно, но нужно внимательно следить чтобы все объекты созданные и запомненные 47 | // в глобальных переменных 1С были освобождены до освобождения самого объекта ЕСБ и сама переменная хранящая объект ЕСБ была очищена в 48 | // Процедуре ПриЗавершенииРаботыСистемы(). 49 | #define ESB_USE_DETOUR 1 50 | #define ESB_USE_DETOUR_PATH ../../../$cpp/ms-detours/detours 51 | 52 | #endif //ESB_APP_CONFIG_H_ -------------------------------------------------------------------------------- /demo/esb_demo.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio Version 16 4 | VisualStudioVersion = 16.0.32407.337 5 | MinimumVisualStudioVersion = 10.0.40219.1 6 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "esb_demo", "esb_demo.vcxproj", "{F4504887-A8AB-48BA-AB37-1B7761E80AD3}" 7 | EndProject 8 | Global 9 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 10 | v8309Debug|x64 = v8309Debug|x64 11 | v8309Debug|x86 = v8309Debug|x86 12 | v8309Release|x64 = v8309Release|x64 13 | v8309Release|x86 = v8309Release|x86 14 | v8311Debug|x64 = v8311Debug|x64 15 | v8311Debug|x86 = v8311Debug|x86 16 | v8311Release|x64 = v8311Release|x64 17 | v8311Release|x86 = v8311Release|x86 18 | v8320Debug|x64 = v8320Debug|x64 19 | v8320Debug|x86 = v8320Debug|x86 20 | v8320Release|x64 = v8320Release|x64 21 | v8320Release|x86 = v8320Release|x86 22 | v8323Debug|x64 = v8323Debug|x64 23 | v8323Debug|x86 = v8323Debug|x86 24 | v8323Release|x64 = v8323Release|x64 25 | v8323Release|x86 = v8323Release|x86 26 | EndGlobalSection 27 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 28 | {F4504887-A8AB-48BA-AB37-1B7761E80AD3}.v8309Debug|x64.ActiveCfg = v8309Debug|x64 29 | {F4504887-A8AB-48BA-AB37-1B7761E80AD3}.v8309Debug|x64.Build.0 = v8309Debug|x64 30 | {F4504887-A8AB-48BA-AB37-1B7761E80AD3}.v8309Debug|x86.ActiveCfg = v8309Debug|Win32 31 | {F4504887-A8AB-48BA-AB37-1B7761E80AD3}.v8309Debug|x86.Build.0 = v8309Debug|Win32 32 | {F4504887-A8AB-48BA-AB37-1B7761E80AD3}.v8309Release|x64.ActiveCfg = v8309Release|x64 33 | {F4504887-A8AB-48BA-AB37-1B7761E80AD3}.v8309Release|x64.Build.0 = v8309Release|x64 34 | {F4504887-A8AB-48BA-AB37-1B7761E80AD3}.v8309Release|x86.ActiveCfg = v8309Release|Win32 35 | {F4504887-A8AB-48BA-AB37-1B7761E80AD3}.v8309Release|x86.Build.0 = v8309Release|Win32 36 | {F4504887-A8AB-48BA-AB37-1B7761E80AD3}.v8311Debug|x64.ActiveCfg = v8311Debug|x64 37 | {F4504887-A8AB-48BA-AB37-1B7761E80AD3}.v8311Debug|x64.Build.0 = v8311Debug|x64 38 | {F4504887-A8AB-48BA-AB37-1B7761E80AD3}.v8311Debug|x86.ActiveCfg = v8311Debug|Win32 39 | {F4504887-A8AB-48BA-AB37-1B7761E80AD3}.v8311Debug|x86.Build.0 = v8311Debug|Win32 40 | {F4504887-A8AB-48BA-AB37-1B7761E80AD3}.v8311Release|x64.ActiveCfg = v8311Release|x64 41 | {F4504887-A8AB-48BA-AB37-1B7761E80AD3}.v8311Release|x64.Build.0 = v8311Release|x64 42 | {F4504887-A8AB-48BA-AB37-1B7761E80AD3}.v8311Release|x86.ActiveCfg = v8311Release|Win32 43 | {F4504887-A8AB-48BA-AB37-1B7761E80AD3}.v8311Release|x86.Build.0 = v8311Release|Win32 44 | {F4504887-A8AB-48BA-AB37-1B7761E80AD3}.v8320Debug|x64.ActiveCfg = v8320Debug|x64 45 | {F4504887-A8AB-48BA-AB37-1B7761E80AD3}.v8320Debug|x64.Build.0 = v8320Debug|x64 46 | {F4504887-A8AB-48BA-AB37-1B7761E80AD3}.v8320Debug|x86.ActiveCfg = v8320Debug|Win32 47 | {F4504887-A8AB-48BA-AB37-1B7761E80AD3}.v8320Debug|x86.Build.0 = v8320Debug|Win32 48 | {F4504887-A8AB-48BA-AB37-1B7761E80AD3}.v8320Release|x64.ActiveCfg = v8320Release|x64 49 | {F4504887-A8AB-48BA-AB37-1B7761E80AD3}.v8320Release|x64.Build.0 = v8320Release|x64 50 | {F4504887-A8AB-48BA-AB37-1B7761E80AD3}.v8320Release|x86.ActiveCfg = v8320Release|Win32 51 | {F4504887-A8AB-48BA-AB37-1B7761E80AD3}.v8320Release|x86.Build.0 = v8320Release|Win32 52 | {F4504887-A8AB-48BA-AB37-1B7761E80AD3}.v8323Debug|x64.ActiveCfg = v8323Debug|x64 53 | {F4504887-A8AB-48BA-AB37-1B7761E80AD3}.v8323Debug|x64.Build.0 = v8323Debug|x64 54 | {F4504887-A8AB-48BA-AB37-1B7761E80AD3}.v8323Debug|x86.ActiveCfg = v8323Debug|Win32 55 | {F4504887-A8AB-48BA-AB37-1B7761E80AD3}.v8323Debug|x86.Build.0 = v8323Debug|Win32 56 | {F4504887-A8AB-48BA-AB37-1B7761E80AD3}.v8323Release|x64.ActiveCfg = v8323Release|x64 57 | {F4504887-A8AB-48BA-AB37-1B7761E80AD3}.v8323Release|x64.Build.0 = v8323Release|x64 58 | {F4504887-A8AB-48BA-AB37-1B7761E80AD3}.v8323Release|x86.ActiveCfg = v8323Release|Win32 59 | {F4504887-A8AB-48BA-AB37-1B7761E80AD3}.v8323Release|x86.Build.0 = v8323Release|Win32 60 | EndGlobalSection 61 | GlobalSection(SolutionProperties) = preSolution 62 | HideSolutionNode = FALSE 63 | EndGlobalSection 64 | GlobalSection(ExtensibilityGlobals) = postSolution 65 | SolutionGuid = {F133B475-76F0-4C52-B800-35E66FDC167E} 66 | EndGlobalSection 67 | EndGlobal 68 | -------------------------------------------------------------------------------- /demo/esb_demo.vcxproj.filters: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | {4FC737F1-C7A5-4376-A066-2A32D752A2FF} 6 | cpp;c;cc;cxx;c++;cppm;ixx;def;odl;idl;hpj;bat;asm;asmx 7 | 8 | 9 | {93995380-89BD-4b04-88EB-625FBE52EBFB} 10 | h;hh;hpp;hxx;h++;hm;inl;inc;ipp;xsd 11 | 12 | 13 | {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} 14 | rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms 15 | 16 | 17 | {35bbdc9b-fa28-4df5-9dfc-e7a14af09561} 18 | 19 | 20 | {af2f12ac-5b3d-4eb7-a328-210eada28f47} 21 | 22 | 23 | {a43a181c-f39c-46d3-ba03-9241c83a57b4} 24 | 25 | 26 | 27 | 28 | Исходные файлы 29 | 30 | 31 | Исходные файлы 32 | 33 | 34 | 35 | 36 | Файлы заголовков 37 | 38 | 39 | Файлы заголовков\1C-v8309 40 | 41 | 42 | Файлы заголовков\1C-v8309 43 | 44 | 45 | Файлы заголовков\1C-v8309 46 | 47 | 48 | Файлы заголовков\1C-v8309 49 | 50 | 51 | Файлы заголовков\1C-v8323 52 | 53 | 54 | Файлы заголовков\1C-v8323 55 | 56 | 57 | Файлы заголовков\1C-v8323 58 | 59 | 60 | Файлы заголовков\1C-v8323 61 | 62 | 63 | Файлы заголовков\esb 64 | 65 | 66 | Файлы заголовков\esb 67 | 68 | 69 | Файлы заголовков\esb 70 | 71 | 72 | Файлы заголовков\esb 73 | 74 | 75 | Файлы заголовков\esb 76 | 77 | 78 | Файлы заголовков\esb 79 | 80 | 81 | Файлы заголовков\esb 82 | 83 | 84 | -------------------------------------------------------------------------------- /emitter/Platform/v8.3.09/dilib830000000.dat32: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/int-unsigned/esb/1c7b4c0dc24dd97ceab08b65fc13914349920c06/emitter/Platform/v8.3.09/dilib830000000.dat32 -------------------------------------------------------------------------------- /emitter/Platform/v8.3.09/elib.dat32: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/int-unsigned/esb/1c7b4c0dc24dd97ceab08b65fc13914349920c06/emitter/Platform/v8.3.09/elib.dat32 -------------------------------------------------------------------------------- /emitter/Platform/v8.3.22/dilib832300000.dat32: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/int-unsigned/esb/1c7b4c0dc24dd97ceab08b65fc13914349920c06/emitter/Platform/v8.3.22/dilib832300000.dat32 -------------------------------------------------------------------------------- /emitter/Platform/v8.3.22/elib.dat32: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/int-unsigned/esb/1c7b4c0dc24dd97ceab08b65fc13914349920c06/emitter/Platform/v8.3.22/elib.dat32 -------------------------------------------------------------------------------- /esb-license.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/int-unsigned/esb/1c7b4c0dc24dd97ceab08b65fc13914349920c06/esb-license.txt -------------------------------------------------------------------------------- /esb_studio/EsbStudio.vsix_: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/int-unsigned/esb/1c7b4c0dc24dd97ceab08b65fc13914349920c06/esb_studio/EsbStudio.vsix_ -------------------------------------------------------------------------------- /esb_studio/EsbStudio/EsbProjectTemplateWizardPackage.cs: -------------------------------------------------------------------------------- 1 | using Microsoft.VisualStudio.Shell; 2 | using System; 3 | using System.Runtime.InteropServices; 4 | using System.Threading; 5 | using Task = System.Threading.Tasks.Task; 6 | 7 | //** Как пошаговое руководство использовал это. Все этапы в одном месте 8 | //** Use wizards with project templates 9 | //https://learn.microsoft.com/en-us/visualstudio/extensibility/how-to-use-wizards-with-project-templates?view=vs-2022 10 | 11 | 12 | //https://learn.microsoft.com/en-us/dotnet/api/microsoft.visualstudio.shell.asyncpackage?view=visualstudiosdk-2022 13 | // Хотя МС настаивает, что сейчас нужно делать ТОЛЬКО Асинх 14 | // но в документации для просто Package информации больше. Можно и что-то в своей ветке реестра создавать.. 15 | //https://learn.microsoft.com/en-us/dotnet/api/microsoft.visualstudio.shell.package?view=visualstudiosdk-2022 16 | 17 | //Расширение Visual Studio не загружается в экспериментальном экземпляре 18 | //https://stackoverflow.com/questions/26961669/visual-studio-extension-does-not-load-in-experimental-instance 19 | //* Хрен пойми что написано, но вся инфа о "эксперементальной студии" в 20 | //* c:\Users\ИМЯ\AppData\Local\Microsoft\VisualStudio\16.0_87a5a19cExp 21 | //* где 16.0_87a5a19 собственно студия, а Exp суффикс указанный на вкладке ОТЛАДКА /rootsuffix Exp 22 | //* вроде говорят что эту папку можно даже полностью удалять - она пересоздастся - хз.. 23 | //* но полностью очищать подпапку Extensions и удалять всякое ProjectTemplatesCache_{00000000-0000-0000-0000-000000000000} 24 | //* ПОМОГАЕТ 25 | // 26 | // Также можно открыть c:\Users\ИМЯ\AppData\Local\Microsoft\VisualStudio\16.0_87a5a19cExp\privateregistry.bin 27 | // в редакторе реестра (подключить ветвь и отключить не забыть) и что-то пытаться настраивать... хз - там 12 мегабайт всякого разного... 28 | // 29 | 30 | 31 | 32 | namespace EsbStudio 33 | { 34 | /// 35 | /// This is the class that implements the package exposed by this assembly. 36 | /// 37 | /// 38 | /// 39 | /// The minimum requirement for a class to be considered a valid package for Visual Studio 40 | /// is to implement the IVsPackage interface and register itself with the shell. 41 | /// This package uses the helper classes defined inside the Managed Package Framework (MPF) 42 | /// to do it: it derives from the Package class that provides the implementation of the 43 | /// IVsPackage interface and uses the registration attributes defined in the framework to 44 | /// register itself and its components with the shell. These attributes tell the pkgdef creation 45 | /// utility what data to put into .pkgdef file. 46 | /// 47 | /// 48 | /// To get loaded into VS, the package must be referred by <Asset Type="Microsoft.VisualStudio.VsPackage" ...> in .vsixmanifest file. 49 | /// 50 | /// 51 | [PackageRegistration(UseManagedResourcesOnly = true, AllowsBackgroundLoading = true)] 52 | [Guid(EsbProjectTemplateWizardPackage.PackageGuidString)] 53 | public sealed class EsbProjectTemplateWizardPackage : AsyncPackage 54 | { 55 | /// 56 | /// EsbProjectTemplateWizardPackage GUID string. 57 | /// 58 | public const string PackageGuidString = "905087df-0172-4e78-96ff-249209ba9374"; 59 | 60 | #region Package Members 61 | 62 | /// 63 | /// Initialization of the package; this method is called right after the package is sited, so this is the place 64 | /// where you can put all the initialization code that rely on services provided by VisualStudio. 65 | /// 66 | /// A cancellation token to monitor for initialization cancellation, which can occur when VS is shutting down. 67 | /// A provider for progress updates. 68 | /// A task representing the async work of package initialization, or an already completed task if there is none. Do not return null from this method. 69 | protected override async Task InitializeAsync(CancellationToken cancellationToken, IProgress progress) 70 | { 71 | // When initialized asynchronously, the current thread may be a background thread at this point. 72 | // Do any initialization that requires the UI thread after switching to the UI thread. 73 | await this.JoinableTaskFactory.SwitchToMainThreadAsync(cancellationToken); 74 | 75 | //VS.Events.SolutionEvents.OnAfterOpenProject += OnAfterOpenProject; 76 | } 77 | 78 | #endregion 79 | } 80 | } 81 | -------------------------------------------------------------------------------- /esb_studio/EsbStudio/EsbStudio.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio Version 16 4 | VisualStudioVersion = 16.0.32901.82 5 | MinimumVisualStudioVersion = 10.0.40219.1 6 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "EsbStudio", "EsbStudio.csproj", "{AE000EE0-4AC9-4582-A506-F177064FF9AC}" 7 | EndProject 8 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ProjectTemplateMaker", "ProjectTemplateMaker\ProjectTemplateMaker.csproj", "{23E017EA-3582-41B0-BDA7-BED1854B66C7}" 9 | EndProject 10 | Global 11 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 12 | Debug|Any CPU = Debug|Any CPU 13 | Release|Any CPU = Release|Any CPU 14 | EndGlobalSection 15 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 16 | {AE000EE0-4AC9-4582-A506-F177064FF9AC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 17 | {AE000EE0-4AC9-4582-A506-F177064FF9AC}.Debug|Any CPU.Build.0 = Debug|Any CPU 18 | {AE000EE0-4AC9-4582-A506-F177064FF9AC}.Release|Any CPU.ActiveCfg = Release|Any CPU 19 | {AE000EE0-4AC9-4582-A506-F177064FF9AC}.Release|Any CPU.Build.0 = Release|Any CPU 20 | {23E017EA-3582-41B0-BDA7-BED1854B66C7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 21 | {23E017EA-3582-41B0-BDA7-BED1854B66C7}.Debug|Any CPU.Build.0 = Debug|Any CPU 22 | {23E017EA-3582-41B0-BDA7-BED1854B66C7}.Release|Any CPU.ActiveCfg = Release|Any CPU 23 | {23E017EA-3582-41B0-BDA7-BED1854B66C7}.Release|Any CPU.Build.0 = Release|Any CPU 24 | EndGlobalSection 25 | GlobalSection(SolutionProperties) = preSolution 26 | HideSolutionNode = FALSE 27 | EndGlobalSection 28 | GlobalSection(ExtensibilityGlobals) = postSolution 29 | SolutionGuid = {E74D6553-D882-415C-8202-4AB19631069B} 30 | EndGlobalSection 31 | EndGlobal 32 | -------------------------------------------------------------------------------- /esb_studio/EsbStudio/ProjectTemplateFiles/1s_files/CommonModules/EsbCommon.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | EsbCommon 6 | 7 | 8 | ru 9 | ЕсбОбщий 10 | 11 | 12 | 13 | true 14 | false 15 | false 16 | false 17 | true 18 | false 19 | false 20 | DontUse 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /esb_studio/EsbStudio/ProjectTemplateFiles/1s_files/CommonModules/EsbComponent.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | EsbComponent 6 | 7 | 8 | ru 9 | ЕсбКомпонент 10 | 11 | 12 | 13 | false 14 | false 15 | false 16 | false 17 | true 18 | false 19 | false 20 | DontUse 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /esb_studio/EsbStudio/ProjectTemplateFiles/1s_files/CommonModules/EsbComponent/Ext/Module.bsl: -------------------------------------------------------------------------------- 1 | //EsbComponent 2 | // 3 | 4 | Функция ИмяФайлаКомпоненты() Экспорт 5 | Возврат "$safeprojectname$.dll"; 6 | КонецФункции 7 | // 8 | Функция Загрузить(путь_к_файлу_компоненты_) Экспорт 9 | файл_компоненты = ПутьДостроить(путь_к_файлу_компоненты_, ИмяФайлаКомпоненты()); 10 | возврат EsbManager.ЗагрузитьЕсбКомпоненту(файл_компоненты, __EsbComponent__, __EsbComponentObject__); 11 | КонецФункции 12 | // 13 | Процедура Выгрузить() Экспорт 14 | EsbManager.ВыгрузитьЕсбКомпоненту(__EsbComponent__, __EsbComponentObject__); 15 | КонецПроцедуры 16 | // 17 | Функция ЭтотКомпонент() экспорт 18 | возврат __EsbComponentObject__; 19 | КонецФункции 20 | /////////////////////////////////////////////////////////////////////////////////////// 21 | 22 | // 23 | Функция СтартТест() Экспорт 24 | сообщить("*----------------------------------------------------------------------"); 25 | привет = ЭтотКомпонент().GetHellow(); 26 | ЭтотКомпонент().СкажиПривет( привет ); 27 | сообщить("*----------------------------------------------------------------------"); 28 | ответ = Вопрос(привет + Символы.ПС + Символы.ПС + "Завершить тест???", РежимДиалогаВопрос.ОКОтмена); 29 | Если Ответ = КодВозвратаДиалога.ОК Тогда 30 | ЗавершитьРаботуСистемы(Ложь) 31 | КонецЕсли; 32 | возврат Истина; 33 | КонецФункции 34 | 35 | 36 | -------------------------------------------------------------------------------- /esb_studio/EsbStudio/ProjectTemplateFiles/1s_files/CommonModules/EsbManager.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | EsbManager 6 | 7 | 8 | ru 9 | ЕсбМенеджер 10 | 11 | 12 | 13 | false 14 | false 15 | false 16 | false 17 | true 18 | false 19 | false 20 | DontUse 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /esb_studio/EsbStudio/ProjectTemplateFiles/1s_files/CommonModules/EsbManager/Ext/Module.bsl: -------------------------------------------------------------------------------- 1 | //EsbManager 2 | // 3 | 4 | Функция ЗагрузитьЕсбКомпоненту(файл_компоненты_, out_EsbComponent__, out_EsbComponentObject__) Экспорт 5 | // 6 | Если НЕ ПодключитьВнешнююКомпонентуЕсб(файл_компоненты_) Тогда 7 | возврат Ложь; 8 | КонецЕсли; 9 | 10 | out_EsbComponent__ = Новый("AddIn.Esb.EsbComponent"); 11 | если out_EsbComponent__ = Неопределено тогда 12 | сообщить("НЕ удалось создать компонент AddIn.Esb.EsbComponent!!!"); 13 | возврат Ложь; 14 | иначе 15 | сообщить("компонент создан AddIn.Esb.EsbComponent"); 16 | КонецЕсли; 17 | 18 | // Теперь собственно ЕСБ. Регистрация есб-объекта компоненты и создание его экземпляра 19 | сообщить("*----------------------------------------------------------------------"); 20 | сообщить("* регистрация объекта EsbComponent"); 21 | // 22 | Если out_EsbComponent__.RegisterAsSCOM() Тогда 23 | сообщить("Есб-Компонента успешно зарегистрирован как SCOM модуль."); 24 | ИначеЕсли out_EsbComponent__.Register() Тогда 25 | сообщить("Регистрация Есб-Компоненты как SCOM модуля недоступна или неуспешна."); 26 | сообщить("Объект Есб-Компоненты успешно зарегистрирован принудительно."); 27 | сообщить("(требуется корректная очистка в Процедуре ПриЗавершенииРаботыСистемы)"); 28 | Иначе 29 | сообщить("Объект Есб-Компоненты не удалось зарегистрировать. Продолжение невозможно."); 30 | возврат Ложь; 31 | КонецЕсли; 32 | 33 | out_EsbComponentObject__ = Новый(Типа("EsbObject")); 34 | сообщить("EsbComponentObject объект успешно создан."); 35 | 36 | возврат Истина; 37 | КонецФункции 38 | 39 | // 40 | Процедура ВыгрузитьЕсбКомпоненту(in_out_EsbComponent_, in_out_EsbComponentObject_) Экспорт 41 | // 42 | Если in_out_EsbComponentObject_ <> Неопределено Тогда 43 | in_out_EsbComponentObject_ = Неопределено; 44 | Если in_out_EsbComponent_ <> Неопределено Тогда 45 | in_out_EsbComponent_.UnRegister(); 46 | КонецЕсли; 47 | КонецЕсли; 48 | in_out_EsbComponent_ = Неопределено; 49 | КонецПроцедуры 50 | -------------------------------------------------------------------------------- /esb_studio/EsbStudio/ProjectTemplateFiles/1s_files/Ext/OrdinaryApplicationModule.bsl: -------------------------------------------------------------------------------- 1 | // Обычное приложение 2 | // Режим использования синхронных вызовов расширений платформы и внешних компонент: ИСПОЛЬЗОВАТЬ 3 | // Режим совместимости - НЕ ИСПОЛЬЗОВАТЬ 4 | 5 | 6 | // Нам нужны экспортируемые переменные для работы с компонентой и ее есб-объектом 7 | Перем __EsbComponent__ экспорт; 8 | Перем __EsbComponentObject__ экспорт; 9 | // 10 | 11 | 12 | Процедура ПриНачалеРаботыСистемы() 13 | // Если проврка совместимости не нужна - просто замени 1 на 0 14 | Если 1 И НЕ ЕсбСовместимаяПлатформа() Тогда 15 | возврат; 16 | КонецЕсли; 17 | 18 | // Используется только для авто-запуска из конфигуратора, когда ПараметрЗапуска отсутствует 19 | __ИСПОЛЬЗОВАТЬ_ДЕБАГ_ДЛЛ__ = Истина; 20 | //__ИСПОЛЬЗОВАТЬ_ДЕБАГ_ДЛЛ__ = Ложь; // просто "зеремь"/"отремь" чтобы получить нужный режим 21 | 22 | параметры_запуска = ПараметрЗапуска; 23 | путь_к_компоненте = ""; 24 | Если параметры_запуска <> "" Тогда 25 | сообщить("ПараметрЗапуска: '" + параметры_запуска + "'"); 26 | Если СтрНачинаетсяС(параметры_запуска, "--esbrun=") Тогда 27 | путь_к_компоненте = ПутьДостроить( ПутьНаУровеньВыше(ПутьККонфигурации()), ПутьБезПоследнегоРазделителя(Сред(параметры_запуска, 10)) ); 28 | иначе 29 | Предупреждение("Неожидаемый ПараметрЗапуска:" + Символы.ПС + 30 | параметры_запуска + Символы.ПС + Символы.ПС + 31 | "Ожидается '--esbrun=<путь_к_есб_компоненте>'. Продолжение работы невозможно"); 32 | ЗавершитьРаботуСистемы(ложь); 33 | КонецЕсли; 34 | иначе 35 | сообщить("ПараметрЗапуска отсутствует. Загрузка Есб-Компонента для отладки по-умолчанию."); 36 | путь_к_компоненте = ЕсбПутьДляОтладки(__ИСПОЛЬЗОВАТЬ_ДЕБАГ_ДЛЛ__); 37 | КонецЕсли; 38 | 39 | 40 | Если EsbComponent.Загрузить(путь_к_компоненте) тогда 41 | EsbComponent.СтартТест(); 42 | КонецЕсли; 43 | КонецПроцедуры 44 | 45 | 46 | Процедура ПриЗавершенииРаботыСистемы () 47 | //!!! ОЧЕНЬ ВАЖНО, ЕСЛИ ЗАГРУЖАЕМСЯ НЕ КАК SCOM-Модуль !!! 48 | EsbComponent.Выгрузить(); 49 | КонецПроцедуры 50 | 51 | -------------------------------------------------------------------------------- /esb_studio/EsbStudio/ProjectTemplateFiles/1s_files/Languages/Русский.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | Русский 6 | 7 | 8 | ru 9 | Русский 10 | 11 | 12 | 13 | ru 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /esb_studio/EsbStudio/ProjectTemplateFiles/EsbProjectTemplate.vstemplate: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | EsbStudio C++ component for 1C(tm) 5 | Шаблон C++ Есб-Компоненты для 1С 6 | esb_proj_template.jpg 7 | VC 8 | cpp 9 | 1C Enterprise 10 | windows 11 | desktop 12 | 1000 13 | 41d73f2d-df50-468a-85a0-90461f994a40 14 | 16 | true 17 | EsbComponent 18 | true 19 | 20 | 21 | 22 | 23 | 24 | 25 | directory.build.props 26 | directory.build.targets 27 | dllmain.cpp 28 | esb.h 29 | esbmain.cpp 30 | esb_app_config.h 31 | esb_studio_readme.txt 32 | esb_template.vcxproj 33 | esb_template.vcxproj.filters 34 | _esb_1s_property_page_schema.xml 35 | _esb_props_ui.xml 36 | 37 | 38 | 39 | Configuration.xml 40 | 41 | EsbCommon.xml 42 | EsbComponent.xml 43 | EsbManager.xml 44 | 45 | 46 | Module.bsl 47 | 48 | 49 | 50 | 51 | Module.bsl 52 | 53 | 54 | 55 | 56 | Module.bsl 57 | 58 | 59 | 60 | 61 | OrdinaryApplicationModule.bsl 62 | 63 | 64 | Русский.xml 65 | 66 | 67 | 68 | 69 | 70 | EsbStudio, Version=1.0.0.0, Culture=Neutral, PublicKeyToken=5af9f167dd3f4af2 71 | EsbStudio.EsbProjectTemplateWizardImplementation 72 | 73 | 80 | \1s;_1s_create.cmd;_esb_1s_property_page_schema.xml;_1s_run.cmd;directory.build.props;directory.build.targets;_esb_props_ui.xml;esb_studio_readme.txt;\1s_files;1s_files\Configuration.xml;\1s_files\Languages;1s_files\Languages\Русский.xml;\1s_files\CommonModules;1s_files\CommonModules\EsbCommon.xml;1s_files\CommonModules\EsbComponent.xml;1s_files\CommonModules\EsbManager.xml 81 | 82 | -------------------------------------------------------------------------------- /esb_studio/EsbStudio/ProjectTemplateFiles/_1s_create.cmd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/int-unsigned/esb/1c7b4c0dc24dd97ceab08b65fc13914349920c06/esb_studio/EsbStudio/ProjectTemplateFiles/_1s_create.cmd -------------------------------------------------------------------------------- /esb_studio/EsbStudio/ProjectTemplateFiles/_1s_run.cmd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/int-unsigned/esb/1c7b4c0dc24dd97ceab08b65fc13914349920c06/esb_studio/EsbStudio/ProjectTemplateFiles/_1s_run.cmd -------------------------------------------------------------------------------- /esb_studio/EsbStudio/ProjectTemplateFiles/_esb_1s_property_page_schema.xml: -------------------------------------------------------------------------------- 1 |  2 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /esb_studio/EsbStudio/ProjectTemplateFiles/_esb_props_ui.xml: -------------------------------------------------------------------------------- 1 |  2 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 23 | 24 | 29 | 30 | 31 | 32 | 33 | 34 | 40 | 41 | 46 | 47 | 48 | 49 | 50 | 51 | 56 | 57 | 62 | 63 | 64 | 65 | 66 | 67 | 72 | 73 | 74 | 75 | 78 | 81 | 84 | 87 | 88 | 89 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | -------------------------------------------------------------------------------- /esb_studio/EsbStudio/ProjectTemplateFiles/dllmain.cpp: -------------------------------------------------------------------------------- 1 | // Для ЕСБ не требуется точка входа DllMain 2 | // Если это нужно Вашему проекту раскомментируйте этот блок и сделайте то что Вам нужно 3 | // 4 | #if 0 5 | #define WIN32_LEAN_AND_MEAN // Исключите редко используемые компоненты из заголовков Windows 6 | #define NOMINMAX 7 | // Файлы заголовков Windows 8 | #include 9 | 10 | // dllmain.cpp : Определяет точку входа для приложения DLL. 11 | BOOL APIENTRY DllMain( HMODULE hModule, 12 | DWORD ul_reason_for_call, 13 | LPVOID lpReserved 14 | ) 15 | { 16 | switch (ul_reason_for_call) 17 | { 18 | case DLL_PROCESS_ATTACH: 19 | case DLL_THREAD_ATTACH: 20 | case DLL_THREAD_DETACH: 21 | case DLL_PROCESS_DETACH: 22 | break; 23 | } 24 | return TRUE; 25 | } 26 | #endif 27 | -------------------------------------------------------------------------------- /esb_studio/EsbStudio/ProjectTemplateFiles/esb.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | // Перед включением заголовка ЕСБ в любой .cpp файл Вашего проекта необходимо включить 3 | // заголовок с Вашей конфигурацией для ЕСБ. 4 | #include "esb_app_config.h" 5 | #include "esb/esb.h" 6 | 7 | -------------------------------------------------------------------------------- /esb_studio/EsbStudio/ProjectTemplateFiles/esb_app_config.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #ifndef ESB_APP_CONFIG_H_ 3 | #define ESB_APP_CONFIG_H_ 4 | 5 | // Данный файл описывает конфигурацию Вашего ЕСБ-приложения. Он должен быть включен до включения esb.h 6 | // (или, если этот файл доступен для включения из esb_config.h подключит его сам. см. esb_config.h) 7 | 8 | 9 | // Версия платформы (и есб соответственно) (допустимые значения 8300, 8311, 8320, 8323) 10 | // Вы можете указать ее здесь принудительно иначе esb_app.h настроит последнюю доступную (8323). 11 | // (для esb_demo указывается в свойствах проекта) 12 | #ifndef ESB_VER 13 | //# define ESB_VER 8309 14 | # error Esb version must be defined! 15 | #endif 16 | 17 | 18 | // Контролирует принудительное конструирование есб-строки String из с++ строки 19 | // Необходимо помнить, что любое создание есб-строки - это создание строки в пуле памяти 1С и по возможности избегать лишней нагрузки на память 20 | #ifndef ESB_USE_EXPLICIT_STRING 21 | # define ESB_USE_EXPLICIT_STRING 1 22 | #endif // !1 23 | 24 | 25 | // То же самое для есб-числа. Любое есб-число это нетривиальный объект 1С, который также конструируется платформой. 26 | // Если не контролировать его создание, то очень легко даже не желая того перегрузить пул памяти 1С, т.к. в с++ числа используются очень часто, много 27 | // и обычно в с++ Вы не задумываетесь когда пишете 2+2. 28 | #ifndef ESB_USE_EXPLICIT_NUMERIC 29 | # define ESB_USE_EXPLICIT_NUMERIC 0 30 | #endif // !1 31 | 32 | 33 | // Экспериментальная функция разрешения диспатч имен в идентификаторы методов из с++ строки, а не 1С строки (т.е. без лишних аллокаций) 34 | // (при странном и неадекватном поведении можно отключить) 35 | #ifndef ESB_USE_OBJECT_DISPATCH_FIND_STRVIEW_HACK 36 | # define ESB_USE_OBJECT_DISPATCH_FIND_STRVIEW_HACK 1 37 | #endif // !1 38 | 39 | 40 | // Экспериментальный прямой доступ к содержимому BinaryDataBuffer минуя диспатч интерфейс. Только для для v8300. (см.esb_es_file.h::BinaryDataBuffer) 41 | // Точно работает в 8.3.9.1818 х86, 8.3.10.2772 х64, 8.3.11.2831 х86 42 | // Точно не работает в 8.3.23.1688 43 | // Видимо изменения были где-то между 8.3.11.2831 и 8.3.23.1688, но когда точно - неизвестно. Нужно экспериментировать и проверять. 44 | #ifndef ESB_USE_BYTEBUFFER_DIRECT_HACK_v8300 45 | # define ESB_USE_BYTEBUFFER_DIRECT_HACK_v8300 0 46 | #endif // !1 47 | 48 | 49 | // Для демонстрации возможности есб-по-русски. 50 | #ifndef ESB_USE_RUSSIAN 51 | # define ESB_USE_RUSSIAN 1 52 | #endif // !1 53 | 54 | 55 | // По умолчанию конфигурация есб не подключает АПИ платформы. При желании нужно указать это. Также можно подключать АПИ отдельно по каждому провайдеру. 56 | #ifndef ESB_USE_API_ALL 57 | # define ESB_USE_API_ALL 1 58 | #endif // !1 59 | 60 | 61 | // для использования ЕСБ как SCOM модуля или подключайте компоненту из bin директории 1С (Вы должны иметь права на доступ к этой директории!), 62 | // или используйте закгрузку при помощи ms-detours (это удобно для отладочных сборок, но категорически не рекомендуется для релиза) 63 | // (вам нужно скачать его из https://github.com/microsoft/Detours, скомпилировать для Вашего компьютера и прописать в ESB_USE_DETOUR_PATH ваш путь к библиотеке) 64 | // использование ЕСБ не как SCOM модуль, а как объект компоненты также возможно, но нужно внимательно следить чтобы все объекты созданные и запомненные 65 | // в глобальных переменных 1С были освобождены до освобождения самого объекта ЕСБ и сама переменная хранящая объект ЕСБ была очищена в 66 | // Процедуре ПриЗавершенииРаботыСистемы(). 67 | #ifndef ESB_USE_DETOUR 68 | # define ESB_USE_DETOUR 0 69 | # define ESB_USE_DETOUR_PATH ../../../$cpp/ms-detours/detours 70 | #endif // !1 71 | 72 | 73 | #endif //ESB_APP_CONFIG_H_ 74 | -------------------------------------------------------------------------------- /esb_studio/EsbStudio/ProjectTemplateFiles/esb_proj_template.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/int-unsigned/esb/1c7b4c0dc24dd97ceab08b65fc13914349920c06/esb_studio/EsbStudio/ProjectTemplateFiles/esb_proj_template.jpg -------------------------------------------------------------------------------- /esb_studio/EsbStudio/ProjectTemplateFiles/esb_studio_readme.txt: -------------------------------------------------------------------------------- 1 | ВАЖНО 2 | - Имя файла 1с-модуля должно быть АНГЛИЙСКИМ !!! 3 | !!! Иначе студия в .vcxproj и в .vcxproj.filters КАКУЮ-ТО ЕРЕСЬ пишет !!! 4 | !!! Нужно в M$ кляузу писать !!! 5 | Это именно про файл (напиример) EsbComponent.xml, 6 | его папку EsbComponent, и его запись в Configuration.xml EsbComponent 7 | А в самом файле можно написать ЕсбКомпонент и в 1С он будет по-русски 8 | Т.е. чтобы запись о файле в .vcxproj и в .vcxproj.filters была 9 | 10 | 11 | 1С Файлы\Общие модули\EsbComponent 12 | 13 | 14 | ПС. Хотя хз... раза три отработало, когда файл-по-английски, а имя-модуля-по-русски, а потом перестало... 15 | Что там в потрохах 1С творится - загадка великая.. 16 | Все по-английски надежнее! 17 | -------------------------------------------------------------------------------- /esb_studio/EsbStudio/ProjectTemplateFiles/esb_template.vcxproj.filters: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | {4FC737F1-C7A5-4376-A066-2A32D752A2FF} 6 | cpp;c;cc;cxx;c++;cppm;ixx;def;odl;idl;hpj;bat;asm;asmx 7 | 8 | 9 | {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} 10 | rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms 11 | 12 | 13 | {93995380-89BD-4b04-88EB-625FBE52EBFB} 14 | h;hh;hpp;hxx;h++;hm;inl;inc;ipp;xsd 15 | 16 | 17 | {10e734ec-dc6d-41c5-8cc8-705c17653273} 18 | 19 | 20 | {c5ca8243-d55f-462d-bd2e-2d5ce7a240c9} 21 | bsl 22 | 23 | 24 | {22c6dd35-6592-4611-8bfa-794fd141f15b} 25 | bsl 26 | 27 | 28 | bsl 29 | 30 | 31 | bsl 32 | 33 | 34 | 35 | 36 | Файлы заголовков 37 | 38 | 39 | Файлы заголовков 40 | 41 | 42 | 43 | 44 | Исходные файлы 45 | 46 | 47 | Исходные файлы 48 | 49 | 50 | 51 | 52 | 1С Файлы\Общие модули 53 | 54 | 55 | 1С Файлы\Общие модули\EsbCommon 56 | 57 | 58 | 1С Файлы\Общие модули\EsbManager 59 | 60 | 61 | 1С Файлы\Общие модули\EsbComponent 62 | 63 | 64 | 65 | -------------------------------------------------------------------------------- /esb_studio/EsbStudio/ProjectTemplateFiles/esbmain.cpp: -------------------------------------------------------------------------------- 1 | // Подключаем базовый код ЕСБ 2 | #include "esb.h" 3 | 4 | // По умолчанию ЕСБ не подключает заголовки для создания классов и их дескрипторов 5 | // т.к. это не необходимо в каждом модуле Вашего проекта. 6 | // Но в модуле где декларируется собственно EsbComponentObject это нужно 7 | #include "esb/esb_ext.h" 8 | 9 | // Просто для удобства. Не всегда и не везде это нужно и безопасно. 10 | // В своих модулях пользуйтесь аккуратно. 11 | using namespace esb; 12 | 13 | 14 | 15 | ////////////////////////////// 16 | // Функциональность компоненты 17 | 18 | String GetHellow() { 19 | return String(ESB_T("Привет мир 1C из мира C++ !!!")); 20 | } 21 | 22 | /// 23 | /// Выводит сообщение в окно сообщений 24 | /// 25 | /// 26 | void СкажиПривет(Строка сообщение_) { 27 | Сообщить(сообщение_); 28 | } 29 | ////////////////////////////// 30 | 31 | 32 | 33 | // Теперь собственно интерфейс объекта, как его будет видеть 1С: 34 | // Имена (ен, ру) как его создавать через Новый, методы и свойства которые будут вызываться из кода 1С 35 | // Для объекта НЕОБХОДИМО создать новый уникальный идентификатор! 36 | // Если несколько есб компонент будут пытаться регистрироваться в 1С с одинаковыми идентификаторами и(или) именами 37 | // БУДЕТ ПЛОХО 38 | // Меню -> Средства -> СоздатьGUID -> ФорматРеестра (или иной строковый формат): {DEDE496C-E755-4598-BBB4-685C5247CFEC} 39 | // Копировать, вставить в кавычки {46EFE873-8489-4C02-8FC5-F95FFB941C70} 40 | //TODO ("EsbObject", "ЕсбОбъект") нужно переопределить как ("$esb_object_en$", "$esb_object_ru$"), и "Объект есб компоненты" тоже 41 | // но для этого нужно возиться с переименованиями 1С-папок, файлов и внутри тоже.. 42 | ESB_ADDIN_INTERFACE("$guid2$", ("EsbObject", "ЕсбОбъект"), "Объект есб компоненты") 43 | ESB_META_INTERFACE_METH( 44 | ESB_META_INTERFACE_FREE_METH(GetHellow, "ДайПривет"), 45 | ESB_META_INTERFACE_FREE_METH(СкажиПривет, "SayHellow") 46 | ); 47 | ESB_ADDIN_INTERFACE_DONE(); 48 | 49 | 50 | // Здесь собственно создание примитивной 1С-компоненты с тремя методами Register, RegisterAsSCOM, Unregister 51 | // которые нужно вызвать из 1С для регистрации в среде 1С Вашего <ЕсбОбъект> 52 | // и последующего его создания как основного интерфейса есб-компоненты: __EsbComponentObject__ = Новый(Типа("EsbObject")); 53 | // у которого мы и будем вызывать __EsbComponentObject__.ДайПривет() 54 | // Имя компоненты всегда EsbComponent, т.к. в 1С оно не используется 55 | // (esbldr_component_cpp.h должен быть включен в проект только один раз!, это не заголовок, а кусочек .cpp) 56 | #include "esb/esbldr_component_cpp.h" 57 | 58 | 59 | 60 | 61 | -------------------------------------------------------------------------------- /esb_studio/EsbStudio/ProjectTemplateMaker/App.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /esb_studio/EsbStudio/ProjectTemplateMaker/FrmMaker.Designer.cs: -------------------------------------------------------------------------------- 1 |  2 | namespace EsbStudio 3 | { 4 | partial class Form1 5 | { 6 | /// 7 | /// Обязательная переменная конструктора. 8 | /// 9 | private System.ComponentModel.IContainer components = null; 10 | 11 | /// 12 | /// Освободить все используемые ресурсы. 13 | /// 14 | /// истинно, если управляемый ресурс должен быть удален; иначе ложно. 15 | protected override void Dispose(bool disposing) 16 | { 17 | if (disposing && (components != null)) 18 | { 19 | components.Dispose(); 20 | } 21 | base.Dispose(disposing); 22 | } 23 | 24 | #region Код, автоматически созданный конструктором форм Windows 25 | 26 | /// 27 | /// Требуемый метод для поддержки конструктора — не изменяйте 28 | /// содержимое этого метода с помощью редактора кода. 29 | /// 30 | private void InitializeComponent() 31 | { 32 | this.bnMake = new System.Windows.Forms.Button(); 33 | this.bnZip = new System.Windows.Forms.Button(); 34 | this.bnMakeAndZip = new System.Windows.Forms.Button(); 35 | this.SuspendLayout(); 36 | // 37 | // bnMake 38 | // 39 | this.bnMake.Location = new System.Drawing.Point(218, 28); 40 | this.bnMake.Name = "bnMake"; 41 | this.bnMake.Size = new System.Drawing.Size(115, 61); 42 | this.bnMake.TabIndex = 0; 43 | this.bnMake.Text = "Make"; 44 | this.bnMake.UseVisualStyleBackColor = true; 45 | this.bnMake.Click += new System.EventHandler(this.bnMake_Click); 46 | // 47 | // bnZip 48 | // 49 | this.bnZip.Location = new System.Drawing.Point(339, 28); 50 | this.bnZip.Name = "bnZip"; 51 | this.bnZip.Size = new System.Drawing.Size(110, 61); 52 | this.bnZip.TabIndex = 1; 53 | this.bnZip.Text = "Zip"; 54 | this.bnZip.UseVisualStyleBackColor = true; 55 | this.bnZip.Click += new System.EventHandler(this.bnZip_Click); 56 | // 57 | // bnMakeAndZip 58 | // 59 | this.bnMakeAndZip.Location = new System.Drawing.Point(218, 95); 60 | this.bnMakeAndZip.Name = "bnMakeAndZip"; 61 | this.bnMakeAndZip.Size = new System.Drawing.Size(231, 61); 62 | this.bnMakeAndZip.TabIndex = 2; 63 | this.bnMakeAndZip.Text = "MakeAndZip"; 64 | this.bnMakeAndZip.UseVisualStyleBackColor = true; 65 | this.bnMakeAndZip.Click += new System.EventHandler(this.bnMakeAndZip_Click); 66 | // 67 | // Form1 68 | // 69 | this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 16F); 70 | this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; 71 | this.ClientSize = new System.Drawing.Size(737, 198); 72 | this.Controls.Add(this.bnMakeAndZip); 73 | this.Controls.Add(this.bnZip); 74 | this.Controls.Add(this.bnMake); 75 | this.Name = "Form1"; 76 | this.Text = "Form1"; 77 | this.ResumeLayout(false); 78 | 79 | } 80 | 81 | #endregion 82 | 83 | private System.Windows.Forms.Button bnMake; 84 | private System.Windows.Forms.Button bnZip; 85 | private System.Windows.Forms.Button bnMakeAndZip; 86 | } 87 | } 88 | 89 | -------------------------------------------------------------------------------- /esb_studio/EsbStudio/ProjectTemplateMaker/Program.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | using System.Windows.Forms; 6 | 7 | namespace EsbStudio 8 | { 9 | static class Program 10 | { 11 | /// 12 | /// Главная точка входа для приложения. 13 | /// 14 | [STAThread] 15 | static void Main() 16 | { 17 | Application.EnableVisualStyles(); 18 | Application.SetCompatibleTextRenderingDefault(false); 19 | Application.Run(new Form1()); 20 | } 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /esb_studio/EsbStudio/ProjectTemplateMaker/ProjectTemplateMaker.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | Debug 6 | AnyCPU 7 | {23E017EA-3582-41B0-BDA7-BED1854B66C7} 8 | WinExe 9 | proj_template_copy 10 | proj_template_copy 11 | v4.7.2 12 | 512 13 | true 14 | true 15 | 16 | 17 | AnyCPU 18 | true 19 | full 20 | false 21 | bin\Debug\ 22 | DEBUG;TRACE 23 | prompt 24 | 4 25 | 26 | 27 | AnyCPU 28 | pdbonly 29 | true 30 | bin\Release\ 31 | TRACE 32 | prompt 33 | 4 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | Form 52 | 53 | 54 | FrmMaker.cs 55 | 56 | 57 | 58 | 59 | FrmMaker.cs 60 | 61 | 62 | ResXFileCodeGenerator 63 | Resources.Designer.cs 64 | Designer 65 | 66 | 67 | True 68 | Resources.resx 69 | 70 | 71 | SettingsSingleFileGenerator 72 | Settings.Designer.cs 73 | 74 | 75 | True 76 | Settings.settings 77 | True 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | {ae000ee0-4ac9-4582-a506-f177064ff9ac} 86 | EsbStudio 87 | 88 | 89 | 90 | -------------------------------------------------------------------------------- /esb_studio/EsbStudio/ProjectTemplateMaker/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // Общие сведения об этой сборке предоставляются следующим набором 6 | // набора атрибутов. Измените значения этих атрибутов для изменения сведений, 7 | // связанных со сборкой. 8 | [assembly: AssemblyTitle("proj_template_copy")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("")] 12 | [assembly: AssemblyProduct("proj_template_copy")] 13 | [assembly: AssemblyCopyright("Copyright © 2024")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // Установка значения False для параметра ComVisible делает типы в этой сборке невидимыми 18 | // для компонентов COM. Если необходимо обратиться к типу в этой сборке через 19 | // COM, следует установить атрибут ComVisible в TRUE для этого типа. 20 | [assembly: ComVisible(false)] 21 | 22 | // Следующий GUID служит для идентификации библиотеки типов, если этот проект будет видимым для COM 23 | [assembly: Guid("23e017ea-3582-41b0-bda7-bed1854b66c7")] 24 | 25 | // Сведения о версии сборки состоят из указанных ниже четырех значений: 26 | // 27 | // Основной номер версии 28 | // Дополнительный номер версии 29 | // Номер сборки 30 | // Редакция 31 | // 32 | // Можно задать все значения или принять номера сборки и редакции по умолчанию 33 | // используя "*", как показано ниже: 34 | // [assembly: AssemblyVersion("1.0.*")] 35 | [assembly: AssemblyVersion("1.0.0.0")] 36 | [assembly: AssemblyFileVersion("1.0.0.0")] 37 | -------------------------------------------------------------------------------- /esb_studio/EsbStudio/ProjectTemplateMaker/Properties/Resources.Designer.cs: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------------ 2 | // 3 | // Этот код создан программным средством. 4 | // Версия среды выполнения: 4.0.30319.42000 5 | // 6 | // Изменения в этом файле могут привести к неправильному поведению и будут утрачены, если 7 | // код создан повторно. 8 | // 9 | //------------------------------------------------------------------------------ 10 | 11 | 12 | namespace EsbStudio.Properties 13 | { 14 | /// 15 | /// Класс ресурсов со строгим типом для поиска локализованных строк и пр. 16 | /// 17 | // Этот класс был автоматически создан при помощи StronglyTypedResourceBuilder 18 | // класс с помощью таких средств, как ResGen или Visual Studio. 19 | // Для добавления или удаления члена измените файл .ResX, а затем перезапустите ResGen 20 | // с параметром /str или заново постройте свой VS-проект. 21 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")] 22 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] 23 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] 24 | internal class Resources 25 | { 26 | 27 | private static global::System.Resources.ResourceManager resourceMan; 28 | 29 | private static global::System.Globalization.CultureInfo resourceCulture; 30 | 31 | [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] 32 | internal Resources() 33 | { 34 | } 35 | 36 | /// 37 | /// Возврат кэшированного экземпляра ResourceManager, используемого этим классом. 38 | /// 39 | [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] 40 | internal static global::System.Resources.ResourceManager ResourceManager 41 | { 42 | get 43 | { 44 | if ((resourceMan == null)) 45 | { 46 | global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("proj_template_copy.Properties.Resources", typeof(Resources).Assembly); 47 | resourceMan = temp; 48 | } 49 | return resourceMan; 50 | } 51 | } 52 | 53 | /// 54 | /// Переопределяет свойство CurrentUICulture текущего потока для всех 55 | /// подстановки ресурсов с помощью этого класса ресурсов со строгим типом. 56 | /// 57 | [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] 58 | internal static global::System.Globalization.CultureInfo Culture 59 | { 60 | get 61 | { 62 | return resourceCulture; 63 | } 64 | set 65 | { 66 | resourceCulture = value; 67 | } 68 | } 69 | } 70 | } 71 | -------------------------------------------------------------------------------- /esb_studio/EsbStudio/ProjectTemplateMaker/Properties/Settings.Designer.cs: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------------ 2 | // 3 | // This code was generated by a tool. 4 | // Runtime Version:4.0.30319.42000 5 | // 6 | // Changes to this file may cause incorrect behavior and will be lost if 7 | // the code is regenerated. 8 | // 9 | //------------------------------------------------------------------------------ 10 | 11 | 12 | namespace EsbStudio.Properties 13 | { 14 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] 15 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "11.0.0.0")] 16 | internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase 17 | { 18 | 19 | private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); 20 | 21 | public static Settings Default 22 | { 23 | get 24 | { 25 | return defaultInstance; 26 | } 27 | } 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /esb_studio/EsbStudio/ProjectTemplateMaker/Properties/Settings.settings: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /esb_studio/EsbStudio/ProjectTemplateMaker/proj_template_copy.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio Version 16 4 | VisualStudioVersion = 16.0.32901.82 5 | MinimumVisualStudioVersion = 10.0.40219.1 6 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "proj_template_copy", "proj_template_copy.csproj", "{23E017EA-3582-41B0-BDA7-BED1854B66C7}" 7 | EndProject 8 | Global 9 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 10 | Debug|Any CPU = Debug|Any CPU 11 | Release|Any CPU = Release|Any CPU 12 | EndGlobalSection 13 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 14 | {23E017EA-3582-41B0-BDA7-BED1854B66C7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 15 | {23E017EA-3582-41B0-BDA7-BED1854B66C7}.Debug|Any CPU.Build.0 = Debug|Any CPU 16 | {23E017EA-3582-41B0-BDA7-BED1854B66C7}.Release|Any CPU.ActiveCfg = Release|Any CPU 17 | {23E017EA-3582-41B0-BDA7-BED1854B66C7}.Release|Any CPU.Build.0 = Release|Any CPU 18 | EndGlobalSection 19 | GlobalSection(SolutionProperties) = preSolution 20 | HideSolutionNode = FALSE 21 | EndGlobalSection 22 | GlobalSection(ExtensibilityGlobals) = postSolution 23 | SolutionGuid = {264B7330-A352-4EF3-88D1-4E3D6DC3C84B} 24 | EndGlobalSection 25 | EndGlobal 26 | -------------------------------------------------------------------------------- /esb_studio/EsbStudio/ProjectTemplateVCProject/1s_files/CommonModules/EsbCommon.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | EsbCommon 6 | 7 | 8 | ru 9 | ЕсбОбщий 10 | 11 | 12 | 13 | true 14 | false 15 | false 16 | false 17 | true 18 | false 19 | false 20 | DontUse 21 | 22 | 23 | -------------------------------------------------------------------------------- /esb_studio/EsbStudio/ProjectTemplateVCProject/1s_files/CommonModules/EsbComponent.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | EsbComponent 6 | 7 | 8 | ru 9 | ЕсбКомпонент 10 | 11 | 12 | 13 | false 14 | false 15 | false 16 | false 17 | true 18 | false 19 | false 20 | DontUse 21 | 22 | 23 | -------------------------------------------------------------------------------- /esb_studio/EsbStudio/ProjectTemplateVCProject/1s_files/CommonModules/EsbComponent/Ext/Module.bsl: -------------------------------------------------------------------------------- 1 | //EsbComponent 2 | // 3 | 4 | Функция ИмяФайлаКомпоненты() Экспорт 5 | //vsix-template--: Возврат "esb_template.dll"; 6 | //vsix-template++: Возврат "$safeprojectname$.dll"; 7 | Возврат "esb_template.dll"; 8 | КонецФункции 9 | // 10 | Функция Загрузить(путь_к_файлу_компоненты_) Экспорт 11 | файл_компоненты = ПутьДостроить(путь_к_файлу_компоненты_, ИмяФайлаКомпоненты()); 12 | возврат EsbManager.ЗагрузитьЕсбКомпоненту(файл_компоненты, __EsbComponent__, __EsbComponentObject__); 13 | КонецФункции 14 | // 15 | Процедура Выгрузить() Экспорт 16 | EsbManager.ВыгрузитьЕсбКомпоненту(__EsbComponent__, __EsbComponentObject__); 17 | КонецПроцедуры 18 | // 19 | Функция ЭтотКомпонент() экспорт 20 | возврат __EsbComponentObject__; 21 | КонецФункции 22 | /////////////////////////////////////////////////////////////////////////////////////// 23 | 24 | // 25 | Функция СтартТест() Экспорт 26 | сообщить("*----------------------------------------------------------------------"); 27 | привет = ЭтотКомпонент().GetHellow(); 28 | ЭтотКомпонент().СкажиПривет( привет ); 29 | сообщить("*----------------------------------------------------------------------"); 30 | ответ = Вопрос(привет + Символы.ПС + Символы.ПС + "Завершить тест???", РежимДиалогаВопрос.ОКОтмена); 31 | Если Ответ = КодВозвратаДиалога.ОК Тогда 32 | ЗавершитьРаботуСистемы(Ложь) 33 | КонецЕсли; 34 | возврат Истина; 35 | КонецФункции 36 | 37 | 38 | -------------------------------------------------------------------------------- /esb_studio/EsbStudio/ProjectTemplateVCProject/1s_files/CommonModules/EsbManager.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | EsbManager 6 | 7 | 8 | ru 9 | ЕсбМенеджер 10 | 11 | 12 | 13 | false 14 | false 15 | false 16 | false 17 | true 18 | false 19 | false 20 | DontUse 21 | 22 | 23 | -------------------------------------------------------------------------------- /esb_studio/EsbStudio/ProjectTemplateVCProject/1s_files/CommonModules/EsbManager/Ext/Module.bsl: -------------------------------------------------------------------------------- 1 | //EsbManager 2 | // 3 | 4 | Функция ЗагрузитьЕсбКомпоненту(файл_компоненты_, out_EsbComponent__, out_EsbComponentObject__) Экспорт 5 | // 6 | Если НЕ ПодключитьВнешнююКомпонентуЕсб(файл_компоненты_) Тогда 7 | возврат Ложь; 8 | КонецЕсли; 9 | 10 | out_EsbComponent__ = Новый("AddIn.Esb.EsbComponent"); 11 | если out_EsbComponent__ = Неопределено тогда 12 | сообщить("НЕ удалось создать компонент AddIn.Esb.EsbComponent!!!"); 13 | возврат Ложь; 14 | иначе 15 | сообщить("компонент создан AddIn.Esb.EsbComponent"); 16 | КонецЕсли; 17 | 18 | // Теперь собственно ЕСБ. Регистрация есб-объекта компоненты и создание его экземпляра 19 | сообщить("*----------------------------------------------------------------------"); 20 | сообщить("* регистрация объекта EsbComponent"); 21 | // 22 | Если out_EsbComponent__.RegisterAsSCOM() Тогда 23 | сообщить("Есб-Компонента успешно зарегистрирован как SCOM модуль."); 24 | ИначеЕсли out_EsbComponent__.Register() Тогда 25 | сообщить("Регистрация Есб-Компоненты как SCOM модуля недоступна или неуспешна."); 26 | сообщить("Объект Есб-Компоненты успешно зарегистрирован принудительно."); 27 | сообщить("(требуется корректная очистка в Процедуре ПриЗавершенииРаботыСистемы)"); 28 | Иначе 29 | сообщить("Объект Есб-Компоненты не удалось зарегистрировать. Продолжение невозможно."); 30 | возврат Ложь; 31 | КонецЕсли; 32 | 33 | out_EsbComponentObject__ = Новый(Типа("EsbObject")); 34 | сообщить("EsbComponentObject объект успешно создан."); 35 | 36 | возврат Истина; 37 | КонецФункции 38 | 39 | // 40 | Процедура ВыгрузитьЕсбКомпоненту(in_out_EsbComponent_, in_out_EsbComponentObject_) Экспорт 41 | // 42 | Если in_out_EsbComponentObject_ <> Неопределено Тогда 43 | in_out_EsbComponentObject_ = Неопределено; 44 | Если in_out_EsbComponent_ <> Неопределено Тогда 45 | in_out_EsbComponent_.UnRegister(); 46 | КонецЕсли; 47 | КонецЕсли; 48 | in_out_EsbComponent_ = Неопределено; 49 | КонецПроцедуры 50 | -------------------------------------------------------------------------------- /esb_studio/EsbStudio/ProjectTemplateVCProject/1s_files/Ext/OrdinaryApplicationModule.bsl: -------------------------------------------------------------------------------- 1 | // Обычное приложение 2 | // Режим использования синхронных вызовов расширений платформы и внешних компонент: ИСПОЛЬЗОВАТЬ 3 | // Режим совместимости - НЕ ИСПОЛЬЗОВАТЬ 4 | 5 | 6 | // Нам нужны экспортируемые переменные для работы с компонентой и ее есб-объектом 7 | Перем __EsbComponent__ экспорт; 8 | Перем __EsbComponentObject__ экспорт; 9 | // 10 | 11 | 12 | Процедура ПриНачалеРаботыСистемы() 13 | // Если проврка совместимости не нужна - просто замени 1 на 0 14 | Если 1 И НЕ ЕсбСовместимаяПлатформа() Тогда 15 | возврат; 16 | КонецЕсли; 17 | 18 | // Используется только для авто-запуска из конфигуратора, когда ПараметрЗапуска отсутствует 19 | __ИСПОЛЬЗОВАТЬ_ДЕБАГ_ДЛЛ__ = Истина; 20 | //__ИСПОЛЬЗОВАТЬ_ДЕБАГ_ДЛЛ__ = Ложь; // просто "зеремь"/"отремь" чтобы получить нужный режим 21 | 22 | параметры_запуска = ПараметрЗапуска; 23 | путь_к_компоненте = ""; 24 | Если параметры_запуска <> "" Тогда 25 | сообщить("ПараметрЗапуска: '" + параметры_запуска + "'"); 26 | Если СтрНачинаетсяС(параметры_запуска, "--esbrun=") Тогда 27 | путь_к_компоненте = ПутьДостроить( ПутьНаУровеньВыше(ПутьККонфигурации()), ПутьБезПоследнегоРазделителя(Сред(параметры_запуска, 10)) ); 28 | иначе 29 | Предупреждение("Неожидаемый ПараметрЗапуска:" + Символы.ПС + 30 | параметры_запуска + Символы.ПС + Символы.ПС + 31 | "Ожидается '--esbrun=<путь_к_есб_компоненте>'. Продолжение работы невозможно"); 32 | ЗавершитьРаботуСистемы(ложь); 33 | КонецЕсли; 34 | иначе 35 | сообщить("ПараметрЗапуска отсутствует. Загрузка Есб-Компонента для отладки по-умолчанию."); 36 | путь_к_компоненте = ЕсбПутьДляОтладки(__ИСПОЛЬЗОВАТЬ_ДЕБАГ_ДЛЛ__); 37 | КонецЕсли; 38 | 39 | 40 | Если EsbComponent.Загрузить(путь_к_компоненте) тогда 41 | EsbComponent.СтартТест(); 42 | КонецЕсли; 43 | КонецПроцедуры 44 | 45 | 46 | Процедура ПриЗавершенииРаботыСистемы () 47 | //!!! ОЧЕНЬ ВАЖНО, ЕСЛИ ЗАГРУЖАЕМСЯ НЕ КАК SCOM-Модуль !!! 48 | EsbComponent.Выгрузить(); 49 | КонецПроцедуры 50 | 51 | -------------------------------------------------------------------------------- /esb_studio/EsbStudio/ProjectTemplateVCProject/1s_files/Languages/Русский.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | Русский 6 | 7 | 8 | ru 9 | Русский 10 | 11 | 12 | 13 | ru 14 | 15 | 16 | -------------------------------------------------------------------------------- /esb_studio/EsbStudio/ProjectTemplateVCProject/_1s_create.cmd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/int-unsigned/esb/1c7b4c0dc24dd97ceab08b65fc13914349920c06/esb_studio/EsbStudio/ProjectTemplateVCProject/_1s_create.cmd -------------------------------------------------------------------------------- /esb_studio/EsbStudio/ProjectTemplateVCProject/_1s_run.cmd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/int-unsigned/esb/1c7b4c0dc24dd97ceab08b65fc13914349920c06/esb_studio/EsbStudio/ProjectTemplateVCProject/_1s_run.cmd -------------------------------------------------------------------------------- /esb_studio/EsbStudio/ProjectTemplateVCProject/_esb_1s_property_page_schema.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /esb_studio/EsbStudio/ProjectTemplateVCProject/_esb_props_ui.xml: -------------------------------------------------------------------------------- 1 | 2 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 23 | 24 | 29 | 30 | 31 | 32 | 33 | 34 | 40 | 41 | 46 | 47 | 48 | 49 | 50 | 51 | 56 | 57 | 62 | 63 | 64 | 65 | 66 | 67 | 72 | 73 | 74 | 75 | 78 | 81 | 84 | 87 | 88 | 89 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | -------------------------------------------------------------------------------- /esb_studio/EsbStudio/ProjectTemplateVCProject/dllmain.cpp: -------------------------------------------------------------------------------- 1 | // Для ЕСБ не требуется точка входа DllMain 2 | // Если это нужно Вашему проекту раскомментируйте этот блок и сделайте то что Вам нужно 3 | // 4 | #if 0 5 | #define WIN32_LEAN_AND_MEAN // Исключите редко используемые компоненты из заголовков Windows 6 | #define NOMINMAX 7 | // Файлы заголовков Windows 8 | #include 9 | 10 | // dllmain.cpp : Определяет точку входа для приложения DLL. 11 | BOOL APIENTRY DllMain( HMODULE hModule, 12 | DWORD ul_reason_for_call, 13 | LPVOID lpReserved 14 | ) 15 | { 16 | switch (ul_reason_for_call) 17 | { 18 | case DLL_PROCESS_ATTACH: 19 | case DLL_THREAD_ATTACH: 20 | case DLL_THREAD_DETACH: 21 | case DLL_PROCESS_DETACH: 22 | break; 23 | } 24 | return TRUE; 25 | } 26 | #endif -------------------------------------------------------------------------------- /esb_studio/EsbStudio/ProjectTemplateVCProject/esb.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | // Перед включением заголовка ЕСБ в любой .cpp файл Вашего проекта необходимо включить 3 | // заголовок с Вашей конфигурацией для ЕСБ. 4 | #include "esb_app_config.h" 5 | #include "esb/esb.h" 6 | 7 | -------------------------------------------------------------------------------- /esb_studio/EsbStudio/ProjectTemplateVCProject/esb_app_config.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #ifndef ESB_APP_CONFIG_H_ 3 | #define ESB_APP_CONFIG_H_ 4 | 5 | // Данный файл описывает конфигурацию Вашего ЕСБ-приложения. Он должен быть включен до включения esb.h 6 | // (или, если этот файл доступен для включения из esb_config.h подключит его сам. см. esb_config.h) 7 | 8 | 9 | // Версия платформы (и есб соответственно) (допустимые значения 8300, 8311, 8320, 8323) 10 | // Вы можете указать ее здесь принудительно иначе esb_app.h настроит последнюю доступную (8323). 11 | // (для esb_demo указывается в свойствах проекта) 12 | #ifndef ESB_VER 13 | //# define ESB_VER 8309 14 | # error Esb version must be defined! 15 | #endif 16 | 17 | 18 | // Контролирует принудительное конструирование есб-строки String из с++ строки 19 | // Необходимо помнить, что любое создание есб-строки - это создание строки в пуле памяти 1С и по возможности избегать лишней нагрузки на память 20 | #ifndef ESB_USE_EXPLICIT_STRING 21 | # define ESB_USE_EXPLICIT_STRING 1 22 | #endif // !1 23 | 24 | 25 | // То же самое для есб-числа. Любое есб-число это нетривиальный объект 1С, который также конструируется платформой. 26 | // Если не контролировать его создание, то очень легко даже не желая того перегрузить пул памяти 1С, т.к. в с++ числа используются очень часто, много 27 | // и обычно в с++ Вы не задумываетесь когда пишете 2+2. 28 | #ifndef ESB_USE_EXPLICIT_NUMERIC 29 | # define ESB_USE_EXPLICIT_NUMERIC 0 30 | #endif // !1 31 | 32 | 33 | // Экспериментальная функция разрешения диспатч имен в идентификаторы методов из с++ строки, а не 1С строки (т.е. без лишних аллокаций) 34 | // (при странном и неадекватном поведении можно отключить) 35 | #ifndef ESB_USE_OBJECT_DISPATCH_FIND_STRVIEW_HACK 36 | # define ESB_USE_OBJECT_DISPATCH_FIND_STRVIEW_HACK 1 37 | #endif // !1 38 | 39 | 40 | // Экспериментальный прямой доступ к содержимому BinaryDataBuffer минуя диспатч интерфейс. Только для для v8300. (см.esb_es_file.h::BinaryDataBuffer) 41 | // Точно работает в 8.3.9.1818 х86, 8.3.10.2772 х64, 8.3.11.2831 х86 42 | // Точно не работает в 8.3.23.1688 43 | // Видимо изменения были где-то между 8.3.11.2831 и 8.3.23.1688, но когда точно - неизвестно. Нужно экспериментировать и проверять. 44 | #ifndef ESB_USE_BYTEBUFFER_DIRECT_HACK_v8300 45 | # define ESB_USE_BYTEBUFFER_DIRECT_HACK_v8300 0 46 | #endif // !1 47 | 48 | 49 | // Для демонстрации возможности есб-по-русски. 50 | #ifndef ESB_USE_RUSSIAN 51 | # define ESB_USE_RUSSIAN 1 52 | #endif // !1 53 | 54 | 55 | // По умолчанию конфигурация есб не подключает АПИ платформы. При желании нужно указать это. Также можно подключать АПИ отдельно по каждому провайдеру. 56 | #ifndef ESB_USE_API_ALL 57 | # define ESB_USE_API_ALL 1 58 | #endif // !1 59 | 60 | 61 | // для использования ЕСБ как SCOM модуля или подключайте компоненту из bin директории 1С (Вы должны иметь права на доступ к этой директории!), 62 | // или используйте закгрузку при помощи ms-detours (это удобно для отладочных сборок, но категорически не рекомендуется для релиза) 63 | // (вам нужно скачать его из https://github.com/microsoft/Detours, скомпилировать для Вашего компьютера и прописать в ESB_USE_DETOUR_PATH ваш путь к библиотеке) 64 | // использование ЕСБ не как SCOM модуль, а как объект компоненты также возможно, но нужно внимательно следить чтобы все объекты созданные и запомненные 65 | // в глобальных переменных 1С были освобождены до освобождения самого объекта ЕСБ и сама переменная хранящая объект ЕСБ была очищена в 66 | // Процедуре ПриЗавершенииРаботыСистемы(). 67 | #ifndef ESB_USE_DETOUR 68 | # define ESB_USE_DETOUR 0 69 | # define ESB_USE_DETOUR_PATH ../../../$cpp/ms-detours/detours 70 | #endif // !1 71 | 72 | 73 | #endif //ESB_APP_CONFIG_H_ -------------------------------------------------------------------------------- /esb_studio/EsbStudio/ProjectTemplateVCProject/esb_proj_template.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/int-unsigned/esb/1c7b4c0dc24dd97ceab08b65fc13914349920c06/esb_studio/EsbStudio/ProjectTemplateVCProject/esb_proj_template.jpg -------------------------------------------------------------------------------- /esb_studio/EsbStudio/ProjectTemplateVCProject/esb_studio_readme.txt: -------------------------------------------------------------------------------- 1 | ВАЖНО 2 | - Имя файла 1с-модуля должно быть АНГЛИЙСКИМ !!! 3 | !!! Иначе студия в .vcxproj и в .vcxproj.filters КАКУЮ-ТО ЕРЕСЬ пишет !!! 4 | !!! Нужно в M$ кляузу писать !!! 5 | Это именно про файл (напиример) EsbComponent.xml, 6 | его папку EsbComponent, и его запись в Configuration.xml EsbComponent 7 | А в самом файле можно написать ЕсбКомпонент и в 1С он будет по-русски 8 | Т.е. чтобы запись о файле в .vcxproj и в .vcxproj.filters была 9 | 10 | 11 | 1С Файлы\Общие модули\EsbComponent 12 | 13 | 14 | ПС. Хотя хз... раза три отработало, когда файл-по-английски, а имя-модуля-по-русски, а потом перестало... 15 | Что там в потрохах 1С творится - загадка великая.. 16 | Все по-английски надежнее! 17 | -------------------------------------------------------------------------------- /esb_studio/EsbStudio/ProjectTemplateVCProject/esb_template.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio Version 16 4 | VisualStudioVersion = 16.0.32901.82 5 | MinimumVisualStudioVersion = 10.0.40219.1 6 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "esb_template", "esb_template.vcxproj", "{7A53D8A1-62CC-474E-A946-AD22D972B7E1}" 7 | EndProject 8 | Global 9 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 10 | v8309Debug|x64 = v8309Debug|x64 11 | v8309Debug|x86 = v8309Debug|x86 12 | v8309Release|x64 = v8309Release|x64 13 | v8309Release|x86 = v8309Release|x86 14 | v8323Debug|x64 = v8323Debug|x64 15 | v8323Debug|x86 = v8323Debug|x86 16 | v8323Release|x64 = v8323Release|x64 17 | v8323Release|x86 = v8323Release|x86 18 | EndGlobalSection 19 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 20 | {7A53D8A1-62CC-474E-A946-AD22D972B7E1}.v8309Debug|x64.ActiveCfg = v8309Debug|x64 21 | {7A53D8A1-62CC-474E-A946-AD22D972B7E1}.v8309Debug|x64.Build.0 = v8309Debug|x64 22 | {7A53D8A1-62CC-474E-A946-AD22D972B7E1}.v8309Debug|x86.ActiveCfg = v8309Debug|Win32 23 | {7A53D8A1-62CC-474E-A946-AD22D972B7E1}.v8309Debug|x86.Build.0 = v8309Debug|Win32 24 | {7A53D8A1-62CC-474E-A946-AD22D972B7E1}.v8309Release|x64.ActiveCfg = v8309Release|x64 25 | {7A53D8A1-62CC-474E-A946-AD22D972B7E1}.v8309Release|x64.Build.0 = v8309Release|x64 26 | {7A53D8A1-62CC-474E-A946-AD22D972B7E1}.v8309Release|x86.ActiveCfg = v8309Release|Win32 27 | {7A53D8A1-62CC-474E-A946-AD22D972B7E1}.v8309Release|x86.Build.0 = v8309Release|Win32 28 | {7A53D8A1-62CC-474E-A946-AD22D972B7E1}.v8323Debug|x64.ActiveCfg = v8323Debug|x64 29 | {7A53D8A1-62CC-474E-A946-AD22D972B7E1}.v8323Debug|x64.Build.0 = v8323Debug|x64 30 | {7A53D8A1-62CC-474E-A946-AD22D972B7E1}.v8323Debug|x86.ActiveCfg = v8323Debug|Win32 31 | {7A53D8A1-62CC-474E-A946-AD22D972B7E1}.v8323Debug|x86.Build.0 = v8323Debug|Win32 32 | {7A53D8A1-62CC-474E-A946-AD22D972B7E1}.v8323Release|x64.ActiveCfg = v8323Release|x64 33 | {7A53D8A1-62CC-474E-A946-AD22D972B7E1}.v8323Release|x64.Build.0 = v8323Release|x64 34 | {7A53D8A1-62CC-474E-A946-AD22D972B7E1}.v8323Release|x86.ActiveCfg = v8323Release|Win32 35 | {7A53D8A1-62CC-474E-A946-AD22D972B7E1}.v8323Release|x86.Build.0 = v8323Release|Win32 36 | EndGlobalSection 37 | GlobalSection(SolutionProperties) = preSolution 38 | HideSolutionNode = FALSE 39 | EndGlobalSection 40 | GlobalSection(ExtensibilityGlobals) = postSolution 41 | SolutionGuid = {4FDD3DFF-AB35-4B13-9F2F-F83CDE1879E8} 42 | EndGlobalSection 43 | EndGlobal 44 | -------------------------------------------------------------------------------- /esb_studio/EsbStudio/ProjectTemplateVCProject/esb_template.vcxproj.filters: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | {4FC737F1-C7A5-4376-A066-2A32D752A2FF} 6 | cpp;c;cc;cxx;c++;cppm;ixx;def;odl;idl;hpj;bat;asm;asmx 7 | 8 | 9 | {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} 10 | rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms 11 | 12 | 13 | {93995380-89BD-4b04-88EB-625FBE52EBFB} 14 | h;hh;hpp;hxx;h++;hm;inl;inc;ipp;xsd 15 | 16 | 17 | {10e734ec-dc6d-41c5-8cc8-705c17653273} 18 | 19 | 20 | {c5ca8243-d55f-462d-bd2e-2d5ce7a240c9} 21 | bsl 22 | 23 | 24 | {22c6dd35-6592-4611-8bfa-794fd141f15b} 25 | bsl 26 | 27 | 28 | bsl 29 | 30 | 31 | bsl 32 | 33 | 34 | 35 | 36 | Файлы заголовков 37 | 38 | 39 | Файлы заголовков 40 | 41 | 42 | 43 | 44 | Исходные файлы 45 | 46 | 47 | Исходные файлы 48 | 49 | 50 | 51 | 52 | 1С Файлы\Общие модули 53 | 54 | 55 | 1С Файлы\Общие модули\EsbCommon 56 | 57 | 58 | 1С Файлы\Общие модули\EsbManager 59 | 60 | 61 | 1С Файлы\Общие модули\EsbComponent 62 | 63 | 64 | -------------------------------------------------------------------------------- /esb_studio/EsbStudio/ProjectTemplateVCProject/esbmain.cpp: -------------------------------------------------------------------------------- 1 | // Подключаем базовый код ЕСБ 2 | #include "esb.h" 3 | 4 | // По умолчанию ЕСБ не подключает заголовки для создания классов и их дескрипторов 5 | // т.к. это не необходимо в каждом модуле Вашего проекта. 6 | // Но в модуле где декларируется собственно EsbComponentObject это нужно 7 | #include "esb/esb_ext.h" 8 | 9 | // Просто для удобства. Не всегда и не везде это нужно и безопасно. 10 | // В своих модулях пользуйтесь аккуратно. 11 | using namespace esb; 12 | 13 | 14 | 15 | ////////////////////////////// 16 | // Функциональность компоненты 17 | 18 | String GetHellow() { 19 | return String(ESB_T("Привет мир 1C из мира C++ !!!")); 20 | } 21 | 22 | /// 23 | /// Выводит сообщение в окно сообщений 24 | /// 25 | /// 26 | void СкажиПривет(Строка сообщение_) { 27 | Сообщить(сообщение_); 28 | } 29 | ////////////////////////////// 30 | 31 | 32 | 33 | // Теперь собственно интерфейс объекта, как его будет видеть 1С: 34 | // Имена (ен, ру) как его создавать через Новый, методы и свойства которые будут вызываться из кода 1С 35 | // Для объекта НЕОБХОДИМО создать новый уникальный идентификатор! 36 | // Если несколько есб компонент будут пытаться регистрироваться в 1С с одинаковыми идентификаторами и(или) именами 37 | // БУДЕТ ПЛОХО 38 | // Меню -> Средства -> СоздатьGUID -> ФорматРеестра (или иной строковый формат): {DEDE496C-E755-4598-BBB4-685C5247CFEC} 39 | // Копировать, вставить в кавычки {46EFE873-8489-4C02-8FC5-F95FFB941C70} 40 | // ПС. Мастер EsbStudio гуид создает новый, можно не менять. 41 | //TODO ("EsbObject", "ЕсбОбъект") нужно переопределить как ("$esb_object_en$", "$esb_object_ru$"), и "Объект есб компоненты" тоже 42 | // но для этого нужно возиться с переименованиями 1С-папок, файлов и внутри тоже.. 43 | //vsix-template--: ESB_ADDIN_INTERFACE("46EFE873-8489-4C02-8FC5-F95FFB941C70", ("EsbObject", "ЕсбОбъект"), "Объект есб компоненты") 44 | //vsix-template++: ESB_ADDIN_INTERFACE("$guid2$", ("EsbObject", "ЕсбОбъект"), "Объект есб компоненты") 45 | ESB_ADDIN_INTERFACE("46EFE873-8489-4C02-8FC5-F95FFB941C70", ("EsbObject", "ЕсбОбъект"), "Объект есб компоненты") 46 | ESB_META_INTERFACE_METH( 47 | ESB_META_INTERFACE_FREE_METH(GetHellow, "ДайПривет"), 48 | ESB_META_INTERFACE_FREE_METH(СкажиПривет, "SayHellow") 49 | ); 50 | ESB_ADDIN_INTERFACE_DONE(); 51 | 52 | 53 | // Здесь собственно создание примитивной 1С-компоненты с тремя методами Register, RegisterAsSCOM, Unregister 54 | // которые нужно вызвать из 1С для регистрации в среде 1С Вашего <ЕсбОбъект> 55 | // и последующего его создания как основного интерфейса есб-компоненты: __EsbComponentObject__ = Новый(Типа("EsbObject")); 56 | // у которого мы и будем вызывать __EsbComponentObject__.ДайПривет() 57 | // Имя компоненты всегда EsbComponent, т.к. в 1С оно не используется 58 | // (esbldr_component_cpp.h должен быть включен в проект только один раз!, это не заголовок, а кусочек .cpp) 59 | #include "esb/esbldr_component_cpp.h" 60 | 61 | 62 | 63 | 64 | -------------------------------------------------------------------------------- /esb_studio/EsbStudio/ProjectTemplateVCProject/vstemplate._vstemplate: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | EsbStudio C++ component for 1C(tm) 5 | Шаблон C++ Есб-Компоненты для 1С 6 | esb_proj_template.jpg 7 | VC 8 | cpp 9 | 1C Enterprise 10 | windows 11 | desktop 12 | 1000 13 | 41d73f2d-df50-468a-85a0-90461f994a40 14 | 16 | true 17 | EsbComponent 18 | true 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | EsbStudio, Version=1.0.0.0, Culture=Neutral, PublicKeyToken=5af9f167dd3f4af2 29 | EsbStudio.EsbProjectTemplateWizardImplementation 30 | 31 | 38 | \1s;_1s_create.cmd;_esb_1s_property_page_schema.xml;_1s_run.cmd;directory.build.props;directory.build.targets;_esb_props_ui.xml;esb_studio_readme.txt;\1s_files;1s_files\Configuration.xml;\1s_files\Languages;1s_files\Languages\Русский.xml;\1s_files\CommonModules;1s_files\CommonModules\EsbCommon.xml;1s_files\CommonModules\EsbComponent.xml;1s_files\CommonModules\EsbManager.xml 39 | -------------------------------------------------------------------------------- /esb_studio/EsbStudio/ProjectTemplateVCProject/vstemplate._vstemplate_lst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/int-unsigned/esb/1c7b4c0dc24dd97ceab08b65fc13914349920c06/esb_studio/EsbStudio/ProjectTemplateVCProject/vstemplate._vstemplate_lst -------------------------------------------------------------------------------- /esb_studio/EsbStudio/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // General Information about an assembly is controlled through the following 6 | // set of attributes. Change these attribute values to modify the information 7 | // associated with an assembly. 8 | [assembly: AssemblyTitle("EsbStudio")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("")] 12 | [assembly: AssemblyProduct("EsbStudio")] 13 | [assembly: AssemblyCopyright("")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // Setting ComVisible to false makes the types in this assembly not visible 18 | // to COM components. If you need to access a type in this assembly from 19 | // COM, set the ComVisible attribute to true on that type. 20 | [assembly: ComVisible(false)] 21 | 22 | // Version information for an assembly consists of the following four values: 23 | // 24 | // Major Version 25 | // Minor Version 26 | // Build Number 27 | // Revision 28 | // 29 | // You can specify all the values or you can default the Build and Revision Numbers 30 | // by using the '*' as shown below: 31 | // [assembly: AssemblyVersion("1.0.*")] 32 | [assembly: AssemblyVersion("1.0.0.0")] 33 | [assembly: AssemblyFileVersion("1.0.0.0")] 34 | -------------------------------------------------------------------------------- /esb_studio/EsbStudio/WizardForm/App.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /esb_studio/EsbStudio/WizardForm/Program.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | using System.Windows.Forms; 6 | 7 | namespace EsbVsixDlg 8 | { 9 | static class Program 10 | { 11 | /// 12 | /// Главная точка входа для приложения. 13 | /// 14 | [STAThread] 15 | static void Main() 16 | { 17 | Application.EnableVisualStyles(); 18 | Application.SetCompatibleTextRenderingDefault(false); 19 | Application.Run(new EsbStudio.WizardForm()); 20 | } 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /esb_studio/EsbStudio/WizardForm/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // Общие сведения об этой сборке предоставляются следующим набором 6 | // набора атрибутов. Измените значения этих атрибутов для изменения сведений, 7 | // связанных со сборкой. 8 | [assembly: AssemblyTitle("EsbVsixDlg")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("")] 12 | [assembly: AssemblyProduct("EsbVsixDlg")] 13 | [assembly: AssemblyCopyright("Copyright © 2024")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // Установка значения False для параметра ComVisible делает типы в этой сборке невидимыми 18 | // для компонентов COM. Если необходимо обратиться к типу в этой сборке через 19 | // COM, следует установить атрибут ComVisible в TRUE для этого типа. 20 | [assembly: ComVisible(false)] 21 | 22 | // Следующий GUID служит для идентификации библиотеки типов, если этот проект будет видимым для COM 23 | [assembly: Guid("af9db9b5-ba38-4db3-8f65-0570057e1c28")] 24 | 25 | // Сведения о версии сборки состоят из указанных ниже четырех значений: 26 | // 27 | // Основной номер версии 28 | // Дополнительный номер версии 29 | // Номер сборки 30 | // Редакция 31 | // 32 | // Можно задать все значения или принять номера сборки и редакции по умолчанию 33 | // используя "*", как показано ниже: 34 | // [assembly: AssemblyVersion("1.0.*")] 35 | [assembly: AssemblyVersion("1.0.0.0")] 36 | [assembly: AssemblyFileVersion("1.0.0.0")] 37 | -------------------------------------------------------------------------------- /esb_studio/EsbStudio/WizardForm/Properties/Resources.Designer.cs: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------------ 2 | // 3 | // Этот код создан программным средством. 4 | // Версия среды выполнения: 4.0.30319.42000 5 | // 6 | // Изменения в этом файле могут привести к неправильному поведению и будут утрачены, если 7 | // код создан повторно. 8 | // 9 | //------------------------------------------------------------------------------ 10 | 11 | 12 | namespace EsbVsixDlg.Properties 13 | { 14 | /// 15 | /// Класс ресурсов со строгим типом для поиска локализованных строк и пр. 16 | /// 17 | // Этот класс был автоматически создан при помощи StronglyTypedResourceBuilder 18 | // класс с помощью таких средств, как ResGen или Visual Studio. 19 | // Для добавления или удаления члена измените файл .ResX, а затем перезапустите ResGen 20 | // с параметром /str или заново постройте свой VS-проект. 21 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")] 22 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] 23 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] 24 | internal class Resources 25 | { 26 | 27 | private static global::System.Resources.ResourceManager resourceMan; 28 | 29 | private static global::System.Globalization.CultureInfo resourceCulture; 30 | 31 | [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] 32 | internal Resources() 33 | { 34 | } 35 | 36 | /// 37 | /// Возврат кэшированного экземпляра ResourceManager, используемого этим классом. 38 | /// 39 | [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] 40 | internal static global::System.Resources.ResourceManager ResourceManager 41 | { 42 | get 43 | { 44 | if ((resourceMan == null)) 45 | { 46 | global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("EsbVsixDlg.Properties.Resources", typeof(Resources).Assembly); 47 | resourceMan = temp; 48 | } 49 | return resourceMan; 50 | } 51 | } 52 | 53 | /// 54 | /// Переопределяет свойство CurrentUICulture текущего потока для всех 55 | /// подстановки ресурсов с помощью этого класса ресурсов со строгим типом. 56 | /// 57 | [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] 58 | internal static global::System.Globalization.CultureInfo Culture 59 | { 60 | get 61 | { 62 | return resourceCulture; 63 | } 64 | set 65 | { 66 | resourceCulture = value; 67 | } 68 | } 69 | } 70 | } 71 | -------------------------------------------------------------------------------- /esb_studio/EsbStudio/WizardForm/Properties/Settings.Designer.cs: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------------ 2 | // 3 | // This code was generated by a tool. 4 | // Runtime Version:4.0.30319.42000 5 | // 6 | // Changes to this file may cause incorrect behavior and will be lost if 7 | // the code is regenerated. 8 | // 9 | //------------------------------------------------------------------------------ 10 | 11 | 12 | namespace EsbVsixDlg.Properties 13 | { 14 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] 15 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "11.0.0.0")] 16 | internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase 17 | { 18 | 19 | private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); 20 | 21 | public static Settings Default 22 | { 23 | get 24 | { 25 | return defaultInstance; 26 | } 27 | } 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /esb_studio/EsbStudio/WizardForm/Properties/Settings.settings: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /esb_studio/EsbStudio/WizardForm/esb_proj_template_dialog.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio Version 16 4 | VisualStudioVersion = 16.0.32901.82 5 | MinimumVisualStudioVersion = 10.0.40219.1 6 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "esb_proj_template_dialog", "esb_proj_template_dialog.csproj", "{AF9DB9B5-BA38-4DB3-8F65-0570057E1C28}" 7 | EndProject 8 | Global 9 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 10 | Debug|Any CPU = Debug|Any CPU 11 | Release|Any CPU = Release|Any CPU 12 | EndGlobalSection 13 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 14 | {AF9DB9B5-BA38-4DB3-8F65-0570057E1C28}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 15 | {AF9DB9B5-BA38-4DB3-8F65-0570057E1C28}.Debug|Any CPU.Build.0 = Debug|Any CPU 16 | {AF9DB9B5-BA38-4DB3-8F65-0570057E1C28}.Release|Any CPU.ActiveCfg = Release|Any CPU 17 | {AF9DB9B5-BA38-4DB3-8F65-0570057E1C28}.Release|Any CPU.Build.0 = Release|Any CPU 18 | EndGlobalSection 19 | GlobalSection(SolutionProperties) = preSolution 20 | HideSolutionNode = FALSE 21 | EndGlobalSection 22 | GlobalSection(ExtensibilityGlobals) = postSolution 23 | SolutionGuid = {D69081FB-8234-49B8-AAA8-7E7EBF60BCB4} 24 | EndGlobalSection 25 | EndGlobal 26 | -------------------------------------------------------------------------------- /esb_studio/EsbStudio/WizardForm/packages.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | -------------------------------------------------------------------------------- /esb_studio/EsbStudio/app.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | using System.Diagnostics; 7 | 8 | namespace EsbStudio 9 | { 10 | public class app 11 | { 12 | public const int V8_VER_MIN_ = 9; 13 | public const int V8_VER_MAX_ = 23; 14 | 15 | public static string config_ver_v8(int i_ver_) { 16 | Debug.Assert(i_ver_ >= app.V8_VER_MIN_ && i_ver_ <= app.V8_VER_MAX_); 17 | return "v83" + ((i_ver_ < 10) ? "0" + i_ver_.ToString() : i_ver_.ToString()); 18 | } 19 | public static string config_ver_param(string s_ver_v8_) { return $"$ESB_CONFIG_{s_ver_v8_}$"; } 20 | public static string config_ver_param(int i_ver_) { return config_ver_param(config_ver_v8(i_ver_)); } 21 | public static string config_run_param(string v8VerTag_) { return $"$ESB_CONFIG_RUN_{v8VerTag_}$"; } 22 | public static string config_run_param(int i_ver_) { return config_run_param(config_ver_v8(i_ver_)); } 23 | public static string config_cfg_param(string v8VerTag_) { return $"$ESB_CONFIG_CFG_{v8VerTag_}$"; } 24 | public static string config_cfg_param(int i_ver_) { return config_cfg_param(config_ver_v8(i_ver_)); } 25 | public static string config_sht_param(string v8VerTag_) { return $"$ESB_CONFIG_SHT_{v8VerTag_}$"; } 26 | public static string config_sht_param(int i_ver_) { return config_sht_param(config_ver_v8(i_ver_)); } 27 | 28 | 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /esb_studio/EsbStudio/esb_studio_key.snk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/int-unsigned/esb/1c7b4c0dc24dd97ceab08b65fc13914349920c06/esb_studio/EsbStudio/esb_studio_key.snk -------------------------------------------------------------------------------- /esb_studio/EsbStudio/esb_studio_outfile.key: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/int-unsigned/esb/1c7b4c0dc24dd97ceab08b65fc13914349920c06/esb_studio/EsbStudio/esb_studio_outfile.key -------------------------------------------------------------------------------- /esb_studio/EsbStudio/esb_studio_snk.snk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/int-unsigned/esb/1c7b4c0dc24dd97ceab08b65fc13914349920c06/esb_studio/EsbStudio/esb_studio_snk.snk -------------------------------------------------------------------------------- /esb_studio/EsbStudio/esb_studio_snk.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/int-unsigned/esb/1c7b4c0dc24dd97ceab08b65fc13914349920c06/esb_studio/EsbStudio/esb_studio_snk.txt -------------------------------------------------------------------------------- /esb_studio/EsbStudio/esb_studio_snk_outfile.key: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/int-unsigned/esb/1c7b4c0dc24dd97ceab08b65fc13914349920c06/esb_studio/EsbStudio/esb_studio_snk_outfile.key -------------------------------------------------------------------------------- /esb_studio/EsbStudio/source.extension.vsixmanifest: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | EsbStudio 6 | EsbStudio - C++ esb-component project template for 1C(tm) 7 | 8 | https://github.com/int-unsigned/esb 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /esb_studio/EslLanguage.vsix_: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/int-unsigned/esb/1c7b4c0dc24dd97ceab08b65fc13914349920c06/esb_studio/EslLanguage.vsix_ -------------------------------------------------------------------------------- /esb_studio/EslLanguage/EslGrammar/EslGrammar.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | #if DEBUG 7 | using System.Diagnostics; 8 | #endif 9 | 10 | 11 | 12 | namespace EsbStudio 13 | { 14 | internal static class Util 15 | { 16 | public static readonly Microsoft.VisualStudio.TextManager.Interop.TextSpan SpanEmpty_; 17 | } 18 | 19 | 20 | internal static class Errors 21 | { 22 | public static ArgumentException ArgumentException(object obj_, string arg_name_, object arg_value_, [System.Runtime.CompilerServices.CallerMemberName] string memb_name_ = "") { 23 | return new ArgumentException($"{obj_.ToString()}::{memb_name_}: Invalid {arg_name_} := {arg_value_}."); 24 | } 25 | } 26 | } 27 | 28 | namespace EsbStudio.Esl 29 | { 30 | internal class BslKeywords 31 | { 32 | public static string[] KeywordsArrayEn_ = new string[] 33 | { 34 | "AND", 35 | "BREAK", 36 | "CONTINUE", 37 | "DO", 38 | "EACH", 39 | "ELSE", 40 | "ELSIF", 41 | "ENDDO", 42 | "ENDFUNCTION", 43 | "ENDIF", 44 | "ENDPROCEDURE", 45 | "ENDTRY", 46 | "EXCEPT", 47 | "EXPORT", 48 | "FALSE", 49 | "FOR", 50 | "FUNCTION", 51 | "IF", 52 | "IN", 53 | "NOT", 54 | "NULL", 55 | "OR", 56 | "PROCEDURE", 57 | "RAISE", 58 | "RETURN", 59 | "THEN", 60 | "TO", 61 | "TRUE", 62 | "TRY", 63 | "UNDEFINED", 64 | "USE", 65 | "WHILE", 66 | "VAR" 67 | }; 68 | // 69 | public static HashSet KeywordsSetEn_ = new HashSet(KeywordsArrayEn_, StringComparer.OrdinalIgnoreCase); 70 | // 71 | public static bool is_keyword_char_1st_en(char ch_) { 72 | switch (ch_) 73 | { 74 | case 'A': case 'a': 75 | case 'B': case 'b': 76 | case 'C': case 'c': 77 | case 'D': case 'd': 78 | case 'E': case 'e': 79 | case 'F': case 'f': 80 | case 'I': case 'i': 81 | case 'N': case 'n': 82 | case 'O': case 'o': 83 | case 'P': case 'p': 84 | case 'R': case 'r': 85 | case 'T': case 't': 86 | case 'U': case 'u': 87 | case 'W': case 'w': 88 | case 'V': case 'v': 89 | return true; 90 | default: 91 | return false; 92 | } 93 | } 94 | 95 | public static string[] KeywordsArrayRu_ = new string[] 96 | { 97 | "NULL", //NULL он и в русском NULL 98 | "ВОЗВРАТ", 99 | "ВЫЗВАТЬИСКЛЮЧЕНИЕ", 100 | "ДЛЯ", 101 | "ЕСЛИ", 102 | "И", 103 | "ИЗ", 104 | "ИЛИ", 105 | "ИНАЧЕ", 106 | "ИНАЧЕЕСЛИ", 107 | "ИСКЛЮЧЕНИЕ", 108 | "ИСПОЛЬЗОВАТЬ", 109 | "ИСТИНА", 110 | "КАЖДОГО", 111 | "КОНЕЦЕСЛИ", 112 | "КОНЕЦПОПЫТКИ", 113 | "КОНЕЦПРОЦЕДУРЫ", 114 | "КОНЕЦФУНКЦИИ", 115 | "КОНЕЦЦИКЛА", 116 | "ЛОЖЬ", 117 | "НЕ", 118 | "НЕОПРЕДЕЛЕНО", 119 | "ПЕРЕМ", 120 | "ПО", 121 | "ПОКА", 122 | "ПОПЫТКА", 123 | "ПРЕРВАТЬ", 124 | "ПРОДОЛЖИТЬ", 125 | "ПРОЦЕДУРА", 126 | "ТОГДА", 127 | "ФУНКЦИЯ", 128 | "ЦИКЛ", 129 | "ЭКСПОРТ", 130 | }; 131 | // 132 | public static HashSet KeywordsSetRu_ = new HashSet(KeywordsArrayRu_, StringComparer.OrdinalIgnoreCase); 133 | 134 | public static bool is_keyword_char_1st_ru(char ch_) { 135 | switch (ch_) { 136 | case 'N': case 'n': 137 | case 'В': case 'в': 138 | case 'Д': case 'д': 139 | case 'Е': case 'е': 140 | case 'И': case 'и': 141 | case 'К': case 'к': 142 | case 'Л': case 'л': 143 | case 'Н': case 'н': 144 | case 'П': case 'п': 145 | case 'Т': case 'т': 146 | case 'Ф': case 'ф': 147 | case 'Ц': case 'ц': 148 | case 'Э': case 'э': 149 | return true; 150 | default: 151 | return false; 152 | } 153 | } 154 | 155 | public static bool get_keyword_ru(string source_line_, char ch_1st_, int index_1st_, int len_, ref string keyword_) { 156 | if (is_keyword_char_1st_ru(ch_1st_)) 157 | { 158 | string s_token = source_line_.Substring(index_1st_, len_); 159 | bool b_try_keyword = KeywordsSetRu_.TryGetValue(s_token, out keyword_); 160 | return b_try_keyword; 161 | } 162 | 163 | return false; 164 | } 165 | 166 | public static bool is_keyword_ru(string source_line_, char ch_1st_, int index_1st_, int len_) { 167 | if (is_keyword_char_1st_ru(ch_1st_)) 168 | { 169 | string s_name = source_line_.Substring(index_1st_, len_); 170 | return KeywordsSetRu_.Contains(s_name); 171 | } 172 | return false; 173 | } 174 | public static bool is_keyword_en(string source_line_, char ch_1st_, int index_1st_, int len_) { 175 | if (is_keyword_char_1st_en(ch_1st_)) 176 | { 177 | string s_name = source_line_.Substring(index_1st_, len_); 178 | return KeywordsSetEn_.Contains(s_name); 179 | } 180 | return false; 181 | } 182 | public static bool is_keyword(string source_line_, char ch_1st_, int index_1st_, int len_) { 183 | return (is_keyword_ru(source_line_, ch_1st_, index_1st_, len_) || is_keyword_en(source_line_, ch_1st_, index_1st_, len_)); 184 | } 185 | } // class BslKeywords 186 | 187 | } // namespace EsbStudio.Esl 188 | -------------------------------------------------------------------------------- /esb_studio/EslLanguage/EslGrammar/EslParseResult.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | // 7 | using Microsoft.VisualStudio.Package; 8 | #if DEBUG || DEBUG_IN_RELEASE 9 | using System.Diagnostics; 10 | #endif 11 | 12 | 13 | namespace EsbStudio.Esl 14 | { 15 | internal static class EslParseResult 16 | { 17 | internal static readonly Methods NoMethods_ = new EslMethDeclareMethods_0(); 18 | internal static readonly Declarations NoDeclarations_ = new EslMethDeclarations_0(); 19 | // 20 | //TODO Нужно какое-то логирование и (оч-бы неплохо) показать юзеру как-то. хотя бы на первых порах в целях отработки алгоритмов 21 | // пока просто возвращаем No... как будто бы ничего не произошло 22 | internal static Methods ErrorParseMethods(Exception ex_, [System.Runtime.CompilerServices.CallerMemberName] string invoker_ = "") { 23 | Debug.Assert(false); 24 | return NoMethods_; 25 | } 26 | internal static Declarations ErrorParseDeclarations(Exception ex_, [System.Runtime.CompilerServices.CallerMemberName] string invoker_ = "") { 27 | Debug.Assert(false); 28 | return NoDeclarations_; 29 | } 30 | internal static EslDecl ErrorParseDecl(Exception ex_, [System.Runtime.CompilerServices.CallerMemberName] string invoker_ = "") { 31 | Debug.Assert(false); 32 | return null; 33 | } 34 | internal static string ErrorParseString(Exception ex_, [System.Runtime.CompilerServices.CallerMemberName] string invoker_ = "") { 35 | Debug.Assert(false); 36 | return null; 37 | } 38 | 39 | } 40 | 41 | internal class EslMethDeclareMethods_0 : Methods 42 | { 43 | public override int GetCount() { return 0; } 44 | public override string GetDescription(int meth_index_) { throw Errors.ArgumentException(this, nameof(meth_index_), meth_index_); } 45 | public override string GetName(int meth_index_) { throw Errors.ArgumentException(this, nameof(meth_index_), meth_index_); } 46 | public override int GetParameterCount(int meth_index_) { throw Errors.ArgumentException(this, nameof(meth_index_), meth_index_); } 47 | public override void GetParameterInfo(int meth_index_, int para_index_, out string out_name_, out string out_display_, out string out_description_) 48 | { throw Errors.ArgumentException(this, nameof(meth_index_), meth_index_); } 49 | public override string GetType(int meth_index_) { throw Errors.ArgumentException(this, nameof(meth_index_), meth_index_); } 50 | } 51 | internal class EslMethDeclarations_0 : Declarations 52 | { 53 | public override int GetCount() { return 0; } 54 | public override string GetDescription(int meth_index_) { throw Errors.ArgumentException(this, nameof(meth_index_), meth_index_); } 55 | public override string GetDisplayText(int meth_index_) { throw Errors.ArgumentException(this, nameof(meth_index_), meth_index_); } 56 | public override int GetGlyph(int meth_index_) { throw Errors.ArgumentException(this, nameof(meth_index_), meth_index_); } 57 | public override string GetName(int meth_index_) { throw Errors.ArgumentException(this, nameof(meth_index_), meth_index_); } 58 | } 59 | internal class EslParserResultForScope_Null : AuthoringScope 60 | { 61 | static Declarations m_declarations = new EslMethDeclarations_0(); 62 | static Methods m_methods = new EslMethDeclareMethods_0(); 63 | public override string GetDataTipText(int line, int col, out Microsoft.VisualStudio.TextManager.Interop.TextSpan out_text_span_tip_show_) 64 | { 65 | out_text_span_tip_show_ = Util.SpanEmpty_; 66 | return null; 67 | } 68 | public override Declarations GetDeclarations(Microsoft.VisualStudio.TextManager.Interop.IVsTextView view, int line, int col, TokenInfo info, ParseReason reason) 69 | { 70 | return m_declarations; 71 | } 72 | public override Methods GetMethods(int line, int col, string name) 73 | { 74 | return m_methods; 75 | } 76 | public override string Goto(Microsoft.VisualStudio.VSConstants.VSStd97CmdID cmd, Microsoft.VisualStudio.TextManager.Interop.IVsTextView textView, 77 | int line, int col, out Microsoft.VisualStudio.TextManager.Interop.TextSpan out_text_uri_target_) 78 | { 79 | out_text_uri_target_ = Util.SpanEmpty_; 80 | return null; 81 | } 82 | } 83 | 84 | 85 | 86 | } // namespace EsbStudio.Esl 87 | -------------------------------------------------------------------------------- /esb_studio/EslLanguage/EslLanguage.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 16.0 5 | $(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion) 6 | 7 | 8 | 9 | Debug 10 | AnyCPU 11 | 2.0 12 | {82b43b9b-a64c-4715-b499-d71e9ca2bd60};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} 13 | {4CAEF150-6A75-4C40-8B81-DEA9C734B4D3} 14 | Library 15 | Properties 16 | EsbStudio 17 | EslLanguage 18 | v4.7.2 19 | true 20 | true 21 | true 22 | false 23 | false 24 | true 25 | true 26 | Program 27 | $(DevEnvDir)devenv.exe 28 | /rootsuffix Exp 29 | 30 | 31 | true 32 | full 33 | false 34 | bin\Debug\ 35 | TRACE;DEBUG;ESB_STUDIO_SYNC_MODE 36 | prompt 37 | 4 38 | 39 | 40 | pdbonly 41 | true 42 | bin\Release\ 43 | TRACE;ESB_STUDIO_SYNC_MODE;DEBUG_IN_RELEASE 44 | prompt 45 | 4 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | Designer 69 | 70 | 71 | 72 | 73 | True 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 91 | -------------------------------------------------------------------------------- /esb_studio/EslLanguage/EslLanguage.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio Version 16 4 | VisualStudioVersion = 16.0.32901.82 5 | MinimumVisualStudioVersion = 10.0.40219.1 6 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "EslLanguage", "EslLanguage.csproj", "{4CAEF150-6A75-4C40-8B81-DEA9C734B4D3}" 7 | EndProject 8 | Global 9 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 10 | Debug|Any CPU = Debug|Any CPU 11 | Release|Any CPU = Release|Any CPU 12 | EndGlobalSection 13 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 14 | {4CAEF150-6A75-4C40-8B81-DEA9C734B4D3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 15 | {4CAEF150-6A75-4C40-8B81-DEA9C734B4D3}.Debug|Any CPU.Build.0 = Debug|Any CPU 16 | {4CAEF150-6A75-4C40-8B81-DEA9C734B4D3}.Release|Any CPU.ActiveCfg = Release|Any CPU 17 | {4CAEF150-6A75-4C40-8B81-DEA9C734B4D3}.Release|Any CPU.Build.0 = Release|Any CPU 18 | EndGlobalSection 19 | GlobalSection(SolutionProperties) = preSolution 20 | HideSolutionNode = FALSE 21 | EndGlobalSection 22 | GlobalSection(ExtensibilityGlobals) = postSolution 23 | SolutionGuid = {1C17415D-3105-4CDB-B68C-CB6E4BCFA996} 24 | EndGlobalSection 25 | EndGlobal 26 | -------------------------------------------------------------------------------- /esb_studio/EslLanguage/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // General Information about an assembly is controlled through the following 6 | // set of attributes. Change these attribute values to modify the information 7 | // associated with an assembly. 8 | [assembly: AssemblyTitle("EslLanguage")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("")] 12 | [assembly: AssemblyProduct("EslLanguage")] 13 | [assembly: AssemblyCopyright("")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // Setting ComVisible to false makes the types in this assembly not visible 18 | // to COM components. If you need to access a type in this assembly from 19 | // COM, set the ComVisible attribute to true on that type. 20 | [assembly: ComVisible(false)] 21 | 22 | // Version information for an assembly consists of the following four values: 23 | // 24 | // Major Version 25 | // Minor Version 26 | // Build Number 27 | // Revision 28 | // 29 | // You can specify all the values or you can default the Build and Revision Numbers 30 | // by using the '*' as shown below: 31 | // [assembly: AssemblyVersion("1.0.*")] 32 | [assembly: AssemblyVersion("1.0.0.0")] 33 | [assembly: AssemblyFileVersion("1.0.0.0")] 34 | -------------------------------------------------------------------------------- /esb_studio/EslLanguage/_test/EslApplicationModule.esl: -------------------------------------------------------------------------------- 1 | // Обычное приложение 2 | // Режим использования синхронных вызовов расширений платформы и внешних компонент: ИСПОЛЬЗОВАТЬ 3 | // Режим совместимости - НЕ ИСПОЛЬЗОВАТЬ 4 | 5 | 6 | // Нам нужны экспортируемые переменные для работы с компонентой и ее есб-объектом 7 | Перем __EsbComponent__ экспорт; 8 | Перем __EsbComponentObject__ экспорт; 9 | // 10 | 11 | ЭтотКомпонент(). 12 | Процедура ПриНачалеРаботыСистемы() 13 | // Если проврка совместимости не нужна - просто замени 1 на 0 14 | Если 1 И НЕ ЕсбСовместимаяПлатформа() Тогда 15 | возврат; 16 | КонецЕсли; 17 | 18 | // Используется только для авто-запуска из конфигуратора, когда ПараметрЗапуска отсутствует 19 | __ИСПОЛЬЗОВАТЬ_ДЕБАГ_ДЛЛ__ = Истина; 20 | //__ИСПОЛЬЗОВАТЬ_ДЕБАГ_ДЛЛ__ = Ложь; // просто "зеремь"/"отремь" чтобы получить нужный режим 21 | 22 | параметры_запуска = ПараметрЗапуска; 23 | путь_к_компоненте = ""; 24 | Если параметры_запуска <> "" Тогда 25 | сообщить("ПараметрЗапуска: '" + параметры_запуска + "'"); 26 | Если СтрНачинаетсяС(параметры_запуска, "--esbrun=") Тогда 27 | путь_к_компоненте = ПутьДостроить( ПутьНаУровеньВыше(ПутьККонфигурации()), ПутьБезПоследнегоРазделителя(Сред(параметры_запуска, 10)) ); 28 | иначе 29 | Предупреждение("Неожидаемый ПараметрЗапуска:" + Символы.ПС + 30 | параметры_запуска + Символы.ПС + Символы.ПС + 31 | "Ожидается '--esbrun=<путь_к_есб_компоненте>'. Продолжение работы невозможно"); 32 | ЗавершитьРаботуСистемы(ложь); 33 | КонецЕсли; 34 | иначе 35 | сообщить("ПараметрЗапуска отсутствует. Загрузка Есб-Компонента для отладки по-умолчанию."); 36 | путь_к_компоненте = ЕсбПутьДляОтладки(__ИСПОЛЬЗОВАТЬ_ДЕБАГ_ДЛЛ__); 37 | КонецЕсли; 38 | 39 | Если EsbComponent.Загрузить(путь_к_компоненте) тогда 40 | EsbComponent.СтартТест(); 41 | КонецЕсли; 42 | КонецПроцедуры 43 | 44 | 45 | Процедура ПриЗавершенииРаботыСистемы () 46 | //!!! ОЧЕНЬ ВАЖНО, ЕСЛИ ЗАГРУЖАЕМСЯ НЕ КАК SCOM-Модуль !!! 47 | EsbComponent.Выгрузить(); 48 | КонецПроцедуры 49 | 50 | -------------------------------------------------------------------------------- /esb_studio/EslLanguage/source.extension.vsixmanifest: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | EsbStudio.EslLanguageService 6 | EsbStudio Language Service for 1C-Enterprise-like language (Bsl, Esl) 7 | 8 | https://github.com/int-unsigned/esb 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /include/esb/1c/1c_api.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/int-unsigned/esb/1c7b4c0dc24dd97ceab08b65fc13914349920c06/include/esb/1c/1c_api.h -------------------------------------------------------------------------------- /include/esb/1c/1c_api_providers.h: -------------------------------------------------------------------------------- 1 | /* 2 | "ESB" is designed to create external native components for the 1C(tm) program. 3 | Copyright © 2023 IntUnsigned (v8classes@gmail.com) 4 | "ESB" is free software under LGPLv2.1 license with essential restriction about binary part (view esb-license.txt) 5 | "ESB" IS DISTRIBUTED "AS-IS" WITHOUT ANY, EVEN THE IMPLIED, WARRANTY. IN NO EVENT SHALL THE AUTHORS OR THE COPYRIGHT OWNER BE LIABLE FOR ANY CLAIM, 6 | DAMAGES OR OTHER LIABILITY ARISING OUT OF THE USE OF THIS SOFTWARE. 7 | THE AUTHOR DOES NOT GIVE ANY GUARANTEES AND DOES NOT BEAR ANY RESPONSIBILITY REGARDING THE USE OF 1C(tm) COMPONENTS PRODUCED USING THE ESB LIBRARY IN THE 1C(tm) ENVIRONMENT. 8 | */ 9 | 10 | 11 | #pragma once 12 | #ifndef ESB_1С_MODULE_API_PROVIDERS_H_ 13 | #define ESB_1С_MODULE_API_PROVIDERS_H_ 14 | 15 | #include "esb/esb_config.h" 16 | #include ESB_INCLUDE_1C_MODULE(es1_api_providers.h) 17 | 18 | #endif //ESB_1С_MODULE_API_PROVIDERS_H_ 19 | -------------------------------------------------------------------------------- /include/esb/1c/1c_data.h: -------------------------------------------------------------------------------- 1 | /* 2 | "ESB" is designed to create external native components for the 1C(tm) program. 3 | Copyright © 2023 IntUnsigned (v8classes@gmail.com) 4 | "ESB" is free software under LGPLv2.1 license with essential restriction about binary part (view esb-license.txt) 5 | "ESB" IS DISTRIBUTED "AS-IS" WITHOUT ANY, EVEN THE IMPLIED, WARRANTY. IN NO EVENT SHALL THE AUTHORS OR THE COPYRIGHT OWNER BE LIABLE FOR ANY CLAIM, 6 | DAMAGES OR OTHER LIABILITY ARISING OUT OF THE USE OF THIS SOFTWARE. 7 | THE AUTHOR DOES NOT GIVE ANY GUARANTEES AND DOES NOT BEAR ANY RESPONSIBILITY REGARDING THE USE OF 1C(tm) COMPONENTS PRODUCED USING THE ESB LIBRARY IN THE 1C(tm) ENVIRONMENT. 8 | */ 9 | 10 | 11 | #pragma once 12 | #ifndef ESB_1С_MODULE_DATA_H_ 13 | #define ESB_1С_MODULE_DATA_H_ 14 | 15 | #include "esb/esb_config.h" 16 | #include ESB_INCLUDE_1C_MODULE(es1_data.h) 17 | 18 | #endif //ESB_1С_MODULE_DATA_H_ 19 | -------------------------------------------------------------------------------- /include/esb/1c/1c_file.h: -------------------------------------------------------------------------------- 1 | /* 2 | "ESB" is designed to create external native components for the 1C(tm) program. 3 | Copyright © 2023 IntUnsigned (v8classes@gmail.com) 4 | "ESB" is free software under LGPLv2.1 license with essential restriction about binary part (view esb-license.txt) 5 | "ESB" IS DISTRIBUTED "AS-IS" WITHOUT ANY, EVEN THE IMPLIED, WARRANTY. IN NO EVENT SHALL THE AUTHORS OR THE COPYRIGHT OWNER BE LIABLE FOR ANY CLAIM, 6 | DAMAGES OR OTHER LIABILITY ARISING OUT OF THE USE OF THIS SOFTWARE. 7 | THE AUTHOR DOES NOT GIVE ANY GUARANTEES AND DOES NOT BEAR ANY RESPONSIBILITY REGARDING THE USE OF 1C(tm) COMPONENTS PRODUCED USING THE ESB LIBRARY IN THE 1C(tm) ENVIRONMENT. 8 | */ 9 | 10 | 11 | #pragma once 12 | #ifndef ESB_1С_MODULE_FILE_H_ 13 | #define ESB_1С_MODULE_FILE_H_ 14 | 15 | #include "esb/esb_config.h" 16 | #include ESB_INCLUDE_1C_MODULE(es1_file.h) 17 | 18 | #endif //ESB_1С_MODULE_FILE_H_ 19 | -------------------------------------------------------------------------------- /include/esb/1c/v8309/es1_all.def.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/int-unsigned/esb/1c7b4c0dc24dd97ceab08b65fc13914349920c06/include/esb/1c/v8309/es1_all.def.h -------------------------------------------------------------------------------- /include/esb/1c/v8309/es1_api.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/int-unsigned/esb/1c7b4c0dc24dd97ceab08b65fc13914349920c06/include/esb/1c/v8309/es1_api.h -------------------------------------------------------------------------------- /include/esb/1c/v8309/es1_api_providers.def: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/int-unsigned/esb/1c7b4c0dc24dd97ceab08b65fc13914349920c06/include/esb/1c/v8309/es1_api_providers.def -------------------------------------------------------------------------------- /include/esb/1c/v8309/es1_api_providers.def.h: -------------------------------------------------------------------------------- 1 | #ifndef ESBLIB_API_PROVIDER 2 | #error Need define ESBLIB_API_PROVIDER(TAG_, ...) !!! 3 | #endif 4 | 5 | // 6 | #include "es1_api_providers.def" 7 | // 8 | 9 | #undef ESBLIB_API_PROVIDER 10 | 11 | -------------------------------------------------------------------------------- /include/esb/1c/v8309/es1_api_providers.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/int-unsigned/esb/1c7b4c0dc24dd97ceab08b65fc13914349920c06/include/esb/1c/v8309/es1_api_providers.h -------------------------------------------------------------------------------- /include/esb/1c/v8309/es1_base.def: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/int-unsigned/esb/1c7b4c0dc24dd97ceab08b65fc13914349920c06/include/esb/1c/v8309/es1_base.def -------------------------------------------------------------------------------- /include/esb/1c/v8309/es1_base.def.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/int-unsigned/esb/1c7b4c0dc24dd97ceab08b65fc13914349920c06/include/esb/1c/v8309/es1_base.def.h -------------------------------------------------------------------------------- /include/esb/1c/v8309/es1_data.def: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/int-unsigned/esb/1c7b4c0dc24dd97ceab08b65fc13914349920c06/include/esb/1c/v8309/es1_data.def -------------------------------------------------------------------------------- /include/esb/1c/v8309/es1_data.def.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/int-unsigned/esb/1c7b4c0dc24dd97ceab08b65fc13914349920c06/include/esb/1c/v8309/es1_data.def.h -------------------------------------------------------------------------------- /include/esb/1c/v8309/es1_file.def: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/int-unsigned/esb/1c7b4c0dc24dd97ceab08b65fc13914349920c06/include/esb/1c/v8309/es1_file.def -------------------------------------------------------------------------------- /include/esb/1c/v8309/es1_file.def.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/int-unsigned/esb/1c7b4c0dc24dd97ceab08b65fc13914349920c06/include/esb/1c/v8309/es1_file.def.h -------------------------------------------------------------------------------- /include/esb/1c/v8309/es1_main.def: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/int-unsigned/esb/1c7b4c0dc24dd97ceab08b65fc13914349920c06/include/esb/1c/v8309/es1_main.def -------------------------------------------------------------------------------- /include/esb/1c/v8309/es1_main.def.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/int-unsigned/esb/1c7b4c0dc24dd97ceab08b65fc13914349920c06/include/esb/1c/v8309/es1_main.def.h -------------------------------------------------------------------------------- /include/esb/1c/v8309/esdisp.h: -------------------------------------------------------------------------------- 1 | /* 2 | "ESB" is designed to create external native components for the 1C(tm) program. 3 | Copyright © 2023 IntUnsigned (v8classes@gmail.com) 4 | "ESB" is free software under LGPLv2.1 license with essential restriction about binary part (view esb-license.txt) 5 | "ESB" IS DISTRIBUTED "AS-IS" WITHOUT ANY, EVEN THE IMPLIED, WARRANTY. IN NO EVENT SHALL THE AUTHORS OR THE COPYRIGHT OWNER BE LIABLE FOR ANY CLAIM, 6 | DAMAGES OR OTHER LIABILITY ARISING OUT OF THE USE OF THIS SOFTWARE. 7 | THE AUTHOR DOES NOT GIVE ANY GUARANTEES AND DOES NOT BEAR ANY RESPONSIBILITY REGARDING THE USE OF 1C(tm) COMPONENTS PRODUCED USING THE ESB LIBRARY IN THE 1C(tm) ENVIRONMENT. 8 | */ 9 | #pragma once 10 | #ifndef ESB_ESDISP_H_ 11 | #define ESB_ESDISP_H_ 12 | 13 | 14 | #include "esb/esb_config_base.h" 15 | 16 | namespace esb 17 | { 18 | // RoundMode "заремлен" в es1_base.def т.к. его реализация везде ручками (модельная). поэтому декларировать его надо explicity 19 | class RoundMode; 20 | 21 | namespace _internal 22 | { 23 | namespace _dispinfo 24 | { 25 | namespace _v8309 26 | { 27 | template 28 | struct MethIdsFor; 29 | template 30 | struct PropIdsFor; 31 | template 32 | struct EnumIdsFor;// {//static constexpr dispix_t _ids_enum_count = 0; }; 33 | 34 | template 35 | inline constexpr bool is_typeinfo_singleton = true; 36 | } 37 | 38 | template 39 | using MethIdsFor = _internal::_dispinfo::_v8309::MethIdsFor; 40 | template 41 | using PropIdsFor = _internal::_dispinfo::_v8309::PropIdsFor; 42 | template 43 | using EnumIdsFor = _internal::_dispinfo::_v8309::EnumIdsFor; 44 | 45 | template 46 | inline constexpr bool is_typeinfo_singleton = _internal::_dispinfo::_v8309::is_typeinfo_singleton; 47 | } //_dispinfo 48 | }// _internal 49 | }// esb 50 | #endif //ESB_ESDISP_H_ 51 | -------------------------------------------------------------------------------- /include/esb/1c/v8309/esdisp_all.h: -------------------------------------------------------------------------------- 1 | /* 2 | "ESB" is designed to create external native components for the 1C(tm) program. 3 | Copyright © 2023 IntUnsigned (v8classes@gmail.com) 4 | "ESB" is free software under LGPLv2.1 license with essential restriction about binary part (view esb-license.txt) 5 | "ESB" IS DISTRIBUTED "AS-IS" WITHOUT ANY, EVEN THE IMPLIED, WARRANTY. IN NO EVENT SHALL THE AUTHORS OR THE COPYRIGHT OWNER BE LIABLE FOR ANY CLAIM, 6 | DAMAGES OR OTHER LIABILITY ARISING OUT OF THE USE OF THIS SOFTWARE. 7 | THE AUTHOR DOES NOT GIVE ANY GUARANTEES AND DOES NOT BEAR ANY RESPONSIBILITY REGARDING THE USE OF 1C(tm) COMPONENTS PRODUCED USING THE ESB LIBRARY IN THE 1C(tm) ENVIRONMENT. 8 | */ 9 | #pragma once 10 | #ifndef ESB_ESDISP_ALL_H_ 11 | #define ESB_ESDISP_ALL_H_ 12 | 13 | /* 14 | !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 15 | !! AutoGenerated Dispinfo File !! 16 | !! DO NOT EDIT !! 17 | !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 18 | */ 19 | // platform ver v8.3.9.1818 20 | #include "esdisp.h" 21 | 22 | 23 | #include "esdisp_base.h" 24 | #include "esdisp_main.h" 25 | #include "esdisp_data.h" 26 | #include "esdisp_file.h" 27 | #include "esdisp_api.h" 28 | 29 | #endif //ESB_ESDISP_ALL_H_ 30 | -------------------------------------------------------------------------------- /include/esb/1c/v8309/esdisp_api.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/int-unsigned/esb/1c7b4c0dc24dd97ceab08b65fc13914349920c06/include/esb/1c/v8309/esdisp_api.h -------------------------------------------------------------------------------- /include/esb/1c/v8309/esdisp_base.h: -------------------------------------------------------------------------------- 1 | /* 2 | "ESB" is designed to create external native components for the 1C(tm) program. 3 | Copyright © 2023 IntUnsigned (v8classes@gmail.com) 4 | "ESB" is free software under LGPLv2.1 license with essential restriction about binary part (view esb-license.txt) 5 | "ESB" IS DISTRIBUTED "AS-IS" WITHOUT ANY, EVEN THE IMPLIED, WARRANTY. IN NO EVENT SHALL THE AUTHORS OR THE COPYRIGHT OWNER BE LIABLE FOR ANY CLAIM, 6 | DAMAGES OR OTHER LIABILITY ARISING OUT OF THE USE OF THIS SOFTWARE. 7 | THE AUTHOR DOES NOT GIVE ANY GUARANTEES AND DOES NOT BEAR ANY RESPONSIBILITY REGARDING THE USE OF 1C(tm) COMPONENTS PRODUCED USING THE ESB LIBRARY IN THE 1C(tm) ENVIRONMENT. 8 | */ 9 | #pragma once 10 | #ifndef ESB_ESDISP_BASE_H_ 11 | #define ESB_ESDISP_BASE_H_ 12 | 13 | /* 14 | !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 15 | !! AutoGenerated Dispinfo File !! 16 | !! DO NOT EDIT !! 17 | !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 18 | */ 19 | // platform ver v8.3.9.1818 20 | #include "esdisp.h" 21 | 22 | namespace esb 23 | { 24 | #define ESBLIB_TYPE(CLASS_EN_, ...) class CLASS_EN_; 25 | #define ESBLIB_ENUM(CLASS_EN_, ...) ESBLIB_TYPE(CLASS_EN_) 26 | #include "es1_base.def.h" 27 | 28 | namespace _internal 29 | { 30 | namespace _dispinfo 31 | { 32 | namespace _v8309 33 | { 34 | template<> 35 | struct EnumIdsFor { 36 | enum _ids_enum : dispix_t { Round15as10, Round15as20 }; 37 | //protected: 38 | static constexpr dispix_t _ids_enum_count = 2; 39 | }; 40 | 41 | template<> 42 | struct MethIdsFor { 43 | // No Disp Methods. 44 | }; 45 | template<> 46 | struct PropIdsFor { 47 | enum _ids_enum : dispix_t {Description, ModuleName, LineNumber, SourceLine, Cause}; 48 | protected: 49 | static constexpr dispix_t _ids_enum_count = 5; 50 | }; 51 | template<> 52 | struct MethIdsFor { 53 | enum _ids_enum : dispix_t {Count, UBound, Insert, Add, Delete, Clear, Get, Set, Find}; 54 | protected: 55 | static constexpr dispix_t _ids_enum_count = 9; 56 | }; 57 | template<> 58 | struct PropIdsFor { 59 | // No Disp Properties. 60 | }; 61 | template<> 62 | struct MethIdsFor { 63 | enum _ids_enum : dispix_t {Count, UBound, Get, Find}; 64 | protected: 65 | static constexpr dispix_t _ids_enum_count = 4; 66 | }; 67 | template<> 68 | struct PropIdsFor { 69 | // No Disp Properties. 70 | }; 71 | template<> 72 | struct MethIdsFor { 73 | // No Disp Methods. 74 | }; 75 | template<> 76 | struct PropIdsFor { 77 | enum _ids_enum : dispix_t {Key, Value}; 78 | protected: 79 | static constexpr dispix_t _ids_enum_count = 2; 80 | }; 81 | template<> 82 | struct MethIdsFor { 83 | enum _ids_enum : dispix_t {Count, Insert, Delete, Clear, Property}; 84 | protected: 85 | static constexpr dispix_t _ids_enum_count = 5; 86 | }; 87 | template<> 88 | struct PropIdsFor { 89 | // No Disp Properties. 90 | }; 91 | template<> 92 | struct MethIdsFor { 93 | enum _ids_enum : dispix_t {Count, Property}; 94 | protected: 95 | static constexpr dispix_t _ids_enum_count = 2; 96 | }; 97 | template<> 98 | struct PropIdsFor { 99 | // No Disp Properties. 100 | }; 101 | template<> 102 | struct MethIdsFor { 103 | enum _ids_enum : dispix_t {Count, Insert, Delete, Clear, Get}; 104 | protected: 105 | static constexpr dispix_t _ids_enum_count = 5; 106 | }; 107 | template<> 108 | struct PropIdsFor { 109 | // No Disp Properties. 110 | }; 111 | template<> 112 | struct MethIdsFor { 113 | enum _ids_enum : dispix_t {Count, Get}; 114 | protected: 115 | static constexpr dispix_t _ids_enum_count = 2; 116 | }; 117 | template<> 118 | struct PropIdsFor { 119 | // No Disp Properties. 120 | }; 121 | template<> 122 | struct EnumIdsFor { 123 | enum _ids_enum : dispix_t {FromBegin, FromEnd}; 124 | static constexpr dispix_t _ids_enum_count = 2; 125 | }; 126 | template<> 127 | struct EnumIdsFor { 128 | enum _ids_enum : dispix_t {Asc, Desc}; 129 | static constexpr dispix_t _ids_enum_count = 2; 130 | }; 131 | 132 | } // end namespace _v8309 133 | } // end namespace _dispinfo 134 | }// end namespace _internal 135 | }// end namespace esb 136 | 137 | 138 | 139 | #endif //ESB_ESDISP_BASE_H_ 140 | -------------------------------------------------------------------------------- /include/esb/1c/v8309/esdisp_file.h: -------------------------------------------------------------------------------- 1 | /* 2 | "ESB" is designed to create external native components for the 1C(tm) program. 3 | Copyright © 2023 IntUnsigned (v8classes@gmail.com) 4 | "ESB" is free software under LGPLv2.1 license with essential restriction about binary part (view esb-license.txt) 5 | "ESB" IS DISTRIBUTED "AS-IS" WITHOUT ANY, EVEN THE IMPLIED, WARRANTY. IN NO EVENT SHALL THE AUTHORS OR THE COPYRIGHT OWNER BE LIABLE FOR ANY CLAIM, 6 | DAMAGES OR OTHER LIABILITY ARISING OUT OF THE USE OF THIS SOFTWARE. 7 | THE AUTHOR DOES NOT GIVE ANY GUARANTEES AND DOES NOT BEAR ANY RESPONSIBILITY REGARDING THE USE OF 1C(tm) COMPONENTS PRODUCED USING THE ESB LIBRARY IN THE 1C(tm) ENVIRONMENT. 8 | */ 9 | #pragma once 10 | #ifndef ESB_ESDISP_FILE_H_ 11 | #define ESB_ESDISP_FILE_H_ 12 | 13 | /* 14 | !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 15 | !! AutoGenerated Dispinfo File !! 16 | !! DO NOT EDIT !! 17 | !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 18 | */ 19 | // platform ver v8.3.9.1818 20 | #include "esdisp.h" 21 | 22 | 23 | namespace esb { 24 | // 25 | #define ESBLIB_TYPE(CLASS_EN_, ...) class CLASS_EN_; 26 | #define ESBLIB_ENUM(CLASS_EN_, ...) ESBLIB_TYPE(CLASS_EN_) 27 | #include "es1_file.def.h" 28 | 29 | namespace _internal 30 | { 31 | namespace _dispinfo 32 | { 33 | namespace _v8309 34 | { 35 | template 36 | struct MethIdsFor; 37 | template 38 | struct PropIdsFor; 39 | template 40 | struct EnumIdsFor; 41 | 42 | template<> 43 | struct EnumIdsFor { 44 | enum _ids_enum : dispix_t { Begin, Current, End }; 45 | //protected: 46 | static constexpr dispix_t _ids_enum_count = 3; 47 | }; 48 | template<> 49 | struct EnumIdsFor { 50 | enum _ids_enum : dispix_t { LittleEndian, BigEndian }; 51 | //protected: 52 | static constexpr dispix_t _ids_enum_count = 2; 53 | }; 54 | template<> 55 | struct EnumIdsFor { 56 | enum _ids_enum : dispix_t { Create, CreateNew, Open, OpenOrCreate, Truncate, Append }; 57 | //protected: 58 | static constexpr dispix_t _ids_enum_count = 6; 59 | }; 60 | template<> 61 | struct EnumIdsFor { 62 | enum _ids_enum : dispix_t { Read, Write, ReadAndWrite }; 63 | //protected: 64 | static constexpr dispix_t _ids_enum_count = 3; 65 | }; 66 | 67 | template<> 68 | struct MethIdsFor { 69 | enum _ids_enum : dispix_t { Close, Size, GetReadOnlyStream, CurrentPosition, CopyTo, Flush, Seek, SetSize, Read, Write, BeginGetSize, BeginCopyTo, BeginSeek, BeginSetSize, BeginRead, BeginWrite, BeginFlush, BeginClose }; 70 | protected: 71 | static constexpr dispix_t _ids_enum_count = 18; 72 | }; 73 | template<> 74 | struct PropIdsFor { 75 | enum _ids_enum : dispix_t { CanRead, CanWrite, CanSeek }; 76 | protected: 77 | static constexpr dispix_t _ids_enum_count = 3; 78 | }; 79 | template<> 80 | struct MethIdsFor { 81 | enum _ids_enum : dispix_t { Write, Size, OpenStreamForRead, BeginWrite }; 82 | protected: 83 | static constexpr dispix_t _ids_enum_count = 4; 84 | }; 85 | template<> 86 | struct PropIdsFor { 87 | // No Disp Properties. 88 | }; 89 | template<> 90 | struct MethIdsFor { 91 | enum _ids_enum : dispix_t { SetReadOnly, GetSlice, Get, Set, Read, ReadInt16, ReadInt32, ReadInt64, WriteInt16, WriteInt32, WriteInt64, Copy, Write, Reverse, Concat, Split }; 92 | protected: 93 | static constexpr dispix_t _ids_enum_count = 16; 94 | }; 95 | template<> 96 | struct PropIdsFor { 97 | enum _ids_enum : dispix_t { Size, ReadOnly, ByteOrder }; 98 | protected: 99 | static constexpr dispix_t _ids_enum_count = 3; 100 | }; 101 | template<> 102 | struct MethIdsFor { 103 | enum _ids_enum : dispix_t { Close, Size, GetReadOnlyStream, CurrentPosition, CopyTo, Flush, Seek, SetSize, Read, Write, BeginGetSize, BeginCopyTo, BeginSeek, BeginSetSize, BeginRead, BeginWrite, BeginFlush, BeginClose }; 104 | protected: 105 | static constexpr dispix_t _ids_enum_count = 18; 106 | }; 107 | template<> 108 | struct PropIdsFor { 109 | enum _ids_enum : dispix_t { CanRead, CanWrite, CanSeek, FileName }; 110 | protected: 111 | static constexpr dispix_t _ids_enum_count = 4; 112 | }; 113 | template<> 114 | struct MethIdsFor { 115 | enum _ids_enum : dispix_t { Close, Size, GetReadOnlyStream, CurrentPosition, CopyTo, Flush, Seek, SetSize, Read, Write, BeginGetSize, BeginCopyTo, BeginSeek, BeginSetSize, BeginRead, BeginWrite, BeginFlush, BeginClose, CloseAndGetBinaryData }; 116 | protected: 117 | static constexpr dispix_t _ids_enum_count = 19; 118 | }; 119 | template<> 120 | struct PropIdsFor { 121 | enum _ids_enum : dispix_t { CanRead, CanWrite, CanSeek }; 122 | protected: 123 | static constexpr dispix_t _ids_enum_count = 3; 124 | }; 125 | } //_v8309 126 | } //_dispinfo 127 | }// _internal 128 | }// esb 129 | #endif //ESB_ESDISP_FILE_H_ 130 | -------------------------------------------------------------------------------- /include/esb/1c/v8323/es1_all.def.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/int-unsigned/esb/1c7b4c0dc24dd97ceab08b65fc13914349920c06/include/esb/1c/v8323/es1_all.def.h -------------------------------------------------------------------------------- /include/esb/1c/v8323/es1_api.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/int-unsigned/esb/1c7b4c0dc24dd97ceab08b65fc13914349920c06/include/esb/1c/v8323/es1_api.h -------------------------------------------------------------------------------- /include/esb/1c/v8323/es1_api_providers.def: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/int-unsigned/esb/1c7b4c0dc24dd97ceab08b65fc13914349920c06/include/esb/1c/v8323/es1_api_providers.def -------------------------------------------------------------------------------- /include/esb/1c/v8323/es1_api_providers.def.h: -------------------------------------------------------------------------------- 1 | #ifndef ESBLIB_API_PROVIDER 2 | #error Need define ESBLIB_API_PROVIDER(TAG_, ...) !!! 3 | #endif 4 | 5 | // 6 | #include "es1_api_providers.def" 7 | // 8 | 9 | #undef ESBLIB_API_PROVIDER 10 | 11 | -------------------------------------------------------------------------------- /include/esb/1c/v8323/es1_api_providers.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/int-unsigned/esb/1c7b4c0dc24dd97ceab08b65fc13914349920c06/include/esb/1c/v8323/es1_api_providers.h -------------------------------------------------------------------------------- /include/esb/1c/v8323/es1_base.def: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/int-unsigned/esb/1c7b4c0dc24dd97ceab08b65fc13914349920c06/include/esb/1c/v8323/es1_base.def -------------------------------------------------------------------------------- /include/esb/1c/v8323/es1_base.def.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/int-unsigned/esb/1c7b4c0dc24dd97ceab08b65fc13914349920c06/include/esb/1c/v8323/es1_base.def.h -------------------------------------------------------------------------------- /include/esb/1c/v8323/es1_data.def: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/int-unsigned/esb/1c7b4c0dc24dd97ceab08b65fc13914349920c06/include/esb/1c/v8323/es1_data.def -------------------------------------------------------------------------------- /include/esb/1c/v8323/es1_data.def.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/int-unsigned/esb/1c7b4c0dc24dd97ceab08b65fc13914349920c06/include/esb/1c/v8323/es1_data.def.h -------------------------------------------------------------------------------- /include/esb/1c/v8323/es1_file.def: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/int-unsigned/esb/1c7b4c0dc24dd97ceab08b65fc13914349920c06/include/esb/1c/v8323/es1_file.def -------------------------------------------------------------------------------- /include/esb/1c/v8323/es1_file.def.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/int-unsigned/esb/1c7b4c0dc24dd97ceab08b65fc13914349920c06/include/esb/1c/v8323/es1_file.def.h -------------------------------------------------------------------------------- /include/esb/1c/v8323/es1_main.def: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/int-unsigned/esb/1c7b4c0dc24dd97ceab08b65fc13914349920c06/include/esb/1c/v8323/es1_main.def -------------------------------------------------------------------------------- /include/esb/1c/v8323/es1_main.def.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/int-unsigned/esb/1c7b4c0dc24dd97ceab08b65fc13914349920c06/include/esb/1c/v8323/es1_main.def.h -------------------------------------------------------------------------------- /include/esb/1c/v8323/esdisp.h: -------------------------------------------------------------------------------- 1 | /* 2 | "ESB" is designed to create external native components for the 1C(tm) program. 3 | Copyright © 2023 IntUnsigned (v8classes@gmail.com) 4 | "ESB" is free software under LGPLv2.1 license with essential restriction about binary part (view esb-license.txt) 5 | "ESB" IS DISTRIBUTED "AS-IS" WITHOUT ANY, EVEN THE IMPLIED, WARRANTY. IN NO EVENT SHALL THE AUTHORS OR THE COPYRIGHT OWNER BE LIABLE FOR ANY CLAIM, 6 | DAMAGES OR OTHER LIABILITY ARISING OUT OF THE USE OF THIS SOFTWARE. 7 | THE AUTHOR DOES NOT GIVE ANY GUARANTEES AND DOES NOT BEAR ANY RESPONSIBILITY REGARDING THE USE OF 1C(tm) COMPONENTS PRODUCED USING THE ESB LIBRARY IN THE 1C(tm) ENVIRONMENT. 8 | */ 9 | #pragma once 10 | #ifndef ESB_ESDISP_H_ 11 | #define ESB_ESDISP_H_ 12 | 13 | 14 | #include "esb/esb_config_base.h" 15 | 16 | namespace esb 17 | { 18 | namespace _internal 19 | { 20 | namespace _dispinfo 21 | { 22 | namespace _v8323 23 | { 24 | template 25 | struct MethIdsFor; 26 | template 27 | struct PropIdsFor; 28 | template 29 | struct EnumIdsFor; 30 | 31 | template 32 | inline constexpr bool is_typeinfo_singleton = true; 33 | } 34 | 35 | template 36 | using MethIdsFor = _internal::_dispinfo::_v8323::MethIdsFor; 37 | template 38 | using PropIdsFor = _internal::_dispinfo::_v8323::PropIdsFor; 39 | template 40 | using EnumIdsFor = _internal::_dispinfo::_v8323::EnumIdsFor; 41 | 42 | template 43 | inline constexpr bool is_typeinfo_singleton = _internal::_dispinfo::_v8323::is_typeinfo_singleton; 44 | } //_dispinfo 45 | }// _internal 46 | }// esb 47 | #endif //ESB_ESDISP_H_ 48 | -------------------------------------------------------------------------------- /include/esb/1c/v8323/esdisp_all.h: -------------------------------------------------------------------------------- 1 | /* 2 | "ESB" is designed to create external native components for the 1C(tm) program. 3 | Copyright © 2023 IntUnsigned (v8classes@gmail.com) 4 | "ESB" is free software under LGPLv2.1 license with essential restriction about binary part (view esb-license.txt) 5 | "ESB" IS DISTRIBUTED "AS-IS" WITHOUT ANY, EVEN THE IMPLIED, WARRANTY. IN NO EVENT SHALL THE AUTHORS OR THE COPYRIGHT OWNER BE LIABLE FOR ANY CLAIM, 6 | DAMAGES OR OTHER LIABILITY ARISING OUT OF THE USE OF THIS SOFTWARE. 7 | THE AUTHOR DOES NOT GIVE ANY GUARANTEES AND DOES NOT BEAR ANY RESPONSIBILITY REGARDING THE USE OF 1C(tm) COMPONENTS PRODUCED USING THE ESB LIBRARY IN THE 1C(tm) ENVIRONMENT. 8 | */ 9 | #pragma once 10 | #ifndef ESB_ESDISP_ALL_H_ 11 | #define ESB_ESDISP_ALL_H_ 12 | 13 | /* 14 | !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 15 | !! AutoGenerated Dispinfo File !! 16 | !! DO NOT EDIT !! 17 | !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 18 | */ 19 | // platform ver v8.3.9.1818 20 | #include "esdisp.h" 21 | 22 | 23 | #include "esdisp_base.h" 24 | #include "esdisp_main.h" 25 | #include "esdisp_data.h" 26 | #include "esdisp_file.h" 27 | #include "esdisp_api.h" 28 | 29 | #endif //ESB_ESDISP_ALL_H_ 30 | -------------------------------------------------------------------------------- /include/esb/1c/v8323/esdisp_api.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/int-unsigned/esb/1c7b4c0dc24dd97ceab08b65fc13914349920c06/include/esb/1c/v8323/esdisp_api.h -------------------------------------------------------------------------------- /include/esb/1c/v8323/esdisp_base.h: -------------------------------------------------------------------------------- 1 | /* 2 | "ESB" is designed to create external native components for the 1C(tm) program. 3 | Copyright © 2023 IntUnsigned (v8classes@gmail.com) 4 | "ESB" is free software under LGPLv2.1 license with essential restriction about binary part (view esb-license.txt) 5 | "ESB" IS DISTRIBUTED "AS-IS" WITHOUT ANY, EVEN THE IMPLIED, WARRANTY. IN NO EVENT SHALL THE AUTHORS OR THE COPYRIGHT OWNER BE LIABLE FOR ANY CLAIM, 6 | DAMAGES OR OTHER LIABILITY ARISING OUT OF THE USE OF THIS SOFTWARE. 7 | THE AUTHOR DOES NOT GIVE ANY GUARANTEES AND DOES NOT BEAR ANY RESPONSIBILITY REGARDING THE USE OF 1C(tm) COMPONENTS PRODUCED USING THE ESB LIBRARY IN THE 1C(tm) ENVIRONMENT. 8 | */ 9 | #pragma once 10 | #ifndef ESB_ESDISP_BASE_H_ 11 | #define ESB_ESDISP_BASE_H_ 12 | 13 | /* 14 | !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 15 | !! AutoGenerated Dispinfo File !! 16 | !! DO NOT EDIT !! 17 | !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 18 | */ 19 | // platform ver v8.3.3.1688 20 | #include "esdisp.h" 21 | 22 | namespace esb 23 | { 24 | #define ESBLIB_TYPE(CLASS_EN_, ...) class CLASS_EN_; 25 | #define ESBLIB_ENUM(CLASS_EN_, ...) ESBLIB_TYPE(CLASS_EN_) 26 | #include "es1_base.def.h" 27 | 28 | namespace _internal 29 | { 30 | namespace _dispinfo 31 | { 32 | namespace _v8323 33 | { 34 | 35 | template<> 36 | struct EnumIdsFor { 37 | enum _ids_enum : dispix_t {Round15as10, Round15as20}; 38 | static constexpr dispix_t _ids_enum_count = 2; 39 | }; 40 | template<> 41 | struct MethIdsFor { 42 | enum _ids_enum : dispix_t {IsErrorOfCategory}; 43 | static constexpr dispix_t _ids_enum_count = 1; 44 | }; 45 | template<> 46 | struct PropIdsFor { 47 | enum _ids_enum : dispix_t {Description, ModuleName, LineNumber, SourceLine, Cause, Code, AdditionalInformation}; 48 | static constexpr dispix_t _ids_enum_count = 7; 49 | }; 50 | template<> 51 | struct MethIdsFor { 52 | enum _ids_enum : dispix_t {Count, UBound, Insert, Add, Delete, Clear, Get, Set, Find}; 53 | static constexpr dispix_t _ids_enum_count = 9; 54 | }; 55 | template<> 56 | struct PropIdsFor { 57 | // No Disp Properties. 58 | }; 59 | template<> 60 | struct MethIdsFor { 61 | enum _ids_enum : dispix_t {Count, UBound, Get, Find}; 62 | static constexpr dispix_t _ids_enum_count = 4; 63 | }; 64 | template<> 65 | struct PropIdsFor { 66 | // No Disp Properties. 67 | }; 68 | template<> 69 | struct MethIdsFor { 70 | // No Disp Methods. 71 | }; 72 | template<> 73 | struct PropIdsFor { 74 | enum _ids_enum : dispix_t {Key, Value}; 75 | static constexpr dispix_t _ids_enum_count = 2; 76 | }; 77 | template<> 78 | struct MethIdsFor { 79 | enum _ids_enum : dispix_t {Count, Insert, Delete, Clear, Property}; 80 | static constexpr dispix_t _ids_enum_count = 5; 81 | }; 82 | template<> 83 | struct PropIdsFor { 84 | // No Disp Properties. 85 | }; 86 | template<> 87 | struct MethIdsFor { 88 | enum _ids_enum : dispix_t {Count, Property}; 89 | static constexpr dispix_t _ids_enum_count = 2; 90 | }; 91 | template<> 92 | struct PropIdsFor { 93 | // No Disp Properties. 94 | }; 95 | template<> 96 | struct MethIdsFor { 97 | enum _ids_enum : dispix_t {Count, Insert, Delete, Clear, Get}; 98 | static constexpr dispix_t _ids_enum_count = 5; 99 | }; 100 | template<> 101 | struct PropIdsFor { 102 | // No Disp Properties. 103 | }; 104 | template<> 105 | struct MethIdsFor { 106 | enum _ids_enum : dispix_t {Count, Get}; 107 | static constexpr dispix_t _ids_enum_count = 2; 108 | }; 109 | template<> 110 | struct PropIdsFor { 111 | // No Disp Properties. 112 | }; 113 | template<> 114 | struct EnumIdsFor { 115 | enum _ids_enum : dispix_t {FromBegin, FromEnd}; 116 | static constexpr dispix_t _ids_enum_count = 2; 117 | }; 118 | template<> 119 | struct EnumIdsFor { 120 | enum _ids_enum : dispix_t {Asc, Desc}; 121 | static constexpr dispix_t _ids_enum_count = 2; 122 | }; 123 | 124 | 125 | } // end namespace _v8323 126 | } // end namespace _dispinfo 127 | }// end namespace _internal 128 | }// end namespace esb 129 | 130 | 131 | 132 | #endif //ESB_ESDISP_BASE_H_ 133 | -------------------------------------------------------------------------------- /include/esb/1c/v8323/esdisp_file.h: -------------------------------------------------------------------------------- 1 | /* 2 | "ESB" is designed to create external native components for the 1C(tm) program. 3 | Copyright © 2023 IntUnsigned (v8classes@gmail.com) 4 | "ESB" is free software under LGPLv2.1 license with essential restriction about binary part (view esb-license.txt) 5 | "ESB" IS DISTRIBUTED "AS-IS" WITHOUT ANY, EVEN THE IMPLIED, WARRANTY. IN NO EVENT SHALL THE AUTHORS OR THE COPYRIGHT OWNER BE LIABLE FOR ANY CLAIM, 6 | DAMAGES OR OTHER LIABILITY ARISING OUT OF THE USE OF THIS SOFTWARE. 7 | THE AUTHOR DOES NOT GIVE ANY GUARANTEES AND DOES NOT BEAR ANY RESPONSIBILITY REGARDING THE USE OF 1C(tm) COMPONENTS PRODUCED USING THE ESB LIBRARY IN THE 1C(tm) ENVIRONMENT. 8 | */ 9 | #pragma once 10 | #ifndef ESB_ESDISP_FILE_H_ 11 | #define ESB_ESDISP_FILE_H_ 12 | 13 | /* 14 | !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 15 | !! AutoGenerated Dispinfo File !! 16 | !! DO NOT EDIT !! 17 | !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 18 | */ 19 | // platform ver v8.3.23.1688 20 | #include "esdisp.h" 21 | 22 | 23 | namespace esb { 24 | // 25 | #define ESBLIB_TYPE(CLASS_EN_, ...) class CLASS_EN_; 26 | #define ESBLIB_ENUM(CLASS_EN_, ...) ESBLIB_TYPE(CLASS_EN_) 27 | #include "es1_file.def.h" 28 | 29 | namespace _internal 30 | { 31 | namespace _dispinfo 32 | { 33 | namespace _v8323 34 | { 35 | 36 | template<> 37 | struct EnumIdsFor { 38 | enum _ids_enum : dispix_t {Begin, Current, End}; 39 | static constexpr dispix_t _ids_enum_count = 3; 40 | }; 41 | template<> 42 | struct EnumIdsFor { 43 | enum _ids_enum : dispix_t {LittleEndian, BigEndian}; 44 | static constexpr dispix_t _ids_enum_count = 2; 45 | }; 46 | template<> 47 | struct EnumIdsFor { 48 | enum _ids_enum : dispix_t {Create, CreateNew, Open, OpenOrCreate, Truncate, Append}; 49 | static constexpr dispix_t _ids_enum_count = 6; 50 | }; 51 | template<> 52 | struct EnumIdsFor { 53 | enum _ids_enum : dispix_t {Read, Write, ReadAndWrite}; 54 | static constexpr dispix_t _ids_enum_count = 3; 55 | }; 56 | template<> 57 | struct MethIdsFor { 58 | enum _ids_enum : dispix_t {Close, Size, GetReadOnlyStream, CurrentPosition, CopyTo, Flush, Seek, SetSize, Read, Write, BeginGetSize, SizeAsync, BeginCopyTo, CopyToAsync, BeginSeek, SeekAsync, BeginSetSize, SetSizeAsync, BeginRead, ReadAsync, BeginWrite, WriteAsync, BeginFlush, FlushAsync, BeginClose, CloseAsync}; 59 | static constexpr dispix_t _ids_enum_count = 26; 60 | }; 61 | template<> 62 | struct PropIdsFor { 63 | enum _ids_enum : dispix_t {CanRead, CanWrite, CanSeek}; 64 | static constexpr dispix_t _ids_enum_count = 3; 65 | }; 66 | template<> 67 | struct MethIdsFor { 68 | enum _ids_enum : dispix_t {Write, Size, OpenStreamForRead, BeginWrite, WriteAsync}; 69 | static constexpr dispix_t _ids_enum_count = 5; 70 | }; 71 | template<> 72 | struct PropIdsFor { 73 | // No Disp Properties. 74 | }; 75 | template<> 76 | struct MethIdsFor { 77 | enum _ids_enum : dispix_t {SetReadOnly, GetSlice, Get, Set, Read, ReadInt16, ReadInt32, ReadInt64, WriteInt16, WriteInt32, WriteInt64, Copy, Write, Reverse, Concat, Split, WriteBitwiseAnd, WriteBitwiseOr, WriteBitwiseXor, WriteBitwiseAndNot, Invert}; 78 | static constexpr dispix_t _ids_enum_count = 21; 79 | }; 80 | template<> 81 | struct PropIdsFor { 82 | enum _ids_enum : dispix_t {Size, ReadOnly, ByteOrder}; 83 | static constexpr dispix_t _ids_enum_count = 3; 84 | }; 85 | template<> 86 | struct MethIdsFor { 87 | enum _ids_enum : dispix_t {Close, Size, GetReadOnlyStream, CurrentPosition, CopyTo, Flush, Seek, SetSize, Read, Write, BeginGetSize, SizeAsync, BeginCopyTo, CopyToAsync, BeginSeek, SeekAsync, BeginSetSize, SetSizeAsync, BeginRead, ReadAsync, BeginWrite, WriteAsync, BeginFlush, FlushAsync, BeginClose, CloseAsync}; 88 | static constexpr dispix_t _ids_enum_count = 26; 89 | }; 90 | template<> 91 | struct PropIdsFor { 92 | enum _ids_enum : dispix_t {CanRead, CanWrite, CanSeek, FileName}; 93 | static constexpr dispix_t _ids_enum_count = 4; 94 | }; 95 | template<> 96 | struct MethIdsFor { 97 | enum _ids_enum : dispix_t {Close, Size, GetReadOnlyStream, CurrentPosition, CopyTo, Flush, Seek, SetSize, Read, Write, BeginGetSize, SizeAsync, BeginCopyTo, CopyToAsync, BeginSeek, SeekAsync, BeginSetSize, SetSizeAsync, BeginRead, ReadAsync, BeginWrite, WriteAsync, BeginFlush, FlushAsync, BeginClose, CloseAsync, CloseAndGetBinaryData}; 98 | static constexpr dispix_t _ids_enum_count = 27; 99 | }; 100 | template<> 101 | struct PropIdsFor { 102 | enum _ids_enum : dispix_t {CanRead, CanWrite, CanSeek}; 103 | static constexpr dispix_t _ids_enum_count = 3; 104 | }; 105 | 106 | 107 | } //_v8323 108 | } //_dispinfo 109 | }// _internal 110 | }// esb 111 | #endif //ESB_ESDISP_FILE_H_ 112 | -------------------------------------------------------------------------------- /include/esb/afx/afx_base.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/int-unsigned/esb/1c7b4c0dc24dd97ceab08b65fc13914349920c06/include/esb/afx/afx_base.h -------------------------------------------------------------------------------- /include/esb/afx/afx_meta_fields.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #ifndef AFX_META_FIELDS_H_ 3 | #define AFX_META_FIELDS_H_ 4 | 5 | #include 6 | #include "afx_pp.h" 7 | #include "afx_base.h" 8 | 9 | 10 | template 11 | struct data_member_type; 12 | // 13 | template 14 | struct data_member_type { 15 | using class_t = ClassT; 16 | using data_t = DataT; 17 | }; 18 | template 19 | struct data_member_type { 20 | using class_t = ClassT; 21 | using data_t = DataT; 22 | }; 23 | template 24 | using data_member_t = data_member_type::data_t; 25 | 26 | 27 | template 28 | struct meta_fields_to_data_tuple; 29 | // 30 | template 31 | struct meta_fields_to_data_tuple< const std::tuple > 32 | { 33 | using type = std::tuple< data_member_t ...>; 34 | }; 35 | template 36 | struct meta_fields_to_data_tuple< std::tuple > 37 | { 38 | using type = std::tuple< data_member_t ...>; 39 | }; 40 | // 41 | template 42 | using meta_fields_to_data_tuple_t = meta_fields_to_data_tuple::type; 43 | 44 | 45 | template struct meta_fields : std::false_type 46 | {}; 47 | // 48 | 49 | #define META_DESCRIBE_TYPE_REST \ 50 | using fields_t = std::remove_const_t< decltype(fields_) >; \ 51 | using data_tuple_t = meta_fields_to_data_tuple_t; \ 52 | static constexpr size_t fields_count_ = std::tuple_size_v; \ 53 | static_assert(sizeof(type_t) == sizeof(data_tuple_t), "somewhat wrong");\ 54 | } 55 | 56 | #define PP_LIST_OF_ADDR1(T_, _1) &T_::_1 57 | #define PP_LIST_OF_ADDR2(T_, _1,_2) &T_::_1,&T_::_2 58 | #define PP_LIST_OF_ADDR3(T_, _1,_2,_3) &T_::_1,&T_::_2,&T_::_3 59 | #define PP_LIST_OF_ADDR4(T_, _1,_2,_3,_4) &T_::_1,&T_::_2,&T_::_3,&T_::_4 60 | #define PP_LIST_OF_ADDR5(T_, _1,_2,_3,_4,_5) &T_::_1,&T_::_2,&T_::_3,&T_::_4,&T_::_5 61 | 62 | #define META_DESCRIBE_TYPE_FIELDS_ADDR(_1) &type_t::_1 63 | #define META_DESCRIBE_TYPE_FIELDS_LIST(...) PP_VARIADIC_APPLY(META_DESCRIBE_TYPE_FIELDS_ADDR, __VA_ARGS__) 64 | #define META_DESCRIBE_TYPE_FIELDS(...) \ 65 | static constexpr auto fields_ = std::make_tuple( META_DESCRIBE_TYPE_FIELDS_LIST(__VA_ARGS__) ) 66 | 67 | 68 | #define META_DESCRIBE_TYPE_FIELDS_LIST1(_1) &type_t::_1 69 | #define META_DESCRIBE_TYPE_FIELDS_LIST2(_1,_2) PP_LIST_OF_ADDR ## 2 (type_t, _1,_2) 70 | 71 | #define META_DESCRIBE_TYPE_FIELDS2(_1,_2) \ 72 | static constexpr auto fields_ = std::make_tuple( META_DESCRIBE_TYPE_FIELDS_LIST2(_1,_2) ) 73 | 74 | #define META_DESCRIBE_TYPE_HEAD(TYP_) \ 75 | template<> struct meta_fields : std::true_type { \ 76 | using type_t = TYP_ 77 | 78 | #define META_DESCRIBE_TYPE(TYP_, ...) \ 79 | META_DESCRIBE_TYPE_HEAD(TYP_); \ 80 | META_DESCRIBE_TYPE_FIELDS(__VA_ARGS__); \ 81 | META_DESCRIBE_TYPE_REST 82 | 83 | #define META_DESCRIBE_TYPE2(TYP_, _1,_2) META_DESCRIBE_TYPE(TYP_, _1,_2) 84 | 85 | template 86 | inline constexpr bool has_meta_fields = meta_fields::value; 87 | 88 | 89 | 90 | 91 | #endif //AFX_META_FIELDS_H_ -------------------------------------------------------------------------------- /include/esb/afx/afx_pp.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/int-unsigned/esb/1c7b4c0dc24dd97ceab08b65fc13914349920c06/include/esb/afx/afx_pp.h -------------------------------------------------------------------------------- /include/esb/afx/afx_serialize.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/int-unsigned/esb/1c7b4c0dc24dd97ceab08b65fc13914349920c06/include/esb/afx/afx_serialize.h -------------------------------------------------------------------------------- /include/esb/afx/afx_tuple.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/int-unsigned/esb/1c7b4c0dc24dd97ceab08b65fc13914349920c06/include/esb/afx/afx_tuple.h -------------------------------------------------------------------------------- /include/esb/afx/afx_ustring.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/int-unsigned/esb/1c7b4c0dc24dd97ceab08b65fc13914349920c06/include/esb/afx/afx_ustring.h -------------------------------------------------------------------------------- /include/esb/afx/afx_util.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/int-unsigned/esb/1c7b4c0dc24dd97ceab08b65fc13914349920c06/include/esb/afx/afx_util.h -------------------------------------------------------------------------------- /include/esb/es1addin.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/int-unsigned/esb/1c7b4c0dc24dd97ceab08b65fc13914349920c06/include/esb/es1addin.h -------------------------------------------------------------------------------- /include/esb/es1addin_v8300/AddInDefBase.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Warning!!! 3 | * DO NOT ALTER THIS FILE! 4 | */ 5 | 6 | #ifndef __ADAPTER_DEF_H__ 7 | #define __ADAPTER_DEF_H__ 8 | #include "types.h" 9 | 10 | struct IInterface 11 | { 12 | }; 13 | 14 | 15 | enum Interfaces 16 | { 17 | eIMsgBox = 0, 18 | eIPlatformInfo, 19 | }; 20 | //////////////////////////////////////////////////////////////////////////////// 21 | /** 22 | * This class serves as representation of a platform for external 23 | * components External components use it to communicate with a platform. 24 | * 25 | */ 26 | /// Base interface for object components. 27 | class IAddInDefBase 28 | { 29 | public: 30 | virtual ~IAddInDefBase() {} 31 | /// Adds the error message 32 | /** 33 | * @param wcode - error code 34 | * @param source - source of error 35 | * @param descr - description of error 36 | * @param scode - error code (HRESULT) 37 | * @return the result of 38 | */ 39 | virtual bool ADDIN_API AddError(unsigned short wcode, const WCHAR_T* source, 40 | const WCHAR_T* descr, long scode) = 0; 41 | 42 | /// Reads a property value 43 | /** 44 | * @param wszPropName -property name 45 | * @param pVal - value being returned 46 | * @param pErrCode - error code (if any error occured) 47 | * @param errDescriptor - error description (if any error occured) 48 | * @return the result of read. 49 | */ 50 | virtual bool ADDIN_API Read(WCHAR_T* wszPropName, 51 | tVariant* pVal, 52 | long *pErrCode, 53 | WCHAR_T** errDescriptor) = 0; 54 | /// Writes a property value 55 | /** 56 | * @param wszPropName - property name 57 | * @param pVar - new property value 58 | * @return the result of write. 59 | */ 60 | virtual bool ADDIN_API Write(WCHAR_T* wszPropName, 61 | tVariant *pVar) = 0; 62 | 63 | ///Registers profile components 64 | /** 65 | * @param wszProfileName - profile name 66 | * @return the result of 67 | */ 68 | virtual bool ADDIN_API RegisterProfileAs(WCHAR_T* wszProfileName) = 0; 69 | 70 | /// Changes the depth of event buffer 71 | /** 72 | * @param lDepth - new depth of event buffer 73 | * @return the result of 74 | */ 75 | virtual bool ADDIN_API SetEventBufferDepth(long lDepth) = 0; 76 | /// Returns the depth of event buffer 77 | /** 78 | * @return the depth of event buffer 79 | */ 80 | virtual long ADDIN_API GetEventBufferDepth() = 0; 81 | /// Registers external event 82 | /** 83 | * @param wszSource - source of event 84 | * @param wszMessage - event message 85 | * @param wszData - message parameters 86 | * @return the result of 87 | */ 88 | virtual bool ADDIN_API ExternalEvent(WCHAR_T* wszSource, 89 | WCHAR_T* wszMessage, 90 | WCHAR_T* wszData) = 0; 91 | /// Clears event buffer 92 | /** 93 | */ 94 | virtual void ADDIN_API CleanEventBuffer() = 0; 95 | 96 | /// Sets status line contents 97 | /** 98 | * @param wszStatusLine - new status line contents 99 | * @return the result of 100 | */ 101 | virtual bool ADDIN_API SetStatusLine(WCHAR_T* wszStatusLine) = 0; 102 | /// Resets the status line contents 103 | /** 104 | * @return the result of 105 | */ 106 | virtual void ADDIN_API ResetStatusLine() = 0; 107 | }; 108 | 109 | class IAddInDefBaseEx : 110 | public IAddInDefBase 111 | { 112 | public: 113 | virtual ~IAddInDefBaseEx() {} 114 | 115 | virtual IInterface* ADDIN_API GetInterface(Interfaces iface) = 0; 116 | }; 117 | struct IMsgBox : 118 | public IInterface 119 | { 120 | virtual bool ADDIN_API Confirm(const WCHAR_T* queryText, tVariant* retVal) = 0; 121 | 122 | virtual bool ADDIN_API Alert(const WCHAR_T* text) = 0; 123 | }; 124 | 125 | struct IPlatformInfo : 126 | public IInterface 127 | { 128 | enum AppType 129 | { 130 | eAppUnknown = -1, 131 | eAppThinClient = 0, 132 | eAppThickClient, 133 | eAppWebClient, 134 | eAppServer, 135 | eAppExtConn, 136 | }; 137 | struct AppInfo 138 | { 139 | const WCHAR_T* AppVersion; 140 | const WCHAR_T* UserAgentInformation; 141 | AppType Application; 142 | }; 143 | virtual const AppInfo* ADDIN_API GetPlatformInfo() = 0; 144 | }; 145 | 146 | #endif //__ADAPTER_DEF_H__ 147 | -------------------------------------------------------------------------------- /include/esb/es1addin_v8300/IMemoryManager.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Warning!!! 3 | * DO NOT ALTER THIS FILE! 4 | */ 5 | 6 | 7 | #ifndef __IMEMORY_MANAGER_H__ 8 | #define __IMEMORY_MANAGER_H__ 9 | 10 | /////////////////////////////////////////////////////////////////////////////// 11 | /** 12 | * The given class allocates and releases memory for a component 13 | */ 14 | /// Interface representing memory manager. 15 | class IMemoryManager 16 | { 17 | public: 18 | virtual ~IMemoryManager() {} 19 | /// Allocates memory of specified size 20 | /** 21 | * @param pMemory - the double pointer to variable, that will hold newly 22 | * allocated block of memory of NULL if allocation fails. 23 | * @param ulCountByte - memory size 24 | * @return the result of 25 | */ 26 | virtual bool ADDIN_API AllocMemory (void** pMemory, unsigned long ulCountByte) = 0; 27 | /// Releases memory 28 | /** 29 | * @param pMemory - The double pointer to the memory block being released 30 | */ 31 | virtual void ADDIN_API FreeMemory (void** pMemory) = 0; 32 | }; 33 | 34 | #endif //__IMEMORY_MANAGER_H__ 35 | -------------------------------------------------------------------------------- /include/esb/es1addin_v8300/MANIFEST.xsd: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | Описание bundle 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | Тип платформы 15 | 16 | 17 | 18 | 19 | Имя файла 20 | 21 | 22 | 23 | 24 | Тип компоненты 25 | 26 | 27 | 28 | 29 | Имя объекта 30 | 31 | 32 | 33 | 34 | Тип архитектуры 35 | 36 | 37 | 38 | 39 | Тип клиента 40 | 41 | 42 | 43 | 44 | Версия клиента 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | -------------------------------------------------------------------------------- /include/esb/es1addin_v8300/NPAPILib.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | enum AddInComponentType 4 | { 5 | eAddInCom = 1, 6 | eAddInNative, 7 | eAddInJava, 8 | eAddInvalid = -1 9 | }; 10 | -------------------------------------------------------------------------------- /include/esb/es1addin_v8300/addin.idl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/int-unsigned/esb/1c7b4c0dc24dd97ceab08b65fc13914349920c06/include/esb/es1addin_v8300/addin.idl -------------------------------------------------------------------------------- /include/esb/es1addin_v8300/com.h: -------------------------------------------------------------------------------- 1 | 2 | #ifndef __COM_H__ 3 | #define __COM_H__ 4 | 5 | #if defined(__linux__) || defined(__APPLE__) 6 | #include 7 | #include 8 | #pragma GCC system_header 9 | 10 | typedef long HRESULT; 11 | 12 | #ifdef __GNUC__ 13 | #define STDMETHODCALLTYPE __attribute__ ((__stdcall__)) 14 | #define DECLSPEC_NOTHROW __attribute__ ((nothrow)) 15 | #define STDMETHOD(method) virtual DECLSPEC_NOTHROW HRESULT STDMETHODCALLTYPE method 16 | #else 17 | #define STDMETHODCALLTYPE 18 | #endif 19 | 20 | #define __stdcall STDMETHODCALLTYPE 21 | #define near 22 | #define far 23 | #define CONST const 24 | #define FAR far 25 | 26 | typedef unsigned long DWORD; 27 | typedef int BOOL; 28 | typedef short SHORT; 29 | typedef unsigned char BYTE; 30 | typedef unsigned short WORD; 31 | typedef float FLOAT; 32 | typedef FLOAT *PFLOAT; 33 | typedef BOOL near *PBOOL; 34 | typedef BOOL far *LPBOOL; 35 | typedef BYTE near *PBYTE; 36 | typedef BYTE far *LPBYTE; 37 | typedef int near *PINT; 38 | typedef int far *LPINT; 39 | typedef WORD near *PWORD; 40 | typedef WORD far *LPWORD; 41 | typedef long far *LPLONG; 42 | typedef DWORD near *PDWORD; 43 | typedef DWORD far *LPDWORD; 44 | typedef void far *LPVOID; 45 | typedef CONST void far *LPCVOID; 46 | typedef wchar_t *BSTR; 47 | typedef long SCODE; 48 | typedef int INT; 49 | typedef unsigned int UINT; 50 | typedef unsigned int *PUINT; 51 | typedef wchar_t WCHAR; 52 | typedef wchar_t OLECHAR; 53 | typedef wchar_t *LPOLESTR; 54 | typedef const wchar_t *LPCOLESTR; 55 | typedef DWORD LCID; 56 | typedef PDWORD PLCID; 57 | typedef long LONG; 58 | typedef unsigned long ULONG; 59 | typedef long long LONGLONG; 60 | typedef unsigned long long ULONGLONG; 61 | typedef LONG DISPID; 62 | typedef double DOUBLE; 63 | typedef double DATE; 64 | typedef short VARIANT_BOOL; 65 | typedef void *PVOID; 66 | typedef char CHAR; 67 | typedef unsigned short USHORT; 68 | typedef void *HMODULE; 69 | #define OLESTR(str) L##str 70 | 71 | typedef uuid_t GUID; 72 | typedef uuid_t IID; 73 | typedef uuid_t UUID; 74 | #define REFIID const IID & 75 | #define MAX_PATH 260 76 | 77 | #define IsEqualIID(x,y) uuid_compare((x),(y)) 78 | #ifdef __GNUC__ 79 | #define LoadLibraryA(x) dlopen((x), RTLD_LAZY) 80 | #define FreeLibrary(x) dlclose((x)) 81 | #define GetProcAddress(x, y) dlsym((x), (y)) 82 | #endif //__GNUC__ 83 | 84 | #define E_FAIL 0x80004005L 85 | #define S_OK 0L 86 | #define S_FALSE 1L 87 | #define E_NOINTERFACE 0x80004002L 88 | #define E_NOTIMPL 0x80004001L 89 | #define E_INVALIDARG 0x80070057L 90 | #define E_UNEXPECTED 0x8000FFFFL 91 | #define E_OUTOFMEMORY 0x8007000EL 92 | #define DISP_E_UNKNOWNNAME 0x80020006L 93 | #define DISPID_UNKNOWN ( -1 ) 94 | #define TRUE 1 95 | #define FALSE 0 96 | 97 | typedef long ITypeInfo; 98 | 99 | #if defined (__GNUC__) && !defined (NONAMELESSUNION) 100 | __extension__ /* no named members */ 101 | #endif 102 | union tCY { 103 | __extension__ struct 104 | { 105 | unsigned long Lo; 106 | long Hi; 107 | }; 108 | long long int64; 109 | }; 110 | typedef union tagCY CY; 111 | #define CLSIDFromString(x,y) uuid_parse((x),(unsigned char*)(y)) 112 | 113 | #endif //defined(__linux__) || defined(__APPLE__) 114 | 115 | #endif //__COM_H__ 116 | -------------------------------------------------------------------------------- /include/esb/es1addin_v8311/AddInDefBase.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Warning!!! 3 | * DO NOT ALTER THIS FILE! 4 | */ 5 | 6 | #ifndef __ADAPTER_DEF_H__ 7 | #define __ADAPTER_DEF_H__ 8 | #include "types.h" 9 | 10 | struct IInterface 11 | { 12 | }; 13 | 14 | 15 | enum Interfaces 16 | { 17 | eIMsgBox = 0, 18 | eIPlatformInfo, 19 | #if defined(__ANDROID__) 20 | eIAndroidComponentHelper, 21 | #endif 22 | eIAttachedInfo, 23 | }; 24 | 25 | //////////////////////////////////////////////////////////////////////////////// 26 | /** 27 | * This class serves as representation of a platform for external 28 | * components External components use it to communicate with a platform. 29 | * 30 | */ 31 | /// Base interface for object components. 32 | class IAddInDefBase 33 | { 34 | public: 35 | virtual ~IAddInDefBase() {} 36 | /// Adds the error message 37 | /** 38 | * @param wcode - error code 39 | * @param source - source of error 40 | * @param descr - description of error 41 | * @param scode - error code (HRESULT) 42 | * @return the result of 43 | */ 44 | virtual bool ADDIN_API AddError(unsigned short wcode, const WCHAR_T* source, 45 | const WCHAR_T* descr, long scode) = 0; 46 | 47 | /// Reads a property value 48 | /** 49 | * @param wszPropName -property name 50 | * @param pVal - value being returned 51 | * @param pErrCode - error code (if any error occured) 52 | * @param errDescriptor - error description (if any error occured) 53 | * @return the result of read. 54 | */ 55 | virtual bool ADDIN_API Read(WCHAR_T* wszPropName, 56 | tVariant* pVal, 57 | long *pErrCode, 58 | WCHAR_T** errDescriptor) = 0; 59 | /// Writes a property value 60 | /** 61 | * @param wszPropName - property name 62 | * @param pVar - new property value 63 | * @return the result of write. 64 | */ 65 | virtual bool ADDIN_API Write(WCHAR_T* wszPropName, 66 | tVariant *pVar) = 0; 67 | 68 | ///Registers profile components 69 | /** 70 | * @param wszProfileName - profile name 71 | * @return the result of 72 | */ 73 | virtual bool ADDIN_API RegisterProfileAs(WCHAR_T* wszProfileName) = 0; 74 | 75 | /// Changes the depth of event buffer 76 | /** 77 | * @param lDepth - new depth of event buffer 78 | * @return the result of 79 | */ 80 | virtual bool ADDIN_API SetEventBufferDepth(long lDepth) = 0; 81 | /// Returns the depth of event buffer 82 | /** 83 | * @return the depth of event buffer 84 | */ 85 | virtual long ADDIN_API GetEventBufferDepth() = 0; 86 | /// Registers external event 87 | /** 88 | * @param wszSource - source of event 89 | * @param wszMessage - event message 90 | * @param wszData - message parameters 91 | * @return the result of 92 | */ 93 | virtual bool ADDIN_API ExternalEvent(WCHAR_T* wszSource, 94 | WCHAR_T* wszMessage, 95 | WCHAR_T* wszData) = 0; 96 | /// Clears event buffer 97 | /** 98 | */ 99 | virtual void ADDIN_API CleanEventBuffer() = 0; 100 | 101 | /// Sets status line contents 102 | /** 103 | * @param wszStatusLine - new status line contents 104 | * @return the result of 105 | */ 106 | virtual bool ADDIN_API SetStatusLine(WCHAR_T* wszStatusLine) = 0; 107 | /// Resets the status line contents 108 | /** 109 | * @return the result of 110 | */ 111 | virtual void ADDIN_API ResetStatusLine() = 0; 112 | }; 113 | 114 | class IAddInDefBaseEx : 115 | public IAddInDefBase 116 | { 117 | public: 118 | virtual ~IAddInDefBaseEx() {} 119 | 120 | virtual IInterface* ADDIN_API GetInterface(Interfaces iface) = 0; 121 | }; 122 | 123 | struct IMsgBox : 124 | public IInterface 125 | { 126 | virtual bool ADDIN_API Confirm(const WCHAR_T* queryText, tVariant* retVal) = 0; 127 | 128 | virtual bool ADDIN_API Alert(const WCHAR_T* text) = 0; 129 | }; 130 | 131 | struct IPlatformInfo : 132 | public IInterface 133 | { 134 | enum AppType 135 | { 136 | eAppUnknown = -1, 137 | eAppThinClient = 0, 138 | eAppThickClient, 139 | eAppWebClient, 140 | eAppServer, 141 | eAppExtConn, 142 | eAppMobileClient, 143 | eAppMobileServer, 144 | }; 145 | 146 | struct AppInfo 147 | { 148 | const WCHAR_T* AppVersion; 149 | const WCHAR_T* UserAgentInformation; 150 | AppType Application; 151 | }; 152 | 153 | virtual const AppInfo* ADDIN_API GetPlatformInfo() = 0; 154 | }; 155 | struct IAttachedInfo : 156 | public IInterface 157 | { 158 | enum AttachedType 159 | { 160 | eAttachedIsolated = 0, 161 | eAttachedNotIsolated, 162 | }; 163 | virtual const AttachedType ADDIN_API GetAttachedInfo() = 0; 164 | }; 165 | #endif //__ADAPTER_DEF_H__ 166 | -------------------------------------------------------------------------------- /include/esb/es1addin_v8311/ComponentBase.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/int-unsigned/esb/1c7b4c0dc24dd97ceab08b65fc13914349920c06/include/esb/es1addin_v8311/ComponentBase.h -------------------------------------------------------------------------------- /include/esb/es1addin_v8311/IAndroidComponentHelper.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Warning!!! 3 | * DO NOT ALTER THIS FILE! 4 | */ 5 | 6 | #ifndef __IANDROIDCOMPONENTHELPER_H__ 7 | #define __IANDROIDCOMPONENTHELPER_H__ 8 | 9 | #include "types.h" 10 | 11 | #if defined(__ANDROID__) 12 | #include 13 | 14 | struct IAndroidComponentHelper : 15 | public IInterface 16 | { 17 | virtual jobject ADDIN_API GetActivity() = 0; 18 | 19 | virtual jclass ADDIN_API FindClass(const WCHAR_T* className) = 0; 20 | }; 21 | 22 | #endif //__ANDROID__ 23 | 24 | #endif //__IANDROIDCOMPONENTHELPER_H__ 25 | -------------------------------------------------------------------------------- /include/esb/es1addin_v8311/IMemoryManager.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Warning!!! 3 | * DO NOT ALTER THIS FILE! 4 | */ 5 | 6 | 7 | #ifndef __IMEMORY_MANAGER_H__ 8 | #define __IMEMORY_MANAGER_H__ 9 | 10 | /////////////////////////////////////////////////////////////////////////////// 11 | /** 12 | * The given class allocates and releases memory for a component 13 | */ 14 | /// Interface representing memory manager. 15 | class IMemoryManager 16 | { 17 | public: 18 | virtual ~IMemoryManager() {} 19 | /// Allocates memory of specified size 20 | /** 21 | * @param pMemory - the double pointer to variable, that will hold newly 22 | * allocated block of memory of NULL if allocation fails. 23 | * @param ulCountByte - memory size 24 | * @return the result of 25 | */ 26 | virtual bool ADDIN_API AllocMemory (void** pMemory, unsigned long ulCountByte) = 0; 27 | /// Releases memory 28 | /** 29 | * @param pMemory - The double pointer to the memory block being released 30 | */ 31 | virtual void ADDIN_API FreeMemory (void** pMemory) = 0; 32 | }; 33 | 34 | #endif //__IMEMORY_MANAGER_H__ 35 | -------------------------------------------------------------------------------- /include/esb/es1addin_v8311/MANIFEST.xsd: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | Bundle description 6 | 7 | 8 | 9 | 10 | 11 | 12 | Name component 13 | 14 | 15 | 16 | 17 | 18 | 19 | Platform type 20 | 21 | 22 | 23 | 24 | File name 25 | 26 | 27 | 28 | 29 | Component type 30 | 31 | 32 | 33 | 34 | Object name 35 | 36 | 37 | 38 | 39 | Architecture 40 | 41 | 42 | 43 | 44 | Client type 45 | 46 | 47 | 48 | 49 | Client version 50 | 51 | 52 | 53 | 54 | Build type 55 | 56 | 57 | 58 | 59 | Code type 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | -------------------------------------------------------------------------------- /include/esb/es1addin_v8311/addinlib.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | enum AddInComponentType 4 | { 5 | eAddInCom = 1, 6 | eAddInNative, 7 | eAddInJava, 8 | eAddInvalid = -1 9 | }; 10 | -------------------------------------------------------------------------------- /include/esb/es1addin_v8311/com.h: -------------------------------------------------------------------------------- 1 | 2 | #ifndef __COM_H__ 3 | #define __COM_H__ 4 | 5 | #if defined(__linux__) || defined(__APPLE__) || defined(__ANDROID__) 6 | 7 | #ifdef __ANDROID__ 8 | 9 | typedef struct { 10 | unsigned int Data1; 11 | unsigned short Data2; 12 | unsigned short Data3; 13 | unsigned char Data4[ 8 ]; 14 | } uuid_t; 15 | 16 | #else 17 | #include 18 | #endif //__ANDROID__ 19 | 20 | #ifndef __ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__ // iOS 21 | #include 22 | #endif //!__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__ 23 | 24 | #pragma GCC system_header 25 | 26 | typedef long HRESULT; 27 | 28 | #ifdef __GNUC__ 29 | #define STDMETHODCALLTYPE __attribute__ ((__stdcall__)) 30 | #define DECLSPEC_NOTHROW __attribute__ ((nothrow)) 31 | #define STDMETHOD(method) virtual DECLSPEC_NOTHROW HRESULT STDMETHODCALLTYPE method 32 | #else 33 | #define STDMETHODCALLTYPE 34 | #endif 35 | 36 | #define __stdcall STDMETHODCALLTYPE 37 | #define near 38 | #define far 39 | #define CONST const 40 | #define FAR far 41 | 42 | typedef unsigned long DWORD; 43 | #ifndef __ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__ // iOS 44 | typedef int BOOL; 45 | #elif defined(__LP64__) 46 | typedef bool BOOL; 47 | #else 48 | typedef signed char BOOL; 49 | #endif //!__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__ 50 | 51 | typedef void VOID; 52 | typedef short SHORT; 53 | typedef unsigned char BYTE; 54 | typedef unsigned short WORD; 55 | typedef float FLOAT; 56 | typedef FLOAT *PFLOAT; 57 | typedef BOOL near *PBOOL; 58 | typedef BOOL far *LPBOOL; 59 | typedef BYTE near *PBYTE; 60 | typedef BYTE far *LPBYTE; 61 | typedef int near *PINT; 62 | typedef int far *LPINT; 63 | typedef WORD near *PWORD; 64 | typedef WORD far *LPWORD; 65 | typedef long far *LPLONG; 66 | typedef DWORD near *PDWORD; 67 | typedef DWORD far *LPDWORD; 68 | typedef void far *LPVOID; 69 | typedef CONST void far *LPCVOID; 70 | typedef wchar_t *BSTR; 71 | typedef long SCODE; 72 | typedef int INT; 73 | typedef unsigned int UINT; 74 | typedef unsigned int *PUINT; 75 | typedef wchar_t WCHAR; 76 | typedef wchar_t OLECHAR; 77 | typedef wchar_t *LPOLESTR; 78 | typedef const wchar_t *LPCOLESTR; 79 | typedef DWORD LCID; 80 | typedef PDWORD PLCID; 81 | typedef long LONG; 82 | typedef unsigned long ULONG; 83 | typedef long long LONGLONG; 84 | typedef unsigned long long ULONGLONG; 85 | typedef LONG DISPID; 86 | typedef double DOUBLE; 87 | typedef double DATE; 88 | typedef short VARIANT_BOOL; 89 | typedef void *PVOID; 90 | typedef char CHAR; 91 | typedef CONST CHAR *LPCSTR; 92 | typedef unsigned short USHORT; 93 | typedef void *HMODULE; 94 | #define OLESTR(str) L##str 95 | 96 | typedef uuid_t GUID; 97 | typedef uuid_t IID; 98 | typedef uuid_t UUID; 99 | #define REFIID const IID & 100 | #define MAX_PATH 260 101 | 102 | #define IsEqualIID(x,y) uuid_compare((x),(y)) 103 | #ifdef __GNUC__ 104 | #define LoadLibraryA(x) dlopen((x), RTLD_LAZY) 105 | #define FreeLibrary(x) dlclose((x)) 106 | #define GetProcAddress(x, y) dlsym((x), (y)) 107 | #endif //__GNUC__ 108 | 109 | #define E_FAIL 0x80004005L 110 | #define S_OK 0L 111 | #define S_FALSE 1L 112 | #define E_NOINTERFACE 0x80004002L 113 | #define E_NOTIMPL 0x80004001L 114 | #define E_INVALIDARG 0x80070057L 115 | #define E_UNEXPECTED 0x8000FFFFL 116 | #define E_OUTOFMEMORY 0x8007000EL 117 | #define DISP_E_UNKNOWNNAME 0x80020006L 118 | #define DISPID_UNKNOWN ( -1 ) 119 | #define TRUE 1 120 | #define FALSE 0 121 | 122 | typedef long ITypeInfo; 123 | 124 | #if defined (__GNUC__) && !defined (NONAMELESSUNION) 125 | __extension__ /* no named members */ 126 | #endif 127 | union tCY { 128 | __extension__ struct 129 | { 130 | unsigned long Lo; 131 | long Hi; 132 | }; 133 | long long int64; 134 | }; 135 | typedef union tagCY CY; 136 | #define CLSIDFromString(x,y) uuid_parse((x),(unsigned char*)(y)) 137 | 138 | #endif //defined(__linux__) || defined(__APPLE__) 139 | 140 | #endif //__COM_H__ 141 | -------------------------------------------------------------------------------- /include/esb/es1addin_v8311/mobile.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #if defined(__ANDROID__) 4 | 5 | #define MOBILE_PLATFORM_ANDROID 1 6 | 7 | #elif defined(__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__) 8 | 9 | #define MOBILE_PLATFORM_IOS 1 10 | 11 | #elif defined(WINAPI_FAMILY) && (WINAPI_FAMILY == WINAPI_FAMILY_PC_APP) 12 | 13 | #define MOBILE_PLATFORM_WINRT 1 14 | 15 | #endif 16 | 17 | #include "types.h" 18 | 19 | #if defined(MOBILE_PLATFORM_IOS) 20 | 21 | extern "C" VOID RegisterLibrary(LPCSTR, LPCVOID, LPCVOID); 22 | 23 | #define DECLARE_DLL(name, fnTable) \ 24 | namespace { static struct s { s() { RegisterLibrary(name, NULL, fnTable); }} s; } 25 | 26 | #endif //MOBILE_PLATFORM_IOS 27 | 28 | -------------------------------------------------------------------------------- /include/esb/esb.h: -------------------------------------------------------------------------------- 1 | /* 2 | "ESB" is designed to create external native components for the 1C(tm) program. 3 | Copyright © 2023 IntUnsigned (v8classes@gmail.com) 4 | "ESB" is free software under LGPLv2.1 license with essential restriction about binary part (view esb-license.txt) 5 | "ESB" IS DISTRIBUTED "AS-IS" WITHOUT ANY, EVEN THE IMPLIED, WARRANTY. IN NO EVENT SHALL THE AUTHORS OR THE COPYRIGHT OWNER BE LIABLE FOR ANY CLAIM, 6 | DAMAGES OR OTHER LIABILITY ARISING OUT OF THE USE OF THIS SOFTWARE. 7 | THE AUTHOR DOES NOT GIVE ANY GUARANTEES AND DOES NOT BEAR ANY RESPONSIBILITY REGARDING THE USE OF 1C(tm) COMPONENTS PRODUCED USING THE ESB LIBRARY IN THE 1C(tm) ENVIRONMENT. 8 | */ 9 | 10 | #pragma once 11 | #ifndef ESB_H 12 | #define ESB_H 13 | 14 | // базовое для работы с 1С 15 | #include "esb_base.h" 16 | // 17 | #include "esb/1c/1c_api.h" 18 | 19 | #endif //ESB_H 20 | -------------------------------------------------------------------------------- /include/esb/esb_base_helpers.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/int-unsigned/esb/1c7b4c0dc24dd97ceab08b65fc13914349920c06/include/esb/esb_base_helpers.h -------------------------------------------------------------------------------- /include/esb/esb_config_base.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/int-unsigned/esb/1c7b4c0dc24dd97ceab08b65fc13914349920c06/include/esb/esb_config_base.h -------------------------------------------------------------------------------- /include/esb/esb_core_interface.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/int-unsigned/esb/1c7b4c0dc24dd97ceab08b65fc13914349920c06/include/esb/esb_core_interface.h -------------------------------------------------------------------------------- /include/esb/esb_pragmas.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/int-unsigned/esb/1c7b4c0dc24dd97ceab08b65fc13914349920c06/include/esb/esb_pragmas.h -------------------------------------------------------------------------------- /include/esb/esb_winmin.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | -------------------------------------------------------------------------------- /include/esb/esb_winmincom.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/int-unsigned/esb/1c7b4c0dc24dd97ceab08b65fc13914349920c06/include/esb/esb_winmincom.h -------------------------------------------------------------------------------- /include/esb/esbldr_component_cpp.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/int-unsigned/esb/1c7b4c0dc24dd97ceab08b65fc13914349920c06/include/esb/esbldr_component_cpp.h -------------------------------------------------------------------------------- /lib/clean_all.cmd: -------------------------------------------------------------------------------- 1 | echo on 2 | 3 | DEL /S *.lib *.exp *.obj 4 | 5 | pause 6 | -------------------------------------------------------------------------------- /lib/v8309Debug/w32/esbhlp.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/int-unsigned/esb/1c7b4c0dc24dd97ceab08b65fc13914349920c06/lib/v8309Debug/w32/esbhlp.lib -------------------------------------------------------------------------------- /lib/v8309Debug/w64/esbhlp.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/int-unsigned/esb/1c7b4c0dc24dd97ceab08b65fc13914349920c06/lib/v8309Debug/w64/esbhlp.lib -------------------------------------------------------------------------------- /lib/v8309Release/w32/esbhlp.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/int-unsigned/esb/1c7b4c0dc24dd97ceab08b65fc13914349920c06/lib/v8309Release/w32/esbhlp.lib -------------------------------------------------------------------------------- /lib/v8309Release/w64/esbhlp.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/int-unsigned/esb/1c7b4c0dc24dd97ceab08b65fc13914349920c06/lib/v8309Release/w64/esbhlp.lib -------------------------------------------------------------------------------- /lib/v8323Debug/w32/esbhlp.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/int-unsigned/esb/1c7b4c0dc24dd97ceab08b65fc13914349920c06/lib/v8323Debug/w32/esbhlp.lib -------------------------------------------------------------------------------- /lib/v8323Debug/w64/esbhlp.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/int-unsigned/esb/1c7b4c0dc24dd97ceab08b65fc13914349920c06/lib/v8323Debug/w64/esbhlp.lib -------------------------------------------------------------------------------- /lib/v8323Release/w32/esbhlp.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/int-unsigned/esb/1c7b4c0dc24dd97ceab08b65fc13914349920c06/lib/v8323Release/w32/esbhlp.lib -------------------------------------------------------------------------------- /lib/v8323Release/w64/esbhlp.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/int-unsigned/esb/1c7b4c0dc24dd97ceab08b65fc13914349920c06/lib/v8323Release/w64/esbhlp.lib --------------------------------------------------------------------------------