8.х УТ Текст запроса из типовой УТ11.2

Тема в разделе ""1С:Управление торговлей УТ"", создана пользователем bajiepka, 31 мар 2016.

  1. TopicStarter Overlay
    bajiepka
    Offline

    bajiepka Опытный в 1С

    Регистрация:
    26 сен 2014
    Сообщения:
    322
    Симпатии:
    22
    Баллы:
    29
    Доброго времени суток. Встретил в типовой Управление торговлей, редакция 11.2 (11.2.2.116) запрос по получению остатков для расчета состояний по товарам заказа клиента, вот собственно говоря как формируется текст запроса:
    Код:
    Текст = РегистрыНакопления.ГрафикОтгрузкиТоваров.ТекстЗапросаСторноЗаписейЗаказа()
              + РегистрыНакопления.ОбеспечениеЗаказов.ТекстЗапросаСторноЗаписейЗаказа()
              + РегистрыНакопления.ОбеспечениеЗаказовРаботами.ТекстЗапросаСторноЗаписейЗаказа()
              + РегистрыНакопления.ТоварыКОтгрузке.ТекстЗапросаСторноЗаписейЗаказа();
    
    а вот готовый текст:
    Код:
    ВЫБРАТЬ
        Таблица.Номенклатура     КАК Номенклатура,
        Таблица.Характеристика   КАК Характеристика,
        Таблица.Склад            КАК Склад,
        Таблица.Назначение       КАК Назначение,
    
        Таблица.ДатаСобытия          КАК ДатаСобытия,
        -Таблица.КоличествоИзЗаказов КАК КоличествоИзЗаказов,
        -Таблица.КоличествоПодЗаказ  КАК КоличествоПодЗаказ
    
    ИЗ
        РегистрНакопления.ГрафикПоступленияТоваров КАК Таблица
    
    ГДЕ
        Таблица.Активность
        И Таблица.Регистратор В(&Ссылка)
        И &Отбор
    
    ОБЪЕДИНИТЬ ВСЕ
    
    ВЫБРАТЬ
        Таблица.Номенклатура     КАК Номенклатура,
        Таблица.Характеристика   КАК Характеристика,
        Таблица.Склад            КАК Склад,
        Таблица.Назначение       КАК Назначение,
    
        Таблица.ДатаОтгрузки         КАК ДатаСобытия,
        Таблица.КоличествоИзЗаказов  КАК КоличествоИзЗаказов,
        Таблица.КоличествоПодЗаказ   КАК КоличествоПодЗаказ
    
    ИЗ
        РегистрНакопления.ГрафикОтгрузкиТоваров КАК Таблица
    
    ГДЕ
        Таблица.Активность
        И Таблица.Регистратор В(&Ссылка)
        И &Отбор
    ;
    
    //////////////////////////////////////////////////
    ВЫБРАТЬ
        Таблица.Номенклатура     КАК Номенклатура,
        Таблица.Характеристика   КАК Характеристика,
        Таблица.Склад            КАК Склад,
        Таблица.Назначение       КАК Назначение,
    
        - Таблица.Потребность    КАК Потребность,
        - Таблица.КЗаказу        КАК КЗаказу
    
    ИЗ
        РегистрНакопления.ОбеспечениеЗаказов КАК Таблица
    
    ГДЕ
        Таблица.Активность
        И Таблица.Регистратор В(&Ссылка)
        И (Таблица.Потребность <> 0 ИЛИ Таблица.КЗаказу <> 0)
        И &Отбор
    ;
    
    //////////////////////////////////////////////////
    ВЫБРАТЬ
        Таблица.Номенклатура     КАК Номенклатура,
        Таблица.Характеристика   КАК Характеристика,
        Таблица.Подразделение    КАК Подразделение,
        Таблица.Назначение       КАК Назначение,
    
        Таблица.Период           КАК Период,
    
        ВЫБОР КОГДА Таблица.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход) ТОГДА
                    Таблица.КОбеспечению
                ИНАЧЕ
                    - Таблица.КОбеспечению
            КОНЕЦ          КАК КОбеспечению
    
    ИЗ
        РегистрНакопления.ОбеспечениеЗаказовРаботами КАК Таблица
    
    ГДЕ
        Таблица.Активность
        И Таблица.Регистратор В(&Ссылка)
        И Таблица.КОбеспечению <> 0
        И &Отбор
    ;
    
    //////////////////////////////////////////////////
    ВЫБРАТЬ
        Таблица.Номенклатура     КАК Номенклатура,
        Таблица.Характеристика   КАК Характеристика,
        Таблица.Назначение       КАК Назначение,
        Таблица.Склад            КАК Склад,
    
        - Таблица.ВРезерве       КАК ВРезерве,
        - Таблица.КОтгрузке      КАК КОтгрузке
    
    ИЗ
        РегистрНакопления.ТоварыКОтгрузке КАК Таблица
    
    ГДЕ
        Таблица.Активность
        И Таблица.Регистратор В(&Ссылка)
        И (Таблица.ВРезерве <> 0 ИЛИ Таблица.КОтгрузке <> 0)
        И &Отбор
    ;
    
    //////////////////////////////////////////////////
    
    у меня есть вопрос... нормально ли то, что все остатки товаров получают не из соответствующей виртуальной таблицы регистров (для каждого есть полный набор: остатки, обороты, остатки и обороты), а напрямую из основной?
    это какая-то новая методика работы с регистрами накоплений или новые возможности платформы?
  2. Draco
    Offline

    Draco Модераторы Команда форума Модератор

    Регистрация:
    28 окт 2009
    Сообщения:
    13.628
    Симпатии:
    946
    Баллы:
    204
    Ну надо сравнить какую аналитику тянут. Просто у виртуальных таблицах некоторая аналитика может быть недоступна или по ней уже свернуто все, а надо с детализацией
  3. nomad_irk
    Offline

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    7.549
    Симпатии:
    716
    Баллы:
    204
    ИМХается мне, что сие обусловлено тем, что нужны данные, хранящиеся в реквизитах записей регистров, а виртуальные таблицы про реквизиты ничего не знают
    bajiepka нравится это.
  4. Draco
    Offline

    Draco Модераторы Команда форума Модератор

    Регистрация:
    28 окт 2009
    Сообщения:
    13.628
    Симпатии:
    946
    Баллы:
    204
    И там еще отбор идет по регистратору, тогда Вирт таблица тебе нужна длибо с переодинчостью Авто илибо Регистратор, что то же будет накладывать ограничения
    --- Объединение сообщений, 31 мар 2016 ---
    на получение необходимых полей
  5. TopicStarter Overlay
    bajiepka
    Offline

    bajiepka Опытный в 1С

    Регистрация:
    26 сен 2014
    Сообщения:
    322
    Симпатии:
    22
    Баллы:
    29
    "на выходе" получается таблица с такими колонками:
    ДатаСобытия КоличествоИзЗаказов КоличествоПодЗаказ Назначение Номенклатура Склад Характеристика
    т.е. как бы особые аналитики отсутствуют...
  6. Draco
    Offline

    Draco Модераторы Команда форума Модератор

    Регистрация:
    28 окт 2009
    Сообщения:
    13.628
    Симпатии:
    946
    Баллы:
    204
    ну вы посмотрите виртальные таблицы из них все эти поля доступны?
  7. TopicStarter Overlay
    bajiepka
    Offline

    bajiepka Опытный в 1С

    Регистрация:
    26 сен 2014
    Сообщения:
    322
    Симпатии:
    22
    Баллы:
    29
    Да, есть такое. Один реквизит присутствует. А подскажите, зачем они вобще с ним заморачиваются? Неужто нельзя от этого уйти... запихнуть его к примеру в измерение
    --- Объединение сообщений, 31 мар 2016 ---
    Реквизит "Распоряжение" естественно отсутствует в виртуальных таблицах

    Вложения:

  8. Draco
    Offline

    Draco Модераторы Команда форума Модератор

    Регистрация:
    28 окт 2009
    Сообщения:
    13.628
    Симпатии:
    946
    Баллы:
    204
    Ну если очень грубо то реквизит - то доп информация - комментарий. Зачем его пихать в измерения. вдень измерение это аналитика, которая не повторяется.
    ну не может же человек Одновременно допустим болеть и работать с комментариями Болеет и Работает.

    + Ище Измерения это индексы. Производительность...
    bajiepka нравится это.
  9. TopicStarter Overlay
    bajiepka
    Offline

    bajiepka Опытный в 1С

    Регистрация:
    26 сен 2014
    Сообщения:
    322
    Симпатии:
    22
    Баллы:
    29
    т.е. вариант с лишним измерением будет хуже, в плане производительности, чем работа с виртуальными таблицами?
  10. Draco
    Offline

    Draco Модераторы Команда форума Модератор

    Регистрация:
    28 окт 2009
    Сообщения:
    13.628
    Симпатии:
    946
    Баллы:
    204
    Ну смотря как работать с виртуальными таблицами.
    Вам просто надо почитать как работют поиски по индексам и т.д. Вообще для чего индексы нужны.

    если уж очень грубо
    так вот допустим у вас есть таблица товары на складах с измерениями Склад и Номенклатура именно в таком порядке

    Если Вы обратитесь к Виртальной таблице с отбором только по номенклатуре. то у Вас не будт как такового поиска по индексу

    А если в отборе сначала будет стоять склад и затем номенклатура то да...
    на ИТС статьи есть

    + еще как виртальные таблицы устроены - те же остатки. У Вас остатки расчтаны на определнныую дату и если вы делаете запрос к дате которая не соответвует данной дате, то система возьмет остаткик ней прибавит обороты и получит остаток на нужную дату.
    Так вот представьте что у Вас остатки давно не обновлялись. то же время потребуется то...
  11. nomad_irk
    Offline

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    7.549
    Симпатии:
    716
    Баллы:
    204
    По измерениям нужно тогда и движение в обратную сторону делать, чтобы таблица остатков не пухла.
  12. TopicStarter Overlay
    bajiepka
    Offline

    bajiepka Опытный в 1С

    Регистрация:
    26 сен 2014
    Сообщения:
    322
    Симпатии:
    22
    Баллы:
    29
    спасибо. что буду копать и куда копать понял

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