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

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

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

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

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

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

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

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

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

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

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

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