Имя: Пароль:
1C
1С v8
Помогите с запросом ...
,
0 ValeriTim
 
17.10.11
15:49
Задача такая: нужно выловить контрагентов, у которых на конец периода есть остатки как по 62,1 так и по 62,2 (понятно, что в большинстве случаев надо перепровести документы, но не всегда этого достаточно). Отчет делаю на СКД, код такой:

ВЫБРАТЬ
   Объединение.Организация,
   //Объединение.Счет,
   Объединение.Контрагент,
   Объединение.ДоговорКонтрагента,
   Объединение.ДокументРасчетов,
   Объединение.СуммаНачальныйОстатокДт,
   Объединение.СуммаНачальныйОстатокКт,
   Объединение.СуммаКонечныйОстатокДт,
   Объединение.СуммаКонечныйОстатокКт,
   Объединение.СуммаНачальныйОстатокРасчеты,
   Объединение.СуммаНачальныйОстатокАвансы,
   Объединение.СуммаКонечныйОстатокРасчеты,
   Объединение.СуммаКонечныйОстатокАвансы
ИЗ
   (ВЫБРАТЬ
       ХозрасчетныйОстаткиИОбороты.Организация КАК Организация,
       //ХозрасчетныйОстаткиИОбороты.Счет КАК Счет,
       ХозрасчетныйОстаткиИОбороты.Субконто1 КАК Контрагент,
       ХозрасчетныйОстаткиИОбороты.Субконто2 КАК ДоговорКонтрагента,
       ХозрасчетныйОстаткиИОбороты.Субконто3 КАК ДокументРасчетов,
       ХозрасчетныйОстаткиИОбороты.СуммаНачальныйОстатокДт КАК СуммаНачальныйОстатокДт,
       ХозрасчетныйОстаткиИОбороты.СуммаНачальныйОстатокКт КАК СуммаНачальныйОстатокКт,
       ХозрасчетныйОстаткиИОбороты.СуммаКонечныйОстатокДт КАК СуммаКонечныйОстатокДт,
       ХозрасчетныйОстаткиИОбороты.СуммаКонечныйОстатокКт КАК СуммаКонечныйОстатокКт,
       ХозрасчетныйОстаткиИОбороты.СуммаНачальныйОстаток КАК СуммаНачальныйОстатокРасчеты,
       ХозрасчетныйОстаткиИОбороты.СуммаКонечныйОстаток КАК СуммаКонечныйОстатокРасчеты,
       NULL КАК СуммаНачальныйОстатокАвансы,
       NULL КАК СуммаКонечныйОстатокАвансы
   ИЗ
       РегистрБухгалтерии.Хозрасчетный.ОстаткиИОбороты(&НачалоПериода, &КонецПериода, , , Счет В ИЕРАРХИИ (ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.РасчетыСПокупателями)), , {(Организация).* КАК Организация, (Субконто1).* КАК Контрагент, (Субконто2).* КАК ДоговорКонтрагента, (Субконто3).* КАК ДокументРасчетов}) КАК ХозрасчетныйОстаткиИОбороты
   
   ОБЪЕДИНИТЬ ВСЕ
   
   ВЫБРАТЬ
       ХозрасчетныйОстаткиИОбороты.Организация,
       //ХозрасчетныйОстаткиИОбороты.Счет,
       ХозрасчетныйОстаткиИОбороты.Субконто1,
       ХозрасчетныйОстаткиИОбороты.Субконто2,
       ХозрасчетныйОстаткиИОбороты.Субконто3,
       ХозрасчетныйОстаткиИОбороты.СуммаНачальныйОстатокДт,
       ХозрасчетныйОстаткиИОбороты.СуммаНачальныйОстатокКт,
       ХозрасчетныйОстаткиИОбороты.СуммаКонечныйОстатокДт,
       ХозрасчетныйОстаткиИОбороты.СуммаКонечныйОстатокКт,
       NULL,
       NULL,
       ХозрасчетныйОстаткиИОбороты.СуммаНачальныйОстаток,
       ХозрасчетныйОстаткиИОбороты.СуммаКонечныйОстаток
   ИЗ
       РегистрБухгалтерии.Хозрасчетный.ОстаткиИОбороты(&НачалоПериода, &КонецПериода, , , Счет В ИЕРАРХИИ (ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.РасчетыПоАвансамПолученным)), , {(Организация).* КАК Организация, (Субконто1).* КАК Контрагент, (Субконто2).* КАК ДоговорКонтрагента, (Субконто3).* КАК ДокументРасчетов}) КАК ХозрасчетныйОстаткиИОбороты) КАК Объединение
ГДЕ
   Объединение.СуммаКонечныйОстатокРасчеты <> 0
   И Объединение.СуммаКонечныйОстатокАвансы <> 0

В нем закоментарины строки со счетом, потому как остатки попадают на разные строки выходной таблицы и условие однозначно никогда выполняться не будет. Но вот и с таким запросом отчет также не срабатывает, т.е. такого контрагента не находит, хотя у меня он точно есть (специально сделал). Что я не додумал или сделал не так ?
1 smitru
 
17.10.11
15:53
(0) "NULL КАК СуммаНачальныйОстатокАвансы"

сэр любит кучу секса со сложением чисел и NULL ???
2 ValeriTim
 
17.10.11
16:07
(1) блин ... и всего то ?
3 Axel2009
 
17.10.11
16:08
(2) а где СГРУППИРОВАТЬ и СУММА??? прально не выдает.
4 ValeriTim
 
17.10.11
16:11
(3) в таблицу выводит правильно и без СГРУППИРОВАТЬ ...
кстати это и к (1) относится - числа то правильные ...
5 Axel2009
 
17.10.11
16:12
(4) ну так и накладывай тогда условие в СКД, что ты от запроса то хочешь?
6 ValeriTim
 
17.10.11
16:14
(5) логично. Сама СКД группирует результат ...
7 ValeriTim
 
17.10.11
16:14
А как тогда сделать, чтобы и счет также выводить ?
8 Axel2009
 
17.10.11
16:16
(7) а зачем?
9 ValeriTim
 
17.10.11
16:17
(5) погоди, а как в СКД условие наложить ? что то я по закладкам тыкаю ... и не вижу
10 ValeriTim
 
17.10.11
16:17
(8) Ну для полноты картины ...
11 Axel2009
 
17.10.11
16:18
(9) Настройки - там Отбор
(10) вот есть у тебя строка 100 и -100, что выводить то?
12 ValeriTim
 
17.10.11
16:25
(11) вот обе и выводить по субсчетам.
13 Axel2009
 
17.10.11
16:29
(12) строки обе? у тебя уже есть 1 строка, в 1ой колонке сумма по 62.01, в другой по 62.02. зачем тебе 2 наглядные строки?
14 unregistered
 
17.10.11
16:32
(0)
62.1 - активный счет (может иметь только дебетовое сальдо).
62.2 - пассивный счет (может иметь только кредитовое сальдо).

Те контрагенты, у которых будет одновременно и дебетовое и кредитовое развернутые сальдо по 62-му счету, вам и нужны.

Запрос в (0) - извращение какое-то...
15 ValeriTim
 
17.10.11
16:39
(14) предложи другой
16 smitru
 
17.10.11
16:41
(14) э-э-э.. Это как??? Это у нас типа есть и неоплаченная реализация (дебетовое сальдо по 62.01_ и одновременно и "непогашенные авансы" (кредитовое сальдо по 62.02) от эти же самых поставщиков - и только это нас должно интересовать? А что нам мешало зачесть авансы за реализованную продукцию?
17 Axel2009
 
17.10.11
16:52
(16) корректировки задним числом.
18 ValeriTim
 
17.10.11
16:53
(16) да очень просто - 15 числом сформировали документы реализации, а 16 числа бухгалтерия вспомнила, что не разнесла выписку от 14 ... вот и все
19 smitru
 
17.10.11
16:57
(18) на плане счетов (по 62-му счету)есть такая аналитика как "документ расчёта) именно благодаря ему 1Ска и не допускает такой фигни (15-го сформировала, а 16-го вспомнила) :-)
20 ValeriTim
 
17.10.11
16:57
(14) ну так что ? или мы только языком трепать ?
21 ValeriTim
 
17.10.11
16:58
(19) а ты попробуй ... а это субконто там для других целей
22 Axel2009
 
17.10.11
17:12
(20) тебе уже ясно сказали как сделать, в (14) и написано. РазвернутоеСальдо по 62 счету