![]() |
![]() |
![]() |
|
Условие на выражение полученное в блоке "ИТОГИ ПО" | ☑ | ||
---|---|---|---|---|
0
Администратор 1С
15.09.09
✎
11:18
|
Здравсвуйте,
Подскажите пожалуйста, можно ли наложить условие в запросе на выражение полученное в "Итогах". Например: ИТОГИ СУММА(КоличествоНачальныйОстаток), СУММА(КоличествоКонечныйОстаток) ПО Номенклатура как отобрать номенклатуру, у которой допустим СУММА(КоличествоКонечныйОстаток)>0 Или нельзя? Пробовал использовать вложенный запрос, выдает ошибку( |
|||
1
Vitello
15.09.09
✎
11:19
|
Группируй и накладывай свои условия.
|
|||
2
Широкий
15.09.09
✎
11:26
|
ИМЕЮЩИЕ...
|
|||
3
H A D G E H O G s
15.09.09
✎
11:30
|
(2) гм...
|
|||
4
H A D G E H O G s
15.09.09
✎
11:30
|
(2) Может помощь зала?
|
|||
5
Администратор 1С
15.09.09
✎
11:34
|
(1),(2)
Или я вас не понял или вы меня Имеющие это условия на значения агрегатных функций, помоему у меня несколько другое? ВЫБРАТЬ ПартииТоваровНаСкладахНалоговыйУчетОстаткиИОбороты.Номенклатура КАК Номенклатура, ПартииТоваровНаСкладахНалоговыйУчетОстаткиИОбороты.КоличествоНачальныйОстаток КАК КоличествоНачальныйОстаток, ПартииТоваровНаСкладахНалоговыйУчетОстаткиИОбороты.КоличествоКонечныйОстаток КАК КоличествоКонечныйОстаток ИЗ РегистрНакопления.ПартииТоваровНаСкладахНалоговыйУчет.ОстаткиИОбороты(&НачДата, &КонДата, Регистратор, , ) КАК ПартииТоваровНаСкладахНалоговыйУчетОстаткиИОбороты ГДЕ (ПартииТоваровНаСкладахНалоговыйУчетОстаткиИОбороты.Регистратор ССЫЛКА Документ.РеализацияТоваровУслуг ИЛИ ПартииТоваровНаСкладахНалоговыйУчетОстаткиИОбороты.Регистратор ССЫЛКА Документ.ПоступлениеТоваровУслуг) И ПартииТоваровНаСкладахНалоговыйУчетОстаткиИОбороты.КоличествоКонечныйОстаток > 0 ИТОГИ СУММА(КоличествоНачальныйОстаток), СУММА(КоличествоКонечныйОстаток) ПО Номенклатура |
|||
6
Defender aka LINN
15.09.09
✎
11:37
|
(5) А нахрен тут итоги?
|
|||
7
Администратор 1С
15.09.09
✎
11:37
|
(1) Если в этом запросе сгруппировать по номенклатуре и просуммировать нач и кон остаток, то значения начального и конечного остатка будут увеличены. (т.к. периодичность стоит регистратор) Или Vitello имел ввиду другое?
|
|||
8
Администратор 1С
15.09.09
✎
11:40
|
(6) Если сделать так: то нач и кон остаток вместо реальных 7 и 1 будет равен 19 и 20 соотвественно.
ВЫБРАТЬ ПартииТоваровНаСкладахНалоговыйУчетОстаткиИОбороты.Номенклатура КАК Номенклатура, СУММА(ПартииТоваровНаСкладахНалоговыйУчетОстаткиИОбороты.КоличествоНачальныйОстаток) КАК КоличествоНачальныйОстаток, СУММА(ПартииТоваровНаСкладахНалоговыйУчетОстаткиИОбороты.КоличествоКонечныйОстаток) КАК КоличествоКонечныйОстаток ИЗ РегистрНакопления.ПартииТоваровНаСкладахНалоговыйУчет.ОстаткиИОбороты(&НачДата, &КонДата, Регистратор, , ) КАК ПартииТоваровНаСкладахНалоговыйУчетОстаткиИОбороты ГДЕ (ПартииТоваровНаСкладахНалоговыйУчетОстаткиИОбороты.Регистратор ССЫЛКА Документ.РеализацияТоваровУслуг СГРУППИРОВАТЬ ПО ПартииТоваровНаСкладахНалоговыйУчетОстаткиИОбороты.Номенклатура |
|||
9
Defender aka LINN
15.09.09
✎
11:42
|
Тут и группировка, в общем-то не нужна.
|
|||
10
Администратор 1С
15.09.09
✎
11:49
|
(9) А что нужно по твоему чтобы КонОстаток по товару получить и при этом чтобы этот конечный остаток формировался только документом опр. вида.
В запросе который был приведен в (5) это задача решается, но теперь не знаю как как на остатки итоговые условие наложить |
|||
11
sapphire
15.09.09
✎
11:50
|
Какой ужас. в (2) ответили.
|
|||
12
Defender aka LINN
15.09.09
✎
11:51
|
(10) Хочешь сказать, что твой запрос именно это делает? Ну-ну...
|
|||
13
Администратор 1С
15.09.09
✎
11:51
|
Или придется запрос в ТЗ выгружать и в цикле отбирать уже?
|
|||
14
Администратор 1С
15.09.09
✎
11:58
|
(12) - Сформулирую по точнее: Если в формировании конОст участвует док-т другого вида, то товар не должен быть исключен из выборки, просто КонОст не должен изменится (напр. НачОст =5, расход =4 (3- списано реализицей, 1 - возвратомПостащику), конОст должен быть 2))
|
|||
15
Администратор 1С
15.09.09
✎
11:59
|
(12) и мой запрос эту задачу решает
|
|||
16
Администратор 1С
15.09.09
✎
12:08
|
Уважаемые, ну что нельзя получается?
|
|||
17
Defender aka LINN
15.09.09
✎
12:23
|
(15) Гонишь :)
|
|||
18
Vitello
15.09.09
✎
12:25
|
(14)(напр. НачОст =5, расход =4 (3- списано реализицей, 1 - возвратомПостащику), конОст должен быть 2)
ээээ....что то у меня даже слов нет. |
|||
19
Wehrmacht
15.09.09
✎
12:28
|
(14) А не пробовали для поля использовать
ВЫБОР КОГДА Регистратор ССЫЛКА Документ.ТакойТо ТОГДА Расход ИНАЧЕ 0 КОНЕЦ |
|||
20
agant
15.09.09
✎
12:54
|
а почему бы так не попробывать
"ВЫБРАТЬ ПартииТоваровНаСкладахНалоговыйУчетОстаткиИОбороты.Номенклатура КАК Номенклатура, ПартииТоваровНаСкладахНалоговыйУчетОстаткиИОбороты.КоличествоНачальныйОстаток КАК КоличествоНачальныйОстаток, ПартииТоваровНаСкладахНалоговыйУчетОстаткиИОбороты.КоличествоКонечныйОстаток КАК КоличествоКонечныйОстаток ПОМЕСТИТЬ Таблица ИЗ РегистрНакопления.ПартииТоваровНаСкладахНалоговыйУчет.ОстаткиИОбороты(&НачДата, &КонДата, Регистратор, , ) КАК ПартииТоваровНаСкладахНалоговыйУчетОстаткиИОбороты ГДЕ (ПартииТоваровНаСкладахНалоговыйУчетОстаткиИОбороты.Регистратор ССЫЛКА Документ.РеализацияТоваровУслуг ИЛИ ПартииТоваровНаСкладахНалоговыйУчетОстаткиИОбороты.Регистратор ССЫЛКА Документ.ПоступлениеТоваровУслуг) И ПартииТоваровНаСкладахНалоговыйУчетОстаткиИОбороты.КоличествоКонечныйОстаток > 0 ИТОГИ СУММА(КоличествоНачальныйОстаток), СУММА(КоличествоКонечныйОстаток) ПО Номенклатура ; ВЫБРАТЬ Таблица.Номенклатура КАК Номенклатура, Таблица.КоличествоНачальныйОстаток КАК КоличествоНачальныйОстаток, Таблица.КоличествоКонечныйОстаток КАК КоличествоКонечныйОстаток ИЗ Таблица КАК Таблица ГДЕ Таблица.КоличествоКонечныйОстаток > 0 |
|||
21
agant
15.09.09
✎
12:56
|
чуть ошибся, не внимательно копировал
ВЫБРАТЬ ПартииТоваровНаСкладахНалоговыйУчетОстаткиИОбороты.Номенклатура КАК Номенклатура, ПартииТоваровНаСкладахНалоговыйУчетОстаткиИОбороты.КоличествоНачальныйОстаток КАК КоличествоНачальныйОстаток, ПартииТоваровНаСкладахНалоговыйУчетОстаткиИОбороты.КоличествоКонечныйОстаток КАК КоличествоКонечныйОстаток ПОМЕСТИТЬ Таблица ИЗ РегистрНакопления.ПартииТоваровНаСкладахНалоговыйУчет.ОстаткиИОбороты(&НачДата, &КонДата, Регистратор, , ) КАК ПартииТоваровНаСкладахНалоговыйУчетОстаткиИОбороты ГДЕ (ПартииТоваровНаСкладахНалоговыйУчетОстаткиИОбороты.Регистратор ССЫЛКА Документ.РеализацияТоваровУслуг ИЛИ ПартииТоваровНаСкладахНалоговыйУчетОстаткиИОбороты.Регистратор ССЫЛКА Документ.ПоступлениеТоваровУслуг) ИТОГИ СУММА(КоличествоНачальныйОстаток), СУММА(КоличествоКонечныйОстаток) ПО Номенклатура ; ВЫБРАТЬ Таблица.Номенклатура КАК Номенклатура, Таблица.КоличествоНачальныйОстаток КАК КоличествоНачальныйОстаток, Таблица.КоличествоКонечныйОстаток КАК КоличествоКонечныйОстаток ИЗ Таблица КАК Таблица ГДЕ Таблица.КоличествоКонечныйОстаток > 0 |
|||
22
Администратор 1С
15.09.09
✎
13:05
|
(19), (20) спасибо!, ща буду упражняться
|
|||
23
Администратор 1С
15.09.09
✎
13:10
|
(21) 1с - говорит что: "предложения "Итоги" не может быть использовано в запросе формирующем временную таблицу"
|
|||
24
agant
15.09.09
✎
13:15
|
(23) Ну тогда вместо ИТОГИ можно СГРУППИРОВАТЬ ПО (Номенклатура)
|
|||
25
Defender aka LINN
15.09.09
✎
13:17
|
Пипец, блин.
1. результат из виртуальных таблиц и так получается сгруппированым 2. Кто мне объяснит, ЧТО получает этот запрос? |
|||
26
Aprobator
15.09.09
✎
13:21
|
(25) хз че он хочет получить. С виртуальными таблицами работать тоже не умеет. Видно не дочитал до этого в доках к 1С.
|
|||
27
Aprobator
15.09.09
✎
13:23
|
+(26) а похоже нужны начальные и конечные остатки по позициям номенклатуры, которая еще есть на складе ).
|
|||
28
Wehrmacht
15.09.09
✎
13:26
|
(27) Ему нужно расходы показать не все скопом, а по типу документов
|
|||
29
Aprobator
15.09.09
✎
13:27
|
(27) а где расходы то? Че то я ту оборотов не увидел. Тока начальные и конечные остатки.
|
|||
30
Aprobator
15.09.09
✎
13:28
|
(29) к (28)
|
|||
31
Wehrmacht
15.09.09
✎
13:29
|
(29) Я в этой ахинее даже не пытался разбираться, зрю в корень :)
|
|||
32
Wehrmacht
15.09.09
✎
13:29
|
(31) А не, наврал. Он хочет остатки по типу документов :)
|
|||
33
Aprobator
15.09.09
✎
13:29
|
(31) видно от нехилой травы этот корень. ))))
|
|||
34
agant
15.09.09
✎
13:32
|
Специально проверил у себя, этот запрос выдает остатки по Номенклатурам где кол-во кон остаток > 0
ВЫБРАТЬ ПартииТоваровНаСкладахНалоговыйУчетОстаткиИОбороты.Номенклатура КАК Номенклатура, ПартииТоваровНаСкладахНалоговыйУчетОстаткиИОбороты.КоличествоНачальныйОстаток КАК КоличествоНачальныйОстаток, ПартииТоваровНаСкладахНалоговыйУчетОстаткиИОбороты.КоличествоКонечныйОстаток КАК КоличествоКонечныйОстаток ПОМЕСТИТЬ Таблица ИЗ РегистрНакопления.ПартииТоваровНаСкладахНалоговыйУчет.ОстаткиИОбороты(&НачДата, &КонДата, Регистратор, , ) КАК ПартииТоваровНаСкладахНалоговыйУчетОстаткиИОбороты ГДЕ ПартииТоваровНаСкладахНалоговыйУчетОстаткиИОбороты.Регистратор ССЫЛКА Документ.РеализацияТоваровУслуг ИЛИ ПартииТоваровНаСкладахНалоговыйУчетОстаткиИОбороты.Регистратор ССЫЛКА Документ.ПоступлениеТоваровУслуг ; ВЫБРАТЬ Таблица.Номенклатура КАК Номенклатура, Таблица.КоличествоНачальныйОстаток КАК КоличествоНачальныйОстаток, Таблица.КоличествоКонечныйОстаток КАК КоличествоКонечныйОстаток ИЗ Таблица КАК Таблица ГДЕ Таблица.КоличествоКонечныйОстаток > 0 |
|||
35
Aprobator
15.09.09
✎
13:34
|
(34) угу тока вместо временной таблицы подзапрос и условие по регистратору в параметры виртуальной таблицы. Правда я не совсем понимаю, что значит остаток по регистратору?
|
|||
36
agant
15.09.09
✎
13:38
|
(35) остаток тут не по регистратору, регистратор нужен для того чтобы выбирать только документы РеализацияТоваровИУслуг и ПосткплениеТоваровИУслуг, именно по этому временная таблица с периодичностью Регистратор, иначе поле Регистратор нельза было бы анализировать
|
|||
37
Администратор 1С
15.09.09
✎
13:41
|
(35) Agant Запрос не то делает что нужно, еще не успел поробовать то что предлогалось в (14).
Необходимо получить конечный остаток по товару на конецПериода, при этом при расчете КонОстатка иключаем те движения которые были сделаны докуметов ВозратПоставщику (к примеру). Затем на полученный Конечныйостаток надо наложить условие (например где КонОст>0) |
|||
38
agant
15.09.09
✎
13:44
|
(37) ок, щас попробую, только щас окончательно догнал, кстати (14) должно пойти
|
|||
39
Администратор 1С
15.09.09
✎
13:46
|
Веренее в (19)
|
|||
40
agant
15.09.09
✎
13:48
|
ну да:)
|
|||
41
Wehrmacht
15.09.09
✎
13:50
|
(37) Ваще бред какой-то. А если было так?:
Приход +4 Реализация -2 (=2) Возврат поставщику -1 (=1) Возврат от покупателя +1 (=2) Приход +3 (=5) Реализация -1 (=4) То что должно получиться? 5?! Какая смысловая нагрузка у этого числа? (19) с конечным остатком скорее всего не прокатит. |
|||
42
Aprobator
15.09.09
✎
13:52
|
(41) с конечным нет - тока если суммировать начальный остток и обороты.
|
|||
43
agant
15.09.09
✎
13:55
|
(35) Пожалуйста
ВЫБРАТЬ ПартииТоваровНаСкладахНалоговыйУчетОстаткиИОбороты.Номенклатура КАК Номенклатура, СУММА(ПартииТоваровНаСкладахНалоговыйУчетОстаткиИОбороты.КоличествоНачальныйОстаток) КАК КоличествоНачальныйОстаток, СУММА(ПартииТоваровНаСкладахНалоговыйУчетОстаткиИОбороты.КоличествоКонечныйОстаток) КАК КоличествоКонечныйОстаток ПОМЕСТИТЬ Таблица ИЗ РегистрНакопления.ПартииТоваровНаСкладахНалоговыйУчет.ОстаткиИОбороты(&НачДата, &КонДата, Регистратор, , ) КАК ПартииТоваровНаСкладахНалоговыйУчетОстаткиИОбороты ГДЕ (ПартииТоваровНаСкладахНалоговыйУчетОстаткиИОбороты.Регистратор ССЫЛКА Документ.РеализацияТоваровУслуг ИЛИ ПартииТоваровНаСкладахНалоговыйУчетОстаткиИОбороты.Регистратор ССЫЛКА Документ.ПоступлениеТоваровУслуг) СГРУППИРОВАТЬ ПО ПартииТоваровНаСкладахНалоговыйУчетОстаткиИОбороты.Номенклатура ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ Таблица.Номенклатура КАК Номенклатура, Таблица.КоличествоНачальныйОстаток КАК КоличествоНачальныйОстаток, Таблица.КоличествоКонечныйОстаток КАК КоличествоКонечныйОстаток ИЗ Таблица КАК Таблица ГДЕ Таблица.КоличествоКонечныйОстаток > 0 |
|||
44
73
15.09.09
✎
14:01
|
(43) И где ж Итоги? Неужели корректны?
|
|||
45
agant
15.09.09
✎
14:04
|
(44) я проверил у себя, у меня выводятся правильные итоги, проверял не всё, но в первых 20 все верно, проверь сам если не веришь
|
|||
46
Черный всадник
15.09.09
✎
14:07
|
(0) Может лучше сделать отдельный регистр накопления и в подписке на события сливать туда нужную инфу? Тогда можно использовать простой запрос, и сервер не будет умрать.
|
|||
47
Wehrmacht
15.09.09
✎
14:08
|
(45) Что в данном контексте имеется ввиду под "правильными": правильные арифметически или правильные методологически? Ты вообще представляешь, как должны считаться начальный и конечный остатки? Они должны не тупо сложиться, а должен отобразиться именно начальный или конечный остаток по группировке.
|
|||
48
73
15.09.09
✎
14:09
|
(45) Чем от (8) отличается?
НачОстаток На начало - 2 НачОстаток Регистратор1 - 5 НачОстаток Регистратор2 - 10 Сумма(начОстаток) = НачОстаток на начало? |
|||
49
AntonioS
15.09.09
✎
14:12
|
(37) запрос должен состоятьиз двух
первый получаешь просто остатки из таблицы остатки второй по регистру берешь движения с условием на тип регистратора. без всяких вирт таблиц объединяешь эти два запроса с группировкой по номенклатуре и вычитаешь из остатка сумму по движениям все. |
|||
50
73
15.09.09
✎
14:12
|
(0):
Начальные остатки выбрать из таблицы Остатки() Обороты - из Обороты() с периодичностью Регистратор, или из основной таблицы регистра. Конечный остаток строишь сам. |
|||
51
AntonioS
15.09.09
✎
14:14
|
(50) имхо, не нужна здесь вирт таблица Обороты, только медленнее будет
|
|||
52
73
15.09.09
✎
14:16
|
(51) Может и так. Спорить не буду.
Я ж и написал (или из основной таблицы регистра). ЗЫ. Замер производительности рулит. |
|||
53
Администратор 1С
15.09.09
✎
14:21
|
В (41) описано то что нужно, конОст должен быть равен 5. Смысл есть,расчитать таким образом остаток это часть задачи.
|
|||
54
Администратор 1С
15.09.09
✎
14:35
|
В (43) запрос не то делает, итоги некоректны, 1с несколько раз один и то же остаток складывает
У меня "реальные" остатки равны: начОст =7, Расход по реализации =6 Расход по возвратм постащику=1 КонОсток по условию задачи должен быть= 1 а запрос (43) выдает НаОст=13, КонОст=7 |
|||
55
Администратор 1С
15.09.09
✎
14:37
|
(49) ок, пробую
|
|||
56
agant
15.09.09
✎
14:50
|
(43) ща сходил по обедал подумал и понял, что слажал. а при проверке просто мне повезло: проаерял только те номенклатуры, где за выбранные период только один регистатор, там где несколько выдает неправильно.. сорри
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |