![]() |
![]() |
![]() |
|
Итак мега вопрос по 1с! нигде ответа не нашел | ☑ | ||
---|---|---|---|---|
0
Ctvty
26.11.09
✎
14:12
|
Есть запрос, который выбирает Начальный и конечный остатки из Двух регистров с периодичностью Регистратор.
В результате в случае вывода итогов только по двум измерениям (Номенклатура и ХарактеристикаНоменклатуры) в отчет выводятся остатки тоько по одному регистру. Т.е. второй регистр как бы затирает данные полученные из первого. Как победить? Нашел много тем в которых данная проблема поднимается но решения нет нигде. Итак запрос: ВЫБРАТЬ ТоварыВРознице.Номенклатура КАК Номенклатура, ТоварыВРознице.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры, ТоварыВРознице.КоличествоНачальныйОстаток КАК КоличествоНачальныйОстаток, ТоварыВРознице.КоличествоКонечныйОстаток КАК КоличествоКонечныйОстаток, ТоварыВРознице.Склад КАК Склад, ТоварыВРознице.Период КАК Период, ТоварыВРознице.Регистратор КАК Регистратор ИЗ РегистрНакопления.ТоварыВРознице.ОстаткиИОбороты(&ДатаНач, &ДатаКон, Регистратор, , ) КАК ТоварыВРознице ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ ТоварыПереданныеОстаткиИОбороты.Номенклатура, ТоварыПереданныеОстаткиИОбороты.ХарактеристикаНоменклатуры, ТоварыПереданныеОстаткиИОбороты.КоличествоНачальныйОстаток, ТоварыПереданныеОстаткиИОбороты.КоличествоКонечныйОстаток, ТоварыПереданныеОстаткиИОбороты.Контрагент, ТоварыПереданныеОстаткиИОбороты.Период, ТоварыПереданныеОстаткиИОбороты.Регистратор ИЗ РегистрНакопления.ТоварыПереданные.ОстаткиИОбороты(&ДатаНач, &ДатаКон, Регистратор, , ) КАК ТоварыПереданныеОстаткиИОбороты ИТОГИ СУММА(КоличествоНачальныйОстаток), СУММА(КоличествоКонечныйОстаток) ПО ОБЩИЕ, Склад, Номенклатура, ХарактеристикаНоменклатуры, Период, Регистратор |
|||
1
Fragster
гуру
26.11.09
✎
14:14
|
Выбрать * ИЗ (выбрать...объединить...выбрать...) как Таб
Итоги ... по ... |
|||
2
8vC1
26.11.09
✎
14:14
|
Псевдонимы введи ТоварыПереданныеОстаткиИОбороты.Номенклатура как Номенклатура1
и т. д. |
|||
3
8vC1
26.11.09
✎
14:15
|
ТоварыПереданныеОстаткиИОбороты.ХарактеристикаНоменклатуры как ХарактеристикаНоменклатуры1
и будет счастье |
|||
4
Fragster
гуру
26.11.09
✎
14:15
|
(2) это не нужно
|
|||
5
Fragster
гуру
26.11.09
✎
14:16
|
а вообще запрос странный какой-то
|
|||
6
8vC1
26.11.09
✎
14:17
|
а вообще да, псевдонимы здесь не помогут, тут запрос как то криво написан.
|
|||
7
Ksandr
26.11.09
✎
14:18
|
а какие цели перед тобой стоят? может соединением лучше?
|
|||
8
Ctvty
26.11.09
✎
14:22
|
(5) запрос не странный. Это часть одного мега запроса.
(1) не вижу разницы, щас попробую конечно |
|||
9
Hans
26.11.09
✎
14:22
|
(0)а объединение склада и контрагента это осознано сделано?
|
|||
10
Ctvty
26.11.09
✎
14:23
|
(9) ага осознано, так нада
|
|||
11
Ctvty
26.11.09
✎
14:24
|
(7) цели получить остатки из 2 регистров и сложить их. периодичность регистратор необходима
|
|||
12
Zapal
26.11.09
✎
14:24
|
(0) всё должно работать
проверь, выдает ли данные второй запрос, который "затирается" "Нашел много тем в которых данная проблема поднимается" - нука-нука, кинь ссылочек |
|||
13
Ctvty
26.11.09
✎
14:26
|
(12) оба запроса по отдельности работают как часы
v8: Остатки и обороты (Регистратор) хотя бы вот правда не совсем то |
|||
14
Zapal
26.11.09
✎
14:27
|
(10) мож у тебя сверху отбор по контрагенту стоит, и поэтому склад не выходит?
|
|||
15
Ctvty
26.11.09
✎
14:28
|
ВЫБРАТЬ
ТоварыВРознице.Номенклатура КАК Номенклатура, ТоварыВРознице.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры, ТоварыВРознице.КоличествоНачальныйОстаток КАК КоличествоНачальныйОстаток, ТоварыВРознице.КоличествоКонечныйОстаток КАК КоличествоКонечныйОстаток, ТоварыВРознице.Склад КАК Склад, ТоварыВРознице.Период КАК Период, ТоварыВРознице.Регистратор КАК Регистратор ИЗ РегистрНакопления.ТоварыВРознице.ОстаткиИОбороты(&ДатаНач, &ДатаКон, Регистратор, , ) КАК ТоварыВРознице ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ ТоварыНаСкладахОстаткиИОбороты.Номенклатура, ТоварыНаСкладахОстаткиИОбороты.ХарактеристикаНоменклатуры, ТоварыНаСкладахОстаткиИОбороты.КоличествоНачальныйОстаток, ТоварыНаСкладахОстаткиИОбороты.КоличествоКонечныйОстаток, ТоварыНаСкладахОстаткиИОбороты.Склад, ТоварыНаСкладахОстаткиИОбороты.Период, ТоварыНаСкладахОстаткиИОбороты.Регистратор ИЗ РегистрНакопления.ТоварыНаСкладах.ОстаткиИОбороты(&ДатаНач, &ДатаКон, Регистратор, , ) КАК ТоварыНаСкладахОстаткиИОбороты ИТОГИ СУММА(КоличествоНачальныйОстаток), СУММА(КоличествоКонечныйОстаток) ПО ОБЩИЕ, Склад, Номенклатура, ХарактеристикаНоменклатуры, Период, Регистратор Вот запрос со стандартными регистрами можете попробывать у себя. У меня не работает. |
|||
16
Ctvty
26.11.09
✎
14:30
|
да повторюсь запрос вообще говоря криво работает тогда когда нет группировок по регистраторам
|
|||
17
Rico_1C
26.11.09
✎
14:31
|
Попробуй поменять порядок запросов, какой будет затираться - тот-же?!..
|
|||
18
Rico_1C
26.11.09
✎
14:33
|
Попробуй периодичность поставить - Запись..
|
|||
19
Ctvty
26.11.09
✎
14:36
|
(17) делал
(18) делал оба метода не помогли Есть сильное подозрение что косяк растет из методов расчета остатков в 1С. |
|||
20
Rico_1C
26.11.09
✎
14:37
|
Тады делай ч/з СКД..
|
|||
21
hhhh
26.11.09
✎
14:43
|
(19) ну вообще-то есть надежда, что там NULL получается, тогда должно по-любому затереть.
|
|||
22
Aprobator
26.11.09
✎
14:44
|
(21) NULL то откуда может взяться если здесь соединения нет?
|
|||
23
Aprobator
26.11.09
✎
14:45
|
А если убрать поля период и регистратор - как все отработает?
|
|||
24
hhhh
26.11.09
✎
14:45
|
(19) попробуй как в (1). Должно прокатить.
|
|||
25
Ctvty
26.11.09
✎
14:46
|
(23) работает на ура
беда в том что регистратор нужен |
|||
26
Ctvty
26.11.09
✎
14:46
|
(24) не помогает
|
|||
27
Aprobator
26.11.09
✎
14:47
|
(25) ну вот в этом видно и трабла, что конечные остатки по разным регистрам по разным регистраторам.
|
|||
28
Ctvty
26.11.09
✎
14:54
|
а как ее обойти траблу эту?
|
|||
29
hhhh
26.11.09
✎
14:56
|
(28) СГРУППИРОВАТЬ а потом уже ИТОГИ
|
|||
30
8vC1
26.11.09
✎
14:58
|
Никак, так и должно быть. Потому что, нельзя объединять такие остатки. Пример реализация товаров комиссия #1 делает в переданных товарах расход, а в товарах в рознице она же делает расход, значит результат объединения задвоится, или она же делает в одном регистре приход, а в другом расход если вид операции коммисия - значит результат объелинения таеих остатков будет 0. Задача не имеет смысла.
|
|||
31
ValeriTim
26.11.09
✎
14:59
|
(0) погоди, тебе их (остатки) _сложить_ надо ? или объединить ?
|
|||
32
Aprobator
26.11.09
✎
15:03
|
в чем вообще исходная задача заключается?
|
|||
33
8vC1
26.11.09
✎
15:04
|
(30) Сам не понял что написал. Если проще, то один и тот же регистратор оба регистра двигать может в одну сторону, а может один в расход другой в приход. Так что запрос правильно работает. Если тебе нужно получить остатки по обоим и сложить тогда надо писать по другому запрос. С вставками, чтобы общий регистратор не уменьшал количествоОстаток другого.
|
|||
34
Ctvty
26.11.09
✎
15:06
|
(29) ага остаки мы при группировке сложим и что в результате получим? короче пробовал не помогло
(31) Нужно получить сумму остатков по двум регистрам. (32) исходная задача: написать мега отчет. :-) нужно получить количество товара. Это остатки регистра товары на складах, товары в рознице, товары переданные, товары ДЛЯ розницы(этот самописный) |
|||
35
Rico_1C
26.11.09
✎
15:07
|
Попробуй ч/з Пакет запросов..
|
|||
36
Aprobator
26.11.09
✎
15:09
|
(34) дык - итоговые записи сделай без регистраторов. Периоды приведи к началу дня, а вот детальные записи делай с регистраторами.
|
|||
37
ValeriTim
26.11.09
✎
15:10
|
(34) ну тогда ты _впринципе_ неправильно запрос пишеш ... у тебя должно быть что то вроде:
......... ТоварыВРознице.КоличествоНачальныйОстаток КАК КоличествоНачальныйОстаток1, ТоварыВРознице.КоличествоКонечныйОстаток КАК КоличествоКонечныйОстаток1, 0 КАК КоличествоНачальныйОстаток2, 0 КАК КоличествоКонечныйОстаток2, ......... ОБЪЕДИНИТЬ ВСЕ ......... 0, 0, ТоварыНаСкладахОстаткиИОбороты.КоличествоНачальныйОстаток, ТоварыНаСкладахОстаткиИОбороты.КоличествоКонечныйОстаток, ......... а потом уже их складывать. По-моему так. |
|||
38
8vC1
26.11.09
✎
15:10
|
Если тебе нужны остатки товаров по обоим регистрам, то бери остаток по каждому и складывай. А тот запрос который ты привел в (0) не остатки складывает, а скорее ищет расхождения в содержимом, с подсчетом общих ресурсов.
|
|||
39
8vC1
26.11.09
✎
15:11
|
Во в (37) похоже на правду. Автор учись писать запросы :)
|
|||
40
Rico_1C
26.11.09
✎
15:14
|
в (37) НЕсовсем правда..
|
|||
41
Rico_1C
26.11.09
✎
15:15
|
Эт НУНОделать во вложенном запросе, потом - складывать..
|
|||
42
8vC1
26.11.09
✎
15:16
|
ВЫБРАТЬ
ТоварыВРознице.Номенклатура КАК Номенклатура, ТоварыВРознице.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры, ТоварыВРознице.КоличествоНачальныйОстаток КАК КоличествоНачальныйОстаток, ТоварыВРознице.КоличествоКонечныйОстаток КАК КоличествоКонечныйОстаток, ТоварыВРознице.Склад КАК Склад, ТоварыВРознице.Период КАК Период, ТоварыВРознице.Регистратор КАК Регистратор, NULL КАК КоличествоНачальныйОстаток1, NULL КАК КоличествоКонечныйОстаток1 ИЗ РегистрНакопления.ТоварыВРознице.ОстаткиИОбороты(&ДатаНач, &ДатаКон, Регистратор, , ) КАК ТоварыВРознице ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ ТоварыПереданныеОстаткиИОбороты.Номенклатура, ТоварыПереданныеОстаткиИОбороты.ХарактеристикаНоменклатуры, NULL, NULL, ТоварыПереданныеОстаткиИОбороты.Контрагент, ТоварыПереданныеОстаткиИОбороты.Период, ТоварыПереданныеОстаткиИОбороты.Регистратор, ТоварыПереданныеОстаткиИОбороты.КоличествоНачальныйОстаток, ТоварыПереданныеОстаткиИОбороты.КоличествоКонечныйОстаток ИЗ РегистрНакопления.ТоварыПереданные.ОстаткиИОбороты(&ДатаНач, &ДатаКон, Регистратор, , ) КАК ТоварыПереданныеОстаткиИОбороты ИТОГИ СУММА(КоличествоНачальныйОстаток), СУММА(КоличествоКонечныйОстаток) ПО ОБЩИЕ, Склад, Номенклатура, ХарактеристикаНоменклатуры, Период, Регистратор, КоличествоНачальныйОстаток1, КоличествоКонечныйОстаток1 |
|||
43
ValeriTim
26.11.09
✎
15:17
|
(41) а я и не говорил, что это все можно сделать в прямом (без встроенного) запросе ... надо же и немного думать ... :)
|
|||
44
Rico_1C
26.11.09
✎
15:18
|
И на Null проверять, соотвенно..
|
|||
45
8vC1
26.11.09
✎
15:18
|
+(42) Это, чтобы проверить (37).
|
|||
46
Rico_1C
26.11.09
✎
15:18
|
(42) - эт ЧТО за ЧУШЬ?!..
|
|||
47
Ctvty
26.11.09
✎
15:21
|
(42)пробывал нихт арбайтен. остатки разбегаются кто куда
|
|||
48
ValeriTim
26.11.09
✎
15:23
|
(47) ну так и должно быть ... дальше думать надо :)
|
|||
49
ValeriTim
26.11.09
✎
15:23
|
+(48) причем тут уже все необходимое дали ... :)
|
|||
50
Ctvty
26.11.09
✎
15:24
|
(49) поясни не догоняю
|
|||
51
Rico_1C
26.11.09
✎
15:25
|
ВЫБРАТЬ
ВложенныйЗапрос.Номенклатура, ВложенныйЗапрос.ХарактеристикаНоменклатуры, ЕСТЬNULL(ВложенныйЗапрос.КоличествоНачальныйОстаток, 0) + ЕСТЬNULL(ВложенныйЗапрос.КоличествоНачальныйОстаток1, 0) КАК Поле1, ЕСТЬNULL(ВложенныйЗапрос.КоличествоКонечныйОстаток, 0) + ЕСТЬNULL(ВложенныйЗапрос.КоличествоКонечныйОстаток1, 0) КАК Поле2, ВложенныйЗапрос.Склад, ВложенныйЗапрос.Период, ВложенныйЗапрос.Регистратор ИЗ (ВЫБРАТЬ ТоварыВРознице.Номенклатура КАК Номенклатура, ТоварыВРознице.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры, ТоварыВРознице.КоличествоНачальныйОстаток КАК КоличествоНачальныйОстаток, ТоварыВРознице.КоличествоКонечныйОстаток КАК КоличествоКонечныйОстаток, ТоварыВРознице.Склад КАК Склад, ТоварыВРознице.Период КАК Период, ТоварыВРознице.Регистратор КАК Регистратор, 0 КАК КоличествоНачальныйОстаток1, 0 КАК КоличествоКонечныйОстаток1 ИЗ РегистрНакопления.ТоварыВРознице.ОстаткиИОбороты(&ДатаНач, &ДатаКон, Регистратор, , ) КАК ТоварыВРознице ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ ТоварыПереданныеОстаткиИОбороты.Номенклатура, ТоварыПереданныеОстаткиИОбороты.ХарактеристикаНоменклатуры, 0, 0, ТоварыПереданныеОстаткиИОбороты.Контрагент, ТоварыПереданныеОстаткиИОбороты.Период, ТоварыПереданныеОстаткиИОбороты.Регистратор, ТоварыПереданныеОстаткиИОбороты.КоличествоНачальныйОстаток, ТоварыПереданныеОстаткиИОбороты.КоличествоКонечныйОстаток ИЗ РегистрНакопления.ТоварыПереданные.ОстаткиИОбороты(&ДатаНач, &ДатаКон, Регистратор, , ) КАК ТоварыПереданныеОстаткиИОбороты) КАК ВложенныйЗапрос |
|||
52
ValeriTim
26.11.09
✎
15:25
|
(50) а что пояснить ? остатки стали разбегаться, но они стали правильные. теперь их надо сложить - для этого нужно внимательно почитать все что выше писали.
|
|||
53
ValeriTim
26.11.09
✎
15:26
|
(51) то, что ты умеешь писать запросы это просто мега респект ! но автор так и не научится писать запросы самостоятельно ...
|
|||
54
Rico_1C
26.11.09
✎
15:28
|
(0), (53) 5 мин. за доп плату !.. ;))
|
|||
55
ValeriTim
26.11.09
✎
15:32
|
(54) непонял ... эт я заплатить должен ? :)
|
|||
56
8vC1
26.11.09
✎
15:33
|
(55) Конечно, чем больше народу донат сделает, тем ему лучше :)
|
|||
57
Rico_1C
26.11.09
✎
15:35
|
Да он ВЕСЬмозг выеП, за эти ДВАдня - проще сделать.. ;))
|
|||
58
ValeriTim
26.11.09
✎
15:35
|
(57) :))))
|
|||
59
Ctvty
26.11.09
✎
15:36
|
Ребят это все отлично! только как вот итоги теперь по таким полям считать?
и что получится в результате подумали? Напомню что итоги по остаткам считаются очень хитрым способом. а никак не простым суммированием. |
|||
60
ValeriTim
26.11.09
✎
15:37
|
(59) пля .... :)))))))) нет слов :))) ....
|
|||
61
Rico_1C
26.11.09
✎
15:37
|
Подробное ТЗ, в течении ДНЯ - решение ЗАдоп плуту !..
P.S.: НЕнаглей.. |
|||
62
8vC1
26.11.09
✎
15:39
|
(60) - (61) А с итогами то по регистратору, такая же хрень, даже с вложенным запросом. Так что задача пока не решена.
|
|||
63
Ctvty
26.11.09
✎
15:40
|
Отчет строится по номенклатуре затем в случае необходимости выводится по документам.
Поэтому нужно запрос делать по регистратору, Поэтому же нужно получать в итогах остатки. Решение предложенное в (51) дает несколько иной результат. Т.е. итоги по остаткам летят кто куда, а именно суммируются итог по каждому регистратору. |
|||
64
ValeriTim
26.11.09
✎
15:43
|
(63) ты знаешь, не на одном форуме я не получал полный и окончательный ответ на свой вопрос, но зато мне давали идеи/советы, которые и помогали прийти к правильному решению задачи. Может я вопросы слишком сложные задавал ... хотя я так не считаю. А хочешь чтоб тебе задачу решили - (61).
|
|||
65
Rico_1C
26.11.09
✎
15:43
|
(63) БляБуду ;)), НУдобавь ИТОГИ..
ИТОГИ СУММА(Поле1), СУММА(Поле2) ПО ОБЩИЕ, Склад, Номенклатура, Регистратор |
|||
66
Rico_1C
26.11.09
✎
15:45
|
Или ПОтупому в цикле считай..
|
|||
67
hhhh
26.11.09
✎
15:46
|
(63) ну делай один запрос по номенклатуре, один по регистраторам. Нафига ты две задачи в один запрос суешь?
|
|||
68
Ctvty
26.11.09
✎
15:46
|
(65) ну и что ты получишь?
Сам попробуй! ты получишь никак не итог по остатку! то есть остаток на дату допустим 12 а ты получишь сумму остатков! т.е вместо 12 получишь скажем 350 |
|||
69
8vC1
26.11.09
✎
15:46
|
(63) Не поможет, все равно свернется по регистратору и даст сумму не ту. Тут вся фишка в разном составе регистров остатков и их суммировании.
Не автор тебе здесь никто не поможет, так как люди здесь меркантильные как (54) так что учись писать запросы. Совет, попробуй упростить запрос до двух отдельных. |
|||
70
ValeriTim
26.11.09
✎
15:49
|
(68) ты сам то следишь за своими мыслями ? то тебе нужна сумма остатков, теперь уже оказывается - нет сам остаток ...
|
|||
71
8vC1
26.11.09
✎
15:52
|
(70) Вы ребята фишку не просекли. Логика работы у этих двух регистров разная. Если бы нужна была бы сумма, тогда он юзал бы виртуальную таблицу ОСТАТКИ, и все было бы хорошо. А так (69).
|
|||
72
Ctvty
26.11.09
✎
15:53
|
(70) блин! мне нужна сумма остатков по регистрам!!! а не по регистраторам!
т.е. допустим по одному регистру остаток 12 по другому 10 правильный результат 22 после выполнения (51) и (65) мы получим сумму остатков по регистраторам. т.е ни как не 22 а сумму гораздо большую, зависящую от количества самих регистраторов и количества которое в них указано! |
|||
73
Hans
26.11.09
✎
15:54
|
(72) ты отчет делаешь или что?
|
|||
74
Rico_1C
26.11.09
✎
15:55
|
Программно добавляй или удаляй регистратор из запроса - в зависимости от задачи..
|
|||
75
Rico_1C
26.11.09
✎
15:55
|
Я имею ввиду в итогах..
|
|||
76
ValeriTim
26.11.09
✎
15:57
|
(72) СКД тебе в помощь - там это с легкостью делается (если речь идет об отчете)
|
|||
77
Ctvty
26.11.09
✎
15:58
|
Вот уже второй совет про СКД. беда в том что не пользовался им ни разу. Даже не знаю откуда копать начать. если ссылкой поделитесь спасибо.
|
|||
78
Rico_1C
26.11.09
✎
15:58
|
(72) я ему предлагал (20)
|
|||
79
Rico_1C
26.11.09
✎
15:59
|
БЕЗ Регистратор в ИТОГИ - работает?!..
|
|||
80
Hans
26.11.09
✎
15:59
|
(77)делай через построитель и универсальный отчет, тоже можно. Периодичность регистратора ставь "авто".
|
|||
81
ValeriTim
26.11.09
✎
16:00
|
ищи книгу "Е.Ю.Хрусталева - Разработка сложных отчетов в 1С_Предприятии 8"
|
|||
82
8vC1
26.11.09
✎
16:00
|
(79) Не прокатит. Ты ему на курсы сходить посоветуй.
|
|||
83
Ctvty
26.11.09
✎
16:01
|
(80) так и делаю.
(81) угу спасибо! |
|||
84
8vC1
26.11.09
✎
16:03
|
По СКД. Кстати тоже не поможет. На таких задачах понимаешь, что программист 1С не может работать без ТЗ, где нарисована выходная печатная форма и описано что в ней должно быть и какие расшифровки должны быть.
|
|||
85
sam_sam
26.11.09
✎
16:03
|
чего ты мозг взрываешь, сделай
ПОЛНОЕ ОБЪЕДИНЕНИЕ |
|||
86
Rico_1C
26.11.09
✎
16:06
|
(85) Эт еще ЧТОза объединение?!.. ;))
|
|||
87
Ctvty
26.11.09
✎
16:06
|
(85)может соединение?
|
|||
88
Rico_1C
26.11.09
✎
16:07
|
(87) ИТОГИ БЕЗ Регистратор - работает?!..
|
|||
89
ValeriTim
26.11.09
✎
16:07
|
(84) да что ты ? а я почему то сделал :)
|
|||
90
8vC1
26.11.09
✎
16:08
|
(85) 5 баллов ! Надо в ЗАО 1с написать, что нам не хватает их версии языка запросов. :)
|
|||
91
sam_sam
26.11.09
✎
16:10
|
на пользуйся
ВЫБРАТЬ | ВЫБОР | КОГДА ТоварыВРозницеОстаткиИОбороты.Номенклатура ЕСТЬ NULL | ТОГДА ТоварыПереданныеОстаткиИОбороты.Номенклатура | ИНАЧЕ ТоварыВРозницеОстаткиИОбороты.Номенклатура | КОНЕЦ КАК Номенклатура, | ВЫБОР | КОГДА ТоварыВРозницеОстаткиИОбороты.ХарактеристикаНоменклатуры ЕСТЬ NULL | ТОГДА ТоварыПереданныеОстаткиИОбороты.ХарактеристикаНоменклатуры | ИНАЧЕ ТоварыВРозницеОстаткиИОбороты.ХарактеристикаНоменклатуры | КОНЕЦ КАК Характеристика, | ЕСТЬNULL(ТоварыВРозницеОстаткиИОбороты.КоличествоНачальныйОстаток, 0) + ЕСТЬNULL(ТоварыПереданныеОстаткиИОбороты.КоличествоНачальныйОстаток, 0) КАК Количество, | ВЫБОР | КОГДА ТоварыВРозницеОстаткиИОбороты.Регистратор ЕСТЬ NULL | ТОГДА ТоварыПереданныеОстаткиИОбороты.Регистратор | ИНАЧЕ ТоварыВРозницеОстаткиИОбороты.Регистратор | КОНЕЦ КАК Регистратор |ИЗ | РегистрНакопления.ТоварыПереданные.ОстаткиИОбороты(, , Регистратор, , ) КАК ТоварыПереданныеОстаткиИОбороты | ПОЛНОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыВРознице.ОстаткиИОбороты(, , Регистратор, , ) КАК ТоварыВРозницеОстаткиИОбороты | ПО ТоварыПереданныеОстаткиИОбороты.Номенклатура = ТоварыВРозницеОстаткиИОбороты.Номенклатура | И ТоварыПереданныеОстаткиИОбороты.ХарактеристикаНоменклатуры = ТоварыВРозницеОстаткиИОбороты.ХарактеристикаНоменклатуры | И ТоварыПереданныеОстаткиИОбороты.Регистратор = ТоварыВРозницеОстаткиИОбороты.Регистратор |ИТОГИ | СУММА(Количество) |ПО | Номенклатура, | Характеристика, | Регистратор |
|||
92
Rico_1C
26.11.09
✎
16:13
|
(91) Эт ЧТОза ХЕРЬ?!..
|
|||
93
sam_sam
26.11.09
✎
16:13
|
(87) ну да соединение
|
|||
94
sam_sam
26.11.09
✎
16:13
|
(92) поконкретней, что не нравится?
зы херь у тебя в голове. |
|||
95
8vC1
26.11.09
✎
16:14
|
(94) Не угадал с запросом.
|
|||
96
Ctvty
26.11.09
✎
16:15
|
(91) для начала соединение по регистратору делать низя потому как у этих регистров могут быть разные регистраторы.
затем даже так ты не получишь правильные итоги по остаткам |
|||
97
sam_sam
26.11.09
✎
16:16
|
ща в консоли попробую, если работает. Значит вы все ...., ошибались.
|
|||
98
Rico_1C
26.11.09
✎
16:16
|
| ЕСТЬNULL(ТоварыВРозницеОстаткиИОбороты.КоличествоНачальныйОстаток, 0) + ЕСТЬNULL(ТоварыПереданныеОстаткиИОбороты.КоличествоНачальныйОстаток, 0) КАК Количество,
Эт КАКпонимать?!.. ;)) |
|||
99
ValeriTim
26.11.09
✎
16:17
|
(97) только хорошенько проверяй :)
|
|||
100
8vC1
26.11.09
✎
16:17
|
100 !!!!
|
|||
101
Ctvty
26.11.09
✎
16:17
|
сто! :-)
|
|||
102
Rico_1C
26.11.09
✎
16:18
|
НИкогда НЕсоединяй - ОСТАТКИ !!!
|
|||
103
sam_sam
26.11.09
✎
16:18
|
(98) Я так понял, ему нужно количество переданных + Количество в рознице, помоему это следует из (0)
|
|||
104
sam_sam
26.11.09
✎
16:20
|
(102) О, как. Это почему это?
|
|||
105
Ctvty
26.11.09
✎
16:21
|
(104) у остатков своя хитрая система расчета. если ты их соединяешь то Конечный остаток в итогах ты не получишь
|
|||
106
Rico_1C
26.11.09
✎
16:24
|
КАКможно соеденить ОСТАТКИ?!..
|
|||
107
sam_sam
26.11.09
✎
16:27
|
(106) ?????, а почему нет?
зы запустил 91 все ништяк работает |
|||
108
8vC1
26.11.09
✎
16:29
|
(106) На курсах в ЗАО рассказывают когда решают задачу по партиям.
(107) Это самообман называется. |
|||
109
Ctvty
26.11.09
✎
16:29
|
(107)ну теперь посмотри что ты получил в итогах.
Я запускал твой отчет результат меня не утешил |
|||
110
sam_sam
26.11.09
✎
16:31
|
ВЫБРАТЬ
| ВЫБОР | КОГДА ТоварыВРозницеОстаткиИОбороты.Номенклатура ЕСТЬ NULL | ТОГДА ТоварыПереданныеОстаткиИОбороты.Номенклатура | ИНАЧЕ ТоварыВРозницеОстаткиИОбороты.Номенклатура | КОНЕЦ КАК Номенклатура, | ВЫБОР | КОГДА ТоварыВРозницеОстаткиИОбороты.ХарактеристикаНоменклатуры ЕСТЬ NULL | ТОГДА ТоварыПереданныеОстаткиИОбороты.ХарактеристикаНоменклатуры | ИНАЧЕ ТоварыВРозницеОстаткиИОбороты.ХарактеристикаНоменклатуры | КОНЕЦ КАК Характеристика, | ТоварыВРозницеОстаткиИОбороты.КоличествоКонечныйОстаток КАК ТоварыВРознице, | ТоварыПереданныеОстаткиИОбороты.КоличествоКонечныйОстаток КАК ТоварыПереданные |ИЗ | РегистрНакопления.ТоварыПереданные.ОстаткиИОбороты(, , , , ) КАК ТоварыПереданныеОстаткиИОбороты | ПОЛНОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыВРознице.ОстаткиИОбороты(, , , , ) КАК ТоварыВРозницеОстаткиИОбороты | ПО ТоварыПереданныеОстаткиИОбороты.Номенклатура = ТоварыВРозницеОстаткиИОбороты.Номенклатура | И ТоварыПереданныеОстаткиИОбороты.ХарактеристикаНоменклатуры = ТоварыВРозницеОстаткиИОбороты.ХарактеристикаНоменклатуры | хотите сказать, что это запрос работать не будет? |
|||
111
Ctvty
26.11.09
✎
16:32
|
(110) регистратора не вижу.
|
|||
112
sam_sam
26.11.09
✎
16:39
|
(111) (отходил), ну значит остатки все таки объединять можно?
|
|||
113
sam_sam
26.11.09
✎
16:40
|
(109) что написал то и получил
Номенклатура 2 Характеристика 2 Регистратор1 1 Регистратор2 1, что не нравится? |
|||
114
Rico_1C
26.11.09
✎
16:42
|
(112) При ЧЕМздесь - ОБЪЕДИНЕНИЕ?!..
|
|||
115
Rico_1C
26.11.09
✎
16:43
|
(112) Я КОНЕЧНОпрогнал на счет - Соединения.. ;))
|
|||
116
sam_sam
26.11.09
✎
16:43
|
(114) тьфу ..ть соединение. Так почему таблицы остатков соединять нельзя?
+113 если бы Регистратор1 = Регистратор2, например документ движения у них был бы один получил бы итог. |
|||
117
Rico_1C
26.11.09
✎
16:45
|
(116) Эт я имел ввиду БУХитоги.. ;))
|
|||
118
sam_sam
26.11.09
✎
16:50
|
(117) ааа, бывает. С бух итогами работаю мало сейчас, звиздеть не буду. Но помню давным давно писал подобный запрос, для регистра бухгалтерии и все работало. Но только может без объединения по регистратору.
Чего там не так с ними? |
|||
119
Rico_1C
26.11.09
✎
16:51
|
ХЗ, гемор был - ч/з объединение помогло..
|
|||
120
sam_sam
26.11.09
✎
17:12
|
покурил (0) тоже должно работать.
ИТОГИ убери посмотри что получилось, присутствует ли записи из обоих регистров? |
|||
121
sam_sam
26.11.09
✎
17:17
|
ТоварыВРознице.Склад КАК Склад
ТоварыПереданныеОстаткиИОбороты.Контрагент стремные поля какие то, должно быть например так ТоварыВРознице.Склад КАК МестоНахождения ТоварыПереданныеОстаткиИОбороты.Контрагент КАК МестоНахождения |
|||
122
sam_sam
26.11.09
✎
23:11
|
в общем корректно работает только в таком виде
ВЫБРАТЬ ТоварыВРозницеОстаткиИОбороты.Номенклатура КАК Номенклатура, ТоварыВРозницеОстаткиИОбороты.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры, ТоварыВРозницеОстаткиИОбороты.Склад КАК Место, ЕСТЬNULL(ТоварыВРозницеОстаткиИОбороты.КоличествоКонечныйОстаток, 0) КАК КоличествоКонечныйОстаток, НАЧАЛОПЕРИОДА(ТоварыВРозницеОстаткиИОбороты.Период, ДЕНЬ) КАК Период, ТоварыВРозницеОстаткиИОбороты.Регистратор КАК Регистратор ИЗ РегистрНакопления.ТоварыВРознице.ОстаткиИОбороты(, , Запись, ДвиженияИГраницыПериода, ) КАК ТоварыВРозницеОстаткиИОбороты ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ ТоварыПереданныеОстаткиИОбороты.Номенклатура, ТоварыПереданныеОстаткиИОбороты.ХарактеристикаНоменклатуры, ТоварыПереданныеОстаткиИОбороты.Контрагент, ЕСТЬNULL(ТоварыПереданныеОстаткиИОбороты.КоличествоКонечныйОстаток, 0), НАЧАЛОПЕРИОДА(ТоварыПереданныеОстаткиИОбороты.Период, ДЕНЬ), ТоварыПереданныеОстаткиИОбороты.Регистратор ИЗ РегистрНакопления.ТоварыПереданные.ОстаткиИОбороты(, , Запись, ДвиженияИГраницыПериода, ) КАК ТоварыПереданныеОстаткиИОбороты ИТОГИ СУММА(КоличествоКонечныйОстаток) ПО Номенклатура, ХарактеристикаНоменклатуры, Место, Период, Регистратор |
|||
123
sam_sam
26.11.09
✎
23:12
|
проверочный запрос
ВЫБРАТЬ ТоварыВРозницеОстаткиИОбороты.Номенклатура КАК Номенклатура, ТоварыВРозницеОстаткиИОбороты.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры, ТоварыВРозницеОстаткиИОбороты.Склад КАК Место, ЕСТЬNULL(ТоварыВРозницеОстаткиИОбороты.КоличествоКонечныйОстаток, 0) КАК КоличествоКонечныйОстаток, "В рознице" КАК ГрупировочноеПоле, НАЧАЛОПЕРИОДА(ТоварыВРозницеОстаткиИОбороты.Период, ДЕНЬ) КАК Период, ТоварыВРозницеОстаткиИОбороты.Регистратор КАК Регистратор ИЗ РегистрНакопления.ТоварыВРознице.ОстаткиИОбороты(, , Запись, ДвиженияИГраницыПериода, ) КАК ТоварыВРозницеОстаткиИОбороты ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ ТоварыПереданныеОстаткиИОбороты.Номенклатура, ТоварыПереданныеОстаткиИОбороты.ХарактеристикаНоменклатуры, ТоварыПереданныеОстаткиИОбороты.Контрагент, ЕСТЬNULL(ТоварыПереданныеОстаткиИОбороты.КоличествоКонечныйОстаток, 0), "у контрагентов", НАЧАЛОПЕРИОДА(ТоварыПереданныеОстаткиИОбороты.Период, ДЕНЬ), ТоварыПереданныеОстаткиИОбороты.Регистратор ИЗ РегистрНакопления.ТоварыПереданные.ОстаткиИОбороты(, , Запись, ДвиженияИГраницыПериода, ) КАК ТоварыПереданныеОстаткиИОбороты ИТОГИ СУММА(КоличествоКонечныйОстаток) ПО Номенклатура, ХарактеристикаНоменклатуры, Место, ГрупировочноеПоле, Период, Регистратор |
|||
124
sam_sam
26.11.09
✎
23:15
|
а с соединением все отлично работает до включения периодичности. После включения, начинаются "чудеса", не ну может можно там как то настроить, но у меня не получилось. Надо будет еще раз как нить попробовать.
|
|||
125
Ctvty
27.11.09
✎
09:32
|
а ты попробуй уже в консоли оставить группировку только по номенклатуре и характеристике номенклатуры.
|
|||
126
Ctvty
27.11.09
✎
09:38
|
короче вопрос остается открытым пока.
каким образом сложить остатки двух регистров при включенной периодичности (регистратор) запросы приведенные мной в (1) и (15)работают отлично до того времени пока включены все группировки. если я оставляю только две группировки (Номенклатура, характеристика номенклатуры) то отчет остатки не суммирует, а выводит только по одному регистру. сейчас пробую через СКД но пока результат не увенчался успехом. получаю пока те же самые данные(неправильные). |
|||
127
8vC1
27.11.09
✎
09:46
|
(126) Что неужели до ВАС всех недошло ? Никак нельзя. По крайней мере по указанным регистрам. А если можно, то это будет такой гигантский запрос, что проще сделать через ТЗ.
|
|||
128
Ctvty
27.11.09
✎
09:48
|
(127)блин ну почему?
|
|||
129
Ctvty
27.11.09
✎
09:49
|
обороты складываются нормально в любых разрезах... а с остатками такая бяка
|
|||
130
8vC1
27.11.09
✎
09:50
|
(128) Я еще вчера пытался объяснить, читай посты. Но это надо понять самому.
1) Понять что записывается в каждый регистр. 2) Каким регистратором и в какую сторону (в + или в - ). 3) Попытаться сложить в уме. |
|||
131
8vC1
27.11.09
✎
09:52
|
Нет, мы будем до посинения пытаться найти глюк в языке запросов, у нас же у всех 22 см.
|
|||
132
8vC1
27.11.09
✎
09:59
|
Я же тоже в (42) думал, что можно через объединить сделать, но до меня потом дошло, что не удачные регистры накопления выбраны, а потом пришли умники с полным соединением, СКД и т.д. Такими запросами, даже включая хитрые вложенные подзапросы, можно получать сумму, только не по этим регистрам. А например, по двум РН, где нет общих регистраторов.
|
|||
133
sam_sam
27.11.09
✎
10:46
|
(125) Пробовал, все ништяк
по номенклатуре http://i053.radikal.ru/0911/30/ecbbf6b9928c.jpg http://s57.radikal.ru/i156/0911/f1/b561838b964f.jpg |
|||
134
sam_sam
27.11.09
✎
10:58
|
сразу проссумированный http://i040.radikal.ru/0911/18/ba98cd0ee9e5.jpg
по контрагентам и складам http://i001.radikal.ru/0911/43/5eb9178cdb0b.jpg |
|||
135
sam_sam
27.11.09
✎
11:13
|
кстати есть один момент. Чего то я в типовой не припомню отчета, который бы строился по двум регистрам остатков одновременно.
Если ведомость то по одному регистру как например ведомость по остаткам на складах, а если доступность товаров то по таблицам остатков строится. Может она кривая, эта таблица остатков и оборотов. Сделай им как там и пусть отъ...ся. |
|||
136
sam_sam
27.11.09
✎
11:20
|
а да еще как вариант, взять таблицу остатков и таблицу оборотов. Если оборотов не козлит, то должно работать.
(132) "потом пришли умники с полным соединением", хлебало уже закрой свое. Не удивительно, что тебя на работу не берут никуда. |
|||
137
8vC1
27.11.09
✎
11:21
|
(136) Почему это не берут ?
|
|||
138
sam_sam
27.11.09
✎
11:21
|
(137) ну ты же говорил, что без работы с кризиса.
|
|||
139
8vC1
27.11.09
✎
11:22
|
Ну временно, и то по причине собственной лени.
|
|||
140
sam_sam
27.11.09
✎
11:23
|
(139) это ты себя утешаешь. Причина, что такой тошнот нах никому не нужен.
|
|||
141
8vC1
27.11.09
✎
11:25
|
Смотри sam_sam. А то тебя выгонят с твоим упрямством в решении того что не решают запросом не понимая логики что надо, и как устроены эти два объекта , а меня возьмут и оклад больше сделают ;)
|
|||
142
sam_sam
27.11.09
✎
11:30
|
(141) Мечтай.
Прикинь, не смотря на мой мегапакостный характер. За 6 лет работы ни нашлось ни одного предприятия где я бы долгосрочно работал, с которого бы меня "выгнали". (0) Если никак не взлетает я бы по остаткам сделал, а расшифровки выдавал бы отдельно по регистру. |
|||
143
8vC1
27.11.09
✎
11:32
|
(142) За 6 лет сколько сменил мест работы ?
|
|||
144
sam_sam
27.11.09
✎
11:35
|
(141) а не берут тебя никуда и выгоняют, потому что под нерешенную проблему ищешь отмазки, типа оно так устроено. Вместо того чтобы решить.
(143) 5. |
|||
145
Ctvty
27.11.09
✎
11:35
|
(133) ага так работает. не поставил группировку колонок.
осталось придумать как сгруппировать в колонках только остатки а остальные показатели выводить без группировок по колонкам. иначе получится не айс :-) |
|||
146
Ctvty
27.11.09
✎
11:37
|
(142) я в приципе сделал отчет не по остаткамиОборотам а просто по регистрам остатков и объединил с регистрами оборотов. получилось очень криво (есть ненужные строки и т.п.) но цифры дает правильные
|
|||
147
sam_sam
27.11.09
✎
11:42
|
(146) ну тогда можно закрыть и оставить. Но выглядеть будет не профессионально.
Помоему самое красивое решение будет выдывать отчет по остаткам, а расшифровки-ведомости выдавать по каждому регистру в отдельности. |
|||
148
sam_sam
27.11.09
✎
11:42
|
(+147) ну тогда можно закрыть глаза и оставить.
|
|||
149
Ctvty
27.11.09
✎
11:43
|
А вообще вся беда от того что изначально в базе не велся учет по складам в регистре ТоварыОрганизаций.
Было бы просто великолепно вынимать нужные данные. |
|||
150
8vC1
27.11.09
✎
11:43
|
(144) А я за аналогичный период 6-7.
Вот у тебя в (133) у контрагентов 4 холодильника, а если сложить то сумма то будет не 4 далеко. Передача товара #0000001 только одна 5 штук выдает. |
|||
151
sam_sam
27.11.09
✎
11:48
|
(150) видел, потому и предложил решать отдельно остатки и отдельно расшифровки.
6/7 = 0.8 - в сад, такие сотрудники нам не нужны. |
|||
152
8vC1
27.11.09
✎
11:49
|
http://i040.radikal.ru/0911/18/ba98cd0ee9e5.jpg
Вот тоже остаток у тебя 6 шт. Но приход то был на 1 шт, перемещения товар со склада в рамках всей организации не должны списывать или приходовать товар. (151) Зря, я на самом деле не плохой. |
|||
153
8vC1
27.11.09
✎
11:53
|
Кстати нельзя так считать (6/7 = 0.8) На последнем месте я проработал больше 1,5 года.
|
|||
154
sam_sam
27.11.09
✎
11:54
|
(152) я ж тебе говорил, что видел.
Пестня есть такая, может ты на самом деле лучше всех, только это сразу не поймешь. А по коэффициентам с учетом что ты по пол года вообще х.пинаешь, вообще 0.5 получается. Так что сущи сухари. |
|||
155
8vC1
27.11.09
✎
11:58
|
(154) Так это другой рисунок. Остаток должен быть не 6, а 1. То есть ты не решил задачу, а запутался еще больше. Про сухари ты зря, никто не застрахован.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |