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

Автор Тема: Запрос остатков выводит строки для каждого склада  (Прочитано 568 раз)

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

Оффлайн Golickoff

  • ***
  • Сообщений: 199
  • РЕПУТАЦИЯ: 10
  • КПД: 5%
  • Регистрация: 2015-02-05
  • Сайт: 
  • Профессия: Ученик 1С
Всем привет.
Есть отчёт, который должен выводить остатки товара с возможностью выбора нескольких складов. Он выводит остатки по каждому складу (создаёт строки с одинаковой номенклатурой и разными остатками) и от этого нужно избавиться. Требуется, чтобы он выводил общий начальный и конечный остатки (а также приходы и расходы) для всех выбранных складов и выводил их в одной строке. Вот текст:
"ВЫБРАТЬ
                   |   ОстаткиНоменклатурыОстаткиИОбороты.Номенклатура КАК Номенклатура,
                   |   ОстаткиНоменклатурыОстаткиИОбороты.НомерГТД КАК НомерГТД,
                   |   ОстаткиНоменклатурыОстаткиИОбороты.Партия.ВалютаДокумента,
                   |   ОстаткиНоменклатурыОстаткиИОбороты.КоличествоНачальныйОстаток КАК КоличествоНачальныйОстаток,
                   |   ОстаткиНоменклатурыОстаткиИОбороты.КоличествоРасход КАК КоличествоРасход,
                   |   ОстаткиНоменклатурыОстаткиИОбороты.КоличествоКонечныйОстаток КАК КоличествоКонечныйОстаток,
                   |   ПриходнаяНакладнаяТовары.Цена,
                   |   ОстаткиНоменклатурыОстаткиИОбороты.КоличествоПриход КАК КоличествоПриход
                   |ИЗ
                   |   РегистрНакопления.ОстаткиНоменклатуры.ОстаткиИОбороты(&ДатаНач, &ДатаКон, Регистратор, , ) КАК ОстаткиНоменклатурыОстаткиИОбороты
                   |      ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПриходнаяНакладная.Товары КАК ПриходнаяНакладнаяТовары
                   |      ПО ОстаткиНоменклатурыОстаткиИОбороты.Номенклатура = ПриходнаяНакладнаяТовары.Номенклатура
                   |         И ОстаткиНоменклатурыОстаткиИОбороты.Партия = ПриходнаяНакладнаяТовары.Ссылка
                   |ГДЕ
                   |   ОстаткиНоменклатурыОстаткиИОбороты.Организация = &Организация
                   |   И ОстаткиНоменклатурыОстаткиИОбороты.Склад В(&Склады)
                   |   И НЕ ОстаткиНоменклатурыОстаткиИОбороты.Регистратор ССЫЛКА Документ.ПеремещениеТоваров
                   |
                   |УПОРЯДОЧИТЬ ПО
                   |   НомерГТД,
                   |   Номенклатура


Оффлайн Luzer1C

  • ****
  • Сообщений: 411
  • РЕПУТАЦИЯ: 40
  • КПД: 10%
  • Регистрация: 2014-02-17
  • Сайт: 
  • Профессия: Программист 1С
Попробуй в группировки добавить все измерения, а в суммируемые поля все ресурсы.
У виртуальных таблиц лучше не использовать секцию "ГДЕ", а задавать отбор сразу в настройках.
Почему так? Диск ИТС в помощь.
Помочь мне очень сложно. Но можно.
Помогаю просто так...
Матёрый разработчик УПП + Бит Финанс

Оффлайн Golickoff

  • ***
  • Сообщений: 199
  • РЕПУТАЦИЯ: 10
  • КПД: 5%
  • Регистрация: 2015-02-05
  • Сайт: 
  • Профессия: Ученик 1С
Пробовал. Начальный остаток 0, приход 100, конечный остаток 100. Отчёт выдаёт начальный 100, приход 100, конечный 200.

Оффлайн Luzer1C

  • ****
  • Сообщений: 411
  • РЕПУТАЦИЯ: 40
  • КПД: 10%
  • Регистрация: 2014-02-17
  • Сайт: 
  • Профессия: Программист 1С
Вот так:
РегистрНакопления.ОстаткиНоменклатуры.ОстаткиИОбороты(&ДатаНач, &ДатаКон, Регистратор, , Организация = &Организация И Склад В(&Склады))
Помочь мне очень сложно. Но можно.
Помогаю просто так...
Матёрый разработчик УПП + Бит Финанс

Оффлайн Golickoff

  • ***
  • Сообщений: 199
  • РЕПУТАЦИЯ: 10
  • КПД: 5%
  • Регистрация: 2015-02-05
  • Сайт: 
  • Профессия: Ученик 1С
Сделал, из запроса те же условия убрал, установил сумму для ресурсов. По-прежнему выводит 2 строки с одинаковой номенклатурой для склада и магазина.
Добавлено: 12 Июл 2016, 05:50

Нет, я наврал. Ресурсы не поместились в сумму (не проверил этот момент). Переделал, теперь по одной строке на номенклатуру, но проблема с количеством осталась. Было 0, пришло 100, осталось 100. В отчёте было 100, пришло 100, осталось 200. Вот текст:
"ВЫБРАТЬ
                   |   ОстаткиНоменклатурыОстаткиИОбороты.Номенклатура КАК Номенклатура,
                   |   ОстаткиНоменклатурыОстаткиИОбороты.НомерГТД КАК НомерГТД,
                   |   ОстаткиНоменклатурыОстаткиИОбороты.Партия.ВалютаДокумента,
                   |   СУММА(ОстаткиНоменклатурыОстаткиИОбороты.КоличествоНачальныйОстаток) КАК КоличествоНачальныйОстаток,
                   |   СУММА(ОстаткиНоменклатурыОстаткиИОбороты.КоличествоПриход) КАК КоличествоПриход,
                   |   СУММА(ОстаткиНоменклатурыОстаткиИОбороты.КоличествоРасход) КАК КоличествоРасход,
                   |   СУММА(ОстаткиНоменклатурыОстаткиИОбороты.КоличествоКонечныйОстаток) КАК КоличествоКонечныйОстаток,
                   |   ПриходнаяНакладнаяТовары.Цена
                   |ИЗ
                   |   РегистрНакопления.ОстаткиНоменклатуры.ОстаткиИОбороты(
                   |         &ДатаНач,
                   |         &ДатаКон,
                   |         Регистратор,
                   |         ,
                   |         Организация = &Организация
                   |            И Склад В (&Склады)) КАК ОстаткиНоменклатурыОстаткиИОбороты
                   |      ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПриходнаяНакладная.Товары КАК ПриходнаяНакладнаяТовары
                   |      ПО ОстаткиНоменклатурыОстаткиИОбороты.Номенклатура = ПриходнаяНакладнаяТовары.Номенклатура
                   |         И ОстаткиНоменклатурыОстаткиИОбороты.Партия = ПриходнаяНакладнаяТовары.Ссылка
                   |ГДЕ
                   |   НЕ ОстаткиНоменклатурыОстаткиИОбороты.Регистратор ССЫЛКА Документ.ПеремещениеТоваров
                   |
                   |СГРУППИРОВАТЬ ПО
                   |   ОстаткиНоменклатурыОстаткиИОбороты.Номенклатура,
                   |   ОстаткиНоменклатурыОстаткиИОбороты.НомерГТД,
                   |   ОстаткиНоменклатурыОстаткиИОбороты.Партия.ВалютаДокумента,
                   |   ПриходнаяНакладнаяТовары.Цена
                   |
                   |УПОРЯДОЧИТЬ ПО
                   |   НомерГТД,
                   |   Номенклатура
Добавлено: 12 Июл 2016, 06:22

Если убрать условие с регистратором, текст становится таким
ВЫБРАТЬ
                   |   ОстаткиНоменклатурыОстаткиИОбороты.Номенклатура КАК Номенклатура,
                   |   ОстаткиНоменклатурыОстаткиИОбороты.НомерГТД КАК НомерГТД,
                   |   ОстаткиНоменклатурыОстаткиИОбороты.Партия.ВалютаДокумента,
                   |   СУММА(ОстаткиНоменклатурыОстаткиИОбороты.КоличествоНачальныйОстаток) КАК КоличествоНачальныйОстаток,
                   |   СУММА(ОстаткиНоменклатурыОстаткиИОбороты.КоличествоПриход) КАК КоличествоПриход,
                   |   СУММА(ОстаткиНоменклатурыОстаткиИОбороты.КоличествоРасход) КАК КоличествоРасход,
                   |   СУММА(ОстаткиНоменклатурыОстаткиИОбороты.КоличествоКонечныйОстаток) КАК КоличествоКонечныйОстаток,
                   |   ПриходнаяНакладнаяТовары.Цена
                   |ИЗ
                   |   РегистрНакопления.ОстаткиНоменклатуры.ОстаткиИОбороты(
                   |         &ДатаНач,
                   |         &ДатаКон,
                   |         Период,
                   |         ,
                   |         Организация = &Организация
                   |            И Склад В (&Склады)) КАК ОстаткиНоменклатурыОстаткиИОбороты
                   |      ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПриходнаяНакладная.Товары КАК ПриходнаяНакладнаяТовары
                   |      ПО ОстаткиНоменклатурыОстаткиИОбороты.Номенклатура = ПриходнаяНакладнаяТовары.Номенклатура
                   |         И ОстаткиНоменклатурыОстаткиИОбороты.Партия = ПриходнаяНакладнаяТовары.Ссылка
                   |
                   |СГРУППИРОВАТЬ ПО
                   |   ОстаткиНоменклатурыОстаткиИОбороты.Номенклатура,
                   |   ОстаткиНоменклатурыОстаткиИОбороты.НомерГТД,
                   |   ОстаткиНоменклатурыОстаткиИОбороты.Партия.ВалютаДокумента,
                   |   ПриходнаяНакладнаяТовары.Цена
                   |
                   |УПОРЯДОЧИТЬ ПО
                   |   НомерГТД,
                   |   Номенклатура
Чтобы стало яснее, есть 2 склада: склад и магазин. Ни на одном из них не было товара. На склад пришло 100 единиц номенклатуры, 20 из них переместили в магазин и ничего не продали. То есть, в организации было 0 товаров, пришло 100 и ничего не ушло. А  показывает, что было 0 товаров, пришло 120, ушло 20 и осталось 100. Я думаю, это максимально понятное описание проблемы.

Последний раз редактировалось: Golickoff; 12 Июл 2016, 06:22. Причина: Объединение сообщений

Оффлайн cska-fanat-kz

  • 1С:Специалист
  • Глобальный модератор
  • *****
  • Сообщений: 5745
  • РЕПУТАЦИЯ: 1097
  • КПД: 19%
  • Красная армия всех сильней!
  • Регистрация: 2010-11-06
    • Skype: cska-fanat-kz81
  • Сайт: cska-fanat-kz.ucoz.kz
  • Профессия: Разработчик 1С
обычно динамические колонки - это фишка СКД в виде двумерной таблицы.
если то же самое надо запросом получить, то текст запроса надо кусками собирать, в зависимости от выбранных складов.
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

Оффлайн Luzer1C

  • ****
  • Сообщений: 411
  • РЕПУТАЦИЯ: 40
  • КПД: 10%
  • Регистрация: 2014-02-17
  • Сайт: 
  • Профессия: Программист 1С
Это какая-то самописная база?
Помочь мне очень сложно. Но можно.
Помогаю просто так...
Матёрый разработчик УПП + Бит Финанс

Оффлайн Golickoff

  • ***
  • Сообщений: 199
  • РЕПУТАЦИЯ: 10
  • КПД: 5%
  • Регистрация: 2015-02-05
  • Сайт: 
  • Профессия: Ученик 1С
Это какая-то самописная база?
Далион:Тренд
Добавлено: 12 Июл 2016, 08:07

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

Последний раз редактировалось: Golickoff; 12 Июл 2016, 08:07. Причина: Объединение сообщений


 

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

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

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

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

Ответов: 2
Просмотров: 2584
Последний ответ 15 Май 2013, 23:27
от Березин
Что быстрее: Загрузить табличную часть в запрос и там добавить колонки, или пробежаться циклом по ТЧ и добавить значения в колонки

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

Ответов: 1
Просмотров: 715
Последний ответ 11 Июл 2016, 09:00
от vitasw
Отчеты "Ведомость ОС, НМА" и "Ведомость остатков материалов"

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

Ответов: 0
Просмотров: 2236
Последний ответ 04 Апр 2015, 06:15
от OlegatorOG
Запрос по обработке "Согласование заявок"

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

Ответов: 0
Просмотров: 419
Последний ответ 29 Сен 2016, 02:39
от DenielAkreed

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

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

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


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

* Реклама

* Поиск

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

* Реклама

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

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

Геннадий ОбьГЭС Геннадий ОбьГЭС
96 Сообщений
Dethmontt Dethmontt
69 Сообщений
alex0402
66 Сообщений
wise wise
63 Сообщений
MuI_I_Ika MuI_I_Ika
61 Сообщений
ilyay ilyay
41 Сообщений
Сергей Федоров Сергей Федоров
34 Сообщений
magnifico61
23 Сообщений
ilnur75
21 Сообщений
BuhRust
21 Сообщений

* Кто онлайн

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

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

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

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

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

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal