8.х Помогите новичку

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем X-Man, 28 май 2008.

  1. TopicStarter Overlay
    X-Man
    Offline

    X-Man Опытный в 1С

    Регистрация:
    18 май 2007
    Сообщения:
    439
    Симпатии:
    3
    Баллы:
    29
    Здравствуйте, уважаемые профессионалы. Подскажите пожалуйста, как сделать, чтобы при подборе открывалась только одна копия формы независимо от того, сколько раз нажата кнопка ПОДБОР, то есть, если форма уже открыта-должна активизироваться она(а не открываться новая). Вот что я делаю:

    Код:
    Процедура КоманднаяПанель1Подбор(Кнопка)
    ФормаПодбора = Справочники.Материалы.ПолучитьФормуСписка("ФормаПодбора",ЭлементыФормы.ТабличнаяЧасть,"КлючУникальности1");
    ФормаПодбора.ЗакрыватьПриВыборе = Ложь;
    ФормаПодбора.МножественныйВыбор = Истина;
    ФормаПодбора.ВладелецФормы = ЭтаФорма;
    ФормаПодбора.Открыть();
    КонецПроцедуры
    

    Я уже и ключ уникальности задал-бесполезно.
    Сколько раз нажимается кнопка подбор-столько же копий формы подбора открывается. Некрасиво:(
    Помогите пожалуйста. Заранее благодарен.
  2. AlexFF
    Offline

    AlexFF Разбирающийся

    Регистрация:
    6 мар 2007
    Сообщения:
    565
    Симпатии:
    1
    Баллы:
    26
    Форма (Form)
    Открыта (IsOpen)
    Синтаксис:
    Открыта()
    Возвращаемое значение:
    Тип: Булево. Истина - открыта; Ложь - не открыта.
    Описание:
    Определяет, открыта ли данная форма.
    Недоступен на сервере 1С:Предприятие. Не используется в модуле внешнего соединения.
    Пример:
    Код:
    Если Не Форма.Открыта() Тогда
    Форма.Открыть();
    КонецЕсли;
    
    
  3. TopicStarter Overlay
    X-Man
    Offline

    X-Man Опытный в 1С

    Регистрация:
    18 май 2007
    Сообщения:
    439
    Симпатии:
    3
    Баллы:
    29
    Пробовал, не помогает, Не Форма.Открыта() всегда возвращает истину:(

    Хорошо, тогда поставлю вопрос по-другому: как произвести поиск уже открытых форм с известным ключом уникальности?
  4. LxS
    Offline

    LxS Разработчик

    Регистрация:
    5 апр 2007
    Сообщения:
    680
    Симпатии:
    0
    Баллы:
    26
    а модально открыть не судьба?
  5. TopicStarter Overlay
    X-Man
    Offline

    X-Man Опытный в 1С

    Регистрация:
    18 май 2007
    Сообщения:
    439
    Симпатии:
    3
    Баллы:
    29
    Спасибо тебе. но все-тако на будущее хотелось бы знать. Ведь для чего-то предусмотрен этот ключ уникальности. :unsure:
  6. LxS
    Offline

    LxS Разработчик

    Регистрация:
    5 апр 2007
    Сообщения:
    680
    Симпатии:
    0
    Баллы:
    26
    Если не присваивать владельца, будет открываться только одна копия.
    Для чего тебе необходимо это делать?

    В отладчике видно, что в обоих случаях (присваивания или неприсваивания владельца) значение КлючУникальности = Неопределено.
  7. freedown
    Offline

    freedown

    Регистрация:
    8 июн 2007
    Сообщения:
    14
    Симпатии:
    0
    Баллы:
    1
    Очевидно, для того, чтобы иметь возможность в вызывающей форме обработать то, чего там юзер навыбирает.

    Код:
    Процедура КоманднаяПанель1Подбор(Кнопка)
    
    ФормаПодбора = Справочники.Материалы.ПолучитьФорму("ФормаПодбора", ЭтаФорма);
    ФормаПодбора.ЗакрыватьПриВыборе = Ложь;
    ФормаПодбора.МножественныйВыбор = Истина;
    ФормаПодбора.Открыть();
    
    КонецПроцедуры
    
    
    
    
    Так открывается только одна форма, безо всяких дополнительных проверок на открытость (только что специально проверил). Табличную часть во втором параметре не надо передавать. То, чего навыбирает пользователь обрабатываете в процедуре ОбработкаВыбора(ЗначениеВыбора, Источник) (обработчик события в вызывающей форме).
  8. TopicStarter Overlay
    X-Man
    Offline

    X-Man Опытный в 1С

    Регистрация:
    18 май 2007
    Сообщения:
    439
    Симпатии:
    3
    Баллы:
    29
    Большое спасибо всем за участие и понимание:)
Похожие темы
  1. memphisto
    Ответов:
    1
    Просмотров:
    1.076
Загрузка...

Поделиться этой страницей