Имя: Пароль:
1C
1С v8
СКД и Субконто
0 elena_schleht
 
17.06.13
11:46
Здравствуйте ребята.
Подскажите пожалуйста решение такой задачи:
У меня есть 3 субконто (1.Справочник.Банки, 2.Справочник.Источник, 3.Контрагенты) Но Контрагенты у меня составной тип данных, там два справочника (Справочник.ФизЛица и Справочник.ЮрЛица)
Так вот как сделать чтобы при формировании отчета в СКД В субконто не попадали ФизЛица?

Стандартный текст запроса
ВЫБРАТЬ
   ФинансовыйОстаткиИОбороты.Счет,
   ФинансовыйОстаткиИОбороты.Субконто1,
   ФинансовыйОстаткиИОбороты.Субконто2,
   ФинансовыйОстаткиИОбороты.Субконто3,
   ФинансовыйОстаткиИОбороты.СуммаОборот,
   ФинансовыйОстаткиИОбороты.СуммаОборотДт,
   ФинансовыйОстаткиИОбороты.СуммаОборотКт,
   ФинансовыйОстаткиИОбороты.СуммаНачальныйОстаток,
   ФинансовыйОстаткиИОбороты.СуммаКонечныйОстаток
ИЗ
   РегистрБухгалтерии.Финансовый.ОстаткиИОбороты(, , , , , &ВидСубконто, ) КАК ФинансовыйОстаткиИОбороты

СГРУППИРОВАТЬ ПО
   ФинансовыйОстаткиИОбороты.Счет,
   ФинансовыйОстаткиИОбороты.Субконто2,
   ФинансовыйОстаткиИОбороты.Субконто3,
   ФинансовыйОстаткиИОбороты.СуммаОборот,
   ФинансовыйОстаткиИОбороты.СуммаОборотДт,
   ФинансовыйОстаткиИОбороты.СуммаОборотКт,
   ФинансовыйОстаткиИОбороты.СуммаНачальныйОстаток,
   ФинансовыйОстаткиИОбороты.СуммаКонечныйОстаток,
   ФинансовыйОстаткиИОбороты.Субконто1
1 mickey1cx
 
17.06.13
11:50
ГДЕ Субконто3 ССЫЛКА Справочник.ЮрЛица
2 elena_schleht
 
17.06.13
11:55
(1) Этот вариант не подойдет потому что, если в параметр &ВидСубконто передать два значения (1.Справочник.Банки и 2.Справочник.Источник) и с текста запроса убрать поле Субконто3, то результат будит пустой.
3 vicof
 
17.06.13
11:59
(2) а какое значение параметра &ВидСубконто
4 vicof
 
17.06.13
11:59
?
5 elena_schleht
 
17.06.13
12:02
&ВидСубконто это список значений. Пользователи могут выбрать 1, 2 или 3 значения (1.Справочник.Банки, 2.Справочник.Источник, 3.Контрагенты)
6 elena_schleht
 
17.06.13
12:03
Тип &ВидСубконто это ПланВидовХарактеристикСсылка.ВидыСубконто
7 mickey1cx
 
17.06.13
12:05
(2) если вы хотите отобрать по типу справочника, то тогда необходимо обязательно передать в &ВидСубконто "Контрагенты", а потом сгруппировать результат по необходимым полям.
8 elena_schleht
 
17.06.13
12:07
Просто нада сделать так что бы в запрос не попадали движения по ФизЛицам
(7) Но как тогда давать выбор пользователю?
9 elena_schleht
 
17.06.13
12:10
А как то по регистратору можно отобрать?
10 c00Lo
 
17.06.13
12:25
(9) периодичность задай и отбирай по регистратору >.<
11 c00Lo
 
17.06.13
12:27
(0) А что ты этим запросом хочешь получить?
12 elena_schleht
 
17.06.13
12:33
(11) Движения по ЮрЛицам
(10) А как правильно задать условие? Если у меня 6 документов формируют движения из 2 как раз по физ лицам
ГДЕ ФинансовыйОстаткиИОбороты.Регистратор ???
13 c00Lo
 
17.06.13
12:35
ГДЕ ФинансовыйОстаткиИОбороты.Регистратор ССЫЛКА Документ
14 c00Lo
 
17.06.13
12:38
поставь
где
выбор когда  Субконто3 ССЫЛКА Справочник.ЮрЛица тогда ложь
когда Субконто2 ССЫЛКА Справочник.ЮрЛица тогда ложь
когда Субконто1 ССЫЛКА Справочник.ЮрЛица тогда ложь
иначе истина
конец
=))))
15 mistеr
 
17.06.13
12:40
Может в условие вирт. таблицы?

НЕ Субконто2 ССЫЛКА Справочник.ФизЛица
16 elena_schleht
 
17.06.13
14:07
А почему если я ставлю в параметре ВТ Регистратор у меня запрос выполняется 6 секунд, а если убрать Регистратора то 0,2 секунды ? Как избежать такого падения производительности?

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

СГРУППИРОВАТЬ ПО
   ФинансовыйОстаткиИОбороты.Счет,
   ФинансовыйОстаткиИОбороты.Субконто2,
   ФинансовыйОстаткиИОбороты.Субконто3,
   ФинансовыйОстаткиИОбороты.СуммаОборот,
   ФинансовыйОстаткиИОбороты.СуммаОборотДт,
   ФинансовыйОстаткиИОбороты.СуммаОборотКт,
   ФинансовыйОстаткиИОбороты.СуммаНачальныйОстаток,
   ФинансовыйОстаткиИОбороты.СуммаКонечныйОстаток,
   ФинансовыйОстаткиИОбороты.Субконто1,
   ФинансовыйОстаткиИОбороты.Регистратор
17 hhhh
 
17.06.13
14:36
(16) ну допустим за месяц по субконто один оборот, но он делается 200 регистраторами. Получается, была одна строчка, стало 200, производительность упала в 200 раз. Это же эленментарно.
18 elena_schleht
 
17.06.13
14:40
Так если даже в отбор
ГДЕ
   ФинансовыйОстаткиИОбороты.Счета <> &Счета
   И ФинансовыйОстаткиИОбороты.Счет = &Счет
ни фига не попадает, (т.е. результат запроса пустой) все равно почему то производительность падает.
19 hhhh
 
17.06.13
14:45
(18) ну да, проверка условия отбора была один раз, стало 200 проверок, производительность упала в 200 раз. Это же эленментарно.
Программист всегда исправляет последнюю ошибку.