Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Явное указание параметра в запросе
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 > Программисту > Программирование в 1С Предприятие 8.2 > Программирование обычных форм 1С 8.2 и не интерфейсной логики
rpervak
Здравствуйте !
Помогите, пожалуйста с запросом.
Нужно явно указать в запросе параметр : &Организация
Так как с параметром &ВидВзаиморасчетов не получается.


Запрос = Новый Запрос;
    
    Запрос.Текст = "ВЫБРАТЬ
                   |    ВзаиморасчетыПоЗакупкам.Контрагент,
                   |    ВзаиморасчетыПоЗакупкам.Контрагент.Наименование КАК КонтрагентНаименование,
                   |    ВзаиморасчетыПоЗакупкам.СуммаВзаиморасчетовНачальныйОстаток КАК ДолгНачало2,
                   |    ВзаиморасчетыПоЗакупкам.СуммаВзаиморасчетовПриход КАК Оплата2,
               |        ВзаиморасчетыПоЗакупкам.ДоговорКонтрагента.Организация
                   |ИЗ
                   |    РегистрНакопления.ВзаиморасчетыСКонтрагентами.ОстаткиИОбороты(&НачПериода, &КонПериода, , ДвиженияИГраницыПериода, ) КАК ВзаиморасчетыПоЗакупкам
                   |ГДЕ
                   |    ВзаиморасчетыПоЗакупкам.ДоговорКонтрагента.ВидВзаиморасчетов = &ВидВзаиморасчетов
               |И      ВзаиморасчетыПоЗакупкам.ДоговорКонтрагента.Организация = &Организация
                   |
                   |УПОРЯДОЧИТЬ ПО
                   |    КонтрагентНаименование";
                                   
    Запрос.УстановитьПараметр("НачПериода", НачПериода);
    Запрос.УстановитьПараметр("КонПериода", КонецДня(КонПериода));
    Запрос.УстановитьПараметр("ВидВзаиморасчетов", Справочники.ВидыВзаиморасчетов.НайтиПоКоду("000000006"));
    Запрос.УстановитьПараметр("Организация", РегистрНакопления.ВзаиморасчетыПоЗакупкам.ДоговорКонтрагента.Организация.НайтиПоКоду("000000003"));
    Запрос.УстановитьПараметр("СписокКонтрагентов", СписокКонтрагентівНеВключати);
    ТЗ = Запрос.Выполнить().Выгрузить();
Vofka
rpervak, что?
Petre
???
Запрос.УстановитьПараметр("Организация", РегистрНакопления.ВзаиморасчетыПоЗакупкам.ДоговорКонтрагента.Организация.НайтиПоКоду("000000003"));

Может все-таки:
Запрос.УстановитьПараметр("Организация", Справочники.Организации.НайтиПоКоду("000000003"));
rpervak
Цитата(Vofka @ 25.03.15, 16:56) необходимо зарегистрироваться для просмотра ссылки
rpervak, что?


Не работает:

Запрос.УстановитьПараметр("Организация", РегистрНакопления.ВзаиморасчетыПоЗакупкам.ДоговорКонтрагента.Организация.НайтиПоКоду("000000003"));
Vofka
rpervak, выделяйте код правильно. И вам же выше написали одно, а вы потом цитируете совершенно другой код.
rpervak
Цитата(Petre @ 25.03.15, 17:04) необходимо зарегистрироваться для просмотра ссылки
???
Запрос.УстановитьПараметр("Организация", РегистрНакопления.ВзаиморасчетыПоЗакупкам.ДоговорКонтрагента.Организация.НайтиПоКоду("000000003"));

Может все-таки:
Запрос.УстановитьПараметр("Организация", Справочники.Организации.НайтиПоКоду("000000003"));


Так тоже делал, но запрос не выбирает данные.
Организацию нужно указать именно ту, которая указана в каждом договоре (по коду или по наименованию - это уже не важно).
Vofka
Расскажите простыми словами что вы хотите выбрать.
rpervak
Мне нужно выбрать все обороты по договорам, в которых в поле "Организация" стоит конкретная организация.
Vofka
Ну так вместо этого

РегистрНакопления.ВзаиморасчетыПоЗакупкам.ДоговорКонтрагента.Организация.НайтиПоКоду("000000003")


напишите что-то осмысленное, что-то вроде того, что выше Petre писал.
TipsyKID
Если не находит, значит посмотрите тип реквизита РегистрНакопления.ВзаиморасчетыПоЗакупкам.ДоговорКонтрагента.Организация.
Возможно имеет место составного типа данных. И код типа
Справочники.Организация.НайтиПоКоду("000000003")
не правильный. а следует указать другой справочник вместо "Организация".
rpervak
Спасибо за помощь ! Тема закрыта.
Решил следующим образом.
В запросе прописал:

ГДЕ ВзаиморасчетыСКонтрагентамиОстаткиИОбороты.ДоговорКонтрагента.Организация.Код = &Код


а параметр задал:

Запрос.УстановитьПараметр("Код", "000000003");


И тогда все получилось.


 ! 

Выделяйте код правильным тегом!
 
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.