|
v7: Как средствами стандартной 1с найти элемент по полному наименованию. | ☑ | ||
---|---|---|---|---|
0
Креатив
10.08.20
✎
14:36
|
Желательно побыстрей.
|
|||
1
Kongo2019
10.08.20
✎
14:38
|
(0)
ИмяРекв = “Год”; //у реквизита должен быть установлен флажок Сортировка в Конфигураторе ФлагГлобПоиска = 1; // 1- искать во всем справочнике, 0 – искать в пределах подчинения Если СпрСотр.НайтиПоРеквизиту(ИмяРекв,1980,ФлагГлобПоиска)=1 Тогда НайденныйЭлемент = СпрСотр.ТекущийЭлемент(); КонецЕсли; |
|||
2
Злопчинский
10.08.20
✎
14:40
|
(0) перебором. иначе никак. ПолНаименование - если про типовые конфиги - строка неограниченной длины.
если фиксированной - тогда (1) |
|||
3
Креатив
10.08.20
✎
14:41
|
(2)Неограниченной. Если поменять на фиксированную слетят данные?
|
|||
4
Злопчинский
10.08.20
✎
14:44
|
(3) если вбито было в поле больше чем длина фиксированная - то обрежется.
тупо сделай выгрузку "код-побазе - текущее знаеение нужного поля", как бэкап. и тренерни. или на бэкапе |
|||
5
Ёпрст
10.08.20
✎
14:44
|
(0) прямой запрос жешь
|
|||
6
Креатив
10.08.20
✎
14:46
|
(5)Так прикручивать компоненту придётся, да и как с неограниченной длиной быть?
|
|||
7
Ёпрст
10.08.20
✎
14:48
|
(6) а че с ней ?
|
|||
8
Ёпрст
10.08.20
✎
14:48
|
И.. если напягает лишняя строчка в коде с ЗагрузитьВнешнююКомоненту() то се ля ви
|
|||
9
Креатив
10.08.20
✎
15:06
|
(8) Компы поменяют, компоненту забудут. Скажут, что не работает.
1с++ предлагаешь? |
|||
10
uno-group
10.08.20
✎
15:06
|
Пройтись по базе узнать максимальную длину строки наименования потом перевести ее в фиксированную с нужной длинной строки.
|
|||
11
Ёпрст
10.08.20
✎
15:07
|
(10) ага, и непременно индекс на это поле повесить.
|
|||
12
Ёпрст
10.08.20
✎
15:07
|
то то будет весело, то-то хорошо
|
|||
13
uno-group
10.08.20
✎
15:07
|
(9) Компоненту в каталог БД кинуть и не забудут.
|
|||
14
Ёпрст
10.08.20
✎
15:08
|
(9) все вк можешь хоть в самой базе хранить и устанавливать в момент запуска 1с, если не установлены - установятся сами.
|
|||
15
uno-group
10.08.20
✎
15:15
|
(11) отличный план. Проиндексировать строку длинной 999 знаков в справочнике на несколько тысяч.
Жаль не получиться. Если не изменяет память то уже на строки длинной в 240 знаков ругается, что длинна индекса превысила максимально допустимую. |
|||
16
uno-group
10.08.20
✎
15:23
|
Если уж очень не хочешь юзать ВК, то как вариант. Создать доп поле символов на 10-20 в него засунуть первые нацать символов наименования и дальше ВыбратьЭлементыПоРеквизиту (ОбрезанноеНаименование...) и уже потом проверять на совпадение с полным наименованием.
|
|||
17
Злопчинский
10.08.20
✎
16:12
|
Все - херня.
если требуеся РЕГУЛЯРНо искать по ПОЛНОМУ НАИМЕНОВАНИЮ то 1. а какие ваще гарантии что полное наименование совпадает? впихут зпт, длинный дефис, неразрывный пробел - итд - и все. 2. что-то в консерватории не так. в этом случае или ШК или чтото иное д.б. уникальное |
|||
18
Креатив
14.08.20
✎
11:33
|
(17) Поиск по полному наименованию нужен только для того, чтобы не плодить номенклатуру в случае совпадения. А в остальном всё грузится из эксела один в один.
Кстати, перебор справочника не так уж сильно тормозит. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |