Имя: Пароль:
1C
 
Как в запросе выбрать по типу документа?
0 ded20ded
 
14.07.17
13:31
Функция ПолучитьСписокПодчиненныхДокументов(ДокументОснование) Экспорт
        
    Запрос = Новый Запрос;
    Запрос.Текст = "ВЫБРАТЬ РАЗРЕШЕННЫЕ
                   |    СтруктураПодчиненности.Ссылка
                   |ИЗ
                   |    КритерийОтбора.СвязанныеДокументы(&ЗначениеКритерияОтбора) КАК СтруктураПодчиненности";
    
    Запрос.УстановитьПараметр("ЗначениеКритерияОтбора", ДокументОснование);
    Возврат Запрос.Выполнить().Выгрузить();

КонецФункции
1 ded20ded
 
14.07.17
13:32
как указать в значении параметра что это документ Заказ покупателя?
2 Fragster
 
гуру
14.07.17
13:34
Запрос.УстановитьПараметр("ИмяПараметра", Тип("..."))
3 azt-yur
 
14.07.17
13:42
Где СтруктураПодчиненности.Ссылка Ссылка Документ.ЗаказПокупателя
4 ded20ded
 
14.07.17
13:46
возвращает не документ реализацию а ТаблицаЗначений
5 ded20ded
 
14.07.17
13:48
в запроснике делаю в значение выбирается с начала "Выбор типа данных", выбираю документ заказ и т.д.
6 ded20ded
 
14.07.17
13:48
ДокументОснование передаю документ заказа покупателя
7 ded20ded
 
14.07.17
13:54
сделал так
не взлетело

ВЫБРАТЬ РАЗРЕШЕННЫЕ
    СтруктураПодчиненности.Ссылка
ИЗ
    КритерийОтбора.СвязанныеДокументы(&ЗначениеКритерияОтбора) КАК СтруктураПодчиненности
ГДЕ
    СтруктураПодчиненности.Ссылка ССЫЛКА Документ.ЗаказПокупателя
8 ded20ded
 
14.07.17
14:02
ВЫБРАТЬ
    РеализацияТоваровУслуг.Ссылка
ИЗ
    Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг
ГДЕ
    РеализацияТоваровУслуг.Сделка.Ссылка ССЫЛКА Документ.ЗаказПокупателя
    И РеализацияТоваровУслуг.Сделка = &Сделка
9 ded20ded
 
14.07.17
14:14
Как в УТ 10.3 на основании заказа получить подчиненный ему документ реализацию товаров и услуг?
10 azt-yur
 
14.07.17
14:22
(9) ну запрос из (8) должен это делать и первое условие в нем необязательно в этом случае
11 ded20ded
 
14.07.17
14:23
тогда почему функция взращает таблицу значений
12 ded20ded
 
14.07.17
14:25
Функция ПолучитьСписокПодчиненныхДокументов(ДокументОснование) Экспорт
        
    Запрос = Новый Запрос;
    Запрос.Текст = "ВЫБРАТЬ
                   |    РеализацияТоваровУслуг.Сделка
                   |ИЗ
                   |    Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг
                   |ГДЕ
                   |    РеализацияТоваровУслуг.Сделка.Ссылка ССЫЛКА Документ.ЗаказПокупателя
                   |    И РеализацияТоваровУслуг.Сделка.Ссылка = &Сделка";
    
        //Запрос.УстановитьПараметр("ЗначениеКритерияОтбора", Документы.ЗаказПокупателя);
        Запрос.УстановитьПараметр("Сделка", ДокументОснование);
    Возврат Запрос.Выполнить().Выгрузить();

КонецФункции
13 Мыш
 
14.07.17
14:25
(11) Потому что "Возврат Запрос.Выполнить().Выгрузить();"
Сделай "Возврат Запрос.Выполнить().Выгрузить().ВыгрузитьКолонку(0);" - будет массив.
14 ded20ded
 
14.07.17
14:27
(13)получил "Массив"
15 ded20ded
 
14.07.17
14:28
РеализацияТоваровУслуг.Сделка имеет несколько типов документов ЗаказПокупателя; Счет и т.д. может в этом гвоздь.....
16 ded20ded
 
14.07.17
14:54
аппппп
17 azt-yur
 
14.07.17
15:06
(11), (12) потому что Выгрузить возвращает ТЗ. Делай затем обход этой ТЗ и возвращай значение, ну или:
Возврат Запрос.Выполнить().Выгрузить()[0].Сделка
18 Мыш
 
14.07.17
15:33
(14) Всё верно. А ты хотел что-то другое?

Вот покупаешь телевизор, к примеру. Тебе привозят коробку. Ты же догадываешься, что телевизор внутри неё ;)
Выдавать глобальные идеи — это удовольствие; искать сволочные маленькие ошибки — вот настоящая работа. Фредерик Брукс-младший