Имя: Пароль:
1C
1С v8
Неправильное соединение в запросе
,
0 ТутЯ
 
16.04.12
18:39
Есть вот такой запрос:
v8: Вывести минимальный остаток

При соединении

ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
          ДопРНом.Номенклатура КАК Номенклатура,
          ДопРНом.ПодразделениеКомпании КАК ПодразделениеКомпании,
          СУММА(ДопРНом.ЗначениеРеквизита) КАК МинОстаток
       ИЗ
           РегистрСведений.ДополнительныеРеквизитыНоменклатуры.СрезПоследних(
                   &ДатаКон, ДополнительныйРеквизит = &ДополнительныйРеквизит) КАК ДопРНом
           
       СГРУППИРОВАТЬ ПО
           ДопРНом.Номенклатура,
           ДопРНом.ПодразделениеКомпании) КАК МинимальныйОстаток
       ПО ТаблицаРегистра.Номенклатура = МинимальныйОстаток.Номенклатура
           И ТаблицаРегистра.ПодразделениеКомпании = МинимальныйОстаток.ПодразделениеКомпании


если пользователь устанавливает группировку по номенклатуре и по покупателю, то идет "размножение данных" В колонке МинимальныйОстаток.МинОстаток:

Например,

Номенклатура/Покупатель        мин.остаток
   

Диск                124
   Покупатель1        62
   Покупатель2        62


Колодка                150
   Покупатель1        50
   Покупатель2        50
   Покупатель3        50


Общий итог=274

Подскажите, плиз, как нужно правильно соединять в данном случае?
Нужно чтобы группировалось так:

Номенклатура/Покупатель        мин.остаток
   

Диск                62
   Покупатель1        62
   Покупатель2        62


Колодка                50
   Покупатель1        50
   Покупатель2        50
   Покупатель3        50


С общим итогом=92


или так:
Диск                62
   Покупатель1        0
   Покупатель2        0


Колодка                50
   Покупатель1        0
   Покупатель2        0
   Покупатель3        0


С общим итогом=92
1 Конфигуратор1с
 
16.04.12
18:41
(0)СКД?
2 ТутЯ
 
16.04.12
18:42
Не СКД
3 Shurjk
 
16.04.12
18:43
Размножение данных... когда же вы наконец то разберетесь как работает соединение.
В регистре какие измерения, какой он.
4 Shurjk
 
16.04.12
18:45
+(3) Отлпдьте сначал запро с которым соединяете, посмотрите что в результате получиться почитайте и вспомните как работает соединение. А затем уже описывайте его.
5 ТутЯ
 
16.04.12
18:50
Регистр сведений "ДополнительныеРеквизитыНоменклатуры"
Измерения Номенклатура,ПодразделениеКомпании,ДополнительныйРеквизит
периодический независимый

Регистр накопления "Продажи"
Измерения ПодразделениеКомпании,Номенклатура,Поставщик,Покупатель, СтатусПартии,ХозОперация,ДоговорВзаиморасчетов,ХарактеристикаНоменклатуры, СкладКомпании,СтавкаНДС,Партия,Авторабота,Проект
Вид регистра Обороты.
6 ТутЯ
 
16.04.12
18:53
Shurjk, Запрос в котором соединяю работает нормально.
Как соединяется представляю и представляю как соединилось сейчас.
Вопрос в том как в таких случаях соединить :).
Если подскажите где почитать про такие соединения, была бы благодарна.
7 Конфигуратор1с
 
16.04.12
20:23
(6)он дал обет молчания - девушкам без фото ничего не говорит)))
8 ТутЯ
 
16.04.12
20:34
Ну вот она Я. http://babiki.ru/uploads/images/8/6/8/7/3/dcfa7d33f8.jpg
Подскажите?
9 Конфигуратор1с
 
16.04.12
20:36
(8)какая фотка такой и ответ будет)))
10 ТутЯ
 
16.04.12
20:39
Наверно, просто ответа нет.
11 Конфигуратор1с
 
16.04.12
20:42
(10)Естественно, нет фото - нет ответа.
12 IKSparrow
 
16.04.12
20:44
(11) Чего ты к ней пристаёшь, может там бабушка лет под 60. Уже были прецеденты.
13 Конфигуратор1с
 
16.04.12
20:46
(12)Надежда умирает последней))))
14 Конфигуратор1с
 
16.04.12
20:46
(12)тем более бабушка что не человек?
15 ТутЯ
 
16.04.12
20:55
Эх...В чем смысл? Что даст фото? Увидите скажите красивая девушка что дальше? Вам потом еще что показать?
Может тут есть кто не замороченный на фотах и кто подскажет ответ?
16 viktor_vv
 
16.04.12
21:05
(15) Так таким запросом вы и не получите требуемый результат. Это только при выводе в макет можно разрулить.
17 Конфигуратор1с
 
16.04.12
21:05
(15)Фото - это не заморочка, а традиция. А в традициях нет смысла, но соблюдать их надо. А потом ничего показывать не надо, кроме текста запроса и как обход результата проходит.
18 ТутЯ
 
16.04.12
21:07
Спасибо.
19 Конфигуратор1с
 
16.04.12
21:15
(18)вообще, это проще сделать на скд. Там в макете и разрулить
20 ТутЯ
 
16.04.12
22:39
Большой запрос не мой, я только несколько полей хочу добавить.
21 Конфигуратор1с
 
16.04.12
23:18
(20)тогда реально только при выводе макета.
22 acsent
 
16.04.12
23:29
мин остаток нужно не соединением, а объединением выводить
http://infostart.ru/public/19793/
http://infostart.ru/upload/iblock/c6f/img_49f81313d188e.jpg
23 Конфигуратор1с
 
16.04.12
23:46
(22)ей скд не катит
24 ТутЯ
 
17.04.12
09:23
acsent, за ссылки спасибо.
25 ТутЯ
 
17.04.12
10:05
В данном отчете используется построитель отчета.
Есть ли возможность перехватить где-то результат и сформировать нужные мне колонки(мин. остаток, кон.остаток,...)? Если я правильно понимаю запрос выгружается сразу в параметры в макете.
26 Конфигуратор1с
 
17.04.12
10:31
(25)текст вывода покажи
27 ТутЯ
 
17.04.12
10:44
1с8.2 "Альфа-Авто" Рарус. Отчет "Анализ продаж". Вывод через кучу процедур общего модуля.
28 Конфигуратор1с
 
17.04.12
10:52
(27)у меня нет данной конфы, но в любоv случае, если там не автовывод тогда там должна быть область с парамтрами которую ты заполняешь и выводишь. Вот отлови момент вывода этой области и перед выводом установи нулевое значение для конкретной строки.
29 ТутЯ
 
17.04.12
10:53
Пытаюсь. Пока не нашла...Напишу чуть позже...
30 ТутЯ
 
17.04.12
12:18
Автовывод.
А можно наверно передавать параметр, если иерархия позволяет правильно данные получить, то выводить, а иначе 0.
31 Конфигуратор1с
 
17.04.12
12:35
(30)можно
32 ТутЯ
 
17.04.12
12:59
Получилось.
При попытке разобраться наткнулась за "зашитую Рарусом функцию" и поэтому сделать ничего с колонками невозможно.
Решение :
запрос остался таким как и был, только для вывода минимального остатка и конечного остатка
ВЫБОР
  КОГДА &СВыводом
  ТОГДА МинимальныйОстаток.МинОстаток
  ИНАЧЕ 0
КОНЕЦ КАК МинОстаток,

ВЫБОР
  КОГДА &СВыводом
  ТОГДА ОстаткиТоваровКомпанииОстатки.КоличествоОстаток
  ИНАЧЕ 0
КОНЕЦ КАК КоличествоОстаток

в параметры передается условие:
   ПостроительОтчета.Параметры.Вставить("СВыводом" , СВыводом);

где
СВыводом- в зависимости от того что нужно, у меня в данном случае
СВыводом = Ложь;
Если ИзмеренияСтроки.Получить(ИзмеренияСтроки.Количество()-1).ПутьКДанным = "Номенклатура" Тогда
   СВыводом = Истина;
КонецЕсли;
33 Конфигуратор1с
 
17.04.12
13:13
(32)Умничка. С тебя фотка
Программист всегда исправляет последнюю ошибку.