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

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

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

Оффлайн MuI_I_Ika

  • Гончаров Михаил
  • Администратор
  • *****
  • Сообщений: 7104
  • РЕПУТАЦИЯ: 844
  • КПД: 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
Просмотров: 12819
Последний ответ 11 Мар 2014, 16:09
от mashencev_anton
Номенклатуры типов "расход" и "услуга. Как использовать?

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

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

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

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

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

Ответов: 2
Просмотров: 2519
Последний ответ 02 Дек 2016, 12:58
от Jalib
Форма Номенклатуры + РегистрСведенийСписок (обычная форма)

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

Ответов: 6
Просмотров: 399
Последний ответ 21 Май 2020, 22:35
от Алина Осипова

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

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

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


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

* Реклама

* Поиск

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

* Реклама

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

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

Геннадий ОбьГЭС Геннадий ОбьГЭС
67 Сообщений
oooo800
39 Сообщений
LexaK
31 Сообщений
Дмитрий Джей Дмитрий Джей
29 Сообщений
IL2016
28 Сообщений
antoneus antoneus
24 Сообщений
DmitriyF DmitriyF
17 Сообщений
Ann_
16 Сообщений
мадам брошкина
13 Сообщений
illiona
10 Сообщений

* Кто онлайн

  • Точка Гостей: 290
  • Точка Скрытых: 0
  • Точка Пользователей: 4
  • Точка Сейчас на форуме:

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

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

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

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

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal