Loading...
Loading...
Compare original and translation side by side
Skill by ara.so — Devtools Skills collection.
由ara.so开发的Skill——开发工具技能合集。
oscriptC:\Program Files\OneScript\bin\oscript.exeoscriptC:\Program Files\OneScript\bin\oscript.exeCtrl+Shift+P.vsixCtrl+Shift+P.vsixpackagedefproject-root/
├── packagedef # Project manifest (required for activation)
├── env.json # Connection parameters
├── launch.json # Debug configurations
├── tasks.json # Custom tasks
├── oscript_modules/ # OneScript modules override
├── src/
│ ├── cf/ # Configuration sources
│ └── cfe/ # Extension sources (subdirectories per extension)
└── build/
├── ib/ # Information base
└── commit/
└── Commit.txt # Changed files list for incremental updatespackagedefproject-root/
├── packagedef # 项目清单(激活扩展必需)
├── env.json # 连接参数
├── launch.json # 调试配置
├── tasks.json # 自定义任务
├── oscript_modules/ # OneScript模块覆盖
├── src/
│ ├── cf/ # 配置源代码
│ └── cfe/ # 扩展源代码(每个扩展对应一个子目录)
└── build/
├── ib/ # 信息库
└── commit/
└── Commit.txt # 增量更新的变更文件列表env.json{
"$schema": "https://raw.githubusercontent.com/vanessa-opensource/vanessa-runner/develop/vanessa-runner-schema.json",
"default": {
"--ibconnection": "/F./build/ib",
"--infoBase": "MyInfoBase",
"--db-user": "Admin",
"--db-pwd": "",
"--root": ".",
"--workspace": ".",
"--v8version": "8.3.27",
"--v8-platform-root": "C:/Program Files/1cv8",
"--debug-server": "localhost",
"--debug-port-range": "1560:1591",
"--locale": "ru",
"--language": "ru",
"--additional": "/DisplayAllFunctions /Lru /iTaxi /TESTMANAGER",
"--ordinaryapp": "-1"
}
}--ibconnection/F./build/ib/S<server>\<base>--v8version8.3.27--v8-platform-root--debug-server--debug-port-rangeenv.json{
"$schema": "https://raw.githubusercontent.com/vanessa-opensource/vanessa-runner/develop/vanessa-runner-schema.json",
"default": {
"--ibconnection": "/F./build/ib",
"--infoBase": "MyInfoBase",
"--db-user": "Admin",
"--db-pwd": "",
"--root": ".",
"--workspace": ".",
"--v8version": "8.3.27",
"--v8-platform-root": "C:/Program Files/1cv8",
"--debug-server": "localhost",
"--debug-port-range": "1560:1591",
"--locale": "ru",
"--language": "ru",
"--additional": "/DisplayAllFunctions /Lru /iTaxi /TESTMANAGER",
"--ordinaryapp": "-1"
}
}--ibconnection/F./build/ib/S<server>\<base>--v8version8.3.27--v8-platform-root--debug-server--debug-port-range.vscode/launch.json{
"configurations": [
{
"type": "onec",
"request": "launch",
"name": "1C: Launch with background jobs",
"debugServerHost": "localhost",
"debugServerPort": 1560,
"infoBaseAlias": "DefAlias",
"autoAttachTypes": [
"Client",
"Server",
"Job",
"JobFileMode"
]
},
{
"type": "onec",
"request": "launch",
"name": "1C: Launch without background jobs",
"debugServerHost": "localhost",
"debugServerPort": 1560,
"infoBaseAlias": "DefAlias",
"autoAttachTypes": [
"Client",
"Server"
]
},
{
"type": "onec",
"request": "attach",
"name": "1C: Attach",
"debugServerHost": "localhost",
"debugServerPort": 1560,
"infoBaseAlias": "DefAlias",
"autoAttachTypes": [
"Client",
"Server"
]
}
]
}ClientManagedClientWebClientComConnectorServerServerEmulationWebServiceHttpServiceODataJobJobFileModeMobileClientMobileServerMobileJobFileModeMobileManagedClientMobileManagedServer.vscode/launch.json{
"configurations": [
{
"type": "onec",
"request": "launch",
"name": "1C: Launch with background jobs",
"debugServerHost": "localhost",
"debugServerPort": 1560,
"infoBaseAlias": "DefAlias",
"autoAttachTypes": [
"Client",
"Server",
"Job",
"JobFileMode"
]
},
{
"type": "onec",
"request": "launch",
"name": "1C: Launch without background jobs",
"debugServerHost": "localhost",
"debugServerPort": 1560,
"infoBaseAlias": "DefAlias",
"autoAttachTypes": [
"Client",
"Server"
]
},
{
"type": "onec",
"request": "attach",
"name": "1C: Attach",
"debugServerHost": "localhost",
"debugServerPort": 1560,
"infoBaseAlias": "DefAlias",
"autoAttachTypes": [
"Client",
"Server"
]
}
]
}ClientManagedClientWebClientComConnectorServerServerEmulationWebServiceHttpServiceODataJobJobFileModeMobileClientMobileServerMobileJobFileModeMobileManagedClientMobileManagedServerdbgs.exe1c-dev-tools.debug.timings{
"1c-dev-tools.debug.timings": {
"varFetchDelayMs": 50,
"calcWaitingTimeMs": 100,
"pingIntervalMs": 50,
"pingStoppedIntervalMs": 500,
"stepInOutDelayMs": 40,
"immediatePingDelaysMs": [25, 50, 100],
"evalExprRetryDelaysMs": [50, 100],
"variablesRequestRetryDelaysMs": [50, 100, 150],
"pingDbgtgtIntervalMs": 5000
}
}dbgs.exe1c-dev-tools.debug.timings{
"1c-dev-tools.debug.timings": {
"varFetchDelayMs": 50,
"calcWaitingTimeMs": 100,
"pingIntervalMs": 50,
"pingStoppedIntervalMs": 500,
"stepInOutDelayMs": 40,
"immediatePingDelaysMs": [25, 50, 100],
"evalExprRetryDelaysMs": [50, 100],
"variablesRequestRetryDelaysMs": [50, 100, 150],
"pingDbgtgtIntervalMs": 5000
}
}Ctrl+Shift+PCtrl+Shift+P1C: Create empty infobase
1C: Post-update processing
1C: Prohibit external resources
1C: Export to dt / Import from dt1C: Create empty infobase
1C: Post-update processing
1C: Prohibit external resources
1C: Export to dt / Import from dt1C: Load from src/cf # Load entire configuration from sources
1C: Update from src/cf # Incremental update (uses build/commit/Commit.txt)
1C: Export to src/cf # Full export to sources
1C: Export update to src/cf # Export only changes1C: Load from 1Cv8.cf # Import .cf file
1C: Export to 1Cv8.cf # Export configuration
1C: Export distribution 1Cv8dist.cf
1C: Build 1Cv8.cf from src/cf
1C: Disassemble 1Cv8.cf to src/cf1C: Load from src/cf # 从源代码加载完整配置
1C: Update from src/cf # 增量更新(使用build/commit/Commit.txt)
1C: Export to src/cf # 完整导出到源代码
1C: Export update to src/cf # 仅导出变更内容1C: Load from 1Cv8.cf # 导入.cf文件
1C: Export to 1Cv8.cf # 导出配置
1C: Export distribution 1Cv8dist.cf
1C: Build 1Cv8.cf from src/cf
1C: Disassemble 1Cv8.cf to src/cf1C: Load from src/cfe # Load all extensions from sources
1C: Export to src/cfe # Export all extensions to sources
1C: Export update to src/cfe # Export only changed extensions
1C: Update from src/cfe # Incremental update (uses Commit.txt)1C: Load from *.cfe
1C: Export to *.cfe
1C: Build *.cfe from src/cfe
1C: Disassemble *.cfe to src/cfe1C: Load from src/cfe # 从源代码加载所有扩展
1C: Export to src/cfe # 将所有扩展导出到源代码
1C: Export update to src/cfe # 仅导出变更的扩展
1C: Update from src/cfe # 增量更新(使用Commit.txt)1C: Load from *.cfe
1C: Export to *.cfe
1C: Build *.cfe from src/cfe
1C: Disassemble *.cfe to src/cfe1C: Build external report/processor # Compile external file
1C: Disassemble external report/processor
1C: Clear cache1C: Build external report/processor # 编译外部文件
1C: Disassemble external report/processor
1C: Clear cache1C: Initialize packagedef # Create dependency manifest
1C: Install dependencies
1C: Remove dependencies1C: Initialize packagedef # 创建依赖清单
1C: Install dependencies
1C: Remove dependencies1C: Launch Enterprise # Start client application
1C: Launch Configurator # Open Configurator1C: Launch Enterprise # 启动客户端应用
1C: Launch Configurator # 打开Configurator.bslF5dbgs.exe.bslF5dbgs.exeQuery.TemporaryTablesManager.Tables[0][0][1]Query.TemporaryTablesManager.Tables[0][0][1]// In stopped context, evaluate:
Query.TemporaryTablesManager.Tables[0].GetColumns()
Result.Find("MyValue", "FieldName")
Collection.Count() > 10// 在暂停的上下文环境中,执行以下表达式:
Query.TemporaryTablesManager.Tables[0].GetColumns()
Result.Find("MyValue", "FieldName")
Collection.Count() > 10F10 - Step Over
F11 - Step Into
Shift+F11 - Step Out
F5 - Continue
Shift+F5 - StopF10 - 单步跳过
F11 - 单步进入
Shift+F11 - 单步退出
F5 - 继续
Shift+F5 - 停止undefinedundefinedundefinedundefinedundefinedundefinedundefinedundefined1C: Export update to src/cf1C: Update from src/cfbuild/commit/Commit.txtsrc/cf/Documents/Документ1/Ext/ManagerModule.bsl
src/cf/Catalogs/Справочник1.xml
src/cfe/Extension1/Documents/Документ1/Ext/ObjectModule.bsl1C: Export update to src/cf1C: Update from src/cfbuild/commit/Commit.txtsrc/cf/Documents/Документ1/Ext/ManagerModule.bsl
src/cf/Catalogs/Справочник1.xml
src/cfe/Extension1/Documents/Документ1/Ext/ObjectModule.bslundefinedundefinedundefinedundefined// src/ExternalReports/MyReport/ObjectModule.bsl
Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)
// Report logic
КонецПроцедурыsrc/ExternalReports/MyReport/Ctrl+Shift+P1C: Build external report/processorMyReportMyReport.erf// src/ExternalReports/MyReport/ObjectModule.bsl
Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)
// 报表逻辑
КонецПроцедурыsrc/ExternalReports/MyReport/Ctrl+Shift+P1C: Build external report/processorMyReportMyReport.erf// CommonModule.bsl
Функция ВыполнитьЗапрос(ТекстЗапроса)
Запрос = Новый Запрос;
Запрос.Текст = ТекстЗапроса;
// Set breakpoint here ⬅
Результат = Запрос.Выполнить();
ТЗ = Результат.Выгрузить();
Возврат ТЗ;
КонецФункцииЗапросЗапрос.МенеджерВременныхТаблиц.ТаблицыТЗ// CommonModule.bsl
Функция ВыполнитьЗапрос(ТекстЗапроса)
Запрос = Новый Запрос;
Запрос.Текст = ТекстЗапроса;
// 在此处设置断点 ⬅
Результат = Запрос.Выполнить();
ТЗ = Результат.Выгрузить();
Возврат ТЗ;
КонецФункцииЗапросЗапрос.МенеджерВременныхТаблиц.ТаблицыТЗpackagedefpackagedefoscript = C:\Program Files\OneScript\bin\oscript.exeoscript = C:\Program Files\OneScript\bin\oscript.exedbgs.exelaunch.jsondebugServerHost1560dbgs.exe --addr localhost --port 1560dbgs.exelaunch.jsondebugServerHost1560dbgs.exe --addr localhost --port 1560varFetchDelayMsvarFetchDelayMssrc/cf/Configuration.xmlenv.json--ibconnectionsrc/cf/Configuration.xmlenv.json--ibconnectionbuild/commit/Commit.txt1C: Export to src/cfeCommit.txtbuild/commit/Commit.txt1C: Export to src/cfeCommit.txtObjectModule.bslManagerModule.bslbuild/ObjectModule.bslManagerModule.bslbuild/Commit.txtsrc/cf/Documents/Doc1.xmlsrc\cf\Documents\Doc1.xmlCommit.txt1C: Export update to src/cfCommit.txtsrc/cf/Documents/Doc1.xmlsrc\cf\Documents\Doc1.xmlCommit.txt1C: Export update to src/cfimport * as vscode from 'vscode';
// Access extension context
const ext = vscode.extensions.getExtension('asweetand-a11y.devtool1c');
if (ext) {
const api = await ext.activate();
}
// Register custom command
vscode.commands.registerCommand('1c-dev-tools.customCommand', () => {
// Execute oscript
const terminal = vscode.window.createTerminal('1C Tools');
terminal.sendText('oscript build.os');
});
// Read env.json configuration
const workspaceRoot = vscode.workspace.workspaceFolders?.[0].uri.fsPath;
const envPath = path.join(workspaceRoot, 'env.json');
const envConfig = JSON.parse(fs.readFileSync(envPath, 'utf8'));
const ibConnection = envConfig.default['--ibconnection'];import * as vscode from 'vscode';
// 访问扩展上下文
const ext = vscode.extensions.getExtension('asweetand-a11y.devtool1c');
if (ext) {
const api = await ext.activate();
}
// 注册自定义命令
vscode.commands.registerCommand('1c-dev-tools.customCommand', () => {
// 执行oscript
const terminal = vscode.window.createTerminal('1C Tools');
terminal.sendText('oscript build.os');
});
// 读取env.json配置
const workspaceRoot = vscode.workspace.workspaceFolders?.[0].uri.fsPath;
const envPath = path.join(workspaceRoot, 'env.json');
const envConfig = JSON.parse(fs.readFileSync(envPath, 'utf8'));
const ibConnection = envConfig.default['--ibconnection'];