Заказы на доработку 1С (сервис удаленной работы)

Хранилище

База знаний
Неназначенных незавершенных заказов: 1
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 1С Статьи, описание работы, методики по работе с 1С

Здравствуйте, гость ( Вход | Зарегистрироваться )



> Особенности сравнения строк при работе с базой данных          
Batchir Подменю пользователя
сообщение 09.02.09, 17:21
Сообщение #1

Живет на форуме
Иконка группы
Группа: Команда
Сообщений: 3568
Из: Киев
Спасибо сказали: 1427 раз
Рейтинг: 0

Вся функциональность 1С:Предприятия делится на ту, которая выполняется в памяти компьютера (клиентского или серверного) и на ту, которая выполняется средствами базы данных (средствами СУБД). К последней относятся прежде всего, конечно, запросы. Но, кроме запросов, многие методы глобального контекста и прикладных объектов выполняются средствами СУБД.Хотя в 1С:Предприятии 8 системы типов встроенного языка и базы данных максимально унифицированы, тем не менее, существуют отличия в работе конкретных операций.
Одним из существенных отличий является сравнение строк. Во встроенном языке все сравнения строк выполняются с учетом регистра символов (case sensitive). А во всех операциях с базой данных сравнения строк выполняются без учета регистра символов (case insensitive).
Разумеется, для проверки без учета регистра во встроенном языке можно использовать приведение к верхнему или нижнему регистру.
Например:
"Ф" = "ф" - ложь
ВРег("Ф") = ВРег("ф") – истина.

При работе с запросом или другими операциями с базой данных нужно учитывать тот факт, что сравнение выполняется без учета регистра. 
Например, это влияет на механизм нумерации. Коды и номера прикладных объектов (справочников, документов и т.д.) поддерживаются без учета регистра, так как их поддержка осуществляется средствами базы данных. Например, если попытаться установить у нового объекта код, который будет отличаться от кода существующего объекта только регистром символов, то будет сформировано исключение «Код не уникален!». Префиксы нумерации также действуют без учета регистра символов. Таким образом, в кодах и номерах лучше использовать только большие символы – это облегает понимание работы системы пользователем. 
Если реализуется некоторый алгоритм, выполняемый в памяти, но который должен по своей логике совпадать с логикой работы в базе данных (например, выполнять поиск строки), то может иметь смысл при сравнении строк выполнять приведение к верхнему регистру, чтобы обеспечить сравнение без учета регистра.

Не нашли ответа на свой вопрос?
Зарегистрируйтесь и задайте новый вопрос.


Ответить Новая тема
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

RSS Текстовая версия Сейчас: 06.05.24, 17:21
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!