1. Набираем команду codeby webinar. Набираем команду для организации и проведения вебинаров. Подробнее ...

    Скрыть объявление
  2. Требуются разработчики и тестеры для проекта codebyOS. Требования для участия в проекте: Знание принципов работы ОС на базе Linux; Знание Bash; Крайне желательное знание CPP, Python, Lua; Навыки системного администрирования. Подробнее ...

    Скрыть объявление
  3. Получи 30.000 рублей. Для получения денег необходимо принять участие в конкурсе авторов codeby. С условиями и призами можно ознакомиться на этой странице ...

    Внимание! Регистрация авторов на конкурс закрыта.

    Скрыть объявление

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

Тема в разделе "Базы данных и администрирование", создана пользователем alex9910, 18 апр 2012.

  1. alex9910

    alex9910 Гость

    Репутация:
    0
    Всем салют =)

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

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

    Allexei Well-Known Member

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

    unknown181538 НеГуру

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

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

    Allexei Well-Known Member

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

    Darlock Well-Known Member

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

    Allexei Well-Known Member

    Репутация:
    0
    Регистрация:
    2 май 2008
    Сообщения:
    322
    Симпатии:
    1
    Darlock
    Неа, в 8- есть фишка по индексированию временных таблиц. При создании временной таблицы создается новая физическая таблица на скулевом сервере в tmpdb(вроде). Именно для этой таблицы у тебя индекс и создается при помощи ИНДЕКСИРОВАТЬ ПО.
     
Загрузка...

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