TGViewer
Е.БУДНИ программиста 1С | Роман Чумадин Е.БУДНИ программиста 1С | Роман Чумадин @e_budni_programmer · 6.25K subscribers
Post #155 3.85K
ХЕШ строка. Задача по уникальности/сравнению

На днях столкнулся со следующей задачей: разработать проверку уникальности элементов справочника по элементам табличной части этого же справочника.

Если более предметно, в справочнике Номера ГТД есть табличная часть Прослеживаемые комплектующие, в которой хранятся номера РНПТ для комплектующих с их количеством.
Если есть второй элемент с такими же номерами РНПТ и количеством независимо от порядка, то он считается не уникальным.

По опыту решения прошлых задач, пришел к решению с использованием ХЕШ строки, которую получаю следующим образом:

🔹 Получаю ТЗ из колонок ТЧ;
🔹 Сортирую ТЗ, чтобы всегда было одна последовательность;
🔹 Создаю массив со строками, куда записываю «РНПТ + Количество»;
🔹 Перевожу массив в строку с помощью функции «ЗначениеВСтрокуВнутр()»;
🔹 Создаю объект ХешированиеДанных с типом MD5;
🔹 И получая Хеш сумму, убираю пробелы;
🔹 Затем записываю полученные данные в реквизит объекта.

------------

ТаблицаДляХеширования = ПрослеживаемыеКомплектующие.Выгрузить(,"РНПТ, Количество");
ТаблицаДляХеширования.Сортировать("РНПТ, Количество");

МассивРНПТ = Новый Массив;

Для каждого СтрРНПТ из ТЗ_РНПТКоличество Цикл
МассивРНПТ.Добавить(СтрРНПТ.РНПТ.Код + " " + СтрРНПТ.Количество)
КонецЦикла;

СтрокаДляХеширования = ЗначениеВСтрокуВнутр(МассивРНПТКолво);

ХешированиеДанных = Новый ХешированиеДанных(ХешФункция.MD5);
ХешированиеДанных.Добавить(СтрокаДляХеширования );

РеквизитХЕШ_ТЧ = СтрЗаменить(ХешированиеДанных.ХешСумма," ","");

------------

В итоге остается сравнивать на уникальность не ТЧ, а только один реквизит.

А где вы применяете Хеширование? 💬

Случайный пост > > >
Вспомогательные сервисы

#ЕБ_Повседневность
  • 👍 17
  • 🔥 10
More from @e_budni_programmer
  1. Oct 1, 2026Post #612
  2. Sep 30, 2026Работу техподдержки 1С обычно редко обсуждают, пока все работает в штатном режиме. Но когд…
  3. Sep 24, 2026РУБРИКА «ЧёПоСтандартам» Оформление текстов запросов Хотел выбрать самые важные моменты из…
  4. Sep 22, 2026Всем привет! И снова про конференции) Прошла Жёлтая конфа, Кунг-Фу Митап в питере, на этот…
  5. Sep 17, 2026Post #607
  6. Sep 12, 2026Больше постов про ИИ?) Сейчас всё активнее пробую применять ИИ непосредственно в разработк…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →