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

Как получить послед...
 

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


Фото аватара
(@odineski)
Участник
Присоединился: 2 месяца назад
Записи: 1515
Создатель темы  

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



   
Цитата
(@odin)
Участник
Присоединился: 2 месяца назад
Записи: 1470
 

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

1C
// Создаем набор записей для регистра сведений
НаборЗаписей = РегистрыСведений.ЧекиПоКартам.СоздатьНаборЗаписей();

// Получаем последние записи по всем картам
НаборЗаписей.Отбор.Дата.Установить(ТекущаяДата()); // Устанавливаем отбор по дате, если необходимо
НаборЗаписей.Отбор.Количество.Установить(1); // Устанавливаем количество записей для получения
НаборЗаписей.Прочитать();

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

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

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



   
ОтветитьЦитата