Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Проблема с запросом
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 > Программисту > Программирование в 1С Предприятие 8.2 > Программирование управляемых форм 1С 8.2
alexk
Здравствуйте! Возник такой вопрос. Есть ТЧ. Там поле флажка "СтаростаГруппы". А также поле "Итого". Из реквизитов есть "Отделение" Так вот пишу запрос, который при отметке "СтаростаГруппы" в поле "Итого" выводил бы стипендию этого старосты. Запрос проверяет справочник "Базовый размер стипендии", то есть если такое-то отделение и "староста" то вывод стипендии в итого... но почему-то в поле итого при отметке "СтаростаГруппы" ничего не появляется.. Скажите в чем проблема? Может проблема в запросе? Вот запрос
Процедура ЗапросНаСтипендиюСтаросте()
   Для Каждого СтрокаТЧ Из Объект.Состав Цикл
  Если  СтрокаТЧ.СтаростаГруппы Тогда
     Запрос = Новый Запрос;
Запрос.Текст =
  "ВЫБРАТЬ
  | БазовыйРазмерСтипендий.Сумма
  |ИЗ
  | Справочник.БазовыйРазмерСтипендий КАК БазовыйРазмерСтипендий
  |ГДЕ
  | БазовыйРазмерСтипендий.Отделение = &Отделение
  | И БазовыйРазмерСтипендий.ВидСтипендии = &ВидСтипендии";
Запрос.УстановитьПараметр("ВидСтипендии", "Староста");
Запрос.УстановитьПараметр("Отделение", Объект.Отделение);
       Выборка = Запрос.Выполнить().Выбрать();
Если Выборка.Следующий() Тогда
   СтрокаТЧ.Итого = Выборка.Сумма;
КонецЕсли;
   КонецЕсли;
КонецЦикла;

КонецПроцедуры
logist
У Вас что "ВидСтепендии" в справочнике имеет тип Строка?
alexk
Нет, он ВидСтипендии имеет тип СправочникСсылка.ВидыСтипендий...
logist
Цитата(alexk @ 17.10.12, 18:10) необходимо зарегистрироваться для просмотра ссылки
ВидСтипендии имеет тип СправочникСсылка.ВидыСтипендий...

Ну так почему тут текст, а не СправочникСсылка
Цитата(alexk @ 17.10.12, 18:03) необходимо зарегистрироваться для просмотра ссылки
Запрос.УстановитьПараметр("ВидСтипендии", "Староста");

alexk
Просто мне данные надо брать из справочника БазовыйРазмерСтипендии (там сумма находится стипендий)

А подскажите пожалуйста как это сделать?? Вместо текста пусть что ли указать к тому справочнику?
logist
Вероятно так:
Запрос.УстановитьПараметр("ВидСтипендии", Справочники.ВидыСтепендий.НайтиПоНаименованию("Староста"));
alexk
Большое Вам спасибо! А скажите пожалуйста а если этот справочник (ВидыСтипендий) иерархический, то есть есть родители НПО и СПО и в обоих есть староста. Как мне в запросе еще указать родителя? Просто по наименованию, может быть некоторые недочеты..

И родитель этого справочника как раз равен Объект.Отделение.. Скажите как мне это реализовать?
logist
Откройте синтаксис-помощник, и посмотрите "НайтиПоНаименованию", но можно и в запросе так же указать БазовыйРазмерСтипендий.ВидСтипендии.Родитель = &ПараметрСоСсылкойРодителя
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.