Гость
Форумы / [игнор отключен] [закрыт для гостей] / РегистрСведений 8.1 / 11 сообщений из 11, страница 1 из 1
03.07.2008, 15:59
    #35409360
РегистрСведений 8.1
Привет всем! Ситуация совсем идиотская, но ее надо решать, помогите!!!!!!!!
Нам прислали базу в которой в одном поле по абонентам 3 показания, причем с разными датами т.е.
Абоненты Кто снимал показания Значения Дата
абонент1 Наемные 10 01.02.03
абонент1 Контролеры 11 02.02.03
абонент1 СпецКор 9 01.02.03
абонент1 Наемные 20 01.03.03
абонент1 Контролеры 21 02.03.03
абонент1 СпецКор 19 01.03.03
абонент2 Наемные 15 01.02.03
абонент2 Контролеры 14 02.02.03
абонент2 СпецКор 16 01.02.03
надо по каждому абоненту взять показания в разрезе "Кто снимал показания", т.е. по каждому абоненту 3 поля "Наемные" "Контролеры" "СпецКор", причем с учетом последней даты.
Срез последних взять не могу потому что возьмет только СпецКор, а остальных отрежет, вот думала может сделать 3 регистра сведений с условиями - в один выбирается только Наемные, в другой Контролеры, в третий СпецКор, а потом взять срез последних по каждому из регистров, а вот как задать такое условие регистру не знаю... Или может быть можно это решить как-то по-другому? Не оставляйте в беде!!! Помогите!!!!!!!!!
...
Рейтинг: 0 / 0
03.07.2008, 16:53
    #35409600
_VVP_
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
РегистрСведений 8.1
1. Вариант с запросом
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
ВЫБРАТЬ
  РС.Абоненты,
  РС.<Кто снимал показания> КАК Контроллеры,
  РС.Значения
ИЗ <Нам прислали базу в которой в одном поле по абонентам  3  показания> КАК РС
  СОЕДИНЕНИЕ (
    ВЫБРАТЬ
      РС1.Абоненты, РС1.<Кто снимал показания> КАК Контроллеры,
      МАКСИМУМ(РС1.Дата) КАК Дата
    ИЗ <Нам прислали базу в которой в одном поле по абонентам  3  показания> КАК РС1
    СГРУППИРОВАТЬ ПО РС1.Абоненты, РС1.<Кто снимал показания>) КАК РС2
  ПО РС.<Кто снимал показания>=РС2.Контроллеры И РС.Абоненты=РС2.Абоненты И РС.Дата=РС2.Дата
На выходе будет таблица из трех колонок (Абоненты, Контроллеры, Значения), в которой будут содержаться значения по абоненту и контролеру на последнюю дату.
2. Реорганизация регистра - сделать его регистром накопления, дата станет типовым параметром
Измерения: Абоненты, Контроллеры
Ресурсы: Значения
Тогда будет работать "срез последних" по измерениям.
...
Рейтинг: 0 / 0
03.07.2008, 16:58
    #35409616
РегистрСведений 8.1
_VVP_1. Вариант с запросом
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
ВЫБРАТЬ
  РС.Абоненты,
  РС.<Кто снимал показания> КАК Контроллеры,
  РС.Значения
ИЗ <Нам прислали базу в которой в одном поле по абонентам  3  показания> КАК РС
  СОЕДИНЕНИЕ (
    ВЫБРАТЬ
      РС1.Абоненты, РС1.<Кто снимал показания> КАК Контроллеры,
      МАКСИМУМ(РС1.Дата) КАК Дата
    ИЗ <Нам прислали базу в которой в одном поле по абонентам  3  показания> КАК РС1
    СГРУППИРОВАТЬ ПО РС1.Абоненты, РС1.<Кто снимал показания>) КАК РС2
  ПО РС.<Кто снимал показания>=РС2.Контроллеры И РС.Абоненты=РС2.Абоненты И РС.Дата=РС2.Дата
На выходе будет таблица из трех колонок (Абоненты, Контроллеры, Значения), в которой будут содержаться значения по абоненту и контролеру на последнюю дату.
2. Реорганизация регистра - сделать его регистром накопления, дата станет типовым параметром
Измерения: Абоненты, Контроллеры
Ресурсы: Значения
Тогда будет работать "срез последних" по измерениям.
Спасибо ВАМ огромное!!!!!! Приогромное!!!!!!!
...
Рейтинг: 0 / 0
08.07.2008, 20:08
    #35418770
Роман Р
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
РегистрСведений 8.1
Наверноу сюда можно задать вопрос по этой же теме!
Есть регист сведений (переодический) "Оплаченные документы" с одним ресурсом "количество", туда заносятся данные по оплаченным документам, как мне запросом узнать средную скорость оплаты документов скажем в один час?
...
Рейтинг: 0 / 0
09.07.2008, 14:40
    #35420526
_VVP_
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
РегистрСведений 8.1
Роман РЕсть регист сведений (переодический) "Оплаченные документы" с одним ресурсом "количество", туда заносятся данные по оплаченным документам, как мне запросом узнать средную скорость оплаты документов скажем в один час?
Предполагается следующая структура регистра:
Периодичность - (секунда) / нужно для почасовых измерений /
Измерения - (ТипДокумента) / для примера /
Ресурсы - (Количество) / из ваших требований /
Запрос:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
ВЫБРАТЬ
	Час(ЧС.Период) КАК ПочасовойПериод,
	ЧС.ТипДокумента,
	Среднее(ЧС.Количество) КАК Количество
ИЗ
	РегистрСведений.ОплаченныеДокументы КАК ЧС
СГРУППИРОВАТЬ ПО
	Час(ЧС.Период),
	ЧС.ТипДокумента
...
Рейтинг: 0 / 0
09.07.2008, 15:20
    #35420675
Роман Р
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
РегистрСведений 8.1
Да вроде то! Спасибо! А как быть если другой период, например не час, а по 10 минут?
...
Рейтинг: 0 / 0
09.07.2008, 15:33
    #35420737
_VVP_
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
РегистрСведений 8.1
Роман РДа вроде то! Спасибо! А как быть если другой период, например не час, а по 10 минут?
Посмотреть секцию "Встроенные функции языка запросов" справки в конфигураторе.
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
09.01.2014, 10:47
    #38520235
ilya80let
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
РегистрСведений 8.1
Пытаюсь повторить запрос из 2 поста:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
ВЫБРАТЬ
	ЦеныНоменклатурыПервые.Номенклатура КАК Номенклатура,
	ЦеныНоменклатурыПервые.Дата КАК Дата,
	ЦеныНоменклатурыПервые.Цена КАК Цена
ИЗ
	РегистрСведений.ЦеныНоменклатурыПервые КАК ЦеныНоменклатурыПервые
		ВНУТРЕННЕЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
			ЦеныНоменклатурыПервые.Номенклатура КАК Номенклатура,
			МИНИМУМ(ЦеныНоменклатурыПервые.Дата) КАК Дата,
			ЦеныНоменклатурыПервые.Цена КАК Цена
		ИЗ
			РегистрСведений.ЦеныНоменклатурыПервые КАК ЦеныНоменклатурыПервые
		
		СГРУППИРОВАТЬ ПО
			ЦеныНоменклатурыПервые.Номенклатура,
			ЦеныНоменклатурыПервые.Цена) КАК ВложенныйЗапрос
		ПО ЦеныНоменклатурыПервые.Номенклатура = ВложенныйЗапрос.Номенклатура
			И ЦеныНоменклатурыПервые.Дата = ВложенныйЗапрос.Дата


Регистр сведений независисимый, непериодический. Измерения: Номенклатура, Дата. Ресурс - Цена. Задача - получить цену на самую раннюю дату. Проблема - выдает все записи без отбора.
...
Рейтинг: 0 / 0
09.01.2014, 13:05
    #38520377
Программист 1с
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
РегистрСведений 8.1
А зачем в вложенном запросе цена? И причем нет группировке по ней.
...
Рейтинг: 0 / 0
09.01.2014, 13:06
    #38520380
Программист 1с
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
РегистрСведений 8.1
нет группировки - проехали - имел ввиду дату.
...
Рейтинг: 0 / 0
09.01.2014, 13:39
    #38520414
ilya80let
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
РегистрСведений 8.1
Программист 1с,

Ах тыж. И правда, вот оно. Спасибо
...
Рейтинг: 0 / 0
Форумы / [игнор отключен] [закрыт для гостей] / РегистрСведений 8.1 / 11 сообщений из 11, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]