Имя: Пароль:
1C
 
Как наиболее красиво реализовать поиск кодов ОКПД2 по части кода?
0 Бешеный заяц
 
13.12.24
13:31
Имеем ERP, в нем справочник ОКПД2 который выбирается в номенклатуре.
Есть регистр сведений где вбиты коды ОКПД2 которые закупать нельзя (тип строка).Те нужно проверять входит ли запрещённый код в ОКПД2 номенклатуры или нет. В этом регистре код может быть как полностью, так и частично например "22.29.29.190" следовательно попадает под блокировку конкретная номенклатура с данным кодом, "22.29.29" вся номенклатура где код начинается с данных цифр итд вплоть до 22.29.
Как реализовать проверку наиболее быстро?
Можно конечно разложить строку в РазложитьСтрокуВМассивПодстрок и то же самое с проверяемой делать, но это очень долго. Может есть уже до меня продуманное решение, например в запросе? Данная функция будет принимать на вход массив номенклатур.
1 DrShad
 
13.12.24
13:25
регулярки
2 Ненавижу 1С
 
13.12.24
13:25
Номенклатура.КодОКПД2 ПОДОБНО Регистр.Код+"%"
3 Бешеный заяц
 
13.12.24
13:30
(2) наоборот мне надо, мне отдают номенклатуру, там всегда полный ОКПД2, а проверять нужно в регистре где ОКПД2 может быть только неполный.
4 Бешеный заяц
 
13.12.24
13:32
(2) (3) хотя возможно от обратного можно, отбирать полностью регистр запрещёнными ОКПД2 которые подобно проверяемой окпд2 номенлатуры, нужно обдумать, единственное избыток полученных данных может быть
5 DrShad
 
13.12.24
13:33
(3) составь другую регулярку
6 Ненавижу 1С
 
13.12.24
13:33
(3) я так и написал
7 Бешеный заяц
 
13.12.24
13:39
(6) Да точно спасибо, понял.
8 Garykom
 
13.12.24
14:04
(0) в РС храни с разделением по измерениям
9 Garykom
 
13.12.24
14:05
(8)+ "22.29.29.190"
Измерение1 = 22
Измерение2 = 29
Измерение3 = 29
Измерение4 = 190
Измерение5 = ...
...

Либо можно по группам иерархию в справочнике
10 Garykom
 
13.12.24
14:06
(9)+ полный код номенклатуры аналогично делишь и мгновенно получаешь из РС
Закон Брукера: Даже маленькая практика стоит большой теории.