8.х ЗаполнитьЗначенияСвойств не срабатывает

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем ИринаСМ, 12 мар 2015.

  1. TopicStarter Overlay
    ИринаСМ
    Offline

    ИринаСМ Опытный в 1С

    Регистрация:
    23 апр 2010
    Сообщения:
    158
    Симпатии:
    0
    Баллы:
    26
    Добрый день! Прошу помощи. при попытке передать данные параметров в запрос,
    вот таким способом
    ЗаполнитьЗначенияСвойств(Запрос.Параметры,Строка) . Не получается. Платформа 1С:Предприятие 8.3 (8.3.5.1383). что я делаю не так? Подскажите, пожалуйста!
  2. nomad_irk
    Offline

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    7.566
    Симпатии:
    717
    Баллы:
    204
    И не получится в данном контексте применения.
    Данный метод работает для заполнения некой структуры, элемент/объект которой выбран и источник заполнения имеет такую же структуру реквизитов, такие же имена реквизитов, что и в заполняемом элементе/объекте.

    Например:
    Код:
    Для Каждого Стр Из ТЗ Цикл
    ВыходнаяСтруктура = Новый Структура("Наименование");
    ЗаполнитьЗначениеСвойств(ВыходнаяСтруктура, Стр);
    КонецЦикла;
    При этом у ТЗ должна быть колонка "Наименование", чтобы ВыходнаяСтруктура заполнилась значением.
  3. TopicStarter Overlay
    ИринаСМ
    Offline

    ИринаСМ Опытный в 1С

    Регистрация:
    23 апр 2010
    Сообщения:
    158
    Симпатии:
    0
    Баллы:
    26
    А если параметры запроса в структуру записать, а потом назначить в запрос?
    --- Объединение сообщений, 12 мар 2015 ---
    А если параметры запроса в структуру записать, а потом назначить в запрос?
  4. nomad_irk
    Offline

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    7.566
    Симпатии:
    717
    Баллы:
    204
    параметры запроса - это и так структура по сути.
    Ключи в эту структуру сами не добавятся при использовании метода ЗаполнитьЗначенияСвойств(), а вот значения ключей - запросто.
  5. GOLARIS
    Offline

    GOLARIS Новичок в 1С

    Регистрация:
    12 мар 2015
    Сообщения:
    15
    Симпатии:
    2
    Баллы:
    4
    ЗаполнитьЗначенияСвойств(<Приемник>, <Источник>, <СписокСвойств>, <ИсключаяСвойства>)
    Копирует значения свойств <Источника> в свойства <Приемника>. Сопоставление производится по именам свойств.

    ЗаполнитьЗначенияСвойств(Запрос.Параметры,Строка) - копать в сторону структуры 2го параметра у Вас это "Строка"
  6. TopicStarter Overlay
    ИринаСМ
    Offline

    ИринаСМ Опытный в 1С

    Регистрация:
    23 апр 2010
    Сообщения:
    158
    Симпатии:
    0
    Баллы:
    26
    строка у меня, это строка табличной части документа, которую я получаю в цикле.
  7. GOLARIS
    Offline

    GOLARIS Новичок в 1С

    Регистрация:
    12 мар 2015
    Сообщения:
    15
    Симпатии:
    2
    Баллы:
    4
    Запрос.Параметры - имена параметров совпадают с именами колонок табличной части?
  8. TopicStarter Overlay
    ИринаСМ
    Offline

    ИринаСМ Опытный в 1С

    Регистрация:
    23 апр 2010
    Сообщения:
    158
    Симпатии:
    0
    Баллы:
    26
    да, совпадают.
  9. nomad_irk
    Offline

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    7.566
    Симпатии:
    717
    Баллы:
    204
    Поставьте точку останова и сделайте скриншот, на котором видно содержимое Запрос.Параметры и структуру реквизитов строки табличной части
    на момент выполнения метода ЗаполнитьЗначенияСвойств()
  10. TopicStarter Overlay
    ИринаСМ
    Offline

    ИринаСМ Опытный в 1С

    Регистрация:
    23 апр 2010
    Сообщения:
    158
    Симпатии:
    0
    Баллы:
    26
    Единственно, что у меня столбцов табличной части больше, чем параметров запроса.
  11. nomad_irk
    Offline

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    7.566
    Симпатии:
    717
    Баллы:
    204
    не важно в данном случае
  12. GOLARIS
    Offline

    GOLARIS Новичок в 1С

    Регистрация:
    12 мар 2015
    Сообщения:
    15
    Симпатии:
    2
    Баллы:
    4
    да да - скорее всего Запрос.Параметры - пустая структура у вас на момент ЗаполнитьЗначенияСвойств()
    ИринаСМ нравится это.
  13. GOLARIS
    Offline

    GOLARIS Новичок в 1С

    Регистрация:
    12 мар 2015
    Сообщения:
    15
    Симпатии:
    2
    Баллы:
    4
    Код:
    // как пример - вывод всех реализаций  в которых встречаются
        // товары первой строки указанной реализации "ДокументРеализации"
        Запрос=Новый Запрос;
        Запрос.Текст="ВЫБРАТЬ
                    |    РеализацияТоваровУслугТовары.Ссылка
                    |ИЗ
                    |    Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары
                    |ГДЕ
                    |    РеализацияТоваровУслугТовары.Номенклатура = &Номенклатура";
        СтрокаДокумента=ДокументРеализации.Товары.Получить(0);
        СтруктураПараметров=Запрос.НайтиПараметры();
        Для Каждого параметрЗапроса из СтруктураПараметров цикл
            Запрос.Параметры.Вставить(параметрЗапроса.Имя);
        КонецЦикла;
        ЗаполнитьЗначенияСвойств(Запрос.Параметры,СтрокаДокумента);
        Запрос.Выполнить().Выгрузить().ВыбратьСтроку();
    
    Последнее редактирование модератором: 12 мар 2015
    ИринаСМ нравится это.
  14. TopicStarter Overlay
    ИринаСМ
    Offline

    ИринаСМ Опытный в 1С

    Регистрация:
    23 апр 2010
    Сообщения:
    158
    Симпатии:
    0
    Баллы:
    26
    Да,сформировала структуру параметров и все получилось! Спасибо!
Похожие темы
  1. alexburn
    Ответов:
    5
    Просмотров:
    497
Загрузка...

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