The framework development tools are aimed equally at the development of
solutions and at their customization for a particular deployment. On the one
hand, the development tools themselves provide solutions aimed specifically at
the possibility of efficient application modification during deployment, and on
the other hand, the very architecture used to build the application makes
customization possible.
The development tools are supplied with almost every 1C:Enterprise kit and
are used both for minor changes such as the print template and for substantial
modification of applications, including the data structure and business logic,
etc.
It also means that any 1C:Enterprise 8 user receives the same tool that is
used by 1C developers for development of applied solutions. Considering that all
1C standard applications have open business logic, it opens wide possibilities
for anyone using 1C:Enterprise 8.
The Designer
The main development means existing in 1C:Enterprise 8 framework are
implemented in a tool called 'Designer'. It is a special 1C:Enterprise 8
operation mode that allows to modify existing applied solutions, develop new
solutions and to administer information bases.
The Designer can be started from 1C:Enterprise 8 startup dialog:
1C:Enterprise 8 Startup dialog
The Designer is a powerful visual integrated development environment (IDE).
The Designer tool provides business application developers with all necessary
toolkit for visual creation of a business application’s structure, data
structure, to build business reports and output document forms, create command
interface, specify access rights, create and edit modules in the embedded script
language to handle various events and input/output data, also to specify special
interaction algorithms, debug and profile a solution, etc.
General view of the Designer window
(example)
These development tools are intended to be used not only by professional
programmers, but also by a wider group of users. Particular attention in these
tools was paid to make them user-friendly. Experience has shown, for example,
that an experienced accountant is perfectly capable of modifying certain parts
of the accounting business application unassisted.
Another function of 1C:Enterprise Designer is creation and editing of
distributive packages of business applications. Developers have a possibility to
compose a distributive package without the need to use special 3rd
parties’ products.
There is a possibility of creating a distribution package description, as
well. The description is used for composing required distribution packages. It
also helps to manage the generation process of the packages. Additionally it is
possible to include other files to a distribution package, which are relevant to
the solution supplied.
The distributive package includes a setup program and a number of archived
files. User just runs 'Setup.exe' installation program on his PC (or 'Autorun'
starts automatically from a CD) and follows the instructions on the screen. The
installation program offers a standard user interface.
The Configuration Tree Window
A configuration is represented in the Designer as a tree-like structure,
where each branch describes a certain configuration component. The root branches
of the tree unite some
configuration objects logically relating to
each other and having a common purpose.
The root node of the tree is named according to the configuration name.
Configuration objects in the window are represented by their names. For
example, the 'Documents' branch includes all document objects which are used in
the configuration, and 'Purchase Order' branch describes the 'purchase order'
document object's properties.
Composition of every configuration object is also represented as a tree-like
structure containing subordinated configuration objects.
Remove configuration objects, with control for existing references to the
object being removed.
Sort configuration objects at will, within their group.
Locate an object whose data are being edited (in other windows, for
example in the
object edit window, or in the
module editor)
Sort configuration objects subordinated to one configuration object, by
name, synonym or comment.
Find references to/from a selected object from/to other objects.
Select configuration objects by subsystems that they belong to.
Start wizards relating to a selected configuration object.
Subsystems
All configuration's applied objects (catalogs, documents, reports, etc) are
associated with the configuration's subsystems. This binding is a necessary
stage in developing a managed application. Earlier in 1C:Enterprise 8.1 and 8.0
the subsystems' structure was used to divide a configuration into sections
mainly for development purposes. Now, in managed application a subsystems'
hierarchy should represent a functionality structure how it will be represented
to users.
Then this information (structure and binding) is used by the managed
application to automatically build user's command interface.
However, a developer can change the command interface view, generated by the
system, changing the command order, visibility, etc.). There is a 'command
interface fragment' editor for this (Pic. 25). The editor can be called for a
specific subsystem, as well as for all subsystems.
Command interface fragment editor
The commands (open catalogs, new object entry, open reports, etc.) are
provided by the system automatically. However, a developer can create his own
commands to be included into command interface. For this, applied metadata
objects a special property – Commands.
Metadata object implements a command,
created by a developer
The Window
of Configuration Object Properties
The configuration object properties window is intended for editing properties
of configuration objects, managing the composition of subordinated objects and
definition of interaction between objects.
Example
of the object editing window
The properties are distributed across several tabs; each of them contains
some attributes of a certain type for an object's properties setup. There are
'Back' and 'Next' buttons to navigate through the tabs, or one can select a
desired tab directly.
The set of the tabs and the composition of controls may differ in various
objects, depending on a particular configuration object type.
The window of configuration properties allows to –
Edit configuration objects' properties, in consecutive order, first
defining some properties that can be used later.
Edit configuration objects' properties, in random order, moving directly
to a desired property type.
Edit predefined elements of a configuration object (should such supported
by the object).
Open and edit forms, associated with an object.
Create new subordinated objects (resources, attributes, dimensions,
forms,
templates, etc.)
Delete subordinated objects, checking for existing references to the
object being deleted.
Search for references to the given object at other objects.
Search for references to other objects at the given object.
Start wizards associated with the given object.
The Properties Window
The properties window is intended for editing of configuration objects. It
contains an object's properties. The composition of properties depends on the
object type being edited. All properties are grouped by logical categories.
The Configuration
Properties Window (in list view and with tabs)
Developers can modify the view of the window selecting list view or
properties grouped in tabs.
The properties window allows to:
Edit a configuration object's properties.
Sort properties alphabetically or by categories.
Show only important elements (properties).
Common Pictures
and Templates
1C:Enterprise 8 system allows for configurations to contain pictures.
Developers can use pictures to put them to control elements, forms, templates or
access them from the script language.
The Designer provides developers with
convenient tools to operate with a library of pictures. Besides, it contains a
picture editor to create new and modify existing pictures.
Templates are configuration objects containing various data .
Wizards
There are 13 wizards in the system:
Query wizard
This wizard helps developers build a query text with only visual tools. Using
"Next' and 'Back' buttons in the wizard window one can move through the tabs,
specifying data to be present in the desired query, how they should be
interrelated, grouped, totals to be calculated, etc.
Query builder window
As a result, developer gets the query text, which can be inserted into a
module text, or copied to clipboard.
Thereby, developers can build correct database queries even not knowing their
syntax.
Output form wizard
This wizard helps developers to create reports and display data
in a convenient tabular or graphical view.
Output form wizard window
The wizard includes entire query builder's functionality plus it allows
creating and adjusting a form that will be used to display results to users.
Various forms of displaying results are supported:
Spreadsheet document
Pivot table – multidimensional table with interactive composition support
Chart – supports several types of diagrams (linear, pie, block diagram,
etc.)
Pivot chart – a diagram with interactive composition support.
At that, these elements can be mixed in one report.
The wizard helps developers to create a procedure in the
script language that is called at document posting.
This procedure makes corresponding records in the applied solution's registers.
Register Records wizard
It's used only for documents and helps create a procedure of posting
documents, in the embedded script language.
Example of the code generated by the
wizard
Print design wizard
The wizard helps to create a print form template for an applied solution
object and a printing procedure, in the
script
language.
Print design window
The wizard works with catalogs, documents, document journals and registers.
'Create Based On' wizard
This wizard helps to create a procedure in the
script language, that will be called when a new applied solution object is
created basing on the data contained by other (often – current) object
(document, catalog, etc.). This functionality is useful when, for example,
a Delivery document should be created basing on a Sales Order document with the
same attributes.
Many objects of an applied solution may have various forms to display the
objects' data. This wizard helps developers to create ready forms of such
objects. It is automatically summoned upon creation of a new form (for example,
from a
catalog properties window).
Object form wizard
The wizard allows, using visual means, to describe a set of the form
attributes and choose location for the command bar.
Result of the wizard is a ready form.
Ready form - result of the object form
wizard operation
Menu designer
The menu designer is intended to help developers to create a set of commands
that users of the application will operate with, i.e. user interface*.
The designer is started automatically in the Designer tool upon adding a new
interface applied object.
Menu designer
Result of the designer's work is a ready user interface. If necessary,
developer can keep on editing it manually, using the user interface editor.
User interface editor window, with
interface items generated by the menu designer
Format string designer
It helps to compose a format string text. The string is used in the script
language constructions to convert a value into a user-friendly representation.
Format string designer
Result of the work of the designer is a string corresponding to the rules of
format strings composition, reflected in the bottom section of the window.
Data composition scheme wizard
This wizard helps developers to create a composition schema that is a basis
of reports using the data
composition system.
Data composition schema wizard
Result of the wizard is a data composition schema fully describing a report.
Thereby, a developer can create a full-functioning report without programming
and not creating a single form.
It allows to describe, step by step, a desired report, for example select
some fields to be displayed in the report, other fields – by which data grouping
will be performed, defined the data order display, etc.
Data composition template designer
This designer allows editing the design of a report being created with the
data composition system(See Pic. 41, 'Templates' tab).
The result of the wizard is a data composition design template describing
predefined template areas of a future report.
Template wizard
The template wizard is the simplest of all wizards. It creates a 'draft'
template of a certain type.
The wizard is called automatically upon creation of a new template.
Template wizard window
Aggregates wizard
The aggregates wizard allows to create and adjust aggregates that an
accumulation register will be using.
Aggregates wizard window
The wizard can be called from an accumulation register window.
Editors
The system includes six specialized editors:
Form designer
This editor allows designing forms used in the system running in standard
(non-managed) mode.
Any such form consists of three components:
Form dialog – i.e. a window that is displayed to users.
Form module – script language module, responsible for operation of the
form elements and event handling.
Form attributes – a set of objects belonging to the form; it uses the
attributes' data for its operation.
The designer provides editing of all three components.
Form designer window
Text and module
editor
It provides all major functions for editing both simple texts and scripts
(when used as a part of the form designer).
Module
editor window
Spreadsheet document editor
This editor provides designing functionality for spreadsheet documents, that
are used in 1C:Enterprise 8 system as a basis for creation of various print
forms.
Spreadsheet document editor window
Hypertext document editor
In 1C:Enterprise 8 the HTML editor is used for creation of application
description as designed html-documents. The editor window contains three tabs –
for designing, coding (in the html format) and previewing the document being
created.
HTML editor
Interface editor
It allows editing of user interfaces contained in an applied solution.
It allows creating and editing of pictures to be used for a configuration
designing purpose (command bar icons, buttons, splash pictures, etc.).
Debugger
The Designer includes an internal debugging tool. The main features are:
Debugging of applications being executed in remote workstations,
accessible over TCP/IP protocol.
Debugging the code executed by a server cluster's working process; at
that, it supports the through call stack for client and server, also
step-by-step debugging for both sides.
Debugging the code executed in COM-connections, background tasks and
WS-connections.
The Debugger supports conditional or unconditional breakpoints in module
code. There is a breakpoints window, for convenient browsing across many
breakpoints.
There is a possibility for step-by-step code execution. At that, one can
watch variables' values as the code is being executed. Script language object
properties are represented in a tree-view. For strings, arrays and collections
one can open a separate window.
One can open an Immediate Window for calculation of results to be displayed
during execution of a certain part of module.
The Debugger allows using a call stack displaying a sequence of calls and
functions resulted at the line of the module being debugged.
Other standard functionality of debuggers is also supported (e.g.
breakpoints, step-by-step execution, etc).
Other Development Tools
Configuration report
The report provides developers with a textual description of configuration.
The report may be generated for a whole configuration or only for some selected
parts of it. It is saved as a text file.
This is very useful when developing some scaled configurations, or to keep
history of modifications done.
Syntax-assistant
It provides in-line help for developers, when programming in the embedded
script language.
It also includes a help system on the script language objects, their
properties, methods and associated events.
Syntax assistant window
Full-text search also operates here,
to simplify the search for required functionality.
Global search and replace
This functionality allows to search (search and replace) a certain string in
all elements of an applied solution which may contain strings, such as modules,
dialogs, spreadsheets, configuration descriptions and external files.
The search dialog includes many configuration options, including both search
options and search scope defining a set of configuration elements to search in.
Global Text Search dialog window
The search result is open in a special window, with a list of entries. A
click on an entry opens a corresponding configuration object and the item found
in it.
Text templates
1C:Enterprise 8 Designer supports the possibility to create, store and use
quick text templates. Developers can use a special window for quick text insert.
Text Templates window
All templates are stored in files, and developers can create new template
file, add or modify existing ones.
Each template may include static and dynamic texts. Static texts are
displayed as defined in a template, while dynamic part depends on a usage
context.
External data processors and reports
Use of external data processors and reports helps to speed up the development
process, since such reports and processors are stored outside of applied
solutions, and therefore can be used in various solutions without changing them.
Any processor or report contained in a configuration can be converted into
external, and vice versa. Besides, external processors can be added to a
configuration structure, as new objects.
The Designer also provides the possibility to compare and merge built-in and
external processors or reports.
Compare and merge configurations
This mechanism allows to compare two configurations and merge entirely or
partly (selectively) by comparison results. In particular, it allows one to
incorporate elements of other configurations into an application being developed
with ease and precision, to ensure synchronization of solutions being developed,
etc.
This possibility is used when a configuration is developed by several
independent developers, or when it is necessary to load some modifications to a
configuration.
This mechanism considers not only properties of configuration objects, but also their
attributes, tabular parts and forms (including text in modules of the script
language, description texts and templates).
Saving and restoring configurations
The system allows writing and loading an applied solution configuration as a
file.
It can be used, for example, to start a new configuration from an existing
one as a basis.
Creation of application distribution package
It is also one of the Designer's functions for creation of a configuration
distribution package.
The package includes 'setup' utility and a set of installation files, zipped
in an archive.
The installation program has standard user interface and guides users through
the whole setup process.
Developers have a possibility to create and modify distribution package
description, which is further used as basis to create distribution packages.
Distribution package descriptions are stored in external files, so they are
independent on configurations.
The configuration check
This mechanism allows checking configurations for errors that are not
critical for the application functioning, but which could affect application
performance or result in errors when running in some special modes.
It allows doing the following checks:
Standard check for configuration logical integrity.
Detection of incorrect references in all objects, forms, templates, etc.
Syntax check in various operation modes, including server operation
emulation and external connection.
Detection of unused procedures and functions.
Detection of existing handlers assigned.
Detection of empty handlers.
This mechanism can be used, for example, before delivering a configuration to
customers, building a distribution kit, etc.
Dumping / loading configuration files
This functionality provides dumping/loading of configuration properties to
files, at that it is possible to make it for selected
configuration objects only.
Dump configuration files dialog
Dumping of configuration properties to files is performed according to
properties' types.
Performance metering
1C:Enterprise 8 Designer allows to estimate performance for a configuration
as a whole or only for a part of it. This helps developers to optimize
implementation of algorithms in the script language and to find ways to improve
general performance.
Team Development
of Configurations
The Designer's mechanisms allow establishing team development of an applied
solution. At that, access rights for modification of every applied solution’s
object are specified, so required modifications are performed simultaneously,
not one after another. There are also visual tools for versioning control,
keeping history of versions, modifications done, etc.
* - Here the classic user
interface is meant, not the managed one.