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

Автор Тема: Как добавить периодичность в запрос?  (Прочитано 6793 раз)

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

Оффлайн AlenkaInt

  • ****
  • Сообщений: 266
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2012-08-21
  • Сайт: 
  • Профессия: Программист 1С
Здравствуйте. Я сейчас обучаюсь в одной фирме франчайзи. Есть запрос в УТ 11, мне поставили задачу - надо выводить данные с периодичностью 1 день используя ТОЛЬКО физические таблицы. Подскажите, это надо как поработать с полем Период?
Вот, собственно, запрос:
ВЫБРАТЬ
КОЛИЧЕСТВО(ТоварыНаСкладах.Период) КАК Период,
ТоварыНаСкладах.Номенклатура КАК Товар,
СУММА(ВЫБОР
КОГДА ТоварыНаСкладах.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход)
ТОГДА ТоварыНаСкладах.ВНаличии
ИНАЧЕ 0
КОНЕЦ) КАК Приход,
СУММА(ВЫБОР
КОГДА ТоварыНаСкладах.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход)
ТОГДА ТоварыНаСкладах.ВНаличии
ИНАЧЕ 0
КОНЕЦ) КАК Расход
ПОМЕСТИТЬ Обороты
ИЗ
РегистрНакопления.ТоварыНаСкладах КАК ТоварыНаСкладах

СГРУППИРОВАТЬ ПО
ТоварыНаСкладах.Номенклатура
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
ТоварыНаСкладах.Номенклатура КАК Товар,
СУММА(ВЫБОР
КОГДА ТоварыНаСкладах.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход)
ТОГДА ТоварыНаСкладах.ВНаличии
ИНАЧЕ 0
КОНЕЦ - ВЫБОР
КОГДА ТоварыНаСкладах.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход)
ТОГДА ТоварыНаСкладах.ВНаличии
ИНАЧЕ 0
КОНЕЦ) КАК Остаток
ПОМЕСТИТЬ НачальныеОстатки
ИЗ
РегистрНакопления.ТоварыНаСкладах КАК ТоварыНаСкладах

СГРУППИРОВАТЬ ПО
ТоварыНаСкладах.Номенклатура
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
Номенклатура.Наименование КАК Наименование,
ЕСТЬNULL(НачальныеОстатки.Остаток, 0) КАК НачОстаток,
ЕСТЬNULL(Обороты.Приход, 0) КАК Приход,
ЕСТЬNULL(НачальныеОстатки.Остаток, 0) + ЕСТЬNULL(Обороты.Приход, 0) - ЕСТЬNULL(Обороты.Расход, 0) КАК КонОстаток,
ЕСТЬNULL(Обороты.Расход, 0) КАК Расход
ИЗ
Справочник.Номенклатура КАК Номенклатура
ЛЕВОЕ СОЕДИНЕНИЕ НачальныеОстатки КАК НачальныеОстатки
ПО Номенклатура.Ссылка = НачальныеОстатки.Товар
ЛЕВОЕ СОЕДИНЕНИЕ Обороты КАК Обороты
ПО Номенклатура.Ссылка = Обороты.Товар

УПОРЯДОЧИТЬ ПО
Наименование


Оффлайн MuI_I_Ika

  • Гончаров Михаил
  • Администратор
  • *****
  • Сообщений: 6558
  • РЕПУТАЦИЯ: 775
  • КПД: 12%
  • Регистрация: 2012-08-15
    • Skype: MuI_I_Ika
  • Сайт: 
  • Профессия: Программист 1С
Есть такая функция языка запросов НачалоПериода(Период,ДЕНЬ) Она должна помочь.

Оффлайн AlenkaInt

  • ****
  • Сообщений: 266
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2012-08-21
  • Сайт: 
  • Профессия: Программист 1С
Скажите, а можно эту функцию использовать в конструкторе запросов или это нужно уже в готовом запросе применять? Я нашла поиском много вариантов с кусками кода, но не знаю как и куда это вставить. Как мартышка с очками :-)

Оффлайн MuI_I_Ika

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



Каждое поле запроса в конструкторе можно отредактировать, нажав кнопку в виде зеленого карандаша. Отроется форма редактирования. В правом верхнем углу этой формы находится список возможных функций.

Оффлайн AlenkaInt

  • ****
  • Сообщений: 266
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2012-08-21
  • Сайт: 
  • Профессия: Программист 1С
Спасибо! К какому полю вы советуете применить данную функцию? Наверное уже в конечном запросе, где собирается конечный результат?

Оффлайн AlenkaInt

  • ****
  • Сообщений: 266
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2012-08-21
  • Сайт: 
  • Профессия: Программист 1С
Скажите, это можно применить только к Дате? Или к периоду тоже?

Оффлайн MuI_I_Ika

  • Гончаров Михаил
  • Администратор
  • *****
  • Сообщений: 6558
  • РЕПУТАЦИЯ: 775
  • КПД: 12%
  • Регистрация: 2012-08-15
    • Skype: MuI_I_Ika
  • Сайт: 
  • Профессия: Программист 1С
Да, можно в последнем. Функцию можно применить к любому полю с типом Дата.

Оффлайн AlenkaInt

  • ****
  • Сообщений: 266
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2012-08-21
  • Сайт: 
  • Профессия: Программист 1С
Сделала вот такой запрос
ВЫБРАТЬ
НАЧАЛОПЕРИОДА(ТоварыНаСкладах.Период, ДЕНЬ) КАК Период,
ТоварыНаСкладах.Номенклатура КАК Товар,
СУММА(ВЫБОР
КОГДА ТоварыНаСкладах.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход)
ТОГДА ТоварыНаСкладах.ВНаличии
ИНАЧЕ 0
КОНЕЦ) КАК Приход,
СУММА(ВЫБОР
КОГДА ТоварыНаСкладах.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход)
ТОГДА ТоварыНаСкладах.ВНаличии
ИНАЧЕ 0
КОНЕЦ) КАК Расход
ПОМЕСТИТЬ Обороты
ИЗ
РегистрНакопления.ТоварыНаСкладах КАК ТоварыНаСкладах

СГРУППИРОВАТЬ ПО
ТоварыНаСкладах.Номенклатура,
НАЧАЛОПЕРИОДА(ТоварыНаСкладах.Период, ДЕНЬ)
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
ТоварыНаСкладах.Номенклатура КАК Товар,
СУММА(ВЫБОР
КОГДА ТоварыНаСкладах.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход)
ТОГДА ТоварыНаСкладах.ВНаличии
ИНАЧЕ 0
КОНЕЦ - ВЫБОР
КОГДА ТоварыНаСкладах.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход)
ТОГДА ТоварыНаСкладах.ВНаличии
ИНАЧЕ 0
КОНЕЦ) КАК Остаток
ПОМЕСТИТЬ НачальныеОстатки
ИЗ
РегистрНакопления.ТоварыНаСкладах КАК ТоварыНаСкладах

СГРУППИРОВАТЬ ПО
ТоварыНаСкладах.Номенклатура
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
Номенклатура.Наименование КАК Наименование,
ЕСТЬNULL(НачальныеОстатки.Остаток, 0) КАК НачОстаток,
ЕСТЬNULL(Обороты.Приход, 0) КАК Приход,
ЕСТЬNULL(НачальныеОстатки.Остаток, 0) + ЕСТЬNULL(Обороты.Приход, 0) - ЕСТЬNULL(Обороты.Расход, 0) КАК КонОстаток,
ЕСТЬNULL(Обороты.Расход, 0) КАК Расход,
Обороты.Период КАК Период
ИЗ
Справочник.Номенклатура КАК Номенклатура
ЛЕВОЕ СОЕДИНЕНИЕ НачальныеОстатки КАК НачальныеОстатки
ПО Номенклатура.Ссылка = НачальныеОстатки.Товар
ЛЕВОЕ СОЕДИНЕНИЕ Обороты КАК Обороты
ПО Номенклатура.Ссылка = Обороты.Товар
ГДЕ
(НЕ Номенклатура.ЭтоГруппа)
В результате получается вот что.
Период Наименование НачОстаток Приход Расход КонОстаток
02.04.2010 0:00:00 BOSCH 9 3 6
01.04.2010 0:00:00 BOSCH 9 8 1
31.03.2010 0:00:00 BOSCH 9 21 1 29
03.04.2010 0:00:00 Ассорти 374 180 132 422
31.03.2010 0:00:00 Ассорти 374 94 4 464
05.04.2010 0:00:00 Ассорти 374 420 272 522
02.04.2010 0:00:00 Ассорти 374 420 410 384
Т.е. получилось, что отчет выводится по номенклатуре. Сначало по датам на одну номенклатуру, потом на другую номенклатуру. А мне надо, чтобы например 31.03 далее какие движения на это день, далее 01.04 и какие операции были в этот день. Как это сделать?

Оффлайн AlenkaInt

  • ****
  • Сообщений: 266
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2012-08-21
  • Сайт: 
  • Профессия: Программист 1С
У меня нет поля с датой. Я применила к периоду.

Оффлайн AlenkaInt

  • ****
  • Сообщений: 266
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2012-08-21
  • Сайт: 
  • Профессия: Программист 1С
Ой, я применила не к конечному запросу, сейчас исправлю.


Теги:
 

Как можно подставлять цену из регистра сведений "Цены поставщиков" в документ"ПоступлениеТоваров" на актуальную дату? Необходимо использовать запрос в решении.

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

Ответов: 14
Просмотров: 9383
Последний ответ 24 Окт 2014, 13:30
от cska-fanat-kz
Запрос Параметры для "ИЗ"

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

Ответов: 2
Просмотров: 3007
Последний ответ 15 Май 2013, 23:27
от Березин
Запрос по обработке "Согласование заявок"

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

Ответов: 0
Просмотров: 692
Последний ответ 29 Сен 2016, 02:39
от DenielAkreed
8.2 Бух. Запрос с условием "комментарий содержит текст"

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

Ответов: 13
Просмотров: 16575
Последний ответ 02 Сен 2011, 01:14
от bolobol
Ошибка "Построенный запрос к СУБД использует слишком много таблиц"

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

Ответов: 10
Просмотров: 8066
Последний ответ 03 Дек 2012, 14:04
от MuI_I_Ika

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

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

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


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

* Реклама

* Поиск

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

* Реклама

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

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

Геннадий ОбьГЭС Геннадий ОбьГЭС
145 Сообщений
ilyay ilyay
63 Сообщений
AIFrame
50 Сообщений
alex0402
50 Сообщений
andron81_81
44 Сообщений
oleg-x
42 Сообщений
BuhRust
32 Сообщений
MuI_I_Ika MuI_I_Ika
31 Сообщений
Golickoff Golickoff
28 Сообщений
Dima Dddd Dima Dddd
24 Сообщений

* Кто онлайн

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

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

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

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

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

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal