1с права управление итогами что это
Обработка, позволяющая для регистров бухгалтерии и накопления
- Устанавливать период рассчитанных итогов
- Пересчитывать текущие итоги
- Устанавливать использование итогов
- Устанавливать использование текущих итогов
Не требует монопольного доступа
Довольно простая обработка, которую каждый может написать для себя. Надеюсь, эта публикация поможет вам сэкономить немного своего времени.
Для новичков кратко, "на пальцах" поясню что такое итоги, как они работают и зачем вообще их рассчитывать.
При рассчете остатков система досчитывает остатки от актуальных, которые, как правило, следует рассчитывать ежемесячно. П То есть
ОстатокТекущий = ОстатокНаМоментРассчетаИтогов + ОборотыПериодПослеРассчетаИтогов
Обороты при этом хранятся в служебной таблице текущих итогов.
При рассчете итогов средствами самой платформы (Операции-Управление итогами) требудется мнопольный доступ (выгнать всех пользователей из базы). Данная обработка монопольного доступа не требует, пользователей можно не выгонять, хотя нормально работать во время выполнения обработки будет скорее всего нельзя.
Бывают случаи, когда текущие итоги крашаться (например, такое бывает при аварийном завершении работы) и текущий остаток начинает "плыть". Решается эта проблема пересчетом текущих итогов
Мы можем и вовсе отказаться от использования текущих итогов, установив отключив эту возможность у конкретного регситра. В таком случае обороты за период будут считаться по сумме движений.
Также мы можем отключить итоги по всему регистру. Если использование итогов отключено, то при записи набора записей регистра не будет производиться пересчет итогов, но при этом будут не доступны виртуальные таблицы расчета остатков и оборотов.
Данный режим работы регистра позволяет повысить скорость записи набора записей регистра. Он может быть полезен при массовых загрузках данных.
При включении использования итогов производится пересчет всех итогов.
Управление итогами
Для оптимизации расчетов в системе 1С: Предприятие предусмотрен режим хранения промежуточных итогов. Итоги вычисляются на начало каждого календарного месяца.
Для управления итогами предназначен режим «Управление итогами», который вызывается пунктом « Операции» - «Управление итогами ».
На закладке « Установка границы рассчитанных итогов » производится установка даты итогов, получаемых на текущий момент, и расчет итогов на эту дату.
В колонке « Рассчитан по » - указывается текущая дата актуальных итогов.
Укажите регистры, которые необходимо пересчитать и дату, на которую итоги будут пересчитаны.
В колонке « Установить по » - укажите дату актуальности.
Для расчетов нажмите кнопку « Выполнить» . Итоги рассчитываются и в колонке « Рассчитан по » указывается новая дата.
На закладке « Установка режима разделения итогов » производится управление режимом разделения итогов.
В список регистров выводятся регистры накопления и бухгалтерии, для которых при конфигурировании предусмотрен режим разделения итогов. Пользователь может включить или отключить установленный режим. Пометка означает, что режим разделения итогов установлен.
Установка режима разделения влияет только на параллельность работы системы и никак не сказывается на бизнес-логике решаемых задач. Это механизм, который обеспечивает более высокий уровень параллельности.
Обработка, позволяющая для регистров бухгалтерии и накопления
- Устанавливать период рассчитанных итогов
- Пересчитывать текущие итоги
- Устанавливать использование итогов
- Устанавливать использование текущих итогов
Не требует монопольного доступа
Довольно простая обработка, которую каждый может написать для себя. Надеюсь, эта публикация поможет вам сэкономить немного своего времени.
Для новичков кратко, "на пальцах" поясню что такое итоги, как они работают и зачем вообще их рассчитывать.
При рассчете остатков система досчитывает остатки от актуальных, которые, как правило, следует рассчитывать ежемесячно. П То есть
ОстатокТекущий = ОстатокНаМоментРассчетаИтогов + ОборотыПериодПослеРассчетаИтогов
Обороты при этом хранятся в служебной таблице текущих итогов.
При рассчете итогов средствами самой платформы (Операции-Управление итогами) требудется мнопольный доступ (выгнать всех пользователей из базы). Данная обработка монопольного доступа не требует, пользователей можно не выгонять, хотя нормально работать во время выполнения обработки будет скорее всего нельзя.
Бывают случаи, когда текущие итоги крашаться (например, такое бывает при аварийном завершении работы) и текущий остаток начинает "плыть". Решается эта проблема пересчетом текущих итогов
Мы можем и вовсе отказаться от использования текущих итогов, установив отключив эту возможность у конкретного регситра. В таком случае обороты за период будут считаться по сумме движений.
Также мы можем отключить итоги по всему регистру. Если использование итогов отключено, то при записи набора записей регистра не будет производиться пересчет итогов, но при этом будут не доступны виртуальные таблицы расчета остатков и оборотов.
Данный режим работы регистра позволяет повысить скорость записи набора записей регистра. Он может быть полезен при массовых загрузках данных.
При включении использования итогов производится пересчет всех итогов.
Вы сотрудник франчайзи "1С"? Может быть, Вы даже обновляете клиентов и следите за работоспособностью их информационных баз? Или Вы работаете в штате компании и работоспособность систем на базе платформы "1С" лежит на Ваших плечах? Если ответа "ДА" хотя бы на один вопрос, то эта статья для Вас!
Сегодня мы рассмотрим, с одной стороны, очень простой вопрос обслуживания итогов в регистрах. Но с другой стороны - вопрос простой, но настраивать подобающее обслуживание итогов часто никто не торопится.
Не могу точно сказать для кого эта статья - для новичков или опытных программистов. Или администраторов? Думаю, что решать только Вам!
Как они работают
Платформа "1С" использует механизм итогов для оптимизации получения данных в запросах за большой период. Механизм итогов доступен в регистрах накопления, бухгалтерии и сведений. Именно благодаря ему мы можем формировать отчеты достаточно быстро за большой период времени. Не всегда, конечно, но это уже другая история :).
Но, прежде чем говорить об обслуживании итогов, давайте поверхностно рассмотрим их работу для каждого вида регистра. Мы не будем погружаться в особенности их работы на стороне СУБД, аспекты блокировок и другие связанные темы. Только принцип работы, только суть!
Регистры сведений
Начнем с простого - итогов регистров сведений. С некоторого момента, платформа поддерживает итоги среза первых / последних записей. Например, в последних типовых конфигурациях для регистра "Курсы валют" включены итоги среза последних. Под спойлером Вы найдете пример как данные в регистре отражаются на итогах этого регистра.
Вот такие данные содержатся в самом регистре.
И вот такие данные будет содержать таблица итогов.
Все просто - в итогах хранятся последние записи по периоду в разрезе измерений. Для регистра сведений "Курсы валют" это "Валюта".
Все логично - срез последних записей хранит последние по периоду записи в разрезе измерений регистра. При этом в итогах хранятся данные как измерений, так и ресурсов, и реквизитов.
По такому же принципу работают итоги среза первых, только хранят они, внезапно, срез первых записей.
Регистры накопления
Итоги регистров накопления уже интересней, чем у регистров сведений. О внутренних механизмах платформы и принципа работы с итогами Вы можете узнать здесь и вот тут, а также на сайте ИТС. А сейчас рассмотрим лишь основное. Во-первых, регистры накопления бывают двух видов: оборотов и остатков. От вида регистра также зависит принцип построения и использования итогов.
Регистр оборотов
Для примера возьмем регистр накопления "Реализация услуг" из типовой конфигурации "Бухгалтерия предприятия 3.0". Под спойлером пример данных в регистре и полученные итоги.
Это пример данных.
Движения регистра сформированы в период с марта по май 2019 года. Итоги в этом случае содержат сгруппированные данные по измерениям.
Итоги содержат сгруппированные данные по месяцам, а период записи - начало месяца.
Таким образом, итоги оборотного регистра накопления содержат сгруппированные данные по измерениям на каждый месяц. Позволяют получать данные за период наиболее оптимальным способом, ведь записей читать придется меньше, иногда значительно меньше.
Регистр остатков
В качестве примера остаточного регистра возьмем "НДС предъявленный". Пример снова под спойлером.
Вот пример данных регистра "НДС предъявленный". Некоторые поля убраны (пустые, служебные, реквизиты регистра). Правильность данных с прикладной точки зрения не гарантируется :).
Движения сформированы с апреля по июнь 2019 года. Соответственно, итоги в этом случае будут хранить остатки на конец каждого месяца по комбинациям измерений. При этом итоги за май будут записаны на начало дня 1 июня.
В этом случае, на самом деле, тоже все просто:
- На начало мая имеем остаток от операции прихода в апреле.
- На начало июня сохраняется остаток с апрельской операции, а также добавляется строка с остатком от операции в мае. Именно поэтому в июньских остатках две записи.
- В июне был сделан расход, которых закрыл остаток по первой операции, а также расход с частичным закрытием второй операции. Поэтому в итогах добавлена запись по оставшейся сумме.
Кроме того, есть текущие итоги, которые сохраняют информацию об остатках на самую последнюю дату. В таблице итогов они хранятся с датой "01.11.3999" и позволяют получить информацию об остатках на самый последний момент времени, который может быть зафиксирован в регистре.
Таким образом, итоги по остаткам хранятся на начало месяца и отражают их состояние за предыдущий период. Очень удобно и эффективно.
Итоги по остаткам используются очень часто и позволяют эффективно получать информацию о текущем состоянии каких-либо показателей (остатки номенклатуры, состояние взаиморасчетов и другое).
Регистры бухгалтерии
Не менее интересным объектом с поддержкой хранения итогов является регистр бухгалтерии. Это настоящий рекордсмен по количеству таблиц с итогами. Возьмем для рассмотрения типовой регистр "Хозрасчетный" в той же "Бухгалтерии предприятия 3.0". Всего в регистре можно насчитать 5 таблиц с итогами:
Итоги между счетами - для хранения итогов оборотов между корреспондирующими счетами
Чтобы не углубляться сейчас во внутренние механизмы регистра, отметим лишь, что в таблице итогов между счетами хранятся итоги только по оборотам. В остальных таблицах итогов хранятся итоги и по оборотам, и по остаткам. Также регистр бухгалтерии поддерживает текущие итоги, которые работают практически также, как и в регистре накопления.
Теперь Вы знаете на сколько большим по размеру и тяжелым по использованию может быть регистр бухгалтерии. Ведь при формировании проводок платформе требуется поддерживать большое количество таблиц с итогами. А представьте что бы было, если план счетов поддерживал не три, а пять субконто!
Более подробную информацию об особенностях работы итогов регистра бухгалтерии Вы можете прочитать здесь.
Что же с обслуживанием
И так, мы быстрым шагом прошлись по механизму хранения итогов платформы, рассмотрели какие итоги бывают и у каких объектов. Что же здесь может такое случиться, что потребует обслуживания?
Самым "самообслуживаемым" объектом в части итогов является регистр сведений. Включили итоги по срезу последних и забыли. Ничего настраивать и обслуживать не нужно.
С регистром накопления и бухгалтерии дело обстоит иначе. Для остаточных регистров накопления и любого регистра бухгалтерии обязательно в начале каждого месяца необходимо устанавливать период рассчитанных итогов. Если этого не сделать, то итоги по остаткам просто не будут рассчитаны. Соответственно, и использоваться они не будут.
Во всех типовых конфигурациях имеется регламентное задание "Установка периода рассчитанных итогов" с расписанием на запуск каждое 5 число месяца в 01:00. Вот алгоритм обновления периода рассчитанных итогов.
Эта функция получена из модулей "Библиотеки стандартных подсистем" и находится в общем модуле "УправлениеИтогамиИАгрегатамиСлужебный".
Установка периода рассчитанных итогов выполняется только для остаточных регистров накопления и регистров бухгалтерии. Для этого вызывается метод "УстановитьМаксимальныйПериодРассчитанныхИтогов" для менеджера регистра. Для регистров накопления передается конец предыдущего месяца, а для регистров бухгалтерии конец текущего месяца.
Как проверить, что у Вас установлен актуальный период рассчитанных итогов? Самый простой способ - зайти в обработку "Управление итогами" через "Все функции -> Стандартные -> Управление итогами". Там выбрать полные возможности и в показанной таблице проверить дату в колонке "Период итогов".
Для регистров бухгалтерии это должен быть конец текущего месяца, а для остаточных регистров накопления - конец предыдущего месяца. Если даты обновлены, то все отлично. Если нет - значит либо еще не наступило 5 число месяца, либо регламентное задание по установке периода рассчитанных итогов у Вас не работает.
Но и это еще не все! Есть еще как минимум две операции, которые необходимо планировать для итогов:
Зачем их устанавливать? Если в базе хранятся данные за 10 лет, то вряд ли они все используются. Целесообразно проанализировать какие данные действительно используются и за какой период (например, только последние 5 лет) и ограничить период хранения итогов нужным значением. Данный подход похож на метод скользящего окна, который упрощает сопровождение больших объемов данных.
Вот и все основные операции обслуживания.
Заключение
Мы быстро пробежались по принципу работы механизма итогов платформы "1С" и рассмотрели основные направления работ по обслуживанию итогов. Список получился коротким:
Если пользователю не хватает прав на объект, то на практике в 90 % случаев, недостающую роль можно найти через типовой регистр сведений Права ролей. Также с помощью дополнительного отчета или небольшого расширения можно ускорить описанный процесс.
Роли — это общие объекты конфигурации , предназначенные для реализации ограничения прав доступа в прикладных решениях. В процессе ведения списка пользователей прикладного решения каждому пользователю ставится в соответствие список ролей, которыми определяется, какие действия, над какими объектами метаданных может выполнять пользователь.
Общая схема системы прав доступа подразумевает:
- Создание ролей для доступа к объектам отдельно для чтения и для записи.
- Объединение ролей в профили (в том числе поставляемые).
- Назначение профилей группам доступа с ограничением доступа по видам доступа.
- Добавление в группы доступа пользователей и групп пользователей.
Такой механизм обладает гибкостью и универсальностью. Это позволяет его достаточно широко применять. Однако непосредственное использование этого механизма громоздко и трудоемко.
Во время работы пользователя в базе 1С при попытке выполнить действие (на которое у него нет разрешения) система выдаст окно предупреждения, примерно такого вида:
Если открыть журнал регистрации по пользователю, то можно увидеть объект и недостающее право в событии «Доступ. Отказ в доступе». Например, отсутствие права на чтение константы, как на рисунке ниже:
Задача администратора базы данных или сотрудника технической поддержки в том, чтобы добавить пользователю недостающее право, а для этого требуется найти Роль, которую следует назначить пользователю.
В большинстве случаев (но не во всех) для этого достаточно выполнить следующие шаги:
Перейти в меню - Все функции - Регистры сведений - Права ролей (или перейти по навигационной ссылке e1cib/list/РегистрСведений.ПраваРолей)
Примечание: Пункт Все функции, можно включить так: Переходим в меню - Настройки - Параметры - Отображать команду "Все функции"
Регистр типовой, наполнен объектами метаданных и ролями, которые дают на них права.
Выполняем поиск по интересующему нас объекту (документу, отчету, регистру, обработке и т.п.).
Получаем список задействованных ролей (как на рисунке выше с документом Авансовый отчет):
- Добавление изменение авансовых отчетов (роль)
- Чтение авансовых отчетов (роль)
Открываем справочник Профилей, это можно сделать так:
- Переходим в меню - Все функции - Справочники - Профили групп доступа
- Раздел - НСИ и администрирование - Настройки пользователей и прав - Профили групп доступа
- Или перейти по навигационной ссылке e1cib/list/Справочник.ПрофилиГруппДоступа
Чтобы определить подходящие профили, добавляем отбор на форму списка
Ещё - Настроить список - Закладка Отбор - Добавляем отбор по полю табличной части Ссылка.Роли.Роль
После этого можно удобно вычислить нужные профили, например, с ролью Чтение авансовых отчетов.
Примечание: Предварительно установите в списке Ещё - Режим просмотра - Список (чтобы убрать группы)
Если нужных профилей не оказалось, то создайте новый профиль или измените существующий.
Примечание: В предопределенные профили базы добавлять роли нельзя, а для того чтобы добавить роль в предопределенный профиль, сделайте свой, скопировав, предопределенный профиль и уже туда добавляйте роль.
Определив нужный профиль доступа, вам необходимо в связанную с ним группу доступа, добавить пользователя.
Группы доступа видны по ссылке в форме Профиля
Если нужной группы доступа нет, то создаем ее.
Открыв связанную с профилем группу доступа, добавляем в неё пользователя
На этапе настройки прав доступа в базах и изменениях должностных обязанностей пользователей мне приходилось многократно проходить эту цепочку шагов.
Сам процесс можно ускорить соединив все шаги: 1,2,3 - в одном отчете или расширении.
Использу я рисунок выше "Общая схема системы прав доступа" можно соединить данные регистра Права ролей с профилями и группами доступа, сразу получив нужную картинку для анализа прав.
Схема запроса для системы компоновки примерно такая:
Таблицу РегистрСведений.ПраваРолей (Отбор: Объект метаданных) связываем по Роли с таблицей Справочник. ПрофилиГруппДоступа.Роли связываем по реквизиту с таблицей Справочник. ГруппыДоступа.Профиль.
Сам отчет строим на системе компоновки данных, чтобы его оформление и структуру менять по своему усмотрению.
Вообще можно настраивать как угодно отчет.
Также можно сформировать, например Матрицу Пользователей (кто в какой группе доступа). Перейти в Настройки, где поставить в строках Пользователей, в колонка Профили, в ресурсах Чтение
Открываем 1С:Предприятие - Разделы - НСИ и администрирование - Печатные формы, отчеты и обработки - Дополнительные отчеты и обработки - Добавляем отчет (или перейти по навигационной ссылке e1cib/list/Справочник.ДополнительныеОтчетыИОбработки)
- Отчет тот же самый добавляем в расширение.
- Интересным моментом оказалось как динамически вызвать отчет в большинстве форм объектов, максимально просто.
Я выбрал следующий способ:
Почти в каждом модуле формы есть событие ПриСозданииНаСервере(. ), в нем вызывается общее событие СобытияФорм.ПриСозданииНаСервере(. )
а далее в нем событие переопределяемого модуля
именно это событие МодификацияКонфигурацииПереопределяемый.ПриСозданииНаСервере() я перетащил в расширение с ключом выполнения "&После"
чтобы вызвать отчет в процедуре динамически вывожу снизу на форму объекта элемент формы ДекорацияФормы, в который с помощью ФорматированнойСтроки(. ) передаю навигационную ссылку на команду открытия отчета из расширения.
Далее в самой команде отчета с помощью метода АктивноеОкно() определяю форму объекта, из которой произошел запуск и формирую отчет с нужным параметром
Получилось следующее (на примере элемента справочника "Ресурсные спецификации"):
- Гиперссылка "Права на объект" появляется в формах
- По ее нажатию вызывается отчет "Права на объект" с указанием объекта в заголовке и отбором по типу метаданных
В отчете видно в колонках какие роли дают какие права, и в строках у кого уже есть такие права и в какую группу можно включить пользователя.
1) Переходим в меню - Настройки - Параметры - Отображать команду "Все функции"
2) Переходим в меню - Все функции - Стандартные - Управление расширениями конфигурации - Добавляем расширение
- будет работать 1С:Комплексная автоматизация, 1С: Управление торговлей и др, т.к. регистр сведений Права ролей есть почти в каждом прикладном решении.
Обработка выгрузки и загрузки данных через XML между идентичными конфигурациями с возможностью установки произвольных отборов на выгружаемые объекты.
Подключаемый отчет на системе компоновки данных по типам объектов 1С показывает: 1) Совокупности таблиц SQL для хранения объекта 1С и их предназначение; 2) Число объектов данного типа; 3) Размеры хранения данных и индексов в MB (мегабайтах); 4) Сравнение данных двух баз
Предназначается для запуска сеанса другого пользователя из своего сеанса 1С (если пароль вам неизвестен).
Если пользователю не хватает прав на объект, то на практике в 90 % случаев, недостающую роль можно найти через типовой регистр сведений Права ролей. Также с помощью дополнительного отчета или небольшого расширения можно ускорить описанный процесс.
Онлайн диаграмма доступных лицензий 1С и показателей ресурсов сервера 1С в различных измерениях и отборах.
Обработка ищет все объекты базы, в которых одновременно присутствуют перечисленные элементы. Построена на базе типовой обработки Все функции - Стандартные - Поиск ссылок на объект, но позволяет накладывать отбор не по одному объекту, а по нескольким, что позволяет настраивать поиск по комбинациям условий
Часто не хватает визуализации хронологии документов в структуре подчиненности и кнопок проведения. Это расширение конфигурации, с функционалом структуры подчиненности документов, отображающее хронологическую последовательность документов во времени и дающее доступ к проведению, отмене проведения, пометке на удаление документов непосредственно в форме подчиненности.
Обработка для массовой проверки доработок конфигурации: Открытие форм, Печать, Формирование отчетов, Проведение документов, Запись справочников, ПВХ, ПВР. Выдает список обнаруженных ошибок. Рекомендуется применять для тестирования обновленной конфигурации, перед установкой пользователям. В коде используются универсальные методы поэтому подходит для большинства конфигураций, построенных на базе библиотеки стандартных подсистем.
Групповая обработка ссылок вида Объект не найден (502:37855254002e11eb11e73b8f36150d9e) заполняется максимально просто копированием и вставкой из буфера: 1) Выделяет уникальные идентификаторы (далее УИ); 2) Ищет ссылки на объекты базы по УИ; 3) Создаёт пустые объекты с указанным УИ; 4) Регистрирует найденные ссылки для обмена данными. Работает на любых продуктах 8.3
Обработка на управляемых формах для работы с календарями google, событиями календарей и контактами.
Обработка проверяет наличие и решает проблему с ошибкой развернутого сальдо в Оборотно-сальдовой ведомости (регистр бухгалтерии Хозрасчетный) из-за ошибки Универсального редактора реквизитов или кода программиста, устанавливающего пустые ссылки в значениях Валюты, Подразделения, Направления деятельности не равными NULL. И пересчёт итогов тут точно не поможет.
Выполнил 3 разных теста для проверки серверного оборудования (тест 1С, тесты gilev) на возможное число 1С онлайн-пользователей одновременно работающих на нем и интерпретировал результаты тестов через легких, средних и тяжелых пользователей с помощью таблицы с профилями реальных пользователей.
Перед началом проекта требуется определить параметры серверного и клиентского оборудования, необходимые для работы внедряемой программы 1С:Предприятие, и учесть будущую нагрузку, которая ляжет на систему в реальной рабочей обстановке. Мощность оборудования должна быть достаточной для нормальной работы пользователей. Но как подобрать сервер простым способом?
На время сеанса отключаем контроль остатков и проверку документов в ERP, КА, УТ типовыми средствами и простым расширением.
Часто при моделировании примеров бизнес-процессов, на запуске в эксплуатацию или закрытии требуется несколько раз прогнать ситуацию с разными настройками, а для этого изменить, удалить ранее введенную цепочку документов. Дается все это с трудом. Ты уверен, что не навредишь своими действиями системе, но документы цепляют друг друга и ругаются контролями остатков, не разрешая тебе менять их в произвольном порядке.
Есть несколько удобных опций для облегчения внесения изменений.
Для уведомления пользователей программных продуктов 1С о разных событиях, в них включена подсистема «Новостной центр». Это довольно удобная штука, т.к. новостные ленты сообщают о выходе обновлений, о новостях и событиях в сфере учёта. Но можно увеличить пользу от новостной подсистемы используя её локально в рамках 1С базы. Например, внутренняя служба техподдержки или внедряющая компания может через новостную ленту оповещать пользователей информационной базы об изменениях в программе, совещаниях, проведении тестирований, заполнения нужных документов или сдача отчетов к определенной дате и т.п.
Пример технического задания для практического понимания основных разделов.
Кратко описаны основополагающие моменты при старте групповой разработки конфигурации несколькими программистами. Полезно для проектной документации как требование к разработчикам или сопровождающей компании
Ссылка на компетенции по 1С:ERP - команда со знаниями, умениями и успешными проектами.
Версии:
- Дополнительный отчет "Права на объект" (версия 25.01.2022): - Обновления по отчету прав, изменилась структура метаданных
- Расширение "Права на объект" (версия 25.01.2022) - Обновления по отчету прав, изменилась структура метаданных
Читайте также: