Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: проверка открытия формы документа  (Прочитано 16403 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Элексир
Помогающий

ru
Offline Offline
Пол: Мужской

« : 08-11-2011 05:52 » 

Добрый день. Как можно проверить открыт ли определенный документ или нет.
Код:
Форма = Документы.НазваниеД.ПолучитьФорму("ФормаДокумента");
Если Форма.Открыта() тогда
-*-*-*-*
КонецЕсли;
не работает
Записан
Dest
Опытный

ru
Offline Offline

« Ответ #1 : 08-11-2011 06:09 » 

По идее и не должно.

Код:
   
        Док = Документы.ПриходныйКассовыйОрдер.НайтиПоНомеру("23423");
Форма = док.ПолучитьФорму();
Если Форма.Открыта() Тогда

КонецЕсли;

Вот так можно, но, судя по всему, этого не то, что нужно тебе. А вообще можно завести глобальную переменную в модуле приложения "ФормаДокументаНазваниеДОткрыта"(булево). И менять её значение при открытии формы. Изврат конечно...
Записан
Элексир
Помогающий

ru
Offline Offline
Пол: Мужской

« Ответ #2 : 08-11-2011 06:20 » 

Dest, да такой вариант не прокатывает. номер документа будет неизвестен. Есть ли другие варианты? например где можно хранить ссылку открытого дока?
Записан
Dest
Опытный

ru
Offline Offline

« Ответ #3 : 08-11-2011 06:26 » 

В переменной!
Или создать регистр сведений. Не периодический. Измерения - Пользователь, Документ
« Последнее редактирование: 08-11-2011 06:30 от Dest » Записан
Элексир
Помогающий

ru
Offline Offline
Пол: Мужской

« Ответ #4 : 08-11-2011 06:35 » 

Точно щас попробую Улыбаюсь а то я ссылку в параметры сеанса запихнул Улыбаюсь
Записан
Kivals
Модератор

ca
Offline Offline
Пол: Мужской

WWW
« Ответ #5 : 08-11-2011 07:22 » 

В управляемом приложении я бы наверное во временной хранилище пихал с идентификатором, равным уникальному идентфикатору объекта. Правда существует ненулевая веростность что могут быть одинаковые идентификаторы для разных типов объектов (особенно если используется обмен между БД с разными конфигурациями и синхронизацией объектов по внутреннему идентификатору)
Записан
Элексир
Помогающий

ru
Offline Offline
Пол: Мужской

« Ответ #6 : 08-11-2011 07:40 » 

Kivals, это 8.1. пока поместил ссылку в параметры сеанса. но все равно отловить открытость формы не могу.
пытался работать без форм(подумал что раз ссылка есть форма не нужна) изменяю данные, записываю и  все работается, но при попытке закрыть форму ругается что такая запись либо была изменена либо удалена. как это все победить?
Код:
Процедура ПриЗакрытии()
ЭтотОбъект.Записать(РежимЗаписиДокумента.Проведение);
КонецПроцедуры;
Ошибка  здесь.

Добавлено через 2 дня, 23 часа, 7 минут и 27 секунд:
Kivals, можешь подсказать как можно разрушить открытую форму или присвоить ей объект из ссылки?
« Последнее редактирование: 11-11-2011 07:01 от Элексир » Записан
Kivals
Модератор

ca
Offline Offline
Пол: Мужской

WWW
« Ответ #7 : 11-11-2011 07:06 » 

в управляемых формах объект заменяется легко, в 8.1 такая задача не стояла
Что значит "разрушить открытую форму"? Форма.Закрыть() не подходит?
Записан
Элексир
Помогающий

ru
Offline Offline
Пол: Мужской

« Ответ #8 : 11-11-2011 07:40 » new

Закрыть не получается. потому что форма уже не является чьей-то. она там типа сама по себе что ли  Не понял
Записан
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines