| 
    
            
         
         | 
    
  | 
Макет к обработке | ☑ | ||
|---|---|---|---|---|
| 
    0
    
        Shikolosa    
     11.04.19 
            ✎
    14:17 
 | 
         
        Добрый день! Подскажите пожалуйста! Есть встроенная обработка "расчет цены" ,  на ней заполняется табличная часть (Обработки.РасчетЦены.ТабличныеЧасти.Комплект), нужно эту табличную часть вывести на печать. Не получается построить к ней запрос. Извините за элементарный вопрос, в 1С я чайник, только учусь).     
         | 
|||
| 
    1
    
        Asmody    
     11.04.19 
            ✎
    14:19 
 | 
         
        В запрос или в СКД?     
         | 
|||
| 
    2
    
        Shikolosa    
     11.04.19 
            ✎
    14:23 
 | 
         
        запрос     
         | 
|||
| 
    3
    
        spiller26    
     11.04.19 
            ✎
    14:27 
 | 
         
        (0) Выгружай Табличную часть в ТаблицуЗначений и параметром закидывай её в запрос.     
         | 
|||
| 
    4
    
        Shikolosa    
     12.04.19 
            ✎
    10:18 
 | 
         
        (3) Спасибо! Получилось.     
         | 
|||
| 
    5
    
        seevkik    
     12.04.19 
            ✎
    10:23 
 | 
         
        (3) Где пройти курсы телепатии?     
         | 
|||
| 
    6
    
        Shikolosa    
     12.04.19 
            ✎
    11:22 
 | 
         
        (5) Телепатия здесь ни при чём)) Просто знаний пока не хватает и спасибо spiller26 направил в нужное направление.     
         | 
|||
| 
    7
    
        Shikolosa    
     12.04.19 
            ✎
    11:23 
 | 
         
        Всё получилось в результате запроса:
 
        НовыйЗапрос.Текст = "ВЫБРАТЬ | Таблица.Номенклатура, | Таблица.Количество, | Таблица.НомерСтроки, | Таблица.ЕдиницаИзмерения, | Таблица.Цена, | Таблица.Сумма, | Таблица.СуммаСНаценкой |ПОМЕСТИТЬ ВТ |ИЗ | &Таблица КАК Таблица |; |///// | ВЫБРАТЬ | ВТ.Номенклатура, | ВТ.Количество, | ВТ.НомерСтроки, | ВТ.ЕдиницаИзмерения, | ВТ.Цена, | ВТ.Сумма, | ВТ.СуммаСНаценкой |ИЗ | ВТ КАК ВТ | СГРУППИРОВАТЬ ПО | ВТ.Номенклатура, | ВТ.Количество, | ВТ.НомерСтроки, | ВТ.ЕдиницаИзмерения, | ВТ.Цена, | ВТ.Сумма, | ВТ.СуммаСНаценкой | УПОРЯДОЧИТЬ ПО | ВТ.НомерСтроки |"; НовыйЗапрос.УстановитьПараметр("Таблица", Таблица); Результат = НовыйЗапрос.Выполнить().Выгрузить();  | 
|||
| 
    8
    
        Shikolosa    
     12.04.19 
            ✎
    11:26 
 | 
         
        И перед этим выгрузила Табличную часть в Таблицу значений)
 
        Таблица = ЭтотОбъект.Комплект.Выгрузить();  | 
|||
| 
    9
    
        Zmich    
     12.04.19 
            ✎
    11:35 
 | 
         
        (8). Извиняюсь за такой вопрос, а в чем отличие таблиц значений Таблица (исходной) и Результат (полученной)?     
         | 
|||
| 
    10
    
        Shikolosa    
     12.04.19 
            ✎
    11:55 
 | 
         
        (9)Если напрямую обратится к Таблице получается ошибка:Таблица не найдена "Таблица"
 
        <<?>>Таблица КАК Таблица. А через параметр в запросе все красиво.  | 
|||
| 
    11
    
        1Сергей    
     12.04.19 
            ✎
    11:56 
 | 
         
        (9) свернута она     
         | 
|||
| 
    12
    
        Zmich    
     12.04.19 
            ✎
    12:02 
 | 
         
        (11). Не свернута, абсолютно идентичные таблицы.     
         | 
|||
| 
    13
    
        catena    
     12.04.19 
            ✎
    12:05 
 | 
         
        (10)Вопрос, зачем вообще запрос, который абсолютно не меняет таблицу?     
         | 
|||
| 
    14
    
        1Сергей    
     12.04.19 
            ✎
    12:18 
 | 
         
        там
 
        | СГРУППИРОВАТЬ ПО А выборку из таблицы полученной через НовыйЗапрос.УстановитьПараметр("Таблица", Таблица); нельзя изменять. Сначала во временную поместить надо  | 
|||
| 
    15
    
        catena    
     12.04.19 
            ✎
    12:24 
 | 
         
        (14)Там сгруппировать по всем полям)))     
         | 
|||
| 
    16
    
        catena    
     12.04.19 
            ✎
    12:24 
 | 
         
        включая номер строки     
         | 
|||
| 
    17
    
        Zmich    
     12.04.19 
            ✎
    12:25 
 | 
         
        (14). Я бы еще понял, если бы там суммировались бы выражения или там надо было исключить дублирующиеся строки или что-то такое еще. Но ведь участвует номер строки, так что дубли там точно не удаляются.     
         | 
|||
| 
    18
    
        Shikolosa    
     12.04.19 
            ✎
    12:49 
 | 
         
        (17) Я уже писала, что чайник в 1С) Но если не сгруппировать в результате задваиваются строки. И если исключить хотя-бы одно поле, будет ошибка:Поле не входит в группу "ВТ.*" Возможно я чего-то не понимаю и запрос построила неправильно.     
         | 
|||
| 
    19
    
        Zmich    
     12.04.19 
            ✎
    12:57 
 | 
         
        (18). Давай так: выложи полностью свою процедуру печати, а не только текст запроса. Тогда можно будет более предметно показать, как можно было сделать это проще.     
         | 
|||
| 
    20
    
        Shikolosa    
     12.04.19 
            ✎
    13:02 
 | 
         
        (19) 
 
        ОбластьМакетаТаблицаСырьё = Макет.ПолучитьОбласть("ТаблицаСырьё"); Таблица = ЭтотОбъект.Комлект.Выгрузить(); НовыйЗапрос = Новый Запрос; НовыйЗапрос.Текст = "ВЫБРАТЬ | Таблица.Номенклатура, | Таблица.Количество, | Таблица.НомерСтроки, | Таблица.ЕдиницаИзмерения, | Таблица.Цена, | Таблица.Сумма, | Таблица.СуммаСНаценкой |ПОМЕСТИТЬ ВТ |ИЗ | &Таблица КАК Таблица |; |///// | ВЫБРАТЬ | ВТ.Номенклатура, | ВТ.Количество, | ВТ.НомерСтроки, | ВТ.ЕдиницаИзмерения, | ВТ.Цена, | ВТ.Сумма, | ВТ.СуммаСНаценкой |ИЗ | ВТ КАК ВТ | СГРУППИРОВАТЬ ПО | ВТ.Номенклатура, | ВТ.Количество, | ВТ.НомерСтроки, | ВТ.ЕдиницаИзмерения, | ВТ.Цена, | ВТ.Сумма, | ВТ.СуммаСНаценкой | УПОРЯДОЧИТЬ ПО | ВТ.НомерСтроки |"; НовыйЗапрос.УстановитьПараметр("Таблица", Таблица); Результат = НовыйЗапрос.Выполнить().Выгрузить(); Для Каждого ВыборкаСтрокТовары Из Результат Цикл ОбластьМакетаТаблицаСырьё.Параметры.Номенклатура = ВыборкаСтрокТовары.Номенклатура; ОбластьМакетаТаблицаСырьё.Параметры.Количество = ВыборкаСтрокТовары.Количество; ОбластьМакетаТаблицаСырьё.Параметры.НомерСтроки = ВыборкаСтрокТовары.НомерСтроки; ОбластьМакетаТаблицаСырьё.Параметры.ЕдиницаИзмерения = ВыборкаСтрокТовары.ЕдиницаИзмерения; ОбластьМакетаТаблицаСырьё.Параметры.ЦенаСНаценкой = формат(ВыборкаСтрокТовары.СуммаСНаценкой/ВыборкаСтрокТовары.Количество, "ЧЦ=7; ЧДЦ=2"); ОбластьМакетаТаблицаСырьё.Параметры.СуммаСНаценкой = ВыборкаСтрокТовары.СуммаСНаценкой; ТабДокумент.Вывести(ОбластьМакетаТаблицаСырьё); КонецЦикла;  | 
|||
| 
    21
    
        Zmich    
     12.04.19 
            ✎
    13:04 
 | 
         
        (20). А теперь сравни с этим:
 
        ОбластьМакетаТаблицаСырьё = Макет.ПолучитьОбласть("ТаблицаСырьё"); Таблица = ЭтотОбъект.Комлект.Выгрузить(); Для Каждого ВыборкаСтрокТовары Из Таблица Цикл ОбластьМакетаТаблицаСырьё.Параметры.Номенклатура = ВыборкаСтрокТовары.Номенклатура; ОбластьМакетаТаблицаСырьё.Параметры.Количество = ВыборкаСтрокТовары.Количество; ОбластьМакетаТаблицаСырьё.Параметры.НомерСтроки = ВыборкаСтрокТовары.НомерСтроки; ОбластьМакетаТаблицаСырьё.Параметры.ЕдиницаИзмерения = ВыборкаСтрокТовары.ЕдиницаИзмерения; ОбластьМакетаТаблицаСырьё.Параметры.ЦенаСНаценкой = формат(ВыборкаСтрокТовары.СуммаСНаценкой/ВыборкаСтрокТовары.Количество, "ЧЦ=7; ЧДЦ=2"); ОбластьМакетаТаблицаСырьё.Параметры.СуммаСНаценкой = ВыборкаСтрокТовары.СуммаСНаценкой; ТабДокумент.Вывести(ОбластьМакетаТаблицаСырьё); КонецЦикла;  | 
|||
| 
    22
    
        Shikolosa    
     12.04.19 
            ✎
    13:10 
 | 
         
        (21) Zmich, Большое спасибо! Поняла!)     
         | 
 | Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |