Имя: Пароль:
1C
1С v8
Нет физлица в запросе
,
0 Масянька
 
10.08.20
15:36
День добрый!
Запрос:
ВЫБРАТЬ
    СтраховыеВзносыИсчисленные.Период,
    ВЫБОР
        КОГДА СУММА(СтраховыеВзносыИсчисленные.ПФРЗаЗанятыхНаПодземныхИВредныхРаботахВредный2) > 0
            ТОГДА СтраховыеВзносыИсчисленные.ФизЛицо.Наименование
        ИНАЧЕ ""
    КОНЕЦ КАК Сотрудник
ИЗ
    РегистрНакопления.СтраховыеВзносыИсчисленные КАК СтраховыеВзносыИсчисленные
ГДЕ
    СтраховыеВзносыИсчисленные.ДатаПолученияДохода МЕЖДУ &НачалоПериода И &КонецПериода

СГРУППИРОВАТЬ ПО
    СтраховыеВзносыИсчисленные.Период,
    СтраховыеВзносыИсчисленные.ФизЛицо.Наименование

Вывод - http://pics.rsh.ru/img/_nr0wquzu.jpg
Что не так?
Спасибо.
1 Мимохожий Однако
 
10.08.20
15:42
Для всех выбранных записей с периодами условие выдает "" для физлица.
2 Масянька
 
10.08.20
15:44
(1) Почему?
3 acht
 
10.08.20
15:50
(0) Напиши:
ВЫБОР
    КОГДА СУММА(СтраховыеВзносыИсчисленные.ПФРЗаЗанятыхНаПодземныхИВредныхРаботахВредный2) > 0
        ТОГДА 1
        ИНАЧЕ 2
КОНЕЦ КАК Сотрудник

И все узнаешь
4 Philix
 
10.08.20
15:53
(0) Меня смущает использование агрегатной функции СУММА() в конструкции ВЫБОР... Не надо так. Условия на агрегатные функции надо в ИМЕЮЩИЕ запихивать. Тут можно или с временными таблицами поиграться, или с вложенными запросами.
Т.е. сначала получить сгруппированные суммы по физ лицам и периодам, а следующим запросом уже подменять наименование физ лица на пустую строку при соблюдении указанного условия.
5 Масянька
 
10.08.20
15:54
(3) ВЫБРАТЬ
    СтраховыеВзносыИсчисленные.Период,
    ВЫБОР
        КОГДА Сумма(СтраховыеВзносыИсчисленные.ПФРЗаЗанятыхНаПодземныхИВредныхРаботахВредный2) > 0
            ТОГДА 1
        ИНАЧЕ 2
    КОНЕЦ КАК Сотрудник
ИЗ
    РегистрНакопления.СтраховыеВзносыИсчисленные КАК СтраховыеВзносыИсчисленные
ГДЕ
    СтраховыеВзносыИсчисленные.ДатаПолученияДохода МЕЖДУ &НачалоПериода И &КонецПериода

СГРУППИРОВАТЬ ПО
    СтраховыеВзносыИсчисленные.Период,
    ВЫБОР
        КОГДА СтраховыеВзносыИсчисленные.ПФРЗаЗанятыхНаПодземныхИВредныхРаботахВредный2 > 0
            ТОГДА 1
        ИНАЧЕ 2
    КОНЕЦ
    

http://pics.rsh.ru/img/_wd95wrls.jpg
6 Масянька
 
10.08.20
15:55
(4) Да, и без суммы пусто. Это я уже методом тыка...
7 acht
 
10.08.20
15:57
А ты вообще что получить-то хочешь, какой тайный смысл сотрудников с пустым наименованием?
8 Масянька
 
10.08.20
15:58
(7) Кол-во сотрудников-вредников за период.
В РН есть реквизит "ПФРЗаЗанятыхНаПодземныхИВредныхРаботахВредный2" - это, как раз взнос вредника.
9 acht
 
10.08.20
15:59
(8) И как вообще количество связано с пустой строкой наименования?
10 acht
 
10.08.20
16:00
ВЫБРАТЬ
    СтраховыеВзносыИсчисленные.Период,
    СтраховыеВзносыИсчисленные.ФизЛицо,
ИЗ
    РегистрНакопления.СтраховыеВзносыИсчисленные КАК СтраховыеВзносыИсчисленные
ГДЕ
    СтраховыеВзносыИсчисленные.ДатаПолученияДохода МЕЖДУ &НачалоПериода И &КонецПериода
СГРУППИРОВАТЬ ПО
    СтраховыеВзносыИсчисленные.Период,
    СтраховыеВзносыИсчисленные.ФизЛицо
ИМЕЮЩИЕ
    СУММА(СтраховыеВзносыИсчисленные.ПФРЗаЗанятыхНаПодземныхИВредныхРаботахВредный2) > 0
11 acht
 
10.08.20
16:00
Вот тебе только "вредники"
12 Масянька
 
10.08.20
16:02
(10) Пусто....
13 Ёпрст
 
10.08.20
16:07
(12) не удивительно
14 lodger
 
10.08.20
16:07
(12) тогда надо открыть таблицу и ручками поставить отбор периода &НачалоПериода И &КонецПериода, отбор сумм >0 и посмотреть глазками. возможно попали в просак.
15 Масянька
 
10.08.20
16:07
Мужики, не убивайте...
Поле перепутала...
Понедельник удался...
СПАСИБО!!!!
16 SleepyHead
 
гуру
10.08.20
17:12
(3) Тролл ))
Компьютер — устройство, разработанное для ускорения и автоматизации человеческих ошибок.