helpf.pro
Регистрация

v8.2 УП: Вопросов будет несколько: по ТЧ, по реквизитам формы Документа

ProfforG
16.11.2011 01:24Прочитано: 2497
если в иерархическом справочнике есть ещё доп.поле и оно имеет тип: Булево.
как тогда сделать в Документе на форме так чтобы при выборе определённого Наименования в этом справочнике вот это логическое поле на форме в документе автоматом заполнилось?!
например Иванов и у иванова стоит в справчнике галочка(Истино). мне надо чтобы при выборе на форме Наименования эта галочка в реквизите ставилась автоматом.
вот код который сам написал, по отбору иерархии допёр...а вот с полями никак...:
Код 1C v 8.2 УП
 &НаКлиенте
Процедура НаименованиеНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь;
ЗначениеОтбора = Новый Структура("Родитель", Объект.Группа);
ПараметрыВыбора = Новый Структура("Отбор", ЗначениеОтбора);
Форма = ПолучитьФорму("Справочник.Клиенты.ФормаВыбора", ПараметрыВыбора, Элемент);
Форма.Элементы.Список.Отображение = ОтображениеТаблицы.Список;
Форма.Открыть();
КонецПроцедуры

&НаКлиенте
Процедура ГруппаПриИзменении(Элемент)
Если Не Объект.Группа.Пустая() Тогда
Элементы.Наименование.Доступность = Истина;
Элементы.Наименование.Видимость = Истина;
Если Не Объект.НаименованиеПокупатель.Пустая() Тогда
Объект.НаименованиеПокупатель = ПредопределенноеЗначение("Справочник.Клиенты.ПустаяСсылка");
КонецЕсли;
КонецЕсли;
Если Объект.Группа.Пустая() Тогда
Элементы.Наименование.Видимость = Ложь;
Элементы.Наименование.Доступность = Ложь;
Объект.НаименованиеПокупатель = ПредопределенноеЗначение("Справочник.Клиенты.ПустаяСсылка");
КонецЕсли;
КонецПроцедуры

по ТЧ такой вопрос....на этой же форме есть 2 ТЧ в 1ТЧ поля: товар(СправочникСсылка.ВидыТоваров),марка смеси(СправочникСсылка.Смеси),ед.измерения ...
ну так вот, я закрыл доступ к марке смеси. и идея такая что если в поле товар производится выбор группы, то тогда доступ открывается в поле марка смеси, если же в поле товар выбирается определённый товар, то доступ остаётся закрытым. и в зависимости товара или группы должно заполняться поле ед.измерения( СправочникСсылка.ЕдиницыИзмерения), сделал код..., не пашет ) :
Код 1C v 8.2 УП
 &НаКлиенте
Процедура ТоварыТоварПриИзменении(Элемент)
СтрокаТабличнойЧасти = Элементы.Товары.ТекущиеДанные;
Если Элементы.ТоварыТовар.ВыборГруппИЭлементов = ГруппыИЭлементы.Группы Тогда
//Объект.Товары.МаркаСмеси.Доступность = Истина;
Элементы.ТоварыМаркаСмеси.Доступность = Истина;
КонецЕсли;
КонецПроцедуры

посоветуйте, как добиться желаемого результата?! заранее спасибо.
Изменено 16.11.11 16:58:48 по причине: Разукрасил код
Yandex
Возможно, вас также заинтересует
Реклама на портале
E_Migachev
16.11.2011 17:04Ответ № 1
по первому, в событии ПриИзмененииПоля пишеш типо:
Код 1C v 8.2 УП
 СтрокаТабличнойЧасти = Элементы.Товары.ТекущиеДанные;
СтрокаТабличнойЧасти.РеквизитСГалочкой = СтрокаТабличнойЧасти.РеквизитСправчоник.РеквСГалочкойВСправочнике;

по второму похоже надо так:
Код 1C v 8.2 УП
 Процедура ТоварыТоварПриИзменении(Элемент)
СтрокаТабличнойЧасти = Элементы.Товары.ТекущиеДанные;
Если СтрокаТабличнойЧасти.Товар.Этогруппа() Тогда
Элементы.ТоварыМаркаСмеси.Доступность = Истина;
КонецЕсли;
КонецПроцедуры
ProfforG
16.11.2011 17:57Ответ № 2
по первому вот так вот сделал, работает. Только нужно реквизит ПризнакОрганизации типом: булево делать, а не СправочникСсылка:

&НаКлиенте
Процедура НаименованиеПриИзменении(Элемент)
Объект.ПризнакОрганизации = ПолучитьПризнакОрганизации(Объект.НаименованиеПокупатель);
КонецПроцедуры

&НаСервереБезКонтекста
Функция ПолучитьПризнакОрганизации(НаименованиеПокупатель)
Возврат НаименованиеПокупатель.ПризнакОрганизации;
КонецФункции
ProfforG
16.11.2011 19:27Ответ № 3
по поводу ТЧ ошибку выдаёт...:

Метод объекта не обнаружен(ЭтоГруппа)
E_Migachev
17.11.2011 10:19Ответ № 4
через отладчик проверь СтрокаТабличнойЧасти.Товар или подсавь еще .Ссылка
Подсказка: Вы получили ответ на свой вопрос - закройте вопрос!
Вы не можете отправить комментарий анонимно, пожалуйста войдите или зарегистрируйтесь.