Имя: Пароль:
1C
1С v8
СКД Задвоение сумм
0 serpentt
 
11.09.12
16:40
Здравствуйте, пишу отчет с помощью СКД.
Выборка Выставленных счетов контрагентам и введенные на их основании Документы Поступление ДС. Смотрю в запрос и никак не могу отловить забвоение сумм, получается сколько строк в документе оплаты на столько и умножаются суммы вот код, может подскажете куда копать??
ВЫБРАТЬ РАЗРЕШЕННЫЕ
   СчетНаОплатуПокупателю.Ссылка КАК ДокументСчет,
   СчетНаОплатуПокупателю.Номер КАК НомерСчета,
   НАЧАЛОПЕРИОДА(СчетНаОплатуПокупателю.Дата, ДЕНЬ) КАК ДатаСчета,
   СчетНаОплатуПокупателю.ВалютаДокумента,
   СчетНаОплатуПокупателю.Контрагент,
   СУММА(СчетНаОплатуПокупателюУслуги.Сумма) КАК СуммаСчета,
   СУММА(СчетНаОплатуПокупателюУслуги.СуммаНДС) КАК СуммаНДССчета,
   ВложенныйЗапрос.НомерВходящегоДокумента КАК НВД,
   ВложенныйЗапрос.ДатаВходящегоДокумента КАК ДВД,
   ВложенныйЗапрос.Ссылка КАК ДокПоступление,
   СУММА(ВложенныйЗапрос.СуммаПлатежа) КАК Сумма_Платежа,
   СУММА(ВложенныйЗапрос.СуммаНДС) КАК СуммаНДС_Платежа,
   СУММА(СчетНаОплатуПокупателюУслуги.Сумма - ВложенныйЗапрос.СуммаПлатежа) КАК Разница
ИЗ
   Документ.СчетНаОплатуПокупателю.Услуги КАК СчетНаОплатуПокупателюУслуги
   ЛЕВОЕ СОЕДИНЕНИЕ Документ.СчетНаОплатуПокупателю КАК СчетНаОплатуПокупателю
   ПО СчетНаОплатуПокупателюУслуги.Ссылка = СчетНаОплатуПокупателю.Ссылка
   ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ РАЗЛИЧНЫЕ
       СУММА(ПоступлениеНаРасчетныйСчетРасшифровкаПлатежа.СуммаПлатежа) КАК СуммаПлатежа,
       СУММА(ПоступлениеНаРасчетныйСчетРасшифровкаПлатежа.СуммаНДС) КАК СуммаНДС,
       ПоступлениеНаРасчетныйСчетРасшифровкаПлатежа.СчетНаОплату КАК СчетНаОплату,
       ПоступлениеНаРасчетныйСчет.НомерВходящегоДокумента КАК НомерВходящегоДокумента,
       ПоступлениеНаРасчетныйСчет.ДатаВходящегоДокумента КАК ДатаВходящегоДокумента,
       ПоступлениеНаРасчетныйСчет.Ссылка КАК Ссылка
   ИЗ
       Документ.ПоступлениеНаРасчетныйСчет.РасшифровкаПлатежа КАК ПоступлениеНаРасчетныйСчетРасшифровкаПлатежа
           ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПоступлениеНаРасчетныйСчет КАК ПоступлениеНаРасчетныйСчет
           ПО ПоступлениеНаРасчетныйСчетРасшифровкаПлатежа.Ссылка = ПоступлениеНаРасчетныйСчет.Ссылка
   ГДЕ
       ПоступлениеНаРасчетныйСчет.Дата МЕЖДУ &НачалоПериода И &КонецПериода
       И ПоступлениеНаРасчетныйСчет.Проведен

   СГРУППИРОВАТЬ ПО
       ПоступлениеНаРасчетныйСчет.Ссылка,
       ПоступлениеНаРасчетныйСчетРасшифровкаПлатежа.СчетНаОплату,
       ПоступлениеНаРасчетныйСчет.НомерВходящегоДокумента,
       ПоступлениеНаРасчетныйСчет.ДатаВходящегоДокумента) КАК ВложенныйЗапрос
   ПО (СчетНаОплатуПокупателю.Ссылка = ВложенныйЗапрос.СчетНаОплату)
ГДЕ
   СчетНаОплатуПокупателю.Дата МЕЖДУ &НачалоПериода И &КонецПериода
   И СчетНаОплатуПокупателю.ПометкаУдаления = ЛОЖЬ

СГРУППИРОВАТЬ ПО
   СчетНаОплатуПокупателю.Ссылка,
   ВложенныйЗапрос.Ссылка,
   СчетНаОплатуПокупателю.Номер,
   СчетНаОплатуПокупателю.ВалютаДокумента,
   СчетНаОплатуПокупателю.Контрагент,
   ВложенныйЗапрос.НомерВходящегоДокумента,
   ВложенныйЗапрос.ДатаВходящегоДокумента,
   НАЧАЛОПЕРИОДА(СчетНаОплатуПокупателю.Дата, ДЕНЬ)
{ХАРАКТЕРИСТИКИ
   ТИП(Документ.СчетНаОплатуПокупателю)
   ВИДЫХАРАКТЕРИСТИК ПланВидовХарактеристик.СвойстваОбъектов
   ПОЛЕКЛЮЧА Ссылка
   ПОЛЕИМЕНИ Наименование
   ПОЛЕТИПАЗНАЧЕНИЯ ТипЗначения
   ЗНАЧЕНИЯХАРАКТЕРИСТИК РегистрСведений.ЗначенияСвойствОбъектов
   ПОЛЕОБЪЕКТА Объект
   ПОЛЕВИДА Свойство
   ПОЛЕЗНАЧЕНИЯ Значение }
1 pessok
 
11.09.12
16:42
Документ.СчетНаОплатуПокупателю.Услуги КАК СчетНаОплатуПокупателюУслуги
   ЛЕВОЕ СОЕДИНЕНИЕ Документ.СчетНаОплатуПокупателю КАК СчетНаОплатуПокупателю
   ПО СчетНаОплатуПокупателюУслуги.Ссылка = СчетНаОплатуПокупателю.Ссылка

этапять!

+ зачем тебе параметры построителя в скд?

группировка по номеру документа и дате тоже прелестна
2 serpentt
 
11.09.12
16:47
(1)
"группировка по номеру документа и дате тоже прелестна"
как Автомат сделал так и написал :(
3 pessok
 
11.09.12
16:48
"как Автомат сделал так и написал :("

это называется "как автомат сделал, так я и согласился. СЛАВА РОБОТАМ!"

запрос в топку, если в кратце. притом полностью
4 serpentt
 
11.09.12
16:53
(3)
Тогда что не так
Делается выборка СУММ Выставленных Счетов из ТЧ Услуги
Далее делается выборка оплат, тоже из ТЧ Расшивровка.

Я пробовал делать разными Наборами данных и дальше Связывать их, но при таком написании у меня не получалось посчитать разность между Суммами Выставленная-Оплаченная
5 DrShad
 
11.09.12
16:58
(4) а у автомата получилось?
6 serpentt
 
11.09.12
17:02
(5)
что предложил "автомат" т.е. КОД
я выложил в первом посте. автомат не помог
7 serpentt
 
11.09.12
17:07
(3)
Тогда что не так ???
8 pessok
 
11.09.12
17:22
(7) все не так.
первое "не так" - запросы к таб.частям документов. РБ у тебя украли?
второе "не так" - делать левое соединение таблицы документа и таблицы табличной части документа (это даже не "не так", это полный гипнокод).
третье "не так" - тащить в запросе строковые константы и группировать по нима.

исправь три не так и получи рабочий запрос в подарок
9 serpentt
 
11.09.12
17:28
(8) На всякий случай... не я а конструктор СКД
"ПЕРВОЕ" совсем не понял

"ВТОРОЕ"
почему нельзя соединить две таблицы, мне нужны значения как из ТабЧасти так и из шапки

"ТРЕТЬЕ"
Строковыеконстанты это Дата Номер ?
10 serpentt
 
11.09.12
17:33
Отчет нужен следующего вида
              выставлено оплачено разница          
ВыставленныйСчет | 200р. | 170р. | 30р. |
  Оплата№1      | 150р. |
  Оплата№..     | 20р.  |
11 pessok
 
11.09.12
17:35
первое. будь мужиком, использую РЕГИСТРЫ БУХГАЛТЕРИИ, блджад!
второе. посмотри в запросе ВНИМАТЕЛЬНО на свою таблицу для таб.части и узрей там поле ссылка. а если уж и не узрел, то соединяй православно, сиречь внутренне.
третье. да
12 DrShad
 
11.09.12
17:35
(10) ФИФО в запросе чтоли?
13 pessok
 
11.09.12
17:36
(12) каша в запросе, скорее. обычная таблица, но способ получения угнетает
14 DrShad
 
11.09.12
17:39
посмотрел запрос О_О
(0) изыди - еретик
15 pessok
 
11.09.12
17:46
(14) православным РАУЗом заклиная, изгоняем беса сего, производственной цепочкой подгоняя!
16 serpentt
 
11.09.12
17:48
(14)
одни верующие, а где "прикладные"?

по "Первому" пункту так и не понял
17 pessok
 
11.09.12
17:49
тебе рассказать, что такое регистры бухгалтерии, проводки и порчие святые вещи?
18 DrShad
 
11.09.12
17:52
(17) думаю лучше начать с конструирования запросов
19 serpentt
 
11.09.12
17:55
(17)
я на Прямых запросах к SQL-ке быстрее сделаю.

(18)
Я и пробую СКД... учусь
20 pessok
 
11.09.12
17:56
(0) человек. сделай две таблицы. соедини их внутренним соединений по таблицаприходаденег.ссылка = сделка.ссылка и хватит мучаться
21 pessok
 
11.09.12
17:56
(19) причем тут СКД???
тут сам запрос страшнее трехэтажной фразы пьяного моряка
22 pessok
 
11.09.12
17:57
+(21) бедная скулина, после таких то прямых запросов...
23 DrShad
 
11.09.12
17:57
(19) не дай боже ты скулю такой же запрос подсунешь
24 serpentt
 
11.09.12
17:58
(20) пробовал, соединяется.
Загвоздка была в том, что СуммаСчета в одном запросе а СуммаОплаты в другом.
Мне нужна была разница между двумя суммами и итог по ней... не получилось, начал писать все в одном запросе. Пошло задвоение данных.
25 serpentt
 
11.09.12
18:00
(19) и (22)
Не переживайте за нее , с ней мне проще общаться чем с 1С
26 DrShad
 
11.09.12
18:01
(25) ага, из твоего запроса видно
27 serpentt
 
11.09.12
18:02
Так значит конструктивизма не будет ни какого... только ушаты помоев в разные стороны?
28 DrShad
 
11.09.12
18:03
(27) тебе уже все рассказали, что еще тебе нужно?