Группа: Местный
Сообщений: 153
Спасибо сказали: 81 раз
Рейтинг: 0
Всем привет. Есть у меня давняя нерешенная проблема. В таблице значений есть колонка со строчными значениями на украинском языке, допустим фамилии сотрудников. При сортировке строк таблицы получаем "Є Ї І А Б В Г Д" и т.д., а надо бы "А Б В Г Д Є І Ї". Windows XP SP3, платформа 7.70.027 Региональные установки в системе - укр Порядок сортировки в базе - укр В конце поста даю ссылку на пример обработки, сами попробуйте. Есть ли какое-то простое решение этой проблемы? Надеюсь на коллективный разум.
[необходимо зарегистрироваться для просмотра ссылки]
Группа: Команда
Сообщений: 3568
Из: Киев
Спасибо сказали: 1434 раз
Рейтинг: 0
Сортировка то идет не по букве, а по коду символа. Код символа "А" равен 1040 Код символа "Є" равен 1028 т.е. укр буквы в символьном представлении находятся ниже русских.
Группа: Местный
Сообщений: 153
Спасибо сказали: 81 раз
Рейтинг: 0
Ок. А как по-красивше можно обойти этот косяк? Я думаю надо создать строку-алфавит типа "абвгдеєжзиіїйк...." и перебором оного искать значения в тз, это будет медленно...
Группа: Пользователи
Сообщений: 51
Спасибо сказали: 1 раз
Рейтинг: 1
А у меня вот такая байда имеется, которая бесит до немогу. Делаю перекидку новых элементов справочников через ДБФ. В файл украинская і выгружается как подчеркивание, но что самое смешное- ї переносится нормально. т.е. например "претензії"="претенз_ї". Соответственно так же и заносится потом. Возможно ли побороть это? Есть ли такая функция, которая перебирала бы буквы в строке например, чтобы править уже в перенесенном элементе что ли?
//определяем структуру файла //Синтаксис: ДобавитьПоле(<Название>,<Тип>,<Длина>,<Точность>) Файл.ДобавитьПоле("KB_A","S",12,0); Файл.ДобавитьПоле("KK_A","S",15,0); //и т.д.
Из описания по 1С: КодоваяСтраница Установить режим кодировки.
Синтаксис:
КодоваяСтраница(<Режим>)
Англоязычный синоним:
SetCodePage
Параметры:
<Режим> Необязательный параметр. Числовое выражение: 0 — Windows-кодировка; 1 — DOS-кодировка. Если параметр не задан, то режим кодировки не меняется (используется для определения текущего режима кодировки без его смены).
Возвращаемое значение:
Текущее числовое значение режима кодировки (на момент до исполнения метода).
Описание:
Метод КодоваяСтраница позволяет установить режим кодировки для чтения и записи значений строковых полей в файл базы данных.
Группа: Пользователи
Сообщений: 51
Спасибо сказали: 1 раз
Рейтинг: 1
miha74 @ Сегодня, 14:31 , Нет. Можно было просто написать- использовать функцию КодоваяСтраница(0), у меня звезда во лбу от преизбытка знаний не горит.
Группа: Местный
Сообщений: 153
Спасибо сказали: 81 раз
Рейтинг: 0
Как-то не очень. Надо будет постепенно добавлять строки с новыми людьми. Придется вручную порядковый номер вычислять перед этим или как? А вообще, странно как-то дело обстоит. Семерке уже 100 лет, а в инете ничего нет по сути по моему вопросу. Такое впечатление, что на это никто не обращал внимание.
Ну а как же тогда 1С-ка правильно сортирует объекты по украинским наименованиям? Парадокс.
Группа: Местный
Сообщений: 153
Спасибо сказали: 81 раз
Рейтинг: 0
Не, ну на крайний случай можно конечно. Но ведь это будет сортировка по первой букве.
Есть у меня еще одна бредовая идея. Допустим все буквы текста закодировать кодами символов СР1251 чтоб были по порядку, сортируем и раскодируем обратно, все символы кроме букв заменить пробелами.
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!