|
|
| ||
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 | |||
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 | |||
ДенисЧ 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 | |||
Масянька 26 - 07.12.20 - 13:15 | |||
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 | |||
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 | |||
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 | |||
pumba055 63 - 07.12.20 - 14:33 | у нас в соединении в запросах 1С строки соединяются без учета регистра сейчас выяснилось, т.е. 'м' найдет 'М' и соответственно не только буквы например 'Муж' найдет 'муж', т.е. впринципе я тогда думаю и одной строки в регистре будет достаточно и не важно высокий регистр или низкий | ||
pumba055 64 - 07.12.20 - 14:34 | запросы в цикле не люблю, в 1С использую запросы в цикле только в рекурсивных вещах, т.к. нет рекурсивных запросов | ||
DTX 4th 65 - 07.12.20 - 14:35 | |||
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 | |||
Кир Пластелинин 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 | Решение простое, на самом деле.
Искать значение перечисления не запросом, а в коде, в момент получения данных из источника. В Соответствии, например. А хранить можно хоть в регистре, хоть в справочнике, без разницы. |
|
Список тем форума |