Контакты

1с бухгалтерия 8.3 не работает поиск

Совет1: Отключить полнотекстовый поиск*

Большинство бухгалтеров не знают о существовании данной функции и никогда ею не пользуются (Сервис - Поиск данных)

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

Механизм полнотекстового поиска в 1С по умолчанию включен. Чтобы отключить полнотекстовый поиск, нужно зайти Операции - Управление полнотекстовым поиском -Настройка и убрать признак «Разрешить полнотекстовый поиск »

Отключение механизма полнотекстового поиска осуществляется в монопольном режиме (никто не должен работать в программе, кроме вас)**

Отключение механизма полнотекстового поиска дает увеличение производительности до 10%.

Совет2: Пересчет итогов*

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

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

Для того, чтобы выполнить пересчет итогов требуется зайти в Операции - Управление итогами, установить дату по которую рассчитать итоги (начало текущего месяца) у раздела «Все регистры» и нажать кнопку «Выполнить»

Пересчет итогов осуществляется в монопольном режиме (никто не должен работать в программе, кроме вас)**

Пересчет итогов дает увеличение производительности до 10%.

Совет3: Отключить версионирование объектов***

Большинство бухгалтеров не знают о существовании данной функции и не используют ее.

В отличие от стандартного журнала регистрации версионирование объектов позволят хранить информацию не только о том, какой пользователь работал с документом, но и что именно он изменил (Сервис - История изменения объектов). Данный режим бывает полезен, но рекомендуется включать его только для определенного списка документов, т.к. он ведет к снижению производительности 1С и росту информационной базы

Настройка версионирования осуществляется через Операции - Настройки программы -Версионирование. Если настройка не требуется, то нужно убрать признак «Использовать версионирование объектов».

Если настройка нужна для определенного перечня документов, то зайти в «Настройку версионирования объектов» и правой кнопкой мышки установить настройку «Версионировать» для нужных объектов**

Отключение версионирования дает увеличение производительности до 5%.

_________________________________________________________________

*Для конфигураций на базе «1С:Управление Производственным предприятием», «1С:Комплексная автоматизация», «1С: Бухгалтерия предприятия 2.0», «1С:Управление Торговлей 10.3»

**Перед выполнением регламентных операций с базой обязательно создание копии базы.

***Для конфигураций на базе «1С:Управление Производственным предприятием», «1С:Комплексная автоматизация».

Хитрости при работе в 1С:Бухгалтерии 8.3 (редакция 3.0) Часть 2

2017-02-09T10:31:17+00:00

Этой статьей я продолжаю серию заметок об эффективных приемах работы в 1С:Бухгалтерия 8.3. Рассказываю о хитростях, которые мало кто знает и ещё меньше людей используют в своей работе. Приемы, о которых пойдет речь, способны существенно сэкономить время и повысить вашу квалификацию как специалиста. Первая часть доступна .
п

Прием №4: Поиск в текущей колонке сразу после начала набора текста.

Как вы ещё не пользуетесь этой потрясающей возможностью? В любом журнале (будь-то справочник или документы) выделите любую строчку в любом столбце и просто начинайте набирать текст.

Система автоматически будет отбирать строки, в которых содержится вводимое вами значение в одном из столбцов:

Если нужно отменить фильтр - нажмите кнопку Esc на клавиатуре или на крестик в поле поиска:

Но что, если нам нужно искать не во всех колонках, а только в конкретной?

Для поиска в текущей (выделенной) колонке используйте комбинацию Alt + F или пункт меню "Ещё"->"Расширенный поиск":

Для мгновенного отбора (без отображения диалогового окна) по текущей колонке и по выделенному в ней значению используйте комбинацию Ctrl + Alt + F или пункт меню "Ещё"->"Найти:...".

Например, давайте отберём все документы в номере которых встречается цифра 8. Для этого выделим столбец "Номер" в любой строке и нажмём Alt + F.

В открывшемся окне наберём цифру 8 и нажмём "Найти":

Отлично, в списке остались документы в номере которых (в любой позиции) содержится цифра 8:

Для отмены отбора нажмём комбинацию Ctrl + Q или удалим отбор с верхней панели (крестик):

Внимание! Если поиск не срабатывает (получается пустой отбор) - вероятно у вас включён полнотекстовый поиск и не обновлён его индекс.

Полнотекстовый поиск настраивается в разделе "Администрирование" пункт "Поддержка и обслуживание":

Прием №5: Ввод в поле ввода по строке.

Пусть вам требуется забить поле контрагент в документе "Поступление товаров и услуг" и вы знаете, что контрагент называется как-то на "аэро".

И вы вместо того, чтобы выбирать контрагента из списка, просто возьмите и начните в поле ввода контрагент набирать текст "аэро". Как видите система сама подсказывает возможные варианты контрагентов, которые начинаются с этих букв. Искомый аэрофлот найден - осталось просто выбрать его.

И так можно в любых полях!

Прием №6: Суммирование выделенных ячеек в отчетах.

Просто выделяйте нужные ячейки мышкой - сумма автоматически отобразится в поле указанном на рисунке. А если нужно выделить ячейки не находящиеся рядом - используйте клавишу CTRL. Зажмите её и выделяйте нужные ячейки в отчете, чтобы получить их сумму.

Прием №7: Сохраняйте любые печатные формы в любом удобном формате.

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

Теперь выберите имя и формат для документа. Это может быть excel, word, pdf, html и многие другие популярные форматы.

Функциональность нового поиска основана на двух механизмах:
- полнотекстовый поиск (работает очень быстро и требует минимум вычислительных ресурсов);
- поиск средствами СУБД (в общем случае длительность поиска и затраты вычислительных ресурсов пропорциональны объему информации в таблице).

В текущей реализации поиск в списке будет осуществляться без использования полнотекстового поиска в следующих случаях ():
- полнотекстовый индекс выключен на уровне информационной базы;
- объект основной таблицы не индексируется полнотекстовым индексом;
- в результате поиска с помощью полнотекстового поиска, была получена ошибка.

Если же полнотекстовый поиск включен в информационной базе, а индекс не обновлен совсем или частично (из моей практики 95% информационных баз Заказчиков), то пользователь при поиске получит либо недостоверный, либо пустой результат поиска.

Спрашиваем у Фирмы 1С - как быть? как гарантировать достоверность результатов поиска всегда?
Получаем ответ: Да, для того, чтобы результаты поиска при включенном полнотекстовом поиске были актуальными, нужно следить за тем, чтобы индекс полнотекстового поиска был актуальным.Других вариантов эффективного и актуального поиска пока нет ().

А существует ли вообще "актуальный полнотекстовый индекс"? Зависит от числа пользователей, интенсивности изменения информации в базе и частоты запуска обновления индекса. Обычно обновление индекса запускают раз в 60 секунд. Хорошо, если объектов было изменено не много, и процедура успела обработать все изменения за эти 60 секунд. А если сделали перепроведение группы документов, или массовую перезапись справочника? В этом случае никто не может гарантировать время, через которое поиск по индексу снова даст достоверные данные.
В принципе, это не особо критично, кроме нескольких ситуаций. Частый вариант работы пользователей - установить в списке отбор по какому-то значению, например "Контрагенту", ввести новый или скопировать существующий документ и записать. Со старым поиском новый документ моментально был виден в списке. Теперь пользователь его увидит только через N секунд в лучшем случае, где N скорее ближе к 50-60 секундам, нежели к 2-3.
Если не заметить, что нового документа нет и по отобранным результатам предоставить информацию кому-либо, то она будет заведомо недостоверной.

Это было в случае нормальной работы с информационной базой. А что будет в специфических ситуациях? Приведу пару примеров.
1) В рабочей базе полнотекстовый индекс включен и часто обновляется. Пользователь просит развернуть ему копию рабочей базы, что по ней заняться анализом данных.
Восстанавливаем бэкап и даем доступ. Вот только полнотекстовый поиск работать не будет, т.к. индекс хранится не в СУБД, а в отдельных файлах (и в файловом, и в клиент-серверном варианте). Индекса нет в dt-файле.
т.е. чтобы пользователь смог использовать поиск по спискам - надо выключить полнотекстовый индекс в этой базе. Правда пользователь будет слегка удивлен тому, что поиск будет выполняться гораздо дольше. Либо перестроить индекс по всей базе.

2) (Актуально для более менее больших баз). В рабочей базе полнотекстовый индекс включен и часто обновляется. Наступает конец месяца и начинается закрытие периода. Начинаем массово грузить и перепроводить документы. Для снижения нагрузки на систему блокируем выполнение регламентных заданий, соответственно, и обновление индекс останавливается. Пользователи будут, мягко говоря, в недоумении - чего же в списках нет новых или измененных документов. Единственный выход - отключить полнотекстовый поиск для информационной базы, и, соответственно, получить еще большую нагрузку на оборудование за счет тяжелого поиска по всем реквизитам.

Таким образом, как мне кажется, операция по обновлению индекса станет еще одной головной болью администраторов информационных баз.
Система, ранее гарантировавшая 100% достоверность и актуальность информации в любой момент, сейчас превращается скорее в справочную систему, в которой нельзя быть полностью уверенным.
А пользователи получают еще один повод для упрека ИТ-шников - "ваша система неправильно работает".

В новой версии 1С 8.3.5 улучшена работа с настройками списков.

Теперь настройки выглядят проще , пользоваться ими удобнее и, самое главное, теперь настройки списков сохраняются .

Также для облегчения работы пользователей настройка списков максимально похожа на настройку отчётов.

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

Как было сказано выше, все настройки списков (отборы, сортировка, группировка и условное оформление) теперь сохраняются автоматически. Но кроме этого настройки теперь можно сохранить и вручную , задав для них какое-нибудь понятное имя. В результате для одного и того же списка пользователь может хранить несколько вариантов его настройки. Такая возможность будет весьма полезной для сложных списков, в которых используются различные варианты условного оформления.

Поиск в списках.

Был переработан механизм поиска в списках. Поиск стал более удобным и понятным .

Первое внешнее отличие заключается в том, что теперь в командной панели формы присутствуют два новых элемента : «Строка поиска» и «Управление поиском».

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

Очень удобной возможностью нового поиска является поиск по номеру без учёта лидирующих нулей . Например, чтобы найти накладную с номером 000000011, достаточно набрать на клавиатуре (или в строке поиска) «11»:

В платформу возвращена команда «Поиск по текущему значению» . Теперь возможно легко найти все строки таблицы, в которых содержится то же значение, что и в выделенной ячейке. А над таблицей отображаются те значения, по которым найдены строки таблицы. Стало наглядно видно , что таблица показывает не все данные, а только некоторую часть. И значения, по которым выполнен поиск, вы теперь можете легко удалить или изменить на другие значения.

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

Расширенный поиск.

Механизм поиска, существовавший в платформе раньше, остался, и называется теперь «Расширенный поиск». Немного изменился внешний вид его диалога и была добавлена возможность поиска по началу строки.

Для вызова расширенного поиска есть отдельная команда и, кроме этого, платформа использует его тогда, когда меняются значения, по которым уже выполнен поиск.

Выбор периода.

Переработан диалог выбора периода. Этот диалог используется в отчётах, для задания периода, за который должны быть показаны данные. А также этот же диалог используется в списках документов для поиска документов, относящихся к определенному периоду.

Отбор списка документов по периоду можно считать одним из способов их поиска — поиск по дате. Поэтому команду установки периода размещена в управлении поиском.

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

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

В данном окошке можно наблюдать три кнопки: Настройка - Включение/Отключение полнотекстового поиска;

Обновить индекс Создание индекса/Обновление индекса; Очистить индекс – обнуление индекса(рекомендуется после обновления всех данных); пункт Разрешить слияние индексов отвечает за слияние основного и дополнительного индекса.

Полнотекстовый поиск осуществляется при помощи полнотекстового индекса. При отсутствии индекса полнотекстовый поиск как таковой не возможен. Для того чтобы поиск имел результат, все необходимые данные должны быть включены в полнотекстовый индекс. Если пользователем введены в базу новые данные, их следует включить в рассматриваемый индекс, иначе они не будут участвовать в поиске. Чтобы этого избежать, необходимо обновлять полнотекстовый индекс. При обновлении система анализирует только определенные типы данных: Строка, Данные ссылочного типа (ссылки на документы, справочники),Число, Дата, ХранилищеЗначения . Если пользователь не имеет прав доступа к определенной информации, то он не сможет увидеть ее в результатах поиска. Следует также помнить и о том, что в свойствах объектов, по которым будет происходить поиск должно быть установлено значение Полнотекстовый Поиск – Использовать , которое задано по умолчанию.

Как вы можете заметить свойство Использовать установлено для всего справочника РегНомера , но сделать это можно и для каждого его реквизита соответствующего типа.

Рассмотрим более подробно полнотекстовый индекс, который состоит из двух частей (индексов): основного индекса и дополнительного . Высокая скорость поиска данных обеспечивается за счет основного индекса, но обновление его происходит относительно медленно, в зависимости от объема данных. Дополнительный индекс ему противоположен. Данные добавляются в него намного быстрее, но поиск осуществляется медленнее. Система осуществляет поиск одновременно в обоих индексах. Большая часть данных находится в основном индексе, а данные добавляемые в систему попадают в дополнительный индекс. Пока объем данных в дополнительном индексе небольшой, поиск по нему происходит относительно быстро. В тот момент, когда нагрузка на систему невелика, происходит операция слияния индексов, в результате чего дополнительный индекс очищается, а все данные помещаются в основной индекс. Слияние индексов предпочтительнее выполнять в тот момент времени, когда нагрузка на систему минимальна. С этой целью можно создавать регламентированные задания и задания по расписанию.

Рассмотрим случай автоматического обновления индекса при запуске приложения. Данный случай подходит для однопользовательских баз данных (в качестве однопользовательских баз данных могут выступать такие продукты как 1С Бухгалтерия Базовая, 1С Упрощенка ), так как при большом количестве пользователей обновление будет происходить после запуска приложения каждого из пользователей, что в результате очень сильно скажется на производительности системы.

Для начала создадим общий модуль и назовем его, к примеру ПП. В нем пропишем следующую процедуру:

Процедура ОбновлениеИндексы() Экспорт

ПолнотекстовыйПоиск.ОбновитьИндекс();

КонецПроцедуры

Так же установим свойства как на рисунке.

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

ОбновлениеПолнотекстовогоПоиска.ОбновлениеИндексы ();


Сохраняем внесенные изменения. Таким образом, после каждого запуска приложения индекс будет обновляться автоматически.

Теперь рассмотрим случай, когда пользователей несколько. Здесь воспользуемся Регламентными Заданиями (в режиме Конфигуратор: в дереве конфигурации – Общие – Регламентные Задания). В данном случае нас интересуют только два задания: ОбновлениеИндексаПолнотекстовогоПоиска и СлияниеИндексаПолнотекстовогоПоиска. В свойствах этих заданий выберем Расписание и нажмем на сслыку Открыть.

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

Перейдем в режим Предприятия и выполним следующее: Запустим нашу обработку, которая в данном случае будет вызываться каждые 5 секунд и, в свою очередь вызывает метод “ВыполнитьОбработкуЗаданий()”. Данный метод проверяет настало ли время выполнять задания согласно их расписанию. Далее перейдем в пункт меню Операции – Константы – Настройка программы – вкладка Обмен Данными.

Определим пользовательский сеанс, который будет отвечать за выполнение и установим интервал опроса регламентных заданий. Работать в данном сеансе не рекомендуется, так как это может сказаться на производительности системы. Также на дисках ИТС имеется обработка “ЗапускРегламентныхЗаданий ”, которая принудительно запускает регламентные задания по выбору пользователя. Форма данной обработки выглядит следующим образом:

Таким образом все подготовительные работы выполнены и можно приступать непосредственно к самому поиску данных.

Чтобы начать работать с полнотекстовым поиском необходимо выполнить следующую команду: меню Сервис à Поиск данных .

После чего появится следующее окно:

Нажав на кнопку Настройки , появится поле с дополнительными настройками, такими как: Ограничение области поиска , Нечеткость , Размер Порции (в данном случае значение = 5, что означает вывод по пять результатов поиска на страницу). Параметр Нечеткость обозначает несовпадение части символов в поисковом запросе и полученной в ходе поиска информации. Нечеткость задается в процентном соотношении.

Полнотекстовый поиск может использовать следующие операторы:

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

В клиент-серверном варианте планированием выполнения заданий занимается планировщик заданий.

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

Текущий список регламентных заданий в планировщике может автоматически изменяться (например, когда создается новое или удаляется уже существующее регламентное задание). В любом случае механизм заданий обеспечивает актуальность списка регламентных заданий планировщика и его соответствие спискам регламентных заданий информационных баз кластера.

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

Спасибо!

Понравилась статья? Поделитесь ей