Имя: Пароль:
1C
1С v8
Как перенести реквизит справочника в ТЧ документа?
0 InWith
 
22.01.12
15:08
Пишу маленькую конфигурацию на управляемых формах, так сказать учусь программировать. Платформа 8.2.13.219.

Создаю документ. В его шапке необходимо выбрать реквизит "Участник" - значение из справочника "Участники". Сам справочник имеет реквизиты Баллы1, Баллы2 и Баллы3. Не понимаю как перенести эти реквизиты в табличную часть документа (в которую добавлены теже реквизиты) при выборе реквизита шапки. Типовых конф на упровляемых формах к сожалению нет. Можете привести примеры кода? Спасибо.
1 zak555
 
22.01.12
15:09
лучше опиши, что хочешь получить  итоге
2 InWith
 
22.01.12
15:15
Хочу что бы при выборе Участника в шапке документа, заполнялась ТЧ по значениям указанным в справочнике для всех строк ТЧ.
3 NcSteel
 
22.01.12
15:21
(0) Контексный вызов сервера , где и заполняем ТЧ , можно и через цикл.
4 InWith
 
22.01.12
15:27
А можно пример кода?
5 NcSteel
 
22.01.12
15:33
#НаКлиенте
Процедура НеКлиентеВызываемСерверДляЗаполненияТЧИзВыбранногоУчастника()

ЗаполнитьТЧИзВыбранногоЭлементаУчастникаНаСервере();

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

Процедура ЗаполнитьТЧИзВыбранногоЭлементаУчастникаНаСервере();

ОбектДляНашихНужд = ДанныеФормыВЗначение("Объект");
Для Каждого СтрокаТЧКоторуюЗаполняем Из ОбектДляНашихНужд.Тч Цикл
СтрокаТЧКоторуюЗаполняем.РеквизитУчастника = Объект.ВыбранныйУчастник;
КонецЦикла;

ЗначениеВДанныеФормы(ОбектДляНашихНужд, "Объект");

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


Синтаксис может серьезно страдать.
6 Dethmont
 
22.01.12
15:35
А зачем вот это?
ОбектДляНашихНужд = ДанныеФормыВЗначение("Объект");
7 NcSteel
 
22.01.12
15:36
(6) Так надо . Подробности в книге.
8 Dethmont
 
22.01.12
15:37
Почему вот так нельзя?
&НаСервере
Процедура ЗаполнитьТЧИзВыбранногоЭлементаУчастникаНаСервере();

Для Каждого СтрокаТЧКоторуюЗаполняем Из Объект.Тч Цикл
СтрокаТЧКоторуюЗаполняем.РеквизитУчастника = Объект.ВыбранныйУчастник;
КонецЦикла;

КонецПроцедуры
Если процедура выполняется с дерективой компиляции &НаСервере то контекст формы и так уже на сервер весь перекинут.
9 Dethmont
 
22.01.12
15:42
ДанныеФормыВЗначение("Объект"); А эта штука будет работать &НаСервереБезКонтекста ???
10 InWith
 
22.01.12
15:57
Спасибо! Все получилось.

&НаКлиенте
Процедура ГолосующийПриИзменении(Элемент)
   ЗаполнитьПараметрыГолосованияНаСервере();
КонецПроцедуры

&НаСервере
Процедура ЗаполнитьПараметрыГолосованияНаСервере()
   Для Каждого СтрокаТЧГолосование из Объект.Голосование Цикл
       СтрокаТЧГолосование.ОбычныеРезультаты = Объект.Голосующий.ОбычныеРезультаты;
       СтрокаТЧГолосование.ВзвешенныеРезультаты = Объект.Голосующий.ВзвешенныеРезультаты;
       СтрокаТЧГолосование.СтатусДжемер = Объект.Голосующий.СтатусДжемер;
   КонецЦикла
КонецПроцедуры
11 NcSteel
 
22.01.12
16:14
(9) Нет.
Здесь можно обсудить любую тему при этом оставаясь на форуме для 1Сников, который нужен для работы. Ymryn