0
memogolik
23.04.13
✎
15:47
|
1с 8.2 Комплексная.
Есть самописный документ.
В нем есть табличная часть "Номенклатура".
Регистрирую обработку табличной части из внешней обработки.
ее модуль:
Процедура Инициализировать(Объект,ИмяТабличнойЧасти,ТабличноеПолеОбъекта) Экспорт
Сообщить("Ура");
КонецПроцедуры
ее форма:
Процедура КнопкаВыполнитьНажатие(Кнопка)
// Вставить содержимое обработчика.
Инициализировать(СсылкаНаОбъект, "Номенклатура", "");
КонецПроцедуры
где СсылкаНаОбъект - реквизит с тем же типом, что и документ, для которого регистрировалась обработка заполнения табличной части.
В форме документа по аналогии с документом "УстановкаЦенНоменклатуры" добавляю подменю.
Вот модуль документа:
// Процедура устанавливает подменю "Заполнить" в командных панелях ТЧ документа при необходимости.
//
Процедура УстановитьКнопкиПодменюЗаполненияТЧ()
мКнопкиЗаполненияТЧ = УниверсальныеМеханизмы.ПолучитьДеревоКнопокЗаполненияТабличныхЧастей(Ссылка,Новый Действие("НажатиеНаДополнительнуюКнопкуЗаполненияТЧ"));
СоответствиеТЧ = Новый Соответствие;
СоответствиеТЧ.Вставить(ЭлементыФормы.Номенклатура, ЭлементыФормы.КоманднаяПанель1.Кнопки.ПодменюЗаполнить);
УниверсальныеМеханизмы.СформироватьПодменюЗаполненияТЧПоДеревуКнопок(мКнопкиЗаполненияТЧ,СоответствиеТЧ);
КонецПроцедуры // УстановитьКнопкиПодменюЗаполненияТЧ()
Процедура ПриОткрытии()
// Вставить содержимое обработчика.
УстановитьКнопкиПодменюЗаполненияТЧ();
КонецПроцедуры
При открытии документа и нажатии на кнопку "Заполнить" появляется подменю с названием обработки, которую я уже зарегистрировал для обработки табличной части, но она не активна (серая). Подскажите пожалуйста, в чем может быть ошибка.
Заранее спасибо за ответы.
|
|
3
memogolik
23.04.13
✎
16:24
|
Если кому будет интересно:
проблема была в отсутствии обработчика. после добавления следующего кода в форму документа все заработало.
Перем мКнопкиЗаполненияТЧ;
Процедура НажатиеНаДополнительнуюКнопкуЗаполненияТЧ(Кнопка)
УниверсальныеМеханизмы.ОбработатьНажатиеНаДополнительнуюКнопкуЗаполненияТЧ(мКнопкиЗаполненияТЧ.Строки.Найти(Кнопка.Имя,"Имя",Истина),ЭтотОбъект);
КонецПроцедуры // НажатиеНаДополнительнуюКнопкуЗаполненияТЧ()
// Процедура устанавливает подменю "Заполнить" в командных панелях ТЧ документа при необходимости.
//
Процедура УстановитьКнопкиПодменюЗаполненияТЧ()
мКнопкиЗаполненияТЧ = УниверсальныеМеханизмы.ПолучитьДеревоКнопокЗаполненияТабличныхЧастей(Ссылка,Новый Действие("НажатиеНаДополнительнуюКнопкуЗаполненияТЧ"));
СоответствиеТЧ = Новый Соответствие;
СоответствиеТЧ.Вставить(ЭлементыФормы.Номенклатура, ЭлементыФормы.КоманднаяПанель1.Кнопки.ПодменюЗаполнить);
УниверсальныеМеханизмы.СформироватьПодменюЗаполненияТЧПоДеревуКнопок(мКнопкиЗаполненияТЧ,СоответствиеТЧ);
КонецПроцедуры // УстановитьКнопкиПодменюЗаполненияТЧ()
Процедура ПриОткрытии()
// Вставить содержимое обработчика.
УстановитьКнопкиПодменюЗаполненияТЧ();
КонецПроцедуры
|
|