Home

1Cdl

1Cdl is a domain-specific language designed to describe data models, configurations, and workflows for software built on the 1C platform. The language aims to provide a compact, human-readable syntax for defining entities, fields, relationships, and business rules that the 1C engine can interpret and enforce. 1Cdl files typically bear the .cdl extension and can be versioned alongside application code. It is intended to complement existing 1C configuration scripts by offering a stable interchange format across development, testing, and production environments.

History and development of 1Cdl trace to the early 2020s within the 1C community, where users sought

Design and syntax of 1Cdl favor declarative blocks with indentation-based structure. Core constructs include entity blocks

Usage and tooling center on modeling application data and configurations, generating database schemas, and driving migrations.

See also: 1C:Enterprise, configuration languages, data modeling and serialization formats.

a
more
interoperable
way
to
describe
data
and
configurations.
A
reference
compiler
and
a
core
schema
for
common
1C
constructs
were
released
to
promote
consistency
across
tools
and
projects.
By
the
mid-2020s,
several
open-source
projects
and
IDE
plugins
provided
syntax
highlighting,
validation,
and
code
completion
for
1Cdl,
helping
teams
adopt
the
language
in
larger
deployments.
that
define
data
tables,
field
declarations
that
specify
type
and
constraints,
and
relation
blocks
for
one-to-many
or
many-to-many
associations.
Additional
blocks
cover
validation
rules,
computed
fields,
and
imports
to
modularize
definitions.
Primitive
types
include
string,
integer,
decimal,
boolean,
date/time,
and
enums.
Comments
are
supported
and
can
be
used
to
document
design
decisions
and
constraints.
A
typical
workflow
involves
authoring
1Cdl
definitions,
compiling
to
an
internal
representation
or
JSON,
and
integrating
the
outputs
into
CI/CD
pipelines
for
automated
testing
and
deployment.