Файл: Хрусталева Е. Ю. Язык запросов 1С-Предприятия 8 (2013).pdf

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 12.03.2019

Просмотров: 51847

Скачиваний: 8727

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
background image

В процедуре выполняется запрос, получающий все записи из плана видов характеристик,
кроме групп. В цикле обхода выборки из результата запроса анализируется поле выборки
ТипЗначения. Поскольку поле имеет тип ОписаниеТипов, то выполняется метод этого
объекта СодержитТип(). Если метод возвращает истину, то запрашиваемый тип
(Тип("СправочникСсылка.ЗначенияХарактеристик")) содержится в типе значений
характеристики.

В результате в окно сообщений выводятся виды характеристик, в типе значений которых
содержится ссылочный тип данных на справочник Значения характеристик (рис. 3.19).

Рис. 3.19. Вывод видов характеристик с типом значения «Значения характеристик»

Пример 3
Как уже говорилось, справочник Значения характеристик позволяет пользователям
самостоятельно добавлять значения дополнительных характеристик объектов. Чтобы
значения характеристик для разных видов не смешивались в диалогах выбора,
справочник Значения характеристик подчинен плану видов характеристик Виды
характеристик
.

Таким образом, при помощи отбора по полю Владелец из справочника Значения
характеристик
 можно получить перечень значений для заданного вида характеристики,
указанного в параметре ВидХарактеристики (листинг 3.15).

Листинг 3.15. Вывод возможных значений заданной характеристики


background image

Если мы выберем в качестве значения параметра вид характеристики Цвет и выполним
запрос в консоли запросов, то мы увидим следующий результат (рис. 3.20).

Рис. 3.20. Значения вида характеристики «Цвет»

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

подробнее

О способах хранения дополнительных характеристик подробнее можно прочитать в книге
«Реализация прикладных задач в системе «1С:Предприятие 8.2» из серии
«Профессиональная разработка».

Мы рассмотрим самый простой способ хранения значений характеристик объектов – в
регистре сведений. В нашей демонстрационной конфигурации для этого используется
регистр сведений Дополнительные характеристики (рис. 3.21).

Рис. 3.21. Регистр сведений «Дополнительные характеристики»

Измерение регистра Объект содержит ссылку на объект, для которого хранятся значения


background image

характеристик. Измерение ВидХарактеристики содержит ссылку на вид характеристики.
Ресурс ЗначениеХарактеристики содержит, собственно, сами значения характеристик
объектов.

Таким образом, при помощи отбора по полю ВидХарактеристики из регистра сведений
Дополнительные характеристики можно получить значения характеристик конкретных
объектов номенклатуры, вид характеристик которых указан в параметре
ВидХарактеристики (листинг 3.16).

Листинг 3.16. Вывод значений характеристик заданного вида из регистра сведений

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

Рис. 3.22. Вывод значений характеристик «Цвет» из регистра сведений

Иногда бывает нужно проверить, есть ли виды характеристик, которые не используются?
Для этого нужно выполнить следующий запрос (листинг 3.17).

Листинг 3.17. Вывод видов характеристик, не используемых в регистре сведений

В запросе выполняется левое соединение плана видов характеристик с регистром
сведений, и отбираются те записи из плана видов характеристик, для которых не найдено
соответствий в регистре сведений.


background image

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

Рис. 3.23. Вывод видов характеристик, не используемых в регистре сведений

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

Листинг 3.18. Отбор записей из регистра сведений по значению характеристики

В результате выполнения запроса для значения характеристики Крона (ссылка на
справочник Контрагенты) мы видим, что в регистре сведений Дополнительные
характеристики
 содержится информация об одной номенклатуре, основным
поставщиком которой является контрагент Крона (рис. 3.24).

Рис. 3.24. Отбор записей из регистра сведений по значению характеристики

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

Листинг 3.19. Отбор записей из регистра сведений по значению характеристики


background image

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

Учет движения средств

Регистры накопления

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

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

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

<Имя измерения> – поле, содержащее значения измерения регистра с именем,
заданным в конфигурации. Количество таких полей равно количеству измерений,
определенных для регистра как объекта конфигурации;
<Имя общего реквизита> – поле, содержащее значения общего реквизита с именем,
заданным в конфигурации. Такие поля создаются для общих реквизитов, не
являющихся разделителями, или для разделителей с режимом использования
разделяемых данных НезависимоИСовместно, в которых участвует данный регистр;
<Имя реквизита> – поле, содержащее значения реквизита регистра с именем,
заданным в конфигурации. Количество таких полей равно количеству реквизитов,
определенных для регистра как объекта конфигурации;
<Имя ресурса> – поле, содержащее значения ресурса регистра с именем, заданным
в конфигурации. Количество таких полей равно количеству ресурсов, определенных
для регистра как объекта конфигурации;
Активность – имеет тип Булево. Содержит признак активности записи и влияния на
получение итогов регистра;
Вид движения – имеет тип системного перечисления ВидДвиженияНакопления.
Содержит вид движения данной записи (Приход или Расход). Обозначает
направление приращения указанных в записи ресурсов. Существует только для
регистров накопления остатков;
Момент времени – виртуальное поле, не хранится в информационной базе.
Содержит объект МоментВремени (который включает в себя дату и ссылку на
документ-регистратор):