Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

Запретить СКД убирать невыбранные поля

Запретить СКД убирать невыбранные поля
Я
   Naroru
 
17.11.20 - 12:58
Всем добрый день

В СКД есть запрос следующего вида

ВЫБРАТЬ
    ЗадачаОператоруОформления.Дата,
    ЗадачаОператоруОформления.Ссылка,
    ЗадачаОператоруОформления.Исполнитель
ПОМЕСТИТЬ втДанныеПоЗадаче
ИЗ
    Документ.ЗадачаОператоруОформления КАК ЗадачаОператоруОформления

;

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

СГРУППИРОВАТЬ ПО
    ЗадачаОператоруОформленияЗадачиОператора.Услуга,
    ЗадачаОператоруОформленияЗадачиОператора.Ссылка
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    ВтУслугиИзЗадач.Услуга КАК Услуга,// ЭТО ПОЛЕ ИСЧЕЗАЕТ
    ВтУслугиИзЗадач.Ссылка КАК Задача,
    СУММА(1) КАК Нумератор
ПОМЕСТИТЬ втУслугиЗадачСНумерацией
ИЗ
    ВтУслугиИзЗадач КАК ВтУслугиИзЗадач
        ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВтУслугиИзЗадач КАК ВтУслугиИзЗадач1
        ПО ВтУслугиИзЗадач.Ссылка = ВтУслугиИзЗадач1.Ссылка
            И ВтУслугиИзЗадач.Услуга >= ВтУслугиИзЗадач1.Услуга

СГРУППИРОВАТЬ ПО
    ВтУслугиИзЗадач.Услуга,
    ВтУслугиИзЗадач.Ссылка
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    МАКСИМУМ(втУслугиЗадачСНумерацией.Нумератор) КАК Нумератор,
    МАКСИМУМ(втУслугиЗадачСНумерацией.Задача) КАК Задача
ПОМЕСТИТЬ втМаксимальноеКоличествоУслуг
ИЗ
    втУслугиЗадачСНумерацией КАК втУслугиЗадачСНумерацией
;

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


Смысл запроса - взять документ ЗадачаОператору.
Из его таб части вытащить Услуги
Пронумеровать их
Выбрать максимальный номер (т.е. максимальное количество строк Услуг, которое есть в выбранных документах ЗадачаОператору)
И вывести инфу



Так вот, СКД удаляет поле Услуга ( написал коммент в коде) и в том пакете вместо строк вида
Задача_1 Услуга_1  1
Задача_2 Услуга_2  2

я получаю
Задача_1  3

Кто знает, как решить проблему? Не таща дальше поле Услуга в финальный пакет
   craxx
 
1 - 17.11.20 - 13:05
(0) директивы компоновки в запросе уже отменили?
   toypaul
 
2 - 17.11.20 - 13:35
вот так сделай.

ВЫБРАТЬ
    ВтУслугиИзЗадач.Ссылка КАК Задача,
    СУММА(1) КАК Нумератор
ПОМЕСТИТЬ втУслугиЗадачСНумерацией
ИЗ
    ВтУслугиИзЗадач КАК ВтУслугиИзЗадач
        ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВтУслугиИзЗадач КАК ВтУслугиИзЗадач1
        ПО ВтУслугиИзЗадач.Ссылка = ВтУслугиИзЗадач1.Ссылка
            И ВтУслугиИзЗадач.Услуга >= ВтУслугиИзЗадач1.Услуга

СГРУППИРОВАТЬ ПО
    ВтУслугиИзЗадач.Услуга,
    ВтУслугиИзЗадач.Ссылка
   Naroru
 
3 - 17.11.20 - 13:44
(1) Какие директивы компоновки в запросе в СКД? В первый раз слышу
   Naroru
 
4 - 17.11.20 - 13:46
(2)  именно так мне СКД и делает по итогу, модифицируя запрос
И, как я сказал, вместо пронумерованных услуг 
Задача_1   Услуга_А     1
Задача_1   Услуга_Б     2
Задача_1   Услуга_В     3

я получу
Задача_1  6
   toypaul
 
5 - 17.11.20 - 13:52
(4) вот не надо мне ля-ля. сделай так как я написал. если не видишь, что написано - просто скопируй и вставь
   Naroru
 
6 - 17.11.20 - 14:15
(5) Ну, скажу так, в целом мою изначальную проблему это решает, спасибо
но теперь просто вопрос любопытства, есть ли возможность СКД обязать включать в запрос поля, которые по итогу не будут в выбранных

Для чего - для выгрузки результата компоновки в таблицу значений с этими служебными полями и дальнейшей  обработкой
И потом, при выводе отчета, чтобы эти служебные поля не приходилось скрывать из Выбранных

Если этот момент подскажешь - круто
   toypaul
 
7 - 17.11.20 - 14:29
только если "протащить" в конечную выборку и сделать их обязательными.

задолбали эти 1Сники (разработчики платформы). элементарные вещи не могут сделать из-за которых квадратные колеса каждый раз приходится изобретать как будто другим заняться нечем
   dka80
 
8 - 17.11.20 - 14:31
Во временных  таблицах, если я не ошибаюсь, все поля включаются в запрос
На последнем запросе в поле ставишь "Обязательное" и оно будет всегда использоваться
   Naroru
 
9 - 17.11.20 - 15:04
(8) как раз из временной оно и исчезает)
обязательное не прокатывало

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.