Имя: Пароль:
1C
1С v8
Отчёт по одинаковым подразделениям в разных организациях
0 arishkaKlimova
 
19.02.16
14:56
Ребята, посоветуйте как можно сделать лучше выйти из такой ситуации.
Есть отчёт

ВЫБРАТЬ
    СотрудникиОрганизацийСрезПоследних.ПодразделениеОрганизации,
    СотрудникиОрганизацийСрезПоследних.Организация,
    СотрудникиОрганизацийСрезПоследних.ПодразделениеОрганизации.Наименование КАК Подразделение
ИЗ
    РегистрСведений.СотрудникиОрганизаций.СрезПоследних КАК СотрудникиОрганизацийСрезПоследних

Всё хорошо, но проблема в том, что надо группировать по названию  подразделения, так как в каждой организации есть одинаковые подразделения (одинаково только наименование, ссылки - разные).

Вот. Сгруппировать по названию получилось, но надо ещё сделать по ним пользовательский отбор. Естественно, если делать отбор по подразделению, то он смотрит по ссылкам и выводит не все записи. Если делать отбор по наименованию, то приходится вводить название подразделения вручную. Что посоветуете?
1 Волшебник
 
модератор
19.02.16
14:58
Отбор по ссылкам, вид сравнения "В Списке" (в запросе В ИЕРАРХИИ)
2 Nuobu
 
19.02.16
14:58
(0) Делать отбор по наименованию.
3 arishkaKlimova
 
19.02.16
15:01
(1) Пользователи устанут вводить все подразделения. (2) Если делать отбор по наименованию, то приходится его вводить вручную.

В идеале надо придумать обход, чтобы выбор предоставлялся среди всех подразделений, а потом делался отбор по наименованию. Как это лучше реализовать?
4 salvator
 
19.02.16
15:01
(0) Сформировать список различных наименований и использовать его в качестве доступного для отбора по наименованию.
5 arishkaKlimova
 
19.02.16
15:04
(4) Окей. Теперь вопрос: где во внешнем отчете выловить факт того, что пользователь нажимает на кнопку выбора для этого конкретного отбора?
6 Nuobu
 
19.02.16
15:04
ВЫБРАТЬ
    СотрудникиОрганизацийСрезПоследних.ПодразделениеОрганизации,
    СотрудникиОрганизацийСрезПоследних.Организация,
    СотрудникиОрганизацийСрезПоследних.ПодразделениеОрганизации.Наименование КАК Подразделение

ИЗ
    РегистрСведений.СотрудникиОрганизаций.СрезПоследних КАК СотрудникиОрганизацийСрезПоследних
ГДЕ
ПодразделениеОрганизации.Наименование = (Выразить(&ПараметрПодразделение) КАК Справочник.ПодразделенияОрганизаций).Наименование
7 arishkaKlimova
 
19.02.16
15:09
(6) Ругается "Ожидается выражение "как"
8 arishkaKlimova
 
19.02.16
15:15
(6) Скобки были неправильны... подправила, но всё-равно, поле отбора ждёт строку :(
9 arishkaKlimova
 
19.02.16
15:28
Ещё идеи?
10 Nuobu
 
19.02.16
15:29
(8) Поле отбора - строку, а параметр?
11 arishkaKlimova
 
19.02.16
15:33
(10) Аллилуйя! Спасибо вам большое! :)
12 arishkaKlimova
 
20.02.16
11:25
В продолжении темы. Как быть, если пользователь не указывает &ПараметрПодразделение? Выдаётся ошибка, что не возможно выразить.

пробовала так:

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

Не работает
13 arishkaKlimova
 
20.02.16
11:28
Блин, не тот код отправила. В общем разобралась. Надо было в СКД прописать значение по-умолчанию
14 Одинесю
 
20.02.16
11:31
&ПараметрПодразделение наверное Неопределено
15 arishkaKlimova
 
20.02.16
11:39
(14) Не-а, не помогает.
16 arishkaKlimova
 
20.02.16
11:40
(14) Что-то я поторопилась с тем, что я разобралась. Результат выдался нормальным, когда параметр был пустой строкой.
Какие есть варианты?
17 arishkaKlimova
 
20.02.16
11:52
(16) Добавила красивые скобочки и всё получилось)

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