1c-bsp

Integrates 1C data processors with the SSL/BSP standard subsystems library.

Updated Jun 26, 2026
One-click install
npx skills add https://github.com/pavelvdo/universal-xml-exchange2 --skill 1c-bsp-pavelvdo
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: 1c-bsp
Source: https://github.com/pavelvdo/universal-xml-exchange2/tree/main/.cursor/skills/1c-bsp
Command: npx skills add https://github.com/pavelvdo/universal-xml-exchange2 --skill 1c-bsp-pavelvdo

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Registering external data processors and reports in the 1C Standard Subsystems Library (БСП/SSL) requires precise boilerplate code — the ExternalDataProcessorInfo function, correct kind mappings, command definitions, and matching server or client handlers. Writing this by hand is error-prone and requires deep knowledge of the BSP API. ## Core Features & Use Cases - Processor Registration: Generates the ExternalDataProcessorInfo() function in the object module with correct kind mapping (AdditionalDataProcessor, AdditionalReport, ObjectFilling, Report, PrintForm, RelatedObjectCreation) and target object assignments. - Command Addition: Adds new commands to an existing registration with the right command type (OpenForm, ServerMethodCall, ClientMethodCall, FormFilling, ScenarioInSafeMode) and generates matching ExecuteCommand or Print handlers. - BSP Patterns Reference: Guides usage of standard subsystems such as Users, File Operations, Print Management, Long-Running Operations, Object Versioning, and Email, with a search-first workflow over the repository code. - Use Case: You need to register a new external print form for Document.SalesInvoice — the skill inserts the registration function with PrintForm kind, the PrintMXL modifier, and a ready Print handler procedure in ObjectModule.bsl. ## Quick Start Ask the assistant to register your external data processor in BSP, for example: register MyProcessor as a print form for Document.SalesInvoice.

Frequently Asked Questions about 1c-bsp

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I register an external data processor in 1C BSP?

Add an ExternalDataProcessorInfo() function to the object module that returns registration parameters from AdditionalReportsAndDataProcessors.ExternalDataProcessorInfo(). Set the kind via AdditionalReportsAndDataProcessorsClientServer methods, define version, target objects, and at least one command.

How to add a command to a BSP-registered data processor?

Insert a new Commands.Add() block inside ExternalDataProcessorInfo() before the Return statement, setting Presentation, ID, and Use (command type). Then add or extend the ExecuteCommand or Print handler procedure matching the command type.

What processor kinds does the BSP Additional Reports subsystem support?

Six kinds are supported: AdditionalDataProcessor, AdditionalReport, ObjectFilling, Report, PrintForm, and RelatedObjectCreation. Assignable kinds (ObjectFilling, Report, PrintForm, RelatedObjectCreation) require target metadata objects like Document.SalesInvoice.

Which BSP subsystems are covered beyond processor registration?

The patterns reference covers Users and access rights, File Operations, Print Management, Long-Running Operations with progress, Object Versioning, and Email. For these, search the repository code first before writing custom implementations.

When should I not write custom code instead of using BSP?

Always check whether the Standard Subsystems Library already provides the functionality before writing custom code. Using tested SSL modules avoids technical debt; only write custom implementations when SSL has no suitable solution, and document why.