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