Вход | Регистрация
 

СКД - в запросе много - а в СКД - одна запись

СКД - в запросе много - а в СКД - одна запись
Я
   RomaH
 
16.03.21 - 08:57
Вот такой запрос:

ВЫБРАТЬ
    СтепеннойРяд.Позиция КАК Позиция,
    СтепеннойРяд.ЧленРяда КАК ЧленРяда
ПОМЕСТИТЬ СтепеннойРяд
ИЗ
    РегистрСведений.СтепеннойРяд КАК СтепеннойРяд
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    ПОДСТРОКА("0123456789", СтепеннойРяд.Позиция, 1) КАК Символ,
    СтепеннойРяд.Позиция КАК Код
ПОМЕСТИТЬ КодоваяТаблица
ИЗ
    СтепеннойРяд КАК СтепеннойРяд

ИНДЕКСИРОВАТЬ ПО
    Символ
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    РегистрОбъектовУчета.Регистратор КАК Ссылка,
    РегистрОбъектовУчета.Номенклатура.Код КАК Аргумент
ПОМЕСТИТЬ ИсходныеДанные1
{ВЫБРАТЬ
    Ссылка.*,
    Аргумент}
ИЗ
    РегистрНакопления.РегистрОбъектовУчета КАК РегистрОбъектовУчета
ГДЕ
    РегистрОбъектовУчета.Регистратор ССЫЛКА Документ.ИсследованиеЛабораторное
;

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

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    ОтдельныеСимволы.Ссылка КАК Ссылка,
    СУММА(ОтдельныеСимволы.ЧленРяда * КодоваяТаблица.Код) КАК Хэш
ПОМЕСТИТЬ ВыходныеДанные1
ИЗ
    ОтдельныеСимволы1 КАК ОтдельныеСимволы
        ВНУТРЕННЕЕ СОЕДИНЕНИЕ КодоваяТаблица КАК КодоваяТаблица
        ПО ОтдельныеСимволы.СимволКода = КодоваяТаблица.Символ

СГРУППИРОВАТЬ ПО
    ОтдельныеСимволы.Ссылка
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    МАКСИМУМ(ВыходныеДанные1.Ссылка) КАК Ссылка,
    ВыходныеДанные1.Хэш КАК Хэш
ИЗ
    ВыходныеДанные1 КАК ВыходныеДанные1

СГРУППИРОВАТЬ ПО
    ВыходныеДанные1.Хэш
   RomaH
 
1 - 16.03.21 - 08:58
ВыходныеДанные1 - содержит множество записей:
Ссылка    Хэш
COVID-19 №110084556 от 20.01.2021 15:42:49    69 200 684 917
COVID-19 №110082595 от 08.01.2021 13:46:57    69 200 684 917
COVID-19 №110083435 от 14.01.2021 08:45:19    69 200 684 917
COVID-19 №110089000 от 24.02.2021 08:23:14    69 200 684 917
COVID-19 №110084536 от 20.01.2021 15:42:48    69 200 684 917
Антитела IgM/IgG к SARS-CoV-2 №110086705 от 05.02.2021 14:36:35    34 802 113 631
COVID-19 №110085522 от 27.01.2021 15:12:49    69 200 684 917
COVID-19 №110088414 от 18.02.2021 09:30:46    69 200 684 917
COVID-19 №110084520 от 20.01.2021 15:42:48    69 200 684 917
   RomaH
 
2 - 16.03.21 - 09:00
а в итоге имею одну запись - тот самый максимум по ссылке
   RomaH
 
3 - 16.03.21 - 09:01
... хотя все еще интереснее
настройка отчета 
группировка "Ссылка" - одна запись

если делаю поля Ссылка + Хэш 
и вывожу детальные записи - то все ОК
   RomaH
 
4 - 16.03.21 - 09:02
вот так:
https://ibb.co/K7nBL1n
   RomaH
 
5 - 16.03.21 - 09:03
и вот так:

https://ibb.co/3kFtV4Y
   RomaH
 
6 - 16.03.21 - 09:03
как сделать что бы было всегда как в 1 случае?
   toypaul
 
7 - 16.03.21 - 09:06
в роли у Хэш установить флажок обязательное
   toypaul
 
8 - 16.03.21 - 09:07
а чтобы больше таких вопросов не задавать, почитать цикл наших статей про отладку (и вообще работу с запросами) в СКД https://infostart.ru/1c/articles/1219807/
   RomaH
 
9 - 16.03.21 - 09:08
(7) фишка в том, что мне этот хэш нафиг в итоговой таблице не нужен
   RomaH
 
10 - 16.03.21 - 09:10
(7) но помогло похоже, добавил в итоговую таблицу это поле (в поля)
   toypaul
 
11 - 16.03.21 - 09:11
(9) тут есть другая фишка. в запросе надо писать так

ВЫБРАТЬ
    МАКСИМУМ(ВыходныеДанные1.Ссылка) КАК Ссылка
ИЗ
    ВыходныеДанные1 КАК ВыходныеДанные1

СГРУППИРОВАТЬ ПО
    ВыходныеДанные1.Хэш

но надо быть осторожным с этим. 1С любит "присобачить" в "ВЫБРАТЬ" ненужные поля после открытия в конструкторе
   RomaH
 
12 - 16.03.21 - 09:15
(11) а в чем разница?
   RomaH
 
13 - 16.03.21 - 09:16
СКД выкидывает поле ХЭШ? а если вот как в (11) то в полях нет, и выкидывать нечего?
   GANR
 
14 - 16.03.21 - 09:52
https://its.1c.ru/db/metod8dev/content/3401/hdoc . Если посмотрите на получившийся в результате компоновки настроек и наборов запрос, то увидите, что влияет флажок Автозаполнение с закладки Наборы данных. Я помню, чтобы такого не было убирал его и {} делал.
   TormozIT
 
15 - 16.03.21 - 14:12
А тут человек в конструкторе запроса сделал команду заполнения доступных настроек в тексте запроса _похожим_ на динамическое автозаполнение платформы образом.
https://www.hostedredmine.com/issues/886728

Список тем форума
 
Прочитай, хотя бы, Митичкина "Разработка в системе 1С:Предприятие 8". Волшебник
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.