Вход | Регистрация
 

Уникальность регистра сведений по высоте букв измерения

Уникальность регистра сведений по высоте букв измерения
Я
   pumba055
 
07.12.20 - 12:46
Коллеги, создаю в регистре сведений одно измерение.
Пишу в него значения "м" и "М" и 1С не дает записать, пишет что запись с такими ключевыми полями уже создана хотя высота букв разная как мы видим.
Вопрос - как мне записать две записи?
   ГдеСобакаЗарыта
 
1 - 07.12.20 - 12:47
Латиницей пиши
   H A D G E H O G s
 
2 - 07.12.20 - 12:48
Не писать в измерения строки.
   pumba055
 
3 - 07.12.20 - 13:03
не могу не писать в измерения у меня в нем соответствие перечисления пол физ. лица и название в базе источника где от них может прилететь и "м" и "М"
   ДенисЧ
 
4 - 07.12.20 - 13:06
(3) А у тебя пол "м" как-то отличается от пола "М" ?
По длине... достоинства?
   H A D G E H O G s
 
5 - 07.12.20 - 13:07
Дичь какая. Ну обработай это кодом, либо, если предполагается всё европейское многообразие полов в количестве 60 штук с ...инами и андрогинами - заведи под это дело справочник соответствия.
   polosov
 
6 - 07.12.20 - 13:07
Вот у людей проблемы...
   pumba055
 
7 - 07.12.20 - 13:08
если у меня в регистре "м" записано, а в данных придет "М" то в своем регистре соответствия через наименование я не найду перечисление 1С
   Масянька
 
8 - 07.12.20 - 13:08
(3) При  проверке введенного значения приводи в верхнему/нижнему регистру.
   Масянька
 
9 - 07.12.20 - 13:09
(4) Про женщин - даже предполагать страшно... :))))))))))))))))))))))))))
   pumba055
 
10 - 07.12.20 - 13:09
Справочник не подойдет, данных будет очень много
   ДенисЧ
 
11 - 07.12.20 - 13:09
(7) Дарю знание о функции НРег()
   Масянька
 
12 - 07.12.20 - 13:10
(10) Ты точно 8 (восемь) лет с копейками занимаешься эской?
   ДенисЧ
 
13 - 07.12.20 - 13:10
(10) М, м... Ж...ж ... Ещё сколько будет?
   Масянька
 
14 - 07.12.20 - 13:10
(11) Это для мужчин. А для женщин - использовать ВРег().
   DrShad
 
15 - 07.12.20 - 13:10
(11) верни ему СП
   Масянька
 
16 - 07.12.20 - 13:11
(14) Тьфу, блин... Наоборот.
   pumba055
 
17 - 07.12.20 - 13:11
НРег функция кода, а в запросах функций со строками нет, кроме одной. А тут поиск... на больших объемах
   ДенисЧ
 
18 - 07.12.20 - 13:12
(14) ВГлуб()...
(15) Заплатит - верну )))
   ДенисЧ
 
19 - 07.12.20 - 13:12
(17) Зато в СКД есть.
   DTX 4th
 
20 - 07.12.20 - 13:13
Ниче не понял, но если проблема в (0) актуальна, то я за справочник. Других вариантов не видно
   H A D G E H O G s
 
21 - 07.12.20 - 13:13
Походу мы нашли еще одного из Ливингстаров.
   pumba055
 
22 - 07.12.20 - 13:13
в запросах нет
   ДенисЧ
 
23 - 07.12.20 - 13:13
(22) В СКД - есть.
   H A D G E H O G s
 
24 - 07.12.20 - 13:15
Еще и большие объемы.
   youalex
 
25 - 07.12.20 - 13:15
(0)
если ты в запросе сопоставляешь, то какая разница
   Масянька
 
26 - 07.12.20 - 13:15
(22) Всё пропало...
А я думаю, почему мне смс-ки пишут: "Пап переведи денег"...
   H A D G E H O G s
 
27 - 07.12.20 - 13:18
(0) Пишем в регистр значение перечисления Пол
Мужской
Женский

Значение перечисления вычисляем поиском в справочнике
НаименованиеПола, строка
Пол, перечисление

Примеры записей справочника

М
Мужской

м
Мужской

Муж.
Мужской

мж.
Мужской

Жен.
Женский.

и.т.д.
   pumba055
 
28 - 07.12.20 - 13:19
я в запросе сопоставляю через р-р соответсвия по имени "м" или "М" должно найтись
   H A D G E H O G s
 
29 - 07.12.20 - 13:19
Епстественно, НаименованиеПола - это типовой реквизит Наименование, чтобы использовать встроенный индекс.
   pumba055
 
30 - 07.12.20 - 13:20
создавать регистр, а к нему еще и справочник
 
 Рекламное место пустует
   youalex
 
31 - 07.12.20 - 13:21
(28) В запросе стандартно "м" = "М"
   youalex
 
32 - 07.12.20 - 13:22
(31) + собственно поэтому у тебя и ругается при второй записи
   pumba055
 
33 - 07.12.20 - 13:25
по всем данным такое может быть, не только пол физ. лица - задолбаешься через запросы руками все прописывать и не хочется, для этого как раз и регистр создаю - где в нему и пропишу соответствие. А если у меня появится еще и третий пол средний - мне чего всю работу в 100 местах исправлять в коде... поэтому регистр соответствия
   d4rkmesa
 
34 - 07.12.20 - 13:25
(0) http://catalog.mista.ru/1c/articles/995591/
Тему читали(сама статья не очень интересная, можно сразу с конца читать)? В комментах предложили данные преобразовывать в двоичные для ключа поиска через ПолучитьДвоичныеДанныеИзСтроки(НаименованиеСРегистром), допустим, эти измерение РС. Представление можно хранить отдельно в ресурсе или реквизите.
   pumba055
 
35 - 07.12.20 - 13:26
р-р соответствия для всего, не только для пола физ. лица, это так к примеру
   d4rkmesa
 
36 - 07.12.20 - 13:26
(34) Измерение РС - строкового типа, опять-таки.
   pumba055
 
37 - 07.12.20 - 13:28
ПолучитьДвоичныеДанныеИзСтроки(НаименованиеСРегистром) - это опять же пляски с одной записью, я хочу запросы чтобы на организацию данных чтобы запросы с такими данными нормально работали
   1Сергей
 
38 - 07.12.20 - 13:28
Есть приверженцы небинарных полов?
   pumba055
 
39 - 07.12.20 - 13:31
короче в измерение добавляю признак высокий регистр, как лучше сделать не знаю, так зато уже 3-е записи не создадут руками пользователи в этом р-ре как раз сработает проверка уникальности
   1Сергей
 
40 - 07.12.20 - 13:32
(39) Вариант сразу записвать правильный гендер не рассматривается в принципе?
   Serg_1960
 
41 - 07.12.20 - 13:33
Если мне память не изменяет, то когда-то давно, когда Земля была теплая и по ней бегали мамонты, регистронезависимость устанавливалась в серверах баз данных (сам однажды нарвался на отличия в результатах запросов в MS SQL и PostgreSQL... но сейчас эти детские болезни устранены в современных платформах.
   Масянька
 
42 - 07.12.20 - 13:33
(39) Пользователь должен НЕ СОЗДАВАТЬ, а ВЫБИРАТЬ из предложенного списка.
ПСЫ М - может быть англицкой раскладки.
   Timon1405
 
43 - 07.12.20 - 13:34
(39) муЖской как отработает проверка уникальности?
   H A D G E H O G s
 
44 - 07.12.20 - 13:37
(41) Ну уж точно не стоит менять collation, это смерть и ад.
   pumba055
 
45 - 07.12.20 - 13:37
заказчик капризный и данные нам дает в таком виде сначала над этими данными глумится, а потом нам отдает.....
Поэтому да --> Вариант сразу записвать правильный гендер не рассматривается
   H A D G E H O G s
 
46 - 07.12.20 - 13:37
А в запросе поменять collation, 1С не умеет.
   pumba055
 
47 - 07.12.20 - 13:38
может коды дать объектов, может наименования - вообщем крутимся)
   pumba055
 
48 - 07.12.20 - 13:40
Если бы 1С в запросах при соединении скажем он мог джойнить строки без учета регистра, но эта нужна SQL функция такая, в 1С я ее не нашла
   Serg_1960
 
49 - 07.12.20 - 13:40
(44) Расслабься. Я не предлагаю это изменять, - я предлагаю даже не пытаться пробовать это делать :)
   H A D G E H O G s
 
50 - 07.12.20 - 13:42
(49) Да я вообще расслаблен.
https://youtu.be/M3fbg2rAe-I
   ptiz
 
51 - 07.12.20 - 13:51
Трэш какой-то. Зачем ТС всё хочет сделать через задний проход, не пойму.
   Масянька
 
53 - 07.12.20 - 13:54
(51) Судя по всему: обрабатывается входящая инфа, где пол может быть буквой (разные регистры), кодом, еще чем-то...
Но вводных мало...
   Serg_1960
 
54 - 07.12.20 - 14:16
(53) Как я понял, у автора обмен с регистрозависимой базой данных (не 1С) - автор желает создать регистр соответствия строковых значений. Попытка писать соответствия в измерения - не прошла.
   DTX 4th
 
55 - 07.12.20 - 14:16
(39) 🙈
Чем справочник не угодил?
   Serg_1960
 
56 - 07.12.20 - 14:22
Не принципиально, справочник это или регистр, - индексы, запросы и другие операции с базой данных выполняются без учета регистра. Автору нужно менять подход.
   pumba055
 
57 - 07.12.20 - 14:25
тут поменять можно только заказчика)
   pumba055
 
58 - 07.12.20 - 14:25
справочник на сколько я знаю не предназначен под большие объемы данных или я ошибаюсь?
   acht
 
59 - 07.12.20 - 14:26
(57) Тебе заказчик, что-ли базу проектирует?
   Масянька
 
60 - 07.12.20 - 14:27
(58) А всю задачу озвучить не вариант? Или так и будем гадать? Кто на чем...
 
 Рекламное место пустует
   Ненавижу 1С
 
61 - 07.12.20 - 14:29
(58) да, 100'000 позиций номенклатуры это просто ерунда
   DTX 4th
 
62 - 07.12.20 - 14:31
(56) Можно при получении данных пройтись по всем строкам и получить для них нужных элемент справочника. Делается без запросов в цикле. Ну а дальше все просто.

(58) Обычная скулевская таблица. Тот регистр только в профиль.
   pumba055
 
63 - 07.12.20 - 14:33
у нас в соединении в запросах 1С строки соединяются без учета регистра сейчас выяснилось, т.е. 'м' найдет 'М' и соответственно не только буквы например 'Муж' найдет 'муж', т.е. впринципе я тогда думаю и одной строки в регистре будет достаточно и не важно высокий регистр или низкий
   pumba055
 
64 - 07.12.20 - 14:34
запросы в цикле не люблю, в 1С использую запросы в цикле только в рекурсивных вещах, т.к. нет рекурсивных запросов
   DTX 4th
 
65 - 07.12.20 - 14:35
(63) Т.е. все это время ты могла изначально класть в регистр НРег(Строки)?

(64) Не понял, в бой уже запросы в цикле пошли?)
   pumba055
 
66 - 07.12.20 - 14:35
ой, птьфу, не правильно прочитала про запросы в цикле что человек написал - глаза разъезжаются  - один глаз в чат, другой по работе
   pumba055
 
67 - 07.12.20 - 14:36
нет, в регистре будет не важно как заведут 'м' или 'М' потому что соединение таблиц в 1С без учета регистра поэтому все равно найдется любой вариант
   youalex
 
68 - 07.12.20 - 14:51
(67) ура!
   Йохохо
 
69 - 07.12.20 - 14:56
(67) а "М." м?
   Serg_1960
 
70 - 07.12.20 - 15:06
В принципе, проблему (0) можно решить измерениями регистра: два измерения - соответствие строк, третье измерение - хэш регистрозависимой строки. Если я правильно понял проблему потому, что ". потому, что "ой, птьфу, не правильно прочитала - один глаз в чат, другой по работе"(с)
   MyNick
 
71 - 07.12.20 - 15:09
(58) Зато регистр сведений любит в измерениях строки... И желательно чтобы вариативность была адовая.
Шобы платформа устала виртуальные таблицы строить.
   pumba055
 
72 - 07.12.20 - 15:59
Serg_1960 не поняла что за хэш регистрозависимой строки
   H A D G E H O G s
 
73 - 07.12.20 - 16:05
(72) Хранить и искать не строку, а ее хеш.
Новый ХешированиеДанных(<ХешФункция>)
   Кир Пластелинин
 
74 - 07.12.20 - 16:06
(72) -хэш-сумма вестимо переданной строки. ХешированиеДанных()
   Serg_1960
 
75 - 07.12.20 - 16:09
(72) Вам слово "хэш" непонятно? Это хэш-сумма функции хэширования. Функция "чувствительна" к регистру букв в строке. Поэтому, например, строки с "М" и "м" будут различаться хэш-суммами.
   sqr4
 
86 - 07.12.20 - 16:42
ну как я понял. Тут либо отказаться от регистра сведений, либо приводить к единому регистру строки все входящие данные до попадания в запрос, либо делать еще одно измерение и и добавлять еще одно условия соединения в запросы.
   Serg_1960
 
Модератор
88 - 07.12.20 - 16:43
Правило 2. "Флейм и оффтопик в тематических разделах 1С и IT не допускается".
   Serg_1960
 
90 - 07.12.20 - 16:51
Хеш = Новый ХешированиеДанных(ХешФункция.MD5);
    Хеш.Добавить("СтрокаСодержитМ");
    Сообщить(СтрЗаменить(Хеш.ХешСумма, " ", ""));    // 9EF7FA8FAB3159112785E9C29E8B6736

        
    Хеш = Новый ХешированиеДанных(ХешФункция.MD5);
    Хеш.Добавить("строкасодержитм");
    Сообщить(СтрЗаменить(Хеш.ХешСумма, " ", ""));    // F0D018BDB196A0167969814134043B28
   Dmitrii
 
93 - 07.12.20 - 17:40
(39) >> короче в измерение добавляю признак высокий регистр.

А язык? Вдруг придёт m (male) или w (women) или f (female)?
   H A D G E H O G s
 
94 - 07.12.20 - 17:47
(93) Там еще приползут андрогины...
   novichok79
 
95 - 07.12.20 - 18:26
наименование - "мальчик, девочка, моргенштерн"
пол - перечислениессылка.полфизлица.
если соответствие не используется у справочника есть пометка удаления

зачем сюда регистр??? какая-то дичь
   novichok79
 
96 - 07.12.20 - 18:26
всю тему не читал
   mistеr
 
97 - 07.12.20 - 18:40
Решение простое, на самом деле.
Искать значение перечисления не запросом, а в коде, в момент получения данных из источника. В Соответствии, например.
А хранить можно хоть в регистре, хоть в справочнике, без разницы.


Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.