#0
by onx1
Есть какой-нибудь код который позволяет получить значение текущей ячейки при её изменении, в произвольном случае когда имя колонки таблицы отличается от имени пути к данным? Например, таблица СписокОпераций и колонка СписокОперацийПредметСделки ссылающаяся на поле табличной части ПредметСделки: Элементы.СписокОпераций.ТекущиеДанные[Элементы.СписокОпераций.ТекущийЭлемент.Имя] - не сработает, т.к. Элементы.СписокОпераций.ТекущийЭлемент.Имя = "СписокОперацийПредметСделки", а коллекции Элементы.СписокОпераций.ТекущиеДанные надо "ПредметСделки" в качестве поля
#2
by onx1
неужели нельзя, в общем случае, значение изменяемой ячейки в просто обработчике при изменении получить ?
#3
by
22-02-2019
22-02-2019
&НаКлиенте Процедура НоменклатураПриАктивизацииЯчейки(Элемент) //Элемент - это ТаблицаФормы Если Элемент.ТекущиеДанные= Неопределено Тогда Возврат; КонецЕсли; ИмяКолонки = ИмяКолонки(Элемент.ТекущийЭлемент.Имя); Сообщить(Элемент.ТекущиеДанные[ИмяКолонки]); КонецПроцедуры
&НаСервере Функция ИмяКолонки(ИмяЭлементаКолонки) ПолеФормыКолонкаТаблицы = Элементы[ИмяЭлементаКолонки]; МассивЦепочкаПутиКДанным = СтрРазделить(ПолеФормыКолонкаТаблицы.ПутьКДанным, "."); Возврат МассивЦепочкаПутиКДанным[МассивЦепочкаПутиКДанным.ВГраница()]; КонецФункции
#4
by
22-02-2019
22-02-2019
Каша получилась, пробую попонятней. К приведенному коду можно будет добавить кеширование для оптимизации - т.е. закешировать связи имён колонок и путей к данным, чтобы избежать повторного серверного вызова:
&НаКлиенте
Процедура НоменклатураПриАктивизацииЯчейки(Элемент)
//Элемент - это ТаблицаФормы
Если Элемент.ТекущиеДанные= Неопределено Тогда
Возврат;
КонецЕсли;
ИмяКолонки = ИмяКолонки(Элемент.ТекущийЭлемент.Имя);
Сообщить(Элемент.ТекущиеДанные[ИмяКолонки]);
КонецПроцедуры &НаСервере
Функция ИмяКолонки(ИмяЭлементаКолонки)
ПолеФормыКолонкаТаблицы = Элементы[ИмяЭлементаКолонки];
МассивЦепочкаПутиКДанным = СтрРазделить(ПолеФормыКолонкаТаблицы.ПутьКДанным, ".");
Возврат МассивЦепочкаПутиКДанным[МассивЦепочкаПутиКДанным.ВГраница()];
КонецФункции
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
- Как в ТЗ найти значение и выбрать стороку в котором значение найдено?
- Значение ячейки табличного поля не отображает записанное значение
- как записать при выходе из одной ячейки значение в другую?
- Как получить значение колонки в текущей строке табличного поля?
- Как в табличной части управляемой формы выбирать значение из списка?
- v7: Как получить адрес текущей ячейки в таблице?
- Ошибка SQL Fld11475 ... значение не может принимать значение Null
- Получить значение элемента с управляемой формы
- УФ. Открыть значение выделеной ячейки в таблице значений.
- Обработка нажатия клавиши при редактировании ячейки в таблице формы
- Как программно выйти из редактирования ячейки в таблице на управляемой форме?
- Можно ли выделить цветом значение отдельной ячейки в управляемой форме?
В этой группе 1С
- Выбор субконто составного типа запросом из регистра дает неверный результат (
- Запуск 1С через планировщик Windows
- Реквизиты шапки документа не доступны для редактирования. Как сделать оптимально
- РКМ 1с розница, отрицательные остатки
- v7: Перенумерация элементов справочников
- Можно ли обновить значение во временном хранилище?
- УТ 11 Дата начала выгрузки документов
- Обработка "Восстановление состояния рассчетов с контрагентами" не дает изменить
- Спозиционироваться на строке ТП
- Помогите с запросом на СКД
- Обмен данными УТ 10.3 <--> БП 2.0
- УПП 1.3. План-фактный анализ себестоимости и перемещение в НЗП
- СКД, как при расшифровке выводить свои настройки?
- РИБ или обмен.
- СКД - макет заголовка ресурса как сделать?
- УПП: Помощник планирования. Складские остатки
- СКД:убрать строки по условию
- БП3.0 или БП2.0 ставить теперь?
- как правильно отразить возвратные отходы в 1С УПП
- трафик в локалке и 139 порт