|
v7: Помогите отредактировать запрос 7.7 по остаткам/оборотам товара на складе | ☑ | ||
---|---|---|---|---|
0
evgpinsk_
23.04.23
✎
08:37
|
Прошу сильно не пинать, но с запросами никогда не дружил.
Есть запрос который обращается к регистру остатков - получает еженедельно приход и расход товара на складе. Но расходом может быть как реализация товара на сторону, так и перемещение на другой склад (документ (Межскладская_расход_приход"). Соответственно такие перемещения в отчёт не должны попадать. Как допилить запрос который ниже для этого? /в нём комментариями мои попытка, которые не помогла/ __вид="Межскладская_расход_приход"; Запрос2 = СоздатьОбъект("Запрос"); ТекстЗапроса = " |с ВыбНачПериода по ВыбКонПериода; |Обрабатывать НеПомеченныеНаУдаление; |Склад = Регистр.Остатки.Склад; |Товар = Регистр.Остатки.ТМЦ; |Остаток = Регистр.Остатки.Остаток; |_Док = Регистр.Остатки.ТекущийДокумент; |Условие (Склад в ВыбСклад);"; // |Условие ((_Док.Вид()<>__вид));"; |Функция ОстатокПриход = Приход(Остаток); |Функция ОстатокРасход = Расход(Остаток); |Группировка Товар Без групп; // |Группировка _Док; |Группировка Неделя Все;"; |
|||
1
Волшебник
23.04.23
✎
09:59
|
|Условие (_Док.Вид()<>""Межскладская_расход_приход"");";
|
|||
2
evgpinsk_
23.04.23
✎
12:20
|
Увидел ошибку в ТЗ.
Приходы по межскладской попадать в отчёт должны, о вот расход со склада по межскладской - не должен. Вот это условие не могу прописать |
|||
3
Builder
23.04.23
✎
13:03
|
(2) Можно добавить условие по реквизиту в доке, что-то типа
|Условие (_Док.ВидРасхода = "Расход") КОГДА (Док.Вид()="Межскладская_расход_приход"); Но надо проверить. А в идеале в регистре должен быть реквизит, заполненный как надо, что-то типа "ВидДвижения". И по нему делать фильтры. |
|||
4
evgpinsk_
23.04.23
✎
13:18
|
(3) > "А в идеале в регистре должен быть реквизит, заполненный как надо, что-то типа "ВидДвижения". И по нему делать фильтры."
Суть в чём - в этом отчёте я хочу видеть именно продажи товара. Которые идут по документу "Расходная накладная". Списание товара со склада на другой склад по межскладской - не является продажей, и в отчёте мне не нужно. > "|Условие (_Док.ВидРасхода = "Расход") КОГДА (Док.Вид()="Межскладская_расход_приход");" Править структуру документа ради отчёта - не очень правильно. Vне нужно чтото такое: |Условие (ОстатокПриход>0) КОГДА (Док.Вид()="Межскладская_расход_приход"); |
|||
5
Builder
23.04.23
✎
13:25
|
(4)
>Править структуру документа ради отчёта - не очень правильно. Правильно было спроектировать регистр так, что бы получать такие отчеты без написания таких условий. >|Условие (ОстатокПриход>0) КОГДА (Док.Вид()="Межскладская_расход_приход"); Тогда только приходы этого документа и будут. Продаж не будет. Меняй условие. |
|||
6
evgpinsk_
23.04.23
✎
13:31
|
(5) > "Тогда только приходы этого документа и будут. Продаж не будет. Меняй условие."
Так вот и не могу понять как определить условие Как определить в условии, что конкретная получаемая запись является расходом по межскладской и эту запись ОТфильтровывать? |
|||
7
АгентБезопасной Нацио
23.04.23
✎
15:41
|
(6) выгрузи уже в ТЗ, и фильтруй при обходе
|
|||
8
Builder
23.04.23
✎
17:29
|
(6) Действительно очень сложная задача....
|Условие (ОстатокПриход>0) КОГДА (Док.Вид()<>"Межскладская_расход_приход"); |
|||
9
Злопчинский
23.04.23
✎
20:25
|
(4) правильно - это регистр проектировать правильно, а не обращаться в запросе а виду Доку нота
|
|||
10
Злопчинский
23.04.23
✎
20:27
|
Функция ОстатокПриход... Когда док.Вид() в СЗсписоквидов
|
|||
11
Гена
23.04.23
✎
21:02
|
(4) [Суть в чём - в этом отчёте я хочу видеть именно продажи товара. Которые идут по документу "Расходная накладная"]
А нельзя взять обороты именно по регистратору "Расходная накладная"? |
|||
12
Злопчинский
24.04.23
✎
00:21
|
(11) в (10) запихать в СЗ нужные виды
|
|||
13
Злопчинский
24.04.23
✎
00:22
|
(0) обрабатывать не помеченные на удаление - выкинуть, ибо это оксюморон. Запрос к регистру. Регистр - по проведённым документам сам по себе
|
|||
14
АгентБезопасной Нацио
24.04.23
✎
09:27
|
(13) а ты вспомни, как у него конфига сделана - все через попы
тки-исключения. А при этом вполне могут быть разные артефакты - движения у непроведенных, или отсутствие движений у проведенных... |
|||
15
evgpinsk_
24.04.23
✎
10:16
|
(11) В отчёте также нужно и приходы и возвраты, поэтому правильней - вычеркнуть только один вид документа (перемещения между складами)
|
|||
16
evgpinsk_
24.04.23
✎
10:20
|
(9) Что именно не правильно спроектировано в класичесском регистре остатков?
Если вдруг появился какойто хитрый отчёт, базу даннух под него нужно перепроектировать? |
|||
17
evgpinsk_
24.04.23
✎
10:24
|
(8) Это не смог попробовать, выдаёт ошибку, чтото с синтаксисом. "ОстатокПриход" - это функция, которая возвращает сумму сгрупированных остатков.
В условии можно обращаться к функции? И это условие анализирует результат который сама возвращает или конкретную запись запроса (т.е. значение прихода)? |
|||
18
Builder
24.04.23
✎
10:29
|
(17) Блин, ну совсем думать не хочешь, как то так же
|Функция ОстатокПриход= Приход(Остаток) КОГДА (Док.Вид()<>"Межскладская_расход_приход"); |
|||
19
evgpinsk_
24.04.23
✎
10:58
|
(18) Здесь уже совсем другое решение, условие в функции, я не знал что можно было и так (гугл толком не давал помощи)
|
|||
20
СвинТуз
24.04.23
✎
11:04
|
Такое смутное ощущение, что пытаетесь остатки в регистре по реквизитам документов-регистраторов расфасовать?
v7 плохо помню. Может не взлететь. Хранится ли? |
|||
21
СвинТуз
24.04.23
✎
11:05
|
Это по сути обороты. В остатках не отфильтруете.
|
|||
22
Builder
24.04.23
✎
11:07
|
(21) Ему обороты и нужны, останков вроде нет в исходном запросе.
|
|||
23
СвинТуз
24.04.23
✎
11:08
|
Да не разглядел ...
плохо помню 7-ю. Не то чем кажется? |Остаток = Регистр.Остатки.Остаток; |
|||
24
СвинТуз
24.04.23
✎
11:09
|
Таблица остатков задействована для расчета остатков.
Досвидос ... |
|||
25
СвинТуз
24.04.23
✎
11:10
|
Это типа 8-й виртуальной "Остатки и обороты" наверное.
|
|||
26
СвинТуз
24.04.23
✎
11:12
|
В таких случаях кажется вот оно рядом решение, вот скоро ...
потом платформа дулю показывает. Плавали, знаем. Тоже молодыми были. |
|||
27
СвинТуз
24.04.23
✎
11:15
|
Найдете в клюшках оборотный регистр,
дайте знать. Лицезреть хочу. ) |
|||
28
СвинТуз
24.04.23
✎
11:24
|
Нужно писать запрос не по регистру, а по документам.
|
|||
29
Builder
24.04.23
✎
11:27
|
(27) Открой конфигуратор и посмотри, их есть там. Неожиданно?
|
|||
30
СвинТуз
24.04.23
✎
11:30
|
(29)
Я старый уже. Все забыл. Дороги посыпаю. |
|||
31
СвинТуз
24.04.23
✎
11:31
|
Но все равно. В этом случае по документам.
|
|||
32
СвинТуз
24.04.23
✎
11:31
|
Я ничего не помню.
Разбираюсь быстро. |
|||
33
АгентБезопасной Нацио
24.04.23
✎
12:35
|
(32) "Хорошая болезнь склероз. Ничего не болит, и каждый день всё вокруг новое"©
|
|||
34
uno-group
24.04.23
✎
12:54
|
Продажи закупки нужно по регистру партий строить там и реквизиты для этого специальные есть.
|
|||
35
uno-group
24.04.23
✎
12:57
|
Там кроме межскладских перемещений могут быть возвраты нам от нас. их уже по док вид не отфильтруешь. Или черный запрос по документам или по регистру партий.
|
|||
36
АгентБезопасной Нацио
24.04.23
✎
13:42
|
(35) или прямой запрос
|
|||
37
uno-group
24.04.23
✎
13:47
|
(36) если у человека обычный вызывает проблемы, то про прямой страшно даже подумать.
|
|||
38
АгентБезопасной Нацио
24.04.23
✎
13:53
|
(37) прямые проще. ибо они нормальные и логичные, а чОрные - локальное семерочное извращение.
Ну а у этого человека проблемы в обычном месте... |
|||
39
evgpinsk_
24.04.23
✎
16:31
|
(35) Я немного поменял логику работы отчёта. Межкскладские вообще не берутся в расчёт в запросе.
И тогда приходом будет изначальная покупка товара (а не перемещение). |
|||
40
АгентБезопасной Нацио
24.04.23
✎
17:23
|
(39) открытие.
|
|||
41
Злопчинский
24.04.23
✎
17:29
|
(16) Открой ТиС - регистр остаток. классическей некуда. Посмотри на реквизит "Внутреннее".
. Спроектировать регитср надо вперед. и да, правильнее- переделать регистр под появившуюся задачу. часто "хи трые" отчеты на "неправильно" спроектированном регистре свидетельствуют о том, что пришли к очередному витку развития. а нахераченный ранее регистр для получения исключительно остатокв внезапно стал еще с делением по типам движений |
|||
42
Злопчинский
24.04.23
✎
17:31
|
(15) Функция ОстатокПриход... Когда СЗсписоквидов.НайтиЗначение(Док.Вид()=0
|
|||
43
Злопчинский
24.04.23
✎
17:32
|
(19) открой для себя в интернете электронную версию желтых книжек.
ну и в СП тоже есть |
|||
44
Злопчинский
24.04.23
✎
17:33
|
(17) еще учесть что когда ты уберешь приход/расход по каким-то видам документов то КонОст (если нужен) тебе придется для отчета высчитывать ВРУЧНУЮ, а не функцией штатной.
|
|||
45
АгентБезопасной Нацио
24.04.23
✎
20:48
|
(44) а он в сказку верит...
|
|||
46
Злопчинский
24.04.23
✎
21:28
|
(45) ...а потом еще возьмут за гузку когда коност по 30.04, не совпадет с начост на 01.05...
|
|||
47
АгентБезопасной Нацио
25.04.23
✎
06:19
|
(46) да он сам себе "гузкохват". "директор-программист".
|
|||
48
evgpinsk_
25.04.23
✎
08:17
|
(47) Агент, не боишься что скоро лопнешь от желчи? Я тебе дорогу где переехал? На работу не взял? Уже переживаю за тебя
|
|||
49
АгентБезопасной Нацио
25.04.23
✎
08:54
|
(48) не от желчи, а от смеха. редко такие забавные встречаются... на работу - дык по "закону соответствия"™ мы с тобой не сможем встретиться на работе никогда.
|
|||
50
evgpinsk_
25.04.23
✎
09:12
|
(49) Ну так и смейся себе в сторонке, а не 5 копеек свои вставляешь никому не нужные через предложение.
|
|||
51
СвинТуз
25.04.23
✎
09:15
|
(50)
Обороты считаешь? Возьми наконец проведенные документы требуемых типов за месяц и посчитай. Не напрягай людей с регистром. |
|||
52
СвинТуз
25.04.23
✎
09:16
|
Давно бы сделал уже.
|
|||
53
evgpinsk_
25.04.23
✎
09:21
|
(51) Уже и сделано (39)
|
|||
54
СвинТуз
25.04.23
✎
09:22
|
Так сразу сказал, если нужно делить по реквизитам движений обороты за месяц
использовать регистр остатков не рентабельно. Не ... моск ) |
|||
55
Злопчинский
25.04.23
✎
16:32
|
(51) это хреново. Пецсатели отчётов на основе данных документов херачат ещё хуже чем по регистрам.
. Возможность того что док не в рублях а в валюте - не обрабатывается, вкл/выкл НДС в сумме не обрабатыаается, то что в документе не обязательно базовые штуки не обрабатывается, цена продажи берётся из колонки цены без учёта скидок в документе. |
|||
56
Злопчинский
25.04.23
✎
16:34
|
. . А уж о том, что сумма по табличной части может не совпадать с суммой взаиморасчетов - жто подавно. Правда надо сказать что такой изврат за кучу лет встречал один раз...
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |