|
"запись дампа" при открытии формы | ☑ | ||
---|---|---|---|---|
0
alexshape
29.06.17
✎
10:09
|
Пытаюсь программно создать на Упр форме страницы: РезультатЗапросаТаблица = ЗаполнитьГруппуАвтомобилиНаСервере();
Имя = 1; Для каждого Строка Из РезультатЗапросаТаблица Цикл Страница = Элементы.Добавить("СтраницаГруппыАвтомобили"+Имя, Тип("ГруппаФормы"), Элементы.Группа1); Страница.Вид = ВидГруппыФормы.Страница; Страница.Заголовок = Строка.Наименование; ДекорацияИмя = "ДекорацияГруппыАвтомобили"+Имя; Надпись = Элементы.Добавить(ДекорацияИмя,Тип("ДекорацияФормы"), Страница); Надпись.Заголовок = "Тест"; Надпись.РастягиватьПоВертикали = Истина; Надпись.РастягиватьПоГоризонтали = Истина; Надпись.ГоризонтальноеПоложение = ГоризонтальноеПоложениеЭлемента.Лево; Надпись.ВертикальноеПоложение = ВертикальноеПоложениеЭлемента.Верх; Имя = Имя+1; КонецЦикла; КАк то так, все нормально создает, только после выхода из процедуры 1с выдает ошибку "Запись дампа" и вылетает. в чем причина не могу понять |
|||
1
lodger
29.06.17
✎
10:14
|
ответ: не перерисовывайте форму и ее элементы когда она уже однажды была отправлена на клиент. это можно делать только при создании на сервере.
чисто технически можно, некоторые вещи даже не вешают 1с в дамп, но так делать не стоит вообще. плюс можно поэкспериментировать с версиями платформы - на некоторых разные вещи по разному отрисовываются. |
|||
2
alexshape
29.06.17
✎
10:23
|
(1) Перенес все на "при создании на сервере", такая же ошибка
|
|||
3
Волшебник
модератор
29.06.17
✎
10:24
|
Ищите бесконечную рекурсию в функции ЗаполнитьГруппуАвтомобилиНаСервере
|
|||
4
alexshape
29.06.17
✎
10:27
|
(3) В том то и дело, он из цикла выходит, все создает что нужно, и после строки "КонецПроцедуры" Дамп
|
|||
5
aleks_default
29.06.17
✎
10:30
|
Может не помещать декорацию сразу на страницу, а создать промежуточную группу без отображения и в нее засунуть декорацию?
|
|||
6
lodger
29.06.17
✎
10:35
|
(2) тогда нарисуйте страницу и декорацию вручную, а потом остановите отладчик перед переходом на клиент и смотрите в чем отличия.
|
|||
7
butterbean
29.06.17
✎
10:39
|
вангую, что без надписи будет работать
|
|||
8
Тихий омут
29.06.17
✎
10:47
|
(0) у тебя там автомобилей сколько? а то может слишком тяжёлая форма получается. Вообще эта конструкция смущает - "СтраницаГруппыАвтомобили"+Имя, в ней автоматическое преобразование числа к строке может неразрывный пробел добавить, мож из-за этого и отваливается, если авто больше 999 :)
|
|||
9
alexshape
29.06.17
✎
10:52
|
(5) С группой не получается, (6) Буду пробовать, (7) Без надписи все ок, только пустая страница мне ни к чему, а вместо надписи ставлю поле к примеру та же ошибка. (8) Авто не много, 5 штук. Если даже принудительно к строке то все равно. ошибка
|
|||
10
Тихий омут
29.06.17
✎
10:59
|
(9) ок. Ещё пару предположений.
Емнип, не рекомендуется использовать ключевые слова как имена переменных, вот здесь у тебя есть такое сомнительное место: Для каждого Строка Из РезультатЗапросаТаблица И второе - в наименованиях авто нет каких-нибудь непечатных символов? Вот в этой строке Страница.Заголовок = Строка.Наименование устанавливаешь заголовок, а там мож есть нечто такое, от чего при попытке отрисовать форму 1с валится |
|||
11
alexshape
29.06.17
✎
11:17
|
(10) Короче пока не получается, нет, я вместо Заголовка уже тестовую строку ставлю все равно ошибка.
|
|||
12
alexshape
29.06.17
✎
11:43
|
Хвала богам) Все получилось. Оказалось банальная невнимательность. Вот в это строке:
Страница = Элементы.Добавить("СтраницаГруппыАвтомобили"+Имя, Тип("ГруппаФормы"), Элементы.Группа1); Группа1 - это обычная группа, нужно ставить группу с типом страницы |
|||
13
alexshape
29.06.17
✎
15:29
|
Спасибо всем кто помогал
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |