8.х Открыть форму/карточку справочника с формы/карточки другого справочника.

Тема в разделе "Отчеты и обработки для "1С:Предприятие 8"", создана пользователем Addm, 25 дек 2012.

  1. TopicStarter Overlay
    Addm
    Offline

    Addm Опытный в 1С

    Регистрация:
    22 ноя 2011
    Сообщения:
    110
    Симпатии:
    0
    Баллы:
    26
    Здравствуйте! Каким образом можно реализовать следующее:
    Есть справочник "Интернет на филиалах" в него занесены необходимые данные при открытии формы необходимо что была кнопка или ссылка на реквизиты провайдера указанного в поле ввода "Провайдер":
    Посмотреть вложение 13402
    т.е. что бы открылась следующая форма:
    Посмотреть вложение 13403
    Например, взять значение из поля ввода "провайдеры" которое ссылается на справочник "Список провайдеров" найти строку с этим значением в наименовании в справочнике "Провайдеры" и открыть форму с данными о провайдере как на картинке второй.

    Вложения:

    • 123.JPG
      123.JPG
      Размер файла:
      64,7 КБ
      Просмотров:
      35
    • 456.JPG
      456.JPG
      Размер файла:
      46,6 КБ
      Просмотров:
      35
  2. La Navidad
    Offline

    La Navidad Опытный в 1С

    Регистрация:
    25 дек 2012
    Сообщения:
    203
    Симпатии:
    1
    Баллы:
    26
    Addm вы бы почаще запятые ставили, чтобы было понятно, что вам нужно.
    У поля ввода "Провайдер" можно установить свойство КнопкаОткрытия = Истина, тогда в поле ввода появится стандартная кнопка открытия. Это вас не устраивает?
  3. Tiger86
    Offline

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

    Регистрация:
    24 мар 2011
    Сообщения:
    6.407
    Симпатии:
    108
    Баллы:
    104
    ну так и пробуйте
    Код:
    об = Провайдер;
    фрм = об.ПолучитьФорму();
    фрм.Открыть();
  4. TopicStarter Overlay
    Addm
    Offline

    Addm Опытный в 1С

    Регистрация:
    22 ноя 2011
    Сообщения:
    110
    Симпатии:
    0
    Баллы:
    26
    Это всё работает, но не то. Мне необходимо что бы справочник "ИнтернетНаФилиалах" открывал форму справочника "Провайдеры", где поле ввода "провайдер" справочника "ИнтернетНаФилиалах" = полю ввода "наименование" справочника "Провайдеры", значения в поля "провайдер" и "наименование" в эти справочники вносятся из справочника "СписокПровайдеров".
    Посмотреть вложение 13407
    Такое возможно реализовать? Т.е. Справочники "ИнтернетНаФилиалах" и "Провайдеры" связаны между собой как бы справочником "СписокПровайдеров".
    Скажите, если совсем непонятно написал опишу каким-либо другим способом.

    Вложения:

    • 78.JPG
      78.JPG
      Размер файла:
      10,5 КБ
      Просмотров:
      12
  5. Tiger86
    Offline

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

    Регистрация:
    24 мар 2011
    Сообщения:
    6.407
    Симпатии:
    108
    Баллы:
    104
    я по скринам поняла. что из одного справочника просто открыть форму элемента Провайдера и все, из вашего последнего сообщения ничего не поняла
  6. TopicStarter Overlay
    Addm
    Offline

    Addm Опытный в 1С

    Регистрация:
    22 ноя 2011
    Сообщения:
    110
    Симпатии:
    0
    Баллы:
    26
    Да открыть форму элемента спр-ка "провайдеры" с формы элемента спр-ка "ИнтернетНаФилиалах" при условии, что значение поля ввода "провайдер" = значению поля ввода "Наименование" в справочнике "Провайдеры", т.к. они одинаковы в обоих справочниках.
    Код:
    Справочники.ИнтернетНаФилиалах.Провайдер=Справочники.Провайдеры.Наименование
    )
    Здесь без запросов выборки кажется не обойтись, т.е. через
    Код:
    Запрос = Новый Запрос
  7. Tiger86
    Offline

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

    Регистрация:
    24 мар 2011
    Сообщения:
    6.407
    Симпатии:
    108
    Баллы:
    104
    вы меня запутали окончательно. Поправьте меня если я не права. У вас есть справочник ИнтернетВФилиалах, так? в нем вы выбираете провайдера, так? форму этого провайдера вам надо открыть так? если да, то мой код это и делает, а если не так я поняла, то извините, по другому никак мозги не выворачиваются

    у вас же на первом скрине (куда надо кнопку добавить) Провайдер - это же ссылка на справочник Провайдеры? или нет?
  8. TopicStarter Overlay
    Addm
    Offline

    Addm Опытный в 1С

    Регистрация:
    22 ноя 2011
    Сообщения:
    110
    Симпатии:
    0
    Баллы:
    26
    1) Поле ввода "Провайдер" на форме справ-ка "ИнтернетНаФилиалах" заполняется из справочника "СписокПровайдеров"
    2) Поле ввода "Наименование" на форме срав-ка "Провайдеры" заполняется из справочника "СписокПровайдеров"
    3) Но при нажатии на кнопку мне нужно что бы открылась с формы "ИнтернетНаФилиалах" форма справ-ка "Провайдеры", при условии, что Поле ввода "Провайдер" = Поле ввода "Наименование".
    Может так. :blush: Я сам вижу, что текст сложным получается из-за множества одинаковых названий полей и выглядит как законы НКРФ.
  9. Tiger86
    Offline

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

    Регистрация:
    24 мар 2011
    Сообщения:
    6.407
    Симпатии:
    108
    Баллы:
    104
    не вижу пока смысла в том чтобы было 2 справочника (на мой взгляд одинаковых) СписокПровайдеров и Провайдеры. Это случайно не 2 разные формы одного справочника (форма списка и форма элемента)?

    если не секретно, то может конфу выложите (инфы не надо, только структуру)
  10. TopicStarter Overlay
    Addm
    Offline

    Addm Опытный в 1С

    Регистрация:
    22 ноя 2011
    Сообщения:
    110
    Симпатии:
    0
    Баллы:
    26
    Нет!
    вот ФормаЭлемнетаСпров:
    Посмотреть вложение 13409
    вот ФормаЭлементаПровайдеры:
    Посмотреть вложение 13410

    В первом хранятся лишь название организаций фирм провайдеров.
    Во-втором кроме названия фирмы провайдера остальные данные.
    Я понимаю, что можно просто в справ-ке "ИнтернетНаФилиалах" в поле ввода "Провайдер" изменить ссылку на справочник "Провайдеры", но мне интересно как реализовать тот вариант о который я пытаюсь описать.

    Вложения:

    • 123.JPG
      123.JPG
      Размер файла:
      12 КБ
      Просмотров:
      15
    • 456.JPG
      456.JPG
      Размер файла:
      46,6 КБ
      Просмотров:
      14
  11. Tiger86
    Offline

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

    Регистрация:
    24 мар 2011
    Сообщения:
    6.407
    Симпатии:
    108
    Баллы:
    104
    лично мне интересно зачем дублить информацию, ну да ладно не об этом речь.... тогда вам сначала надо получить ссылку на элемент по типу
    Код:
    элем = Справочники.ТутВашНужныйСправочник.НайтиПоНаименованию(Провайдер.Наименование);
    фрм = элем.ПолучитьФорму();
    фрм.Открыть();
    я в ваших справочниках запуталась, так что название сами подставьте, ну а раз наименование должно совпадать, то тогда вот по Наименованию и ищите
  12. TopicStarter Overlay
    Addm
    Offline

    Addm Опытный в 1С

    Регистрация:
    22 ноя 2011
    Сообщения:
    110
    Симпатии:
    0
    Баллы:
    26
    Благодарю! Этот код помог:
    Код:
    элем = Справочники.ТутВашНужныйСправочник.НайтиПоНаименованию(Провайдер.Наименование);
    фрм = элем.ПолучитьФорму();
    фрм.Открыть();
    только я перед этим "загнал" значение поля ввода "провайдер" в переменную, а затем поставил сюда:
    Код:
    элем = Справочники.ТутВашНужныйСправочник.НайтиПоНаименованию(Тутпеременная);
    фрм = элем.ПолучитьФорму();
    фрм.Открыть();
    И получилось обычное условие типа: Если данное поле этой формы = искомому полю другой формы, то открыть форму искомого поля.

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