Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
28 сен 2024, 18:28

вывод прайса в две колонки

Автор tema111, 05 июл 2012, 11:21

0 Пользователей и 1 гость просматривают эту тему.

tema111


у меня есть макет. в нем таблица из двух колонок: Номенклатура и Цена.
как можно вывести эту таблицу в двух колонках?

то есть так :
Товар1 Цена1                       Товар4 Цена4
Товар2 Цена2                       Товар5 Цена5
Товар3 Цена3                       Товар6 Цена6

LexaK

можно в макете сделать два набора колонок и выводить прайс так
Товар1 Цена1   Товар2 Цена2
Товар3 Цена3   Товар4 Цена4
Товар5 Цена5
если помогло нажмите: Спасибо!

tema111

а как заполнять программно-то?

LexaK

??? да вроде все просто как
в строке макета добавляете (копируете) колонки Товар2 и Цена2
в программе вывода, что-то вроде:
...
Пока Выборка.Следующий() цикл
//первая колонка
СтрокаМакета.Параметры.Товар = Выборка.Товар;
СтрокаМакета.Параметры.Цена= Выборка.Цена;
Если Выборка.Следующий() Тогда
   СтрокаМакета.Параметры.Товар2 = Выборка.Товар;
   СтрокаМакета.Параметры.Цена2= Выборка.Цена;
Иначе
   СтрокаМакета.Параметры.Товар2 = "";
   СтрокаМакета.Параметры.Цена2= "";
КонецЕсли;
ТабДокумент.Вывести(СтрокаМакета);
КонецЦикла;
...


если помогло нажмите: Спасибо!

LexaK

??? да вроде все просто как
в строке макета добавляете (копируете) колонки Товар2 и Цена2
в программе вывода, что-то вроде:
...
Пока Выборка.Следующий() цикл

//первая колонка
СтрокаМакета.Параметры.Товар = Выборка.Товар;
СтрокаМакета.Параметры.Цена= Выборка.Цена;

//вторая колонка
Если Выборка.Следующий() Тогда
   СтрокаМакета.Параметры.Товар2 = Выборка.Товар;
   СтрокаМакета.Параметры.Цена2= Выборка.Цена;
Иначе
   СтрокаМакета.Параметры.Товар2 = "";
   СтрокаМакета.Параметры.Цена2= "";
КонецЕсли;

ТабДокумент.Вывести(СтрокаМакета);

КонецЦикла;
...

если помогло нажмите: Спасибо!

СветланаCC

Либо сделать  - сначала вывести область товар+цена, затем присоединить эту же область, потом опять вы вести, потом присоединить, будет тот же эффект)
Тазовод)

tema111

при таком коде вообще ничего не выводит=(

СветланаCC

// Вставить содержимое обработчика.
Запрос = Новый запрос;
Запрос.Текст =

//Какой-то запрос.........

Выборка = Запрос.Выполнить().Выбрать();


Таб = Новый ТабличныйДокумент;
Макет = ПолучитьМакет("Макет");
Счетчик =1;
Пока Выборка.Следующий() цикл
СтрокаМакета  = Макет.ПолучитьОбласть("Строка|ТоварЦена");
СтрокаМакета.Параметры.Товар = Выборка.Товар;
СтрокаМакета.Параметры.Цена= Выборка.Цена;
Если Счетчик = 1 Тогда //первая колонка
ТабДокумент.Вывести(СтрокаМакета);
Счетчик = 2;
Иначе
СтрокаПустая  = Макет.ПолучитьОбласть("Строка|Пустая");
ТабДокумент.Вывести(СтрокаПустая);
ТабДокумент.Присоединить(СтрокаМакета);
КонецЕсли;
КонецЦикла;

Тазовод)

СветланаCC

 вот фото макета
Тазовод)

СветланаCC

простите чуть спутала - вместо

            СтрокаПустая  = Макет.ПолучитьОбласть("Строка|Пустая");
            ТабДокумент.Вывести(СтрокаПустая);

вставить
СтрокаПустая  = Макет.ПолучитьОбласть("Строка|Пустая");
          ТабДокумент.Присоединить(СтрокаПустая);
Тазовод)

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск