Имя: Пароль:
1C
1С v8
Как из РегистрНакопления.ТоварыНаСкладах.ОстаткиИОбороты взять только
,
0 Ivan_495
 
18.10.16
17:09
Как из РегистрНакопления.ТоварыНаСкладах.ОстаткиИОбороты взять только те строки, где вид движения=расход и получить все записи регистра по расходу?
(УТ 11)
1 Ivan_495
 
18.10.16
17:10
пишу РегистрНакопления.ТоварыНаСкладах.ОстаткиИОбороты(&Дт1, &Дт2, Запись, Движения, ) КАК ТоварыНаСкладахОстаткиИОбороты

но вид движения не вижу
2 Ivan_495
 
18.10.16
17:13
или что вязать регистр остатки и обороты с регсистром ТоварыНаСкладах чтобы получить виддвижения?
3 DrShad
 
18.10.16
17:15
вид движения в физической таблице, а нафейхоа все эти танцы?
4 azernot
 
18.10.16
17:16
Выбрать
ВидДвижения
ИЗ
РегистрНакопления.ТоварыНаСкладах
где
Период между &Дт1 и &Дт2
и Активность
5 Лефмихалыч
 
18.10.16
17:17
вид движения ты увидишь в ВЫБРАТЬ и в ГДЕ. В параметрах виртуальной таблицы их не будет.
Но вообще, возвижу, тебе не нужны записи, тебе достточно оборотов.
6 Лефмихалыч
 
18.10.16
17:18
+(5) если в предложении ВЫБРАТЬ перечислить только изренения и КоличествоРасход, то запрос вернет сумму по движениям с видом "Расход", а именно это тебе, судя по предыдущей ветке, и надо.
7 Ivan_495
 
18.10.16
17:23
(7) вообще мне нужно движение между складами
8 Лефмихалыч
 
18.10.16
17:23
(7) что такое "движение между складами"?
9 Ivan_495
 
18.10.16
17:25
для каждой номенклатурной позиции показать ее приход и расход по складам в одной строчке
10 Лефмихалыч
 
18.10.16
17:26
во-первых, используй СКД.
во-вторых, это тривиальный запрос к оборотам без всяких движений. В настройки варианта выведи таблицу, у которой в строках номенклатура, в колонках склады, а в ресурсах - количество
11 Ivan_495
 
18.10.16
17:27
|Приход        |Расход
                Склад1 Склад 2 | Склад 4 Склад 6
Шайба            10     11          555    78
12 Ivan_495
 
18.10.16
17:28
ну и добавить к этой строчке остаток на начало и конец
13 Лефмихалыч
 
18.10.16
17:28
и что означает приведенный тобой пример? 555 - это что? Для начала - оно хотя бы пришло или ушло?
14 Ivan_495
 
18.10.16
17:29
вверху написано приход
15 Ivan_495
 
18.10.16
17:30
Приход - Склад1, Склад 2
Расход Склад4, Склад 6
остальное цифрами количество
16 Лефмихалыч
 
18.10.16
17:30
(14) то есть 555 - это расход. Ок. А с какого из складов? И, - раз это "между складами" - где 555 прихода на другой склад?
17 Лефмихалыч
 
18.10.16
17:31
боже, какая каша...
18 Ivan_495
 
18.10.16
17:31
отчет очень прост, поэтому его и нет в УТ 11
19 Лефмихалыч
 
18.10.16
17:33
Возьми типовой "Ведомость по товарам организаций" и сделай вот так:
https://i.imgur.com/VupzB1f.png

это оно? Если нет, то - чего не хватает?
20 azernot
 
18.10.16
17:41
Это наверное, что-то типа:
Склад1, Склад 2 - зона приёмки и для этих складов нужен только Приход.
Склад4, Склад 6  - зона выдачи, и для этих складов нужен только Расход.


Я бы в любом случае оперировал бы виртуальной таблицей Оборотов или ОстатковИОборотов.
21 Ivan_495
 
18.10.16
17:47
(19) похоже
22 Лефмихалыч
 
18.10.16
17:48
вот тебе и "нет в УТ"...
23 Ivan_495
 
18.10.16
17:48
(19) только склады по приходу и расходу не сгруппированы
24 Ivan_495
 
18.10.16
17:49
а это ключевой момент
25 Лефмихалыч
 
18.10.16
17:49
(23) Что означает "сгруппировать склады по приходу и расходу"?

тебе вот это (20) что ли надо?
26 newbling
 
18.10.16
17:50
Как из РегистрНакопления.ТоварыНаСкладах.ОстаткиИОбороты взять только

Название такое как в рекламе в скайпе.

Чтобы стать непомерно богатым нужно просто
27 Лефмихалыч
 
18.10.16
17:53
(26) ну, автор испытывает определенные трудности в выражении собственных мыслей, да.
28 Ivan_495
 
18.10.16
17:55
да то что в (15) (20)
29 azernot
 
18.10.16
17:57
(28) Как вы намереваетесь определять, для каких складов - только приход, для каких - только расход?
30 Лефмихалыч
 
18.10.16
17:58
(28) тогда этот отчет тебе не подходит.
Надо что-то вроде:

ВЫБРАТЬ
  Номенклатура, Склад, КоличествоПриход, 0 как КОличествоРасход
ИЗ
РегистрНакопления.ТоварыНаСкладах.ОстаткиИОбороты(&Начало, &КОнчало, , Склад в (&СписокПриходныхСкладов))
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
  Номенклатура, Склад, 0, КОличествоРасход как КОличествоРасход
ИЗ
РегистрНакопления.ТоварыНаСкладах.ОстаткиИОбороты(&Начало, &КОнчало, , Склад в (&СписокРасходныхСкладов))
31 Лефмихалыч
 
18.10.16
17:59
(29) найтиПоНаименованию. Я больше, чем уверен.
32 azernot
 
18.10.16
17:59
(30) Зачем? Почему не через Выбор в одном запросе без объединения?
33 Ivan_495
 
18.10.16
18:01
думаю без видадвижения не отобрать
34 azernot
 
18.10.16
18:02
(31) Ща докопаемся до реквизита КодОперации ;)
далее отсечём внутренний оборот и вот тут-то и выясним, что стандартная Ведомость вполне устроит, если отсечь внутренний оборот.
35 azernot
 
18.10.16
18:03
(33) По Склад1 есть движения и Приход и Расход.
Ваши действтия?
36 Ivan_495
 
18.10.16
18:04
вот так
ВЫБРАТЬ
    ТоварыНаСкладахОстаткиИОбороты.Номенклатура,
    ТоварыНаСкладахОстаткиИОбороты.Склад,
    ТоварыНаСкладахОстаткиИОбороты.Регистратор,
    ТоварыНаСкладахОстаткиИОбороты.ВНаличииПриход,
    ТоварыНаСкладахОстаткиИОбороты.ВНаличииРасход,
    ТоварыНаСкладах.ВидДвижения,
    ВЫБОР
        КОГДА ТоварыНаСкладах.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход)
            ТОГДА ТоварыНаСкладах.Склад
        ИНАЧЕ NULL
    КОНЕЦ КАК СкладПриход,
    ВЫБОР
        КОГДА ТоварыНаСкладах.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход)
            ТОГДА ТоварыНаСкладах.Склад
        ИНАЧЕ NULL
    КОНЕЦ КАК СкладРасход
ИЗ
    РегистрНакопления.ТоварыНаСкладах.ОстаткиИОбороты(&Дт1, &Дт2, Запись, Движения, ) КАК ТоварыНаСкладахОстаткиИОбороты
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыНаСкладах КАК ТоварыНаСкладах
        ПО ТоварыНаСкладахОстаткиИОбороты.Регистратор = ТоварыНаСкладах.Регистратор
            И ТоварыНаСкладахОстаткиИОбороты.Номенклатура = ТоварыНаСкладах.Номенклатура
ГДЕ
    ТоварыНаСкладахОстаткиИОбороты.Номенклатура = &Номенклатура
    И ТоварыНаСкладахОстаткиИОбороты.Склад = &Склад
37 azernot
 
18.10.16
18:06
(36) Твоя нетленка, тебе с этим жить.
Я бы за такое убивал.
38 Ivan_495
 
18.10.16
18:07
(37) покажи свое, что так шуметь
39 Ivan_495
 
18.10.16
18:08
(37) был и такой вариант
ВЫБРАТЬ
    ВложенныйЗапрос.Склад КАК Склад,
    ВложенныйЗапрос.Номенклатура КАК Номенклатура,
    ВложенныйЗапрос.ВНаличииНачальныйОстаток КАК ВНаличииНачальныйОстаток,
    ВложенныйЗапрос.Отправитель КАК Отправитель,
    ВложенныйЗапрос.Получатель КАК Получатель,
    ВложенныйЗапрос.Расход КАК Расход,
    ВложенныйЗапрос.Приход КАК Приход,
    ВложенныйЗапрос.ВНаличииКонечныйОстаток КАК ВНаличииКонечныйОстаток
ИЗ
    (ВЫБРАТЬ
        ТоварыНаСкладахОстаткиИОбороты.Номенклатура КАК Номенклатура,
        NULL КАК Отправитель,
        ВЫБОР
            КОГДА ТоварыНаСкладахОстаткиИОбороты.ВНаличииПриход > 0
                ТОГДА ТоварыНаСкладахОстаткиИОбороты.Склад
            ИНАЧЕ NULL
        КОНЕЦ КАК Получатель,
        0 КАК Расход,
        ТоварыНаСкладахОстаткиИОбороты.ВНаличииПриход КАК Приход,
        ТоварыНаСкладахОстаткиИОбороты.Склад КАК Склад,
        ТоварыНаСкладахОстаткиИОбороты.ВНаличииНачальныйОстаток КАК ВНаличииНачальныйОстаток,
        ТоварыНаСкладахОстаткиИОбороты.ВНаличииКонечныйОстаток КАК ВНаличииКонечныйОстаток
    ИЗ
        РегистрНакопления.ТоварыНаСкладах.ОстаткиИОбороты(&Дт1, &Дт2, Запись, , ) КАК ТоварыНаСкладахОстаткиИОбороты
    
    ОБЪЕДИНИТЬ ВСЕ
    
    ВЫБРАТЬ
        ТоварыНаСкладахОстаткиИОбороты.Номенклатура,
        ВЫБОР
            КОГДА ТоварыНаСкладахОстаткиИОбороты.ВНаличииРасход > 0
                ТОГДА ТоварыНаСкладахОстаткиИОбороты.Склад
            ИНАЧЕ NULL
        КОНЕЦ,
        NULL,
        ТоварыНаСкладахОстаткиИОбороты.ВНаличииРасход,
        0,
        ТоварыНаСкладахОстаткиИОбороты.Склад,
        ТоварыНаСкладахОстаткиИОбороты.ВНаличииНачальныйОстаток,
        ТоварыНаСкладахОстаткиИОбороты.ВНаличииКонечныйОстаток
    ИЗ
        РегистрНакопления.ТоварыНаСкладах.ОстаткиИОбороты(&Дт1, &Дт2, Запись, , ) КАК ТоварыНаСкладахОстаткиИОбороты) КАК ВложенныйЗапрос
ГДЕ
    ВложенныйЗапрос.Номенклатура = &Номенклатура
    И ВложенныйЗапрос.Склад = &Склад

УПОРЯДОЧИТЬ ПО
    Склад,
    Номенклатура
40 azernot
 
18.10.16
18:11
(38) Что конкретно показать?

Я пытаюсь понять, что тебе нужно, но ты ломаешься как та Зоя Космодемьянская..
Ну так, в конце-концов, это же тебе надо, не мне. Не хочешь говорить - не говори.

Можешь запостить ещё 100 вариантов запроса, пытаясь что-то угадать..  Будет ли кто-то их читать?
41 Ivan_495
 
18.10.16
18:20
(40) страный ты человек , в (20) посте все понял, теперь опять спрашиваешь
куришь наверно..
42 Лефмихалыч
 
18.10.16
18:21
(32) объединение быстрее да и в отладке проще
43 azernot
 
18.10.16
18:22
В (20) я всё понимал. До того момента, пока не появилось (33). Высказывание (33) противоречит описанному в (20).

Далее вопрос (35) который ты упорно игнорируешь.
44 Ivan_495
 
18.10.16
18:23
(43) да есть, что делать с этим не знаю для это и ветку создал
45 azernot
 
18.10.16
18:24
Вот втупую то, что указано в (11). Если поместить в СКД, добавить на вкладке Структура Таблицу, в строках - Номенклатура, в колонках ВидДвижения и Склад.
При этом один и тот же склад может быть как в приходе, так и в расходе..

ВЫБРАТЬ
    ТоварыНаСкладахОстаткиИОбороты.Номенклатура,
    ТоварыНаСкладахОстаткиИОбороты.Склад,
    ВидыДвижения.ВидДвижения,
    ВЫБОР
        КОГДА ВидыДвижения.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход)
            ТОГДА ТоварыНаСкладахОстаткиИОбороты.КоличествоПриход
        ИНАЧЕ ТоварыНаСкладахОстаткиИОбороты.КоличествоРасход
    КОНЕЦ КАК Количество
ИЗ
    РегистрНакопления.ТоварыНаСкладах.ОстаткиИОбороты(&Дт1, &Дт2, , , ) КАК ТоварыНаСкладахОстаткиИОбороты
        ВНУТРЕННЕЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
            ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход) КАК ВидДвижения
        
        ОБЪЕДИНИТЬ ВСЕ
        
        ВЫБРАТЬ
            ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход)) КАК ВидыДвижения
        ПО (ТоварыНаСкладахОстаткиИОбороты.КоличествоПриход > 0
                    И ВидыДвижения.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход)
                ИЛИ ТоварыНаСкладахОстаткиИОбороты.КоличествоРасход > 0
                    И ВидыДвижения.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход))
46 Лефмихалыч
 
18.10.16
18:24
(44) на этот вопрос надо ответить перед тем, как браться за задачу
47 azernot
 
18.10.16
18:26
(44) Так как надо-то?! Показывать и там и там? Или для складов расхода не показывать приход, а для складов прихода - не показывать расход? Но тогда нужно точно знать, как определить склады расхода, и как определить склады прихода.
48 Ivan_495
 
18.10.16
18:28
(47) для складов прихода не показывать расход
49 Лефмихалыч
 
18.10.16
18:28
(48) тогда рассказывай, как программно отличить склады расхода от складов прихода
50 azernot
 
18.10.16
18:29
(48) Пользователь может указать список складов прихода или расхода?
51 Ivan_495
 
18.10.16
18:33
хотя..
52 Ivan_495
 
18.10.16
18:35
Приход    Расход    ВидДвижения    СкладПриход    СкладРасход
0    112    Расход               NULL           склад 1
0    112    Приход             Склад 1     NULL

вот пример склад 1 попадает и в расход и в приход
53 Ivan_495
 
18.10.16
18:38
если по складу есть запись с движение приход, то он должен попасть в группу приход,
а если есть еще и движение по расходу то и в группу расход
54 Ivan_495
 
18.10.16
18:39
(48) неверно
55 azernot
 
18.10.16
18:39
(53) Вот тебе запрос в (45) решающий задачу группировки по виду движения.
Пользуйся на здоровье.
56 Ivan_495
 
18.10.16
18:47
(55) по сути от 36 не отличается
57 Ivan_495
 
18.10.16
18:47
всех благодарю
58 azernot
 
18.10.16
18:51
(56) Велосипед по сути от БМВ тоже не отличается. Оба - транспортные средства.
59 Ivan_495
 
18.10.16
18:52
(58) запрос не работает
60 Ivan_495
 
18.10.16
18:53
ВНУТРЕННЕЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
            ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход) КАК ВидДвижения
        
        ОБЪЕДИНИТЬ ВСЕ

это вообще что??
61 azernot
 
18.10.16
18:55
(60) Это внутреннее соединение с таблицей возможных видов движения :)
Ваш КО.
62 azernot
 
18.10.16
19:01
(59) Я думал, что заменить "Количество" на "ВНаличии" сумеешь сам. Извини, ошибся.
63 Ivan_495
 
18.10.16
20:04
(62) исправил, посмотрел, запрос склады на две колонки не разбивает, не то
64 GROOVY
 
18.10.16
20:23
Как только кто-то берет данные из реальной таблицы регистра (пусть и завуалировано) я его увольняю. Регистры не для этого создавались.
65 azernot
 
18.10.16
21:03
(63) так ты по виду движения группировку поставь выше чем по складу
66 Boleev
 
18.10.16
21:22
(64) команда разработчиков типовой УТ 11 плюет с высоты московской высотки тебе на плешь
67 GROOVY
 
18.10.16
22:01
(66)  Не надо путать получение данных о движениях, и получение данных показателей остатков и оборотов на основе движений.
68 Ivan_495
 
19.10.16
12:55
(67) глобальный поиск по "виддвиж" в УТ 11 кого-то удивит, наверно пол 1с уволится
69 Ivan_495
 
19.10.16
12:58
да и вообще критиков развелось...
а элементарный запрос кинули не рабочий
70 azernot
 
19.10.16
14:28
(69) Тут больше всего подходит пословица "Нечего на зеркало пенять коли рожа крива".

Запрос в (45) строит ровно то, что указано в (11). Единственное, что писался он в УТ 10.3, а там ресурс регистра называется "Количество" (ну нету у меня под рукой УТ 11).

Если вы не знаете язык запросов, не умеете настраивать СКД, не можете даже внятно сформулировать задачу..
Чем же вам ещё помочь? Может быть 1С просто не ваше?
71 Ivan_495
 
19.10.16
20:24
(70)делается всё в себе очень просто, но вы этого не знаете
и зеркало у тебя кривое