Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Тонкости запроса
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 > Программисту > Программирование в 1С Предприятие 8.3
rodrigezrobert
Здравствуйте!
Есть табличная часть "ТарифныеПланы" с реквизитами "ДатаНачалаДействияТП" и "НазваниеТарифногоПлана". Действующий тарифный план соответствует самой большой дате "ДатаНачалаДействияТП".
Как запросом выбрать все актуальные(действующие) тарифные планы, что бы не делать это в обработке результатов запроса?
Делаю так как указал внизу, но в результате выходят все тарифные планы, а нужно действующие.
Спасибо!

ВЫБРАТЬ
    СотрудникиДанныеКонтактов.Ссылка,
    СотрудникиДанныеКонтактов.КонтактныеДанные.Ссылка
ПОМЕСТИТЬ Сотрудники
ИЗ
    Справочник.Сотрудники.ДанныеКонтактов КАК СотрудникиДанныеКонтактов
ГДЕ
    СотрудникиДанныеКонтактов.ВидКонтакта.Ссылка = ЗНАЧЕНИЕ(Справочник.ВидыКонтактов.МобильныйРабочий)
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    SimКартыТарифныеПланы.Ссылка,
    МАКСИМУМ(SimКартыТарифныеПланы.ДатаНачалаДействияТП) КАК ДатаНачалаДействияТП,
    SimКартыТарифныеПланы.ТарифныйПлан
ПОМЕСТИТЬ АктуальныеТарифныеПланы
ИЗ
    Справочник.SimКарты.ТарифныеПланы КАК SimКартыТарифныеПланы

СГРУППИРОВАТЬ ПО
    SimКартыТарифныеПланы.Ссылка,
    SimКартыТарифныеПланы.ТарифныйПлан
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    Сотрудники.Ссылка,
    АктуальныеТарифныеПланы.ТарифныйПлан.Ссылка,
    АктуальныеТарифныеПланы.ДатаНачалаДействияТП
ИЗ
    Сотрудники КАК Сотрудники
        ЛЕВОЕ СОЕДИНЕНИЕ АктуальныеТарифныеПланы КАК АктуальныеТарифныеПланы
        ПО Сотрудники.КонтактныеДанныеСсылка.Ссылка = АктуальныеТарифныеПланы.Ссылка
sava1
Выбрать первые 1
.
.
Упорядочить по "Дата" УБЫВ
rodrigezrobert
sava1 @ Сегодня, 14:37 необходимо зарегистрироваться для просмотра ссылки ,
Выбрало 1 самый новый Тарифный план из всех SimКарт, а мне нужно самый новый из каждой SimКарты, то есть самый новый для каждого элемента справочника.
Vidocq05
rodrigezrobert @ Сегодня, 14:03 необходимо зарегистрироваться для просмотра ссылки ,
ВЫБРАТЬ
    SimКартыТарифныеПланы.Ссылка,
    МАКСИМУМ(SimКартыТарифныеПланы.ДатаНачалаДействияТП) КАК ДатаНачалаДействияТП,
    //SimКартыТарифныеПланы.ТарифныйПлан
ПОМЕСТИТЬ АктуальныеТарифныеПланы
ИЗ
    Справочник.SimКарты.ТарифныеПланы КАК SimКартыТарифныеПланы

СГРУППИРОВАТЬ ПО
    SimКартыТарифныеПланы.Ссылка,
   // SimКартыТарифныеПланы.ТарифныйПлан

Потом создаете еще одну временную таблицу. Берете АктуальныеТарифныеПланы и соединяете левым соединением с Справочник.SimКарты.ТарифныеПланы по Ссылка и ДатаНачалаДействияТП. Выбираете с Справочник.SimКарты.ТарифныеПланы: Ссылка, ДатаНачалаДействияТП, ТарифныйПлан. А дальше так как у Вас в запросе.
sava1
Для всех
ВЫБРАТЬ
Таблица3.Ресурс,
Таблица3.Измерение,
Таблица3.Период
ИЗ
(ВЫБРАТЬ
  Таблица1.Измерение КАК Измерение,
  МАКСИМУМ(Таблица1.Период) КАК Период
ИЗ
  РегистрСведений.ПериодическийРегистр КАК Таблица1
ГДЕ
  Таблица1.Период <= &Дата
СГРУППИРОВАТЬ ПО
  Таблица1.Измерение) КАК Таблица2
  ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ПериодическийРегистр КАК Таблица3
  ПО Таблица2.Измерение= Таблица3.Измерение
   И Таблица2.Период = Таблица3.Период


вместо регистр - таблица
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.