0
okwell5
31.10.14
✎
09:39
|
Дано:
Справочник.СправочникДокументов иерархический (реквизиты: Владелец, Файл)
Написанный мной код добавления кнопок на форму.
Задача следующая:
Кнопки должны создаваться аналогично структуре справочника, иными с словами: перевести весь справочник в кнопки на форме.
Ниже прилагаю свой код:
Процедура СформироватьИЗаполнитьИерархиюКнопокПрикрепления()
Компания = Справочники.СправочникПредопределенныхЗначений.Элемент76.Значение;
ИмяКнопкиКомпания = "и"+СокрЛП(Компания.Код);
ЭлементыФормы.ДействияФормыПисьмоКОтправке.Кнопки.Данные1С.Кнопки.Добавить(ИмяКнопкиКомпания, ТипКнопкиКоманднойПанели.Подменю, Компания.Наименование, );
Родитель = Справочники.СправочникДокументов.ПустаяСсылка();
ФормируемаяСтрока = "ЭлементыФормы.ДействияФормыПисьмоКОтправке.Кнопки.Данные1С";
ВерхниеСсылки = Справочники.СправочникДокументов.Выбрать(Родитель);
Пока ВерхниеСсылки.Следующий() Цикл
СформироватьИерархиюКнопокПоВладельцу(ИмяКнопкиКомпания, ВерхниеСсылки, Родитель, ФормируемаяСтрока);
КонецЦикла;
КонецПроцедуры
Процедура СформироватьИерархиюКнопокПоВладельцу(ВладелецКнопки, НоваяКнопка, Родитель, ФормируемаяСтрока)
Если Родитель = Неопределено Тогда
Родитель = Справочники.СправочникДокументов.ПустаяСсылка();
КонецЕсли;
Если НоваяКнопка.ЭтоГруппа Тогда
ТипКнопки = ТипКнопкиКоманднойПанели.Подменю;
Действие = Неопределено;
Иначе
ТипКнопки = ТипКнопкиКоманднойПанели.Действие;
Действие = Новый Действие("ЗапуститьПриложение(НоваяКнопка.Файл)");
КонецЕсли;
ФормируемаяСтрока = ФормируемаяСтрока+".Кнопки."+ВладелецКнопки;
ИмяНовойКнопки = "и"+СокрЛП(НоваяКнопка.Код);
СтрокаВыполнения = ФормируемаяСтрока+".Добавить(ИмяНовойКнопки, ТипКнопки, СокрЛП(НоваяКнопка.Наименование), Действие)";
//Далее на этом моменте выдает ошибку:
//{(1)}: Метод объекта не обнаружен (Добавить)
//ЭлементыФормы.ДействияФормыПисьмоКОтправке.Кнопки.Данные1С.Кнопки.и00002.Добавить(ИмяНовойКнопки, ТипКнопки, СокрЛП(НоваяКнопка.Наименование), Действие)
Выполнить(СтрокаВыполнения);
Ссылки = Справочники.СправочникДокументов.Выбрать(Родитель, , ,"Владелец, ЭтоГруппа");
Пока Ссылки.Следующий() Цикл
СформироватьИерархиюКнопокПоВладельцу("и"+СокрЛП(НоваяКнопка.Код), Ссылки, НоваяКнопка, ФормируемаяСтрока);
КонецЦикла;
КонецПроцедуры
Ошибка указана в комментарии, повторю:
{(1)}: Метод объекта не обнаружен (Добавить)
ЭлементыФормы.ДействияФормыПисьмоКОтправке.Кнопки.Данные1С.Кнопки.и00002.Добавить(ИмяНовойКнопки, ТипКнопки, СокрЛП(НоваяКнопка.Наименование), Действие)
Как победить ошибку и как решить задачу?
|
|
2
okwell5
31.10.14
✎
10:50
|
(1), Спасибо за подсказку!
СтрокаВыполнения = ФормируемаяСтрока+".Кнопки.Добавить(ИмяНовойКнопки, ТипКнопки, СокрЛП(НоваяКнопка.Наименование), Действие)";
вот так работает.
|
|