Вход | Регистрация


1С:Предприятие :: 1С:Предприятие 8 общая

Как из РегистрНакопления.ТоварыНаСкладах.ОстаткиИОбороты взять только

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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


Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует