Имя: Пароль:
1C
1С v8
Подскажите по запросу!
,
0 tciban
 
23.08.11
10:45
Уважаемые коллеги! Есть простенький регистр с двумя измерениями Сделка и поставщик и ресурсом ДолгПоставщику. Если ДолгПоставщику больше нуля - мы должны, если меньше - мы (о Боже!) переплатили. Как запросом получить сколько мы должны и сколько переплатили по каждой сделке?

Заранее благодарен за совет!
1 butterbean
 
23.08.11
10:46
(0) небось даже конструктор запроса не открывал
2 Wobland
 
23.08.11
10:47
(0) РН? обратись к остаткам
3 tciban
 
23.08.11
10:51
Открывал-открывал.
Например вот такое намудрил
ВЫБРАТЬ
   ДолгПоставщикамОстатки.Сделка КАК Сделка,
   ДолгПоставщикамОстатки.СуммаОстаток КАК СуммаОстаток
ИЗ
   РегистрНакопления.ДолгПоставщикам.Остатки КАК ДолгПоставщикамОстатки
ГДЕ
   ДолгПоставщикамОстатки.СуммаОстаток > 0

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
   ДолгПоставщикамОстатки.Сделка,
   ДолгПоставщикамОстатки.СуммаОстаток
ИЗ
   РегистрНакопления.ДолгПоставщикам.Остатки КАК ДолгПоставщикамОстатки
ГДЕ
   ДолгПоставщикамОстатки.СуммаОстаток < 0
АВТОУПОРЯДОЧИВАНИЕ
4 tciban
 
23.08.11
10:51
Но может быть есть более простой или более правильный способ?
5 Wobland
 
23.08.11
10:52
(3) плохо открывал. оставь один запрос и убери условие
6 tciban
 
23.08.11
10:52
(2) совсем не понял что в данном контексте значит "РН"?
7 Wobland
 
23.08.11
10:52
(6) регистр накопления
8 Reset
 
23.08.11
10:52
РегистрНакопления
9 Reset
 
23.08.11
10:53
в (0) ресурс "ДолгПоставщику" , в (3) - "СуммаОстаток"
10 tciban
 
23.08.11
10:53
(5) Не канает, т.к. вполне может быть что мы должны одному поставщику 100 руб., а другом эти же 100 руб. переплатили. А в сумме будет таким запросом что мы должны 100-100=0!
11 Axel2009
 
23.08.11
10:54
(10) ну раздели на 2 колонки через выбор суммируй по условию
12 tciban
 
23.08.11
10:54
Поясняю! Мне нужно по каждой сделке получить положительный и отрицательный остаток ОТДЕЛЬНО!
13 Reset
 
23.08.11
10:54
(10) Ну и что? по условию в (0) необходимо получить значение по сделке; а пос делке оно и есть 0.
14 Reset
 
23.08.11
10:55
(12) Огласи условие полностью и подробно
15 tciban
 
23.08.11
10:55
(11) Я смутно догадываюсь что через выбор. Подскажите как поподробнее!
16 butterbean
 
23.08.11
10:55
(12) разве одна и та же сделка может быть с разными поставщиками??
17 Reset
 
23.08.11
10:56
+ совершенно неясна логикак заполнения региста (+ я уже говорил путаница с именами)
18 Axel2009
 
23.08.11
10:56
выбор когда остаток < 0 тогда -остаток иначе 0 конец как МыДолжны
19 Bober
 
23.08.11
10:56
ВЫБРАТЬ
   ДолгПоставщикамОстатки.Сделка КАК Сделка,
   ДолгПоставщикамОстатки.СуммаОстаток КАК ПоложОст,
   0 КАК ОтрицОст
ИЗ
   РегистрНакопления.ДолгПоставщикам.Остатки КАК ДолгПоставщикамОстатки
ГДЕ
   ДолгПоставщикамОстатки.СуммаОстаток > 0

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
   ДолгПоставщикамОстатки.Сделка,
   0,
   ДолгПоставщикамОстатки.СуммаОстаток
ИЗ
   РегистрНакопления.ДолгПоставщикам.Остатки КАК ДолгПоставщикамОстатки
ГДЕ
   ДолгПоставщикамОстатки.СуммаОстаток < 0
20 Axel2009
 
23.08.11
10:57
(19) садись 2.
21 tciban
 
23.08.11
10:58
(14) Ну не знаю куда уж подробнее. Есть регистр с 2-мя измерениями, Сделка и Поставщик и одним ресурсом - Долг поставщику. Если значение положительное - мы должны, отрицательное - - мы переплатили.
ВАЖНО:По сделке может быть много разных поставщиков!
Т.е. в рамках одной сделки мы можем быть должны поставщику А и при этом переплатили поставщику Б.
Как получить по каждой сделке сумму долгов и сумму переплат запросом?
22 Шапокляк
 
23.08.11
10:58
ВЫБРАТЬ
   ДолгПоставщикамОстатки.Сделка КАК Сделка,
  Выбор Когда ДолгПоставщикамОстатки.СуммаОстаток>0 Тогда
ДолгПоставщикамОстатки.СуммаОстаток Иначе 0 Конец Как МыДолжны;
  Выбор Когда ДолгПоставщикамОстатки.СуммаОстаток<=0 Тогда
ДолгПоставщикамОстатки.СуммаОстаток Иначе 0 Конец Как НамДолжны

ИЗ
   РегистрНакопления.ДолгПоставщикам.Остатки КАК ДолгПоставщикамОстатки
23 Reset
 
23.08.11
10:59
(21) а СуммаОстаток - это что?
24 butterbean
 
23.08.11
10:59
(22) + надо еще выбор поля Поставщик
25 tciban
 
23.08.11
11:00
(16) Сделка - она с покупателем. А для ее выполнения мы должны кое чего прикупить там-сям :) Потому да, с разными поставщиками. Ну например нужно клиенту мерять. И мы покупаем у AEG измерительную машину, покупаем у ближайшего поставщика ноутбук, настраиваем соф, калибруем машину и продаем это все.
26 tciban
 
23.08.11
11:00
(22) Спасибо! похоже то, что нужно.
27 Hostess_
of_Love
 
23.08.11
11:02
(24)хотела об этом же написать
28 Шапокляк
 
23.08.11
11:02
(22) Полностью согласна, там еще много чего нужно в смысле доработки запроса.
(26) Измерение Поставщик в запрос не забудьте добавить
29 tciban
 
23.08.11
11:09
А зачем измерение "Поставщик"?
30 tciban
 
23.08.11
11:10
Мне то нужно по сделке!
31 butterbean
 
23.08.11
11:17
(30) иначе не развернет остатки, и они будут суммированы по сделке целиком
32 Axel2009
 
23.08.11
11:18
+еще запрос сгруппировать по сделке и просуммировать то что в (22)