Как получить значения последней записи в регистре сведений? #104516


#0 by Квадро
Есть НЕпереодлический регистр сведений ШтрихКоды. Нужно найти значения последнего элемента РегистрыСведений.ШтрихКод.Код. Т.е. значение измерения "Код". Как это сделать?
#1 by Дудка Ахинеи
Запрос. ГДЕ | РегистрыСведений.ШтрихКод.Код.СрезПоследних
#2 by Дудка Ахинеи
Упс. Слово ГДЕ заменить на ИЗ. Это строчка из запроса
#3 by Asmody
какой СрезПоследних в "НЕпереодлическом" регистре?
#4 by Факер_S
РегистрСведенийМенеджер.<Имя регистра сведений> (InformationRegisterManager.<Имя регистра сведений>) ПолучитьПоследнее (GetLast) Синтаксис: ПолучитьПоследнее(<Конец периода>, <Отбор>) Параметры: ... возможно поможет
#5 by Дудка Ахинеи
Опс.. пропустила... Виновата
#6 by Дудка Ахинеи
5 к 3
#7 by Квадро
ВЫБРАТЬ    Штрихкоды.Код ИЗ    РегистрСведений.Штрихкоды.Код.СрезПоследних КАК ШтрихКоды Вот такая ошибка выдается: {Форма.Форма}: Ошибка при вызове метода контекста (Выполнить): {(4, 50)}: Ожидается имя
#8 by Квадро
Пардон вот ошибка: {Форма.Форма}: Ошибка при вызове метода контекста (Выполнить): {(4, 2)}: Таблица не найдена "РегистрСведений.Штрихкоды.Код.СрезПоследних" <<?>>РегистрСведений.Штрихкоды.Код.СрезПоследних КАК Штрихкоды по причине: {(4, 2)}: Таблица не найдена "РегистрСведений.Штрихкоды.Код.СрезПоследних" <<?>>РегистрСведений.Штрихкоды.Код.СрезПоследних КАК Штрихкоды
#9 by Факер_S
хороший вопрос, действительно почему "получить первые N" есть, а "последние N" нету
#10 by Факер_S
сорри исправлюсь почему в запросе есть "ВЫБРАТЬ ПЕРВЫЕ N", а нету "ПОСЛЕДНИЕ N"
#11 by Квадро
А можно ли как-нить так, установить курсор на последнюю запись регистра сведений и считать от туда последнее значения кода. P.S. Сорри за не 1С-овский слэнг, из Фокса я пришел : ) Суть проблемы. Мне нужно создать новую запись в РегистрыСведений.ШтрихКоды, а код прописывать вручную нужно (т.к. регистратор отключен). Вот отсюда вся фигня.
#12 by Дудка Ахинеи
Смотри 3,4. Сама думаю над твоим вопросом.
#13 by Факер_S
тебе таки справочник для этих целей можно использовать
#14 by Квадро
Дык в конфигурации УПП прописаны штрихкоды в регистрах. Ничего поделать не могу надо как-нить извратнуться
#15 by Asmody
а что вообще означает "последний штрих-код" применительно к непериодическому РС?
#16 by x4
имхо в непереодическом регистре сведений понятие "последняя запись" лишено смысла, т.к. нет поля Период. Если есть другое поле, по которому можно упорядочить и сказать - вот это последняя запись, то надо так и сделать, что-то вроде ВЫБРАТЬ ПЕРВЫЕ 1 Код ИЗ РегистрыСведений.ШтрихКод УПОРЯДОЧИТЬ ПО ПолеОпределяющееПорядок УБЫВ
#17 by Asmody
именно
#18 by ананим
никуя РегистрыСведений.ШтрихКод - таблица, поля период нет, но записи храняться по порядку, иначе что эта за таблица если всё в разноброс, вот последнюю запись и надо выбрать
#19 by Asmody
еще раз анализируя рискну спросить а зачем нужно искать значение Кода последней записи РС?
#20 by x4
если не ошибаюсь, все строки таблицы равноценны и если их явно не упорядочить, то они не обязаны сами выстраиваться в каком-либо ожидаемом порядке. Если нужно упорядочивать по хронологии добавления - надо добавить соответствующее поле. Или есть доступ к аналогу RowId?
#21 by ананим
вот по RowId и хотся получить последний
#22 by x4
ну если хотся тогда можно следать простейшую выборку "ВЫБРАТЬ Код ИЗ РегистрыСведений.ШтрихКод" и догнаться Выборка.Следующий до посделней записи, или в ТЗ выгрузить и ТЗ[ ТЗ.Количество - 1 ]
#23 by VCD
В непереиодическом регистре понятия "последнее" нэту. В регистре сведений неможет быть две записи с одинаковой комбинцией измерений. Поэтому по по каждой уникальной комбинации существует только одна запись.
#24 by Asmody
где-то я читал, что в результате запроса, в котором нет ORDER BY, порядок записей неопределен, в том смысле что он может быть поризвольным.
#25 by x4
вот и я про то в . а - это решение на случай "очень хотся, а по-прямому влом переделывать"
#26 by vvv29
добавить дату(или использовать дату регистратора) и использовать функцию максимума в запросе.
#27 by Asmody
ИМХО, без ответа автора на мы тут можем долго гадать...
#28 by Квадро
Простите были выходные - отдыхал. Тема так и осталась актуальной. . Последнюю запись необходимо найти для того, чтобы в обработке вставить еще одну запись (новую) , код формируется вручную, вот и нужно выяснить какой-же последний код был? Чтобы в новой записи сделать НовыйКод=ПоследнийКод+1. Вот и весь казалось бы простой вопрос.
#29 by Волшебник
еще можно использовать запрос ВЫБРАТЬ МАКСИМУМ(Код) ИЗ РегистрСведений.Штрихкоды
#30 by nt
почему тогда не использовать агрегатную функцию Максимум(ПоследнийКод)?:
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С