Версия для печати темы (https://pro1c.org.ua/index.php?s=5d3fb1d6e915b1d52a80349f6db1b7d1&showtopic=9371)

Нажмите сюда для просмотра этой темы в обычном формате

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 _ Программирование обычных форм 1С 8.2 и не интерфейсной логики _ Как добавить в отчёт "Период+Регистратор"

Автор: rpodgornyy 15.10.12, 18:51

Конфигурация - Управление торговлей для Украины.
На базе Универсального отчёта сделал отчёт, который выбирает остатки по регистру "Товары на консигнации". Не могу понять, каким образом можно сделать так, чтобы при двойном нажатии на конкретный товар появлялась возможность отбора "Период + Регистратор" и соответственно выводились движения по документам.

Вот непосредственный текст запроса:

ТекстЗапроса =     
    "ВЫБРАТЬ РАЗРЕШЕННЫЕ
    |    ТоварыНаКонсигнацииОстаткиИОбороты.Организация КАК Организация,
    |    ТоварыНаКонсигнацииОстаткиИОбороты.Консигнатор КАК Консигнатор,
    |    ТоварыНаКонсигнацииОстаткиИОбороты.Номенклатура,
    |    ТоварыНаКонсигнацииОстаткиИОбороты.ХарактеристикаНоменклатуры,
    |    ТоварыНаКонсигнацииОстаткиИОбороты.СерияНоменклатуры,
    |    ТоварыНаКонсигнацииОстаткиИОбороты.Качество,
    |    ТоварыНаКонсигнацииОстаткиИОбороты.Склад,
    |    ТоварыНаКонсигнацииОстаткиИОбороты.КоличествоНачальныйОстаток,
    |    ТоварыНаКонсигнацииОстаткиИОбороты.КоличествоКонечныйОстаток КАК КоличествоКонечныйОстаток,
    |    ТоварыНаКонсигнацииОстаткиИОбороты.КоличествоОборот,
    |    ТоварыНаКонсигнацииОстаткиИОбороты.КоличествоПриход,
    |    ТоварыНаКонсигнацииОстаткиИОбороты.КоличествоРасход,
    |    ТоварыПереданныеОстатки.СуммаВзаиморасчетовОстаток КАК СуммаВзаиморасчетовОстаток
    |{ВЫБРАТЬ
    |    Организация.*,
    |    Консигнатор.*,
    |    Номенклатура.*,
    |    КоличествоКонечныйОстаток,
    |    СуммаВзаиморасчетовОстаток}
    |ИЗ
    |    РегистрНакопления.ТоварыПереданные.Остатки КАК ТоварыПереданныеОстатки,
    |    РегистрНакопления.ТоварыНаКонсигнации.ОстаткиИОбороты КАК ТоварыНаКонсигнацииОстаткиИОбороты
    |ГДЕ
    |    ТоварыПереданныеОстатки.Организация = ТоварыНаКонсигнацииОстаткиИОбороты.Организация
    |    И ТоварыПереданныеОстатки.Контрагент = ТоварыНаКонсигнацииОстаткиИОбороты.Консигнатор
    |    И ТоварыПереданныеОстатки.Номенклатура = ТоварыНаКонсигнацииОстаткиИОбороты.Номенклатура
    |{ГДЕ
    |    ТоварыНаКонсигнацииОстаткиИОбороты.Организация.*,
    |    ТоварыНаКонсигнацииОстаткиИОбороты.Консигнатор.*,
    |    ТоварыНаКонсигнацииОстаткиИОбороты.Номенклатура.*}
    |
    |СГРУППИРОВАТЬ ПО
    |    ТоварыНаКонсигнацииОстаткиИОбороты.Организация,
    |    ТоварыПереданныеОстатки.СуммаВзаиморасчетовОстаток,
    |    ТоварыНаКонсигнацииОстаткиИОбороты.Консигнатор,
    |    ТоварыНаКонсигнацииОстаткиИОбороты.Номенклатура,
    |    ТоварыНаКонсигнацииОстаткиИОбороты.ХарактеристикаНоменклатуры,
    |    ТоварыНаКонсигнацииОстаткиИОбороты.СерияНоменклатуры,
    |    ТоварыНаКонсигнацииОстаткиИОбороты.Качество,
    |    ТоварыНаКонсигнацииОстаткиИОбороты.Склад,
    |    ТоварыНаКонсигнацииОстаткиИОбороты.КоличествоНачальныйОстаток,
    |    ТоварыНаКонсигнацииОстаткиИОбороты.КоличествоКонечныйОстаток,
    |    ТоварыНаКонсигнацииОстаткиИОбороты.КоличествоОборот,
    |    ТоварыНаКонсигнацииОстаткиИОбороты.КоличествоПриход,
    |    ТоварыНаКонсигнацииОстаткиИОбороты.КоличествоРасход
    |
    |УПОРЯДОЧИТЬ ПО
    |    Организация,
    |    Консигнатор
    |{УПОРЯДОЧИТЬ ПО
    |    Организация.*,
    |    Консигнатор.*}
    |ИТОГИ
    |    СУММА(КоличествоКонечныйОстаток),
    |    СУММА(СуммаВзаиморасчетовОстаток)
    |ПО
    |    ОБЩИЕ
    |{ИТОГИ ПО
    |    Организация.*,
    |    Консигнатор.*,
    |    КоличествоКонечныйОстаток,
    |    СуммаВзаиморасчетовОстаток}";

Автор: kivals 16.10.12, 8:55

Ой! А ничего, что у Вас нет никакой связи между таблицами и выбираться будет декартово произведение записей (т.е. для каждой записи из первой таблицы будут сопоставлены все записи из второй)?
Что касается периодов - то в виртуальной таблице Обороты (или ОстаткиИОбороты) нужно указывать периодичность (см. в конструкторе запросов настройку таблицы) - в Вашем случае наверное Авто или Регистратор.

Автор: yuritch 17.10.12, 11:56

Связь между таблицами здесь есть, только она не через СОЕДИНЕНИЕ сделана, а в блоке ГДЕ.

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7
https://pro1c.org.ua