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

Заполнение табличной части документа

Автор AlexKag, 21 сен 2012, 16:36

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

AlexKag

Здравствуйте!
Возник такой вопрос. Есть справочник ученики, в котором есть ученики и группа (допустим). И есть документ зачисление. В Документе есть табличная часть, и реквизит группа. Нужно в документе установив в реквизите какую-то группу, нажать кнопку заполнить и в табличной части выводится список всех учеников по этой группе. Подскажите пожалуйста в написании кода, с чего вообще надо начать? Сам документ и справочник созданы и готовы к работе. Помогите пожалуйста с кодом

dimalf

Создайте справочник или перечисление "ГРУППЫ" и реквизит ученикам "ГРУППА", являющийся ссылкой на этот справочник (перечисление). Делайте запрос по этому реквизиту и заполняйте нужными учениками табличную часть.

AlexKag

Хорошо, запрос допустим сделал... а куда его записывать? просто хотелось бы на документе иметь кнопку что-то типа "Заполнить" при нажатии на которую и заполнялась бы ТЧ документа?

mixqn

Напишу кусок кода минут через 30, если раньше никто не ответит. Сейчас с телефона не удобно...

AlexKag


dimalf

В процедуру ПРИНАЖАТИИ() на эту кнопку

AlexKag

Сразу скажи Справочник "Студенты" не иерархический, там просто есть реквизит такой - группа. И документ "Зачисление", с названием табличной части "Студенты", в этой табличной части есть 1 реквизит - "студент" (СправочникСсылка.Студенты). А также в документе есть реквизит Группа (СправочникСсылка. Группы), собственно мы в этом реквизите выбираем группу, нажимаем видимо на команду "Заполнить", и в этой табличной части студенты появляются.. вот механизм.. а как сделать не совсем еще понимаю

AlexKag

Сделал вот такой запрос на форме документа. Но почему то при нажатии на кнопку "заполнить" у меня в ТЧ заполняются только номера студентов.. а поле куда сам студент должен выводится пустое остается.. в чем ошибка подскажите пожалуйста??


&НаКлиенте
Процедура Заполнить(Команда)
   ЗаполнитьТабличнуюЧасть()
КонецПроцедуры

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

AlexKag

Вот собственно это выходит

AlexKag

Все.. я с этим разобрался.. Там в запросе добавить "...как студент" надо было.
Если не сложно подскажите еще с таким вот вопросом, в справочнике студенты, есть реквизит СтатусСтудента, а в документе "Зачисление" есть поле флажка "Зачислить студента" (это булево) Когда я делал документ с одним всего реквизитом, где указывал 1 студента, и нажимал на флажок и проводил документ у меня статус менялся в справочнике на соответствующий... А вот как теперь сделать так чтобы допустим у этого же документа, но вот с этой вот табличной частью с множеством студентов, также ставить галочку и чтобы у всех студентов менялся статус, то есть массово.. Просто объясните принцип или с кодом, если сможете помогите, хотя старый код можно по образцу изменить, просто вот как поменять массово статус с этой же галочкой.. ?? Вот примерно такой вопрос...

вот код для 1 студента..


Процедура ОбработкаПроведения(Отказ, Режим)
Если Зачислить Тогда
   Студенты = Студент.ПолучитьОбъект();
   Студенты.СтатусСтудента = Перечисления.СтатусСтудента.Учится;
   Студенты.Записать();
КонецЕсли;
КонецПроцедуры

Теги:

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

Рейтинг@Mail.ru

Поиск