1с не сформированы данные параметрической настройки по правилу расчета

Обновлено: 07.07.2024

Свойство Базовое измерения регистра расчета

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

Роль измерений при параметризации виртуальной таблицы базовых данных

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

  • Организация,
  • Физлицо,
  • Подразделение.

Представим, что необходимо решить следующие задачи:

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

Все перечисленные задачи решаются при помощи запросов к виртуальной таблице базовых данных. При этом параметры "Измерения основного регистра" и "Измерения базового регистра" будут для всех трех задач разными. В первом случае измерение одно - "Подразделение"; во втором - "Физлицо" и "Подразделение"; в третьем - "Организация" и "Физлицо".

Оптимизация получения базовых данных

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

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

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

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

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

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

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

Но при этом важно помнить о порядке измерений регистра расчета.

О порядке измерений в регистре расчета

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

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

Если базовое измерение одно

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

Таким образом, в рассмотренном нами примере необходимо выставить свойство Базовое измерениям "Физлицо" и "Подразделение", свойство Индексирование измерению "Подразделение", а также убедится в том, что измерение "Физлицо" "выше" измерения "Подразделение" (порядок измерения "Организация" при этом не важен).

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

Для включения Параметрических (Динамических) спецификаций проходим в раздел «Производство»

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

Создаем Спецификацию для номенклатуры Матрас — в карточке номенклатуры проходим по ссылке «Спецификации» и нажимаем «Создать».

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

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

В поле «Формула расчета» пишем формулы или самостоятельно или выбирая параметры изделия и операторы в нижних полях.
В данном примере мы составили формулу, которая устанавливает количество материала в зависимости от ширины изделия — если ширина изделия меньше или равна 1000мм, то на единицу продукции списывается половина листа, в противном случае — весь лист.
Формулу можно поставить на выбор номенклатуры и на определение количества списываемого материала.
В графе «Номенклатура» можно применить или формулу или сопоставление

Сопоставление позволяет выбрать нужную номенклатуру в зависимости от выбранного параметра.

Рассмотрим применение Динамических (Параметрических) спецификаций в 1С:Управление Нашей Фирмой (УНФ) на примере матраса — использовать единую спецификацию на позаказном производстве матрасов проблемно из-за большого разнообразия размеров.

Основные изменяемые параметры матрасов длина и ширина, остальные параметры высоту и наполнение можно задать жестко в номенклатуре и характеристиках.
В формулах можно использовать реквизиты(параметры) уже существующие в документах или создать собственные. В данном случает в спецификации создаем дополнительные реквизиты — Длина и Ширина.
В создаваемой спецификации нажимаем кнопку «Еще» и выбираем в списке пункт «Изменить состав дополнительных реквизитов»

Что необходимо знать прежде, чем приступить к настройкам программы по отражению документов в регламентированном учете:

План счетов для бухгалтерского и налогового учета в программе 1С: ERP единый (Регламентированный учет – План счетов бухгалтерского учета):

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

  1. Автоматическое формирование проводок при проведении документов в программе не предусмотрено. Обусловлено это тем, что пользователи часто допускают ошибки при ручном указании счетов учета.

Давайте рассмотрим ключевые моменты настройки счетов учета на основании которых и формируются проводки в регламентированном учете.

  1. Необходимо включить опцию «Группы настроек финансового учета». Данная опция позволяет отражать обязательства, активы, доходы и расходы на разных счетах учета. (НСИ и Администрирование – Настройка НСИ и разделов – Финансовый результат и контроллинг):

Предварительно пользователи могут добавить необходимые группы финансового учета (Регламентированный учет – Настройки и справочники – Группы финансового учета – Группы финансового учета расчетов / Группы финансового учета номенклатуры):

При создании группы финансового учета мы задаем настройки, на основании которых в дальнейшем будут формироваться проводки (пример):

Второй вариант настроек счетов учета через рабочее место (Регламентированный учет – Отражение документов регл.учета - Отражение документов – Счета учета – Настройка отражения документов в регламентированном учете):

Настройка счетов учета по расчетам с контрагентами задаются аналогично, как и для материалов.

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

В программе есть возможность задать настройки расчетов для отдельных контрагентов и для каждой ГФУ. Предусмотрен «переключатель» (Режим настройки – Исключение):

Настройка счетов учета по расчетам с контрагентами задаются аналогично, как и для материалов.

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

В программе есть возможность задать настройки расчетов для отдельных контрагентов и для каждой ГФУ. Предусмотрен «переключатель» (Режим настройки – Исключение):

ГФУ для расчетов с контрагентами задаются в следующих документах/справочниках:

Особенности поведения системы при записи объекта Вид расчета

Общие проверки вида расчета

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

Проверки предопределенных табличных частей

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

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


Проверки табличной части вытесняющих видов расчета


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


Система в приведенном случае "требует" включить виды расчета Б1 и Б2 в список вытеснения для вида расчета А так как в этот список включен вид расчета А2.

Проверки табличной части ведущих видов расчета

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

Особенности записи предопределенных видов расчета при реструктуризации конфигурации

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


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

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

В качестве примера разбора плана видов расчетов в 1С 8.3 используем программу «1С:Зарплата и управление персоналом 3.1» (релиз 3.1.8.216).

План вида расчета представляет из себя перечень элементов из начислений или удержаний, которые имеют свои реквизиты (наименование, код и т.д). Для его просмотра необходимо открыть меню «Настройка» и выбрать «Начисления» и «Удержания».


Удалить предопределенные виды расчетов нельзя. Однако можно создавать свои виды удержаний и начислений и по своему усмотрению их настраивать.



Для примера настойки используем план видов расчетов, таких как начисления и удержания.

Настройка плана видов расчетов – начисления

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



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



Задав идентификатор самостоятельно, таким образом определяются настойки показателя. Так показатель может быть постоянным или задавать данные документом. При помощи кнопки «Добавить формулу» можно использовать заданный показатель в формуле расчета.



Поле «Назначение показателя» может иметь следующие значения: «Для организации», «Для подразделения» и «Для сотрудника»



Задать тип показателя можно: «Числовой», «Денежный», «Числовой, зависящий от стажа» и «Числовой, зависящий от другого показателя».



Если рассмотреть для примера показатель «Процент надбавки за выслугу», там используется «Числовой, зависящий от стажа» тип показателя, а назначение показателя используется «для сотрудника». Из этого видно, что для конкретного сотрудника определяется значение, которое зависит от иного показателя, а именно стажа работы этого сотрудника.


Такой показатель как «Сельская надбавка» используется сразу для всех организаций, ее тип «Числовой», например он может составлять 25% и является единым для все сотрудников.


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


А, например «Денежный» тип показателя определенный для показателя «Оклад» задается индивидуально каждому сотруднику.


Самостоятельно можно создавать варианты видов расчета во время изменения настроек показателя.

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


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


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

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


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


Вытесняющими для расчета «Оплата по окладу» являются виды расчета: «Больничный», «Отпуск основной» и т.д. Вытесняющим для начисления «Отпуск основной» является только «Больничный».


В закладке «Налоги, взносы, бухучет» все понятно из названия. В данной закладке определен порядок налогообложения, в случае, когда надбавка им облагается указывается код доходов по НДФЛ, а также определяется последовательность обложения взносами по страховке.


Выбирается код дохода НДФЛ из справочника, и уже используя эти данные делается расчет и отражение налога в налоговой отчетности.


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


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

Настройка плана видов расчетов – удержания

В меню «Настройка» далее «Удержание» производится настройка удержаний. Кроме тех настроек, которые предопределены, пользователь при необходимости может самостоятельно создавать собственные виды удержаний. Сумма удержаний может быть как фиксированной, так и формироваться с использованием формулы, которую пользователь может задать собственноручно в вкладке «Основное».


Вид нового удержания создается пользователем в закладке «Назначение удержание».


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


Если использовать для удержания расчетную базу, то во вкладке «Расчетная база» будет определен список начислений, а для расчёта удержания будет использован результат начислений, для этого нужно воспользоваться кнопкой «Подбор».


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

Читайте также: