Имя: Пароль:
1C
1С v8
Вопрос по запросу
0 seraf
 
16.04.13
17:08
Привет, подскажите, есть оборотный рег. накопления, в нем идут записи по номенклатуре - передача между сотр.

нужно выбрать различные последние записи

ВЫБРАТЬ РАЗЛИЧНЫЕ по какому принципу отберет, первые найденные?
понимаю что лучше бы был рег.свед. периодический

а отсюда как правильней?
1 Fish
 
16.04.13
17:11
"С помощью ключевого слова РАЗЛИЧНЫЕ можно указать, что в результат не должны попадать повторяющиеся строки."
2 seraf
 
16.04.13
17:17
(1) да понятно, а с какого конца списка строки будут считаться повторяющимися
3 azernot
 
16.04.13
17:24
(2) С любого :) Если у них разный период - строки не повторяющиеся.
4 rutony
 
16.04.13
17:24
(2) здесь нет никаких концов, выборка будет из уникальных комбинаций из всех полей выборки
5 Alex Cheerful
 
16.04.13
17:26
(1)Выборка будет уникальной по тем полям которые указаны в тексте запроса.
6 seraf
 
16.04.13
17:27
ага, верно.. в общем выход, если датами, перебирать тз с выборкой с конца видимо
7 azernot
 
16.04.13
17:38
ВЫБРАТЬ
   УчетПродаж.Номенклатура,
   УчетПродаж.СотрудникОтправитель,
   УчетПродаж.СотрудникПолучатель,
   УчетПродаж.Период,
   УчетПродаж.Количество
ПОМЕСТИТЬ ВсеЗаписи
ИЗ
   РегистрНакопления.УчетПродаж КАК УчетПродаж
;

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


Вот чисто абстрактный пример, выборки последних записей для всех уникальных связок Номенклатура, СотрудникОтправитель, СотрудникПолучатель.
Здесь можно обсудить любую тему при этом оставаясь на форуме для 1Сников, который нужен для работы. Ymryn