Изменение текущих данных строки.Управляемый режим
Добрый день. В табличной части документа в событии ПриИзменении необходимо изменить данные реквизита. В обычном приложении работало так
Видимо получение данных по принадлежности должно проходить наСервере
ТекущиеДанные=Элементы.Вагоны.ТекущиеДанные;
ТекущиеДанные.ПринадлежностьВагона=Текущиеданные.Вагон.ПринадлежностьВагона;
ПринадлежностьВагона имеет тип Справочники.ПринадлежностьВагона
Видимо получение данных по принадлежности должно проходить наСервере
Найденные решения
(4) на клиенте получаете ТекущуюСтроку - это будет Идентификатор строки, передаете его в серверную процедуру, там из таблицы Вагоны находите саму строку по идентификатору (есть такой метод у ДанныхФормыКоллекция, чем и является Объект.Вагоны), а дальше все просто
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1)
&НаКлиенте
Процедура ВагоныВагонПриИзменении(Элемент)
ТекущаяСтрока = Элементы.Вагоны.ТекущиеДанные;
// Если есть БСП
ТекущаяСтрока.ПринадлежностьВагона = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(ТекущаяСтрока.Вагон, "ПринадлежностьВагона");
// Если нет БСП
ТекущаяСтрока.ПринадлежностьВагона = ПолучитьПринадлежностьВагонаНаСервере(ТекущаяСтрока.Вагон);
КонецПроцедуры
&НаСервереБезКонтекста
Функция ПолучитьПринадлежностьВагонаНаСервере(Вагон)
Возврат Вагон.ПринадлежностьВагона;
КонецФункции
Показать
Да. Обращение к ссылкам через точку - это неявный запрос к базе данных. С тонкого клиента это не работает. На то он и тонкий :)
Придется либо серверный вызов делать в этот момент, либо где это возможно вычитывать нужные данные на клиент заранее, чтобы избежать лишних обращений на сервер во время работы.
Придется либо серверный вызов делать в этот момент, либо где это возможно вычитывать нужные данные на клиент заранее, чтобы избежать лишних обращений на сервер во время работы.
(4) на клиенте получаете ТекущуюСтроку - это будет Идентификатор строки, передаете его в серверную процедуру, там из таблицы Вагоны находите саму строку по идентификатору (есть такой метод у ДанныхФормыКоллекция, чем и является Объект.Вагоны), а дальше все просто
(10) часто заполнение/пересчет вызывается и с клиента и с сервера..
если стремится везде к НаСервереБезКонтекста, тогда да - ТекущиеДанные и усложнение кода, чтобы на сервере получить все данные, которые не лежат "на поверхности", но я бы не сказал, что это "проще"
если стремится везде к НаСервереБезКонтекста, тогда да - ТекущиеДанные и усложнение кода, чтобы на сервере получить все данные, которые не лежат "на поверхности", но я бы не сказал, что это "проще"
(4) Что именно сделать? Заранее вычитывать?
Если справочник заведомо небольшого размера (относительно), то можно кэшировать его данные заранее в полном объеме. Если большого - то ессно ничего тут не придумаешь. Придется сервер дергать. Либо если пользователь работает через форму выбора, то можно реализовать такую форму и обработку выбора, чтобы при выборе получать не только ссылку на выбранный элемент, но и сразу нужные его доп-реквизиты.
Если справочник заведомо небольшого размера (относительно), то можно кэшировать его данные заранее в полном объеме. Если большого - то ессно ничего тут не придумаешь. Придется сервер дергать. Либо если пользователь работает через форму выбора, то можно реализовать такую форму и обработку выбора, чтобы при выборе получать не только ссылку на выбранный элемент, но и сразу нужные его доп-реквизиты.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот