Имя: Пароль:
1C
1С v8
Параметр "Касса" в запросе
0 TygarinZmei
 
28.12.16
11:57
Добрый день.

Есть такой запрос:

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

Необходимо чтобы в нем отдельно еще вытягивалась сумма по субконто1 = Касса, Р/счет и Зачет.

Предполагаю что должно быть что-то вроде такого:

СУММА(ВЫБОР
КОГДА ХозрасчетныйОбороты.Субконто1 = ""Касса""
ТОГДА ХозрасчетныйОбороты.СуммаОборотКт
ИНАЧЕ 0
КОНЕЦ) КАК СуммаКасса

но не работает. Может кто подскажет. Только ссан.. тряпками не забрасывайте, я ток учусь)
1 catena
 
28.12.16
12:02
ТИПЗНАЧЕНИЯ
2 TygarinZmei
 
28.12.16
12:07
(1)  | СУММА(ВЫБОР
                   |            КОГДА ТИПЗНАЧЕНИЯ(ХозрасчетныйОбороты.Субконто1) =ЗНАЧЕНИЕ(""Касса"")
                   |                ТОГДА ХозрасчетныйОбороты.СуммаОборотКт
                   |            ИНАЧЕ 0
                   |        КОНЕЦ) КАК СуммаКасса

Так ругается что не может выгрузить так как ожидается имя Касса
4 VladZ
 
28.12.16
12:10
(2) "Касса" имеет тип "Строка".   ЗНАЧЕНИЕ(""Касса"") - это бред.

Перевожу на "правильный" твою запись:

КОГДА ТИПЗНАЧЕНИЯ реквизита Субконто1 объекта ХозрасчетныйОбороты равен бреду.
6 Волшебник
 
модератор
28.12.16
12:10
в запросе:

"ГДЕ Поле = &Параметр"

ниже запроса:

Запрос.УстановитьПараметр("Параметр", ЗначениеПравильногоТипа);
9 catena
 
28.12.16
12:14
(2)У тебя в запросе уже есть использование типа значения. Зачем сейчас начинаешь придумывать маразм?
10 Zmich
 
28.12.16
12:14
Тут тоже ерунда написана:
КОГДА ТИПЗНАЧЕНИЯ(ХозрасчетныйОбороты.Регистратор) = ЗНАЧЕНИЕ(Документ.ОперацияБух)

Надо так:
КОГДА ХозрасчетныйОбороты.Регистратор ССЫЛКА Документ.ОперацияБух
11 mexanik_96
 
28.12.16
12:14
(8) ну тизначения же как бы намекает... на объект метаданных!
15 TygarinZmei
 
28.12.16
12:18
и я вообще не понимаю как тут может помочь типзначения. Нужно чтобы при субконто1 имеющим значение Касса вытягивалась цифра в противном случае нет.
16 Cool_Profi
 
28.12.16
12:19
СУММА(ВЫБОР
КОГДА ХозрасчетныйОбороты.Субконто1 = &парамКасса
ТОГДА ХозрасчетныйОбороты.СуммаОборотКт
ИНАЧЕ 0
КОНЕЦ) КАК СуммаКасса


запрос.Установитьпараметр("парамКасса", СсылканаЭлементСправочникаСЗначениемКасса)
18 TygarinZmei
 
28.12.16
12:20
(16) Благодарю, сейчас попробую.
19 mexanik_96
 
28.12.16
12:21
(16) ну ссылку на вид субконто тогда уж, зачем ссылку на элемент?
22 TygarinZmei
 
28.12.16
12:52
(16) (19) Спасибо вам большое. Все добавил, все заработало. С наступающим вас Новым Годом!
Проблемы невозможно решaть нa том же уровне компетентности, нa котором они возникaют. Альберт Эйнштейн