Имя: Пароль:
1C
1С v8
Запрос к регистру бухгалтерии с отбором по субконто
0 kofeinik
 
26.01.14
14:55
Понадобилось сделать запрос к регистру бухгалтерии, с отбором по субконто. Раньше никогда не делал, опыта нет. Без отбора - работает, с отбором - выборка пустая. Что я делаю не так?
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
|ХозрасчетныйОстатки.Субконто1,
|ХозрасчетныйОстатки.Организация,
|ХозрасчетныйОстатки.СуммаОборот,
|ХозрасчетныйОстатки.СуммаКонечныйОстаток,
|ХозрасчетныйОстатки.СуммаКонечныйОстатокДт,
|ХозрасчетныйОстатки.СуммаКонечныйОстатокКт
|ИЗ
|РегистрБухгалтерии.Хозрасчетный.ОстаткиИОбороты(&НачПериода, &КонПериода, Период, , Счет = &Счет, , Субконто1 = &ДДС) КАК ХозрасчетныйОстатки";

Запрос.УстановитьПараметр("НачПериода", НачПериода);
Запрос.УстановитьПараметр("КонПериода", КонПериода);
Запрос.УстановитьПараметр("Счет", ПланыСчетов.Хозрасчетный.НайтиПоКоду("50.01"));
Запрос.УстановитьПараметр("Организация", Организация);
Запрос.УстановитьПараметр("Субконто", ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.СтатьиДвиженияДенежныхСредств);
ДДСВыручка = Справочники.СтатьиДвиженияДенежныхСредств.НайтиПоНаименованию("Розничная выручка (наличные денежные средства)", Истина);
Запрос.УстановитьПараметр("ДДС", ДДСВыручка);
РезультатЗапроса = Запрос.Выполнить();
1 jsmith82
 
26.01.14
15:02
сам как думаешь?
2 shuhard
 
26.01.14
15:26
(0) [Что я делаю не так?]
пытаешься получить остаток по оборотному субконто
3 kofeinik
 
26.01.14
16:48
Хорошо, делаем так, выборка пустая
Запрос.Текст = "ВЫБРАТЬ
|ХозрасчетныйОстатки.Субконто1,
|ХозрасчетныйОстатки.Организация,
|ХозрасчетныйОстатки.СуммаОстатокДт,
|ХозрасчетныйОстатки.СуммаОстатокКт
|ИЗ
|РегистрБухгалтерии.Хозрасчетный.Остатки(&Период, Счет = &Счет, , ) КАК ХозрасчетныйОстатки
|ГДЕ
|ХозрасчетныйОстатки.Субконто1 = &ДДС";

Запрос.УстановитьПараметр("Период", КонецДня(НаДату));
Запрос.УстановитьПараметр("Счет", ПланыСчетов.Хозрасчетный.НайтиПоКоду("50.01"));
ДДСВыручка = Справочники.СтатьиДвиженияДенежныхСредств.НайтиПоНаименованию("Розничная выручка (наличные денежные средства)", Истина);
Запрос.УстановитьПараметр("ДДС", ДДСВыручка);
РезультатЗапроса = Запрос.Выполнить();    
Выборка = РезультатЗапроса.Выбрать();
4 shuhard
 
26.01.14
16:52
(3) отвратительно
5 Лефмихалыч
 
26.01.14
16:58
а на 50.01 такое субконто-то есть вообще?
6 zladenuw
 
26.01.14
17:05
(3) тебе написали в (2)
7 shuhard
 
26.01.14
17:14
(5) 50.01,02 и 50.21 имеют идентичную структуру субконто
8 ivanovnm
 
26.01.14
17:15
(2) Человеку и остатки и обороты нужны, тут все правильно.

(0) В тексте запроса не установлен отбор по видам субконто. Запрос отбирает по расчетному счету равному статье ДДС, вот выборка и пустая.

Вместо ПланыСчетов.Хозрасчетный.НайтиПоКоду("50.01") обращайся по идентификатору, пользователь мог код поменять. С ДДС то же самое.
9 ivanovnm
 
26.01.14
17:16
(2) вообще то да, субконто оборотное.
10 kofeinik
 
27.01.14
08:26
Точно, оборотное.
Все равно, как включить фильтр, чтобы в запрос попали только движения по заданному субконто? Как только ни пробую - при включении отбора получается пустой запрос.
11 Лефмихалыч
 
27.01.14
08:28
(10) параметр №4, го читать мануал