Цены на дату документа

  • Добавить свою публикацию
  • для этого требуется регистрация

YPermitin 25.03.2013 +3

Поставленная задача

Предположим, что нам поступила задача, по которой заказчик хочет получить отчет по введенным в базу документам «Реализация товаров и услуг», причем на каждый документ необходимо получать цену из регистра сведений «Цены номенклатуры» на дату документа. Отчет пишется для конфигурации «Управление производственным предприятием» версии 1.3.

К записи из таблицы документа присоединяется запись из виртуальной таблицы «ЦеныНоменклатуры.СрезПоследний» по соответствующим условиям периода, типа цены и номенклатуры. Тип цены получаем из одноименного реквизита документа.

Задача имеет несколько способов решения. Рассмотрим два из них: отчет на СКД с помощью двух наборов данных и получение всех необходимых данных в одном запросе. Теперь по порядку.

Использование СКД

Для реализации подобного отчета на СКД создадим в схеме компоновки данных два набора данных. Первый будет получать список документов, второй цены на даты документов по выбранной номенклатуре и типу цен. Связь между двумя наборами данных осуществляется по номенклатуре, периоду (дата документа) и типу цены. Из первого набора необходимо передвать параметры «Номенклатура», «ТипЦены» и «Период» во второй набор.

Первый набор данных содержит следующий запрос:

Во втором наборе данных следует обратить внимание на параметры, передаваемые в запрос. В списке выбираемых полей содержатся параметры «Период, «Номенклатура» и «ТипЦены». Эти же параметры используются в параметрах виртуальной таблицы «ЦеныНоменклатуры.СрезПоследних». Выводить данные параметры в список выбираемых полей необходимо, чтобы из первого набора можно было передавать значения этих параметров во второй набор. Осуществляется это с помощью настроек соединения между наборами данных в вкладке конструктора схемы компоновки данных «Связи наборов данных». Перейдем к ее рассмотрению:

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

Настроив структуру отчета и сформировав его, мы получим следующий результат:

Отчет работает. Перейдем к рассмотрению варианты получения цены на дату документа в одном запросе.

В одном запросе

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

«ВЫБРАТЬ | ДокументНоменклатураПериод.Документ, | ДокументНоменклатураПериод.Документ.Дата КАК Дата, | ДокументНоменклатураПериод.Документ.ТипЦен КАК ТипЦен, | ДокументНоменклатураПериод.Номенклатура, | ЦеныНоменклатуры.Цена |ИЗ | (ВЫБРАТЬ | РеализацияТоваровУслугТовары.Ссылка КАК Документ, | РеализацияТоваровУслугТовары.Номенклатура КАК Номенклатура, | МАКСИМУМ(ЦеныНоменклатуры.Период) КАК Период | ИЗ | Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры КАК ЦеныНоменклатуры | ПО РеализацияТоваровУслугТовары.Номенклатура = ЦеныНоменклатуры.Номенклатура | И РеализацияТоваровУслугТовары.Ссылка.Дата >= ЦеныНоменклатуры.Период | И РеализацияТоваровУслугТовары.Ссылка.ТипЦен = ЦеныНоменклатуры.ТипЦен | | СГРУППИРОВАТЬ ПО | РеализацияТоваровУслугТовары.Ссылка, | РеализацияТоваровУслугТовары.Номенклатура) КАК ДокументНоменклатураПериод | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры КАК ЦеныНоменклатуры | ПО ДокументНоменклатураПериод.Номенклатура = ЦеныНоменклатуры.Номенклатура | И ДокументНоменклатураПериод.Документ.ТипЦен = ЦеныНоменклатуры.ТипЦен | И ДокументНоменклатураПериод.Период = ЦеныНоменклатуры.Период»

Принцип работы запроса заключается в получении к документe ближайшей даты изменения цены для каждой использованной номенклатуры в табличной части, а затем присоединение к полученному результату запроса данных из физической таблицы «Цены номенклатуры» по периоду, номенклатуре и типу цен. На первый взгляд, запрос может показаться сложным, однако на самом деле его синтаксис достаточно простой.

Результат выполнения аналогичен результату предыдущего отчета (см. скриншот выше).

Делайте выводы

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

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

Кадастровая стоимость – это стоимость, установленная в результате проведения государственной кадастровой оценки или в результате рассмотрения споров о результатах определения кадастровой стоимости либо определенная в отношении вновь учтенных, ранее учтенных объектов недвижимости и объектов недвижимости, в отношении которых произошло изменение их количественных и (или) качественных характеристик. Определение кадастровой стоимости земельного участка производится строго в соответствии с действующим законодательством Российской Федерации, порядок определения и расчёта кадастровой стоимости подробно регламентирован и состоит в следующем:

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

2. Управление Росреестра в соответствующем субъекте Российской Федерации готовит перечень всех земельных участков, находящихся на территории субъекта и подлежащих кадастровой оценке.

3. Отбор исполнителя работ по определению кадастровой стоимости и заключение с ним договора на проведение оценки.

4. Определение кадастровой стоимости и составление отчета об определении кадастровой стоимости.

В основе кадастровой оценки земельных участков лежит принцип их классификации по целевому назначению и виду функционального использования.
Все земельные участки в составе земель населенных пунктов в соответствии с действующим законодательством разделены на 17 видов разрешенного использования.
В составе населенного пункта все земли делятся на административно-территориальные единицы, а в составе таких единиц выделяются соответствующие кадастровые кварталы в зависимости от размеров и специфики соответствующей территориальной единицы.
Единицей измерения, к которой привязано определение кадастровой стоимости каждого конкретного участка, является удельный показатель кадастровой стоимости 1 квадратного метра.
Данный показатель определяется для каждого кадастрового квартала в разрезе каждого конкретного вида разрешенного использования. То есть, применительно к землям населенных пунктов, удельная кадастровая стоимость определяется для 17 допустимых видов разрешенного использования применительно к каждому кадастровому кварталу.
Кадастровая стоимость конкретного земельного участка устанавливается путем умножения удельного показателя кадастровой стоимости, утвержденной для данного вида разрешенного использования земельных участков применительно к кадастровому кварталу, в котором расположен участок, на его площадь.
При этом, если земельному участку установлено несколько видов разрешенного использования, то для определения его кадастровой стоимости выбирается тот удельный показатель, значение которого больше.

5. Экспертиза отчета об определении кадастровой стоимости.

6. Утверждение органом исполнительной власти субъектов Российской Федерации результатов определения кадастровой стоимости.

7. Внесение результатов определения кадастровой стоимости в государственный кадастр недвижимости.

Таким образом, основными факторами, влияющими на кадастровую стоимость конкретного земельного участка, являются:

· его вид разрешенного использования, определенный в установленном законом порядке;

· размер удельного показателя кадастровой стоимости, определенного для конкретного вида разрешенного использования применительно к кадастровому кварталу.

Вид разрешенного использования земельного участка устанавливается актами органов государственной власти, местного самоуправления (распоряжения о предоставлении земель? договоры аренды и купли-продажи, акты выбора земельного участка и др.). Вместе с тем, отнесение земельного участка указанными актами к конкретному виду разрешенного использования подчинено следующим правилам.Разрешенное использование земельного участка должно соответствовать функциональному назначению возведенного в установленном порядке объекта недвижимости на данном земельном участке.В свою очередь, функциональное назначение объекта определяется записью в документах технической инвентаризации и должно соответствовать назначению, которое указывалось при вводе объекта в эксплуатацию. Приведем пример, если на земельном участке расположено здание, в техническом паспорте которого указано функциональное назначение «Офис», то участок будет отнесен к группе № 7 — Земельные участки, предназначенные для размещения офисных зданий делового и коммерческого назначения.
В случае если земельный участок не застроен, ему может быть установлен любой из 17 предусмотренных видов разрешенного использования при условии соблюдения требований градостроительных и санитарно-защитных норм и правил.

Вывести список больных, которые ни разу не оперировались.

Данный запрос также является запросом на выборку. В запрос добавляются поля «Код Пациента» и «ФИО» из таблицы «Пациенты», а также «Код Операции» из таблицы «Операции». В конструкторе присваиваем условием отбора поля «Код Операции» значение «Is Null», запрещаем его вывод на экран, кроме того определяем соединение между таблицами как левое.

Фотография конструктора запроса представлена на рисунке 4.2.

Рисунок 4.2 – Фотография запроса 2

Текст запроса на языке SQL будет иметь следующий вид:

SELECT Пациенты.КодПац, Пациенты.ФИО

FROM Пациенты LEFT JOIN Операции ON Пациенты.КодПац = Операции.КодПац

WHERE (((Операции.КодОп) Is Null));

Результаты выполнения запроса 2 представлены в таблице 4.2.

Таблица 4.2- Результаты выполнения запроса 2

Данный запрос является запросом на выборку с группировкой. Для выполнения данного запроса необходимо подсчитать количество пациентов по записям в таблице «Пребывание в палате». В данный запрос необходимо включить следующие таблицы: «Палаты», «Пребывание в палате» и «Пациенты». Таблица «Палаты» определяет название палат, для этого в строке поле необходимо указать «Код Палаты» и «Номер». Таблица «Пациенты» позволит определить количество пациентов в палате, для этого в строке поле необходимо указать «КодПац», а в строке групповая операция указать функцию Count. Кроме того, необходимо добавить поле «Дата» из таблицы «Пребывание в палате» и в условии отбора для него указать <=.

Фотография конструктора запроса представлена на рисунке 4.3.

Рисунок 4.3 – Фотография запроса 3

Текст запроса на языке SQL имеет следующий вид:

SELECT Палата.КодПал, Палата.Номер, Count(Пациенты.КодПац) AS

WHERE (((.Дата)<=))

GROUP BY Палата.КодПал, Палата.Номер;

Результаты выполнения запроса 2 представлены в таблице 4.3.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *