Здравствуйте!
ПП 1С Бухгалтерия 3.0.
Помогите разобраться, пожалуйста, в конфигураторе создал документ для начисления. В форме указал параметры, от заполнения которых зависит кто будет попадать в табличную часть. Но все пошло не так как планировалось.
Подскажите, пожалуйста, как можно заполнить данный документ определенной группой контрагентов?
---
```1c
    //ВыборкаКонтр=Справочники.Контрагенты.Выбрать();
    ВыборкаКонтр = Справочники.Контрагенты.Выбрать(ЭтотОбъект.Объект.Группа);
```
---
Текст кода

```1c
    &НаСервере
    Процедура ЗаполнитьНаСервере()

    ЭтотОбъект.Объект.НачисленияЗаОбучениеИОбщежитие.Очистить();
    ВыборкаКонтр=Справочники.Контрагенты.Выбрать();
    ВыборкаЦен = Справочники.ДоговорыКонтрагентов.Выбрать();
    Пока ВыборкаКонтр.Следующий() Цикл
    Если (Не ВыборкаКонтр.ЭтоГруппа) И (Не ВыборкаКонтр.ПометкаУдаления) Тогда
    Если ЗначениеЗаполнено(ЭтотОбъект.Объект.НачислениеЗаОбучение) или ЗначениеЗаполнено(ЭтотОбъект.Объект.НачислениеЗаОбщежитие) Тогда

    СтрокаТабличнойЧасти = ЭтотОбъект.Объект.НачисленияЗаОбучениеИОбщежитие.Добавить();
    СтрокаТабличнойЧасти.Студент = ВыборкаКонтр.Ссылка;

    СтрокаТабличнойЧасти.Группа = ВыборкаКонтр.Родитель.Ссылка;

    Если ЗначениеЗаполнено(ЭтотОбъект.Объект.Группа) Тогда

    КонецЕсли;

    Если ЗначениеЗаполнено(ЭтотОбъект.Объект.НачислениеЗаОбучение) Тогда

    ЦенаОбучения = Ценообразование.ПолучитьЦенуНоменклатуры(ЭтотОбъект.Объект.НачислениеЗаОбучение,
    ЭтотОбъект.Объект.ТипЦен, ЭтотОбъект.Объект.Дата);
    Иначе
    ЦенаОбучения =0;
    //
    //Если ЗначениеЗаполнено (ВыборкаЦен.ТипЦен) Тогда
    // ЦенаОбучения = Ценообразование.ПолучитьЦенуНоменклатуры(ВыборкаЦен.ТипЦен, ЭтотОбъект.Объект.НачислениеЗаОбучение,
    // ЭтотОбъект.Объект.Дата);
    //Иначе
    // ЦенаОбучения = 0;
    КонецЕсли;

    Если ЗначениеЗаполнено(ЭтотОбъект.Объект.НачислениеЗаОбщежитие) Тогда
    ЦенаОбщежития = Ценообразование.ПолучитьЦенуНоменклатуры(ЭтотОбъект.Объект.НачислениеЗаОбщежитие,
    ЭтотОбъект.Объект.ТипЦен, ЭтотОбъект.Объект.Дата);
    Иначе
    ЦенаОбщежития =0;
    КонецЕсли;
    СтрокаТабличнойЧасти.СуммуОбучение = ЦенаОбучения;
    СтрокаТабличнойЧасти.СуммаОбщежитие = ЦенаОбщежития;

    КонецЕсли;

    КонецЕсли;

    КонецЦикла;

    КонецПроцедуры

    //***************************************************************************************************************

    &НаКлиенте
    Процедура Заполнить(Команда)

    Если ЭтотОбъект.Объект.Проведен Тогда
    Ответ = Вопрос("Табличная часть будет очищена. Продолжить?", РежимДиалогаВопрос.ДаНет, 60, КодВозвратаДиалога.Нет);
    Если Ответ = КодВозвратаДиалога.Нет Тогда
    Возврат;
    КонецЕсли;
    КонецЕсли;

    ЗаполнитьНаСервере();

    КонецПроцедуры
```
---
```1c
    //ВыборкаКонтр=Справочники.Контрагенты.Выбрать();
    ВыборкаКонтр = Справочники.Контрагенты.Выбрать(ЭтотОбъект.Объект.Группа);
```
---
Спасибо помогло, а можете еще подсказать?
Суть такая, у контрагента два договора (Обучение и общежитие), с установленными типами цен.
При указании в полях "Начисление за обучение" и "Начисление за общежитие" табличная часть заполняется, но пустыми значениями цен. Помогите исправить, пожалуйста.
Спасибо.
---
Скажите, пожалуйста, где в коде ошибка? Постоянно выскакивает окно : "Использование модальных окон в данном режиме запрещено".
Спасибо.
---
ошибка в том, что такие задачи решают запросами
---
"Ответ = Вопрос(" - вот твоя модальность.

С пользователем нужно разговаривать через описание оповещения. Пора идти в ногу с развитием платформы )))
---
предупреждение о модальности ругается на

атавизм в такси Вопрос()

используйте асинхронный ПоказатьВопрос()
---
Модальность исправил, спасибо за подсказку.