|
Объединение ячеек в табличной части при выводе на печать | ☑ | ||
---|---|---|---|---|
0
Ly_Alena
27.10.14
✎
07:53
|
Помогите объединить ячейки НомерЛота
Запрос = Новый Запрос; Запрос.УстановитьПараметр("ТекущийДокумент", ЭтотОбъект.Ссылка); Запрос.Текст ="ВЫБРАТЬ | ЗаказПокупателяТовары.ЗапрашиваемоеНаименование, | ЗаказПокупателяТовары.Номенклатура, | ЗаказПокупателяТовары.Номенклатура.БазоваяЕдиницаИзмерения КАК ЕдИзм, | СУММА(ЗаказПокупателяТовары.Количество) КАК Количество, | СРЕДНЕЕ(ЗаказПокупателяТовары.ПлановаяСебестоимость) КАК ПлановаяСебестоимость, | СРЕДНЕЕ(ЗаказПокупателяТовары.ЦенаБезНДС) КАК ЦенаБезНДС, | СУММА(ЗаказПокупателяТовары.СуммаБезНДС) КАК СуммаБезНДС, | СРЕДНЕЕ(ЗаказПокупателяТовары.Цена) КАК Цена, | СУММА(ЗаказПокупателяТовары.Сумма) КАК Сумма, | СУММА(ЗаказПокупателяТовары.Транспортные) КАК Транспортные, | СУММА(ЗаказПокупателяТовары.Накладные) КАК Накладные, | СУММА(ЗаказПокупателяТовары.УслПостоянные) КАК УслПостоянные, | СУММА(ЗаказПокупателяТовары.Прибыль) КАК Прибыль, | СРЕДНЕЕ(ЗаказПокупателяТовары.Рентабельность) КАК Рентабельность, | ЗаказПокупателяТовары.НовоеНаименование, | СУММА(ЗаказПокупателяТовары.СуммаПлановойСебестоимости) КАК СуммаСебестоимости, | ЗаказПокупателяТовары.НомерЛота КАК НомерЛота, | ЗаказПокупателяТовары.КоличествоВПроизводство |ИЗ | Документ.ЗаказПокупателя.Товары КАК ЗаказПокупателяТовары |ГДЕ | ЗаказПокупателяТовары.Ссылка = &ТекущийДокумент | |СГРУППИРОВАТЬ ПО | ЗаказПокупателяТовары.ЗапрашиваемоеНаименование, | ЗаказПокупателяТовары.Номенклатура, | ЗаказПокупателяТовары.НовоеНаименование, | ЗаказПокупателяТовары.Номенклатура.БазоваяЕдиницаИзмерения, | ЗаказПокупателяТовары.НомерЛота, | ЗаказПокупателяТовары.КоличествоВПроизводство | |УПОРЯДОЧИТЬ ПО | НомерЛота"; РезультатЗапросаТовары = Запрос.Выполнить(); Если НЕ РезультатЗапросаТовары.Пустой() Тогда Индекс = 0; Область = Макет.ПолучитьОбласть("Товары"); Обход = РезультатЗапросаТовары.Выбрать(); ОбходТовары = РезультатЗапросаТовары.Выбрать(); Пока Обход.Следующий() Цикл Если Обход.Количество = 0 Тогда Продолжить; КонецЕсли; Если Не ЗначениеЗаполнено(Обход.Номенклатура) Тогда Сообщить("В одной из строк не заполнено значение номенклатуры - строка при печати пропущена.", СтатусСообщения.Важное); Продолжить; КонецЕсли; Индекс = Индекс + 1; Область.Параметры.НомерСтроки = Индекс; Область.Параметры.НомерЛота = Обход.НомерЛота; Область.Параметры.ЗапрашиваемоеНаименование = Обход.ЗапрашиваемоеНаименование; Если ЗначениеЗаполнено(Обход.НовоеНаименование) Тогда Область.Параметры.НовоеНаименование = Обход.НовоеНаименование; Иначе Область.Параметры.НовоеНаименование = Обход.Номенклатура; КонецЕсли; Область.Параметры.Номенклатура = Обход.Номенклатура; Область.Параметры.ЕдИзм = Обход.ЕдИзм; Область.Параметры.Количество = Обход.Количество; Область.Параметры.Себестоимость = Обход.ПлановаяСебестоимость; Область.Параметры.СуммаСебестоимости = Обход.СуммаСебестоимости; Область.Параметры.ЦенаБезНДС = Обход.ЦенаБезНДС; Область.Параметры.СуммаБезНДС = Обход.СуммаБезНДС; Область.Параметры.Цена = Обход.Цена; Область.Параметры.Сумма = Обход.Сумма; Область.Параметры.Транспортные = Обход.Транспортные; Область.Параметры.Накладные = Обход.Накладные; Область.Параметры.УслПостоянные = Обход.УслПостоянные; Область.Параметры.Прибыль = Обход.Прибыль; Область.Параметры.Рентабельность = Обход.Рентабельность; ТабДокумент.Вывести(Область); КонецЦикла; КонецЕсли; |
|||
1
wraithik
27.10.14
✎
07:55
|
Метод Объединить чем не устраивает? И как ты хочешь их клеить?
|
|||
2
Ly_Alena
27.10.14
✎
08:00
|
(1) с "Объединить" у меня никак не получается.
№лота Наименование Кол-во №1 Патчкорд 12 №1 Коннектор 24 Надо чтобы было №лота Наименование Кол-во №1 Патчкорд 12 Коннектор 24 |
|||
3
Ly_Alena
27.10.14
✎
08:30
|
Запрос = Новый Запрос;
Запрос.УстановитьПараметр("ТекущийДокумент", ЭтотОбъект.Ссылка); Запрос.Текст ="ВЫБРАТЬ | ЗаказПокупателяТовары.ЗапрашиваемоеНаименование, | ЗаказПокупателяТовары.Номенклатура, | ЗаказПокупателяТовары.Номенклатура.БазоваяЕдиницаИзмерения КАК ЕдИзм, | СУММА(ЗаказПокупателяТовары.Количество) КАК Количество, | СРЕДНЕЕ(ЗаказПокупателяТовары.ПлановаяСебестоимость) КАК ПлановаяСебестоимость, | СРЕДНЕЕ(ЗаказПокупателяТовары.ЦенаБезНДС) КАК ЦенаБезНДС, | СУММА(ЗаказПокупателяТовары.СуммаБезНДС) КАК СуммаБезНДС, | СРЕДНЕЕ(ЗаказПокупателяТовары.Цена) КАК Цена, | СУММА(ЗаказПокупателяТовары.Сумма) КАК Сумма, | СУММА(ЗаказПокупателяТовары.Транспортные) КАК Транспортные, | СУММА(ЗаказПокупателяТовары.Накладные) КАК Накладные, | СУММА(ЗаказПокупателяТовары.УслПостоянные) КАК УслПостоянные, | СУММА(ЗаказПокупателяТовары.Прибыль) КАК Прибыль, | СРЕДНЕЕ(ЗаказПокупателяТовары.Рентабельность) КАК Рентабельность, | ЗаказПокупателяТовары.НовоеНаименование, | СУММА(ЗаказПокупателяТовары.СуммаПлановойСебестоимости) КАК СуммаСебестоимости, | ЗаказПокупателяТовары.НомерЛота КАК НомерЛота, | ЗаказПокупателяТовары.КоличествоВПроизводство |ИЗ | Документ.ЗаказПокупателя.Товары КАК ЗаказПокупателяТовары |ГДЕ | ЗаказПокупателяТовары.Ссылка = &ТекущийДокумент | |СГРУППИРОВАТЬ ПО | ЗаказПокупателяТовары.ЗапрашиваемоеНаименование, | ЗаказПокупателяТовары.Номенклатура, | ЗаказПокупателяТовары.НовоеНаименование, | ЗаказПокупателяТовары.Номенклатура.БазоваяЕдиницаИзмерения, | ЗаказПокупателяТовары.НомерЛота, | ЗаказПокупателяТовары.КоличествоВПроизводство | |УПОРЯДОЧИТЬ ПО | НомерЛота"; РезультатЗапросаТовары = Запрос.Выполнить(); Если НЕ РезультатЗапросаТовары.Пустой() Тогда Индекс = 0; Область = Макет.ПолучитьОбласть("Товары"); Обход = РезультатЗапросаТовары.Выбрать(); ОбходТовары = РезультатЗапросаТовары.Выбрать(); Пока Обход.Следующий() Цикл Если Обход.Количество = 0 Тогда Продолжить; КонецЕсли; Если Не ЗначениеЗаполнено(Обход.Номенклатура) Тогда Сообщить("В одной из строк не заполнено значение номенклатуры - строка при печати пропущена.", СтатусСообщения.Важное); Продолжить; КонецЕсли; Для Каждого Стр из РезультатЗапросаТовары Цикл Область.Параметры.Заполнить(Стр); Область.Параметры.НомерЛота = Стр.НомерЛота; ТабДокумент.Вывести(Область); Запрос = Новый Запрос; Запрос.УстановитьПараметр("ТекущийДокумент", ЭтотОбъект.Ссылка); Запрос.УстановитьПараметр("НомерЛота", Стр.НомерЛота); Запрос.Текст ="ВЫБРАТЬ | ЗаказПокупателяТовары.ЗапрашиваемоеНаименование, | ЗаказПокупателяТовары.Номенклатура, | ЗаказПокупателяТовары.Номенклатура.БазоваяЕдиницаИзмерения КАК ЕдИзм, | СУММА(ЗаказПокупателяТовары.Количество) КАК Количество, | СРЕДНЕЕ(ЗаказПокупателяТовары.ПлановаяСебестоимость) КАК ПлановаяСебестоимость, | СРЕДНЕЕ(ЗаказПокупателяТовары.ЦенаБезНДС) КАК ЦенаБезНДС, | СУММА(ЗаказПокупателяТовары.СуммаБезНДС) КАК СуммаБезНДС, | СРЕДНЕЕ(ЗаказПокупателяТовары.Цена) КАК Цена, | СУММА(ЗаказПокупателяТовары.Сумма) КАК Сумма, | СУММА(ЗаказПокупателяТовары.Транспортные) КАК Транспортные, | СУММА(ЗаказПокупателяТовары.Накладные) КАК Накладные, | СУММА(ЗаказПокупателяТовары.УслПостоянные) КАК УслПостоянные, | СУММА(ЗаказПокупателяТовары.Прибыль) КАК Прибыль, | СРЕДНЕЕ(ЗаказПокупателяТовары.Рентабельность) КАК Рентабельность, | ЗаказПокупателяТовары.НовоеНаименование, | СУММА(ЗаказПокупателяТовары.СуммаПлановойСебестоимости) КАК СуммаСебестоимости, | ЗаказПокупателяТовары.НомерЛота КАК НомерЛота, | ЗаказПокупателяТовары.КоличествоВПроизводство |ИЗ | Документ.ЗаказПокупателя.Товары КАК ЗаказПокупателяТовары |ГДЕ | ЗаказПокупателяТовары.Ссылка = &ТекущийДокумент | И ЗаказПокупателяТовары.НомерЛота = &НомерЛота | |СГРУППИРОВАТЬ ПО | ЗаказПокупателяТовары.ЗапрашиваемоеНаименование, | ЗаказПокупателяТовары.Номенклатура, | ЗаказПокупателяТовары.НовоеНаименование, | ЗаказПокупателяТовары.Номенклатура.БазоваяЕдиницаИзмерения, | ЗаказПокупателяТовары.НомерЛота, | ЗаказПокупателяТовары.КоличествоВПроизводство | |УПОРЯДОЧИТЬ ПО | НомерЛота"; ЗапросПоХарактеристикам = Запрос.Выполнить().Выгрузить(); Для Каждого Стр1 из ЗапросПоХарактеристикам Цикл Область.Параметры.Заполнить(Стр1); //ОбластьДанныхХарактеристика.Параметры.ХарактеристикаНомеклатуры = Стр1.Характеристика; ТабДокумент.Вывести(Область); КонецЦикла; //Индекс = Индекс + 1; //Область.Параметры.НомерСтроки = Индекс; //Область.Параметры.НомерЛота = Обход.НомерЛота; //Область.Параметры.ЗапрашиваемоеНаименование = Обход.ЗапрашиваемоеНаименование; //Если ЗначениеЗаполнено(Обход.НовоеНаименование) Тогда //Область.Параметры.НовоеНаименование = Обход.НовоеНаименование; //Иначе Область.Параметры.НовоеНаименование = Обход.Номенклатура; //КонецЕсли; //Область.Параметры.Номенклатура = Обход.Номенклатура; //Область.Параметры.ЕдИзм = Обход.ЕдИзм; //Область.Параметры.Количество = Обход.Количество; //Область.Параметры.Себестоимость = Обход.ПлановаяСебестоимость; //Область.Параметры.СуммаСебестоимости = Обход.СуммаСебестоимости; //Область.Параметры.ЦенаБезНДС = Обход.ЦенаБезНДС; //Область.Параметры.СуммаБезНДС = Обход.СуммаБезНДС; //Область.Параметры.Цена = Обход.Цена; //Область.Параметры.Сумма = Обход.Сумма; //Область.Параметры.Транспортные = Обход.Транспортные; //Область.Параметры.Накладные = Обход.Накладные; //Область.Параметры.УслПостоянные = Обход.УслПостоянные; //Область.Параметры.Прибыль = Обход.Прибыль; //Область.Параметры.Рентабельность = Обход.Рентабельность; //ТабДокумент.Вывести(Область); Что значит ошибка "{Документ.ЗаказПокупателя.МодульОбъекта(606)}: Итератор для значения не определен Для Каждого Стр из РезультатЗапросаТовары Цикл " |
|||
4
Dmitry1c
27.10.14
✎
08:33
|
Мы не ищем легких путей!
|
|||
5
Aevarandi
27.10.14
✎
08:35
|
Ошибка означает, что для РезультатЗапросаТоварыЦикл итератор не определен. Надо или тип поменять, или обходить результат иначе.
|
|||
6
Ly_Alena
27.10.14
✎
08:35
|
(4) Да мне бы уже хоть как-то...
|
|||
7
Ly_Alena
27.10.14
✎
08:44
|
И снова тишина ((
SOS! |
|||
8
Мимохожий Однако
27.10.14
✎
08:48
|
Фигней занимаешься.
|
|||
9
Ly_Alena
27.10.14
✎
08:48
|
(4) как проще?
|
|||
10
Ly_Alena
27.10.14
✎
08:50
|
(8) я обратилась за помощью. А вместо этого постоянно получаю ботинком по мордам. ) Подскажите как не заниматься фигней в этом случае?
|
|||
11
kosts
27.10.14
✎
08:58
|
Добавить итоги в запрос по "НомерЛота"
без общих В своей выборке сделай вложенную выборку. Первая выборка будет выводить НомерЛота Вторая(вложенная) все остальные данные. |
|||
12
Ly_Alena
27.10.14
✎
09:04
|
(11) спасибо, сейчас попробую
|
|||
13
kosts
27.10.14
✎
09:14
|
(0)
Если Обход.Количество = 0 Тогда Продолжить; КонецЕсли; Это желательно в запросе отсеять |
|||
14
kosts
27.10.14
✎
09:16
|
Если Не ЗначениеЗаполнено(Обход.Номенклатура) Тогда
Сообщить("В одной из строк не заполнено значение номенклатуры - строка при печати пропущена.", СтатусСообщения.Важное); Продолжить; КонецЕсли; С такой проблемой надо не при печати бороться, а например, при проведении (т.е. запрещать проведение). Печатать желательно "как есть". |
|||
15
kosts
27.10.14
✎
09:17
|
Область.Параметры.Номенклатура = Обход.Номенклатура;
Область.Параметры.ЕдИзм = Обход.ЕдИзм; Область.Параметры.Количество = Обход.Количество; Область.Параметры.Себестоимость = Обход.ПлановаяСебестоимость; Область.Параметры.СуммаСебестоимости = Обход.СуммаСебестоимости; Область.Параметры.ЦенаБезНДС = Обход.ЦенаБезНДС; Область.Параметры.СуммаБезНДС = Обход.СуммаБезНДС; Область.Параметры.Цена = Обход.Цена; Область.Параметры.Сумма = Обход.Сумма; Область.Параметры.Транспортные = Обход.Транспортные; Область.Параметры.Накладные = Обход.Накладные; Область.Параметры.УслПостоянные = Обход.УслПостоянные; Область.Параметры.Прибыль = Обход.Прибыль; Область.Параметры.Рентабельность = Обход.Рентабельность; Вместо всего этого можно написать (вроде так) Область.Параметры.Заполнить(Обход); |
|||
16
kosts
27.10.14
✎
09:22
|
Область.Параметры.Номенклатура = Обход.Номенклатура;
Тут хорошо бы выводить не Номенклатуру, а в запросе получить наименование номенклатуры. Как-то так Область.Параметры.НоменклатураНаименование = Обход.НоменклатураНаименование; |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |