Имя: Пароль:
1C
1С v8
Помогите с запросом
0 AnisaL
 
19.11.19
10:34
Добрый день!
Подскажите, пожалуйста. Запрос выводит 2 записи регистра сведений СоставГруппДетскогоУчреждения, хотя берется РегистрСведений.СоставГруппДетскогоУчреждения.СрезПоследних(&Период, ). Как сделать, чтобы запрос выводил только последнюю запись из регистра сведений?
ВЫБРАТЬ
    ХозрасчетныйДвиженияССубконто.Период КАК Период,
    ХозрасчетныйДвиженияССубконто.Учреждение КАК Учреждение1,
    ХозрасчетныйДвиженияССубконто.Регистратор,
    ХозрасчетныйДвиженияССубконто.Активность,
    ХозрасчетныйДвиженияССубконто.СчетДт,
    ХозрасчетныйДвиженияССубконто.СубконтоДт1,
    ХозрасчетныйДвиженияССубконто.СубконтоДт2,
    ХозрасчетныйДвиженияССубконто.СубконтоДт3,
    ХозрасчетныйДвиженияССубконто.СчетКт,
    ХозрасчетныйДвиженияССубконто.СубконтоКт1,
    ХозрасчетныйДвиженияССубконто.СубконтоКт2,
    ХозрасчетныйДвиженияССубконто.Сумма,
    Дети.Ссылка КАК Ребенок,
    Дети.Учреждение КАК Учреждение,
    СоставГруппДетскогоУчреждения.ГруппаДетскогоУчреждения,
    СоставГруппДетскогоУчреждения.СтавкаОплаты
ИЗ
    РегистрБухгалтерии.ЕПСБУ.ДвиженияССубконто(
            ДАТАВРЕМЯ(2019, 11, 1, 0, 0, 0),
            ДАТАВРЕМЯ(2019, 11, 18, 23, 59, 59),
            Активность = ИСТИНА
                И СчетКт = &ВыбСчет,
            ,
            ) КАК ХозрасчетныйДвиженияССубконто
        внутреннее СОЕДИНЕНИЕ Справочник.Дети КАК Дети
        ПО ХозрасчетныйДвиженияССубконто.СубконтоКт2 = Дети.Контрагент
        внутреннее СОЕДИНЕНИЕ РегистрСведений.СоставГруппДетскогоУчреждения.СрезПоследних(&Период, ) КАК СоставГруппДетскогоУчреждения
        ПО (Дети.Ссылка = СоставГруппДетскогоУчреждения.Ребенок)
ГДЕ
    ХозрасчетныйДвиженияССубконто.Регистратор В(&Массив)

УПОРЯДОЧИТЬ ПО
    Период, Ребенок
1 Волшебник
 
19.11.19
10:35
ВЫБРАТЬ ПЕРВЫЕ 1
3 Волшебник
 
19.11.19
10:42
(2) публикация персональных данных, нарушение 152-ФЗ
4 dka80
 
19.11.19
10:43
РегистрСведений..СрезПоследних дает срез по ВСЕМ измерениям. Потому, если измерений два, то хоть ты и выбираешь одно измерение в запросе, срез последних вернет две записи, в отличии от регистра накопления
5 AnisaL
 
19.11.19
10:46
(0) Нужно, чтобы по одному ребенку выводилась одна строка с последним учреждением, а выводятся 2 строки с 2 учреждениями
6 AnisaL
 
19.11.19
10:47
(4) так как сделать, чтобы выводилась одна строка по одному ребенку?
7 dka80
 
19.11.19
10:51
(6)
Несколько вариантов
1. написать ВЫБРАТЬ РАЗЛИЧНЫЕ
2. Выбрать данные из РегистрСведений.СоставГруппДетскогоУчреждения во временную таблицу с префиксом РАЗЛИЧНЫЕ, соединить твой запрос с временной таблицей
8 AnisaL
 
19.11.19
11:01
(7) а мне не нужны различные, мне нужен срез последних на дату
9 piter3
 
19.11.19
11:01
(8) Еще раз посмотри на структуру регистра
10 dka80
 
19.11.19
11:13
(8) различные для среза последних
11 DrWatson
 
19.11.19
11:25
Может стоит завести РС где отмечать в какой группе числится ребенок?
Состав групп без ручных группировок этой информации не даст.
12 DrWatson
 
19.11.19
11:29
А как фиксируется выбытие ребенка или перевод из группы в группу? По прежней группе ставится отметка, что ребенка там уже нет или просто делается запись по новой группе?
13 olegves
 
19.11.19
11:54
(6) см. (1) и измени порядок:

УПОРЯДОЧИТЬ ПО
    Период Убыв, Ребенок
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший