Имя: Пароль:
   
1C
1С v8
Поиск по коду в запросе
0 scart
 
26.06.18
10:29
Добрый день, помогите с запросом, если добавляю поиск по коду выводит пустые данные, без этого выводит общие дынные, что делаю не так?
Бухгалтерия предприятия, редакция 2.0 (2.0.64.26)
    
    Запрос = новый Запрос;
    Запрос.УстановитьПараметр("Счет62",ПланыСчетов.Хозрасчетный.НайтиПоКоду("27.02"));
    Запрос.УстановитьПараметр("НачалоПериода",НачалоПериода);
    Запрос.УстановитьПараметр("КонецПериода", КонецДня(КонецПериода));
    Запрос.УстановитьПараметр("Организация", Организация);
    Запрос.УстановитьПараметр("Контрагент", Конрагент=Справочники.Контрагенты.НайтиПоКоду("000000022");
    Запрос.Текст = "ВЫБРАТЬ
                   |    ХозрасчетныйОстаткиИОбороты.Субконто1 КАК ДоговорКонтрагент,
                   |    ХозрасчетныйОстаткиИОбороты.Субконто2 КАК Контрагент,
                   |    ХозрасчетныйОстаткиИОбороты.СуммаНачальныйОстатокДт КАК НачОст,
                   |    ХозрасчетныйОстаткиИОбороты.СуммаКонечныйОстатокДт КАК КонОст,
                   |    ХозрасчетныйОстаткиИОбороты.СуммаОборотДт КАК Приход,
                   |    ХозрасчетныйОстаткиИОбороты.СуммаОборотКт КАК Расход,
                   |    ХозрасчетныйОстаткиИОбороты.Организация КАК Организация,
                   |    ХозрасчетныйОстаткиИОбороты.Регистратор КАК Регистратор
                   |ИЗ
                   |    РегистрБухгалтерии.Хозрасчетный.ОстаткиИОбороты(&НачалоПериода, &КонецПериода, Регистратор, , счет В ИЕРАРХИИ (&счет62), , Организация = &Организация) КАК ХозрасчетныйОстаткиИОбороты
                   |Где
                   | ХозрасчетныйОстаткиИОбороты.Субконто2=&Контрагент
                   |
                   |УПОРЯДОЧИТЬ ПО
                   |    Регистратор
                   |ИТОГИ
                   |    СУММА(НачОст),
                   |    СУММА(КонОст),
                   |    СУММА(Приход),
                   |    СУММА(Расход)
                   |ПО
                   |    Контрагент,
                   |    ДоговорКонтрагент,
                   |    Регистратор";
                  
    ВыборкаКонтрагент = Запрос.Выполнить().Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
    //    
    ИтогоПриход = 0;
    ИтогоРасход = 0;
    ИтогоНачОст=0;
    ИтогоКонОст=0;
    ТабДок.НачатьАвтогруппировкуСтрок();
1 Buster007
 
26.06.18
10:30
Запрос.УстановитьПараметр("Контрагент", Конрагент=Справочники.Контрагенты.НайтиПоКоду("000000022");
2 Гипервизор
 
26.06.18
10:33
Запрос.УстановитьПараметр("Счет62",ПланыСчетов.Хозрасчетный.НайтиПоКоду("27.02"));
Вы уверены?
3 scart
 
26.06.18
10:35
(2) счет В ИЕРАРХИИ (&счет62)
4 иубиповец
 
26.06.18
10:36
Запрос.УстановитьПараметр("Контрагент", Конрагент=Справочники.Контрагенты.НайтиПоКоду("000000022");
У вас в параметры контрагент будет либо истина, либо ложь:)
не думаю что Вам это нужно:)
5 scart
 
26.06.18
10:38
(4) как правильно исправить, дабы запрос выдавал данные только по контрагенту с таким кодом?э
6 scart
 
26.06.18
10:38
(1) опечатка была исправил, неправильно все равно
7 Darych
 
26.06.18
10:39
(5) определи его и передавай параметром
8 иубиповец
 
26.06.18
10:41
ну хотя бы так
Запрос.УстановитьПараметр("Контрагент", Справочники.Контрагенты.НайтиПоКоду("000000022");
но лучше так
Запрос.УстановитьПараметр("Контрагент", Конрагент);
реквизит контрагент на форму
а в приотрктии
контрагент=Справочники.Контрагенты.НайтиПоКоду("000000022")
9 Гипервизор
 
26.06.18
10:42
(3) Ну и? Вы уверены что есть счет с кодом 27.02? А если даже у вас такой есть, почему параметр называется Счет62?
(6) "Контрагент=" для целей установки параметра какую смысловую нагрузку несет?
10 Segate
 
26.06.18
10:52
(0) использовать в запросе коды данных введенных пользователями - моветон, т.к. сломается, как только пользователь что-то поменяет.А если это предопределенный элемент, тогда зачем искать по коду?
11 anatoly
 
26.06.18
10:52
(9) "А если даже у вас такой есть, почему параметр называется Счет62?"

потому что взял чужой запрос и пытается переколбасить по своему, видимо при этом не совсем понимая...
12 Гипервизор
 
26.06.18
10:56
(10) Ну это ж надо уметь делать)
(11) Может и так, только счета 27 нет, и я сомневаюсь что это такой самостоятельно добавленный счет, у которого тоже субконто Контрагент, как и у счета 62.
13 Гипервизор
 
26.06.18
10:58
(0) И еще:
"Субконто1 КАК ДоговорКонтрагент, Субконто2 КАК Контрагент".
У вас субконто местами перепутаны, откройте план счетов.
14 Гипервизор
 
26.06.18
10:59
Соответственно и в условии косяк.
15 scart
 
26.06.18
11:19
(8) (14) сделал как в 8 и поменял условие как в 14
Спасибо за помощь ребята
А как сделать если мне нужно по нескольким контрагентам отбор через или не получается
16 Darych
 
26.06.18
11:21
"В" параметром списокзначений передавай
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший