Как получить значение реквизита формы в V8.2 #505742


#0 by Serzhant
Столкнулся с такой проблемой: Есть прикладное решение в V8.1 хочу перевести его на V8.2 В конфигурации есть справочник "Животное" с реквизитами "Отец" и "Мать" с типом СправочникСсылка.Животное и табличной частью "Родословная", которая автоматически формируется при наступлении событий ОтецПриИзменении и МатьПриИзменении В V8.1 все работало так: СтрокаТабличнойЧасти.Прадед=ЭлементыФормы.Отец.Значение.Отец.Отец; ... и т.д. до 4-го колена КонецПроцедуры В v8.2 такой подход уже не катит. Здесь чтобы получить коллекцию элементов, нужно использовать оператор "Элементы", а не "ЭлементыФормы", и он не дает значения этих элементов. Пробовал через "ПолучитьРеквизиты", но программа ругается, что такой метод недоступен на клиенте. Может кто знает, как все это реализовать в 8.2. Помогите пожалуйста!!!
#1 by Ksandr
У тебя проблемы в том, что ты не сможешь получить доступ к объекту в реквизите ТЧ и его реквизитам, поэтому тебе нужно сделать функцию &НаСервереБезКОнтекста ПолучитьОтца(Реквизит) и в ней Возврат Реквизит.Отец
#2 by Ksandr
Я бы сделал еще название реквизитов Отец_1 Отец_2 Отец_3 Отец_4, тогда можно рекурсивной функцией все забацать
#3 by Mitriy
а я бы вообще за такой код табуреткой по пальцам настучал... Запрос - наше все...
#4 by Ksandr
согласен, в запросе получить все, а потом ЗаполнитьЗначениеСвойств
#5 by Serzhant
Огромное всем спасибо за ответы! Помогло!!!
#6 by orefkov
Э, простите, а ничего, что дедов так-то бывает два, прадедов четыре, прапрадедов 8, а в 4 колене - 16 ? И ты их всех вот таким кодом вытаскиваешь? И зачем хранить родословную в табличной части справочника?
#7 by Trainee
Помогите ... я креведко, но я не понимаю: КонецФункции ... Справочник называется "Сотрудники". Читаю Радченко. Не помогает.
#8 by Serzhant
На самом деле у меня на форме две табличные части: "Родословная отца" и "Родословная матери" и в каждой 28 колонок. Т.е. например, прадед по отцовской линии обозначается как МММ, а прабабушка - как ММЖ. Еще есть справочник "Семья" с реквизитами "Самец" и "Самка" и двумя табличными частями:"РодословнаяОтца" и "РодословнаяСамки", которые автоматом заполняются при изменении реквизитов.А в модуле я прописал код контроля, т.е. если хотя бы одно из значений этих таблиц совпадает между собой, то вылетает сообщение об имеющихся родственных связях. И в коде 20 000 строк :) А по другому я как то не придумал. Да и в восьмерке я еще ламер :) Может кто подскажет примерный код запроса и где его располагать - на клиенте или сервере. Заранее спасибо!
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С