|
Метод Присоединить() ? | ☑ | ||
---|---|---|---|---|
0
Сергей333
18.09.17
✎
13:13
|
Всем здравствуйте. Подскажите пожалуйста, есть макет http://s016.radikal.ru/i334/1709/8f/283b43ba0a1b.png
в нем областьУпаковка, а в областиСтрокаТЧ есть параметр Характеристики. Как сделать что бы количество колонок было столько, сколько характеристик? |
|||
1
Сергей333
18.09.17
✎
13:14
|
Вроде можно методом Присоединить(), вот только я новичок и с таким не сталкивался. Прошу Вашей помощи.
|
|||
2
Волшебник
модератор
18.09.17
✎
13:15
|
Откройте Синтакс-помощник и столкнитесь
|
|||
3
Рэйв
18.09.17
✎
13:15
|
>>бы количество колонок было столько, сколько характеристик
Сначала считаешь характиристики, сортируешь и ваыводишь шапку.Потом по тойже сортировке будешь выводить значения в колонки |
|||
4
mistеr
18.09.17
✎
13:16
|
(1) Залей в другое место, не видно ни фига. Imgur рекомендую.
|
|||
5
aka AMIGO
18.09.17
✎
13:17
|
(0) Первая страница форума, "Поиск", в поле поиска "Присоединить()"
Там много чего, в частности: v8: Как действует метод Присоединить()? |
|||
6
Сергей333
18.09.17
✎
14:48
|
(2) Смотрел, но к сожалению ничего не пойму. "Присоединяет табличный документ к результирующему табличному документу, помещая его в следующей колонке правее самой правой выведенной колонки, начиная со строки, с которой выводился предыдущий табличный документ".
|
|||
7
Ёпрст
18.09.17
✎
15:43
|
(0)Наслаждайся:
ОбластьЗаголовокТаблицы = Макет.ПолучитьОбласть("ЗаголовокТаблицы|Наименование"); ОбластьУпаковка = Макет.ПолучитьОбласть("ЗаголовокТаблицы|Упаковка"); ТабДок.Вывести(ОбластьЗаголовокТаблицы); Для к = 1 По КоличествоХарактеристик Цикл ТабДок.Присоединить(ОбластьУпаковка); КонецЦикла; //аналогично, для строк таблицы + заполнение параметров Областей |
|||
8
Сергей333
19.09.17
✎
08:34
|
(7) Ошибка "КоличествоХарактеристик " переменная не определена.
У меня в макете две разные колонки (параметр) КоличествоЗаказано и Характеристики, может Вам показалось что это одно слово. Или я чет не так сделал? |
|||
9
Jokerman
19.09.17
✎
08:38
|
Естесственно ..
|
|||
10
Рэйв
19.09.17
✎
08:38
|
(8)
вставь КоличествоХарактеристик =ТутНадоПосчитатьИх(); |
|||
11
Сергей333
19.09.17
✎
08:47
|
(10) Так? КоличествоХарактеристик = 10;
|
|||
12
Рэйв
19.09.17
✎
08:59
|
(11)Ну если их у тебя всегда 10, то можно и так как костыль.
Но по нормальному все таки надо их считать программно а не на пальцах.потому что если вдруг характеристик станет не 10, то у тебя все расползется. |
|||
13
Сергей333
19.09.17
✎
09:03
|
(12) Функция ПечатьПогрузочныйЛист(ИмяМакета)
ТабДок = новый ТабличныйДокумент; //Макет = ПолучитьМакет("Печать"); Макет = ПолучитьМакет("ПогрузочныйЛист"); ОбластьШапки = Макет.ПолучитьОбласть("Шапка"); ОбластьСтрокаТЧ = Макет.ПолучитьОбласть("СтрокаТЧ"); ОбластьПодвал = Макет.ПолучитьОбласть("Подвал"); //ОбластьУпаковка = Макет.ПолучитьОбласть("Упаковка"); //ОбластьЗаголовокТаблицы = Макет.ПолучитьОбласть("ЗаголовокТаблицы"); //ОбластьНаименование = Макет.ПолучитьОбласть("Наименование"); ОбластьЗаголовокТаблицы = Макет.ПолучитьОбласть("ЗаголовокТаблицы|Наименование"); ОбластьУпаковка = Макет.ПолучитьОбласть("ЗаголовокТаблицы|Упаковка"); ТабДок.Вывести(ОбластьЗаголовокТаблицы); КоличествоХарактеристик = 10; Для к = 1 По КоличествоХарактеристик Цикл ТабДок.Присоединить(ОбластьУпаковка); КонецЦикла; Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | ЗаказПокупателяСводныйТовары.Маршрут КАК Маршрут, | ЗаказПокупателяСводныйТовары.Номенклатура, | ЗаказПокупателяСводныйТовары.ХарактеристикаНоменклатуры, | ЗаказПокупателяСводныйТовары.КоличествоЗаказано |ИЗ | Документ.ЗаказПокупателяСводный.Товары КАК ЗаказПокупателяСводныйТовары |ГДЕ | ЗаказПокупателяСводныйТовары.Ссылка = &Ссылка | |СГРУППИРОВАТЬ ПО | ЗаказПокупателяСводныйТовары.Маршрут, | ЗаказПокупателяСводныйТовары.Номенклатура, | ЗаказПокупателяСводныйТовары.ХарактеристикаНоменклатуры, | ЗаказПокупателяСводныйТовары.КоличествоЗаказано |ИТОГИ ПО | Маршрут"; Запрос.УстановитьПараметр("Ссылка", Ссылка); ВыборкаМаршрут = Запрос.Выполнить().Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам); Пока ВыборкаМаршрут.Следующий() Цикл //Шапка Шапка = Макет.ПолучитьОбласть("Шапка"); Шапка.Параметры.Дата = Формат(Дата, "ДЛФ=DD"); Шапка.Параметры.ДатаВремя = ТекущаяДата(); Шапка.Параметры.Маршрут = ВыборкаМаршрут.Маршрут; Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | ТранспортныеСредства.Водитель, | ТранспортныеСредства.ГосНомерТранспортногоСредства |ИЗ | Справочник.ТранспортныеСредства КАК ТранспортныеСредства"; РезультатЗапроса = Запрос.Выполнить(); Выборка = РезультатЗапроса.Выбрать(); СтруктураОтбора = Новый Структура(); Пока Выборка.Следующий() Цикл Шапка.Параметры.Имя = Выборка.Водитель; Шапка.Параметры.ГосНомер = Выборка.ГосНомерТранспортногоСредства; КонецЦикла; ТабДок.Вывести(Шапка); ВыборкаНоменклатура = ВыборкаМаршрут.Выбрать(); Пока ВыборкаНоменклатура.Следующий() Цикл //СтрокаТЧ СтрокаТЧ = Макет.ПолучитьОбласть("СтрокаТЧ"); СтрокаТЧ.Параметры.Номенклатура = ВыборкаНоменклатура.Номенклатура; СтрокаТЧ.Параметры.КоличествоЗаказано = ВыборкаНоменклатура.КоличествоЗаказано; СтрокаТЧ.Параметры.Характеристики = ВыборкаНоменклатура.ХарактеристикаНоменклатуры; ТабДок.Вывести(СтрокаТЧ); КонецЦикла; //Подвал Подвал = Макет.ПолучитьОбласть("Подвал"); Подвал.Параметры.Заполнить(ЭтотОбъект); Подвал.Параметры.Кладовщик = Ответственный; ТабДок.Вывести(Подвал); КонецЦикла; ТабДок.Показать(); Возврат 0; КонецФункции Правильно я вставляю? Ток в макете хрень выходит, ща скрин залью. |
|||
14
Сергей333
19.09.17
✎
09:09
|
||||
15
dezss
19.09.17
✎
09:14
|
(14) при выводе СтрокаТЧ надо делать так же, как и при выводе шапки.
|
|||
16
Рэйв
19.09.17
✎
09:15
|
(13)
Выводишь сначала фиксированную шапку, где название даты и тд потом в цикле перебираешь характиристики и рисуешь шапку таблицы с названиями колонок. И только потом перебираешь результат хапроса и выводишь строку, причем храктеристики должны выводиться динамически ровно в том же порядке как и при формирования шапки таблицы. Короче если ты этого не понимаешь то объяснять тебе письменно бесполезно. Позови специалиста, пусть тебе один раз покажет. |
|||
17
Сергей333
19.09.17
✎
09:17
|
(16) Спасибо большое.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |