Запрос Остатков 1с 8.2

Тема в разделе "1C и всё что с ней связано", создана пользователем alex9910, 18 апр 2012.

  1. alex9910

    alex9910 Гость

    Всем салют =)

    Как можно сделать запрос остатков номенклатуры? Код привожу ниже но он явно не верный мог бы кто подправить пожалуйста..

    Код ( (Unknown Language)):
            "ВЫБРАТЬ
    |   Номенклатура.Ссылка КАК Ссылка,
    |   Номенклатура.Наименование,
    |   Номенклатура.Код
    |ПОМЕСТИТЬ ВТНоменклатура
    |ИЗ
    |   Справочник.Номенклатура КАК Номенклатура
    |ГДЕ
    |   (НЕ Номенклатура.ЭтоГруппа)
    |   И Номенклатура.Ссылка В ИЕРАРХИИ(&ВыбГруппа)
    |
    |СГРУППИРОВАТЬ ПО
    |   Номенклатура.Наименование,
    |   Номенклатура.Ссылка,
    |   Номенклатура.Код
    |;
    |
    |////////////////////////////////////////////////////////////////////////////////
    |ВЫБРАТЬ
    |   ЦеныНоменклатурыСрезПоследних.Номенклатура КАК Номенклатура,
    |   ЦеныНоменклатурыСрезПоследних.Цена
    |ПОМЕСТИТЬ ВТЦены
    |ИЗ
    |   РегистрСведений.ЦеныНоменклатуры.СрезПоследних(
    |           ,
    |           Номенклатура В
    |                   (ВЫБРАТЬ
    |                       ВТНоменклатура.Ссылка
    |                   ИЗ
    |                       ВТНоменклатура)
    |               И ТипЦен = &ТипЦен) КАК ЦеныНоменклатурыСрезПоследних
    |
    |ИНДЕКСИРОВАТЬ ПО
    |   Номенклатура
    |;
    |
    |////////////////////////////////////////////////////////////////////////////////
    |ВЫБРАТЬ
    |   ХозрасчетныйОстатки.КоличествоОстаток,
    |   ХозрасчетныйОстатки.Счет,
    |   ХозрасчетныйОстатки.Субконто1
    |ПОМЕСТИТЬ ВТОстатки
    |ИЗ
    |   РегистрБухгалтерии.Хозрасчетный.Остатки КАК ХозрасчетныйОстатки
    |;
    |
    |////////////////////////////////////////////////////////////////////////////////
    |ВЫБРАТЬ
    |   ВТНоменклатура.Наименование,
    |   ВТНоменклатура.Код,
    |   ВТЦены.Цена
    |ИЗ
    |   ВТНоменклатура КАК ВТНоменклатура
    |       ЛЕВОЕ СОЕДИНЕНИЕ ВТЦены КАК ВТЦены
    |       ПО ВТНоменклатура.Ссылка = ВТЦены.Номенклатура";
     
  2. Allexei

    Allexei Well-Known Member

    Регистрация:
    2 май 2008
    Сообщения:
    322
    Симпатии:
    0
    Можно вопросик, зачем испоьзовалась индексация по номенклатуре?
    Я бы сделал в начале выборку по субконто1(предпоследний запрос), с условием что субконто 1 это номенклатура, в группе , и не является группой.Потом через внутренне соединение соединил бы с ценами, ИМНО.
     
  3. unknown181538

    unknown181538 НеГуру
    1C Team

    Регистрация:
    28 дек 2008
    Сообщения:
    1.418
    Симпатии:
    0
    Allexei ведь используется соединение по номенклатуре. Индексация разве не ускорит в этом случае?

    Добавлено: По теме:
    тут зависит от того, в каком виде нужно получить остатки, и нужны ли записи по элементам, по которым нет остатков.
    Но в любом случае на виртуальную таблицу остатков надо наложить условие по счету.
     
  4. Allexei

    Allexei Well-Known Member

    Регистрация:
    2 май 2008
    Сообщения:
    322
    Симпатии:
    0
    unknown181538 , а точно. Никогда не индексировал для объединений. Только для отбора использовал.
    Хотя если честно, сделал проверку( выборка полного справочника номенклатуры, индексация по полю ссылка и внутреннее соединение со срезом последних цен) и ничего не понял. С использованием индексации выполняется дольше.
    ПыСы Индексация приносит реально ощутимый результат когда при объединение используется более 2-х полей. Почему - хз. Разница во времени чуть больше чем в 100 раз
     
  5. Darlock

    Darlock Well-Known Member
    1C Team

    Регистрация:
    4 янв 2008
    Сообщения:
    558
    Симпатии:
    0
    Я могу ошибаться, конечно, но не используется ли индекс самой платформой когда проектируете регистр сведений? А тут по запросу получается, что индексируем и так индексированное поле (измерение регистра).
    По теме - согласен с unknown181538. Максимум условий на выборку делайте на вирт.таблицу, а только после этого используйте итоговые условия (закладка "Условия")
     
  6. Allexei

    Allexei Well-Known Member

    Регистрация:
    2 май 2008
    Сообщения:
    322
    Симпатии:
    0
    Darlock
    Неа, в 8- есть фишка по индексированию временных таблиц. При создании временной таблицы создается новая физическая таблица на скулевом сервере в tmpdb(вроде). Именно для этой таблицы у тебя индекс и создается при помощи ИНДЕКСИРОВАТЬ ПО.
     
Загрузка...
Похожие Темы - Запрос Остатков 1с
  1. Natalya
    Ответов:
    4
    Просмотров:
    4.020
  2. mrtg
    Ответов:
    14
    Просмотров:
    212
  3. erdi
    Ответов:
    1
    Просмотров:
    114
  4. lmike
    Ответов:
    23
    Просмотров:
    737
  5. deeeman
    Ответов:
    9
    Просмотров:
    358

Поделиться этой страницей