Файл: Хрусталева Е. Ю. Язык запросов 1С-Предприятия 8 (2013).pdf
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 12.03.2019
Просмотров: 51803
Скачиваний: 8725
Рис. 3.80. Планы видов расчета для основных и дополнительных начислений при расчете заработной платы
Предположим, нам нужно отобрать те виды расчетов из плана видов расчета Основные
начисления, которые имеют наивысший приоритет, т. е. записи с этим видом расчета
рассчитываются в первую очередь. Для этого нужно просто выполнить отбор видов
расчета по значению реквизита Приоритет (листинг 3.77).
Листинг 3.77. Отбор видов расчета по значению реквизита «СтатьяЗатрат»
Результат выполнения запроса представлен на рис. 3.81.
Рис. 3.81. Отбор видов расчета по значению реквизита «СтатьяЗатрат»
У всех планов видов расчета независимо от настройки существует предопределенная
табличная часть ВедущиеВидыРасчета. Эта табличная часть позволяет для каждого
вида расчета указать список ведущих расчетов, описанных в любом из планов видов
расчета конфигурации, независимо от их настройки.
У планов видов расчета, использующих период действия, существует также
предопределенная табличная часть ВытесняющиеВидыРасчета. В ней для каждого
вида расчета задается список вытесняющих видов расчета, которые могут храниться
только в данном плане видов расчета.
Если у плана видов расчета установлена зависимость от базы, в его структуре будет
присутствовать еще одна предопределенная табличная часть – БазовыеВидыРасчета. В
ней для каждого вида расчета можно указать список базовых видов расчета, которые
могут быть описаны в тех планах видов расчета, которые отмечены в качестве базовых
для данного плана видов расчета.
Например, для вида расчета Премия за месяц из плана видов расчета Дополнительные
начисления в список базовых видов расчета входят виды расчета, описанные в плане
видов расчета Основные начисления (рис. 3.82).
Рис. 3.82. Предопределенные табличные части плана видов расчета «Дополнительные начисления»
Чтобы получить записи из предопределенной табличной части вида расчета, можно
обратиться к имени табличной части через точку от имени основной таблицы плана видов
расчета и наложить отбор на конкретный вид расчета по полю Ссылка (листинг 3.78).
Листинг 3.78. Получение списка базовых видов расчета для заданного вида расчета
В результате для вида расчета Премия за месяц из плана видов расчета
Дополнительные начисления мы получим следующий список базовых видов расчета
(рис. 3.83).
Рис. 3.83. Получение списка базовых видов расчета для заданного вида расчета
В поле Ссылка хранится ссылка на вид расчета (строку основной таблицы), которому
принадлежит данная строка табличной части. В поле ВидРасчета хранится ссылка на вид
расчета, являющийся базовым видом расчета для данного вида расчета (на который
указывает поле Ссылка). Поле Предопределенный хранит информацию о том, является
ли данная строка табличной части заданной предопределенно в конфигураторе.
Усложним задачу. Предположим, нам нужно узнать, для каких видов расчета заданный
вид расчета является ведущим, базовым или вытесняющим. Это можно сделать с
помощью следующего запроса (листинг 3.79).
Листинг 3.79. Получение списка видов расчета, на которые влияет заданный вид расчета
В запросе мы объединяем информацию из всех предопределенных табличных частей для
всех планов видов расчета в демонстрационной конфигурации. При выборе информации
из каждой табличной части накладывается условие на значение предопределенного
реквизита ВидРасчета. Таким образом, мы получаем записи из тех табличных частей
видов расчета, где встречается заданный вид расчета. В выборку результата запроса
включается стандартное поле табличной части Ссылка, в котором хранится ссылка на тот
вид расчета, к которому относится табличная часть.
Таким образом, для вида расчета Оклад мы получим следующий результат (рис. 3.84).
Рис. 3.84. Получение списка видов расчетов, на которые влияет вид расчета «Оклад»
Мы видим, что вид расчета Оклад из плана видов расчета Основные начисления
является ведущим и базовым расчетом для видов расчета Надбавка руководителю и
Надбавка за вахту из плана видов расчета Основные начисления, а также является
базовым расчетом для видов расчета Премия за месяц и Премия за 3 месяца из плана
видов расчета Дополнительные начисления.
Регистры расчета
Регистры расчета – это прикладные объекты конфигурации, предназначенные для
периодической регистрации данных о произведенных расчетах. В зависимости от свойств
регистра, таких как учет протяженных во времени расчетов, использование зависимости
по базовому периоду и др., реализуются расчетные механизмы по выполнению
периодических расчетов.
Основная таблица регистра расчета в информационной базе содержит следующий состав
полей:
<Имя измерения> – поле, содержащее значения измерения регистра с именем,
заданным в конфигурации. Количество таких полей равно количеству измерений,
определенных для регистра как объекта конфигурации;
<Имя общего реквизита> – поле, содержащее значения общего реквизита с именем,
заданным в конфигурации. Такие поля создаются для общих реквизитов, не
являющихся разделителями, или для разделителей с режимом использования
разделяемых данных НезависимоИСовместно, в которых участвует данный регистр;
<Имя реквизита> – поле, содержащее значения реквизита регистра с именем,
заданным в конфигурации. Количество таких полей равно количеству реквизитов,
определенных для регистра как объекта конфигурации;
<Имя ресурса> – поле, содержащее значения ресурса регистра с именем, заданным
в конфигурации. Количество таких полей равно количеству ресурсов, определенных
для регистра как объекта конфигурации;
Активность – имеет тип Булево. Содержит признак активности записи (участие
записи в конкуренции за период действия, влияние на получение базы);
БазовыйПериодНачало – имеет тип Дата. Содержит дату начала интервала
базового периода учетной записи. Существует только для регистров, у которых
установлено свойство Базовый период;
БазовыйПериодКонец – имеет тип Дата. Содержит дату окончания интервала
базового периода учетной записи. Существует только для регистров, у которых
установлено свойство Базовый период;
ВидРасчета – имеет тип ПланВидовРасчетаСсылка.<имя>. Содержит ссылку на
вид расчета учетной записи;
НомерСтроки – имеет тип Число. Содержит уникальный номер данной записи в
наборе записей регистра, подчиненных документу, указанному в поле Регистратор.
Таким образом, совокупность значений Регистратор и НомерСтроки позволяют
идентифицировать конкретную запись регистра расчета;
ПериодДействияНачало – имеет тип Дата. Содержит дату начала интервала
периода действия учетной записи. Существует только для регистров, у которых
установлено свойство Период действия;
ПериодДействияКонец – имеет тип Дата. Содержит дату окончания интервала
периода действия учетной записи. Существует только для регистров, у которых
установлено свойство Период действия;
ПериодДействия – имеет тип Дата. Отражает период регистра расчета, в котором
действовала запись. Эта дата всегда имеет значение начала первого дня
соответствующего периода (ПериодДействияНачало). Размер периода
определяется периодичностью регистра расчета. Существует только для регистров,