Имя: Пароль:
1C
1С v8
срез последних в запросе
0 Erhov_egor
 
30.05.12
10:46
3 ресурса в регистре сведений,3 ресурс может меняться,вопрос:как не учитывать 3 ресурс?
1 Erhov_egor
 
30.05.12
10:46
запрос нужен только по 2
2 Erhov_egor
 
30.05.12
10:46
|        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ПоказанияПриборовУчета.СрезПоследних КАК ПоказанияПриборовУчетаСрезПоследних
       |        ПО (ПоказанияПриборовУчетаСрезПоследних.Контрагент = ПриборыУчета.Владелец.Владелец)
       |            И ПоказанияПриборовУчетаСрезПоследних.ПриборУчета = ПриборыУчета.Ссылка
3 Ненавижу 1С
 
гуру
30.05.12
10:47
просто не учитывай ))
4 asady
 
30.05.12
10:48
(0) ты часом ресурсы с измерениями не путаешь?
5 Erhov_egor
 
30.05.12
10:49
ой измерения
6 Erhov_egor
 
30.05.12
10:49
(3)прописывать надо?
7 Ненавижу 1С
 
гуру
30.05.12
10:50
(6) измерения это совсем другое дело ))
8 Erhov_egor
 
30.05.12
10:51
в (2)только и прописываю по контрагенту и по прибору учета, а вид расчета не пишу
9 Erhov_egor
 
30.05.12
10:52
полностью запрос показать?
10 Ненавижу 1С
 
гуру
30.05.12
10:53
надо подумать как же все таки делается срез последних самим движком и повторить его
11 Erhov_egor
 
30.05.12
11:02
не подскажите еще, левое соединение для чего применяют?
12 chelentano
 
30.05.12
11:03
(11) для соединения с левой таблицей
13 Erhov_egor
 
30.05.12
11:09
Запрос = Новый Запрос;
       Запрос.Текст =
       "ВЫБРАТЬ
       |    ПриборыУчета.Владелец.Владелец КАК Контрагент,
       |    ПриборыУчета.Владелец.Владелец.код КАК Номер,
       |    ПриборыУчета.Владелец КАК ОбъектВодопотребления,
       |    ПриборыУчета.Ссылка КАК Водомер,
       |   ПриборыУчета.ВидРасчета КАК ВидРасчета,
       |    ЕСТЬNULL(ПоказанияПриборовУчетаСрезПоследних.Показание, 0) КАК Показание,
       |    ПоказанияПриборовУчетаСрезПоследних.Период КАК Период,
       |    ЕСТЬNULL(ПоказанияПриборовУчетаСрезПоследних.Потребление, 0) КАК Потребление
       |ИЗ
       |    Справочник.ПриборыУчета КАК ПриборыУчета
       |        Внутреннее СОЕДИНЕНИЕ РегистрСведений.ПоказанияПриборовУчета.СрезПоследних КАК ПоказанияПриборовУчетаСрезПоследних
       |        ПО (ПоказанияПриборовУчетаСрезПоследних.Контрагент = ПриборыУчета.Владелец.Владелец)
       |            И ПоказанияПриборовУчетаСрезПоследних.ПриборУчета = ПриборыУчета.Ссылка        
       |УПОРЯДОЧИТЬ ПО
       |    ПриборыУчета.Владелец.Владелец.Код,
       |    ПриборыУчета.Владелец.Владелец,
       |    ПриборыУчета.Владелец.Ссылка,
       |    ПриборыУчета.Владелец.НаселенныйПункт.Код,
       |    ПриборыУчета.Владелец.Улица.Код,
       |    ПриборыУчета.Владелец.Дом,
       |    ПриборыУчета.Владелец.Корпус,
       |    ПриборыУчета.Владелец.Квартира";
       
       Запрос.УстановитьПараметр("ПериодОтбора",    Документ.Дата);     //Дата
14 Erhov_egor
 
30.05.12
11:09
(12)не подскажешь как в запросе не учитывать 3 измерение
15 mkanaev
 
30.05.12
11:13
что непонятного.... соединит с последнеми введенными данными в разрезе контрагента и прибораУчета, задвоение записей справа не будет если не будешь брать поле 3-го измерения, если будешь тогда будет задвоение, справа будут все последии записи в разрезе измерения 3
16 EasyRider
 
30.05.12
11:20
(15)хе.срезПоследних - это срез по всем измерениям одновременно.Берешь их все или не все - выведет срез по всем
17 Erhov_egor
 
30.05.12
11:26
(16)что тогда использовать заместо среза последних
18 asady
 
30.05.12
11:27
(17) юзай саму таблицу регистра и делай собственный срез последних - там делов то немного
19 Бубр
 
30.05.12
11:30
20 Бубр
 
30.05.12
11:35
(19) не сори немного не то
21 Erhov_egor
 
30.05.12
11:40
(18)только че то как не понятно
22 Erhov_egor
 
30.05.12
11:48
(19)не то?
23 EasyRider
 
30.05.12
11:49
(21)из основной таблицы делай Максимум(Период) с группировкой по измерениям,а потом соединение с основной таблицей по периоду и измерениям с выбором нужных ресурсов.
24 Erhov_egor
 
30.05.12
11:52
как в (19)?
25 EasyRider
 
30.05.12
11:53
да
26 Erhov_egor
 
30.05.12
13:27
мужики че то не взлетает
       
       "ВЫБРАТЬ
       |    ПриборыУчета.Владелец.Владелец КАК Контрагент,
       |    ПриборыУчета.Владелец.Владелец.Код КАК Номер,
       |    ПриборыУчета.Владелец КАК ОбъектВодопотребления,
       |    ПриборыУчета.Ссылка КАК Водомер,
       |    ПриборыУчета.ВидРасчета КАК ВидРасчета,
       |    ЕСТЬNULL(ПоказанияПриборовУчетаСрезПоследних.Показание, 0) КАК Показание,
       |    ЕСТЬNULL(ПоказанияПриборовУчетаСрезПоследних.Потребление, 0) КАК Потребление
       |ИЗ
       |(ВЫБРАТЬ
       |    МАКСИМУМ(ПоказанияПриборовУчетаСрезПоследних.Период) КАК Период,
       |    ПоказанияПриборовУчетаСрезПоследних.Контрагент = Контрагент
       |ИЗ
       |         РегистрСведений.ПоказанияПриборовУчета.СрезПоследних(ТекущаяДата()) КАК ПоказанияПриборовУчетаСрезПоследних
       | СГРУППИРОВАТЬ ПО
       |    Справочник.ПриборыУчета) КАК ПриборыУчета
       |         ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ПоказанияПриборовУчета.СрезПоследних(ТекущаяДата()) КАК ПоказанияПриборовУчетаСрезПоследних
       |        ПО (ПоказанияПриборовУчетаСрезПоследних.Контрагент = ПриборыУчета.Владелец.Владелец)
       |            И (ПоказанияПриборовУчетаСрезПоследних.ПриборУчета = ПриборыУчета.Ссылка)
       |            И (ПриборыУчета.ВидРасчета = ПоказанияПриборовУчетаСрезПоследних.ВидРасчета)";
27 EasyRider
 
30.05.12
14:16
(26) с основной таблицей делай.зачем срез опять?на вот пример:

ВЫБРАТЬ
   МАКСИМУМ(ОтветственныеЛицаОрганизаций.Период) КАК Период,
   ОтветственныеЛицаОрганизаций.СтруктурнаяЕдиница
ПОМЕСТИТЬ ВТ
ИЗ
   РегистрСведений.ОтветственныеЛицаОрганизаций КАК ОтветственныеЛицаОрганизаций

СГРУППИРОВАТЬ ПО
   ОтветственныеЛицаОрганизаций.СтруктурнаяЕдиница
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
   ОтветственныеЛицаОрганизаций.СтруктурнаяЕдиница,
   ОтветственныеЛицаОрганизаций.Должность
ИЗ
   РегистрСведений.ОтветственныеЛицаОрганизаций КАК ОтветственныеЛицаОрганизаций
       ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТ КАК ВТ
       ПО ОтветственныеЛицаОрганизаций.Период = ВТ.Период
           И ОтветственныеЛицаОрганизаций.СтруктурнаяЕдиница = ВТ.СтруктурнаяЕдиница

Это будет срез последних только по измерению СтруктурнаяЕдиница,без измерения ОтветственноеЛицо
28 Erhov_egor
 
30.05.12
14:45
а ПОМЕСТИТЬ ВТ это что?
29 Erhov_egor
 
30.05.12
14:46
внутренняя таблица?
30 Fenix102
 
30.05.12
16:24
че то не пойму синтаксис,ошибка вылазиет
       "ВЫБРАТЬ
       |    МАКСИМУМ(ПоказанияПриборовУчета.Период) КАК Период,
       |    ПоказанияПриборовУчета.Контрагент
       |ПОМЕСТИТЬ ВТ
       |ИЗ
       |    РегистрСведений.ПоказанияПриборовУчета КАК ПоказанияПриборовУчета
       |
       |СГРУППИРОВАТЬ ПО
       |    ПоказанияПриборовУчета.Контрагент
       
       "ВЫБРАТЬ
       |    ПоказанияПриборовУчета.Контрагент,
       |    ПоказанияПриборовУчета.ПриборУчета
       |ИЗ
       |    РегистрСведений.ПоказанияПриборовУчета КАК ПоказанияПриборовУчета
       |        ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТ КАК ВТ
       |        ПО ПоказанияПриборовУчета.Период = ВТ.Период
       |            И ПоказанияПриборовУчета.Контрагент = ВТ.Контрагент";
31 nerkadry
 
30.05.12
17:02
точку с запятой перед вторым выбрать
32 Fenix102
 
30.05.12
22:03
Неопознанный оператор
<<?>>"ВЫБРАТЬ
33 Erhov_egor
 
31.05.12
06:29
взлетело,только по другому через дату регистратора
Глупец, лишенный способности посмеяться над собой вместе с другими, не сможет долго выносить программирование. Фредерик Брукс-младший