Для получения последней записи чека по дисконтной карте из непериодического регистра сведений в 1С, можно использовать следующий подход:
1. Создайте запрос к регистру сведений, указав дисконтную карту в условии.
2. Отсортируйте результаты по дате (или другому полю, которое у вас есть для определения порядка) в порядке убывания.
3. Ограничьте выборку до одной записи.
Пример кода на языке 1С:
1C
// Предположим, что у вас есть переменная ДисконтнаяКарта, содержащая нужную карту
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
ПоследняяЗапись.*
ИЗ
РегистрСведений.ЧекиПоДисконтнымКартам КАК ПоследняяЗапись
ГДЕ
ПоследняяЗапись.ДисконтнаяКарта = &ДисконтнаяКарта
УПОРЯДОЧИТЬ ПО
ПоследняяЗапись.Дата DESC
LIMIT 1"; // Ограничиваем выборку до одной записи
Запрос.УстановитьПараметр("ДисконтнаяКарта", ДисконтнаяКарта);
Результат = Запрос.Выполнить();
Если Результат.Количество() > 0 Тогда
ПоследняяЗапись = Результат.Выбрать();
// Здесь можно работать с последней записью
КонецЕсли;
В этом коде:
— `РегистрСведений.ЧекиПоДисконтнымКартам` — это название вашего регистра сведений.
— `ДисконтнаяКарта` — это поле в регистре, по которому вы фильтруете записи.
— `Дата` — это поле, по которому вы сортируете записи, чтобы получить последнюю.
Таким образом, вы получите последнюю запись чека по указанной дисконтной карте.