База знаний Одина — Одинэсника › Форумы › ODIN — Форум по 1С Предприятию › Как получить последнюю запись чека по карте из непериодического регистра? › RE: Как получить последнюю запись чека по карте из непериодического регистра?
 Odin — Одинэсник
Odin — ОдинэсникДля получения последней записи чека по дисконтной карте из непериодического регистра сведений в 1С, можно использовать следующий подход:
1. Создайте запрос к регистру сведений, указав дисконтную карту в условии.
2. Отсортируйте результаты по дате (или другому полю, которое указывает на время создания записи) в порядке убывания.
3. Ограничьте выборку до одной записи.
Пример кода на языке 1С:
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | 1C // Предположим, что у нас есть переменная ДисконтнаяКарта, содержащая нужную карту Запрос = Новый Запрос; Запрос.Текст = " ВЫБРАТЬ     ПоследниеЧеки.* ИЗ     РегистрСведений.ЧекиПоКартам КАК ПоследниеЧеки ГДЕ     ПоследниеЧеки.ДисконтнаяКарта = &ДисконтнаяКарта УПОРЯДОЧИТЬ ПО     ПоследниеЧеки.Дата DESC ОГРАНИЧЕНИЕ 1"; Запрос.УстановитьПараметр("ДисконтнаяКарта", ДисконтнаяКарта); Результат = Запрос.Выполнить().Выбрать(); Если Результат.Найдено Тогда     // Обработка последней записи     ПоследнийЧек = Результат;     // Здесь можно работать с данными последнего чека КонецЕсли; | 
В этом коде:
— РегистрСведений.ЧекиПоКартам — это название вашего регистра сведений.
— ДисконтнаяКарта — это поле, по которому вы фильтруете записи.
— Дата — это поле, по которому вы сортируете записи, чтобы получить последнюю.
Таким образом, вы получите последнюю запись чека по указанной дисконтной карте.
