Возвращение старого поиска в новых релизах Бухгалтерии предприятия 3.0

13.12.16

Разработка - Работа с интерфейсом

В последних релизах Бухгалтерии предприятия 3.0 почти во всех списках разработчики включили полнотекстовый поиск. Эта статья предназначена для тех, кто воспринимает "в штыки" такие нововведения, я расскажу, как вернуть старый поиск.

Несмотря на то, что полнотекстовый поиск на платформе 8.3 был анонсирован разработчиками достаточно давно (с платформы 8.3.5), в типовых конфигурациях активно он не применялся. В последних релизах Бухгалтерии предприятия 3.0 во многих списках разработчики включили полнотекстовый поиск. Для моих пользователей это оказалось шоком - программа перестала искать.

Конечно, полнотекстовый поиск работает, но пользователи, не видя окна "Найти" путаются. Обычный сценарий использования: Начинают ввод с клавиатуры, в процессе ввода появляется окно "Найти", где указано поле, в котором будет осуществлен поиск, искомый текст и режим поиска "По части строки".

По нажатию на кнопку ввода список отфильтровывается, над списком появляется строка состояния поиска. Пользователь сам определяет, в каком поле и что он ищет. Новый поиск начинает работать сразу же при вводе и действует на все поля, отображенные в списке. Отдельное окно не появляется, цветом подсвечиваются все совпадения поисковых слов.

Несколько дней мы жили с новым поиском. Пользователи мучались, жаловались, саботировали. Жалобы не прекращались, руководством было поставлено задание "сделать все как было".

С чего начать? Нужно понять, чем отличаются формы друг от друга. Выгрузил исходные коды конфигурации с новым поведением поиска и со старым и сравнил исходники форм.

За функциональность нового полнотекстового поиска отвечает дополнение элемента формы с типом "Строка поиска".  Стало понятно, что искать. Нашел статью на ИТС 7.3.1.5. Поиск в динамическом списке. Изучение этой статьи привело к выводу, что новый вариант работы поиска зависит от двух факторов: 1. У формы должно быть вышеуказанное дополнение элемента формы, 2. Динамический список на форме должен иметь свойство "ПоложениеСтрокиПоиска" не равное "Нет".

По идее, достаточно при создании на сервере формы присвоить свойству списка "ПоложениеСтрокиПоиска" значение "ПоложениеСтрокиПоиска.Нет", однако не со всеми формами это срабатывало, в некоторых случаях новый поиск продолжал работать. Программно удалить не созданные программно элементы формы мы не можем, однако можно управлять видимостью. Если у элемента формы "ДополнениеСтрокаПоиска" убрать видимость,  полнотекстовый новый поиск так же перестает работать. В ходе экспериментов родился следующий код, который я поместил в общем модуле:

Процедура ОтключениеНовогоПоискаВСписках(Форма) Экспорт
	
	Список = Форма.Элементы.Найти("Список");
	Если Список = Неопределено Тогда
		Возврат;
	КонецЕсли;
	
	Список.ПоложениеСтрокиПоиска = ПоложениеСтрокиПоиска.Нет;
	
	ДополнениеСтрокаПоиска = Форма.Элементы.Найти("ДополнениеСтрокаПоиска");
	Если НЕ ДополнениеСтрокаПоиска = Неопределено Тогда
		ДополнениеСтрокаПоиска.Видимость = Ложь;
	КонецЕсли;
		
КонецПроцедуры

В процедуру "ОтключениеНовогоПоискаВСписках" нужно передать исправляемую форму.  Но как же это сделать для всех форм сразу?

Первое решение - вручную исправить необходимые формы в конфигураторе с помощью редактора форм. От этого решения сразу отказался - долго и муторно, и обновлять потом конфигурацию сложно.

Второе решение - при открытии формы вызывать процедуру, которая будет программно отключать новый поиск. Процедуру можно вызывать из какой-либо другой процедуры, запуск которой уже прописан во всех формах, в этом случае при дальнейших обновлениях нам нужно будет только следить за этой процедурой - чтобы она не изменилась. Я выбрал  ОбщийМодуль.УправлениеПечатью, в котором имеется:

ПриСозданииНаСервере(Форма, МестоРазмещенияКомандПоУмолчанию, ОбъектыПечати ) Экспорт

Эта процедура вызывается при создании на сервере формы для заполнения команд печати. В этой процедуре пишем код, вызывающий нашу функцию отключения нового поиска в списках:

МойОбщийМодуль.ОтключениеНовогоПоискаВСписках(Форма);

Бухгалтера наслаждаются старым поиском, а мы готовимся к тому моменту, когда режим совместимости "Бухгалтерии предприятия 3.0" позволит нам перенести этот функционал в расширение.

Управляемые формы полнотекстовый поиск модификация формы.

См. также

Богатый редактор картинок, хранимых в базе, с возможностью РИСОВАНИЯ. Редактор внешних файлов картинок. Объект, расширяющий возможности работы с картинками из встроенного языка (Три в одном) + Обработка «Стандартизация картинок»

Работа с интерфейсом Рабочее место Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Платные (руб)

Обработка предназначена для редактирования картинок в режиме «Предприятие», с возможностью РИСОВАТЬ на них. Поддерживается работа как в обычных формах (толстый клиент) так и на управляемых формах (тонкий клиент). Обработка позволяет редактировать как картинки, хранимые в базе, так и графические файлы с диска на файловой системе. Помимо базовых функций (изменение размеров, преобразование формата, обрезание картинки, повороты и т.п.) – редактор имеет богатый набор инструментов для рисования. Доступна функция вставки изображения из буфера обмена. Также обработка может быть использована из встроенного языка как объект для редактирования картинок. Объект может быть использован: на стороне клиента, на стороне сервера, из внешнего соединения. Данная обработка будет особенно полезна тем, кто вносит картинки в базу (изображения номенклатуры, фотографии физических лиц и т.п.). Функционал реализуется с использованием JavaScript и бесплатного ПО ImageMagick (без использования внешних компонент).

6000 руб.

16.01.2015    62232    43    59    

81

Управление дашбордами

Работа с интерфейсом Платформа 1С v8.3 Конфигурации 1cv8 Платные (руб)

Обработка предназначена для создания и управления дашбордами.

2400 руб.

29.06.2020    17065    22    4    

36

Новогоднее оформление для 1С

Работа с интерфейсом Платформа 1С v8.3 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Зарплата и Управление Персоналом 3.x 1С:Управление нашей фирмой 3.0 Бесплатно (free)

Добавьте новогоднего настроения! Расширение создает декорацию в виде гирлянды на некоторых формах объектов.

27.12.2023    11473    769    elcoan    45    

106

Конструктор HTML, CSS и javascript

Инструментарий разработчика Работа с интерфейсом Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Подходит для создания web-страниц для замены управляемых форм 1С, красивых отчетов, интерфейса мобильного приложения на платформе 1С и для простых страниц веб-сайтов.

2 стартмани

10.04.2023    10075    155    acces969    31    

119

Модель состояния для MVC

Работа с интерфейсом Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

"MVC плохо применима в 1С" - познакомьтесь с моделью состояния и, возможно, ваше мнение поменяется! Представленное решение является эволюционным развитием идеи реализации MVC для 1С. В новой версии добавлены DSL для описания модели состояния, а также параметризация свойств параметров и элементов формы.

1 стартмани

05.07.2022    4083    kalyaka    4    

29

Табло очереди заказов на экран телевизора

WEB-интеграция Работа с интерфейсом Платформа 1С v8.3 1С:Розница 2 Платные (руб)

Связка из веб-приложения и расширения для 1С: Розница 2.3.

3600 руб.

29.04.2022    12439    1    5    

11

Условное оформление элементов форм в пользовательском режиме 1С (управление видимостью и доступностью элементов форм)

Работа с интерфейсом Платформа 1С v8.3 Платные (руб)

Подсистема условного оформления элементов форм (далее подсистема) предназначена для настройки оформления элементов форм (видимость, доступность, цвет фона, цвет текста и прочее) в пользовательском режиме 1С. Также подсистему возможно использовать для ограничения доступа к реквизитам формы для определенных пользователей (или групп пользователей).

6000 руб.

18.01.2022    9033    1    2    

6

Программный интерфейс для доработки форм

Работа с интерфейсом Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

Реализовал простой способ программного создания новых элементов, команд и реквизитов на форме.

25.11.2021    9846    AtamanovYS    19    

139
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. dtripleh 13.12.16 17:09 Сейчас в теме
Почему не сделать через подписку на событие?
3. ardn 628 14.12.16 08:11 Сейчас в теме
(1)
Смотрите. С формами связана только подписка на событие менеджера документа (или справочника) - "ОбработкаПолученияФормы". Но в ней можно переопределить форму до ее создания. Не очень понятно, как с помощью подписки внедриться в сам процесс создания формы.
2. Famza 85 13.12.16 17:24 Сейчас в теме
Добрались и до нас управляемые формы в обычном приложении. И поначалу просто ужос у пользователей вызывал поиск по списку номенклатуры, несмотря на то, что поставщик прикрутил дюжину кнопок для поиска - поиск при наборе с клавиатуры не работал. Решилось по принципу "да там просто крыжик не взвели". А именно, у элемента формы, связанного с динамическим списком, реквизиту "ПоложениеСтрокиПоиска" присвоить "Авто", ну и конечно проиндексировать поиск. Инфа тут и тут. Надеюсь поможет кому-нибудь.
4. stol6 49 14.12.16 09:37 Сейчас в теме
Новый поиск гораздо удобнее. Не знаю, что там с вашими пользователями не так...
7. klinval 339 14.12.16 11:07 Сейчас в теме
(4)
Новый поиск гораздо удобнее. Не знаю, что там с вашими пользователями не так...

Этот поиск не всегда ищет правильно. На форуме http://forum.infostart.ru/forum8/topic158831/ я уже описывал пару примеров для демо базы. Повторю:
1. Дробные суммы поиск искать не умеет.
2. Документ имеет номер ИИ00-000006. Раньше раз я помню, что документ №6 я искал: "006" в номере (количество нулей в зависимости от массовости документов, если база полу пустая то 06, если много документов то 00006 и т.д.). Сейчас же всё странно и не прозрачно: 6 - находит, 06 - находит, по 006 - уже не находит... по 000006 - находит и по ИИ00-000006 находит.

BigB; ardn; +2 Ответить
8. ardn 628 14.12.16 11:17 Сейчас в теме
(4) (7) Новым поиском надо уметь пользоваться, в голове постоянно держать правила составления запроса, чтобы поиск отработал корректно. Для нового поиска нужно поддерживать актуальность индекса, что не всегда возможно.
10. stol6 49 14.12.16 11:50 Сейчас в теме
(4) 1. У меня ищет. 2. Обновите индекс.
(8) За обновление индекса отвечает регламентное задание, не отключайте его. И зря вы прогибаетесь под пользователей...
11. klinval 339 14.12.16 12:43 Сейчас в теме
(10)
1. У меня ищет. 2. Обновите индекс.

Очистил индекс. Выключил полнотекстовый поиск. Включил поиск. Обновил индекс. Демо база Бухгалтерия предприятия (3.0.44.202).

1. В базе есть документ поступления на "306 163,86 руб." (см. "До поиска.PNG"). Копируем. Ctrl+F. Вставить. Результат - ничего не найдено. (см. "Ничего не найдено по сумме.PNG"). Меняем на "306163,86" - опять не ищет. Сделал для примера "86" - тоже не нашёл.
В этой же базе ищу другой документ на 100 руб по "100,00" - находит, "100" - находит

2. Делаю поиск по номеру 6 старым способом (см. "Старый поиск по номеру 6.PNG"). Мы видим документы: "РО00-000006", "КП00-000006", "КС00-000006", "ТД00-000006" и "КП00-000006". Т.е. 5 документов.
Новым поиском по номеру 6 находит те же документы.
Старым поиском ищу по номеру "06". Те же 5 документов.
Новым поиском по номеру "06". Находит только документ "РО00-000006". (см. "Новый поиск по 06.PNG"). Это ошибка!. Куда делись остальные документы?
По "006" находит "КП00-000006". Почему именно его? А где остальные?

Вы пишите, что у вас всё находит. Я индекс очистил/обновил и у меня не работает. Прикрепил скриншоты. Прошу вас тоже показать скришотом какие документы вы ищете по какой строке поиска, что у вас работает!
Прикрепленные файлы:
12. stol6 49 14.12.16 13:01 Сейчас в теме
(11) В чем у тебя проблемы, я просто не понимаю.
Открываю какой либо список. Отмечаю нужную колонку, в которой буду что-то искать.
Жму ALT-F. Ввожу то, что ищу. Для примера ввожу дробное число 7101,32.
Получаю нужный мне отбор.
Прикрепленные файлы:
14. ardn 628 14.12.16 13:09 Сейчас в теме
(12) Alt-F - это обычный старый поиск, попробуйте найти через Ctl-F (или поле полнотекстового поиска в правом верхнем углу списка)
15. klinval 339 14.12.16 13:12 Сейчас в теме
(12)
Жму ALT-F
:))))))
Про что я и говорю. Старый поиск (который теперь открывается по ALT+F) - работает! А новый Ctrl+F - не работает!
Вы нажмите Ctrl+F и введите "7101,32"))
13. stol6 49 14.12.16 13:03 Сейчас в теме
(11)
Прикрепленные файлы:
16. ardn 628 14.12.16 13:12 Сейчас в теме
(10) Проблемы, связанные с полнотектовым поиском хорошо описаны в статье и комментариях к ней Улучшение поиска...
5. glek 119 14.12.16 10:44 Сейчас в теме
В большинстве форм есть вызов "СобытияФорм.Присозданиинасервере" (как то так). В котором вызов похожей процедуры из ОМ "Переопределяемыйчего-тотам" (не помню, можно посмотреть в модуле СобытияФорм). Вот в этом Переопределяемый ставим вызов своей процедуры "При создании".
6. ardn 628 14.12.16 11:01 Сейчас в теме
(5) БП 3.0 нас таким не балует, все вызовы общих модулей строго по конкретному делу: печать, версионирование, доп отчеты и обработки и т.д. Но с "переопределяемый" полностью согласен - это лучший вариант для внедрения своего кода
9. sarp 14.12.16 11:24 Сейчас в теме
Отлично! То что нужно, собирался заняться поиском на следующей неделе, а тут практически все есть)) Надеюсь все будет как хотелось бы)) спасибо автору!
17. stol6 49 14.12.16 13:20 Сейчас в теме
Через CTRL-F не ищет. Но по ALT-F для меня всегда был расширенный поиск, а не старый. Им всегда и пользовался.
18. ardn 628 14.12.16 13:27 Сейчас в теме
(17)
Им всегда и пользовался.

Сколько вы себя перестраивали, чтобы перед поиском нажимать на ALT-F? Раньше то можно было нажать на CTRL-F (стандартный поиск во всех приложениях) или просто начать ввод с клавиатуры.
19. stol6 49 14.12.16 13:31 Сейчас в теме
(18) Относительно недолго, узнав что по данному сочетанию клавиш вызывается окно расширенного поиска.
Тогда непонятен смысл Вашей доработки. "Старый" поиск работает.
21. klinval 339 14.12.16 13:38 Сейчас в теме
(19)
Тогда непонятен смысл Вашей доработки. "Старый" поиск работает.

Да работает, но под новым сочетанием клавиш. Да и ввод слов на клавиатуре активирует именно новый поиск, что тоже неудобно... Во всех приложениях поиск Ctrl+F, а тут Альт+F. Просто вопрос удобства.
Можно по F1 сделать проведение документа а по Ctrl+Enter открытие справки. Да, все со временем привыкнут, но зачем так делать?
20. klinval 339 14.12.16 13:33 Сейчас в теме
(17)
Но по ALT-F для меня всегда был расширенный поиск, а не старый.

Вы сами в (4) комментарии написали
Новый поиск гораздо удобнее.

Из чего я сделал вывод, что расширенный поиск для вас старый. Поэтому видимо и произошло недопонимание.

(17)
Через CTRL-F не ищет.

Про что и речь. Поиск работает некорректно, а принудительно выставлен фирмой 1С как основной (набор слова в списке активирует именно этот поиск, а не старый/расширенный).
Зато 1С-ники заявляют, что документ теперь можно искать по словам "Конф Инв усл". Интересно кто-нибудь так ищет?:))
22. klinval 339 14.12.16 14:45 Сейчас в теме
Лично у меня пока все поутихли с этой темой (смена поиска), поэтому пока будем думать внедрять или не внедрять.
Автору однозначно плюс за найденное решение.
23. Новиков 292 15.12.16 11:01 Сейчас в теме
Честно говоря, не прочитав комментарии до конца, я тоже так и не понял с какой проблемой боролся автор. Особенно в свете громкого "Для моих пользователей это оказалось шоком - программа перестала искать." ©

Автору дружеский совет: прежде чем описывать решение проблемы, кажется, нужно было подробнее описать со скриншотами как было, и как стало. И что в "как стало", автор переделал.

На мой взгляд проблема решается сугубо рассылкой с новым шорткатом и пояснительным роликом. Кто не хочет/не желает/саботирует - это их проблемы. Прогибаться, в такой, не побоюсь этого слова, мелочи, не стоявшей выведенного яйца, кажется не стоит. Но это лично мнение, и если автор человек подневольный, то велосипед - годный.
24. klinval 339 15.12.16 12:18 Сейчас в теме
(23)
Кто не хочет/не желает/саботирует - это их проблемы. Прогибаться, в такой, не побоюсь этого слова, мелочи, не стоявшей выведенного яйца, кажется не стоит.

Поиск работает некорректно (см. мои сообщения и ссылку на форум). Корректный поиск по Alt+F. Причём даже в некоторых местах 1С нужно вызывать Ctrl+F нормальный поиск (например в табличной части). Явно неудобно. Причём неудобно было и программисту. Термин "прогибаться" предполагает, что программист несмотря на своё мнение пошёл на поводу у пользователей. А если 100% программистам и 100% пользователям не нравится данное нововведение, то это явно не прогиб. У нас так, думаю у автора статьи тоже.

И у меня вопрос к вам: на какой конфе и платформе работаете? Франч или фикси? Просто мне как фикси, активно допиливающему БП 3.0, чисто из названия темы было понятна проблема, т.к. у самих был шок когда 1С ввело новый поиск как основной. Согласен, что если человек с этим не столкнулся то из описания возможно не понятна будет проблема. Но это уже дело автора будет он добавлять описание проблемы, чтобы люди не знакомые с БП 3.0 поняли проблему...
25. Новиков 292 15.12.16 15:59 Сейчас в теме
(24)
Но это уже дело автора будет он добавлять описание проблемы


Вроде бы в (23) о том же:
Автору дружеский совет:


Поиск работает некорректно. Корректный поиск по Alt+F

Мне сложно понять максимализм фразы, с учетом того в конфигурации 3 различных механизма поиска, а также того факта, что раньше расширенный поиск, вызывался по Ctrl+F, а теперь по Alt+F, а на Ctrl+F повешен другой механизм. Можно ли говорить в этом случае, что "поиск работает не корректно"? Вы пишите "100% программистам и 100% пользователям" с учетом, "мне как фикси". Надеюсь ответил на ваш вопрос. Вы, штатный сотрудник так же, организации, как сами пишите - активно работающей и модифицирующей... и по тексту. В массовом же сегменте, когда на обслуживании стоят не сотня, но сотни конфигураций сотен клиентов, которые за любые доработки платят свои кровные деньги, эта проблема решается просто новыми шорткатами. Если клиент захочет как автор, вернуться в старую ламповую теплоту Ctrl+F для диалога расширенного поиска - пожалуйста. Лично мне, как сотруднику франчайзи, пока такое не встречалось. Какие нотки грусти и тоски слышал, но не саботаж. Я так полагаю, у автора, как и у вас - несколько другие условия работы, когда подобные ситуации, уже переходят в разряд проблем, и вам их нужно решать. И прогибаться, как я написал, по данному вопросу, не стоит рассматривать как некий такой плевок у лицо или что-то подобное. Более того, вы и ваши пользователи могли бы на ситуацию повлиять, приняв участие в соответствующем опросе от самой 1С по поводу этого механизма. Более того, если уж настолько у вас негодование - можно было даже оставить какие-то телефоны для контакта с вами лично, в случае, если вы правда негодуете адово.
26. klinval 339 15.12.16 16:41 Сейчас в теме
(25)
Мне сложно понять максимализм фразы, с учетом того в конфигурации 3 различных механизма поиска, а также того факта, что раньше расширенный поиск, вызывался по Ctrl+F, а теперь по Alt+F, а на Ctrl+F повешен другой механизм. Можно ли говорить в этом случае, что "поиск работает не корректно"?

Если один из способов работает некорректно можно ли говорить что в 1С нельзя ничего найти? Нет нельзя. Если один из рядя способов лажает при определенных ситуациях можно ли сказать, что именно этот способ работает некорретно? Думаю да. О чём я и пишу. Я естественно не имел ввиду, что способов поиска вообще нет. Они есть, но способ поиска по-умолчанию, как мне кажется, самый неудобный и к тому-же некорректно работающий.
которые за любые доработки платят свои кровные деньги

Этим всё объясняется. У нас привыкли при неудобствах в работе программы напрягать программистов, а не терпеть. Если хотите при следующем посещении можете устроить опрос в бухгалтерии ваших клиентов: "Если бы я вам за бесплатно переделал на старый механизм поиска вы бы согласились?". Может я ошибаюсь, но мне кажется больше половины согласились бы. Если конечно у них база не на поддержке и бесплатный сыр сегодня предполагает постоянный вызов программиста при обновлении :)
Более того, вы и ваши пользователи могли бы на ситуацию повлиять, приняв участие в соответствующем опросе от самой 1С по поводу этого механизма.

Можно ссылку, пожалуйста. Обязательно приму участие если опрос ещё существует. Не знал что такой ведётся.
27. ardn 628 15.12.16 16:42 Сейчас в теме
(25) Кстати, принимал участие в том самом опросе, по поводу поиска ответил негативно.
28. kraynev-navi 649 16.12.16 09:02 Сейчас в теме
(0) Автору плюс. Реализовали у себя с дополнительной плюшкой - ввели доп.настройку пользователя, которая отвечает за поведение отключения.Кому надо вернули как было, кому и так хорошо, оставили.

(23) По поводу прогибов.
Да посылать пользователей с их пожеланиями сразу. Они, вообще, кто здесь?!
29. v3rter 16.12.16 17:43 Сейчас в теме
(28) Не везде получается "посылать пользователей", есть места, где они организованно несут руководству служебки "верните как было, у нас падает производительность, мы не можем работать". Угадайте действия руководства.
30. Lukich66 82 18.12.16 17:35 Сейчас в теме
(28)
Да посылать пользователей с их пожеланиями сразу. Они, вообще, кто здесь?!
оч.смахивает на 1с_вирус, на сег день неизлечим.
31. ardn 628 19.12.16 06:02 Сейчас в теме
(30) Думаю, все же в (28) была ирония
32. kraynev-navi 649 24.12.16 12:41 Сейчас в теме
(31) вы правы. Просто иногда слушаешь некоторых товарищей и думаешь, что они занимают слишком высокие должности вида Царь 1С и т.д.
Мы для кого, собственно, работаем?
33. user613525 01.11.18 11:27 Сейчас в теме
Спасибо огромное, Юрий, очень выручили! В новых релизах вообще кошмарный поиск стал, с радостью вернулись на старый вариант. Единственное процедура УправлениеПечатью.ПриСозданииНаСервере уже устарела, вместо нее используется ПриСозданииНаСервере из Общего модуля "Подключаемые команды". Потестируем еще, позже отпишусь подробно
34. user613525 11.01.19 11:53 Сейчас в теме
В общем все пучком, после обновления на 3.0.67.43 поставил опять - полет нормальный. Еще раз огромное спасибо!
35. pvl_mksv 20 14.10.19 23:26 Сейчас в теме
Автору - большое человеческое спасибо! Будем внедрять!
36. korol-ar 19.11.19 16:31 Сейчас в теме
Не прогибаться под пользователей в данном случае - это примерно как после очередного ТО на вашей машине сигнал клаксона с центра руля переместят на рычаг поворотника на французский манер. Привыкайте, че...
Оставьте свое сообщение