Имя: Пароль:
1C
1С v8
ОткрытьФорму() открывает другую форму (не находит открытую)
0 PRO100 NigGaZ
 
30.10.13
10:15
Пишу заполнение документа внешней обработкой, чтобы получить объект документа открываю новую форму

    Параметр = Новый Структура("Ключ", Объект.СсылкаНаОбъект);
    Форма = ОткрытьФорму("Документ.РеализацияТоваровУслуг.Форма.ФормаДокументаТовары",Параметр);
    ОбъектФормы = Форма.Объект;
    ОбъектФормы.Товары.Очистить();

в итоге открывается новая форма (старая точно "Документ.РеализацияТоваровУслуг.Форма.ФормаДокументаТовары", точка останова при открытии отрабатывает) вчера вроде все работало :(
1 Wobland
 
30.10.13
10:16
объект - такая штука, что может жить совсем без формы
2 PRO100 NigGaZ
 
30.10.13
10:21
но вчера все работало... не могу понять почему сегодня уже нет, а есть другие варианты из печатной формы изменить объект (в семерке ведь так просто это было) :(
3 Wobland
 
30.10.13
10:23
гы! внезапно печатная формы возникла.. вариантов есть
4 Euguln
 
30.10.13
10:32
(0) Залезть в СП не вариант?

Глобальный контекст (Global context)
ОткрытьФорму (OpenForm)
Вариант синтаксиса: По названию

Синтаксис:

ОткрытьФорму(<ИмяФормы>, <Параметры>, <Владелец>, <Уникальность>, <Окно>)

<Уникальность> (необязательный)

Тип: Произвольный.
В данном параметре может быть задан некоторый ключ, значение которого будет использоваться для поиска уже открытых форм. Если будет найдена форма с таким же ключом уникальности, вместо открытия новой формы будет активизирована найденная форма.
5 Леопольд Роскошный
 
30.10.13
10:36
(0) Форму надо открывать не через объект, а через ссылку.
6 PRO100 NigGaZ
 
30.10.13
10:40
какие как? дело в том что нельзя изменить конфиг, поэтому через печатную форму, она ведь через внешнюю обработку создается :)
     ПараметрыРегистрации.Вставить("Вид", "ЗаполнениеОбъекта");
да там ссылка
7 PRO100 NigGaZ
 
30.10.13
10:43
ключ есть Параметр = Новый Структура("Ключ", Объект.СсылкаНаОбъект);
СсылкаНаОбъект тут ссылка на документ
8 PRO100 NigGaZ
 
30.10.13
11:14
получается что новая форма открывается в новом окне а не вкладке, что делать не знаю :(
9 Wobland
 
30.10.13
11:18
(8) форма зачем?
10 PRO100 NigGaZ
 
30.10.13
11:23
новая незачем, не находит уже открытую

&НаКлиенте
Процедура ВыполнитьКоманду(ИдентификаторКоманды, ОбъектыНазначенияМассив) Экспорт    
   Объект.СсылкаНаОбъект = ОбъектыНазначенияМассив[0];
  
   Если НЕ Объект.СсылкаНаОбъект.Пустая() Тогда
       ЭтаФорма.Открыть();
   КонецЕсли;
   //ОбъектФормы.Модифицированность(Истина);
КонецПроцедуры

&НаКлиенте
Процедура Импорт(Команда)
    ЭтаФорма.Закрыть();
    Параметр = Новый Структура("Ключ", Объект.СсылкаНаОбъект);
    Форма = ОткрытьФорму("Документ.РеализацияТоваровУслуг.Форма.ФормаДокументаТовары",Параметр);
    ОбъектФормы = Форма.Объект;
    
    // Далее ваша функциональность
    ОбъектФормы.Товары.Очистить();
    //ОбъектФормы.Товары.Добавить();
КонецПроцедуры

так работает а если меняю на ЭтаФорма.ОткрытьМодально(); открывает новую форму
Здесь можно обсудить любую тему при этом оставаясь на форуме для 1Сников, который нужен для работы. Ymryn