|   |   | 
| 
 | Как запретить открывать документ дважды? | ☑ | ||
|---|---|---|---|---|
| 0
    
        napagokc 07.02.13✎ 12:54 | 
        Есть кнопка, которая открывает определенные документы. Все хорошо работает, но при повторном нажатии на эту кнопку открываются дубликаты ранее открытых документов.
  Пример: по кнопке открывается сразу три документа. Один документ я случайно закрыл и, чтобы не искать его в общем журнале, опять нажимаю кнопку. В результате получаю не три документа, а пять (два открытых изначально и три открытых только что), два из которых дублируют открытые ранее документы. Как сделать так, чтобы дублирующиеся документы не открывались? Мне кажется, что я где-то читал об этом и решение на поверхности, но не могу вспомнить и поиск не помог :( 1С8.2, конфа собственной разработки. | |||
| 1
    
        1C-band 07.02.13✎ 12:55 | 
        (0) Блокировки?     | |||
| 2
    
        jenny_tea 07.02.13✎ 12:56 | 
        ставить для формы документа владельца а при открытии 
  Если ФормаДок.Открыта() Тогда ФормаДок.Активировать(); Иначе ФормаДок.Открыть() КонецЕсли; | |||
| 3
    
        napagokc 07.02.13✎ 13:01 | 
        (1) можно чуть подробнее? Для чайников =)
  (2) Почему-то не работает. Может что-то не так делаю... ФормаДок = док.ПолучитьФорму(); Если НЕ ФормаДок.Открыта() Тогда ФормаДок.Открыть(); КонецЕсли; | |||
| 4
    
        Reset 07.02.13✎ 13:02 | 
        (0) По моему, такая ситация возможна, только если кто-то намеренно вредил в базе (получая формы для объектов). По ссылке всегда открывается та же форма.     | |||
| 5
    
        Reset 07.02.13✎ 13:02 | 
        ситуация*     | |||
| 6
    
        Reset 07.02.13✎ 13:03 | 
        Т.е. на кропку открытия кто-то повесил код вида ПолучитьОбъект().ПолучитьФорму().Открыть()     | |||
| 7
    
        napagokc 07.02.13✎ 13:04 | 
        (6) Так и есть, так запрограммированно. Кнопка не стандартная     | |||
| 8
    
        fisher 07.02.13✎ 13:04 | 
        (6) И не просто, а с другим ключом уникальности формы.     | |||
| 9
    
        Reset 07.02.13✎ 13:04 | 
        (7) Ну и что тогда не устаивает? :)     | |||
| 10
    
        fisher 07.02.13✎ 13:05 | 
        (7) Достаточно убрать ключ уникальности.     | |||
| 11
    
        Reset 07.02.13✎ 13:05 | 
        (8) ну нужен ключ. Экземпляр объекта другой - будет открыта другая форма     | |||
| 12
    
        Reset 07.02.13✎ 13:05 | 
        +(11) НЕ нужен*     | |||
| 13
    
        Defender aka LINN 07.02.13✎ 13:05 | 
        (8) Это формы разных экземпляров объекта, там ключ уникальности нафиг не нужен.
  (7) Тебе уже написали, что делать. | |||
| 14
    
        napagokc 07.02.13✎ 13:09 | 
        что-то либо я вас не понимаю, либо вы меня как-то не так поняли...
  Допустим у нас есть три документа: Накл1, Накл2 и Накл3. Они созданы, сохранены, проведены (или не проведены - не важно) Кнопка находит запросом все эти три документа и открывает их. То есть, если документ найден, то док = Выборка.Ссылка.ПолучитьОбъект(); Дальше открываем форму у этих документов. | |||
| 15
    
        Reset 07.02.13✎ 13:14 | 
        (14) Форму у ссылки получай, а не у объекта.
  Грубо Выборка.Ссылка.ПолучитьФорму() | |||
| 16
    
        napagokc 07.02.13✎ 13:16 | 
        (15) Да! Все получилось! Спасибо!!!     | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |