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

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

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

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

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

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

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

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

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

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

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

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