Склонение по падежам на казахском

4.00 

Простой алгоритм с правилами склонения на казахском языке по последней и предпоследней букве слова. Нужен, т.к. 1С не поддерживает склонение на казахском языке. В архиве – полный список заполнения регистра сведений. Добавляете эту функцию для получения запросом нужного окончания по предпоследней и последней букве слова.

Описание

Добавляете в конфигурацию регистр сведений со следующей структурой:

 

В нужные места вставляете получение функции, которая принимает на вход строку и падеж, а затем возвращает строку с добавленным окончанием в зависимости от падежа и последних букв строки.

Функция ПолучитьСклонениеКаз(Строка, Падеж)

    Последние2БуквыФИО = Прав(Строка,2);
    ПоследняяБуква = Прав(Последние2БуквыФИО,1);
    ПредпоследняяБуква = Лев(Последние2БуквыФИО,1);

    //Получить по последним 2 буквам
    Запрос = Новый Запрос;
    Запрос.УстановитьПараметр(”Падеж”, Падеж);
    Запрос.УстановитьПараметр(”ПоследняяБуква”, ПоследняяБуква);
    Запрос.УстановитьПараметр(”ПредпоследняяБуква”, ПредпоследняяБуква);
    Запрос.Текст =
    ”ВЫБРАТЬ
    | mega_ПравилаСклонения.Окончание КАК Окончание
    ИЗ
    | РегистрСведений.mega_ПравилаСклонения КАК mega_ПравилаСклонения
    ГДЕ
    | mega_ПравилаСклонения.Падеж = &Падеж
    | И mega_ПравилаСклонения.ПредпоследняяБуква ПОДОБНО “”%”” + &ПредпоследняяБуква + “”%””
    | И mega_ПравилаСклонения.ПоследняяБуква ПОДОБНО “”%”” + &ПоследняяБуква + “”%””;
    
    Результат = Запрос.Выполнить();
    Выборка = Результат.Выбрать();
    Если Выборка.Следующий() Тогда
        Возврат Строка + Выборка.Окончание;
    КонецЕсли;

    //Получить по последней букве
    Запрос = Новый Запрос;
    Запрос.УстановитьПараметр(”Падеж”, Падеж);
    Запрос.УстановитьПараметр(”ПоследняяБуква”, ПоследняяБуква);
    Запрос.Текст =
    ”ВЫБРАТЬ
    | mega_ПравилаСклонения.Окончание КАК Окончание
    ИЗ
    | РегистрСведений.mega_ПравилаСклонения КАК mega_ПравилаСклонения
    ГДЕ
    | mega_ПравилаСклонения.Падеж = &Падеж
    | И mega_ПравилаСклонения.ПоследняяБуква ПОДОБНО “”%”” + &ПоследняяБуква + “”%””;
    
    Результат = Запрос.Выполнить();
    Выборка = Результат.Выбрать();
    Если Выборка.Следующий() Тогда
        Возврат Строка + Выборка.Окончание;
    КонецЕсли;

    Возврат Строка;

КонецФункции

Во вложении – Excel-файл для заполнения регистра. Позволяет получать окончание по предпоследней и последней букве слова. Структура файла следующая:

Падеж Предпоследняя буква Последняя буква Окончание Правило
БарысСептік |1; }7; w9; і е э и б в г u1; д к u9; п т ф y1; ц ч ш щ ке глухие / (б в г д)
БарысСептік |1; }7; w9; і е э и я ж з л м н v7; р ю у ге Все, кроме
БарысСептік а о x1; ы у б в г u1; д к u9; п т ф y1; ц ч ш щ u9;а глухие / (б в г д)
БарысСептік а о x1; ы у ж з л м н v7; р ю у u1;а Все, кроме

 

 

Отзывы

Отзывов пока нет.

Будьте первым, кто оставил отзыв на “Склонение по падежам на казахском”

Информация о продавце

  • Название магазина: Infostart download
  • Продавец Infostart download
  • Адрес: Королёв, ул. Комсомольская, д. 7
    Королев
    Московская область
    141071
    Россия
  • Рейтинг отсутствует!