Имя: Пароль:
1C
1С v8
Таблица отбора в форме отчета
0 MistaEr
 
11.01.17
15:21
Здравствуйте! Нужно сделать отчет, в форме отчета будет таблица отбора.
Например Иванов 100 руб, Петров 200 руб, Сидоров 300 руб.
Как я могу использовать эту таблицу в запросе?
Может набор данных - Объект
1 Ёпрст
 
11.01.17
15:25
Обычная ТЗ - её во временную в запрос, делее, делай что хочешь
2 MistaEr
 
11.01.17
15:28
Хотелось бы на СКД сделать отчет
3 MistaEr
 
11.01.17
15:43
Как то можно заменить текст запроса СКД
4 MistaEr
 
11.01.17
15:56
Точно, я таблицу передам как параметр
5 ВРедная
 
11.01.17
16:09
(4) в СКД в качестве таблицы для выборки данных? Не передашь.
6 YAGolova
 
11.01.17
16:12
(5) В смысле не передашь? А как же внешние наборы данных?
7 ВРедная
 
11.01.17
16:15
(6) "Точно, я таблицу передам как параметр" вот так не передаст
8 MistaEr
 
11.01.17
16:32
ВЫБРАТЬ
    Акция.Номенклатура,
    Акция.Количество
ПОМЕСТИТЬ ВТ_Акция
ИЗ
    &Акция КАК Акция
;
9 MistaEr
 
11.01.17
16:32
&Акция вот сюда не передам?
10 YAGolova
 
11.01.17
16:32
(8) Так низзя, но есть набор данных объект - его можно передать
11 MistaEr
 
11.01.17
16:40
(10) Не прокатит, мне с этой таблицей в запросе нужно такие вещи выделывать.....
12 Cool_Profi
 
11.01.17
16:42
(11) А слайды будут?
Что не нравится в объекте?
13 YAGolova
 
11.01.17
16:42
(11) Тогда выделывай с ней вне запроса скд, выгружай в ТЗ и подсовывай готовенькое в объект набора данных
14 MistaEr
 
11.01.17
16:50
(13) Его нужно несколько раз сравнить с данными из БД
15 MistaEr
 
11.01.17
18:02
ВЫБРАТЬ
    РеализацияТоваровИУслугТовары.Номенклатура,
    РеализацияТоваровИУслугТовары.Количество
ПОМЕСТИТЬ ВТ_Акция
ИЗ
    Документ.РеализацияТоваровИУслуг.Товары КАК РеализацияТоваровИУслугТовары
ГДЕ
    РеализацияТоваровИУслугТовары.Ссылка = &Ссылка
;

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

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    ВТ_Продажи.Контрагент,
    ВТ_Продажи.Номенклатура,
    ВЫРАЗИТЬ(ВТ_Продажи.КоличествоОборот / ВТ_Акция.Количество КАК ЧИСЛО(15, 0)) КАК Количество
ПОМЕСТИТЬ ВТ_ПоАкции
ИЗ
    ВТ_Продажи КАК ВТ_Продажи
        ЛЕВОЕ СОЕДИНЕНИЕ ВТ_Акция КАК ВТ_Акция
        ПО (ИСТИНА)
ГДЕ
    ВТ_Акция.Номенклатура = ВТ_Продажи.Номенклатура
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    ВТ_ПоАкции.Контрагент,
    ВТ_Акция.Номенклатура
ПОМЕСТИТЬ ВТ_КонтрагентыНоменклатура
ИЗ
    ВТ_Акция КАК ВТ_Акция,
    ВТ_ПоАкции КАК ВТ_ПоАкции

СГРУППИРОВАТЬ ПО
    ВТ_ПоАкции.Контрагент,
    ВТ_Акция.Номенклатура
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    ВТ_КонтрагентыНоменклатура.Контрагент,
    ВТ_КонтрагентыНоменклатура.Номенклатура,
    ВТ_ПоАкции.Количество
ПОМЕСТИТЬ ВТ_ВнеАкции
ИЗ
    ВТ_КонтрагентыНоменклатура КАК ВТ_КонтрагентыНоменклатура
        ЛЕВОЕ СОЕДИНЕНИЕ ВТ_ПоАкции КАК ВТ_ПоАкции
        ПО ВТ_КонтрагентыНоменклатура.Контрагент = ВТ_ПоАкции.Контрагент
            И ВТ_КонтрагентыНоменклатура.Номенклатура = ВТ_ПоАкции.Номенклатура
ГДЕ
    ВТ_ПоАкции.Количество ЕСТЬ NULL
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    ВТ_ПоАкции.Контрагент,
    МИНИМУМ(ВТ_ПоАкции.Количество) КАК Количество
ИЗ
    ВТ_ПоАкции КАК ВТ_ПоАкции
        ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТ_ВнеАкции КАК ВТ_ВнеАкции
        ПО ВТ_ПоАкции.Контрагент <> ВТ_ВнеАкции.Контрагент

СГРУППИРОВАТЬ ПО
    ВТ_ПоАкции.Контрагент
16 MistaEr
 
11.01.17
18:03
(15) Извините, не то