|
Макет к обработке | ☑ | ||
---|---|---|---|---|
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, Большое спасибо! Поняла!)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |