Məzmuna keç
Educora
Başlanğıc16 dəq4 / 14

Daxili dil: sintaksis, dəyişənlər və tiplər

1C dilinin qrammatikasını, primitiv tipləri (`Число`, `Строка`, `Дата`, `Булево`, `Неопределено`), operatorları, sətir və tarix funksiyalarını öyrən.

Özünü yoxla
Bu dərsdə öyrənəcəksən
  • 1C dilinin sintaksis qaydalarına əməl etmək
  • Primitiv tipləri, literalları və operatorları istifadə etmək
  • Sətirləri və tarixləri standart funksiyalarla emal etmək

Rus açar sözləri ilk baxışda qəribə görünə bilər, amma 1C dilinin qrammatikası Pascal və Basic-ə bənzəyir və çox sadədir. Bir neçə qaydanı mənimsəsən, istənilən tipik konfiqurasiyanın kodunu oxuya biləcəksən. Bu dərsdə dilin «əlifbası» ilə — dəyişənlər, tiplər, operatorlar, sətirlər və tarixlərlə tanış olacağıq.

Sintaksis qaydaları

  • Dil böyük-kiçik hərfə həssas deyil: Сумма, сумма və СУММА eyni dəyişəndir.
  • Hər operator ; ilə bitir; bloklar mötərizə ilə deyil, açar sözlərlə bağlanır: КонецЕсли, КонецЦикла, КонецПроцедуры.
  • Şərh // ilə başlayır və sətrin sonuna qədər davam edir.
  • Ad hərflərdən, rəqəmlərdən və _ işarəsindən ibarətdir və rəqəmlə başlamır; kirill və latın hərflərindən istifadə etmək olar.
  • Sətir literalı qoşa dırnaqdadır; daxildəki dırnaq ikiqat yazılır, çoxsətirli sətrin hər yeni sətri | ilə başlayır.

Dəyişənlər və primitiv tiplər

1C dinamik tipli dildir: dəyişən ilk mənimsətmədə yaranır və tipini qiymətdən alır. Modul səviyyəsində dəyişənlər Перем (Var) ilə elan olunur, prosedur daxilində isə adətən sadəcə qiymət mənimsədilir. Qiymətin tipini ТипЗнч() funksiyası qaytarır.

TipİngiliscəLiteral nümunəsi
ЧислоNumber42, 2.5, -7
СтрокаString"Bakı"
ДатаDate'20260927', '20260927153000'
БулевоBooleanИстина / Ложь (True / False)
НеопределеноUndefinedНеопределено
NULLNullNULL — sorğu nəticələrində boş qiymət
Tarix həmişə vaxtı da saxlayır; boş tarix '00010101'-dir. Kodda kəsr hissəsi nöqtə ilə yazılır: 2.5.
1C
Количество = 12;             // Число
Цена = 2.5;                  // Число с дробной частью
Название = "Чай ""Гранулированный"""; // кавычки внутри удваиваются
ДатаПродажи = '20260927';    // Дата
Оплачено = Ложь;             // Булево
Скидка = Неопределено;

Если ТипЗнч(Цена) = Тип("Число") Тогда
    Сообщить("Цена - число");
КонецЕсли;
Сообщить(Название);
Gözlənilən nəticə
Цена - число
Чай "Гранулированный"
Dəyişənlər qiymət mənimsədiləndə yaranır. Тип("Число") tipin adını tip obyektinə çevirir.

Operatorlar

Hesab operatorları: + - * / və qalıq %. Sətirlər + ilə birləşdirilir; ədəd sətrə əlavə olunanda avtomatik sətrə çevrilir. Müqayisə: = <> < > <= >=. Məntiqi operatorlar: И, ИЛИ, НЕ (AND, OR, NOT). Diqqət: = həm mənimsətmə, həm də müqayisədir — mənanı kontekst müəyyən edir.

1C
А = 17;
Б = 5;
Сообщить(А + Б);
Сообщить(А * Б);
Сообщить(А % Б);        // остаток от деления
Сообщить(Цел(А / Б));   // целая часть
Сообщить("Salam, " + "Aysel" + "!");
Сообщить("Возраст: " + 15);
Gözlənilən nəticə
22
85
2
3
Salam, Aysel!
Возраст: 15

Sətirlər və tarixlər

FunksiyaNə edir
СтрДлина(С)sətrin uzunluğu
СокрЛП(С)əvvəldəki və sondakı boşluqları silir
ВРег(С) / НРег(С)böyük / kiçik hərflərə çevirir
Лев(С, N) / Прав(С, N) / Сред(С, Нач, N)soldan / sağdan / ortadan N simvol
СтрНайти(С, Подстрока)alt sətrin mövqeyi (1-dən), tapılmasa 0
СтрЗаменить(С, Что, НаЧто)bütün tapılanları əvəz edir
СтрРазделить(С, ",")sətri massivə bölür
СтрШаблон("%1 - %2", А, Б)%1, %2 yerinə qiymətlər qoyur
1C
Текст = СокрЛП("  Educora 1C  ");
Сообщить(СтрДлина(Текст));
Сообщить(ВРег(Текст));
Сообщить(Лев(Текст, 7));
Сообщить(СтрНайти(Текст, "1C"));
Сообщить(СтрЗаменить(Текст, " ", "_"));
Сообщить(СтрШаблон("%1: %2 уроков", Текст, 14));
Gözlənilən nəticə
10
EDUCORA 1C
Educora
9
Educora_1C
Educora 1C: 14 уроков

Tarixlə iş də sadədir. Tarixə ədəd əlavə etmək saniyə əlavə etmək deməkdir (bir gün = 86400 saniyə), iki tarixin fərqi də saniyələrlə olur. НачалоМесяца, КонецМесяца, НачалоДня, ДобавитьМесяц kimi funksiyalar dövrlərlə işi asanlaşdırır, Формат() isə tarixi və ədədi istədiyin görünüşə salır.

1C
Д = '20260927';
Сообщить(Формат(Д, "ДФ=dd.MM.yyyy"));
Сообщить(Формат(НачалоМесяца(Д), "ДФ=dd.MM.yyyy"));
Сообщить(Формат(КонецМесяца(Д), "ДФ=dd.MM.yyyy"));
Сообщить(Формат(ДобавитьМесяц(Д, 5), "ДФ=dd.MM.yyyy"));
Сообщить(Формат(Д + 86400 * 7, "ДФ=dd.MM.yyyy"));
Сообщить(('20261231' - Д) / 86400);   // дней до конца года
Сообщить(Формат(Год(Д), "ЧГ=0"));
Gözlənilən nəticə
27.09.2026
01.09.2026
30.09.2026
27.02.2027
04.10.2026
95
2026

Əsas fikirlər

  • Dil böyük-kiçik hərfə həssas deyil, operatorlar ; ilə bitir, bloklar açar sözlə bağlanır.
  • Primitiv tiplər: Число, Строка, Дата, Булево, Неопределено, NULL.
  • Tarix literalı: '20260927' (il, ay, gün); tarixə ədəd əlavə etmək saniyə əlavə etməkdir.
  • % — bölmədən qalıq, Цел() — tam hissə.
  • Ədədləri və tarixləri göstərmək üçün Формат() istifadə et, məsələn, "ЧГ=0", "ДФ=dd.MM.yyyy".

Özünü yoxla

10 sual. Hər düzgün cavab XP qazandırır.

1 / 10
Сообщить(17 % 5); nə çıxarır?