[РЕШЕНО] Как выбирать из формы списка альтернативную форму документа?

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем Vzonder, 27 дек 2016.

  1. TopicStarter Overlay
    Vzonder
    Offline

    Vzonder Новичок в 1С

    Регистрация:
    23 июн 2016
    Сообщения:
    5
    Симпатии:
    1
    Баллы:
    4
    Очевидно, что можно навоять несколько форм списка, а так же форм документа (справочника и т.д.).
    Предположим: Имеются 3 категории отдела, работающих с заказом покупателя.
    Для каждого отдела создается своя форма списка заказа покупателя.

    Назовем их:
    ФормаСписка
    ФормаСписка1
    ФормаСписка2


    Соответственно вызываются эти формы из панели меню.
    Так же создаются формы документа (со своими наборами инструментов и т.д.)
    ФормаДокумента
    ФормаДокумента1
    ФормаДокумента2

    По умолчанию, из любой формы списка (ФормаСписка ; ФормаСписка1 ; ФормаСписка2) при выборе документа – будет открывать всегда одна форма, которая назначена основной.

    Вопрос:
    Как назначить каждой форме списка, свою форму документа?
  2. nbIpKuH_BaH9I
    Offline

    nbIpKuH_BaH9I Модераторы Команда форума Модератор

    Регистрация:
    16 сен 2009
    Сообщения:
    7.277
    Симпатии:
    434
    Баллы:
    104
    Прописать соответствия в коде. Но для соответствий лучше использовать регистр для настроек. Так будет более правильно.
  3. TopicStarter Overlay
    Vzonder
    Offline

    Vzonder Новичок в 1С

    Регистрация:
    23 июн 2016
    Сообщения:
    5
    Симпатии:
    1
    Баллы:
    4
    Нашел решение.
    Подсказали на другом форуме, цитирую ответ:

    Нужно для поля формы ДокументСписок добавить обработчик события Выбор.

    В этом обработчике написать подобный код:
    Процедура СписокВыбор(Элемент, ВыбраннаяСтрока, Колонка, СтандартнаяОбработка)
    // Вставить содержимое обработчика.
    СтандартнаяОбработка = Ложь;
    Если Не ВыбраннаяСтрока = Неопределено Тогда
    Форма = ВыбраннаяСтрока.ПолучитьФорму("ФормаДокумента1");
    Форма.Открыть();
    КонецЕсли;
    КонецПроцедуры


    Все заработало сразу и отлично!

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