Имя: Пароль:
1C
1С v8
Как не выводить строки без движения?
0 ogion83
 
11.05.17
09:03
Отчет в СКД по остаткам и оборотам (из 3 объединенных запросов: два на нач и кон остаток и обороты, чтобы можно было добавить группировку по документам).
Как бы сделать чтобы не выводились строки, где не было ни прихода, ни расхода?
1 Морозов Александр
 
11.05.17
09:13
Сто пудов можно проверить на 0...
2 sFAQer
 
11.05.17
09:19
(0) А ты не объединяй, а соединяй таблицы остатков к таблице оборотов
3 DrShad
 
11.05.17
09:19
сделать все одним запросом
4 ogion83
 
11.05.17
09:20
(1) Делал условие в запросе по оборотам. Не влияет.
ГДЕ
    (ГотоваяПродукцияОбороты.КоличествоПриход <> &Нолик
            ИЛИ ГотоваяПродукцияОбороты.КоличествоРасход <> &Нолик)
5 Одинесю
 
11.05.17
09:20
(2) Только таблицей оборотов с таблицей остатков.
6 ogion83
 
11.05.17
09:21
(3) Так если делать, то с детализацией по документам облом, остатки не те показывает. Вот и нашел как тремя запросами сварганить.
7 sFAQer
 
11.05.17
09:22
(6) Что за регистр?
8 Ёпрст
 
11.05.17
09:22
(4)
И
9 sFAQer
 
11.05.17
09:23
(6) Чем таблица остатков и оборотов с периодичностью "Регистратор" не устроила?
10 Ёпрст
 
11.05.17
09:27
Ну и если там есть группировка, то делать условие на Имеющие
11 ogion83
 
11.05.17
09:28
(9) Такого варианта не попадалось. Попробую. А то заметил, что нач и кон остаток сейчас одинаковый выдает, не смотря на движения зараза.
12 sFAQer
 
11.05.17
09:29
(10) В виртуальной таблице "Обороты" из коробки нет нулевых оборотов, ты вообще о чём тут задвигаешь?
13 sFAQer
 
11.05.17
09:30
(11) Потому что он остатки получил из твоих запросов на определённую дату. С какой бы стати что-то менялось?)
14 Ёпрст
 
11.05.17
09:30
(12) Мне как-то пох
15 h-sp
 
11.05.17
09:31
(11) так остатки и должны быть не те. ЕСли обороты 0, а остаток есть в этой строчке, вы же его удаляете.
16 ogion83
 
11.05.17
09:40
(13) Остатки на разные даты:
Запрос1
РегистрНакопления.ГотоваяПродукция.Остатки(&НачПериода, ) КАК ГотоваяПродукцияОстатки
Запрос2
РегистрНакопления.ГотоваяПродукция.Остатки(&КонПериода, ) КАК ГотоваяПродукцияОстаткиКон
17 sFAQer
 
11.05.17
09:41
(16) Надо в целом схему смотреть что бы понять, но правильно взять таблицу остатков и оборотов, и удалить вот этот весь бред.
18 ogion83
 
11.05.17
09:41
(15) Кон. остаток не меняется хотя например был приход.
19 ogion83
 
11.05.17
09:42
20 sFAQer
 
11.05.17
09:46
(19) По примеру дичь написана, и проблемы "Казалось бы эта проблема решается использованием таблицы ОстаткиИОбороты, которая позволяет нам использовать регистратор в запросе. Но при таком методе написания запроса начальные и конечные остатки не рассчитаются верно"
21 sFAQer
 
11.05.17
09:47
+ к (20) и проблемы не существует, всё в платформе уже учетено, просто возьми таблицу остатков и оборотов за период и выведи в отчёт
22 sFAQer
 
11.05.17
09:48
23 ogion83
 
11.05.17
09:49
(21) Ок, есть рабочий вариант:
ВЫБРАТЬ
    ГотоваяПродукцияОстаткиИОбороты.Регистратор,
    ГотоваяПродукцияОстаткиИОбороты.МПЗ,
    ГотоваяПродукцияОстаткиИОбороты.МестоХранения,
    ГотоваяПродукцияОстаткиИОбороты.НомерПлавки,
    ГотоваяПродукцияОстаткиИОбороты.КоличествоНачальныйОстаток,
    ГотоваяПродукцияОстаткиИОбороты.КоличествоКонечныйОстаток,
    ГотоваяПродукцияОстаткиИОбороты.КоличествоПриход,
    ГотоваяПродукцияОстаткиИОбороты.КоличествоРасход,
    ГотоваяПродукцияОстаткиИОбороты.КоличествоЧушекНачальныйОстаток,
    ГотоваяПродукцияОстаткиИОбороты.КоличествоЧушекКонечныйОстаток,
    ГотоваяПродукцияОстаткиИОбороты.КоличествоЧушекПриход,
    ГотоваяПродукцияОстаткиИОбороты.КоличествоЧушекРасход,
    ГотоваяПродукцияОстаткиИОбороты.СуммаНачальныйОстаток,
    ГотоваяПродукцияОстаткиИОбороты.СуммаКонечныйОстаток,
    ГотоваяПродукцияОстаткиИОбороты.СуммаПриход,
    ГотоваяПродукцияОстаткиИОбороты.СуммаРасход,
    ГотоваяПродукцияОстаткиИОбороты.КодОперации,
    ВЫБОР
        КОГДА ГотоваяПродукцияОстаткиИОбороты.КодОперации = ЗНАЧЕНИЕ(Перечисление.КодыОпераций.ПоступлениеПродукцииСоСтороны)
            ТОГДА ГотоваяПродукцияОстаткиИОбороты.КоличествоПриход
    КОНЕЦ КАК ПоступлениеПродукцииСоСтороны,
    ВЫБОР
        КОГДА ГотоваяПродукцияОстаткиИОбороты.КодОперации = ЗНАЧЕНИЕ(Перечисление.КодыОпераций.ВводОстатков)
                И ГотоваяПродукцияОстаткиИОбороты.КоличествоПриход <> 0
            ТОГДА ГотоваяПродукцияОстаткиИОбороты.КоличествоПриход
    КОНЕЦ КАК ВводОстатковПлюс,
    ВЫБОР
        КОГДА ГотоваяПродукцияОстаткиИОбороты.КодОперации = ЗНАЧЕНИЕ(Перечисление.КодыОпераций.ПоступлениеПродукцииИзПроизводства)
            ТОГДА ГотоваяПродукцияОстаткиИОбороты.КоличествоПриход
    КОНЕЦ КАК ПоступлениеПродукцииИзПроизводства,
    ВЫБОР
        КОГДА ГотоваяПродукцияОстаткиИОбороты.КодОперации = ЗНАЧЕНИЕ(Перечисление.КодыОпераций.ИзменениеМаркиТМЦ)
                И ГотоваяПродукцияОстаткиИОбороты.КоличествоПриход <> 0
            ТОГДА ГотоваяПродукцияОстаткиИОбороты.КоличествоПриход
    КОНЕЦ КАК ИзменениеМаркиТМЦПлюс,
    ВЫБОР
        КОГДА ГотоваяПродукцияОстаткиИОбороты.КодОперации = ЗНАЧЕНИЕ(Перечисление.КодыОпераций.Продажа)
            ТОГДА ГотоваяПродукцияОстаткиИОбороты.КоличествоРасход
    КОНЕЦ КАК Продажа,
    ВЫБОР
        КОГДА ГотоваяПродукцияОстаткиИОбороты.КодОперации = ЗНАЧЕНИЕ(Перечисление.КодыОпераций.ПереводПродукцииВСырье)
            ТОГДА ГотоваяПродукцияОстаткиИОбороты.КоличествоРасход
    КОНЕЦ КАК ПереводПродукцииВСырье,
    ВЫБОР
        КОГДА ГотоваяПродукцияОстаткиИОбороты.КодОперации = ЗНАЧЕНИЕ(Перечисление.КодыОпераций.ИзменениеМаркиТМЦ)
                И ГотоваяПродукцияОстаткиИОбороты.КоличествоРасход <> 0
            ТОГДА ГотоваяПродукцияОстаткиИОбороты.КоличествоРасход
    КОНЕЦ КАК ИзменениеМаркиТМЦМинус,
    ВЫБОР
        КОГДА ГотоваяПродукцияОстаткиИОбороты.КодОперации = ЗНАЧЕНИЕ(Перечисление.КодыОпераций.ВводОстатков)
                И ГотоваяПродукцияОстаткиИОбороты.КоличествоРасход <> 0
            ТОГДА ГотоваяПродукцияОстаткиИОбороты.КоличествоРасход
    КОНЕЦ КАК ВводОстатковМинус,
    ГотоваяПродукцияОстаткиИОбороты.ПериодСекунда
ИЗ
    РегистрНакопления.ГотоваяПродукция.ОстаткиИОбороты(, , Авто, Движения, ) КАК ГотоваяПродукцияОстаткиИОбороты
24 ogion83
 
11.05.17
09:49
Но опять же как убрать строки без движений?
25 ogion83
 
11.05.17
09:51
У меня сделано 2 варианта отчета: 1) просто остатки и пришло/ушло, а 2) добавлены колонки с операциями, что и куда ушло/пришло И вот тут бы убрать строки с глаз где не было движения
26 sFAQer
 
11.05.17
09:51
(25) В скд отбор сделай, и не трогай больше запрос.
27 ogion83
 
11.05.17
09:58
(26) Сделал, но нач остаток не верный показывает.
28 sFAQer
 
11.05.17
09:59
(27) Результирующий или по строкам?
29 ogion83
 
11.05.17
09:59
А вот при условии в запросе всё норм, но придется делать его отдельным запросом
30 ogion83
 
11.05.17
09:59
(28) По строкам
31 ogion83
 
11.05.17
10:01
При чем только начальный, конечный с учетом не верного показывает правильно)
32 sFAQer
 
11.05.17
10:01
(29) Зачем отдельным? Можно условие в {} забрать, и устанавливать их отдельно в скд
Типа
{ГДЕ
    Обороты <> &Ноль}

И если парамерт "Ноль" установлен, то условие срабатывает, если не установлен то не срабатывает
33 sFAQer
 
11.05.17
10:03
(31) Остатки при условии ОстаткиИОбороты просто берустся из регистра, не обращяя внимания на то что у тебя выведено в отчёт. А ещё ты условие не правильно написал там нужно логическое "И" а не "ИЛИ"
34 ogion83
 
11.05.17
10:03
(32) О, попробую
35 sFAQer
 
11.05.17
10:04
(34) Ты лучше отбор правильно в скд сделай, группу И а не группу ИЛИ, т.е приход И расход не равны нулю. А то он у тебя так ещё и обороты неверно показывает...
36 sFAQer
 
11.05.17
10:04
(35) Я наркоман, наооброт...
37 ogion83
 
11.05.17
10:05
(35) Мне же надо чтобы показывал только где есть или расход или приход.
38 ogion83
 
11.05.17
10:07
с И показывает только продукцию где и расход был и приход.
39 sFAQer
 
11.05.17
10:07
(38) Да да да, я же уже исправился в (36)
40 ogion83
 
11.05.17
10:15
(32) Всё получилось благодарствую. А с тем вариантом с 3 запросами меня значит на..бали?)
41 sFAQer
 
11.05.17
10:20
(40) Не, это просто гумнокод от чайника...обычное дело...
42 ogion83
 
11.05.17
10:24
Не интернет нынче, а забор какой то. Не всему приходится верить, что написано)
43 sFAQer
 
11.05.17
10:26
(42) Верить нужно ИТСу, и иногда мисте.
Независимо от того, куда вы едете — это в гору и против ветра!