We translate the 1C syntax into English

When programmers first see the 1C applied language, many fall into a stupor. Despite the fact that the native Russian language is in any case closer and more understandable, it is not so easy to read the code in Russian and understand what is happening in it (when it is new).

An experienced programmer will immediately see certain familiar constructs (conditions, loops, function calls), but many points in the code will still be incomprehensible and unusual. And if the code was written by a programmer with the gift of beautiful naming of variables and functions, then the process of first acquaintance with 1C promises to be even brighter. However, the latter is true not only for 1C.

Sample code from a lover of nice syntax
Sample code from a lover of nice syntax

Now the process of translating 1C into English is in full swing. 1C: ERP World Edition has recently been added to existing solutions (such as 1C: Drive), and development in English (more familiar and understandable for many novice or non-1C programmers) has become even more relevant.

, / «London is the capital of Great Britain… Microsoft…Coca-Cola…Ok» ?

:

1.     – . , , . -, , .

, :

2.     – -. , :

Example of a typical configuration

3.     – , .

!

:

…

…

;

If … Then

ElsIf … Then

Else

EndIf;

 

:

= 1 10

;

For Counter = 1 To 10 Do

EndDo;

… …

;

For Each … In … Do

EndDo;

…

;

While … Do

EndDo;

 

:

#

#

#Region

#EndRegion

Client

Server

MobileAppClient

MobileAppServer

ThickClientOrdinaryApplication

ThickClientManagedApplication

ExternalConnection

ThinClient

WebClient

&

&

&

&

&AtClient

&AtServer

&AtServerNoContext

&AtClientAtServerNoContext

:

And

Or

Not

Continue

Break

Return

Export

Val

New

Var

Raise

 

/ :

;

Try

Except

EndTry;

  

:

BeginTransaction

RollbackTransaction

CommitTransaction

TransactionActive

 

/ :

Function

EndFunction

Procedure

EndProcedure

 

:

Array

Structure

Map

ValueList

ValueTable

(, )

ValueTree (Rows, Columns)

Query

TempTablesManager

SpreadsheetDocument

TextDocument

FTP

HTTP

FTPConnection

HTTPConnection

COM

COMObject

WS

WSProxy

DataLock

Boundary

BinaryData

Chart

GanttChart

FileDialog

DOM

HTML

DOMDocument

HTMLDocument

DOM, JSON, …

DOMWriter, JSONWriter, …

HTML, JSON, …

HTMLReader, JSONReader, …

InternetMailMessage

Picture

, , …

DateQualifiers, NumberQualifiers, …

RegisterRecordsCollection

DataCompositionTemplateComposer

DataCompositionSettingsComposer

DataCompositionTemplate

PointInTime

NotifyDescription

TypeDescription

DataCompositionFilter

DataCompositionParameter

DataCompositionField

JSON

JSONWriterSettings

XML

XML

XMLWriterSettings

XMLReaderSettings

MailMessage

DataCompositionResultValueCollectionOutputProcessor

DataCompositionResultSpreadsheetDocumentOutputProcessor

DataCompositionProcessor

FormAttribute

XDTO

XDTOSerializer

XDTO

XDTOFactory

UserMessage

DataCompositionSchema

File

ValueStorage

Color

Font

UUID

 

:

Execute

ExecuteBatch

SetParameter

Select

CreateRecordSet

Read

Insert

Unload

Load

Add

Write

Fill

Total

Count

MetaData

Clear

Get

CheckFilling

Delete

Move

Find

FindRows

Sort

Copy

GetTemplate

GetArea

,

SliceFirst, SliceLast

FindByDescription

FindByCode

FindByAttribute

 

:

, , …

BegOfDay, BegOfMonth, …

, , …

EndOfDay, EndOfMonth, …

ErrorDescription

BackgroundJobs

GetFromTempStorage

CurrentDate

CurrentSessionDate

Date

, , …

ShowInputDate, ShowInputString, …

ShowQueryBox

ShowValue

TypeOf

Type

Eval

Format

FillPropertyValues

GetCommonForm

GetCommonTemplate

GetForm

OpenForm

IsInRole

IsBlankString

, ,

Left, Right, Mid

,

Min, Max

,

Notify, NotifyChanged

PredefinedValue

SetPrivilegedMode

JSON, XML

ReadJSON, ReadXML

Round

, , , …

StrLen, StrReplace, StrFind, …

,

Upper, Lower

ValueIsFilled

 

:

JSON

JSONDateWritingVariant

StandardPeriodVariant

BoundaryType

FormGroupType

AccountingRecordType

AccumulationRecordType

FormButtonType

FormFieldType

ComparisonType

DataCompositionComparisonType

AllowedLength

AllowedSign

FileAccess

DialogReturnCode

Zip

FileNamesEncodingInZipFile

TextEncoding

ZIP

ZIPCompressionMethod

ZIP

ZIPEncryptionMethod

QueryResultIteration

InternetMailProtocol

DataLockMode

QuestionDialogMode

FileDialogMode

DocumentWriteMode

DocumentPostingMode

RoundMode

ZIP

ZIPStorePathMode

DataLockControlMode

Chars

BackgroundJobState

SMTP

SMTPAuthenticationMode

POP3

POP3AuthenticationMode

AddInType

DataCompositionFilterItemsGroupType

JSON

JSONValueType

InternetMailTextType

DOM

DOMNodeType

XML

XMLNodeType

SpreadsheetDocumentFileType

FormattedDocumentFileType

EventLogLevel

DateFractions

, :

Catalogs

Documents

InformationRegisters

AccumulationRegisters

AccountingRegisters

CalculationRegisters

ChartsOfCharacteristicTypes

ChartsOfAccounts

ChartsOfCalculationTypes

Enums

Constants

()

(External) DataProcessors

()

(External) Reports

ScheduledJobs

ExchangePlans

SessionParameters

ExternalDataSources

:

DATEADD

DATEDIFF

,

BEGINOFPERIOD, ENDOFPERIOD

()

COUNT(DISTINC)

VALUE

A TYPE

TYPE

IS NULL

ISNULL

PERFORMANCE

PRESENTATION

SUBMISSION LINKS

REFPRESENTATION

TYPE OF VALUE

VALUETYPE

IN (HIERARCHY)

IN (HIERARCHY)

DATE TIME

DATETIME

LIKE

LIKE

BETWEEN ... AND ...

BETWEEN… AND…

To express

CAST

CHOICE

            WHEN

                        THEN

            ELSE

END

CASE

            WHEN

                        THEN

            ELSE

END

All analogs, of course, cannot be described within one article, but the most popular syntactic constructions were reflected. I hope this will help novice programmers and those who are just getting acquainted with development in 1C in English, feel more confident and write code faster.




All Articles