Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
16 апр 2024, 11:35

Вывести данные выделенной строки

Автор Space_minus, 27 сен 2016, 11:48

0 Пользователей и 1 гость просматривают эту тему.

Space_minus

Здраствуйте подскажите как вывести данные только выделенной строки.
длоя каждой строки есть функция "Для каждой из цикл", а есть такая же же для текущей?

ТчСтуденты = РезультатЗапроса.Ссылка.СписокСтудентов;
ОбластьМакета = Макет.ПолучитьОбласть("ДанныеМедСправка");
 
Для каждого Строка Из ТчСтуденты Цикл
для
МассивКатегорий = Новый Массив;
А = Строка.ФИО_Студента.ФизЛицо.Категория_Мед_Справки_А;
Б = Строка.ФИО_Студента.ФизЛицо.Категория_Мед_Справки_B;
С = Строка.ФИО_Студента.ФизЛицо.Категория_Мед_Справки_C;
Д = Строка.ФИО_Студента.ФизЛицо.Категория_Мед_Справки_D;
БЕ = Строка.ФИО_Студента.ФизЛицо.Категория_Мед_Справки_BE;
СЕ = Строка.ФИО_Студента.ФизЛицо.Категория_Мед_Справки_CE;
ДЕ = Строка.ФИО_Студента.ФизЛицо.Категория_Мед_Справки_DE;
ТМ = Строка.ФИО_Студента.ФизЛицо.Категория_Мед_Справки_TM;
ТБ = Строка.ФИО_Студента.ФизЛицо.Категория_Мед_Справки_TB;
М = Строка.ФИО_Студента.ФизЛицо.Категория_Мед_Справки_M;
А1 = Строка.ФИО_Студента.ФизЛицо.Категория_Мед_Справки_A1;
Б1 = Строка.ФИО_Студента.ФизЛицо.Категория_Мед_Справки_B1;
С1 = Строка.ФИО_Студента.ФизЛицо.Категория_Мед_Справки_C1;
Д1 = Строка.ФИО_Студента.ФизЛицо.Категория_Мед_Справки_D1;
С1Е = Строка.ФИО_Студента.ФизЛицо.Категория_Мед_Справки_C1E;
Д1Е = Строка.ФИО_Студента.ФизЛицо.Категория_Мед_Справки_D1E;
Если А  = Истина Тогда
МассивКатегорий.Добавить("A");
КонецЕсли;
Если  Б  = Истина Тогда
МассивКатегорий.Добавить("B");
КонецЕсли;
Если  С  = Истина Тогда
МассивКатегорий.Добавить("С");
КонецЕсли;
Если  Д  = Истина Тогда
МассивКатегорий.Добавить("D");
КонецЕсли;
Если  БЕ  = Истина Тогда
МассивКатегорий.Добавить("BE");
КонецЕсли;
Если  СЕ  = Истина Тогда
МассивКатегорий.Добавить("СЕ");
КонецЕсли;
Если  ДЕ  = Истина Тогда
МассивКатегорий.Добавить("DE");
КонецЕсли;
Если  СЕ  = Истина Тогда
МассивКатегорий.Добавить("СЕ");
КонецЕсли;
Если  ДЕ  = Истина Тогда
МассивКатегорий.Добавить("DE");
КонецЕсли;
Если  ТМ  = Истина Тогда
МассивКатегорий.Добавить("ТМ");
КонецЕсли;
Если  ТБ  = Истина Тогда
МассивКатегорий.Добавить("TB");
КонецЕсли;
Если  М  = Истина Тогда
МассивКатегорий.Добавить("М");
КонецЕсли;
Если  А1  = Истина Тогда
МассивКатегорий.Добавить("А1");
КонецЕсли;
Если  Б1  = Истина Тогда
МассивКатегорий.Добавить("B1");
КонецЕсли;
Если  С1  = Истина Тогда
МассивКатегорий.Добавить("С1");
КонецЕсли;
Если  Д1  = Истина Тогда
МассивКатегорий.Добавить("D1");
КонецЕсли;
Если  С1Е  = Истина Тогда
МассивКатегорий.Добавить("С1Е");
КонецЕсли;
Если  Д1Е  = Истина Тогда
МассивКатегорий.Добавить("D1Е");
КонецЕсли;
А = "";
Для каждого Стр Из МассивКатегорий Цикл
А = А+", "+Стр;
КонецЦикла;
   Если Не ПустаяСтрока(А) Тогда
   ОбластьМакета.Параметры.МедКатегория = ""+Сред(А,3,СтрДлина(А));
   Иначе
   ОбластьМакета.Параметры.МедКатегория = "";

   КонецЕсли;
    ТабДок.Вывести(ОбластьМакета);


LexaK

лкСтрока = Элементы.ВашаТЧ.ТекущиеДанные;

из строчки получаете нужные значения и передаете их в виде параметров в процедуру

ВывестиОтчет(лкСтрока.Студент);
если помогло нажмите: Спасибо!

Space_minus

Цитата: LexaK от 27 сен 2016, 12:41
лкСтрока = Элементы.ВашаТЧ.ТекущиеДанные;

из строчки получаете нужные значения и передаете их в виде параметров в процедуру

ВывестиОтчет(лкСтрока.Студент);

Расскажи по подробнее, пожалуйста

ilyay

А = Строка.ФИО_Студента.ФизЛицо.Категория_Мед_Справки_А;
Категорию надо в запросе получать, у вас тут на каждой строке запрос к базе из-за доступа через точку.

На форме получаете ссылку на студента или его ФИО из ТекущиеДанные, как выше написано (смотря что там у вас).
И либо в запрос передаете для отбора, либо внутри цикла сравниваете с полем из результата запроса, и если не совпало, тогда продолжить цикл.

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск