Автоматическое извлечение текстов 1с что это
Автоматическое извлечение текстов 1с что это
Использован релиз 3.0.104
В программе «1С:Бухгалтерия 8» (ред. 3.0) реализован механизм полнотекстового поиска во всех полях любого справочника, документа, списка и др.:
Если работа поиска по каким-то причинам нарушена, либо осуществляется медленно, рекомендуется очистить индексы и затем обновить их (рис. 2). Эти действия доступны только пользователям с правами «Администратор».
Внимание! При работе через облачные технологии операции по очистке и обновлению индексов выполняются автоматически.
Для автоматического обновления индексов, быстрой и корректной работы поиска должно быть настроено выполнение двух регламентных заданий – «Обновление индекса ППД» и «Слияние индекса ППД». Обычно эти регламентные задания настроены по умолчанию и выполняются в программе ежедневно по расписанию в автоматическом режиме (например, каждый день с 8.00 каждый час).
Внимание! При работе через облачные технологии регламентные задания выполняются автоматически, их настройка не требуется.
Смотрите также
Извлечение текста. Пример использования
Задача
Необходимо написать небольшую конфигурацию, в которой должен быть функционал по прикреплению документов (doc, xls, txt и т.д.). При этом текст документов в дальнейшем используется в полнотекстовом поиске, с помощью которого пользователи находят необходимые им документы. Чтобы не усложнять пример, прикрепляемые файлы будут храниться непосредственно в реквизите элемента справочника, как и извлеченный текст.
Поиск по содержимому документов реализуем с помощью отдельной обработки, где пользователь вводит строку поиска. В результате обработка показывает все документы, в которых содержится набранная строка.
Для начала реализуем функционал прикрепления документов и извлечения из них текста.
Прикрепляем, извлекаем
Создадим справочкик «СохраненныеДокументы» с двумя реквизитами:
У объекта «ИзвлечениеТекста» есть несколько методов:
Перейдем к реализации поиска по содержимому прикрепленных файлов.
Найти!
В тестовой конфигурации, ссылка на которую приведена в конце статьи, Вы можете посмотреть реализацию обработки полнотекстового поиска.
Заключение
Пример построен не самым оптимальным образом, то принцип работы должен быть понятен. В типовых конфигурациях существует похожий механизм. В той же «Библиотеке стандартных подсистем» извлечение текста из файла позволяет искать прикрепленные файлы по их содержимому.
Скачать тестовую конфигурацию с примером из статьи.
Настройка регламентных и фоновых заданий в 1С: Бухгалтерии ред. 3.0
Зачастую пользователи жалуются на медлительность работы 1С и периодическое торможение и зависание базы при работе. Проблема может быть связана, во-первых, с нехваткой ресурсов компьютера. О параметрах компьютера для оптимальной работы 1С мы говорили ранее. Во-вторых, проблема может быть в запуске операций по обслуживанию программы, которые выполняются в фоновом режиме, в процессе ее работы. И если в серверном варианте 1С эти операции выполняются по расписанию в нерабочее время, то в файловом варианте фоновые задания выполняются непосредственно при работе пользователей. Это и приводит к замедлению работы, особенно если еще и ресурса самого компьютера недостаточно. Что такое регламентные и фоновые задания, для чего они нужны и как отключить лишние расскажем в этой статье.
Регламентные задания – это действия, выполняемые по заданному расписанию в фоновом режиме автоматически, такие как:
• ежедневная загрузка курсов валют;
• обновление классификаторов банков;
• отложенное проведение документов;
• обновление ответов ЕГАИС;
• обновление индексов ППД
Вы спросите: «Зачем загружать и обновлять классификаторы или справочники, которые не используются или при необходимости могут быть обновлены пользователем вручную?»
Действительно: «Зачем?». Ведь можно самим при необходимости загрузить справочник банков или обновить курс валют. Естественно, если организация периодически покупает и продает валюту данная операция для нее актуальна. Но для остальных пользователей – это лишнее. И такие «ненужные» операции можно просто отключить.
Выполнение регламентных операций включается автоматически, если установлены соответствующие настройки сервисов программы, таких как:
• «Автоматическая проверка контрагентов по ЕГРН»;
• «Сервис 1СПАРК Риски»;
• «Автоматическая отправка сведений об использовании программы в фирму «1С».
Посмотрим, где найти эти регламентные задания и какие у них настройки.
Шаг 1. Перейдите в раздел «Администрирование – «Обслуживание».
Раскрыв подраздел «Регламентные операции», откройте гиперссылку «Регламентные и фоновые задания».
В открывшемся окне две закладки:
Регламентные задания – это перечисление возможных операций и отметка об их выполнении.
Если у строки написано «не определено», значит оно не выполняется и не настроено. При необходимости пользователь может задать для него настройки.
Есть список действий, у которых стоит отметка «задание выполнено». Если для пользователя данное действие не актуально, его можно отключить.
Фоновые задания отражают сведения о выполнении регламентных заданий: какие выполнены или завершены с ошибками, отменены или выполняются.
Регламентные задания, которые по умолчанию предопределены в программе, отмечены зеленой галочкой.
Что они означают? Рассмотрим некоторые из них.
Все обновления 1С СПАРК Риски позволяют отслеживать изменения в деятельности контрагентов: ликвидация, реорганизация, смена руководителя и т.п. Сервис обновляет информацию, используя различные источники (данные ЕГРЮЛ, Единый федеральный реестр сведений о фактах деятельности юридических лиц и т.п.).
Извлечение текста файлов для поиска выполняется для быстрого поиска данных в файлах, прикрепленных к информационной базе.
Обновление задач бухгалтера выполняет обновление информации задач организации: сдача деклараций и отчетов, уплата налогов, начисление зарплаты, выплата аванса и т.п.
Проверка контрагентов обновляет данные для проверки корректности записи ИНН и КПП контрагентов.
Сбор и отправка статистики собирается и отправляется статистика по работе программы 1С. Это регламентное задание не замедляет работу программы.
Удаление неактуальной информации синхронизации убирает информацию синхронизации, не удаленную в результате сбоев.
Программой предусмотрено множество других регламентных операций, которые пользователь может включать и отключать. Но делать это надо осознанно.
Настройка регламентных операций в 1С.
Рассмотрим, как можно отключить или включить выполнение регламентного задания.
Например, у нас нет и не используются вложенные файлы в программе 1С и регламентное задание «Извлечение текста файлов для поиска» для нас не актуально и не имеет смысла.
Давайте отключим его выполнение.
Шаг 1. Откройте регламентное задание двойным щелчком мышки.
Шаг 2. Снимите галочку «Включено» и выполнение данного регламентного задания отключится.
У отключенного регламентного задания зеленая галочка убралась.
Так, наблюдая за работой компьютера, можно отключать неиспользуемые регламентные задания.
Если отключать задание не желательно, можно изменить его расписание. Например, вместо ежедневного запуска, установить – раз в неделю.
Шаг 3. Откройте регламентное задание «1С СПАРК Риски» и перейдите по гиперссылке «Расписание».
В настройке установлено повторять каждый день.
Пользователь может настроить расписание:
Шаг 4. Перейдите на закладку расписания «Недельное» и снимите галочки, оставив дни, когда следует запускать данное задание.
Можно задание выполнять раз в неделю, раз в месяц, в зависимости от настройки пользователя.
При одновременной работе в файловой базе нескольких пользователей, от 4-х и более, выполнение регламентных заданий может существенно тормозить их работу.
Чтобы не запутаться в регламентных заданиях правильнее, где возможно, отключать не сами задания, а настройки в программе, включающие их. Например, полнотекстовый поиск, проверка контрагентов, обновление классификаторов и справочников, автоматическая проверка обновлений – раздел «Интернет поддержка и сервисы» раздел «Администрирование».
Мы рассмотрели настройку, включение и отключение регламентных заданий. Конечно, тот факт, что регламентные и фоновые задания выполняются автоматически, по четкому определенному сценарию, не отвлекая пользователя от работы, является «плюсом» и удобно в работе.
Поэтому, если у вас проблемы со скоростью работы программы, рассмотрите и другие причины. Возможно не достаточные характеристики компьютера, сильно большой объем накопленной информации, замедление работы в результате сбоя.
И еще совет: почистите свой компьютер, рабочий стол от лишних файлов, лишних копий баз и т.д. Постарайтесь максимально расчистить пространство, чтобы программе было где «развернуться, да разгуляться»! Часто это действия в разы убыстряет работу 1С.
Автор статьи: Ольга Круглова
Понравилась статья? Подпишитесь на рассылку новых материалов
Записки IT специалиста
Технический блог специалистов ООО»Интерфейс»
Почему тормозит 1С. Регламентные задания
Начнем с реального случая. Не так давно к нам обратился один наш клиент с жалобой на «тормоза» 1С у одного из его сотрудников. Симптомы выражались в том, что через некоторый промежуток времени конфигурация Управление Торговлей 10 начинала сильно тормозить, а проще говоря подвисала на какое-то время.
При более подробном разборе ситуации выяснилось, что это происходит только у одного сотрудника, причем на любом рабочем месте, происходит давно, но если раньше «тормоза» продолжались около секунды, то теперь, после обновления, они могут продолжаться до 15-20 секунд, что делает работу крайне некомфортной.
В принципе, исходных данных уже достаточно, чтобы сделать первые выводы. Приведем их еще раз:
Чтобы подтвердить свои догадки заглянем в Настройки параметров учета:
Действительно, «проблемный» пользователь указан как пользователь для выполнения регламентных заданий. Как выяснилось, когда-то давно от имени этого пользователя работало задание автообмена РИБ. Осталось посмотреть, что именно являлось причиной эпизодического «торможения». Это тоже несложно сделать:
Обычное приложение
В конфигурациях на основе обычного приложения единого инструментария для управления регламентными заданиями нет. Во многом это связано с тем, что на момент их первоначальной разработки сама концепция регламентных заданий была развита довольно слабо.
Управление многими регламентными заданиями производится через настройку связанных с ними подсистем. Например, настройки регламентных заданий, связанных с обменом данными следует искать в настройках обмена, связанные с ЕГАИС в настройках торговлей алкоголем и т.д.
В этом случае следует воспользоваться внешней обработкой КонсольЗаданий (JobsConsole), которая входит в набор стандартных обработок на диске ИТС. Обработка предоставляет единый интерфейс для всех заданий и позволяет выполнять их централизованную настройку, а также контролировать выполняющиеся в текущее время задания.
Данный список нужно тщательно изучить, все ненужные задания следует отключить, а у нужных привести расписание в соответствие с насущными потребностями и здравым смыслом. Например, в нашем случае, нет никакой необходимости обрабатывать ответы ЕГАИС раз в 30 секунд (эта настройка сделана для тестирования) и в рабочем режиме вполне достаточно будет делать это скажем раз в полчаса.
Управляемое приложение
В конфигурациях на основе управляемого приложения регламентным заданиям отведена более значительная роль, с их помощью могут выполняться различные задания по обслуживанию информационной базы и поддержанию ее в актуальном состоянии, но в тоже время именно регламентные задания чаще всего становятся причиной «тормозов».
Прежде всего отключаем то, что явно ненужно, с чем вы не работаете. Потом оптимизируем расписание редко используемых функций, скажем обновление классификатора банков в Рознице, как и проверку контрагентов, можно проводить раз в неделю в нерабочее время или в конце (начале) рабочего дня.
Отдельное внимание следует уделить всему, что связано с поисковым индексом. Полнотекстовый поиск безусловно удобная вещь, но работа с его индексом является весьма и весьма ресурсоемкой задачей. Поэтому не стоит впадать в крайность и отказываться от него, но следует серьезно пересмотреть и настроить его параметры.
А теперь подумаем, как часто в базе добавляется либо обновляется информация, по которой вы наиболее часто проводите поиск? Явно не каждую минуту, поэтому вполне достаточно будет обновлять индекс гораздо реже: раз час, раз в день или вообще раз в неделю.
Тоже самое относится и к слиянию индекса ППД, если вы обновляете индекс раз в день, то следует настроить слияние на выполнение раз в неделю, при этом выбрав в качестве начала задания наименее мешающее работе время.
Эти несложные операции позволят вам без особого ущерба для функциональности конфигурации поднять комфортность работы с ней на новый уровень за счет отказа от частого выполнения достаточно ресурсоемких операций. Только не следует впадать в крайности, грамотно рассудите, насколько вам необходимы те или иные возможности и как часто следует выполнять связанные с ними задания.
Помогла статья? Поддержи автора и новые статьи будут выходить чаще:
Или подпишись на наш Телеграм-канал:
Извлечение текстов модулей из внешней обработки 1С
На этот раз, устав от добавления текстов модулей множества форм в обработке «Анализ процедур и функций», решил реализовать автоматическую загрузку этих модулей из выгруженных файлов (функционал платформы 1с «Выгрузить в файлы»).
Для внешней обработки формируется следующая структура каталогов.
Текст модуля обработки выгружается в файл «\Ext\ObjectModule.bsl«.
Тексты модулей управляемых форм — в файлы с расширением «.bsl«: «\Forms\НазваниеФормы\Ext\Form\Module.bsl«.
А вот обычные (не управляемые) формы выгружаются в следующие двоичные файлы: «\Forms\НазваниеФормы\Ext\Form.bin«.
Пришлось повозиться с парсингом этих бинарных файлов. Зато опробовал новую (для меня) возможность платформы работы с бинарными файлами
Файл с данными обычной формы представляет из себя бинарный файл с блоками данных.
Блоки разделены секциями, состоящими из 3-х 16-ричных чисел, оканчивающихся числом 7fffffff.
В процессе анализа некоторого количества обработок обнаружилось 2 варианта расположения блоков.
Вариант 1
Вариант 2
Первые 3 блока в моей выборке обработок всегда начинались с одних и тех же адресов : 00000012(hex) или 18(dec), 00000231(hex) или 561(dec), 00000270(hex) или 624(dec).
Я остановился на следующем алгоритме определения необходимой секции, содержащей код модуля формы.
Данный алгоритм был получен империческим путем и не может слепо использоваться в продуктивной разработке!
Если Вы владеете информацией по данному формату, буду рад увидеть Ваш комментарий к данной публикации 🙂
Если последнее число 3-го блока = 7fffffff, считаю, что это первый вариант расположения блоков. В остальных случаях — второй вариант.
Для первого варианта
Начало блока с текстом модуля формы совпадает с началом 4-го блока (необходимо только пропустить секцию с 3-мя цифрами), т.е. это в 10-чной системе счисления: 691(начало 4-го блока) + 8*3(3 16-чных числа) + 2(пробелы между числами).
Т.е. считаю, что это всегда 717 (dec)
Адрес окончания текстового блока — второе число секции из 3-х чисел + смещение на константу 000002D2(hex) или 722(dec).
Для случая, приведенного на скриншоте (см. выше) получаем:
где 551(dec) это 00000227(hex)
Для второго варианта
Анализируем секцию из 3-х чисел блока 3.
Адрес начала блока с кодом 1С — второе число (к этому числу необходимо еще добавить смещение на константу 722(dec) и размер секции из 3-х чисел 26(dec)).
Для случая, приведенного на скриншоте (см. выше) получаем:
где 127773(dec) — это 0001F31D(hex)
Адрес окончания блока с кодом 1С — третье число.
Для случая, приведенного на скриншоте (см. выше) получаем:
где 471603(dec) — это 00073233(hex)
Для чтения из двоичного файла написал процедуру:
Ну в заключении, чтобы не «бегать» в конфигуратор для выгрузки обработки в файлы, добавил выгрузку с помощью пакетного запуска конфигуратора 1С с выводом на экран результата выполнения данной выгрузки:
Ссылка на обработку на infostart и на github