8.х Преобразование строки

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

  1. TopicStarter Overlay
    Borel
    Offline

    Borel

    Регистрация:
    3 сен 2008
    Сообщения:
    3
    Симпатии:
    0
    Баллы:
    1
    Задача:

    Код:
    Для Каждого Тип Из Массив Цикл
    
    Строка = Строка("Документы."+ Тип+".ПустаяСсылка()");
    
    Запрос.Параметры.Вставить("Параметр", Строка);
    
    КонецЦикла;
    
    Условия в запросе и параметры собираются в зависимости от ситуации, так что руками параметры не пропишешь...

    Как строку преобразовать в код программы?
  2. GvH
    Offline

    GvH Опытный в 1С

    Регистрация:
    12 авг 2008
    Сообщения:
    179
    Симпатии:
    0
    Баллы:
    26
    Так "Тип" какое имеет тип значения?
  3. TopicStarter Overlay
    Borel
    Offline

    Borel

    Регистрация:
    3 сен 2008
    Сообщения:
    3
    Симпатии:
    0
    Баллы:
    1
    на выходе имеем строку типа Документы.РеализацияТоваровУслуг.ПустаяСсылка()
  4. TopicStarter Overlay
    Borel
    Offline

    Borel

    Регистрация:
    3 сен 2008
    Сообщения:
    3
    Симпатии:
    0
    Баллы:
    1
    Сорри, невнимательно прочитал ... Тип значения - Строка.

    Может конечно есть другой вариант...

    Задача сеостояла в том, что бы отобрать документы по реквизиту "ДокументПартии" табличной части документа ВозвраТовараОтПокупателя. Этот реквизит имеет составной тип со списком Документов.

    В общем вот:

    Код:
    МассивТипов = Метаданные.Документы.ВозвратТоваровОтПокупателя.ТабличныеЧасти.Товары.Реквизиты.ДокументПартии.Тип.Типы();
    
    СписокТиповДокументов = Новый СписокЗначений;
    
    Для Каждого ТипДокумента Из МассивТипов Цикл
    ДокументСсылка = Новый(ТипДокумента);
    Имя = ДокументСсылка.Метаданные().Имя; 
    СписокТиповДокументов.Добавить(Имя);
    КонецЦикла;
    
    
    ПостроительОтчетаНекоректныеВозвраты.Параметры.Вставить("КонДата", КонПериода);
    ПостроительОтчетаНекоректныеВозвраты.Параметры.Вставить("НачДата", НачПериода);
    ПостроительОтчетаНекоректныеВозвраты.Параметры.Вставить("Неопределенно", Неопределено);
    Для Каждого ТипДокумента Из СписокТиповДокументов Цикл
    СтрокаЗначения = Строка("Документы."+ТипДокумента.Значение+".ПустаяСсылка()");
    ПостроительОтчетаНекоректныеВозвраты.Параметры.Вставить(ТипДокумента.Значение, СтрокаЗначения);
    КонецЦикла;
    
    
    ПостроительОтчетаНекоректныеВозвраты.Текст =
    "ВЫБРАТЬ
    |	ВозвратТоваровОтПокупателяТовары.Ссылка.Ссылка КАК Документ,
    |	ВозвратТоваровОтПокупателяТовары.Ссылка.Дата КАК Дата,
    |	ВозвратТоваровОтПокупателяТовары.НомерСтроки КАК Строка,
    |	ВозвратТоваровОтПокупателяТовары.Номенклатура,
    |	ВозвратТоваровОтПокупателяТовары.ХарактеристикаНоменклатуры КАК Характеристика,
    |	ВозвратТоваровОтПокупателяТовары.СерияНоменклатуры КАК Серия,
    |	ВозвратТоваровОтПокупателяТовары.Количество
    |ИЗ
    |	Документ.ВозвратТоваровОтПокупателя.Товары КАК ВозвратТоваровОтПокупателяТовары
    |ГДЕ
    |	ВозвратТоваровОтПокупателяТовары.Ссылка.Дата МЕЖДУ &НачДата И &КонДата
    |	И ВозвратТоваровОтПокупателяТовары.ДокументПартии = &Неопределенно";
    
    Для Каждого ТипДокумента Из СписокТиповДокументов Цикл
    ПостроительОтчетаНекоректныеВозвраты.Текст = ПостроительОтчетаНекоректныеВозвраты.Текст + "
    |ИЛИ
    |   ВозвратТоваровОтПокупателяТовары.ДокументПартии = &" + ТипДокумента.Значение +""; 
    КонецЦикла;
    
    ПостроительОтчетаНекоректныеВозвраты.Текст = ПостроительОтчетаНекоректныеВозвраты.Текст + "
    |
    |УПОРЯДОЧИТЬ ПО
    |	Дата
    |ИТОГИ ПО
    |	Документ";
    
  5. GvH
    Offline

    GvH Опытный в 1С

    Регистрация:
    12 авг 2008
    Сообщения:
    179
    Симпатии:
    0
    Баллы:
    26
    Ну если кратко, то:
    Код:
    ГДЕ
    ВозвратТоваровОтПокупателяТовары.ДокументПартии ССЫЛКА Документ.ВозвратТовараОтПокупателей
    ИЛИ ВозвратТоваровОтПокупателяТовары.ДокументПартии ССЫЛКА Документ.ПоступлениеТоваровУслуг
    
    
    
    Ну конечно ДокументПартии составной реквизит.

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