Имя: Пароль:
1C
1С v8
Как в запросе наложить условие на реквизит составного типа?
0 vsafonin
 
27.11.13
21:46
Добрый вечер!

Имеем запрос:

ВЫБРАТЬ
    ДенежныеСредстваОстаткиИОбороты.БанковскийСчетКасса КАК Касса,
    ДенежныеСредстваОстаткиИОбороты.СуммаНачальныйОстаток,
    ДенежныеСредстваОстаткиИОбороты.СуммаПриход,
    ДенежныеСредстваОстаткиИОбороты.СуммаРасход,
    ДенежныеСредстваОстаткиИОбороты.ВидДенежныхСредств,
    ДенежныеСредстваОстаткиИОбороты.СуммаКонечныйОстаток
ИЗ
    РегистрНакопления.ДенежныеСредства.ОстаткиИОбороты(
            НАЧАЛОПЕРИОДА(&НачалоПериода, ДЕНЬ),
            КОНЕЦПЕРИОДА(&КонецПериода, ДЕНЬ),
            Регистратор,
            ,
            ВЫРАЗИТЬ(БанковскийСчетКасса КАК Справочник.Кассы) ССЫЛКА Справочник.Кассы
                И БанковскийСчетКасса.Ссылка = &Касса) КАК ДенежныеСредстваОстаткиИОбороты

Нужно:
Чтобы БанковскийСчетКасса был равен опредленному значению, которое выбирает пользователь...
пытаюсь по всякому, но не работает..
1 shuhard
 
27.11.13
21:54
(0) так и напиши
ГДЕ ДенежныеСредстваОстаткиИОбороты.БанковскийСчетКасса=&МойСчетВБанке
2 vicof
 
27.11.13
21:54
ВЫБРАТЬ
    ДенежныеСредстваОстаткиИОбороты.БанковскийСчетКасса КАК Касса,
    ДенежныеСредстваОстаткиИОбороты.СуммаНачальныйОстаток,
    ДенежныеСредстваОстаткиИОбороты.СуммаПриход,
    ДенежныеСредстваОстаткиИОбороты.СуммаРасход,
    ДенежныеСредстваОстаткиИОбороты.ВидДенежныхСредств,
    ДенежныеСредстваОстаткиИОбороты.СуммаКонечныйОстаток
ИЗ
    РегистрНакопления.ДенежныеСредства.ОстаткиИОбороты(
            НАЧАЛОПЕРИОДА(&НачалоПериода, ДЕНЬ),
            КОНЕЦПЕРИОДА(&КонецПериода, ДЕНЬ),
            Регистратор,
            ,
            БанковскийСчетКасса = &Касса) КАК ДенежныеСредстваОстаткиИОбороты
3 Remark
 
27.11.13
21:55
ВЫБРАТЬ
    ДенежныеСредстваОстаткиИОбороты.БанковскийСчетКасса КАК Касса,
    ДенежныеСредстваОстаткиИОбороты.СуммаНачальныйОстаток,
    ДенежныеСредстваОстаткиИОбороты.СуммаПриход,
    ДенежныеСредстваОстаткиИОбороты.СуммаРасход,
    ДенежныеСредстваОстаткиИОбороты.ВидДенежныхСредств,
    ДенежныеСредстваОстаткиИОбороты.СуммаКонечныйОстаток
ИЗ
    РегистрНакопления.ДенежныеСредства.ОстаткиИОбороты(
            НАЧАЛОПЕРИОДА(&НачалоПериода, ДЕНЬ),
            КОНЕЦПЕРИОДА(&КонецПериода, ДЕНЬ),
            Регистратор)
ГДЕ
   ДенежныеСредстваОстаткиИОбороты.БанковскийСчетКасса = &Касса

Не успел ))))
4 vicof
 
27.11.13
21:56
(3) Лучше сразу в виртуальной таблице отбирать, быстрее будет
5 vde69
 
модератор
27.11.13
21:58
(4) никогда составной тип не юзайте в виртуальных таблицах
6 Remark
 
27.11.13
21:58
(5) О интересно, а поясните, плиз...
7 shuhard
 
27.11.13
21:59
(4) у ТС-а проблема в передаваемом параметре и для него оба варианта одинаковы
8 vde69
 
модератор
27.11.13
22:00
(6) помести во временную таблицу реквизит типа "Документ" и посмотри профайлером запрос листов на 5 мелким шрифтом
9 vsafonin
 
27.11.13
22:01
Спасибо) я и так и так пробывал.... понимаю - надо немного ситуацию разъяснить:
Делаю отчет, на форме (управляемая) кинул реквизит (Касса), при открытии  в зависимости от прав пользователей это поле заполняется автоматом и его менять запрещено...

Так вот Этот параметр заполняю вот так:

Параметр = Отчет.КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы.Найти("Касса");
Параметр.Значение = Касса;

Вот собственно это и не работает. (в других отчетах  все хорошо отрабатывает)....
(я почемуто думал что это из за составного типа данных, похоже был не прав)
10 Remark
 
27.11.13
22:15
(8) К своему стыду не знаю, что такое "посмотри профайлером". Направьте на путь истинный, это как?
11 shuhard
 
27.11.13
22:27
(10)посмотри тех.журналом
Глупец, лишенный способности посмеяться над собой вместе с другими, не сможет долго выносить программирование. Фредерик Брукс-младший