Имя: Пароль:
1C
1С v8
Реквизит в расширении и поиск в динамическом списке
0 Stolz
 
01.12.21
13:53
Всем доброго времени суток!

Платформа 8.3.17.1851, конфигурация на замке, снимать с замка нельзя. Имеется динамический список с произвольным запросом. В расширении конфигурации добавляю к справочнику строковый реквизит, устанавливаю для него индексирование и полнотекстовый поиск. Изменяю с учётом этого текст произвольного запроса динамического списка, помещаю новый элемент на форму, в пользовательском режиме вижу соответствующую колонку с данными. До сих пор всё замечательно. Однако если в форме, где отображается список, открыть окно поиска по  Alt-F, то в перечне «Где искать» добавленного реквизита нет. Что нужно сделать, чтобы он там появился? Отдельное самописное окно поиска создавать нежелательно. Заранее благодарен за ответы.
1 Stolz
 
02.12.21
09:31
Ни у кого никаких идей?
2 Dmitrii
 
гуру
02.12.21
09:50
(0) А нафига было в расширении править форму списка?
Если форма списка обычная и поле Ссылка используется всегда, то добавить поля от Ссылка пользователь может сам в диалоге настройки формы (Ещё - Изменить форму... - Добавить поля). Поиск по выведенным таким образом полям производится нормально.
Можно даже выводить поля от реквизитов. Например, в форме списка документов вывести Ссылка.Договор.НомерДоговора и по Alt+F будет  возможность искать по колонке "Номер договора".
Возможно, это какая-то особенность расширений. Хотя вряд ли.

ОФФ.
>> снимать с замка нельзя.
Идиотизм. Бывают конечно особые случаи (например, база во фреше), но если это заскок заказчика, то бегите от них.
Реквизиты типовых объектов и свои новые объекты лучше добавлять в самой конфе.
Дорабатывать формы - в расширении. Причем в данном конкретном случае доработка формы не нужна.
3 Фрэнки
 
02.12.21
10:22
(0) Если бы в справочник был добавлен дополнительный реквизит, а не через реквизит в расширении, то сработает все типовым способом.

Даже если хочется или нужно изменить текст запроса для поля динамического списка с учетом нового реквизита, то все равно лучше делать его допреквизитом, хотя с текстом запроса возни будет больше
4 Stolz
 
02.12.21
12:03
(2) (3)
Кабы всё было так просто, то и вопрос бы не возник. В том-то и дело, что не может. Используется конфигурация «Зарплата и управление персоналом КОРП, редакция 3.1 (3.1.19.80)», динамический список расположен в форме ФормаСпискаСотрудников типовой обработки СписокСотрудников. Если в указанном окне нажать на кнопку «Добавить поля», то открывается окно «Выберите поля для размещения в форме», и в нём не предлагается никаких полей.

С расширениями это вряд ли как-то связано, так как в списке при стандартных настройках выводится что-то около десятка полей, а означенный поиск можно проводить только по двум: «Имя» и «Должность по штатному расписанию». Можно, например, настройкой формы вывести в список поле «Подразделение». Ни поле, ни реквизит, откуда читаются данные в поле, в этом случае по своим свойствам ничем не отличаются от поля «Должность по штатному расписанию», кроме того, конечно, что данные ссылаются на другой справочник. Вот в том-то и проблема, что по одному полю поиск возможен, а по совершенно аналогичному - нет.
5 Фрэнки
 
02.12.21
12:28
(4) ну а кто мешал сразу написать, что трах происходит там-то и там-то ...

ЗУП КОРП хоть и на общем БСП сидит, но работает со своими оригинальными извращениями.
6 Stolz
 
02.12.21
14:27
(5)

А при чём тут именно ЗУП КОРП? Вопрос в том, от чего зависит возможность расширенного поиска в динамическом списке. Окно расширенного поиска является, насколько знаю, системным и, стало быть, конфигурированию не поддаётся.
7 hhhh
 
02.12.21
14:58
(6) на закладке сортировка что у вас? там где произвольный запрос?
8 Stolz
 
02.12.21
16:08
(7)

На закладке «Порядок» - поле «Наименование», направление сортировки - «По возрастанию». Поле «Наименование» выводится в списке под заголовком «Имя», и по нему возможен поиск. Однако поля «Должность по штатному расписанию» на закладке «Порядок» нет, но поиск по нему в динамическом списке также возможен.
9 hhhh
 
02.12.21
19:00
(8) ну, добавьте нужное поле.
10 Stolz
 
12.01.22
11:41
Как оказалось, причина в следующем. В запросе динамического списка было написано так:

ВЫБРАТЬ РАЗРЕШЕННЫЕ РАЗЛИЧНЫЕ
    Реквизит.Поле КАК МоеПоле,
    <...>
ИЗ
    XXXXXXX.YYYYY
{ГДЕ
    Реквизит.Поле,
<...>
}

Нужно же было написать так:

ВЫБРАТЬ РАЗРЕШЕННЫЕ РАЗЛИЧНЫЕ
    Реквизит.Поле КАК МоеПоле,
    <...>
ИЗ
    XXXXXXX.YYYYY
{ГДЕ
    Реквизит.Поле КАК МоеПоле,
<...>
}
Здесь можно обсудить любую тему при этом оставаясь на форуме для 1Сников, который нужен для работы. Ymryn