Имя: Пароль:
1C
1С v8
Если в запросе выходит результат "-"
,
0 Kamich
 
26.04.13
16:42
Добрый день.

В запросе имеется строка:

|    ЕСТЬNULL(ОстаткиМатериаловОстаткиИОбороты.КоличествоРасход, 0) - ЕСТЬNULL(ПодаркиОстаткиИОбороты.КоличествоКонечныйОстаток, 0) КАК Продали

Если результат выходит с минусом("-"),как его можно будет перевести в плюс("+");
1 butterbean
 
26.04.13
16:43
-Продали
2 Волшебник
 
26.04.13
16:43
ВЫБОР КОГДА А < 0 ТОГДА -А ИНАЧЕ А КОНЕЦ
3 Kamich
 
26.04.13
16:46
(2) Я с этим впервой.Могли бы показать куда вписать?,ну или пример...
4 palpetrovich
 
26.04.13
16:47
(0) там точно должен быть КоличествоКонечныйОстаток, а не КоличествоНачальныйОстаток?
5 Kamich
 
26.04.13
16:51
(4)
Ага...
6 palpetrovich
 
26.04.13
16:53
+4 да и вообще хочется надеяться, что хот типы у  ОстаткиМатериалов и Подарки - одинаковые :)
зы: весь запрос в студию
7 Kamich
 
26.04.13
16:53
(2) (4)
Разобрался спасибо.
Сделал вот такой запрос:

    |  ВЫБОР КОГДА (ЕСТЬNULL(ОстаткиМатериаловОстаткиИОбороты.КоличествоПриход,0) - ЕСТЬNULL(ВозвратОстаткиИОбороты.КоличествоКонечныйОстаток,0))<0 ТОГДА
    |    (ЕСТЬNULL(ОстаткиМатериаловОстаткиИОбороты.КоличествоПриход,0) - ЕСТЬNULL(ВозвратОстаткиИОбороты.КоличествоКонечныйОстаток,0))*(-1)
    |  ИНАЧЕ ЕСТЬNULL(ОстаткиМатериаловОстаткиИОбороты.КоличествоПриход,0) - ЕСТЬNULL(ВозвратОстаткиИОбороты.КоличествоКонечныйОстаток,0)
    |  КОНЕЦ КАК ВсегоПриход,
8 В тылу врага
 
26.04.13
16:55
(7) что за бред?
9 palpetrovich
 
26.04.13
16:55
(7) ну тебе виднее, может все и правильно
10 palpetrovich
 
26.04.13
16:56
(8) тебя-ж разбанили вроде?  ;)
11 В тылу врага
 
26.04.13
16:56
(10) а почему не доложили?
12 Лефмихалыч
 
26.04.13
16:57
а что символизирует разность прихода и конечного остатка?
13 Kamich
 
26.04.13
16:58
(8) (2) (10) (12)
Хотел с Вами посоветоваться...
Все ли верно в запросе?

Запрос=Новый Запрос;
    Запрос.Текст=
    "ВЫБРАТЬ
    |    ОстаткиМатериаловОстаткиИОбороты.Наименование,
    |    ПРЕДСТАВЛЕНИЕ(ОстаткиМатериаловОстаткиИОбороты.Наименование),
    |  ВЫБОР КОГДА (ЕСТЬNULL(ОстаткиМатериаловОстаткиИОбороты.КоличествоПриход,0) - ЕСТЬNULL(ВозвратОстаткиИОбороты.КоличествоКонечныйОстаток,0))<0 ТОГДА
    |    (ЕСТЬNULL(ОстаткиМатериаловОстаткиИОбороты.КоличествоПриход,0) - ЕСТЬNULL(ВозвратОстаткиИОбороты.КоличествоКонечныйОстаток,0))*(-1)
    |  ИНАЧЕ ЕСТЬNULL(ОстаткиМатериаловОстаткиИОбороты.КоличествоПриход,0) - ЕСТЬNULL(ВозвратОстаткиИОбороты.КоличествоКонечныйОстаток,0)
    |  КОНЕЦ КАК ВсегоПриход,
    |    ЕСТЬNULL(ОстаткиМатериаловОстаткиИОбороты.КоличествоРасход, 0) - ЕСТЬNULL(ПодаркиОстаткиИОбороты.КоличествоКонечныйОстаток, 0) КАК Продали,
    |    ОстаткиМатериаловОстаткиИОбороты.КоличествоКонечныйОстаток КАК Остаток,
    |    ПродажиОстаткиИОбороты.Наименование КАК Наименование1,
    |    ПродажиОстаткиИОбороты.СтоимостьПриход КАК ВсегоПродалиНаСумму,
    |    ПодаркиОстаткиИОбороты.Наименование КАК Наименование2,
    |    ПодаркиОстаткиИОбороты.КоличествоКонечныйОстаток КАК Подарили,
    |    ОстаткиМатериаловОстаткиИОбороты.КоличествоНачальныйОстаток КАК ОстатокНаНачало,
    |    ВозвратОстаткиИОбороты.Наименование КАК Наименование3,
    |    ВозвратОстаткиИОбороты.КоличествоКонечныйОстаток КАК Возврат
    |ИЗ
    |        РегистрНакопления.ОстаткиМатериалов.ОстаткиИОбороты(&ДатаНачала, &ДатаОкончания, , , ) КАК ОстаткиМатериаловОстаткиИОбороты
    |        ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.Продажи.ОстаткиИОбороты(&ДатаНачала, &ДатаОкончания, , , ) КАК ПродажиОстаткиИОбороты
    |        ПО ОстаткиМатериаловОстаткиИОбороты.Наименование = ПродажиОстаткиИОбороты.Наименование
    |        ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.Подарки.ОстаткиИОбороты(&ДатаНачала, &ДатаОкончания, , , ) КАК ПодаркиОстаткиИОбороты
    |        ПО ОстаткиМатериаловОстаткиИОбороты.Наименование = ПодаркиОстаткиИОбороты.Наименование
    |        ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.Возврат.ОстаткиИОбороты(&ДатаНачала, &ДатаОкончания, , , ) КАК ВозвратОстаткиИОбороты
    |        ПО ОстаткиМатериаловОстаткиИОбороты.Наименование = ВозвратОстаткиИОбороты.Наименование";
   
    Запрос.УстановитьПараметр("ДатаНачала", ДатаНачала);
    Запрос.УстановитьПараметр("ДатаОкончания", ДатаОкончания);

   Результат = Запрос.Выполнить();
   ТаблицаРезультата = Результат.Выгрузить();
   ТабЗнач = ОтчетВсеТовары.Выгрузить();
   ОтчетВсеТовары.Загрузить(ТаблицаРезультата);
14 В тылу врага
 
26.04.13
16:59
(13)  что это вообще?
15 palpetrovich
 
26.04.13
16:59
(11) дык, v8: Пятницотест. XOR на языке 1С 8 последний пост
16 Волшебник
 
26.04.13
17:01
(13) соединения по наименованиям — это плохо. Надо по ссылкам
17 Kamich
 
26.04.13
17:01
(16)  Разница какая?
18 Лефмихалыч
 
26.04.13
17:02
(13)  выкинь его поскорее, он ни куда не годится
19 Лефмихалыч
 
26.04.13
17:03
(17)  в скорости выполнения запроса
20 Kamich
 
26.04.13
17:04
(19)
Понятно) Уже переправил)
Что еще не так?
21 palpetrovich
 
26.04.13
17:05
(13) физический смысл к примеру сего:
(ОстаткиМатериаловОстаткиИОбороты.КоличествоПриход,0) - ЕСТЬNULL(ВозвратОстаткиИОбороты.КоличествоКонечныйОстаток,0)
    |  КОНЕЦ КАК ВсегоПриход,
это Приход без Возвратов?

если да, то почему-бы это не сделать так примерно:
ОстаткиМатериаловОстаткиИОбороты.КоличествоПриход КАК ПРиход
ГДЕ НЕ ОстаткиМатериаловОстаткиИОбороты.Регистратор ссылка Док.Возрат  ?
22 Aprobator
 
26.04.13
17:05
(0) Расход - Остаток = Продали? Прикаольно.
23 Kamich
 
26.04.13
17:08
(21)
Приход с возвратом...
24 palpetrovich
 
26.04.13
17:10
(23) если "Приход с возвратом" - то зачем минус? да и вообще, и приход и возврат - и так попадают в один регистр ...если это не нетлденка конечно ;)
25 Kamich
 
26.04.13
17:10
(22)
этим мы получим то,конкретно продали,за вычетом то что подарили...
26 Kamich
 
26.04.13
17:11
(24)
Самописка)))
27 Aprobator
 
26.04.13
17:14
(25) так там всяко обороты, а не остаток. Нафига регистр накопления подарки было делать тип Остатки? Обороты и все.
ТОгда понятно Расход - Подарки = Продали за деньги.
28 Волшебник
 
26.04.13
17:17
(27)* Расход - Возврат - Подарки = Продали
29 Kamich
 
26.04.13
17:19
(28)
Так мне нужно делать Регистра накопления на Обороты?!
30 Kamich
 
26.04.13
17:26
(28) Значит все в запросе окей.
Всем спасибо))) (1) (2) (6) (11) (16) (19) (27)
31 Aprobator
 
26.04.13
17:40
(29) Подарки - конечно. По аналогии с Продажи в типовой конфе.