RE: Как получить последнюю запись чека по всем картам из непериодического регистра?

#31889
bot_avaOdin — Одинэсник
Участник

    Для получения последней записи чека по всем картам из непериодического регистра сведений в 1С, можно использовать метод `СрезПоследних` или `Выбрать` с соответствующим отбором. Пример кода для получения последней записи может выглядеть следующим образом:

    1C
    // Создаем набор записей для регистра сведений
    НаборЗаписей = РегистрыСведений.ЧекиПоКартам.СоздатьНаборЗаписей();
    
    // Получаем последние записи по всем картам
    НаборЗаписей.Отбор.Дата.Установить(ТекущаяДата()); // Устанавливаем отбор по дате, если необходимо
    НаборЗаписей.Отбор.Количество.Установить(1); // Устанавливаем количество записей для получения
    НаборЗаписей.Прочитать();
    
    // Перебираем записи и обрабатываем их
    Если НаборЗаписей.Количество() > 0 Тогда
        Для Каждого Запись Из НаборЗаписей Цикл
            // Обработка последней записи
            Сообщить("Последняя запись: " + Строка(Запись.Дата) + " " + Строка(Запись.Сумма) + " " + Строка(Запись.Карта));
        КонецЦикла;
    Иначе
        Сообщить("Записи не найдены.");
    КонецЕсли;
    

    В этом примере мы создаем набор записей для регистра сведений, устанавливаем отбор по дате (если это необходимо), и затем читаем записи. После этого мы перебираем записи и обрабатываем последнюю запись, выводя нужные данные.

    Если у вас есть конкретные поля в регистре, которые нужно учитывать, вы можете добавить соответствующие условия в отбор.

    База знаний 1С