8.х Получить запросом все реквизиты объекта

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем бухг123, 16 май 2014.

  1. TopicStarter Overlay
    бухг123
    Offline

    бухг123 Опытный в 1С

    Регистрация:
    8 дек 2011
    Сообщения:
    219
    Симпатии:
    0
    Баллы:
    26
    Пробовал кто нибудь запросом получить все реквизиты объекта, те. не значения реквизитов а наименование самих реквизитов? Возможно ли такое?
    Принцип похожий на Цикл

    Код:
    Для каждого Реквизит Из Документ.Метаданные().Реквизиты Цикл
          Сообщить(Ревизит.Имя);
    КонецЦикла;
  2. alexburn
    Offline

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

    Регистрация:
    5 янв 2009
    Сообщения:
    14.735
    Симпатии:
    508
    Баллы:
    204
    Выбрать
    *
    из ВашДокумент.
  3. Thelearning
    Offline

    Thelearning Профессионал в 1С Команда форума

    Регистрация:
    9 сен 2010
    Сообщения:
    701
    Симпатии:
    72
    Баллы:
    54
    А разве такое возможно?
    --- Объединение сообщений, 16 май 2014 ---
    Так ведь через звездочку все равно будут выбраны именно значения реквизитов, а не сами имена
  4. olegsemenov2005
    Offline

    olegsemenov2005 Новичок в 1С

    Регистрация:
    5 май 2014
    Сообщения:
    48
    Симпатии:
    3
    Баллы:
    4
    &НаКлиенте
    Процедура Команда1(Команда)

    НаСервере("РеализацияТоваровУслуг");

    КонецПроцедуры

    &НаСервере
    Процедура НаСервере(ВидДокумента)

    Сообщение = Новый СообщениеПользователю;
    Для каждого ТекущийРеквизит Из Метаданные.Документы[ВидДокумента].Реквизиты Цикл

    Сообщение.Текст = ТекущийРеквизит.Имя;
    Сообщение.Сообщить();

    КонецЦикла;

    КонецПроцедуры

    ---------------------

    Запросом получаешь только значения реквизитов
    Последнее редактирование: 16 май 2014
  5. alexburn
    Offline

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

    Регистрация:
    5 янв 2009
    Сообщения:
    14.735
    Симпатии:
    508
    Баллы:
    204
    В обработчике нельзя разве использовать Имя ?
  6. TopicStarter Overlay
    бухг123
    Offline

    бухг123 Опытный в 1С

    Регистрация:
    8 дек 2011
    Сообщения:
    219
    Симпатии:
    0
    Баллы:
    26
    Здесь есть минусы.
    Не все реквизиты документа можно получить способом описанном выше

    Код:
    &НаКлиенте
    Процедура Команда1(Команда)
    
    НаСервере("РеализацияТоваровУслуг");
    
    КонецПроцедуры
    
    &НаСервере
    Процедура НаСервере(ВидДокумента)
    
    Сообщение = Новый СообщениеПользователю;
    Для каждого ТекущийРеквизит Из Метаданные.Документы[ВидДокумента].Реквизиты Цикл
    
    Сообщение.Текст = ТекущийРеквизит.Имя;
    Сообщение.Сообщить();
    
    КонецЦикла;
    
    КонецПроцедуры

    Можете проверить например: - если в форме документа получать значения элементов формы методом

    Код:
    Для каждого Реквизит Из ЭтаФорма.Элементы Цикл
            Сообщить(Реквизит.Имя);
    КонецЦикла;
    
    Мы получим больше элементов.
  7. olegsemenov2005
    Offline

    olegsemenov2005 Новичок в 1С

    Регистрация:
    5 май 2014
    Сообщения:
    48
    Симпатии:
    3
    Баллы:
    4
    В условии было реквизиты объекта " ....... получить все реквизиты объекта ......", по этому сделал ч/з метаданные.
    Это для общего развития нужно или стоит какая то конкретная задача?
  8. TopicStarter Overlay
    бухг123
    Offline

    бухг123 Опытный в 1С

    Регистрация:
    8 дек 2011
    Сообщения:
    219
    Симпатии:
    0
    Баллы:
    26
    Вообще стоит задача проверка совпадений реквизитов одинаковых объектов например Поступление товаров и услуг у разных баз (нужно для обмена данными).
    Через циклы не все реквизиты проверяются. Пробую реализовать запросом, но видимо запросом не возможно.
  9. Tiger86
    Offline

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

    Регистрация:
    24 мар 2011
    Сообщения:
    6.407
    Симпатии:
    108
    Баллы:
    104
    реквизит объекта и элемент формы - это могут быть разные вещи. Не все элементы формы связаны с реквизитами. Определитесь для начала что вам надо
  10. mialord
    Offline

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

    Регистрация:
    31 июл 2009
    Сообщения:
    5.398
    Симпатии:
    40
    Баллы:
    54
    1. Запрос - это выборка ДАННЫХ. Вы хотите получить метаданные и запросом (Объект ЗАПРОС) метаданные выбрать нельзя.
    2. При СОМ подключении Вы можете запросить объект Метаданные а там сверять в цикле все существующие метаданные.

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