Имя: Пароль:
1C
1С v8
Как правильно сделать срез последних по регистру?
0 Очень Любознательная
 
18.07.19
23:03
Добрый вечер.
Мне в работе нужно сделать срез последних по регистру сведений. Мне нужно получить МОЛ и Местонахождение (ресурсы) по Основному Средству (измерение) (последнее на дату).
Это точно 1 основное средство, дублей нет.
Пишу следующий код:
    Запрос = Новый Запрос;
    Запрос.Текст = "ВЫБРАТЬ
                   |    МестонахождениеОСБухгалтерскийУчетСрезПоследних.МОЛ КАК МОЛ,
                   |    МестонахождениеОСБухгалтерскийУчетСрезПоследних.Местонахождение КАК Местонахождение,
                   |    МестонахождениеОСБухгалтерскийУчетСрезПоследних.Период КАК Период,
                   |    МестонахождениеОСБухгалтерскийУчетСрезПоследних.Регистратор КАК Регистратор
                   |ИЗ
                   |    РегистрСведений.МестонахождениеОСБухгалтерскийУчет.СрезПоследних(&Дата, ОсновноеСредство = &ОС) КАК МестонахождениеОСБухгалтерскийУчетСрезПоследних";
    Запрос.УстановитьПараметр("Дата", Дата(2019, 7, 1));
    Запрос.УстановитьПараметр("ОС", Справочники.ОсновныеСредства.НайтиПоНаименованию("Компьютер КМ Home522i RentiumDualCoreE2180"));
    Результат = Запрос.Выполнить().Выгрузить();
    СтруктураОС = Новый Структура;
    СтруктураОС.Вставить("ОсновноеСредство", Справочники.ОсновныеСредства.НайтиПоНаименованию("Компьютер КМ Home522i RentiumDualCoreE2180"));
    Тест = РегистрыСведений.МестонахождениеОСБухгалтерскийУчет.ПолучитьПоследнее(Дата(2019, 7, 1), СтруктураОС);


В результате запроса выгружается таблица записей из регистра. Они отличаются другим измерением - типом документа.
Когда же я делаю именно СрезПоследних к объекту с отбором в структуре по Основному средству, у меня 1, нужная мне запись - последняя запись по этому ОС.
Подскажите, пожалуйста, в чём отличие работы данных запросов? Как правильно реализовать срез последних именно запросом?
1 polosov
 
18.07.19
23:12
2 Очень Любознательная
 
19.07.19
00:35
(1) Увидела, спасибо!
Верно ли я понимаю, что если сделать срез последних и получить последнее с одними и теми же отборами по измерениям, то получить последнее просто возьмёт таблицу срезов последних и вернёт самую последнюю запись на установленную дату (либо ближайшую позднюю, если ничего не найдёт)?
3 catena
 
19.07.19
06:01
(2)Срез последних берет последнюю запись по всем вариантам измерений. Т.е., например, если измерения: ОС и Организация и стул когда-то стоял на кухне, а потом его переместили в спальню, то срез последних будет содержать оба набора: стул-кухня и стул-спальня.
4 Провинциальный 1сник
 
19.07.19
06:36
(3) При неправильной структуре регистра - да. Для отслеживания перемещений мебели по помещениям помещение должно быть не измерением, а ресурсом.
5 catena
 
19.07.19
07:00
(4)Ну, я не знаю, что там у автора, в мое УПП в местонахожденииБУ организация(не помещение) - измерение. Просто во всех отчетах основной таблицей берутся несписанные ОС. При передаче в ф1 списывается, в ф2 принимается к учету.
6 Rovan
 
гуру
19.07.19
09:05
(0) если конфа типовая такие вопросы надо начинать с названия конфы и номера релиза