Имя: Пароль:
1C
 
Склонение ФИО в трудовом договоре УПП
0 Marry04
 
08.08.17
05:18
Добрый день! Подскажите пожалуйста, никак не доходит..В трудовом договоре фамилия ответственного по доверенности встает не в том падеже ( вместо Ивановой - Ивановы), имя и отчество правильно. ( В УПП указала в свойствах организации, и по идеи у всех сотрудников должно вставать одно и тоже) НО это свойство , как я заметила, встает верно только для сотрудников женского пола. Для мужского - фамилия по доверенности не та..Подскажите в чем дело может быть?

Если УниверсальныеМеханизмы.Просклонять(глЗначениеПеременной("глКомпонентаСклоненияФИО"), ФЛПоДов.Наименование, 2,Пол, РезультатСклонения) Тогда
                    ФЛПоДов_Падеж    = РезультатСклонения;
                КонецЕсли;
а вот сам метод:
Функция Просклонять(Компонента, Знач Фраза = "", Падеж = 1, Пол = Неопределено, Результат) Экспорт
    
    Если Компонента = Неопределено Тогда
        Возврат Ложь;
    КонецЕсли;
    
    Результат = "";
    
    МассивСтрок = ОбщегоНазначения.РазложитьСтрокуВМассивПодстрок(Фраза, " ");
    
    // Выделим первые 3 слова, так как компонента не умеет склонять фразу большую 3х символов
    НомерНесклоняемогоСимвола = 4;
    Для Номер = 1 По Мин(МассивСтрок.Количество(), 3) Цикл
        Если Не РегламентированнаяОтчетность.ФИОНаписаноВерно(МассивСтрок[Номер-1], Истина) Тогда
            НомерНесклоняемогоСимвола = Номер;
            Прервать;
        КонецЕсли;

        Результат = Результат + ?(Номер > 1, " ", "") + МассивСтрок[Номер-1];
    КонецЦикла;
    
    Если ПустаяСтрока(Результат) Тогда
        Результат = Фраза;
        Возврат Ложь;
    КонецЕсли;
    
    Попытка
        Если Пол = Перечисления.ПолФизическихЛиц.Мужской Тогда
            Результат = Компонента.Просклонять(Результат, Падеж, 1) + " ";
            
        ИначеЕсли Пол = Перечисления.ПолФизическихЛиц.Женский Тогда
            Результат = Компонента.Просклонять(Результат, Падеж, 2) + " ";
            
        Иначе
            Результат = Компонента.Просклонять(Результат, Падеж) + " ";
            
        КонецЕсли;
        
    Исключение
        Результат = Фраза;
        Возврат Ложь;
        
    КонецПопытки;
    
    // Остальные символы добавим без склонения
    Для Номер = НомерНесклоняемогоСимвола По МассивСтрок.Количество() Цикл
        Результат = Результат + " " + МассивСтрок[Номер-1];
    КонецЦикла;
    
    Результат = СокрЛП(Результат);
    
    Возврат Истина;
    
КонецФункции // Просклонять()
  *Отладчиком проходила ФИО изх свойство то вытиягивает - и пол определяет в женском числе.->>падеж 2.НО что-то не так.Помогите пожалуйста.
1 Штурман
 
08.08.17
05:50
(0) код в ТД ссылается именно на функцию склонения фио в универсальных механизмах?
2 Штурман
 
08.08.17
05:53
Иванова:

Иванова
Ивановой
Иванову

Все нормально склоняет, у вас фамилия какая там?
3 Marry04
 
08.08.17
05:59
(2) Брюханова . А склоняет как Брюхановы
4 Marry04
 
08.08.17
05:59
(1) да, на функции в модуле универсальных механизмов
5 Штурман
 
08.08.17
06:04
(3) у меня нормально выводится:

Брюханова
Брюхановой
Брюханову
6 Штурман
 
08.08.17
06:14
кстати, можно дополнительную форму отчета ТД подцепить и просклонять там, как вам нужнее, а функцию склонения взять из ЗУП например
7 1dvd
 
08.08.17
06:28
Смотри что у тебя в переменной пол
8 Marry04
 
08.08.17
06:39
(6) я  доп.печатной формой трудового договора и пользуюсь. в Пол - женский. Может все-таки метод не вызывать тот.а свой сделать )взять из зуп)
9 h-sp
 
08.08.17
06:55
в свое время столкнулся, склоняет Дубина как Дубины, Дубине.
10 Marry04
 
08.08.17
07:30
(9) и как решили проблему?
11 Штурман
 
08.08.17
08:15
(8) так я вам и говорю - берите функцию склонений из ЗУП и вставляйте в вашу дополнительную печатную форму.
Склонять нормально будет, см. пример в (5)
12 h-sp
 
08.08.17
08:15
(10) никак. Оставили до следующего раза.
13 h-sp
 
08.08.17
08:18
(12) + это ЗУП был. Неправильно склоняет, например Левина. Дательный падеж, кому: Левине.
14 Штурман
 
08.08.17
08:21
(13) из ЗУП:

Левина
Левины
Левине
Левину
Левиной
Левине

что я делаю не так?