
Встроенный язык
1. Присваивание
<Имя_переменной> = <Значение>;
Сумма = Сумма + СтрокаТоваров.Сумма;
2. Объявление переменной
Перем ЛокальнаяПеременная;
!! Первое присваивание делает и объявление!!
Перем ЛокальнаяПеременная;
ЛокальнаяПеременная = 5;
то же самое
ЛокальнаяПеременная = 5;
3. Условный оператор
Если <Условие1> Тогда
<Ветка1>
ИначеЕсли <Условие2> Тогда
<Ветка2>
…
Иначе
<ВеткаИначе>
КонецЕсли;
Сокращенные варианты:
Если <Условие> Тогда
<ВеткаЕсли>
Иначе
<ВеткаИначе>
КонецЕсли;
Если <Условие> Тогда
<ВеткаЕсли>
КонецЕсли;
4. Цикл с предусловием
Пока <Условие> Цикл
<ТелоЦикла>
КонецЦикла;
Пока Ответ <> КодВозвратаДиалога.Да Цикл
Ответ = СпроситьПользователя();
КонецЦикла;
5. Цикл со счетчиком
Для <Счетчик> = <Значение1> По <Значение2> Цикл
<ТелоЦикла>
КонецЦикла;
Для Сч = 1 По Таблица.Количество() Цикл
Сумма = Сумма + 200;
КонецЦикла;
6. Цикл с итератором
Для Каждого <Элемент> Из <Коллекция> Цикл
<ТелоЦикла>
КонецЦикла;
Для Каждого Строка Из Таблица Цикл
Сообщить(Строка.Номенклатура);
КонецЦикла;
7. Процедуры
Описание:
Процедура <Имя>([<СписокПараметров>]) [Экспорт]
<ТелоПроцедуры>
КонецПроцедуры
ВНИМАНИЕ!! Точка с запятой в конце не ставится!!!!
Процедура ВывестиСообщение(ТекстСообщения)
Сообщить(ТекстСообщения, СтатусСообщения.Важное);
КонецПроцедуры
Параметры передаются по ссылке!!!!
Передача по значению:
Процедура Проц(ЗНАЧ а, б, в)
…
КонецПроцедуры
Значения по умолчанию:
Процедура Проц(а, б, в = 3, г, д =5)
…
КонецПроцедуры
Вызов с параметрами по умолчанию:
Проц(1, 2, 3, 4, 5);
Проц(1, 2, 3, 4); – можно
Проц(1, 2, , 4); – можно
Проц(1, 2); – нельзя
Проц(1, 2, 3, 4, ); – можно, равносильно Проц(1, 2, 3, 4);
Внутри процедуры может встречаться оператор Возврат;
Процедура Проц1()
…
Возврат;
…
КонецПроцедуры
8. Функции
То же самое, что и для процедур, только в теле обязательно должно встречаться выражение «Возврат <Значение>»
Описание:
Функция <Имя>([<СписокПараметров>]) [Экспорт]
<ТелоФункции>
КонецФункции
9. Операторы управления выполнением цикла
Прервать; – break: прерывает выполнение цикла
Продолжить; – continue: начинает выполнение цикла со следующей итерации
10. Исключения
Попытка
<ТелоБлока>
Исключение
<БлокИсключение>
КонецПопытки
Попытка
Объект.Записать();
Исключение
Сообщить(«Объект не записан!!», СтатусСообщения.Важное);
КонецПопытки
11. Условное вычисление
?(<условие>, <значение1>, <значение2>)
МодульЧисла = ?(Число >= 0, Число, -Число);
12. Структура модуля
<Описание переменных модуля>
<Процедуры и функции>
<Исполняемая часть>
Перем Переменная1;
Перем Переменная2 Экспорт;
…
Процедура Проц1()
….
КонецПроцедуры
…
ВыводитьСообщения = Ложь;
ИнициализироватьМодуль();
Встроенные процедуры и функции
ЧИСЛО
Функции: Цел, Окр, Log, Log10, Sin, Cos, Tan, ASin, ACos, ATan, Exp, Pow, Sqrt
Операции: +, –, *, /; =, >, <, >=, <=, <>
БУЛЕВО
Операции: =, >, <, >=, <=, <>. Причем Ложь < Истина
И, ИЛИ, НЕ
СТРОКА
Функции: СтрДлина, СокрЛ, СокрП, СокрЛП, Лев, Прав, Сред, Найти, ВРег, НРег, ТРег, Символ, КодСимвола, ПустаяСтрока, СтрЗаменить, СтрЧислоСтрок, СтрПолучитьСтроку, СтрЧислоВхождений
Сред(Строка, Номер, 1) – Символ №Номер в строке Строка
Сред(Строка, Номер) – до конца строки
Найти(«1С-Рарус», «1С») – = 1
Найти(«0123456789», Символ) – проверяет, является ли Символ цифрой
Если Найти не находит подстроку, то результат = 0
ВРег(«АбвГд») = «АБВГД»
НРег(«АбвГд») = «абвгд»
ТРег(«АбвГд») = «Абвгд»
Символ(65) = «A»
КодСимвола(«A») = 65
ПустаяСтрока(« р») = Ложь
ПустаяСтрока(« ») = Истина
ПустаяСтрока(«») = Истина
СтрЗаменить(«1С-Рарус», «1С», «2М») = «2М-Рарус»
СтрЗаменить(«1С-Рарус и 1С», «1С», «2М») = «2М-Рарус и 2М»
НекаяСтрока = «12» + Символы.ПС + «23» + Символы.ПС + «34»;
СтрЧислоСтрок(НекаяСтрока) = 3
СтрПолучитьСтроку(НекаяСтрока, 2) = «23»
СтрЧислоВхождений(«1С-Рарус и 1С», «1С») = 2
Есть строка «1С-Рарус». Нужно удалить 2 символа «ар»
НоваяСтрока = Лев(Строка, 4) + Сред(Строка, 7);
Операции: +; =, >, <, >=, <=, <>
«1» < «2»
«11» < «2»
«11» > «02»
«11» > « 2»
Строка[Номер] – нельзя!!
ДАТА
Год, Месяц, День, Час, Минута, Секунда, НачалоГода, НачалоМесяца, НачалоКвартала, НачалоНедели, НачалоДня, НачалоЧаса, НачалоМинуты, КонецГода, КонецМесяца, КонецКвартала, КонецНедели, КонецДня, КонецЧаса, КонецМинуты, НеделяГода, ДеньГода, ДеньНедели, ДобавитьМесяц, ТекущаяДата, Дата
Год(‘20120718153854’) = 2012
Месяц(‘20120718153854’) = 7
День(‘20120718153854’) = 18
Час(‘20120718153854’) = 15
Минута(‘20120718153854’) = 38
Секунда(‘20120718153854’) = 54
НачалоГода(‘20120718153854’) = ‘20120101000000’
НачалоКвартала(‘20120718153854’) = ‘20120701000000’
НачалоМесяца(‘20120718153854’) = ‘20120701000000’
НачалоНедели(‘20120718153854’) = ‘20120716000000’
НачалоДня(‘20120718153854’) = ‘20120718000000’
НачалоЧаса(‘20120718153854’) = ‘20120718150000’
НачалоМинуты(‘20120718153854’) = ‘20120718153800’
КонецГода(‘20120718153854’) = ‘20121231235959’
КонецКвартала(‘20120718153854’) = ‘20120930235959’
КонецМесяца(‘20120718153854’) = ‘20120731235959’
КонецНедели(‘20120718153854’) = ‘20120722235959’
КонецДня(‘20120718153854’) = ‘20120718235959’
КонецЧаса(‘20120718153854’) = ‘20120718155959’
КонецМинуты(‘20120718153854’) = ‘20120718153859’
НеделяГода(‘20120718153854’) = 29
ДеньГода(‘20120718153854’) = 200
ДеньНедели(‘20120718153854’) = 3
ДобавитьМесяц(‘20120718153854’) = ‘20120818153854’
ДобавитьМесяц(‘20120718153854’, 3) = ‘20121018153854’
ДобавитьМесяц(‘20120718153854’, 12) = ‘20130718153854’
ТекущаяДата() = ‘20120718155145’
Дата(2012, 7, 18, 15, 38, 54) = ‘20120718153854’
Дата(2012, 7, 18) = ‘20120718000000’
Пустая дата: ‘00010101000000’
Вид даты: дата и время, дата, время
Дата и время: ‘2012718153854’
Дата: ‘2012718000000’
Время: ‘00010101153854’
Операции: =, >, <, >=, <=, <>
Дата + Дата = нельзя!!!
Дата + Число = Дата
Дата – Дата = Число
Дата – Число = Дата
Число – количество секунд
‘20120818153854’ + 60 = ‘20120818153954’
‘20120818153854’ – 180 = ‘20120818153554’
‘20120818153854’ – ‘20120817153854’ = 86400 (= 24*60*60)
ПРЕОБРАЗОВАНИЕ ТИПОВ
Булево(«Ложь») = Ложь
Булево(«Истина») = Истина
Булево(0) = Ложь
Булево(1) = Истина
Булево(-1) = Истина
Булево(3.14) = Истина
Строка(12) = «12»
Строка(2.78) = «2,78»
Строка(1000) = «1 000»
Число(Ложь) = 0
Число(Истина) = 1
Число(«12») = 12
Дата(«20120718153854») = ‘20120718153854’
Дата(2012, 7, 18, 15, 38, 54) = ‘20120718153854’
Универсальные коллекции значений