Реклама на этом месте
Форум 1С
Форум 1С
Программистам. Бухгалтерам. Администраторам. Пользователям
Задай вопрос - получи решение проблемы. Без троллинга и флуда.
26 Янв 2020, 13:54
МультиВход
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
 
collapse

Автор Тема: Как в запросе получить цены номенклатуры на каждую дату периода?  (Прочитано 8558 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн MuI_I_Ika

  • Гончаров Михаил
  • Администратор
  • *****
  • Сообщений: 7091
  • РЕПУТАЦИЯ: 839
  • КПД: 12%
  • Регистрация: 2012-08-15
    • Skype: MuI_I_Ika
  • Сайт: 
  • Профессия: Программист 1С

Как в запросе получить цены номенклатуры на каждую дату периода?


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


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


Рассмотрим задачу на примере периодического регистра сведений цены номенклатуры.
Наш регистр имеет одно единственное измерение - Номенклатура.
Ресурс у данного регистра - Цена.


Запрос будет выглядеть следующим образом:


"ВЫБРАТЬ
| 1 КАК Единица
|ПОМЕСТИТЬ Единицы
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| 2
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| 3
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| 4
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| 5
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| 6
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| 7
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| 8
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| 9
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| 10
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| КОНЕЦПЕРИОДА(ДОБАВИТЬКДАТЕ(&ДатаНачала, ДЕНЬ, 1000 * (Тысячи.Единица - 1) + 100 * (Сотни.Единица - 1) + 10 * (Десятки.Единица - 1) + Единицы.Единица - 1), ДЕНЬ) КАК ТекущаяДата
|ПОМЕСТИТЬ ДатыПериода
|ИЗ
| Единицы КАК Единицы,
| Единицы КАК Десятки,
| Единицы КАК Сотни,
| Единицы КАК Тысячи
|ГДЕ
| ДОБАВИТЬКДАТЕ(&ДатаНачала, ДЕНЬ, 1000 * (Тысячи.Единица - 1) + 100 * (Сотни.Единица - 1) + 10 * (Десятки.Единица - 1) + Единицы.Единица - 1) <= &ДатаОкончания
|;
|
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ РАЗРЕШЕННЫЕ РАЗЛИЧНЫЕ
| СтоимостьНоменклатурыСрезПоследних.Номенклатура,
| СтоимостьНоменклатурыСрезПоследних.Период
|ПОМЕСТИТЬ ПериодыСтоимости
|ИЗ
| РегистрСведений.ЦеныНоменклатуры КАК СтоимостьНоменклатурыСрезПоследних
|ГДЕ
| СтоимостьНоменклатурыСрезПоследних.Активность
| И СтоимостьНоменклатурыСрезПоследних.Период >= НАЧАЛОПЕРИОДА(&ДатаНачала, ДЕНЬ)
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| СтоимостьНоменклатурыСрезПоследних.Номенклатура,
| СтоимостьНоменклатурыСрезПоследних.Период
|ИЗ
| РегистрСведений.ЦеныНоменклатуры.СрезПоследних(
| НАЧАЛОПЕРИОДА(&ДатаНачала, ДЕНЬ),
| Активность) КАК СтоимостьНоменклатурыСрезПоследних
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| ПериодыСтоимости.Номенклатура,
| МАКСИМУМ(ПериодыСтоимости.Период) КАК Период,
| ДатыПериода.ТекущаяДата
|ПОМЕСТИТЬ ДатыСтоимости
|ИЗ
| ДатыПериода КАК ДатыПериода
| ЛЕВОЕ СОЕДИНЕНИЕ ПериодыСтоимости КАК ПериодыСтоимости
| ПО ДатыПериода.ТекущаяДата >= ПериодыСтоимости.Период
|
|СГРУППИРОВАТЬ ПО
| ПериодыСтоимости.Номенклатура,
| ДатыПериода.ТекущаяДата
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ РАЗРЕШЕННЫЕ
| ДатыСтоимости.ТекущаяДата,
| СтоимостьНоменклатуры.Номенклатура,
| СтоимостьНоменклатуры.Цена
|ИЗ
| ДатыСтоимости КАК ДатыСтоимости
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры КАК СтоимостьНоменклатуры
| ПО ДатыСтоимости.Номенклатура = СтоимостьНоменклатуры.Номенклатура
| И ДатыСтоимости.Период = СтоимостьНоменклатуры.Период
|УПОРЯДОЧИТЬ ПО ТекущаяДата
|; "


 

"фильтрация" номенклатуры

Автор mashencev_antonРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 12
Просмотров: 11627
Последний ответ 11 Мар 2014, 16:09
от mashencev_anton
Номенклатуры типов "расход" и "услуга. Как использовать?

Автор joyerРаздел Пользователям "1С - Предприятие 8"

Ответов: 0
Просмотров: 3525
Последний ответ 29 Июн 2011, 21:11
от joyer
Как в реализации товаров и услуг во вкладке товары добавить столбец производитель (FA) в управление торговлей 11.1 1с предприятие? оно отсутствует в номенклатуре доступной при нажатии кнопки добавить как войти в настройки номенклатуры?

Автор сергей123Раздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 0
Просмотров: 543
Последний ответ 25 Янв 2019, 10:07
от сергей123
как получить значение реквизита "Код" в обработке "ПодборНоменклатуры" в УТ10.3

Автор JalibРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 2
Просмотров: 2230
Последний ответ 02 Дек 2016, 12:58
от Jalib
Добавление колонки в "Установку цен номенклатуры"

Автор EtherialРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 0
Просмотров: 712
Последний ответ 23 Окт 2018, 17:35
от Etherial

* Живое общение

Не устроил ответ?

Зарегистрируйся и задай свой вопрос. Живое общение приносит результат намного быстрее.


Зарегистрироваться

* Реклама

* Поиск

* Последние задачи на разработку (фриланс)

* Реклама

* Последние вакансии

* Топ 10 авторов за месяц

Геннадий ОбьГЭС Геннадий ОбьГЭС
48 Сообщений
LexaK
36 Сообщений
alexandr_ll
31 Сообщений
DmitriyF DmitriyF
18 Сообщений
VID1234
17 Сообщений
Алексей_1985_06
16 Сообщений
alex0402 alex0402
15 Сообщений
BuhRust
13 Сообщений
temrmal temrmal
11 Сообщений
wise wise
11 Сообщений

* Кто онлайн

  • Точка Гостей: 320
  • Точка Скрытых: 0
  • Точка Пользователей: 0

Нет пользователей онлайн.

* Облако тэгов

* Форум 1С с мобильного

* Инструменты

* Дополнительно

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal