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

Нестандартная задача(помогите).

Автор djvjv, 05 дек 2012, 16:00

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

djvjv

Как склонять ФИО в 1с?
Есть ли какая то стандартная возможность или процедуру(функцию) писать какую-то надо?
Помогите, а то я про то что это сделать можно - впервые слышу. Жду, срочно надо.
Через 30 минут ответ дать надо!

djvjv

Цитата: djvjv от 05 дек 2012, 16:00
Как склонять ФИО в 1с?
Есть ли какая то стандартная возможность или процедуру(функцию) писать какую-то надо?
Помогите, а то я про то что это сделать можно - впервые слышу. Жду, срочно надо.
Через 30 минут ответ дать надо!
Что и никто решения проблемы не знает?

MuI_I_Ika

Берете любую типовую конфигурацию. Берете из нее компоненту NameDecl.dll. И вперед.

djvjv

Цитата: MuI_I_Ika от 05 дек 2012, 16:23
Берете любую типовую конфигурацию. Берете из нее компоненту NameDecl.dll. И вперед.
и что с этой компонентой по том делать? какой-то код писать?

MuI_I_Ika

Вот примерный код:

Попытка
  ЗагрузитьВнешнююКомпоненту("NameDecl.dll");
  Результат=Новый("AddIn.NameDeclension");
Исключение
  Сообщить("Ошибка загрузки внешней компоненты для склонения ФИО! Функции склонения будут недоступны!" + ОписаниеОшибки());
КонецПопытки;

ФИО=Объект.ФИО;
Падеж=2;
Объект.ФИОродительный=Результат.Просклонять(ФИО, Падеж);
Падеж=3;
Объект.ФИОдательный=Результат.Просклонять(ФИО, Падеж);


Но строго говоря, тот же код можно взять в любой типовой конфигурации.

djvjv

Цитата: MuI_I_Ika от 05 дек 2012, 16:39
Вот примерный код:

Попытка
  ЗагрузитьВнешнююКомпоненту("NameDecl.dll");
  Результат=Новый("AddIn.NameDeclension");
Исключение
  Сообщить("Ошибка загрузки внешней компоненты для склонения ФИО! Функции склонения будут недоступны!" + ОписаниеОшибки());
КонецПопытки;

ФИО=Объект.ФИО;
Падеж=2;
Объект.ФИОродительный=Результат.Просклонять(ФИО, Падеж);
Падеж=3;
Объект.ФИОдательный=Результат.Просклонять(ФИО, Падеж);


Но строго говоря, тот же код можно взять в любой типовой конфигурации.
1.где мне взять NameDecl.dll.? Типовая конфа есть, а NameDecl.dll. нет.
2. Где взять код в типовой конфе.
3. У меня конфа УТ 10.3

MuI_I_Ika


djvjv

Цитата: MuI_I_Ika от 05 дек 2012, 17:36
На диске ИТС должна быть
dll нашел, помоги теперь с кодом. А то под вечер голова отказывает работать!
Я конечно могу по инету полазить но уйдут много времени, даже мыслей нет в какую сторону думать!

MuI_I_Ika

Тот что я привел не работает?

djvjv

MuI_I_Ika, Ваш код править надо. Я во внешней печатной форме это делаю.
У меня кстати таких реквизитов нет даже.
Фио - у меня реквизит ответственный.

Я воспользовался кодом и у меня выдало ошибку:
1.Не удалось загрузить внешнюю компоненту
2.{ВнешняяОбработка.ТОРГ12_Свернутая.МодульОбъекта(625)}: Значение не является значением объектного типа (Просклонять)

Сам код после которого это вылезло.
РезультатСклонения = Объект.Просклонять(ФИО, Падеж);

Компонента = "C:\Program Files\1cv81\NameDecl.dll";
Попытка
  // Загружаем внешнюю компоненту
  ЗагрузитьВнешнююКомпоненту(Компонента);
  Объект = Новый("AddIn.NameDeclension");
Исключение
  // Не удалось выполнить операции с внешней компонентой
  Сообщить("Не удалось загрузить внешнюю компоненту);
КонецПопытки;
// Определяем ФИО сотрудника, которые нужно просклонять
ФИО = "Иванов Иван Иванович";
// Задаем требуемый падеж, к примеру дательный
Падеж = 3;
// Получаем результат склонения
РезультатСклонения = Объект.Просклонять(ФИО, Падеж);
// Возвращаемое значение: РезультатСклонения = Иванову Ивану Ивановичу

Теги:

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

Рейтинг@Mail.ru

Поиск