AXForum  
Вернуться   AXForum > Microsoft Dynamics NAV > NAV: Программирование
NAV
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск Все разделы прочитаны

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 12.10.2004, 17:21   #1  
Polar is offline
Polar
Участник
Аватар для Polar
 
281 / 74 (3) ++++
Регистрация: 28.07.2003
Адрес: Ростов-на-Дону
Склонение ФИО по падежам
Бухгалтерия требовала склонение ФИО в доверенностях и накладных.
Пришлось написать кодеюнит для этого дела. Если кому нужен...
Работает почти во всех случаях
(у меня не получилось с Сулейман-Амрах-Оглы только
архив 6 kb. (номер кодеюнита 52721, триггеры лучше добавить в
Localization Management)

Спасибо тоже не будет лишним...
Заодно потестируете...
Вложения
Тип файла: rar padej.rar (5.6 Кб, 550 просмотров)
__________________
Удачи!
Старый 12.10.2004, 17:38   #2  
dd
Гость
 
n/a
Polar, спасибо!
Была у меня идея тоже подобное написать , но зарубил за недостатком времени.
Старый 12.10.2004, 17:50   #3  
Polar is offline
Polar
Участник
Аватар для Polar
 
281 / 74 (3) ++++
Регистрация: 28.07.2003
Адрес: Ростов-на-Дону
если какие косяки... сообщайте обязательно
__________________
Удачи!
Старый 12.10.2004, 21:47   #4  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,127 / 4006 (192) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Спасибо, Polar.
Старый 14.10.2004, 16:01   #5  
tyrex is offline
tyrex
Участник
Аватар для tyrex
Лучший по профессии 2009
 
15 / 10 (1) +
Регистрация: 21.07.2003
Респект!
Старый 14.10.2004, 16:14   #6  
tyrex is offline
tyrex
Участник
Аватар для tyrex
Лучший по профессии 2009
 
15 / 10 (1) +
Регистрация: 21.07.2003
В дополнение для определения пола по имени предлагаю таблицу
Вложения
Тип файла: zip names.zip (11.1 Кб, 308 просмотров)
Старый 19.10.2004, 15:56   #7  
Uni_DeMoN is offline
Uni_DeMoN
Участник
 
6 / 10 (1) +
Регистрация: 19.10.2004
Адрес: Moscow
есть несколько вопросов:
1.вин. падеж - Дацковских (Серых) Максим Викторович - вроде неправильно склоняет
2.Альбедиль вроде тоже неправильно
а так конечно крутой код.
спасибо.
Старый 19.10.2004, 18:50   #8  
Polar is offline
Polar
Участник
Аватар для Polar
 
281 / 74 (3) ++++
Регистрация: 28.07.2003
Адрес: Ростов-на-Дону
Вообще -то задача была только для дательного падежа , доверенности выдавать.
Просто алгоритм подвернулся для всех падежей, ну вот чтобы два раза не бегать и сделал.

Там еще и с творительным не все в порядке.
Например фамилия Камин (Тв. П. кем? Каминым)
а он склоняет как слово "камином" вроде все правильно, да не правильно.
Там функция PadegC для слов которая надо будет переделать под фамилии конкретно.

P.S. А вообще для того и открытый код. Чтобы его доделывали.
Разве все не так в Navision или Axapta ?
__________________
Удачи!
Старый 20.10.2004, 14:43   #9  
Uni_DeMoN is offline
Uni_DeMoN
Участник
 
6 / 10 (1) +
Регистрация: 19.10.2004
Адрес: Moscow
Цитата:
Изначально опубликовано Polar
Вообще -то задача была только для дательного падежа , доверенности выдавать.
Просто алгоритм подвернулся для всех падежей, ну вот чтобы два раза не бегать и сделал.

Там еще и с творительным не все в порядке.
Например фамилия Камин (Тв. П. кем? Каминым)
а он склоняет как слово "камином" вроде все правильно, да не правильно.
Там функция PadegC для слов которая надо будет переделать под фамилии конкретно.

P.S. А вообще для того и открытый код. Чтобы его доделывали.
Разве все не так в Navision или Axapta ?

согласен с этим, уже переделал.
спасибо ещё раз за код.
Старый 20.10.2004, 14:46   #10  
Polar is offline
Polar
Участник
Аватар для Polar
 
281 / 74 (3) ++++
Регистрация: 28.07.2003
Адрес: Ростов-на-Дону
Цитата:
Изначально опубликовано Uni_DeMoN



согласен с этим, уже переделал.
спасибо ещё раз за код.
Ну и....
А поделиться?
Заранее благодарю
__________________
Удачи!
Старый 21.10.2004, 12:49   #11  
johndoe is offline
johndoe
Участник
 
88 / 10 (1) +
Регистрация: 15.10.2004
Адрес: Москва
!
Цитата:
Изначально опубликовано Polar


Ну и....
А поделиться?
Заранее благодарю
Предлагаю еще один небольшой тест для кода Polar'а и Uni_DeMoN'а функции PadegC: предположим, что фамилия заканчивается на "-ко" и принадлежит женщине. Нужный падеж - родительный (остальные пока не важно). Если сработает - thanks a million - выкладывайте.
Старый 21.10.2004, 13:13   #12  
Polar is offline
Polar
Участник
Аватар для Polar
 
281 / 74 (3) ++++
Регистрация: 28.07.2003
Адрес: Ростов-на-Дону
Цитата:
Изначально опубликовано johndoe


Предлагаю еще один небольшой тест для кода Polar'а и Uni_DeMoN'а функции PadegC: предположим, что фамилия заканчивается на "-ко" и принадлежит женщине. Нужный падеж - родительный (остальные пока не важно). Если сработает - thanks a million - выкладывайте.
так это как раз и работает. Только надо использовать функцию padeg.
а фамилии на -ко не склоняются вроде в русском языке?

P.S. придумал тоже - женщин склонять в родительный, да еще и на "-ко"
__________________
Удачи!
Старый 21.10.2004, 14:40   #13  
maxsmirnov is offline
maxsmirnov
экс-модератор
 
268 / 25 (1) +++
Регистрация: 08.07.2003
Адрес: Москва
Цитата:
Изначально опубликовано Polar
Например фамилия Камин (Тв. П. кем? Каминым)
а он склоняет как слово "камином" вроде все правильно, да не правильно.
в славянских языках для существительных определена категория одушевленности/неодушевленности, и она влияет на склонение.

жалко что кода вашего я не вижу, навижына у меня нету, а ни ноутпадом, ни аксаптой ваш коудъюнит не открыть
а то-б, м.б., дал более практические рекомендации, да и вообще посмотреть интересно.
не вышлите по адресу m.smirnov(a)tz.ru ?
Старый 21.10.2004, 15:20   #14  
komar is offline
komar
Шаман форума
Аватар для komar
Ex AND Project
 
5,571 / 600 (32) +++++++
Регистрация: 24.05.2002
немножко предметной области
http://www.yandex.ru/yandsearch?text...E0%E2%E8%EB%E0
Старый 21.10.2004, 16:57   #15  
Polar is offline
Polar
Участник
Аватар для Polar
 
281 / 74 (3) ++++
Регистрация: 28.07.2003
Адрес: Ростов-на-Дону
Цитата:
Изначально опубликовано maxsmirnov


в славянских языках для существительных определена категория одушевленности/неодушевленности, и она влияет на склонение.

жалко что кода вашего я не вижу, навижына у меня нету, а ни ноутпадом, ни аксаптой ваш коудъюнит не открыть
а то-б, м.б., дал более практические рекомендации, да и вообще посмотреть интересно.
не вышлите по адресу m.smirnov(a)tz.ru ?
выгрузил в текстовый файл. правда в дос кодировке.

А может вообще общими силами довести алгоритм до нормального состояния?
Я в принципе могу и на аксапту его перенести в свободное от работы время.
Вложения
Тип файла: txt padej.txt (8.2 Кб, 461 просмотров)
__________________
Удачи!
Старый 21.10.2004, 17:25   #16  
johndoe is offline
johndoe
Участник
 
88 / 10 (1) +
Регистрация: 15.10.2004
Адрес: Москва
Цитата:
Изначально опубликовано Polar


так это как раз и работает. Только надо использовать функцию padeg.
а фамилии на -ко не склоняются вроде в русском языке?

P.S. придумал тоже - женщин склонять в родительный, да еще и на "-ко"
Не всем же доверенности выдавать. Можно и приглашения рассылать . Функция padeg работает замечательно. Респект!!!

Но: а если я отчества не знаю? или фамилии? Собрать из отдельных слов не удается (пока?), вот и пришлось padegC "припахать"...
Старый 21.10.2004, 17:31   #17  
johndoe is offline
johndoe
Участник
 
88 / 10 (1) +
Регистрация: 15.10.2004
Адрес: Москва
Цитата:
Изначально опубликовано maxsmirnov


в славянских языках для существительных определена категория одушевленности/неодушевленности, и она влияет на склонение.
Честно говоря, всегда думал, что Чарльз Дарвин был живым человеком

Тут дело не в одушевленности, а в принадлежности фамилии, условно говоря, к числу "русских" (в отличие от иностранных). Тогда человек по фамилии, напр., Скалкин (рус.) и Слаткин (амер.) будут склоняться по-разному (тв. с [Иваном] Скалкиным, но: с [Джоном] Слаткином)
Старый 25.10.2004, 09:58   #18  
Uni_DeMoN is offline
Uni_DeMoN
Участник
 
6 / 10 (1) +
Регистрация: 19.10.2004
Адрес: Moscow
Цитата:
Изначально опубликовано Polar


Ну и....
А поделиться?
Заранее благодарю


сорри за поздний ответ, раньше не мог...

итак по порядку:
1). я не сказал что именно я переделал - каюсь: сначала я начал было подгонять для дат. падежа, но тут почему-то быстро вспомнил своего препода в универе, грозного дяденьку Мазного (создавшего кстати язык фортран для БЕСМ). Когда то он нас окончательно запарил с ЛОИ (лингвистические основы информатики) и мы вынуждены были писать переводчик на основе тезауруса и предикатных функций. Надо сказать, что переводчик получился на славу - гонял туда-сюда (с англ. на русск. и обратно) всё,чё ему скажешь.
2)1- это к слову так получилось а собственно что я хочу сазать -
POLAR - твой код и алгоритмы - это конечно что-то!!!
Respect.
Ты хотел творит. падеж и ты его в принципе сделал, хотя...и тут тоже найдётся свой нюанс, но если ты и многие люди хотят большего, это уже другая история, тут одним проганьем не решить проблемы...
Это подход творческий, и увлечься здесь крайне легко, забыв, конечную преследуемую цель... и соответственно результат будет уже не тот.
Я просто хочу сказать, что запрограммировать можно всё, но учесть все нюансы в таких серьёзных вещах, не сможет, наверное, никто.
Придёт например, Саша Лоэ, и скажет а пачему меня так обозвали

Так вот, я предлагаю лучше перейти немного на другой уровень, точнее на тот, с которым я лично уже сталкивался на практике, а именно:
самообучающуюся систему на основе тезауруса. И здесь уже приложить весь свой бесспорный талант.
Это, на мой взгляд, единственный выход избежать неопределённости
Вот то что пришло сразу на ум:
берётся электронный справочник ФИО (можно хоть по всему миру - главное чтобы кодировки нужные нашлись - вот было бы прикольно)
разбивается и закачивается датапортом по таблицам.
3 таблицы, по 5 полей в каждой (можно конечно и увеличить).
Имя, Фамилия, Отчество.
Им.п., род. п., дат. п., вин. п., твор. п., предл. п..
Кодюнит делает выборку по этим таблицам в целях поиска уникальной записи (если не находит слово, выдаётся диалог. окно с занесением туда по падежам).
В принципе так и переводчик мона накалякать, было бы желание.
Старый 25.10.2004, 11:43   #19  
Polar is offline
Polar
Участник
Аватар для Polar
 
281 / 74 (3) ++++
Регистрация: 28.07.2003
Адрес: Ростов-на-Дону
2 Uni_DeMoN

вообще то лучше сделать таблицу исключений , которые не поддаются общим правилам склонения. (таблица со всеми фамилиями - ты размер ее представь).
И походу возникновения , заносить новые данные.
__________________
Удачи!
Старый 25.10.2004, 13:34   #20  
Uni_DeMoN is offline
Uni_DeMoN
Участник
 
6 / 10 (1) +
Регистрация: 19.10.2004
Адрес: Moscow
Цитата:
Изначально опубликовано Polar
2 Uni_DeMoN

вообще то лучше сделать таблицу исключений , которые не поддаются общим правилам склонения. (таблица со всеми фамилиями - ты размер ее представь).
И походу возникновения , заносить новые данные.
интересно и по какому признаку эти исключения будут строиться?
как будет система определить, исключение это или нет?
если хотите сделать универсальную систему, придётся постоянно код дописывать до следующей грабли.
зы а размеры таблиц по моему вполне доступные для работы
хотя конечно надо попробовать как это на навижине получится...
в нетипизированном файле через дельфи запись хваталась на ура и мигнуть не успеешь...
 

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 16:19.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.