Имя: Пароль:
1C
 
Итак мега вопрос по 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. То есть ты не решил задачу, а запутался еще больше. Про сухари ты зря, никто не застрахован.
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший