Имя: Пароль:
1C
1С v8
Создание страниц на форме обработки
,
0 nulback
 
01.08.17
11:36
Подскажите плз новичку, уважаемые форумчане. Всем добра.
Есть такая ситуация имеется некий регистр в котором есть данные Маршрут и Документ. Необходимо на форму выгрузить данные следующим образом Для каждого маршрута создать отдельную страницу со списков документов по этому маршруту.
Список документов и маршрутов - данные регистра, поэтому определить различные маршруты, создать страницы на различные маршруты, проставить условия отбора на каждой созданной странице по маршруту, т.е. на страницу вывести список регистра с отборами.
1 Ёпрст
 
01.08.17
11:42
(0) Выводи. Разрешаю.
2 Mankubus
 
01.08.17
11:43
(0) Что конкретно подсказать? Открывай конфигуратор и создавай элементы формы программно
3 nulback
 
01.08.17
11:47
(1) спс, я думал что так нельзя. (2) вот выбрал я различные маршруты из регистра за день, допустим у меня получилось: "Маршрут№1" "Маршрут №2" Маршрут №... как создать страницы под эти маршруты и вывести список на этих страницах с отборами?
я пробовал создал обработку получил список маршрутов, хотел создать через
Панель.Страницы.Добавить(ИмяМаршрута) но не получается.
4 nulback
 
01.08.17
12:27
Подскажите как вывести это все? никак не получается.
5 Mankubus
 
01.08.17
12:32
(3) Что конкретно не получается? показывай код и ошибку
6 nulback
 
01.08.17
12:34
ошибки нет
Панель.Страницы.Добавить(ИмяМаршрута)
не добавляются никакие страницы, пустая обработка.
7 catena
 
01.08.17
12:36
(4)Хреновый такой подход. "Напишите мне, я сам не умею". Ты либо показывай, что наваял и готовься впитывать критику. Либо возьми что-то, где подобное реализовано и разбирай. Например, в Инструментах Разработчика (по крайней мере в старой версии на ОФ) есть Универсальный редактор реквизитов, там дофига можно подсмотреть про создание элементов на форме.
8 nulback
 
01.08.17
12:52
(7) так я ж пишу
получил список маршрутов из регистра на день.
далее запихнул их названия в ТЗ
далее пытаюсь пока программно создать страницу на форме обработки, еще пока не дошел до создания списка регистра с отбором.
Т.е. далее прохожу таблицу и пытаюсь создать страницу на форме обработки
Панель.Страницы.Добавить(ИмяМаршрута)
в итоге ничего не создается.
9 vicof
 
01.08.17
13:05
Панель в УФ не будет отображаться, пока на ней нет других элементов
10 nulback
 
01.08.17
13:08
(9) обычные формы.
11 Has
 
01.08.17
13:20
(10)а панель на форме есть?
12 nulback
 
01.08.17
13:28
Когда пишу панель, она зелененьким светится.
13 catena
 
01.08.17
13:32
ЭлементыФормы.ПанельСравнения.Страницы.Добавить("ТП"+Инд, Строка(ТекДок.Значение));
        ЭлементыФормы.ПанельСравнения.ТекущаяСтраница=ЭлементыФормы.ПанельСравнения.Страницы["ТП"+Инд];
        ЭлементыФормы.Добавить(Тип("ПолеТабличногоДокумента"),"ПТД"+Инд,Истина,ЭлементыФормы.ПанельСравнения);
        птдНаФорме=ЭлементыФормы["ПТД"+Инд];
        птдНаФорме.Доступность=Истина;
        птдНаФорме.Высота=ЭлементыФормы.ПанельСравнения.Высота-10;
        птдНаФорме.Ширина=ЭлементыФормы.ПанельСравнения.Ширина-10;
        птдНаФорме.Верх=4;
        птдНаФорме.Лево=4;
        птдНаФорме.УстановитьПривязку(ГраницаЭлементаУправления.Низ,ЭлементыФормы.ПанельСравнения,ГраницаЭлементаУправления.Низ);
        птдНаФорме.УстановитьПривязку(ГраницаЭлементаУправления.Право,ЭлементыФормы.ПанельСравнения,ГраницаЭлементаУправления.Право);
        птдНаФорме.ТолькоПросмотр=Ложь;
        птдНаФорме.Доступность=Истина;
14 Has
 
01.08.17
13:36
меню Форма\Список полей управления формы
там должна быть твоя панель.
в примере (13) это панель с именем "ПанельСравнения"
15 nulback
 
01.08.17
14:06
(13) ВО! через элементы формы получилось добавить. Подскажите что правильнее сделать? Выводить сразу список регистра на форму с отбором или выгружать данные в ТЗ, а саму ТЗ надо будет выгрузить на страницу, нужно иметь итоги по суммовым полям в подвале. Как разместить ТЗ на форме я знаю, а как вывести список регистра не в курсе.
16 nulback
 
01.08.17
15:51
вот опять проблема с выводом табличного поля на форме
        Для Каждого СтрокаТЗ ИЗ Таблица Цикл
            ИмяМаршрута =СтрокаТЗ.Маршрут.Код;
            ЭлементыФормы.Панель.Страницы.Добавить(ИмяМаршрута, Строка(СтрокаТЗ.Маршрут));
            ЭлементыФормы.Панель.ТекущаяСтраница=ЭлементыФормы.Панель.Страницы[ИмяМаршрута];
            ЭлементыФормы.Добавить(Тип("ТабличноеПоле"),ИмяМаршрута, Истина,ЭлементыФормы.Панель);
            ТПНаФорме=ЭлементыФормы[ИмяМаршрута];
            ТПНаФорме.Доступность=Истина;
            ТПНаФорме.Высота=ЭлементыФормы.Панель.Высота-20;
            ТПНаФорме.Ширина=ЭлементыФормы.Панель.Ширина-30;
            ТПНаФорме.Верх=4;
            ТПНаФорме.Лево=4;
            ТПНаФорме.УстановитьПривязку(ГраницаЭлементаУправления.Низ,ЭлементыФормы.Панель,ГраницаЭлементаУправления.Низ);
            ТПНаФорме.УстановитьПривязку(ГраницаЭлементаУправления.Право,ЭлементыФормы.Панель,ГраницаЭлементаУправления.Право);
            ТПНаФорме.ТолькоПросмотр=Ложь;
            ТПНаФорме.Доступность=Истина;
        КонецЦикла;

Выдает ошибку
{ВнешняяОбработка.РазбитьДанныеПоВедомостям.Форма.Форма.Форма(54)}: Ошибка при вызове метода контекста (Добавить)
            ЭлементыФормы.Добавить(Тип("ТабличноеПоле"),ИмяМаршрута, Истина,ЭлементыФормы.Панель);
по причине:
Неверное имя!
Имя должно состоять из одного слова,
начинаться с буквы и не содержать специальных символов кроме "_".
ИмяМаршрута = "0000003"
17 nulback
 
01.08.17
15:53
(16) все разобрался
18 nulback
 
01.08.17
17:11
вопросик еще как обработать активацию ячейки в программно созданном табличном поле, точнее надо не только на одном поле такое обрабатывать, а на всех табличных полях которые создались программно*
19 Mankubus
 
01.08.17
17:25
(18) Элементы.ИмяЭлемента.УстановитьДействие("")
AdBlock убивает бесплатный контент. 1Сергей