Имя: Пароль:
1C
1С v8
Модальные формы документа в 1С 8.2
0 dakra
 
11.08.15
09:45
Как открыть модально форму документа на нужной вкладке? Например форму документа "Заказ покупателя" вкладку "Товары"?
1 Lexey_
 
11.08.15
09:48
(0) ТекущаяСтраница
2 creator_mc
 
11.08.15
09:51
1С->Общие->Подсистемы
3 dakra
 
11.08.15
10:02
Текущую страницу пробовал - выходит ошибка:
ФормаДокумента = НовыйЗаказПокупателя.ПолучитьФорму("ФормаДокумента");
ИмяТекущейСтраницы = "Товары";
            ФормаДокумента.ЭлементыФормы.ОсновнаяПанель.ТекущаяСтраница = ФормаДокумента.ЭлементыФормы.ОсновнаяПанель.Страницы[ИмяТекущейСтраницы];
            ФормаДокумента.ЭлементыФормы.ОсновнаяПанель.ТекущаяСтраница.ОткрытьМодально();

Ошибка:
{Форма.Форма.Форма(308)}: Метод объекта не обнаружен (ОткрытьМодально)
            ФормаДокумента.ЭлементыФормы.ОсновнаяПанель.ТекущаяСтраница.ОткрытьМодально();
4 dakra
 
11.08.15
10:05
Если так:

ФормаДокумента = НовыйЗаказПокупателя.ПолучитьФорму("ФормаДокумента");
ИмяТекущейСтраницы = "Товары";
            ФормаДокумента.ЭлементыФормы.ОсновнаяПанель.ТекущаяСтраница = ФормаДокумента.ЭлементыФормы.ОсновнаяПанель.Страницы[ИмяТекущейСтраницы];
ФормаДокумента.ОткрытьМодально();

Все равно открывает первую вкладку "Доставка"
5 Поpyчик-4
 
11.08.15
10:06
ФормаДокумента.ОткрытьМодально();
ФормаДокумента.ЭлементыФормы.ОсновнаяПанель.ТекущаяСтраница = ФормаДокумента.ЭлементыФормы.ОсновнаяПанель.Страницы[ИмяТекущейСтраницы];
6 Поpyчик-4
 
11.08.15
10:07
Не, не то.
7 oslokot
 
11.08.15
10:17
ФормаДок = Форма.ОткрытьМодально();
ФормаДок - тут и устанавливай ТекущаяСтраница()

как - непомню ОФ
8 oslokot
 
11.08.15
10:18
(2) Подсистемы то тут причем?)
9 Fish
 
11.08.15
10:19
(7) Ты получишь ФормаДок только после закрытия. И это не будет формой :))
10 oslokot
 
11.08.15
10:20
(9) да, точно. не то
11 sash-ml
 
11.08.15
10:31
(4) все правильно, но в модуле формы где ни-будь ПриОткрытии наверняка есть какая-то гадость типа "УстановкаТекущейСтраницы" и модально не выйдет
12 Михаил Козлов
 
11.08.15
10:43
Можно завести реквизит формы типа заказ = ДокументОбъект.ЗаказПокупателя и на нужную страницу поместить табличное поле с источником данных заказ.Товары.
13 dakra
 
11.08.15
16:00
Предложенные методы попытался реализовать, к сожалению, проблема не решилась. Может быть попробовать через параметры формы...
14 НЕА123
 
11.08.15
16:04
(4)
может попробовать два раза открыть форму?


ФормаДокумента = НовыйЗаказПокупателя.ПолучитьФорму("ФормаДокумента");
ИмяТекущейСтраницы = "Товары";


///////////////////////////////////////////////////
ФормаДокумента.Открыть();          
/////////////////////////////////////////



ФормаДокумента.ЭлементыФормы.ОсновнаяПанель.ТекущаяСтраница = ФормаДокумента.ЭлементыФормы.ОсновнаяПанель.Страницы[ИмяТекущейСтраницы];
ФормаДокумента.ОткрытьМодально();
15 KrabCore
 
11.08.15
16:15
(13) рабочий вариант:
ФормаСпр = НоменклатураСсылка.ПолучитьФорму("ФормаЭлемента");
    ФормаСпр.ЭлементыФормы.ОсновнаяПанель.ТекущаяСтраница = формаспр.ЭлементыФормы.ОсновнаяПанель.Страницы["Дополнительные"];
    ФормаСпр.ОткрытьМодально();
16 dakra
 
11.08.15
16:24
(13) такой вариант заработал.
Всем большое спасибо.
Видимо сначала не работало, так как в процедуре "Перед открытием" в модуле формы документа "Заказ покупателя" стояло:
ЭлементыФормы.ОсновнаяПанель.ТекущаяСтраница = ЭлементыФормы.ОсновнаяПанель.Страницы.Доставка; //cl

В итоге рабочий вариант для документа "Заказ покупателя":
ФормаДокумента = НовыйЗаказПокупателя.ПолучитьФорму("ФормаДокумента");
ИмяТекущейСтраницы = "Товары";
ФормаДокумента.ЭлементыФормы.ОсновнаяПанель.ТекущаяСтраница = ФормаДокумента.ЭлементыФормы.ОсновнаяПанель.Страницы[ИмяТекущейСтраницы];
ФормаДокумента.ОткрытьМодально();
17 dakra
 
11.08.15
16:29
* sorry, хотел написать:
(15) такой вариант заработал.
Основная теорема систематики: Новые системы плодят новые проблемы.