Имя: Пароль:
1C
 
условие в запросе к регистру накопления
0 fdgd98
 
11.12.14
14:37
собственно, как добавить условие или как сделать чтоб запрос выводил те данные, где количестворасход>0 ?


ТекстЗапроса =  "ВЫБРАТЬ
                    |    ЭлементарнаяЕдиницаНаСкладОбороты.Склады,
                    |    ЭлементарнаяЕдиницаНаСкладОбороты.Наименование,
                    |    ЭлементарнаяЕдиницаНаСкладОбороты.ЕдИзмерения,
                    |    ЭлементарнаяЕдиницаНаСкладОбороты.СпециальноеНаименование,
                    |    ЭлементарнаяЕдиницаНаСкладОбороты.КоличествоОборот,
                    |    ЭлементарнаяЕдиницаНаСкладОбороты.КоличествоПриход,
                    |    ЭлементарнаяЕдиницаНаСкладОбороты.КоличествоРасход
                    |ИЗ
                    |    РегистрНакопления.ЭлементарнаяЕдиницаНаСклад.Обороты(&ДатаНач, &ДатаКон, Период, Наименование = &Наименование) КАК ЭлементарнаяЕдиницаНаСкладОбороты";
    
    
    Возврат ТекстЗапроса;
1 fdgd98
 
11.12.14
14:39
ТекстЗапроса =  "ВЫБРАТЬ
                    |    ЭлементарнаяЕдиницаНаСкладОбороты.Склады,
                    |    ЭлементарнаяЕдиницаНаСкладОбороты.Наименование,
                    |    ЭлементарнаяЕдиницаНаСкладОбороты.ЕдИзмерения,
                    |    ЭлементарнаяЕдиницаНаСкладОбороты.СпециальноеНаименование,
                    |    ЭлементарнаяЕдиницаНаСкладОбороты.КоличествоОборот,
                    |    ЭлементарнаяЕдиницаНаСкладОбороты.КоличествоПриход,
                    |    ЭлементарнаяЕдиницаНаСкладОбороты.КоличествоРасход
                    |ИЗ
                    |    РегистрНакопления.ЭлементарнаяЕдиницаНаСклад.Обороты(&ДатаНач, &ДатаКон, Период, Наименование = &Наименование) КАК ЭлементарнаяЕдиницаНаСкладОбороты
                    |ГДЕ
                    |    ЭлементарнаяЕдиницаНаСкладОбороты.КоличествоРасход > 0";
2 fdgd98
 
11.12.14
14:40
не прокатывает(((
3 vicof
 
11.12.14
14:42
Ставлю на косячное &Наименование.
Ну и предчувствую Наименование - Строка, и измерение
4 fdgd98
 
11.12.14
14:44
(3) наименование справочник ссылка и измерение
5 vicof
 
11.12.14
14:45
(4) В консоли отрабатывает?
6 fdgd98
 
11.12.14
14:46
(5) отрабатывает. мне надо чтоб он отбрасывал данные где количестворасход  = 0
7 fdgd98
 
11.12.14
14:47
получать данные из запроса только те у кого количестворасход>0
8 Адский плющ
 
11.12.14
14:48
Тут нужно хорошо понимать, что количестворасход разное в засисимости от состава вытащенных в запрос измерений.
9 GreatOne
 
11.12.14
14:48
(6) как именно отрабатывает?)
10 13_Mult
 
11.12.14
14:49
Может просто по ВидДвиженияНакопления.Расход отобрать
11 fdgd98
 
11.12.14
14:50
(10) это как условие добавить?
12 fdgd98
 
11.12.14
14:54
(8) можно подробнее
13 13_Mult
 
11.12.14
14:55
14 vicof
 
11.12.14
14:56
ВЫБРАТЬ
                    |    ЭлементарнаяЕдиницаНаСкладОбороты.Склады,
                    |    ЭлементарнаяЕдиницаНаСкладОбороты.Наименование,
                    |    ЭлементарнаяЕдиницаНаСкладОбороты.ЕдИзмерения,
                    |    ЭлементарнаяЕдиницаНаСкладОбороты.СпециальноеНаименование,
                    |    ЭлементарнаяЕдиницаНаСкладОбороты.КоличествоОборот,
                    |    ЭлементарнаяЕдиницаНаСкладОбороты.КоличествоПриход,
                    |    ЭлементарнаяЕдиницаНаСкладОбороты.КоличествоРасход
                    |ИЗ
                    |    РегистрНакопления.ЭлементарнаяЕдиницаНаСклад КАК ЭлементарнаяЕдиницаНаСкладОбороты
ГДЕ Период МЕЖДУ &ДатаНач И &ДатаКон
И Наименование = &Наименование)
И ЭлементарнаяЕдиницаНаСкладОбороты.КоличествоРасход > 0
15 vicof
 
11.12.14
14:59
(14)ЭлементарнаяЕдиницаНаСкладОбороты.КоличествоОборот,
                    |    ЭлементарнаяЕдиницаНаСкладОбороты.КоличествоПриход,
                    |    ЭлементарнаяЕдиницаНаСкладОбороты.КоличествоРасход

заменить на

ЭлементарнаяЕдиницаНаСкладОбороты.Количество
16 fdgd98
 
11.12.14
15:00
(15) что со скобками проблемы..
17 vicof
 
11.12.14
15:01
(16) ну убери скобку. Я ж тебе онлайн все переписываю
18 fdgd98
 
11.12.14
15:06
(17)     ТекстЗапроса =  "ВЫБРАТЬ
                    |    ЭлементарнаяЕдиницаНаСкладОбороты.Склады,
                    |    ЭлементарнаяЕдиницаНаСкладОбороты.Наименование,
                    |    ЭлементарнаяЕдиницаНаСкладОбороты.ЕдИзмерения,
                    |    ЭлементарнаяЕдиницаНаСкладОбороты.СпециальноеНаименование,
                    |   ЭлементарнаяЕдиницаНаСкладОбороты.Количество
                    |ИЗ
                    |    РегистрНакопления.ЭлементарнаяЕдиницаНаСклад КАК ЭлементарнаяЕдиницаНаСкладОбороты
                    |ГДЕ Период МЕЖДУ &ДатаНач И &ДатаКон И Наименование = &Наименование
                    |И ЭлементарнаяЕдиницаНаСкладОбороты.Количество > 0";


в отчете он вывел приходы))) мне наоборот надо сколько израсходованно
19 vicof
 
11.12.14
15:09
ГДЕ ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход)
20 fdgd98
 
11.12.14
15:12
(19) спасибо!))
21 fdgd98
 
11.12.14
15:14
может кому понадобится




"ВЫБРАТЬ
                    |    ЭлементарнаяЕдиницаНаСкладОбороты.Склады,
                    |    ЭлементарнаяЕдиницаНаСкладОбороты.Наименование,
                    |    ЭлементарнаяЕдиницаНаСкладОбороты.ЕдИзмерения,
                    |    ЭлементарнаяЕдиницаНаСкладОбороты.СпециальноеНаименование,
                    |   ЭлементарнаяЕдиницаНаСкладОбороты.Количество
                    |ИЗ
                    |    РегистрНакопления.ЭлементарнаяЕдиницаНаСклад КАК ЭлементарнаяЕдиницаНаСкладОбороты
                    |ГДЕ Период МЕЖДУ &ДатаНач И &ДатаКон И Наименование = &Наименование
                    |И ЭлементарнаяЕдиницаНаСкладОбороты.Количество > 0 И ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход)";
22 vicof
 
11.12.14
15:17
(21) Это был простой пример для понимания, а теперь переделай его на таблицу оборотов.
23 fdgd98
 
11.12.14
15:21
(22) это имеете ввиду?


Виртуальная таблица оборотов в своей работе может использовать как таблицу итогов, так и таблицу движений. Зависит это от заданного периода и периодичности. Если периодичность задана, и она меньше месяца, то используется только таблица движений. Если периодичность не задана или задана большей или равной месяцу, то использование таблицы итогов или движений зависит от заданного периода. Если в заданный период попадают целые месяцы, то данные за них считаются по таблице итогов, остальное считается по таблице движений. Например считаются данные с периодичностью месяц за периоды:
1. с 01.03.2004 по 31.03.2004
2. с 02.03.2004 по 03.05.2004
3. с 02.03.2004 по 03.04.2004

В первом случае все данные будут посчитаны по таблице итогов. Во втором случае данные за период с 01.04.2004 по 30.04.2004 включительно будут посчитаны по таблице итогов, а за периоды с 02.03.2004 по 31.03.2004 включительно и с 01.05.2004 по 03.05.2004 включительно будут посчитаны по таблице движений. В третьем случае данные за весь указанный период будут посчитаны по таблице движений.
24 vicof
 
11.12.14
15:22
да
25 fdgd98
 
11.12.14
15:23
(24) *опа на первый взгляд(((
26 fdgd98
 
11.12.14
15:24
(24) что хорошо у меня заданный период равен 1 месяцу т.е. с 1 по 31 марта допустим
27 fdgd98
 
11.12.14
15:27
(24) проще говоря запрос опять переделывать ?((
28 vicof
 
11.12.14
15:29
(27) Можешь не переделывать, но работает он медленней, чем получение данных из таблицы оборотов.
29 fdgd98
 
11.12.14
15:31
(28) а не подскажите с такой ситуацией как быть?

допустим сегодня вчера я израсходовал 1 шт изделия, сегодня 2 шт этого же изделия, в отчете надо получить сумму этих штук..как это можно сделать? а то в отчете н красиво выводиться по строкам вчера 1 шт потратил сегодня 2 шт...
30 fdgd98
 
11.12.14
15:38
|   СУММА(ЭлементарнаяЕдиницаНаСкладОбороты.Количество) КАК Количество
31 vicof
 
11.12.14
15:39
(30) сначала прочитать книжки по запросам, потом по группировкам в отчетах.
Я без понятия, что у тебя за отчет.
32 fdgd98
 
11.12.14
15:41
(31) отчет, который при выборе номенклатуры из справочника за определенный период(например с 1 по 31 марта) получает сумму израсходованного количества
33 fdgd98
 
11.12.14
15:52
(31) почитал, наваял че то


"ВЫБРАТЬ
                    |    ЭлементарнаяЕдиницаНаСкладОбороты.Склады,
                    |    ЭлементарнаяЕдиницаНаСкладОбороты.Наименование,
                    |    ЭлементарнаяЕдиницаНаСкладОбороты.ЕдИзмерения,
                    |    ЭлементарнаяЕдиницаНаСкладОбороты.СпециальноеНаименование,
                    |    СУММА(ЭлементарнаяЕдиницаНаСкладОбороты.Количество) КАК Количество
                    |ИЗ
                    |    РегистрНакопления.ЭлементарнаяЕдиницаНаСклад КАК ЭлементарнаяЕдиницаНаСкладОбороты
                    |ГДЕ
                    |    ЭлементарнаяЕдиницаНаСкладОбороты.Период МЕЖДУ &ДатаНач И &ДатаКон
                    |    И ЭлементарнаяЕдиницаНаСкладОбороты.Наименование = &Наименование
                    |    И ЭлементарнаяЕдиницаНаСкладОбороты.Количество > 0
                    |    И ЭлементарнаяЕдиницаНаСкладОбороты.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход)
                    |
                    |СГРУППИРОВАТЬ ПО
                    |    ЭлементарнаяЕдиницаНаСкладОбороты.Наименование,
                    |    ЭлементарнаяЕдиницаНаСкладОбороты.Склады,
                    |    ЭлементарнаяЕдиницаНаСкладОбороты.ЕдИзмерения,
                    |    ЭлементарнаяЕдиницаНаСкладОбороты.СпециальноеНаименование";
34 vicof
 
11.12.14
15:53
Ну допустим. На первое время пойдет.
35 fdgd98
 
11.12.14
15:54
(34) почему только на первое?)
36 vicof
 
11.12.14
15:59
(35) см (28)
37 fdgd98
 
11.12.14
16:02
(36) а как по шустрее сделать, оптимизировать?
38 vicof
 
11.12.14
16:07
(37) ты уже забыл, что мы полтемы обсуждаем?
AdBlock убивает бесплатный контент. 1Сергей