- Соблюдать правила синтаксиса языка 1С
- Использовать примитивные типы, литералы и операторы
- Обрабатывать строки и даты стандартными функциями
Русские ключевые слова поначалу могут показаться непривычными, но грамматика языка 1С похожа на Pascal и Basic и очень проста. Освоив несколько правил, ты сможешь читать код любой типовой конфигурации. В этом уроке разберём «азбуку» языка: переменные, типы, операторы, строки и даты.
Правила синтаксиса
- Язык не различает регистр букв:
Сумма,суммаиСУММА— одна и та же переменная. - Каждый оператор заканчивается
;; блоки закрываются не скобками, а ключевыми словами:КонецЕсли,КонецЦикла,КонецПроцедуры. - Комментарий начинается с
//и продолжается до конца строки. - Имя состоит из букв, цифр и
_и не начинается с цифры; допустимы кириллица и латиница. - Строковый литерал записывается в двойных кавычках; кавычка внутри удваивается, а каждая новая строка многострочного литерала начинается с
|.
Переменные и примитивные типы
1С — язык с динамической типизацией: переменная создаётся при первом присваивании и получает тип от значения. Переменные уровня модуля объявляются через Перем, а внутри процедур обычно просто присваивают значение. Тип значения возвращает функция ТипЗнч().
| Тип | По-английски | Пример литерала |
|---|---|---|
Число | Number | 42, 2.5, -7 |
Строка | String | "Bakı" |
Дата | Date | '20260927', '20260927153000' |
Булево | Boolean | Истина / Ложь (True / False) |
Неопределено | Undefined | Неопределено |
NULL | Null | NULL — пустое значение в результатах запроса |
'00010101'. В коде дробная часть пишется через точку: 2.5.Количество = 12; // Число
Цена = 2.5; // Число с дробной частью
Название = "Чай ""Гранулированный"""; // кавычки внутри удваиваются
ДатаПродажи = '20260927'; // Дата
Оплачено = Ложь; // Булево
Скидка = Неопределено;
Если ТипЗнч(Цена) = Тип("Число") Тогда
Сообщить("Цена - число");
КонецЕсли;
Сообщить(Название);Цена - число Чай "Гранулированный"
Тип("Число") превращает имя типа в объект типа.Операторы
Арифметические операторы: + - * / и остаток от деления %. Строки соединяются через +; число, прибавленное к строке, автоматически превращается в строку. Сравнение: = <> < > <= >=. Логические операторы: И, ИЛИ, НЕ. Внимание: = — это и присваивание, и сравнение, смысл определяется контекстом.
А = 17;
Б = 5;
Сообщить(А + Б);
Сообщить(А * Б);
Сообщить(А % Б); // остаток от деления
Сообщить(Цел(А / Б)); // целая часть
Сообщить("Salam, " + "Aysel" + "!");
Сообщить("Возраст: " + 15);22 85 2 3 Salam, Aysel! Возраст: 15
Строки и даты
| Функция | Что делает |
|---|---|
СтрДлина(С) | длина строки |
СокрЛП(С) | удаляет пробелы в начале и в конце |
ВРег(С) / НРег(С) | переводит в верхний / нижний регистр |
Лев(С, N) / Прав(С, N) / Сред(С, Нач, N) | N символов слева / справа / из середины |
СтрНайти(С, Подстрока) | позиция подстроки (с 1), 0 если не найдена |
СтрЗаменить(С, Что, НаЧто) | заменяет все вхождения |
СтрРазделить(С, ",") | разбивает строку в массив |
СтрШаблон("%1 - %2", А, Б) | подставляет значения вместо %1, %2 |
Текст = СокрЛП(" Educora 1C ");
Сообщить(СтрДлина(Текст));
Сообщить(ВРег(Текст));
Сообщить(Лев(Текст, 7));
Сообщить(СтрНайти(Текст, "1C"));
Сообщить(СтрЗаменить(Текст, " ", "_"));
Сообщить(СтрШаблон("%1: %2 уроков", Текст, 14));10 EDUCORA 1C Educora 9 Educora_1C Educora 1C: 14 уроков
С датами работать тоже просто. Прибавить к дате число — значит прибавить секунды (сутки = 86400 секунд), и разность двух дат тоже выражается в секундах. Функции НачалоМесяца, КонецМесяца, НачалоДня, ДобавитьМесяц упрощают работу с периодами, а Формат() выводит даты и числа в нужном виде.
Д = '20260927';
Сообщить(Формат(Д, "ДФ=dd.MM.yyyy"));
Сообщить(Формат(НачалоМесяца(Д), "ДФ=dd.MM.yyyy"));
Сообщить(Формат(КонецМесяца(Д), "ДФ=dd.MM.yyyy"));
Сообщить(Формат(ДобавитьМесяц(Д, 5), "ДФ=dd.MM.yyyy"));
Сообщить(Формат(Д + 86400 * 7, "ДФ=dd.MM.yyyy"));
Сообщить(('20261231' - Д) / 86400); // дней до конца года
Сообщить(Формат(Год(Д), "ЧГ=0"));27.09.2026 01.09.2026 30.09.2026 27.02.2027 04.10.2026 95 2026
Главное
- Язык не различает регистр, операторы заканчиваются
;, блоки закрываются ключевыми словами. - Примитивные типы:
Число,Строка,Дата,Булево,Неопределено,NULL. - Литерал даты:
'ГГГГММДД'; прибавление числа к дате добавляет секунды. %— остаток от деления,Цел()— целая часть.- Для вывода чисел и дат используй
Формат(), например"ЧГ=0","ДФ=dd.MM.yyyy".
Проверь себя
Вопросов: 10. Каждый правильный ответ приносит XP.
Сообщить(17 % 5);?