Имя: Пароль:
1C
1С v8
Получение первых и последних записей регистра накопления без суицида пользовател
0 LehhaK
 
16.10.12
07:37
1. О_о 100% (1)
2. Этот запрос гениален!!! 0% (0)
3. Этот запрос не гениален!!! 0% (0)
4. Я гениален, а ты нет!!! 0% (0)
Всего мнений: 1

Здравия!
Собсна, суть проблемы: есть регистр накопления. Мне, помимо всего прочего, надо получить первую и последнюю записи этого регистра. Все прочее я получаю. Так же великолепно получаю первую и последнюю записи, вставив запрос в цикл. Но это, тут говорят, не по фэн-шую. пытаюсь решить пакетным запросом. Отладчик пишет: Null. ЧЯДНТ, посоны?!
Запрос:
ВЫБРАТЬ ПЕРВЫЕ 1
              |    НакоплениеБонусов.Период КАК ДатаПолученияКарты,
              |    НакоплениеБонусов.БонуснаяКарта
              |ПОМЕСТИТЬ ВТДатаВ
              |ИЗ
              |    РегистрНакопления.НакоплениеБонусов КАК НакоплениеБонусов
              |
              |УПОРЯДОЧИТЬ ПО
              |    ДатаПолученияКарты
              |;
              |
              |////////////////////////////////////////////////////////////////////////////////
              |ВЫБРАТЬ ПЕРВЫЕ 1
              |    НакоплениеБонусов.Период КАК ДатаПоследнегоИспользования,
              |    НакоплениеБонусов.БонуснаяКарта
              |ПОМЕСТИТЬ ВТДатаПИ
              |ИЗ
              |    РегистрНакопления.НакоплениеБонусов КАК НакоплениеБонусов
              |
              |УПОРЯДОЧИТЬ ПО
              |    ДатаПоследнегоИспользования УБЫВ
              |;
              |
              |////////////////////////////////////////////////////////////////////////////////
              |ВЫБРАТЬ
              |    ИнформационныеКарты.Код,
              |    ИнформационныеКарты.Наименование,
              |    ИнформационныеКарты.КодКарты,
              |    ИнформационныеКарты.ВладелецКарты,
              |    ИнформационныеКарты.ВидКарты,
              |    ИнформационныеКарты.ТипКарты,
              |    ИнформационныеКарты.ВидДисконтнойКарты,
              |    ИнформационныеКарты.РезервныйКод,
              |    ИнформационныеКарты.СрокДействия,
              |    Контрагенты.Наименование КАК Наименование1,
              |    Контрагенты.бон_ДатаРождения КАК ДатаРождения,
              |    Контрагенты.бон_ПочтовыйАдрес КАК ПочтовыйАдрес,
              |    Контрагенты.бон_Телефон КАК Телефон,
              |    НакоплениеБонусовОстаткиИОбороты.БонуснаяКарта,
              |    НакоплениеБонусовОстаткиИОбороты.СуммаКонечныйОстаток,
              |    ВТДатаВ.ДатаПолученияКарты,
              |    ВТДатаПИ.ДатаПоследнегоИспользования
              |ИЗ
              |    Справочник.ИнформационныеКарты КАК ИнформационныеКарты
              |        ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Контрагенты КАК Контрагенты
              |        ПО ИнформационныеКарты.Наименование = Контрагенты.Наименование
              |        ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.НакоплениеБонусов.ОстаткиИОбороты КАК НакоплениеБонусовОстаткиИОбороты
              |        ПО ИнформационныеКарты.Ссылка = НакоплениеБонусовОстаткиИОбороты.БонуснаяКарта
              |        ЛЕВОЕ СОЕДИНЕНИЕ ВТДатаПИ КАК ВТДатаПИ
              |        ПО ИнформационныеКарты.ВладелецКарты = ВТДатаПИ.БонуснаяКарта.ВладелецКарты
              |        ЛЕВОЕ СОЕДИНЕНИЕ ВТДатаВ КАК ВТДатаВ
              |        ПО ИнформационныеКарты.ВладелецКарты = ВТДатаВ.БонуснаяКарта.ВладелецКарты
              |ГДЕ
              |    ИнформационныеКарты.ПометкаУдаления = ЛОЖЬ
              |    И ИнформационныеКарты.ЭтоГруппа = ЛОЖЬ
              |    И Контрагенты.ПометкаУдаления = ЛОЖЬ
              |    И Контрагенты.ЭтоГруппа = ЛОЖЬ
              |    И ИнформационныеКарты.ВидДисконтнойКарты = &ВидДисконтнойКарты
              |    И ИнформационныеКарты.ТипКарты = &ТипКарты"
1 Starhan
 
16.10.12
07:47
T_T

ПО ИнформационныеКарты.Наименование = Контрагенты.Наименование
2 cw014
 
16.10.12
07:49
А одним запросом через МИН(ДатаПолученияКарты) и МАКС(ДатаПолученияКарты) не канает?

О_о
3 LehhaK
 
16.10.12
07:50
(1) Ты будешь плакать и дальше, но это работает;) Картам присваивается наименование контрагента
4 LehhaK
 
16.10.12
07:50
(2) ща гляну
5 rphosts
 
16.10.12
07:53
(3) двже объяснять ничего не буду, замени наименования на ссылки и не пиши больше так!
(2) +1
6 Starhan
 
16.10.12
08:04
(0) если хочешь отладить запрос. Убирай потстепенно соединения с другими таблицами и условия. И смотри что в результате. Как будет не NULL так поймешь где ошибка.

Это быстрее чем над ним будут медитировать мистовчане
7 LehhaK
 
16.10.12
08:11
(5) мопед не мой(с)
(6) к сведению принял
Оптимист верит, что мы живем в лучшем из миров. Пессимист боится, что так оно и есть.