|
Проблема при добавлении обычной группы формы |
☑ |
0
satoru
12.01.18
✎
10:46
|
На управляемой форме создаю обычную группу программным путем и программа выдаёт ошибку:
{Документ.ПеремещениеТоваров.Форма.ФормаВводаПеремещения.Форма(956)}: Ошибка при вызове метода контекста (Добавить)
ГруппаДляКнопок = Элементы.Добавить("ГруппаДляКнопок"+КоличествоГрупп+"",Тип("ОбычнаяГруппаФормы"),Элементы.ГруппаПодборКнопки);
по причине:
Недопустимое значение параметров
Платформа 8.3.10.2168
Конфигурация Управление торговлей для Украины ред. 2.3
|
|
1
hhhh
12.01.18
✎
10:51
|
(0) может нельзя обычную группу внутрь кнопки впихивать?
|
|
2
satoru
12.01.18
✎
10:53
|
(1) Элементы.ГруппаПодборКнопки - это тоже обычная группа
|
|
3
Тихий омут
12.01.18
✎
10:54
|
(0) Тип("ГруппаФормы"), не? Чёт не вижу в ЖКК типа "ОбычнаяГруппаФормы"
|
|
4
dezss
12.01.18
✎
10:55
|
какой тип у Элементы.ГруппаПодборКнопки?
|
|
5
dezss
12.01.18
✎
10:57
|
и попробуй явное преобразование, т.е. не "+КоличествоГрупп+", а "+Строка(КоличествоГрупп)+".
|
|
6
satoru
12.01.18
✎
10:59
|
(4) тип "ГруппаФормы"
|
|
7
dezss
12.01.18
✎
11:01
|
(5) + просто у тебя ошибка "Недопустимое значение параметров", т.е. не указан номер неправильного параметра, а это говорит, ИМХО, о том, что дело не в параметрах метода, а в том, что происходит до этого, т.е. в конкатенации.
|
|
8
satoru
12.01.18
✎
11:02
|
Поменял код, с учетом замечаний:
ГруппаДляКнопок = Элементы.Добавить("ГруппаДляКнопок"+КоличествоГрупп+"",Тип("ГруппаФормы"),Элементы.ГруппаПодборКнопки);
ГруппаДляКнопок.Вид = ВидГруппыФормы.ОбычнаяГруппа;
И всё заработало. Всем спасибо.
|
|
9
satoru
12.01.18
✎
12:45
|
В продолжении темы ещё момент: кнопки добавляются, но необходимо ещё, чтобы на кнопках отображалось изображение товара. Но согласно СП картинка может быть только из библиотеки, так же это касается и декорации формы.
Вопрос: выходит, что если программно создать любой объект на форме, который содержит атрибут "Картинка", нельзя указывать программным путем картинку из файла, хранилища и т.п.?
|
|
10
satoru
12.01.18
✎
14:44
|
Нашёл костыльный способ, может кому-то пригодится:
//добавляем картинку через создание нового реквизита
ИмяРеквизита = "АдресКнопки"+СокрЛП(Строка.Код)+"";
РеквизитКнопки = Новый РеквизитФормы(ИмяРеквизита,Новый ОписаниеТипов("Строка"));
//добавляем новый реквизит, если его нет в форме
Попытка
РеквизитКнопки = ЭтаФорма[ИмяРеквизита];
Исключение
Массив = Новый Массив;
Массив.Добавить(РеквизитКнопки);
ИзменитьРеквизиты(Массив);
КонецПопытки;
//создаём поле с видом "ПолеКартинки"
ИзображениеКнопки = Элементы.Добавить("ИзображениеКнопки"+СокрЛП(Строка.Код)+"",Тип("ПолеФормы"),ГруппаКнопки);
ИзображениеКнопки.ПутьКДанным = ИмяРеквизита;
ИзображениеКнопки.Вид = ВидПоляФормы.ПолеКартинки;
|
|
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший