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

Автор Тема: Запрос 8.2  (Прочитано 2973 раз)

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

Оффлайн 1cka

  • ***
  • Сообщений: 154
  • РЕПУТАЦИЯ: 1
  • КПД: 1%
  • Регистрация: 2014-01-04
  • Сайт: 
  • Профессия: Ученик 1С
Запрос 8.2
« Первое сообщение: 26 Авг 2014, 09:28 »
Делаю запрос:
хочу видеть все позиции номенклатуры с остатками и ценами для нее
А  получается, что если нет цены, то номенклатура не выводится
Что не так делаю?
|    ВЫБРАТЬ
    //|    РАЗРЕШЕННЫЕ
    ////*** Начальный остаток
    |    СвободныеОстатки.Номенклатура,
    |    СвободныеОстатки.КоличествоСУчетомСерииОстаток КАК КоличествоНачОстаток,
    |   ЕСТЬNULL(ЦеныНоменклатурыСрезПоследних.Цена, 0) КАК Цена

    |ИЗ
    |    РегистрНакопления.СвободныеОстатки.Остатки(&ДатаНач,) КАК СвободныеОстатки
    |ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&ДатаНач,) КАК ЦеныНоменклатурыСрезПоследних
    |    ПО СвободныеОстатки.Номенклатура = ЦеныНоменклатурыСрезПоследних.Номенклатура


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

  • 1С:Специалист
  • Глобальный модератор
  • *****
  • Сообщений: 5745
  • РЕПУТАЦИЯ: 1099
  • КПД: 19%
  • Красная армия всех сильней!
  • Регистрация: 2010-11-06
    • Skype: cska-fanat-kz81
  • Сайт: cska-fanat-kz.ucoz.kz
  • Профессия: Разработчик 1С
Re: Запрос 8.2
« Ответ #1: 26 Авг 2014, 11:51 »
В приведенном тексте запроса - все нормально.
Не выведется номенклатура, не имеющая остатков, а вот цены - не должны влиять.
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

Оффлайн 1cka

  • ***
  • Сообщений: 154
  • РЕПУТАЦИЯ: 1
  • КПД: 1%
  • Регистрация: 2014-01-04
  • Сайт: 
  • Профессия: Ученик 1С
Re: Запрос 8.2
« Ответ #2: 26 Авг 2014, 15:57 »
разобралась, я даже не стала писать условия, а оказалось дело в них.
Условие по ТипуЦен добавила сразу в соединении, а не в конце.
    |    ВЫБРАТЬ
    |    СвободныеОстатки.Номенклатура,
    |    СвободныеОстатки.КоличествоСУчетомСерииОстаток КАК КоличествоНачОстаток,
    |   ЕСТЬNULL(ЦеныНоменклатурыСрезПоследних.Цена, 0) КАК Цена

    |ИЗ
    |    РегистрНакопления.СвободныеОстатки.Остатки(&ДатаНач,) КАК СвободныеОстатки
    |ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&ДатаНач,) КАК ЦеныНоменклатурыСрезПоследних
    |    ПО СвободныеОстатки.Номенклатура = ЦеныНоменклатурыСрезПоследних.Номенклатура
    |И ЦеныНоменклатурыСрезПоследних.ТипЦен = &ТипЦен
|ГДЕ
| СвободныеОстатки.Номенклатура.ВидНоменклатуры = &ВыбВидНоменклатуры
| И СвободныеОстатки.Номенклатура.ВидВоспроизводства = &ВыбВидВоспроизводства
| И (СвободныеОстатки.Склад = &Склад1 ИЛИ СвободныеОстатки.Склад = &Склад2 ИЛИ СвободныеОстатки.Склад = &Склад3)
  //|И ЦеныНоменклатурыСрезПоследних.ТипЦен = &ТипЦен

возник параллельный вопрос
результат выполнения запроса я сворачиваю так
ТаблицаЗ.Свернуть("Номенклатура", "КоличествоНачОстаток, Цена");
и получается что если Номенклатура была на двух складах, то цена увеличивается в 2 раза, т.е. ровно то что я и написала - сгруппировалась номенклатура, а количество и цена ссумировались.
хочется чтобы номеклатура сгруппировалась, количество сложилось, а цена осталась на одну позицию
если так
ТаблицаЗ.Свернуть("Номенклатура, Цена", "КоличествоНачОстаток");
то не группируется номенклатура
   
   

Оффлайн Kironten

  • *****
  • Сообщений: 900
  • РЕПУТАЦИЯ: 185
  • КПД: 21%
  • Регистрация: 2013-08-12
  • Сайт: 
  • Профессия: Ученик 1С
Re: Запрос 8.2
« Ответ #3: 26 Авг 2014, 16:16 »
Так сгруппируйте в самом запросе. Зачем группировать уже результат, который, как я понимаю вы еще и в ТЗ выгружаете.
На закладке группировка:
в группируемое поле - номенклатуру
в суммируемые поля - количество(сумма), цена(ну например МАКСИМУМ)

Оффлайн 1cka

  • ***
  • Сообщений: 154
  • РЕПУТАЦИЯ: 1
  • КПД: 1%
  • Регистрация: 2014-01-04
  • Сайт: 
  • Профессия: Ученик 1С
Re: Запрос 8.2
« Ответ #4: 26 Авг 2014, 17:03 »
Так сгруппируйте в самом запросе. Зачем группировать уже результат, который, как я понимаю вы еще и в ТЗ выгружаете.
На закладке группировка:
в группируемое поле - номенклатуру
в суммируемые поля - количество(сумма), цена(ну например МАКСИМУМ)
я дальше с помощью ОБЪЕДИНИТЬ ВСЕ еще запросы добавляю..
уже скопировала запрос в модуль формы, ковыряю запрос руками..:(
результат запроса выгружаю и копирую в тз, а там уже  сворачиваю
так ведь можно? а куда СГруппировать по синтаксису добавить в случает использования ОБЪЕДИНИТЬ ВСЕ?

Оффлайн Kironten

  • *****
  • Сообщений: 900
  • РЕПУТАЦИЯ: 185
  • КПД: 21%
  • Регистрация: 2013-08-12
  • Сайт: 
  • Профессия: Ученик 1С
Re: Запрос 8.2
« Ответ #5: 26 Авг 2014, 17:13 »
Ну а что мешает сделать вложенный запрос или временную таблицу, там все сгруппировать и потом добавить через объеденитьвсе еще запросы?

Оффлайн 1cka

  • ***
  • Сообщений: 154
  • РЕПУТАЦИЯ: 1
  • КПД: 1%
  • Регистрация: 2014-01-04
  • Сайт: 
  • Профессия: Ученик 1С
Re: Запрос 8.2
« Ответ #6: 27 Авг 2014, 08:45 »
Ну а что мешает сделать вложенный запрос или временную таблицу, там все сгруппировать и потом добавить через объеденитьвсе еще запросы?
сейчас запрос выглядит так, никак до меня не доходит что куда вложить((( подскажите пожалуйста
|    ВЫБРАТЬ
    |    СвободныеОстатки.Номенклатура,
    |    СвободныеОстатки.КоличествоСУчетомСерииОстаток КАК КоличествоНачОстаток,
    |   ЕСТЬNULL(ЦеныНоменклатурыСрезПоследних.Цена, 0) КАК Цена,
    | 0 КАК КоличествоОборот

    |ИЗ
    |    РегистрНакопления.СвободныеОстатки.Остатки(&ДатаНач,) КАК СвободныеОстатки
    |ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&ДатаНач,) КАК ЦеныНоменклатурыСрезПоследних
    |    ПО СвободныеОстатки.Номенклатура = ЦеныНоменклатурыСрезПоследних.Номенклатура
    |И ЦеныНоменклатурыСрезПоследних.ТипЦен = &ТипЦен
    |ГДЕ
    |     СвободныеОстатки.Номенклатура.ВидНоменклатуры = &ВыбВидНоменклатуры
    |         И СвободныеОстатки.Номенклатура.ВидВоспроизводства = &ВыбВидВоспроизводства
    |         И (СвободныеОстатки.Склад = &Склад1 ИЛИ СвободныеОстатки.Склад = &Склад2 ИЛИ СвободныеОстатки.Склад = &Склад3)
  |ОБЪЕДИНИТЬ ВСЕ
  |ВЫБРАТЬ

        | ЗакупкиОбороты.Номенклатура КАК Номенклатура,
| 0 КАК КоличествоНачОстаток,
|       0 КАК Цена,
        | ЗакупкиОбороты.КоличествоОборот КАК КоличествоОборот

|ИЗ
| РегистрНакопления.Закупки.Обороты(&ДатаНач, &ДатаКон , Авто, ) КАК ЗакупкиОбороты


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

  • 1С:Специалист
  • Глобальный модератор
  • *****
  • Сообщений: 5745
  • РЕПУТАЦИЯ: 1099
  • КПД: 19%
  • Красная армия всех сильней!
  • Регистрация: 2010-11-06
    • Skype: cska-fanat-kz81
  • Сайт: cska-fanat-kz.ucoz.kz
  • Профессия: Разработчик 1С
Re: Запрос 8.2
« Ответ #7: 27 Авг 2014, 13:38 »
примерно следующее нужно сделать:
Запрос.Текст = 
"ВЫБРАТЬ
| Банки.Ссылка,
| Банки.Наименование
|ПОМЕСТИТЬ ВТ
|ИЗ
| Справочник.Банки КАК Банки
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| БанковскиеСчета.Ссылка,
| БанковскиеСчета.Наименование
|ИЗ
| Справочник.БанковскиеСчета КАК БанковскиеСчета
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| ВТ.Ссылка,
| КОЛИЧЕСТВО(РАЗЛИЧНЫЕ ВТ.Наименование) КАК Наименование
|ИЗ
| ВТ КАК ВТ
|
|СГРУППИРОВАТЬ ПО
| ВТ.Ссылка";
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

Оффлайн Kironten

  • *****
  • Сообщений: 900
  • РЕПУТАЦИЯ: 185
  • КПД: 21%
  • Регистрация: 2013-08-12
  • Сайт: 
  • Профессия: Ученик 1С
Re: Запрос 8.2
« Ответ #8: 27 Авг 2014, 13:39 »
Я бы делал так:
ВЫБРАТЬ
СвободныеОстаткиОстаткиИОбороты.Номенклатура,
СУММА(СвободныеОстаткиОстаткиИОбороты.КоличествоСУчетомСерииНачальныйОстаток) КАК КоличествоНач,
МАКСИМУМ(ЕСТЬNULL(ЦеныНоменклатурыСрезПоследних.Цена, 0)) КАК Цена
ПОМЕСТИТЬ ВТ
ИЗ
РегистрНакопления.СвободныеОстатки.ОстаткиИОбороты(&ДатаНач, &ДатаКон, , , ) КАК СвободныеОстаткиОстаткиИОбороты
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&ДатаНач, ) КАК ЦеныНоменклатурыСрезПоследних
ПО СвободныеОстаткиОстаткиИОбороты.Номенклатура = ЦеныНоменклатурыСрезПоследних.Номенклатура
ГДЕ
ЦеныНоменклатурыСрезПоследних.ТипЦен = &ТипЦен
И СвободныеОстаткиОстаткиИОбороты.Номенклатура.ВидВоспроизводства = &ВыбВидВоспроизводства
И СвободныеОстаткиОстаткиИОбороты.Номенклатура.ВидНоменклатуры = &ВыбВидНоменклатуры
И СвободныеОстаткиОстаткиИОбороты.Склад В (&Склады)

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

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

Оффлайн 1cka

  • ***
  • Сообщений: 154
  • РЕПУТАЦИЯ: 1
  • КПД: 1%
  • Регистрация: 2014-01-04
  • Сайт: 
  • Профессия: Ученик 1С
Re: Запрос 8.2
« Ответ #9: 01 Сен 2014, 13:25 »
Я бы делал так:

так не учитываются номенклатуры у которых не проставлены цены (((((


Теги:
 

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

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

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

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

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

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

Ответов: 1
Просмотров: 978
Последний ответ 11 Июл 2016, 09:00
от vitasw
Запрос по обработке "Согласование заявок"

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

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

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

Ответов: 13
Просмотров: 16530
Последний ответ 02 Сен 2011, 01:14
от bolobol

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

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

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


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

* Реклама

* Поиск

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

* Реклама

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

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

Геннадий ОбьГЭС Геннадий ОбьГЭС
172 Сообщений
ilyay ilyay
75 Сообщений
oleg-x
51 Сообщений
alex0402
49 Сообщений
andron81_81
39 Сообщений
AIFrame
37 Сообщений
MuI_I_Ika MuI_I_Ika
34 Сообщений
BuhRust
30 Сообщений
Golickoff Golickoff
28 Сообщений
Dima Dddd Dima Dddd
26 Сообщений

* Кто онлайн

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

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

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

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

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

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal