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

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

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


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

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



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

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

1. Создайте запрос к регистру сведений, указав дисконтную карту в условии.
2. Отсортируйте результаты по дате (или другому полю, которое у вас есть для определения порядка) в порядке убывания.
3. Ограничьте выборку до одной записи.

Пример кода на языке 1С:

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

Запрос.УстановитьПараметр("ДисконтнаяКарта", ДисконтнаяКарта);

Результат = Запрос.Выполнить();
Если Результат.Количество() > 0 Тогда
    ПоследняяЗапись = Результат.Выбрать();
    // Здесь можно работать с последней записью
КонецЕсли;

В этом коде:
- `РегистрСведений.ЧекиПоДисконтнымКартам` — это название вашего регистра сведений.
- `ДисконтнаяКарта` — это поле в регистре, по которому вы фильтруете записи.
- `Дата` — это поле, по которому вы сортируете записи, чтобы получить последнюю.

Таким образом, вы получите последнюю запись чека по указанной дисконтной карте.



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