Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
20 июл 2024, 06:38

Изменить запрос во внешней обработке

Автор skillful, 14 сен 2018, 19:27

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

skillful

Здравствуйте. Кто хорошо разбирается в запросах? Есть такой запрос во внешней обработке
ВЫБРАТЬ
Продажи.Регистратор КАК Регистратор,
Продажи.Регистратор.Дата КАК Дата,
Продажи.Регистратор.СЦентр_ДокументОснование КАК ДокументОснование,
Продажи.Ответственный КАК Ответственный,
СУММА(Продажи.Сумма) КАК Сумма,
СУММА(Продажи.Себестоимость) КАК Себестоимость,
СУММА(Продажи.Количество) КАК Количество,
Продажи.Период КАК Период,
Продажи.Регистратор.Старт КАК РегистраторЗаказПокупателяСтарт,
Продажи.Регистратор.Финиш КАК РегистраторЗаказПокупателяФиниш,
Продажи.Регистратор.СЦентр_ДокументОснование.Дата КАК НачалоРабот,
ОтправкаСМС.Дата КАК ОкончаниеРабот
ПОМЕСТИТЬ ВремТЗ
ИЗ


РегистрНакопления.Продажи КАК Продажи
ЛЕВОЕ СОЕДИНЕНИЕ (
ВЫБРАТЬ
МАКСИМУМ(ОтправкаСМС.Дата) КАК Дата,
ОтправкаСМС.ДокументОснование
ИЗ Документ.Событие КАК ОтправкаСМС
СГРУППИРОВАТЬ ПО
    ОтправкаСМС.ДокументОснование) КАК ОтправкаСМС
ПО Продажи.Регистратор = ОтправкаСМС.ДокументОснование

ГДЕ
Продажи.Период МЕЖДУ &ПериодНАЧАЛО И &ПериодКонец
И Продажи.Регистратор.Ссылка ССЫЛКА Документ.ЗаказПокупателя
// И Продажи.Ответственный = &Ответственный
СГРУППИРОВАТЬ ПО
Продажи.Регистратор,
Продажи.Ответственный,
Продажи.Период,
Продажи.Регистратор.Старт,
Продажи.Регистратор.Финиш,
Продажи.Регистратор.Дата,
Продажи.Регистратор.ДокументОснование.Дата,
ОтправкаСМС.Дата,
Продажи.Регистратор.СЦентр_ДокументОснование.Дата;


ВЫБРАТЬ
ВремТЗ.Регистратор,
ВремТЗ.Дата,
ВремТЗ.ДокументОснование,
ВремТЗ.Ответственный,
ВремТЗ.Сумма,
ВремТЗ.Себестоимость,
ВремТЗ.Количество,
ВремТЗ.Период,
ВремТЗ.РегистраторЗаказПокупателяСтарт,
ВремТЗ.РегистраторЗаказПокупателяФиниш,
ВремТЗ.НачалоРабот,
ВремТЗ.ОкончаниеРабот,
ВЫРАЗИТЬ(РАЗНОСТЬДАТ(НачалоРабот,ОкончаниеРабот, час)/ 24 + 0.5 КАК ЧИСЛО(15))  КАК Длительность,
ВЫБОР
КОГДА ВремТЗ.Сумма = 0 ТОГДА 0

ИНАЧЕ  (ВремТЗ.Сумма - ВремТЗ.Себестоимость)/ВремТЗ.Сумма *100
КОНЕЦ
КАК Рентабельность
ИЗ ВремТЗ
УПОРЯДОЧИТЬ ПО
ВремТЗ.Период


Выводит результат (в прикрепленном файле). Все работает нормально, но нужно еще один столбец добавить - Это "Категория номенклатуры". Номенклатура указывается в ДокументОснование (Прием в ремонт). Реквизит в справочнике Номенклатура называется "КатегорияНоменклатуры". Вот как то нужно подзапросом добавить этот столбец. Спасибо.

LexaK

попробуйте такой запрос, комментами отмечены новые строчки, обратите внимание как у вас в регистре продажи называется Номенклатура (иногда бывает товар и др.) тогда замените на нужное в запросе

ВЫБРАТЬ
    Продажи.Регистратор КАК Регистратор,
    Продажи.Регистратор.Дата КАК Дата,
    Продажи.Регистратор.СЦентр_ДокументОснование КАК ДокументОснование,
    Продажи.Ответственный КАК Ответственный,
    СУММА(Продажи.Сумма) КАК Сумма,
    СУММА(Продажи.Себестоимость) КАК Себестоимость,
    СУММА(Продажи.Количество) КАК Количество,
    Продажи.Период КАК Период,
    Продажи.Регистратор.Старт КАК РегистраторЗаказПокупателяСтарт,
    Продажи.Регистратор.Финиш КАК РегистраторЗаказПокупателяФиниш,
    Продажи.Регистратор.СЦентр_ДокументОснование.Дата КАК НачалоРабот,
    ОтправкаСМС.Дата КАК ОкончаниеРабот,
    // + поле Категория из  Номенклатура или Товар, что там у вас в регистре
    Продажи.Номенклатура.КатегорияНоменклатуры как Категория
   
ПОМЕСТИТЬ ВремТЗ
ИЗ


    РегистрНакопления.Продажи КАК Продажи
    ЛЕВОЕ СОЕДИНЕНИЕ (
    ВЫБРАТЬ
        МАКСИМУМ(ОтправкаСМС.Дата) КАК Дата,
        ОтправкаСМС.ДокументОснование
    ИЗ Документ.Событие КАК ОтправкаСМС
    СГРУППИРОВАТЬ ПО
           ОтправкаСМС.ДокументОснование) КАК ОтправкаСМС
    ПО Продажи.Регистратор = ОтправкаСМС.ДокументОснование
   
ГДЕ
    Продажи.Период МЕЖДУ &ПериодНАЧАЛО И &ПериодКонец
    И Продажи.Регистратор.Ссылка ССЫЛКА Документ.ЗаказПокупателя
    //    И Продажи.Ответственный = &Ответственный
СГРУППИРОВАТЬ ПО
    Продажи.Регистратор,
    Продажи.Ответственный,
    Продажи.Период,
    Продажи.Регистратор.Старт,
    Продажи.Регистратор.Финиш,
    Продажи.Регистратор.Дата,
    Продажи.Регистратор.ДокументОснование.Дата,
    ОтправкаСМС.Дата,
    Продажи.Регистратор.СЦентр_ДокументОснование.Дата,
    Продажи.Номенклатура.КатегорияНоменклатуры // + группировка по категории
;

ВЫБРАТЬ
    ВремТЗ.Регистратор,
    ВремТЗ.Дата,
    ВремТЗ.ДокументОснование,
    ВремТЗ.Ответственный,
    ВремТЗ.Категория, // + поле Категория
    ВремТЗ.Сумма,
    ВремТЗ.Себестоимость,
    ВремТЗ.Количество,
    ВремТЗ.Период,
    ВремТЗ.РегистраторЗаказПокупателяСтарт,
    ВремТЗ.РегистраторЗаказПокупателяФиниш,
    ВремТЗ.НачалоРабот,
    ВремТЗ.ОкончаниеРабот,
    ВЫРАЗИТЬ(РАЗНОСТЬДАТ(НачалоРабот,ОкончаниеРабот, час)/ 24 + 0.5 КАК ЧИСЛО(15))  КАК Длительность,
    ВЫБОР
        КОГДА    ВремТЗ.Сумма = 0 ТОГДА 0
           
        ИНАЧЕ  (ВремТЗ.Сумма - ВремТЗ.Себестоимость)/ВремТЗ.Сумма *100
        КОНЕЦ
        КАК Рентабельность
ИЗ ВремТЗ
    УПОРЯДОЧИТЬ ПО
    ВремТЗ.Период
если помогло нажмите: Спасибо!

skillful

LexaK, Выбрал сперва

Продажи.Регистратор.СЦентр_ДокументОснование.Номенклатура КАК ЧтоСдали, //Какую номенклатуру сдали...

В консоле запросов все четко отображается, а вот если саму обработку открывать (через файл-открыть), то новый столбец не появляется. А сейчас вообще не могу разобраться как создать новый столбец. Возможно, что то не правильно делаю.:dfbsdfbsdf:


LexaK

а почему не так:

Продажи.Номенклатура КАК ЧтоСдали, //Какую номенклатуру сдали...

логично что не показывает! наверно надо в самой обработке какие-то команды(настройки) добавить!
напишите какие команды (или настройки) вы добавили для вывода нового поля?

если помогло нажмите: Спасибо!

skillful

Цитата: LexaK от 15 сен 2018, 23:22
логично что не показывает! наверно надо в самой обработке какие-то команды(настройки) добавить!
напишите какие команды (или настройки) вы добавили для вывода нового поля?

Прикрепил скриншот...

Все! Разобрался...
Добавлено: 16 сен 2018, 21:05


Задача в целом решена. Спасибо LexaK. Спасибо нажал...


Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск