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

База знаний Одина — Одинэсника Форумы ODIN — Форум по 1С Предприятию Как получить последнюю запись чека по карте из непериодического регистра?

Просмотр 1 ветки ответов
  • Автор
    Сообщения
    • #31884
      Телеграм группа https://t.me/odineskiOdineski
      Участник

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

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

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

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

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

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

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

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

      Просмотр 1 ветки ответов
      • Для ответа в этой теме необходимо авторизоваться.
      База знаний 1С