Список форумов BOSSForum.RU - Форум. БОСС-Кадровик
Независимый форум, посвященный системе БОСС-Кадровик
и всему, что с ней связано
 FAQFAQ   ПоискПоиск   ПользователиПользователи   ГруппыГруппы   РегистрацияРегистрация 
 ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 

Склоненение ФИО в БОССе
На страницу 1, 2  След.
 
Начать новую тему   Ответить на тему    Список форумов BOSSForum.RU - Форум. БОСС-Кадровик -> X-язык
Предыдущая тема :: Следующая тема  
Автор Сообщение
svd_key



Зарегистрирован: 28.04.2009
Сообщения: 10

СообщениеДобавлено: Вт Апр 28, 2009 14:02    Заголовок сообщения: Склоненение ФИО в БОССе Ответить с цитатой

Подскажите пожалуйста, есть ли в БОССе функция для склонения ФИО для ее использования в SELECTах. Question
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Vitaly
Большой шоколадный орден
Большой шоколадный орден


Зарегистрирован: 29.07.2008
Сообщения: 281
Откуда: Санкт-Петербург

СообщениеДобавлено: Ср Апр 29, 2009 10:58    Заголовок сообщения: Ответить с цитатой

А зачем использовать склонение в селектах, если не секрет ?
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
svd_key



Зарегистрирован: 28.04.2009
Сообщения: 10

СообщениеДобавлено: Ср Апр 29, 2009 11:14    Заголовок сообщения: Ответить с цитатой

Например, формируется приказ (не стандартный), нужен список ФИО в дательном (или другом) падеже. Сотрудники стандартно имеют именительный падеж в табл. CARD. Желательно в тексте SELECTа вставить функцию и получить желаемый набор данных.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Eng
Site Admin


Зарегистрирован: 13.05.2008
Сообщения: 160

СообщениеДобавлено: Чт Апр 30, 2009 12:23    Заголовок сообщения: Ответить с цитатой

Кто там говорил, что сиквел лучше оракла? Very Happy
Ну а если серьезно, можно использовать UDF падеж, строка;
Но в селекте такая конструкция не работает.
Соответственно для того, чтобы использовать склоненные фио в селекте потребуется написать скан, в нем создать временную табличку с фио в нужном падеже, а потом ее использовать в отчете...
Вот пример программы для произвольного отчета:
Код:

Local fio = '';

if object_id('tempdb..#card_dat') IS NOT NULL  THEN DROP TABLE #card_dat;

CREATE TABLE "#card_dat" (auto_card INTEGER,
                      fdat varchar (250));

scan @ss select auto_card,  card.Name + ' ' + Name_i + ' ' + Name_o, (CASE WHEN Card.Sex = 0 then 'М' else 'Ж' END) from card
execute {
      let fff = @ss:3+' '+@ss:2;
      UDF dat fff;
       insert into #card_dat (auto_card, fdat)
            select @ss:1, fio[''];
      };

browser {select * from #card_dat};

Приведенный код работает около 3-х секунд для 200 человек... Если у Вас значительно больше работников и такая производительность Вас не устраивает, наверно имеет смысл создать постоянную табличку склонений заполнить ее первый раз сканом, а потом добавить пару строчек в создание личной карточки, чтобы при создании ЛК Ваша табличка заполнялась...


Последний раз редактировалось: Eng (Чт Апр 30, 2009 12:28), всего редактировалось 1 раз
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Eng
Site Admin


Зарегистрирован: 13.05.2008
Сообщения: 160

СообщениеДобавлено: Чт Апр 30, 2009 12:27    Заголовок сообщения: Ответить с цитатой

И еще немного из документации:

Цитата:
UDF
Назначение:

данное ключевое слово предлагает языковое рассширение функциональности (определяемые пользователем процедура). Примером является Z-язык. Вызов этого языка происходит следующим образом:

UDF z или UDF Z

Описание z-языка выходит за рамки данного описания.

Дополнительно обрабатываются переключатели.
Склонение по падежам.
VIN (винительный)
DAT (дательный)
ROD (родительный)
TVO (творительный)
PRE (предложный)

Вариант вызова:
UDF падеж, строка;

Значения параметров для данных переключателей:

строка - исходная строка вида "П фамилия имя отчество", где П задает род - М или Ж, разделенные пробелами или запятыми.

Возвращаемое значение помещается в переменную FIO. Также можно вернуть значение вызовом @@{UDF…}.

Пример:
UDF dat М Иванов Иван Иванович;
Return Fio;

-- возвращает Иванову Ивану Ивановичу
--или
return @@{UDF dat М Иванов Иван Иванович};
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
svd_key



Зарегистрирован: 28.04.2009
Сообщения: 10

СообщениеДобавлено: Чт Апр 30, 2009 12:30    Заголовок сообщения: Ответить с цитатой

Спасибо. Smile
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Eng
Site Admin


Зарегистрирован: 13.05.2008
Сообщения: 160

СообщениеДобавлено: Чт Апр 30, 2009 12:56    Заголовок сообщения: Ответить с цитатой

Пожалуйста Smile
Забыл еще написать, что есть X процедурки типа pr_dat_padej, pr_rod_padej им на входе можно давать только auto_card, все остальное они сами найдут, но не уверен, что будет быстрее работать...
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
svd_key



Зарегистрирован: 28.04.2009
Сообщения: 10

СообщениеДобавлено: Чт Апр 30, 2009 13:14    Заголовок сообщения: Ответить с цитатой

Если бы эти процедурки были хранимыми процедурами на сервере, то цены бы им не было. Вопрос как раз и заключается в том, чтобы можно было делать запросы к базе данных на SQLSERVER из других приложений.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
svd_key



Зарегистрирован: 28.04.2009
Сообщения: 10

СообщениеДобавлено: Чт Апр 30, 2009 13:24    Заголовок сообщения: Ответить с цитатой

Для получения падежей наименований подразделений, например, есть хранимая функция на сервере.
К примеру:
SELECT Lite.dbo.UDF_padeg(Struct_Name,2) as struct_name_r FROM Lite.dbo.card

В зависимости от 2-го параметра получаем наименования подразделений в указанном падеже.

Для ФИО сотрудников она к сожалению не подходит (работает не корректно).
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Eng
Site Admin


Зарегистрирован: 13.05.2008
Сообщения: 160

СообщениеДобавлено: Чт Апр 30, 2009 13:59    Заголовок сообщения: Ответить с цитатой

Для доступа из других приложений ИМХО стоит сделать отдельную табличку склонений и на прямую к ней обращаться. В форме hr_dlg_card (личная карточка) внести изменения в триггеры insert, update, delete для работы с этой табличкой.
Либо пересмотреть необходимость использования ФИО в других падежах Smile
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Alexander



Зарегистрирован: 18.10.2012
Сообщения: 37

СообщениеДобавлено: Вт Сен 13, 2016 18:12    Заголовок сообщения: Ответить с цитатой

Подниму опять тему склонений.
UDF DAT/VIN/...
Если в отчестве 2 слова, ФИО склоняется неверно,
запись в Сложные варианты склонения не помогает.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
RVV
Большой шоколадный орден
Большой шоколадный орден


Зарегистрирован: 14.01.2010
Сообщения: 449

СообщениеДобавлено: Ср Сен 14, 2016 12:09    Заголовок сообщения: Ответить с цитатой

Отчеств у иностранцев нет
А у Россиян отчетсво одно
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
matchk



Зарегистрирован: 18.05.2015
Сообщения: 188

СообщениеДобавлено: Чт Сен 15, 2016 07:06    Заголовок сообщения: Ответить с цитатой

RVV писал(а):
Отчеств у иностранцев нет

А у Россиян отчетсво одно


Вы по поводу одного слова в отчестве у россиян явно погорячились.
Например, а нас работает гражданин РФ, который родился в России.

Имя "Мамедали"
Отчество "Ибрагим оглы"
И поверьте, два слова в отчестве не такая уж редкость.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
Volod
Большой шоколадный орден
Большой шоколадный орден


Зарегистрирован: 11.02.2015
Сообщения: 252

СообщениеДобавлено: Чт Сен 15, 2016 09:18    Заголовок сообщения: Ответить с цитатой

У нас 56 кызы все с паспортами гражданок РФ. -)

В тюркских отчествах слова "оглы" и "кызы" являются элементами, образующими отчество, подобно русским -ович, евич, -овна, -евна.
оглы (улы, уулу) для сыновей и кызы (гызы) для дочерей (слова сын и дочь (девочка) в притяжательной форме 3 лица единственного числа).
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
DUCKKK
Большой шоколадный орден
Большой шоколадный орден


Зарегистрирован: 16.09.2009
Сообщения: 1681

СообщениеДобавлено: Чт Сен 15, 2016 11:08    Заголовок сообщения: Ответить с цитатой

Можно привести пример неправильного склонения после занесения в справочник сложных ФИО?
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
Показать сообщения:   
Начать новую тему   Ответить на тему    Список форумов BOSSForum.RU - Форум. БОСС-Кадровик -> X-язык Часовой пояс: GMT + 4
На страницу 1, 2  След.
Страница 1 из 2

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах


Pоwerеd by рhpВB © 2001, 2005 рhpВB Grouр
Русская поддержка phрВB
Rambler's Top100 Рейтинг@Mail.ru Список форумов BOSSForum.RU