Имя: Пароль:
1C
1С v8
Вывод данных в СКД
, ,
0 dimaxx
 
26.10.15
10:09
Поступила интересная задачка.
Есть простой запрос
ВЫБРАТЬ
    ПоступлениеТоваровУслуг.Ссылка КАК Ссылка,
    ПоступлениеТоваровУслуг.Номер КАК Номер,
    ПоступлениеТоваровУслуг.Дата,
    ХозрасчетныйДвиженияССубконто.Сумма КАК СсылкаР,
    ХозрасчетныйДвиженияССубконто.Содержание,
    ХозрасчетныйДвиженияССубконто.Период КАК ДатаР
ИЗ
    Документ.ПоступлениеТоваровУслуг КАК ПоступлениеТоваровУслуг
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрБухгалтерии.Хозрасчетный.ДвиженияССубконто КАК ХозрасчетныйДвиженияССубконто
        ПО ПоступлениеТоваровУслуг.Ссылка = ХозрасчетныйДвиженияССубконто.Регистратор

УПОРЯДОЧИТЬ ПО
    Ссылка
Так вот задача с помощью настроек СКД сделать так, чтобы поля Ссылка, Номер и Дата не повторялись при совпадении.
Поясню. Связь один ко многим в первой строке все поля, во второй при наличии 2-х и более связей из второй таблицы только поля из второй таблицы...
Всю голову сломал все настройки перекрутил)))
1 Волшебник
 
модератор
26.10.15
10:10
Я бы за одно это руки оторвал

ЛЕВОЕ СОЕДИНЕНИЕ РегистрБухгалтерии.Хозрасчетный.ДвиженияССубконто
2 dimaxx
 
26.10.15
10:14
(1) Поясню) Это тестовый пример. Пытаюсь помочь человеку который работает в закрытой организации и базу оттуда притащить не может. Мы примерно смоделировали поля которые ему надо там соединить. Там запрос к регистру сведений с соединением по реквизитам. Совсем другой. Просто надо понять как вывести данные именно таким образом.
3 dimaxx
 
26.10.15
10:15
(1) надо было быстро накидать запрос со связью один ко многим. Ну да проще было взять справочник контрагентов и договоров, но повторюсь это не суть вопроса.
4 Defender aka LINN
 
26.10.15
10:20
(0) Для начала было бы неплохо перевести это на русский язык
5 dimaxx
 
26.10.15
10:31
(4) попробую разжевать свою мысль
Вот такой запрос
ВЫБРАТЬ
    Контрагенты.Ссылка,
    Контрагенты.Код,
    Контрагенты.Наименование КАК Наименование,
    ДоговорыКонтрагентов.Ссылка КАК СсылкаДог,
    ДоговорыКонтрагентов.Код КАК КодДог,
    ДоговорыКонтрагентов.Наименование КАК НаименованиеДог
ИЗ
    Справочник.Контрагенты КАК Контрагенты
        ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ДоговорыКонтрагентов КАК ДоговорыКонтрагентов
        ПО Контрагенты.Ссылка = ДоговорыКонтрагентов.Владелец.Ссылка

УПОРЯДОЧИТЬ ПО
    Наименование
итак представим есть контрагент Вася с кодом 12 и у него есть 2 договора Договор1 с кодом 1 и договор 2 с кодом 2.
В общем случае после выполнения запроса мы получим таблицу с двумя строками, где присутствуют все поля выборки.
Это легко вывести в СКД просто указав детальные записи. Но нужно сделать так, чтобы во второй строке не было данных относящихся к Васе.
Т.е.
1-я строка
ссылкаВася -- Вася -- 12 -- ссылкаДоговор1 -- Договор1 -- 1
2-я строка
"" -- "" -- "" -- ссылкаДоговор2 -- Договор2 -- 2
Если это невозможно без допиливания сделать так и скажите...
6 hhhh
 
26.10.15
11:00
(5) выводить реквизиты только если основной договор
7 Crush
 
26.10.15
11:06
Группировка по контрагенту? (5)
8 dimaxx
 
26.10.15
11:09
(6) Выводить надо все
9 dimaxx
 
26.10.15
11:09
(7) Да но тогда поля из договоров не попадут
10 dimaxx
 
26.10.15
11:10
(7) в группировки
11 Crush
 
26.10.15
11:13
(9) Группировка по контрагенту, а ниже детальные записи
12 Crush
 
26.10.15
11:14
Или групировка по договору
13 dimaxx
 
26.10.15
11:18
(11) (12) и что в первой строке по условию задачи все поля будут из обеих таблиц?
Проблемы невозможно решaть нa том же уровне компетентности, нa котором они возникaют. Альберт Эйнштейн