Предметы папки взаимодействий регистр как удалить
- Конфигурация (1)
- Справочники (264)
- Документы (137)
- Отчеты (199)
- Обработки (181)
- Регистры сведений (226)
- Регистры накопления (92)
- Подсистемы (33)
- Общие модули (824)
- Параметры сеанса (57)
- Роли (516)
- Общие реквизиты (2)
- Планы обмена (20)
- Критерии отбора (6)
- Подписки на события (187)
- Регламентные задания (63)
- Функциональные опции (348)
- Общие формы (203)
- Общие команды (233)
- Общие макеты (79)
- Пакеты XDTO (81)
- WS-ссылки (1)
- Web-сервисы (14)
- Стили (1)
- Языки (1)
- Константы (496)
- Журналы документов (13)
- Перечисления (351)
- Планы видов характеристик (10)
- Бизнес процессы (6)
- Задачи (1)
Проверяем на самих себе: как развернут и как администрируется 1С: Документооборот внутри компании 1С
Мы в фирме 1С широко используем собственные разработки для организации работы компании. В частности, «1С:Документооборот 8». Помимо управления документами (как следует из названия) это ещё и современная ECM-система (Enterprise Content Management — управление корпоративным контентом) с широким набором функциональных возможностей – почта, рабочие календари сотрудников, организация совместного доступа к ресурсам (например, бронирование переговорных), учёт рабочего времени, корпоративный форум и многое другое.
В фирме 1С документооборотом пользуется более тысячи сотрудников. База данных стала уже внушительной (11 млрд. записей), а это значит, что она требует более тщательного ухода и более мощного оборудования.
Как устроена работа нашей системы, с какими сложностями при обслуживании базы мы сталкиваемся и как их решаем (в качестве СУБД мы используем MS SQL Server) – расскажем в статье.
Для тех, кто впервые читает про продукты 1С.
1С:Документооборот — это прикладное решение (конфигурация), реализованное на базе фреймворка для разработки бизнес-приложений — платформе 1С:Предприятие.
«1С:Документооборот 8» (сокращённо – ДО) позволяет автоматизировать работу с документами на предприятии. Один из основных инструментов взаимодействия сотрудников – электронная почта. Помимо почты ДО также решает и другие задачи:
- Учёт рабочего времени
- Учёт отсутствий сотрудников
- Заявки на курьеров/транспорт
- Рабочие календари сотрудников
- Регистрация корреспонденции
- Контакты сотрудников (Адресная книга)
- Корпоративный форум
- Бронирование помещений
- Планирование мероприятий
- CRM
- Коллективная работа с файлами (с сохранением версий файлов)
- и др.
А ещё благодаря подключенному к Документообороту другому нашему продукту – Системе взаимодействия – мы непосредственно в Документообороте получаем функциональность мессенджера – чаты, аудио и видеозвонки (включая групповые, что сейчас стало особенно актуально, в том числе и с мобильного клиента), быстрый обмен файлами плюс возможность написания чат-ботов, упрощающих работу с системой. Ещё один плюс от использования Системы Взаимодействия (по сравнению с другими мессенджерами) – возможность вести контекстные обсуждения, привязанные к конкретным объектам Документооборота – документам, мероприятиям и т.п. То есть Система взаимодействия глубоко интегрируется с целевым приложением, а не выступает просто «отдельной кнопкой».
Число писем в нашем ДО уже перевалило за 100 млн., а вообще в СУБД – более 11 млрд. записей. Суммарно система использует почти 30 Тб хранилища: объём базы – 7,5 Тб, файлы для коллективной работы лежат отдельно и занимают ещё 21 Тб.
Если говорить о более конкретных цифрах, то вот количество писем и файлов на данный момент:
- Исходящие письма – 14,7 млн.
- Входящие письма – 85,4 млн.
- Версий файлов – 70,8 млн.
- Внутренних документов – 30,6 тыс.
- Бронирование переговорных – 52 126
- Еженедельные отчеты – 153 940
- Ежедневные отчеты – 628 153
- Визы согласования – 11 821
- Входящие документы – 79 677
- Исходящие документы – 28 357
- Записи о событиях в рабочих календарях пользователей – 168 228
- Заявки на курьеров – 21 883
- Контрагенты – 81 029
- Записи о работе с контрагентами – 45 632
- Контактные лица контрагентов – 41 795
- Мероприятия – 10 243
- Проекты – 6 320
- Задачи сотрудников – 245 980
- Сообщения на форуме – 26 282
- Сообщения в чате – 891 095
- Бизнес-процессы – 109 056. Взаимодействие между сотрудниками происходит через процессы – согласования, исполнения, рассмотрения, регистрации, подписания и т.д. У нас измеряется длительность процессов, количество циклов, количество участников, число возвратов, число запросов на изменение сроков. И эту информацию очень полезно анализировать, чтобы понимать, какие процессы на предприятии происходят и повышать эффективность совместной работы сотрудников.
На каком оборудовании мы всё это обрабатываем?
Эти цифры говорят о внушительном объёме задач, так что перед нами встала необходимость выделить под нужды внутреннего ДО довольно производительное оборудование. На текущий день его характеристики следующие: 38 ядер, 240 Гб ОЗУ, 26 Тб дисков. Приводим таблицу серверов:
В будущем мы планируем наращивать мощность оборудования.
Как обстоят дела с загрузкой серверов?
Сетевая активность никогда не была проблемой ни у нас, ни у наших заказчиков. Как правило, слабое место – это процессор и диски, потому что с нехваткой памяти все уже бороться умеют. Приведём скриншоты наших серверов из Resource Monitor, на которых видно, что у нас никакой страшной нагрузки нет, она весьма скромная.
Например, на скриншоте ниже мы видим SQL-сервер, где ЦПУ загружен на 23%. И это очень хороший показатель (для сравнения: если загрузка будет приближаться к 70%, то, скорее всего, сотрудники будут наблюдать довольно существенные замедления работы).
На втором скриншоте показан сервер приложений, на котором работает платформа 1С:Предприятие – он обслуживает только пользовательские сеансы. Здесь нагрузка процессора несколько больше – 38%, она ровная и спокойная. Загрузка диска есть, но она приемлемая.
Третий скриншот показывает ещё один сервер 1С:Предприятия (он второй, у нас их два в кластере). Только предыдущий обслуживает пользователей, а на этом работают роботы. Например, принимают почту, маршрутизируют документы, выполняют обмен данными, считают права и т.п. Все эти фоновые активности выполняют примерно 90-100 фоновых заданий. И вот этот сервер загружен очень сильно – на 88%. Но на людях это не сказывается, и он реализует как раз всю ту автоматику, которую должен делать Документооборот.
Какие есть метрики для определения эффективности работы?
У нас в ДО встроена серьёзная подсистема замеров показателей производительности и вычислений различных метрик. Это нужно для того, чтобы и в текущий момент времени, и в исторической перспективе понимать, что в системе происходит, что становится хуже, что становится лучше. Средства мониторинга – метрики и замеры времени – входят в типовую поставку «1С:Документооборот 8». Метрики требуют настройки на внедрении, но сам механизм типовой.
Метрики – это замеры различных бизнес-показателей в те или иные моменты времени (например, среднее время доставки почты в моменте 10 минут).
Одна из метрик показывает количество активных пользователей в базе. В среднем их 1000-1400 в течение дня. На графике видно, что на момент скриншота в базе было 2144 активных пользователя.
Таких действий больше 30, список под катом.
Список
- Вход в систему
- Выход из системы
- Загрузка почты
- Изменение действительности объекта
- Изменение прав доступа
- Изменение предмета процесса
- Изменение рабочей группы объекта
- Изменение состава комплекта
- Изменение файла
- Импорт файла
- Отправка по почте
- Перемещение файлов
- Перенаправление задачи
- Подписание ЭП
- Поиск по реквизитам
- Полнотекстовый поиск
- Получение файла
- Прерывание процесса
- Просмотр
- Расшифровывание
- Регистрация документа
- Сканирование
- Снятие пометки удаления
- Создание объекта
- Сохранение на диск
- Старт процесса
- Удаление записей протокола работы пользователей
- Удаление подписи ЭП
- Установка пометки удаления
- Зашифровывание
- Экспорт папки
На позапрошлой неделе у нас средняя активность пользователей увеличилась в полтора раза (на графике показана красным) – это связано с переходом большинства сотрудников на удалённую работу (в связи с известными событиями). Также число активных пользователей увеличилось в 3 раза (на скрине показаны синим), так как сотрудники стали активно пользоваться мобильными: каждый мобильный клиент создаёт подключение к серверу. Сейчас в среднем на каждого нашего сотрудника приходится 2 подключения к серверу.
Для нас, как для администраторов, это сигнал, что нужно внимательнее относиться к вопросам быстродействия, смотреть, не стало ли хуже. А смотрим мы это по другим параметрам. Например, как меняется время доставки почты по внутренней маршрутизации (на скриншоте ниже показано синим). Мы видим, что оно до этого года скакало, а сейчас стабильное – для нас это показатель, что с системой всё в порядке.
Ещё одна прикладная метрика для нас – среднее время ожидания загрузки писем с почтового сервера (на скриншоте показана красным). Грубо говоря, сколько будет письмо гулять по Интернету, прежде чем оно окажется у нашего сотрудника. На скриншоте видно, что это время тоже никак не изменилось за последнее время. Есть отдельные всплески – но они связаны не с задержками, а с тем, что время сбивается на почтовых серверах.
Или, например, ещё метрика (на скриншоте показана синим) – обновление писем в папке. Открытие папки писем – очень частая операция, и нужно, чтобы она выполнялась быстро. Мы замеряем, с какой скоростью она выполняется. Этот показатель измеряется для каждого клиента. Можно посмотреть как общую картину по фирме, так и динамику, например, по отдельному сотруднику. По скриншоту видно, что до этого года метрика была неуравновешенна, потом мы сделали ряд улучшений, и сейчас она не становится хуже – практически ровный график.
Метрики – это, в основном, инструмент администратора для мониторинга системы, для быстрого реагирования на какие-то изменения в поведении системы. На скриншоте – метрики внутреннего ДО за год. Скачок на графиках обусловлен тем, что перед нами поставили задачи по развитию внутреннего ДО.
Вот перечень еще некоторых метрик (под катом).
Метрики
- Активность пользователей
- Активные пользователи
- Активные процессы
- Количество файлов
- Размер файлов (Мб)
- Количество документов
- Количество объектов к отправке адресатам
- Количество контрагентов
- Невыполненные задачи
- Среднее время ожидания загрузки писем с почтового сервера за последние 10 минут
- Внешний буфер данных: количество файлов
- Отставание границы от текущей даты
- Долгая очередь
- Оперативная очередь
- Возраст необработанной учётной записи по внешней маршрутизации
- Размер очереди приемки по внутренней маршрутизации (долгая очередь)
- Размер очереди приемки по внутренней маршрутизации (быстрая очередь)
- Время доставки почты по внутренней маршрутизации (долгая очередь)
- Время доставки почты по внутренней маршрутизации (быстрая очередь)
- Время доставки почты по внешней маршрутизации (среднее)
- Число документов Бронирование
- Число документов Отсутствие
- Число документов «Запись о работе с контрагентом»
- Почта Обновление писем в папке
- Почта Открытие карточки письма
- Почта Перенос письма в папку
- Почта Переход по папкам
Наша система круглосуточно делает замеры более 150 показателей, но не все из них можно оперативно отслеживать. Они могут пригодиться потом, в какой-нибудь исторической перспективе, а сосредоточиться можно на самых важных для бизнеса.
На одном из внедрений было выбрано, например, только 5 показателей. Заказчик поставил перед собой цель сделать минимальный набор показателей, но в то же время такой, чтобы он покрывал основные сценарии работы. Включать в акт приёма 150 показателей было бы неоправданно, потому что даже внутри предприятия сложно согласовать, какие показатели считать приемлемыми. А про эти 5 показателей они знали и уже предъявляли их к системе до начала проекта внедрения, включив в конкурсную документацию: время открытия карточки не более 3 секунд, время исполнения задачи с файлом не больше 5 секунд и т.д. У нас в ДО как раз и были метрики, которые очень чётко отражали исходный запрос из ТЗ заказчика.
А ещё у нас есть профильный анализ замеров производительности. Показатели производительности – это фиксация длительности каждой выполняющейся операции (запись письма в базу, отправка письма на почтовый сервер и т.д.). Это используется исключительно техническими специалистами. Показателей производительности у нас в программе копится очень много. Сейчас мы измеряем примерно 1500 ключевых операций, которые разбиты по профилям.
Один из наиболее важных для нас профилей – «Список ключевых показателей почты с точки зрения потребителей». Этот профиль включает в себя, например, следующие показатели:
- Выполнение команды: Отбор по тегу
- Открытие формы: Форма списка
- Выполнение команды: Отбор по папке
- Отображение письма в области чтения
- Сохранение письма в любимую папку
- Поиск писем по реквизитам
- Cоздание письма
Как мы обслуживаем такую большую базу данных?
Наш внутренний ДО – пример реально работающего высоконагруженного проекта. Расскажем о технических особенностях его базы данных.
Сколько времени идёт реструктуризация больших таблиц базы данных?
SQL-сервер требует периодического обслуживания, наведения порядка в таблицах. По-хорошему это нужно делать минимум раз в сутки, а для высоковостребованных таблиц – ещё чаще. Но если база большая (а у нас число записей уже перевалило за 11 млрд.), то ухаживать за ней непросто.
Мы делали реструктуризацию таблиц 6 лет назад, но потом она стала занимать столько времени, что мы уже не вписывались в ночные интервалы. А так как эти операции сильно нагружают SQL-сервер, он не может качественно обслуживать других пользователей.
Поэтому сейчас нам приходится применять различные ухищрения. Например, мы не можем выполнять эти процедуры на полных наборах данных. Приходится прибегать к процедуре Update Sample 500000 rows – это занимает 14 минут. Она выполняет обновление статистики не по всем данным таблицы, а отбирает полмиллиона строк, и по ним рассчитывает статистику, которую использует для всей таблицы. Это некоторое допущение, но мы вынуждены на него идти, потому что для конкретной таблицы сбор статистики по всему миллиарду записей будет выполнятся неприемлемо долгое время.
Другие операции обслуживания мы тоже оптимизировали, сделав их частичными.
Обслуживание СУБД – это вообще сложная задача. В случае активного взаимодействия сотрудников, база быстро разрастается, администраторам становится всё тяжелее обслуживать её – делать обновления статистики, дефрагментацию, индексацию. Здесь надо применять разные стратегии, мы хорошо знаем, как это делать, у нас есть опыт, мы можем им делиться.
Как реализован бэкап при таких объёмах?
Полный бэкап СУБД производится раз в день ночью, инкрементальный – каждый час. Также каждый день создаётся каталог файлов, и он является порцией инкрементального бэкапа файлового хранилища.
Сколько времени выполняется полный бэкап?
На жёсткий диск полный бэкап выполняется за три часа, частичный – за час. На ленту пишется дольше (спецустройство, которое делает резервную копию на специальную кассету, хранящуюся вне офиса; на ленту делают отчуждаемую копию, которая сохранится, если, например, серверная сгорит). Бэкап делается ровно на том же сервере, параметры которого были выше – SQL-сервер с 20% загрузки процессора. На момент бэкапа, конечно же, системе становится значительно хуже, но она всё равно работоспособна.
Есть ли дедупликация?
Дедупликация файлов есть, обкатываем её на себе, и скоро она войдёт в новую версию Документооборота. Также обкатываем на себе механизм дедупликации контрагентов. Дедупликации записей на уровне СУБД нет, так как в этом нет необходимости. Платформа 1С:Предприятие хранит в СУБД объекты, и только платформа может отвечать за их согласованность.
Есть ноды только для чтения?
Нод для чтения (выделенные узлы системы, которые обслуживают тех, кому надо получать какие-либо данные на чтение) нет. ДО – не учётная система, чтобы сажать на отдельную ноду BI, но есть отдельная нода для отдела разработки, обмен с которой идёт сообщениями в формате JSON, а типичное время репликации – это единицы и десятки секунд. Нода пока маленькая, в ней порядка 800 млн записей, но она быстро растёт.
А помеченные на удаление письма совсем не удаляются?
Пока нет. Задачи облегчить базу у нас нет. Было несколько довольно серьёзных случаев, когда приходилось обращаться к помеченным на удаление письмам, в том числе и 2009 года. Поэтому пока решили хранить всё. А вот когда стоимость этого станет неоправданной, будем думать про удаление. Но, если нужно какое-то отдельное письмо удалить из базы с концами, чтобы не было никаких следов, то такое можно сделать по спецзапросу.
А зачем это хранить? Есть статистика обращений к старым документам?
Именно статистики нет. Точнее, она есть в виде протокола работы пользователей, но он хранится недолго. Записи старее года стираются из протокола.
Ситуации, когда надо было поднять старую переписку пятилетней и даже десятилетней давности, были. И это всегда делалось не из праздного любопытства, а для принятия сложных бизнес-решений. Был случай, когда без истории переписки было бы принято неправильное бизнес-решение.
Как проводится экспертиза ценности и уничтожение документов согласно срокам хранения?
Для бумажных документов это делается обычным традиционным способом, как и у всех. Для электронных не делаем – пусть себе хранятся. Место есть. Польза есть. Всем хорошо.
Какие перспективы развития есть?
Сейчас наш ДО решает примерно 30 внутренних задач, часть которых мы перечисляли в начале статьи. Также ДО используется для подготовки конференций, которые мы дважды в год проводим для наших партнёров: вся программа, все доклады, все параллельные секции, залы – всё это верстается в ДО, а потом выгружается из него, и делается печатная программа.
На подходе для ДО ещё несколько задач, помимо тех, что он уже решает. Есть общефирменные задачи, а есть уникальные и редкие, нужные только какому-то конкретному подразделению. Необходимо им помогать, а значит, расширять «географию» использования системы внутри 1С – расширять область применения, решать задачи всех подразделений. Это стало бы лучшим тестом на производительность и надёжность. Хотелось бы увидеть работу системы на триллионах записей, петабайтах информации.
- 1с
- 1с:предприятие
- документооборот
- ms sql server
- администрирование бд
- Блог компании 1С
- Microsoft SQL Server
- Администрирование баз данных
Очистка регистра сведений 1С 8.3
Регистр сведений — это база данных конфигурации 1С, существующая в форме записей показателей измерений (разрезы) и соответствующих им ресурсов. Таким образом, сохраняются кросс-курсы национальных валют в разрезе валют, цены в разрезе номенклатуры цен. Функции регистратора выполняют документы, формирующие записи в регистре.
На рисунке образец: Начало «Регистр сведений», затем переход на «Курсы валют».
Список регистров сведений доступен в развернутом пункте «Регистры сведений» Конфигуратора.
Со временем, в регистрах накапливается большое количество записей, что снижает скорость работы программы 1С. Предлагаем несколько методов удаления регистров сведений 1С 8.3. Перед выполнением процедуры очистки регистра необходимо создать резервную копию базы с информацией.
Программная очистка регистра сведений
Если регистр сведений не подчинен регистратору, очистить его возможно с помощью программы. Осуществляется ввод пустого набора записей следующего содержания:
Нулевой набор записей отображается в начальной строчке кода (информация из регистра не прочитана, поэтому набор записей пустой), в следующей строке — начинается его запись, вместо существующего. Итог — пустой регистр.
Эта процедура занимает много времени и доступна только для регистров с независимым уровнем записи.
Обработка очистка регистра сведений в 1С 8.3
Разработан универсальный способ очистки регистра — обработка. Применяется для любого регистра сведений. Файл «Очистка регистра сведений 1С.epf» запускается в управляемых формах и в обычных. Для активации очистки нужно в режиме пользователя найти файл через пункт меню «Файл» — «Открыть».
Выбираем наименование регистра для очистки (точное название можно узнать в конфигураторе), и активируем работу кнопкой «Очистить регистр».
Выполнение операции занимает некоторое время. Таким методом очищается каждый регистр сведений оболочки.
Обработка – свертка независимого периодического регистра сведений
Существует альтернативный метод очистки регистра сведений. Он подходит для конфигурации 8.2 и 8.3, и работает как обычное приложение — «СверткаНезависимогоПериодическогоРегистраСведений.epf».
Запуск обработки производится в конфигурации управляемое приложение. Активируется режим «Толстый клиент (обычное приложение)» в программе 1С 8.3, путем изменения режима запуска в Конфигураторе (меню «Сервис» — «Параметры»).
Выбрав из предложенных вариантов «Толстый клиент (обычное приложение)», подтвердите действие нажатием кнопки «Ок».
Затем выбираем вкладку «Сервис» — «1С:Предприятие».
В итоге программа открылась как обычное приложение. Такая функция часто использовалась в более ранних версиях 1С. Изучаем вкладку «Открыть» и находим текущую обработку. Настроить ее очень просто — выбирайте дату и регистры для очистки. Затем подтверждаем запуск процесса очистки кнопкой «Выполнить».
Очистка регистров будет завершена. Напоминаем о необходимости создавать резервную копию базы данных, так как процесс очистки регистров необратим.
Хотите получать подобные статьи по четвергам?
Быть в курсе изменений в законодательстве?
Подпишитесь на рассылку
Как очистить регистры движения документа 1С и удалить его проводки?
Сегодня мы с вами поговорим об иногда встречающейся проблеме удаления движений документа сохраненного и не проведенного документа в 1С.
Обычно, если возникает необходимость исключить проведенный документ из документооборота, достаточно сделать документ непроведенным с помощью пункта меню Сделать непроведенным или с помощью пункта меню 1С Пометить на удаление\снять пометку. После этого все регистры движения документа 1С очищаются и проводки документа в 1С 8.3 удаляются.
Важно: Необходимо помнить, что в дальнейшем перепроведение документа в 1С 8.3 восстановит все движения регистров 1С и проводок этого документа!
Отменить проведение
2. Как очистить регистры движения документов 1С программно?
Но, иногда встречаются исключительные ситуации, когда регистры движения документов 1С не очищаются, и приходится их очищать программно, с помощью типовых или нетиповых обработок. Типовые обработки идут с поставкой конфигурации, а так же существуют встроенные или внешние обработки, которые необходимо подключить к базе данных, чтобы пользователям было удобно с ними работать. Это возможно выполнить таким образом: заходим в закладку Администрирование, далее, мы находим пункт Сервис, и в этом пункте выбираем пункт Подключить обработки. Нетиповые обработки разрабатываются силами самих пользователей 1С и программистов и точно так же подключаются в конфигурации.
Дополнительные обработки
Подобных обработок много, они написаны и используются для любых 1С платформ и конфигураций, но принцип работы с ними, как правило, одинаковый. Например: при запуске обработки необходимо указать период времени, за который мы хотим очистить регистры движения документа 1С, далее необходимо выбрать из предложенного списка необходимый регистр, который мы собираемся корректировать, и нажать на кнопку ОК или Очистить регистр.
Важно: В дальнейшем, перепроведение документа в 1С 8.3, после программного очищения регистров, автоматического заполнения регистров не последует. Если окажется, что документ все-таки необходимо провести, то, к сожалению, придется создавать новый.
Специалист компании «Кодерлайн»
Ольга Афанасьева