Когда программисты первый раз видят прикладной язык 1С, многие впадают в ступор. Несмотря на то, что родной русский язык в любом случае ближе и понятнее, читать код на русском языке и понимать, что происходит в нем (когда это в новинку) не так-то просто.
Опытный программист сразу увидит определенные знакомые конструкции (условия, циклы, вызовы функций), но многие моменты в коде все равно будут непонятными и непривычными. А уж если код был написан программистом с даром красивого именования переменных и функций, то процесс первого знакомства с 1С обещает быть еще более ярким. Впрочем, последнее справедливо не только для 1С.

Сейчас процесс перевода 1С на английский язык идет полным ходом. К существующим ранее решениям (таким как 1C:Drive) недавно добавился 1С:ERP World Edition, а разработка на английском языке (более привычном и понятном для многих начинающих или не связанных с 1С программистов) стала еще более актуальной.
Как же человеку, уже прикипевшему к русскому языку в коде и / или со знаниями английского на уровне «London is the capital of Great Britain… Microsoft…Coca-Cola…Ok» быстро перестроиться на кодирование на английском языке?
Есть несколько способов:
1. Первое и самое банальное – подтянуть знания английского языка. Даже если удастся запомнить, как писать все нужные конструкции, названия объектов и переменных все равно желательно давать понятными англоговорящему кодеру. И чтобы не сидеть все время в обнимку с гугл-переводчиком, лучше потратить некоторое время на освоение нового языка, благо ресурсов сейчас для этого предостаточно.
Вот пример кода, как не нужно делать:

2. Второй способ – открыть любую типовую конфигурацию и искать название на английском нужной конструкции с помощью синтаксис-помощника. Как правило, там это название будет приведено подобным образом:

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 |
|
Клиент |
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 |
|
ТИП |
TYPE |
|
ЕСТЬNULL |
ISNULL |
|
ПРЕДСТАВЛЕНИЕ |
PRESENTATION |
|
ПРЕДСТАВЛЕНИЕССЫЛКИ |
REFPRESENTATION |
|
ТИПЗНАЧЕНИЯ |
VALUETYPE |
|
В (ИЕРАРХИИ) |
IN (HIERARCHY) |
|
ДАТАВРЕМЯ |
DATETIME |
|
ПОДОБНО |
LIKE |
|
МЕЖДУ … И … |
BETWEEN … AND … |
|
ВЫРАЗИТЬ |
CAST |
|
ВЫБОР КОГДА ТОГДА ИНАЧЕ КОНЕЦ |
CASE WHEN THEN ELSE END |
Все аналоги, конечно, невозможно описать в рамках одной статьи, но наиболее популярные синтаксические конструкции были отражены. Надеюсь, это поможет начинающим программистам и тем, кто только знакомиться с разработкой в 1С на английском языке, чувствовать себя уверенней и писать код быстрее.
ссылка на оригинал статьи https://habr.com/ru/post/518242/
Добавить комментарий