|
Уникальность регистра сведений по высоте букв измерения | ☑ | ||
---|---|---|---|---|
0
pumba055
07.12.20
✎
12:46
|
Коллеги, создаю в регистре сведений одно измерение.
Пишу в него значения "м" и "М" и 1С не дает записать, пишет что запись с такими ключевыми полями уже создана хотя высота букв разная как мы видим. Вопрос - как мне записать две записи? |
|||
1
ГдеСобака Зарыта
07.12.20
✎
12:47
|
Латиницей пиши
|
|||
2
H A D G E H O G s
07.12.20
✎
12:48
|
Не писать в измерения строки.
|
|||
3
pumba055
07.12.20
✎
13:03
|
не могу не писать в измерения у меня в нем соответствие перечисления пол физ. лица и название в базе источника где от них может прилететь и "м" и "М"
|
|||
4
ДенисЧ
07.12.20
✎
13:06
|
(3) А у тебя пол "м" как-то отличается от пола "М" ?
По длине... достоинства? |
|||
5
H A D G E H O G s
07.12.20
✎
13:07
|
Дичь какая. Ну обработай это кодом, либо, если предполагается всё европейское многообразие полов в количестве 60 штук с ...инами и андрогинами - заведи под это дело справочник соответствия.
|
|||
6
polosov
07.12.20
✎
13:07
|
Вот у людей проблемы...
|
|||
7
pumba055
07.12.20
✎
13:08
|
если у меня в регистре "м" записано, а в данных придет "М" то в своем регистре соответствия через наименование я не найду перечисление 1С
|
|||
8
Масянька
07.12.20
✎
13:08
|
(3) При проверке введенного значения приводи в верхнему/нижнему регистру.
|
|||
9
Масянька
07.12.20
✎
13:09
|
(4) Про женщин - даже предполагать страшно... :))))))))))))))))))))))))))
|
|||
10
pumba055
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) Это для мужчин. А для женщин - использовать ВРег().
|
|||
15
DrShad
07.12.20
✎
13:10
|
(11) верни ему СП
|
|||
16
Масянька
07.12.20
✎
13:11
|
(14) Тьфу, блин... Наоборот.
|
|||
17
pumba055
07.12.20
✎
13:11
|
НРег функция кода, а в запросах функций со строками нет, кроме одной. А тут поиск... на больших объемах
|
|||
18
ДенисЧ
07.12.20
✎
13:12
|
(14) ВГлуб()...
(15) Заплатит - верну ))) |
|||
19
ДенисЧ
07.12.20
✎
13:12
|
(17) Зато в СКД есть.
|
|||
20
DTX 4th
07.12.20
✎
13:13
|
Ниче не понял, но если проблема в (0) актуальна, то я за справочник. Других вариантов не видно
|
|||
21
H A D G E H O G s
07.12.20
✎
13:13
|
Походу мы нашли еще одного из Ливингстаров.
|
|||
22
pumba055
07.12.20
✎
13:13
|
в запросах нет
|
|||
23
ДенисЧ
07.12.20
✎
13:13
|
(22) В СКД - есть.
|
|||
24
H A D G E H O G s
07.12.20
✎
13:15
|
Еще и большие объемы.
|
|||
25
youalex
07.12.20
✎
13:15
|
(0)
если ты в запросе сопоставляешь, то какая разница |
|||
26
Масянька
07.12.20
✎
13:15
|
(22) Всё пропало...
А я думаю, почему мне смс-ки пишут: "Пап переведи денег"... |
|||
27
H A D G E H O G s
07.12.20
✎
13:18
|
(0) Пишем в регистр значение перечисления Пол
Мужской Женский Значение перечисления вычисляем поиском в справочнике НаименованиеПола, строка Пол, перечисление Примеры записей справочника М Мужской м Мужской Муж. Мужской мж. Мужской Жен. Женский. и.т.д. |
|||
28
pumba055
07.12.20
✎
13:19
|
я в запросе сопоставляю через р-р соответсвия по имени "м" или "М" должно найтись
|
|||
29
H A D G E H O G s
07.12.20
✎
13:19
|
Епстественно, НаименованиеПола - это типовой реквизит Наименование, чтобы использовать встроенный индекс.
|
|||
30
pumba055
07.12.20
✎
13:20
|
создавать регистр, а к нему еще и справочник
|
|||
31
youalex
07.12.20
✎
13:21
|
(28) В запросе стандартно "м" = "М"
|
|||
32
youalex
07.12.20
✎
13:22
|
(31) + собственно поэтому у тебя и ругается при второй записи
|
|||
33
pumba055
07.12.20
✎
13:25
|
по всем данным такое может быть, не только пол физ. лица - задолбаешься через запросы руками все прописывать и не хочется, для этого как раз и регистр создаю - где в нему и пропишу соответствие. А если у меня появится еще и третий пол средний - мне чего всю работу в 100 местах исправлять в коде... поэтому регистр соответствия
|
|||
34
d4rkmesa
07.12.20
✎
13:25
|
(0) http://catalog.mista.ru/1c/articles/995591/
Тему читали(сама статья не очень интересная, можно сразу с конца читать)? В комментах предложили данные преобразовывать в двоичные для ключа поиска через ПолучитьДвоичныеДанныеИзСтроки(НаименованиеСРегистром), допустим, эти измерение РС. Представление можно хранить отдельно в ресурсе или реквизите. |
|||
35
pumba055
07.12.20
✎
13:26
|
р-р соответствия для всего, не только для пола физ. лица, это так к примеру
|
|||
36
d4rkmesa
07.12.20
✎
13:26
|
(34) Измерение РС - строкового типа, опять-таки.
|
|||
37
pumba055
07.12.20
✎
13:28
|
ПолучитьДвоичныеДанныеИзСтроки(НаименованиеСРегистром) - это опять же пляски с одной записью, я хочу запросы чтобы на организацию данных чтобы запросы с такими данными нормально работали
|
|||
38
1Сергей
07.12.20
✎
13:28
|
Есть приверженцы небинарных полов?
|
|||
39
pumba055
07.12.20
✎
13:31
|
короче в измерение добавляю признак высокий регистр, как лучше сделать не знаю, так зато уже 3-е записи не создадут руками пользователи в этом р-ре как раз сработает проверка уникальности
|
|||
40
1Сергей
07.12.20
✎
13:32
|
(39) Вариант сразу записвать правильный гендер не рассматривается в принципе?
|
|||
41
Serg_1960
07.12.20
✎
13:33
|
Если мне память не изменяет, то когда-то давно, когда Земля была теплая и по ней бегали мамонты, регистронезависимость устанавливалась в серверах баз данных (сам однажды нарвался на отличия в результатах запросов в MS SQL и PostgreSQL... но сейчас эти детские болезни устранены в современных платформах.
|
|||
42
Масянька
07.12.20
✎
13:33
|
(39) Пользователь должен НЕ СОЗДАВАТЬ, а ВЫБИРАТЬ из предложенного списка.
ПСЫ М - может быть англицкой раскладки. |
|||
43
Timon1405
07.12.20
✎
13:34
|
(39) муЖской как отработает проверка уникальности?
|
|||
44
H A D G E H O G s
07.12.20
✎
13:37
|
(41) Ну уж точно не стоит менять collation, это смерть и ад.
|
|||
45
pumba055
07.12.20
✎
13:37
|
заказчик капризный и данные нам дает в таком виде сначала над этими данными глумится, а потом нам отдает.....
Поэтому да --> Вариант сразу записвать правильный гендер не рассматривается |
|||
46
H A D G E H O G s
07.12.20
✎
13:37
|
А в запросе поменять collation, 1С не умеет.
|
|||
47
pumba055
07.12.20
✎
13:38
|
может коды дать объектов, может наименования - вообщем крутимся)
|
|||
48
pumba055
07.12.20
✎
13:40
|
Если бы 1С в запросах при соединении скажем он мог джойнить строки без учета регистра, но эта нужна SQL функция такая, в 1С я ее не нашла
|
|||
49
Serg_1960
07.12.20
✎
13:40
|
(44) Расслабься. Я не предлагаю это изменять, - я предлагаю даже не пытаться пробовать это делать :)
|
|||
50
H A D G E H O G s
07.12.20
✎
13:42
|
(49) Да я вообще расслаблен.
https://youtu.be/M3fbg2rAe-I |
|||
51
ptiz
07.12.20
✎
13:51
|
Трэш какой-то. Зачем ТС всё хочет сделать через задний проход, не пойму.
|
|||
53
Масянька
07.12.20
✎
13:54
|
(51) Судя по всему: обрабатывается входящая инфа, где пол может быть буквой (разные регистры), кодом, еще чем-то...
Но вводных мало... |
|||
54
Serg_1960
07.12.20
✎
14:16
|
(53) Как я понял, у автора обмен с регистрозависимой базой данных (не 1С) - автор желает создать регистр соответствия строковых значений. Попытка писать соответствия в измерения - не прошла.
|
|||
55
DTX 4th
07.12.20
✎
14:16
|
(39) 🙈
Чем справочник не угодил? |
|||
56
Serg_1960
07.12.20
✎
14:22
|
Не принципиально, справочник это или регистр, - индексы, запросы и другие операции с базой данных выполняются без учета регистра. Автору нужно менять подход.
|
|||
57
pumba055
07.12.20
✎
14:25
|
тут поменять можно только заказчика)
|
|||
58
pumba055
07.12.20
✎
14:25
|
справочник на сколько я знаю не предназначен под большие объемы данных или я ошибаюсь?
|
|||
59
acht
07.12.20
✎
14:26
|
(57) Тебе заказчик, что-ли базу проектирует?
|
|||
60
Масянька
07.12.20
✎
14:27
|
(58) А всю задачу озвучить не вариант? Или так и будем гадать? Кто на чем...
|
|||
61
Ненавижу 1С
гуру
07.12.20
✎
14:29
|
(58) да, 100'000 позиций номенклатуры это просто ерунда
|
|||
62
DTX 4th
07.12.20
✎
14:31
|
(56) Можно при получении данных пройтись по всем строкам и получить для них нужных элемент справочника. Делается без запросов в цикле. Ну а дальше все просто.
(58) Обычная скулевская таблица. Тот регистр только в профиль. |
|||
63
pumba055
07.12.20
✎
14:33
|
у нас в соединении в запросах 1С строки соединяются без учета регистра сейчас выяснилось, т.е. 'м' найдет 'М' и соответственно не только буквы например 'Муж' найдет 'муж', т.е. впринципе я тогда думаю и одной строки в регистре будет достаточно и не важно высокий регистр или низкий
|
|||
64
pumba055
07.12.20
✎
14:34
|
запросы в цикле не люблю, в 1С использую запросы в цикле только в рекурсивных вещах, т.к. нет рекурсивных запросов
|
|||
65
DTX 4th
07.12.20
✎
14:35
|
(63) Т.е. все это время ты могла изначально класть в регистр НРег(Строки)?
(64) Не понял, в бой уже запросы в цикле пошли?) |
|||
66
pumba055
07.12.20
✎
14:35
|
ой, птьфу, не правильно прочитала про запросы в цикле что человек написал - глаза разъезжаются - один глаз в чат, другой по работе
|
|||
67
pumba055
07.12.20
✎
14:36
|
нет, в регистре будет не важно как заведут 'м' или 'М' потому что соединение таблиц в 1С без учета регистра поэтому все равно найдется любой вариант
|
|||
68
youalex
07.12.20
✎
14:51
|
(67) ура!
|
|||
69
Йохохо
07.12.20
✎
14:56
|
(67) а "М." м?
|
|||
70
Serg_1960
07.12.20
✎
15:06
|
В принципе, проблему (0) можно решить измерениями регистра: два измерения - соответствие строк, третье измерение - хэш регистрозависимой строки. Если я правильно понял проблему потому, что ". потому, что "ой, птьфу, не правильно прочитала - один глаз в чат, другой по работе"(с)
|
|||
71
MyNick
07.12.20
✎
15:09
|
(58) Зато регистр сведений любит в измерениях строки... И желательно чтобы вариативность была адовая.
Шобы платформа устала виртуальные таблицы строить. |
|||
72
pumba055
07.12.20
✎
15:59
|
Serg_1960 не поняла что за хэш регистрозависимой строки
|
|||
73
H A D G E H O G s
07.12.20
✎
16:05
|
(72) Хранить и искать не строку, а ее хеш.
Новый ХешированиеДанных(<ХешФункция>) |
|||
74
Кир Пластелинин
07.12.20
✎
16:06
|
(72) -хэш-сумма вестимо переданной строки. ХешированиеДанных()
|
|||
75
Serg_1960
07.12.20
✎
16:09
|
(72) Вам слово "хэш" непонятно? Это хэш-сумма функции хэширования. Функция "чувствительна" к регистру букв в строке. Поэтому, например, строки с "М" и "м" будут различаться хэш-суммами.
|
|||
86
sqr4
07.12.20
✎
16:42
|
ну как я понял. Тут либо отказаться от регистра сведений, либо приводить к единому регистру строки все входящие данные до попадания в запрос, либо делать еще одно измерение и и добавлять еще одно условия соединения в запросы.
|
|||
88
Serg_1960
модератор
07.12.20
✎
16:43
|
Правило 2. "Флейм и оффтопик в тематических разделах 1С и IT не допускается".
|
|||
90
Serg_1960
07.12.20
✎
16:51
|
Хеш = Новый ХешированиеДанных(ХешФункция.MD5);
Хеш.Добавить("СтрокаСодержитМ"); Сообщить(СтрЗаменить(Хеш.ХешСумма, " ", "")); // 9EF7FA8FAB3159112785E9C29E8B6736 Хеш = Новый ХешированиеДанных(ХешФункция.MD5); Хеш.Добавить("строкасодержитм"); Сообщить(СтрЗаменить(Хеш.ХешСумма, " ", "")); // F0D018BDB196A0167969814134043B28 |
|||
93
Dmitrii
гуру
07.12.20
✎
17:40
|
(39) >> короче в измерение добавляю признак высокий регистр.
А язык? Вдруг придёт m (male) или w (women) или f (female)? |
|||
94
H A D G E H O G s
07.12.20
✎
17:47
|
(93) Там еще приползут андрогины...
|
|||
95
novichok79
07.12.20
✎
18:26
|
наименование - "мальчик, девочка, моргенштерн"
пол - перечислениессылка.полфизлица. если соответствие не используется у справочника есть пометка удаления зачем сюда регистр??? какая-то дичь |
|||
96
novichok79
07.12.20
✎
18:26
|
всю тему не читал
|
|||
97
mistеr
07.12.20
✎
18:40
|
Решение простое, на самом деле.
Искать значение перечисления не запросом, а в коде, в момент получения данных из источника. В Соответствии, например. А хранить можно хоть в регистре, хоть в справочнике, без разницы. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |