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

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

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

Онлайн Golickoff

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


Оффлайн Luzer1C

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

Онлайн Golickoff

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

Оффлайн Luzer1C

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

Онлайн Golickoff

  • ****
  • Сообщений: 252
  • РЕПУТАЦИЯ: 15
  • КПД: 6%
  • Регистрация: 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. Я думаю, это максимально понятное описание проблемы.
Правило поведения на форуме №6: Не следует пытаться привлечь внимание к своему сообщению ... рассылкой персональных сообщений и/или электронных писем отдельным участникам форума с просьбой ответить в теме.

Последний раз редактировалось: 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
  • РЕПУТАЦИЯ: 41
  • КПД: 10%
  • Регистрация: 2014-02-17
  • Сайт: 
  • Профессия: Программист 1С
Это какая-то самописная база?
Помочь мне очень сложно. Но можно.
Помогаю просто так...
Матёрый разработчик УПП + Бит Финанс

Онлайн Golickoff

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

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

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


 

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

* Реклама

Смотрите бесплатно более 300 видеоуроков по работе в 1С:Бухгалтерия 8 и 1C:ЗУП 8 ред. 3.0

СМОТРЕТЬ >>

* Поиск

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

* Реклама

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

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

alex0402
91 Сообщений
oleg-x
83 Сообщений
Геннадий ОбьГЭС Геннадий ОбьГЭС
67 Сообщений
Golickoff Golickoff
51 Сообщений
ilyay ilyay
44 Сообщений
AIFrame
42 Сообщений
Амал
30 Сообщений
Dethmontt Dethmontt
22 Сообщений
lansy
22 Сообщений
xproh
21 Сообщений

* Кто онлайн

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

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

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

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

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

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal