Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
22 ноя 2024, 11:15

Помогите со склонением

Автор Алексей_1985_06, 15 мар 2021, 19:47

0 Пользователей и 1 гость просматривают эту тему.

Алексей_1985_06

Всем добрый вечер! Подскажите, что не так делаю? Необходимо при выборе реквизита (лицо издавшее приказ) просклонять его в родительном падеже. Т.е в справочнике "ДолжностныеЛица" запись например: Начальник отдела, а в РС(реквизит "Приказ") нужно при выборе сделать чтоб была запись: НачальникА отдела.

Из общего модуля вызываю функцию:
&НаСервере
Функция ПолучитьСклонение(Реквизит,Падеж)Экспорт
Если 
Падеж = "Именительный" Тогда
Склонение = ПолучитьСклоненияСтроки(Реквизит, "Л=ru_RU", "ПД=Именительный");
Результат = Склонение [0];
ИначеЕсли
Падеж = "Родительный" Тогда
Склонение = ПолучитьСклоненияСтроки(Реквизит, "Л=ru_RU", "ПД=Родительный");
Результат = Склонение [0];
ИначеЕсли
Падеж = "Дательный" Тогда
Склонение = ПолучитьСклоненияСтроки(Реквизит, "Л=ru_RU", "ПД=Дательный");
Результат = Склонение [0];
ИначеЕсли
Падеж = "Винительный" Тогда
Склонение = ПолучитьСклоненияСтроки(Реквизит, "Л=ru_RU", "ПД=Винительный");
Результат = Склонение [0];
ИначеЕсли
Падеж = "Творительный" Тогда
Склонение = ПолучитьСклоненияСтроки(Реквизит, "Л=ru_RU", "ПД=Творительный");
Результат = Склонение [0];
ИначеЕсли
Падеж = "Предложный" Тогда
Склонение = ПолучитьСклоненияСтроки(Реквизит, "Л=ru_RU", "ПД=Предложный");
Результат = Склонение [0];
КонецЕсли;

Возврат Результат;
КонецФункции


Процедура в модуле формы РС (ЗДЕСЬ И НЕ ПОЛУЧАЕТСЯ :dfbsdfbsdf:):
&НаКлиенте
Процедура ПриказОбработкаВыбора(Элемент, ВыбранноеЗначение, СтандартнаяОбработка)

Запись.Приказ = ВызовСервера.ПолучитьСклонение(ВыбранноеЗначение,"Родительный");

КонецПроцедуры


Подскажите пжл, что надо допилить?

DNN

Можно попробовать просклонять средствами платформы https://program1s.com/rabota-so-strokami/

LexaK

все отлично работает, (но не забываем про версии и совместимость платформы, так как доступно с 8.3.13)
вот результат работы, пример

рез = ПолучитьСклоненияСтроки("Директор", "Л=ru_RU", "ПД=Дательный");
сообщить(рез[0]); //возвращает массив, берем первый элемент
//Директору

рез = ПолучитьСклоненияСтроки("Директор", "Л=ru_RU", "ПД=Родительный");
сообщить(рез[0]); //возвращает массив, берем первый элемент
//Директора



если помогло нажмите: Спасибо!

Алексей_1985_06

Цитата: LexaK от 16 мар 2021, 10:31
все отлично работает, (но не забываем про версии и совместимость платформы, так как доступно с 8.3.13)
вот результат работы, пример

рез = ПолучитьСклоненияСтроки("Директор", "Л=ru_RU", "ПД=Дательный");
сообщить(рез[0]); //возвращает массив, берем первый элемент
//Директору

рез = ПолучитьСклоненияСтроки("Директор", "Л=ru_RU", "ПД=Родительный");
сообщить(рез[0]); //возвращает массив, берем первый элемент
//Директора

LexaK приветствую Вас! Да, все работает хорошо для "строки", у меня "загвоздка" в следующем, тип реквизита регистра сведений: СправочникСсылка.ДолжностныеЛица, (начальниК ....) при выборе значения в этом реквизите необходимо чтоб было: начальникА... Подскажите пожалуйста, как лучше сделать такую штуку?

LexaK

вот, блин, где вы такие задачи берете? или откуда такой подход к их решению?
запишите пару постулатов в свою базу навыков
1.все объекты в базе данных хранятся в нейтральном виде, настоящее время, именительный падеж и т.д.
ваш регистр сведений - это хранение данных!!!! не надо в нем ни чего склонять!!!!!

и только тогда когда вы что-то печатаете или выгружаете в документы или отправляете по почте (формируете текст, вложение,...)
вот только тогда склоняйте и спрягайте сколько вам влезет, но уже не сам объект/элемент/ссылку
а его наименование!!!

(из вашего описания даже не понятно, почему при выборе должности, должно измениться ее представление/склонение)
если помогло нажмите: Спасибо!

Алексей_1985_06

Цитата: LexaK от 16 мар 2021, 17:42
вот, блин, где вы такие задачи берете? или откуда такой подход к их решению?
запишите пару постулатов в свою базу навыков
1.все объекты в базе данных хранятся в нейтральном виде, настоящее время, именительный падеж и т.д.
ваш регистр сведений - это хранение данных!!!! не надо в нем ни чего склонять!!!!!

и только тогда когда вы что-то печатаете или выгружаете в документы или отправляете по почте (формируете текст, вложение,...)
вот только тогда склоняйте и спрягайте сколько вам влезет, но уже не сам объект/элемент/ссылку
а его наименование!!!

(из вашего описания даже не понятно, почему при выборе должности, должно измениться ее представление/склонение)

LexaK Спасибо Вам большое за помощь, пока учусь и набираюсь знаниями.... Очень благодарен за Ваши советы!

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск