Research-first Rust tool for building a replacement path for slow 1C configuration loads from XML sources.
The first milestone started read-only for the target infobase:
- locate 1C command-line tools;
- scan source trees into deterministic manifests;
- compare manifests and produce a load plan;
- profile external
ibcmdor1cv8runs; - generate SQL Server and 1C technical log trace templates.
- group exported SQL Server Extended Events XML by normalized SQL text.
Guarded direct database writers are now available for researched storage rows. They are still intended only for throwaway test databases.
cargo run -- probe --deep
cargo run -- scan C:\path\to\xml-sources -o current-manifest.json
cargo run -- plan current-manifest.json -b baseline-manifest.json -o load-plan.json
cargo run -- profile-run --capture-output -- ibcmd infobase config load ...
cargo run -- trace-template .\trace
cargo run -- trace-analyze .\trace\events.xml -o trace-analysis.json
cargo run -- storage-map .\trace\events.xml -o storage-map.json
cargo run -- compatibility
cargo run -- mssql-compare --left ref_db --right target_db -o compare.json
cargo run -- mssql-clone --source target_db --target ours_db --overwrite --allow-non-lab
cargo run -- mssql-storage-export --database import_only_db -o storage-bundle --overwrite
cargo run -- mssql-storage-import --database empty_target_db -i storage-bundle --replace --allow-non-lab
cargo run -- mssql-delta-export --database staged_db -o delta-bundle --overwrite
cargo run -- mssql-delta-import --database target_db -i delta-bundle --allow-non-lab
cargo run -- module-blob-pack --text CommonModules\...\Ext\Module.bsl --base-blob module.bin -o module.blob
cargo run -- versions-blob-patch -i versions.bin -o versions-new.bin --change <metadata-id> --change <metadata-id>.0
cargo run -- mssql-stage-common-module --database target_db --module-id <metadata-id> --text CommonModules\...\Ext\Module.bsl --replace-config-save --allow-non-lab
cargo run -- mssql-stage-common-modules --database target_db --module <metadata-id>=CommonModules\...\Ext\Module.bsl --module <metadata-id>=CommonModules\...\Ext\Module.bsl --replace-config-save --allow-non-lab
cargo run -- mssql-stage-common-module-metadata --database target_db --module-id <metadata-id> --xml CommonModules\...\Module.xml --replace-config-save --allow-non-lab
cargo run -- mssql-stage-common-module-object --database target_db --xml CommonModules\Module.xml --replace-config-save --allow-non-lab
cargo run -- mssql-stage-common-module-objects --database target_db --xml CommonModules\Module1.xml --xml CommonModules\Module2.xml --replace-config-save --allow-non-lab
cargo run -- mssql-stage-metadata-objects --database target_db --source-root C:\full\xml-sources --xml Constants\SomeConstant.xml --xml SessionParameters\SomeParameter.xml --replace-config-save --allow-non-lab
cargo run -- mssql-stage-source-metadata-objects --database target_db --source-root C:\full\xml-sources --replace-config-save --allow-non-lab
cargo run -- mssql-stage-source-common-module-objects --database target_db --source-root C:\full\xml-sources --replace-config-save --allow-non-lab
cargo run -- mssql-stage-source-objects --database target_db --source-root C:\full\xml-sources --replace-config-save --allow-non-lab-
Prepare a disposable ERP infobase on SQL Server.
-
Export or prepare ERP XML sources.
-
Build a baseline manifest:
cargo run -- scan C:\erp-src -o baseline-manifest.json
-
Generate trace templates:
cargo run -- trace-template .\trace
-
Start SQL Server Extended Events from
trace\sqlserver-xevents.sql. -
Run the slow load through
profile-run:cargo run -- profile-run --capture-output -- ibcmd ...
-
Stop the SQL trace and keep the
.xel, 1C technical log, manifest and profile JSON together. -
Export event XML from SQL Server and group it:
cargo run -- trace-analyze C:\temp\events.xml -o trace-analysis.json
-
Map the grouped SQL into storage-mutation families:
cargo run -- storage-map C:\temp\events.xml -o storage-map.json
- Source model: parse object identity, UUIDs, module/form/template ownership.
- Storage bundle bridge: export/import
ConfigSaveandParamsusing native SQL Server BCP so a prepared import state can be applied in an empty infobase. - Delta bundle bridge: export/import staged
ConfigSaverows for a prepared partial change in an existing infobase. - Common module body compiler: build a valid module
.0blob from BSL source asdeflate(V8File(info,text)), using a base blob for element headers. - Versions patcher: build a staged
versionsblob by replacing generation,root,version,versions, and changed file UUIDs. - SQL common-module stager: read active
Config, generate the changed.0andversionsblobs, and write the five-rowConfigSavestaging set. - Multi-module stager: stage several common module body changes in one
ConfigSaveset with a single patchedversionsblob. - Common module metadata stager: stage XML changes for
Name,Synonym,Comment, execution-context flags,Privileged, andReturnValuesReusewith a four-rowConfigSaveset. - Common module object stager: stage a complete common module from XML and
sibling
Ext\Module.bslin one five-rowConfigSaveset. - Batch common module object stager: stage several complete common modules
from XML plus sibling
Ext\Module.bslfiles with one sharedversionsblob. - Generic simple metadata stager: stage metadata-only XML changes for
Name,Synonym, andCommentwhile preserving the rest of each metadata blob; verified onConstantandSessionParameter. ForConstant, it also stages supportedTypepatterns (boolean,string,decimal,dateTime) andUseStandardCommands. ForDefinedType, it stages builtinTypepatterns with one or moreboolean,string,decimal, anddateTimeentries, pluscfg:*reference types resolved from generatedTypeIdvalues under--source-root. ForCommonCommand, it stagesRepresentation,ToolTip,IncludeHelpInContents,ParameterUseMode,ModifiesData,Picturefor empty orCommonPicture.<name>refs,CommandParameterTypefor empty or a singlecfg:DefinedType.<name>, and the currently observedOnMainServerUnavalableBehaviorvalueAuto. Reference resolution requires--source-root;StdPicture.Useris mapped to the platform-owned user picture UUID, while otherStdPicture.*values and arbitrary multi-type command parameter sets are still rejected until mapped. - SQL verifier: compare table shape, row counts and later row checksums.
- Trace analyzer: expand
.xelexport support and add more robust SQL normalization. - Storage mapper: map 1C metadata operations to observed SQL mutations per platform version.
- Writer hardening: keep destructive staging behind explicit confirmation flags and add more safety gates before non-lab use.
- Compatibility matrix: platform build, DBMS, compatibility mode, configuration type and supported operation set.