Есть форма с табличной частью при добавлении новой строки нужно чтобы в поле выбора статуса он заполнялся автоматически(какой укажу) сейчас есть вот это. Понимаю что справочник нужно проводить через сервер но не могу понять как потом вставить переменную сюда.
&НаКлиенте
Процедура ПланПриНачалеРедактирования(Элемент, НоваяСтрока, Копирование)
Если НоваяСтрока И Не Копирование тогда
Элемент.ТекущиеДанные.Дата = ТекущаяДата();
Элемент.ТекущиеДанные.СтатусВыполнения = Справочники.СтатусВыполнения.НайтиПоНаименованию("В работе");
КонецЕсли;
КонецПроцедуры
burza @ Сегодня, 14:00
,
Давно не работал с управляемым приложением.
Попробуйте так:
&НаКлиенте
Процедура ПланПриНачалеРедактирования(Элемент, НоваяСтрока, Копирование)
Если НоваяСтрока И Не Копирование тогда
Элемент.ТекущиеДанные.Дата = ТекущаяДата();
Элемент.ТекущиеДанные.СтатусВыполнения = ПолучитьСтатусСервер();
КонецЕсли;
КонецПроцедуры
&НаСервереБезКонтекста
Функция ПолучитьСтатусСервер()
Возврат Справочники.СтатусВыполнения.НайтиПоНаименованию("В работе");
КонецФункции
Помогло, но с точки зрения программирования это не совсем правильно, если у вас один и тот же статус (даже если не один можно хранить их в Соответствии), то каждый раз дергать сервер не имеет смысла, лучше сделать реквизит формы, в который ПриСозданииНаСервере поместить нужное значение, и присваивать его в нужном месте, не вызывая сервер.
logist, зачем так сложно?
Можно разве что вынести получение статуса за пределы цикла:
&НаКлиенте
Процедура ПланПриНачалеРедактирования(Элемент, НоваяСтрока, Копирование)
Статус_ВРаботе = ПолучитьСтатусСервер();
Если НоваяСтрока И Не Копирование тогда
Элемент.ТекущиеДанные.Дата = ТекущаяДата();
Элемент.ТекущиеДанные.СтатусВыполнения = Статус_ВРаботе;
КонецЕсли;
КонецПроцедуры
&НаСервереБезКонтекста
Функция ПолучитьСтатусСервер()
Возврат Справочники.СтатусВыполнения.НайтиПоНаименованию("В работе");
КонецФункции
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7
https://pro1c.org.ua