Табличная часть форм документа. Событие ПриИзменении.

1. user894386 16.01.18 19:09 Сейчас в теме
Привет.
Скрин посмотрите.

У Есть форма добавления документа.
У него есть табличная часть. Так хочу при добавлении проверять можно ли его добавить(Соответствует ли условию).
Так как видно на скрине на колонку повесил событие изменения

&НаКлиенте           
Процедура РабочиеПриИзменении(Элемент)
	Предупреждение(Элемент);
КонецПроцедуры



Если выполнить тот код что тут то выведет сообщение что Элемент это ПолеФормы.
Я не много не понимаю.
Разве Элемент это не тот элемент который мы добавили или изменили.
Хотя может логично что ПолеФормы так как обработчик висит на нем.


Допустим это пусть будет ПоляФормы но проблема в том что у него нет свойств или методов.(ну всмысле может есть но их не выводит) с помощью которых я бы мог получить содержимое или еще что нить.


Так вопрос

Как получить тот элемент который я добавил.
То есть элемент Справочники.Сотрудники
Прикрепленные файлы:
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
6. independ 1521 16.01.18 21:45 Сейчас в теме
(1)
ТекущиеДанные = Элементы.СписокРаботников.ТекущиеДанные
Сообщить(ТекущиеДанные.Сотрудник)
2. user790109 9 16.01.18 19:11 Сейчас в теме
что это за тема и тавтология. запятые для кого придумали?
3. bad_wag 48 16.01.18 19:47 Сейчас в теме
Для каждого текСотр из объект.списокРаботников цикл
Сообщить(текСотр.Сотрудник);
КонецЦикла;
4. user894386 16.01.18 20:15 Сейчас в теме
циклом да была идея.Но это как то затратно.
Перебрать коллекцию вместо 1 элемента.
5. user894386 16.01.18 21:41 Сейчас в теме
Проблема все еще актуальна.
Как бы получил типа данных что мне нужен.
[IS-QUOTE]Процедура РабочиеПриИзменении(Элемент)
	Для каждого Р из Объект.СписокРаботников Цикл
		Рабочий = Р.Рабочие;
		Сообщить(Рабочий);
               //Рабочий имеет Тип Справочники.Сотрудники
	КонецЦикла;
КонецПроцедуры
[/IS-QUOTE]


Но почему у Рабочий нет свойств Код,Ссылка и прочих реквизитов.
7. DarkUser 16.01.18 21:49 Сейчас в теме
(5) Потому что НаКлиенте этих данных нет (есть только Ссылка). Что бы их получить, надо обратиться НаСервер с ссылкой и вернуть нужные данные объекта обратно.
user894386; +1 Ответить
8. user894386 16.01.18 21:53 Сейчас в теме
(7) Ага спасибо помгло сделал так

&НаКлиенте           
Процедура РабочиеПриИзменении(Элемент)
	Для каждого Р из Объект.СписокРаботников Цикл
		Рабочий = Р.Рабочие;
		Сообщить(Рабочий);
		Статус = ПолучитьСтатусРабочего(Рабочий);
	КонецЦикла;
КонецПроцедуры



&НаСервере
Функция ПолучитьСтатусРабочего(Рабочий)
	Возврат Рабочий.Статус;
КонецФункции
9. DarkUser 16.01.18 22:02 Сейчас в теме
(8) Для полного перфекта можно использовать &НаСервереБезКонтекста, в этом случае данные формы не передаются НаСервер, передается только указанный вами параметр. Позволяет экономить ресурсы системы.
tjurikov_ivan; +1 Ответить
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот