helpf.pro
Регистрация

v8: Вывести Итого в Макете

Ermak
24.04.2013 15:48Прочитано: 1354
Не могу понять как мне быть, нужно вывести Итого в колонки Кол-во

Код 1C v 8.х
 Процедура ОсновныеДействияФормыСформировать(Кнопка)

ТабДок = ЭлементыФормы.ПолеТабличногоДокумента;
ТабДок.Очистить();

Макет = ПолучитьМакет("Макет");
ОбластьЗаголовка = Макет.ПолучитьОбласть("Заголовок");

ОбластьЗаголовка.Параметры.Заголовок = "План закупок";
ТабДок.Вывести(ОбластьЗаголовка);

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

Шапка = Макет.ПолучитьОбласть("Шапка");
ТабДок.Вывести(Шапка);

Запрос = Новый Запрос (

"ВЫБРАТЬ
| ВЫБОР
| КОГДА Форма1.ФормаПЗ.Наименование = ""Форма №1""
| ТОГДА Форма1.Количество
| ИНАЧЕ 0
| КОНЕЦ КАК Кол1,
| ВЫБОР
| КОГДА Форма1.ФормаПЗ.Наименование = ""Форма №2""
| ТОГДА Форма1.Количество
| ИНАЧЕ 0
| КОНЕЦ КАК Кол2,
| ВЫБОР
| КОГДА Форма1.ФормаПЗ.Наименование = ""Форма №1""
| ТОГДА Форма1.Цена
| ИНАЧЕ 0
| КОНЕЦ КАК Цена1,
| ВЫБОР
| КОГДА Форма1.ФормаПЗ.Наименование = ""Форма №2""
| ТОГДА Форма1.Цена
| ИНАЧЕ 0
| КОНЕЦ КАК Цена2,
| ВЫБОР
| КОГДА Форма1.ФормаПЗ.Наименование = ""Форма №1""
| ТОГДА Форма1.Сумма
| ИНАЧЕ 0
| КОНЕЦ КАК Сумма1,
| ВЫБОР
| КОГДА Форма1.ФормаПЗ.Наименование = ""Форма №2""
| ТОГДА Форма1.Сумма
| ИНАЧЕ 0
| КОНЕЦ КАК Сумма2,
| Форма1.Номенклатура КАК Номенклатура,
| Форма1.Группа,
| Форма1.Подгруппа,
| Форма1.БазЕдиница,
| Форма1.Тип,
| Форма1.Организация КАК Организация
|ИЗ
| РегистрНакопления.Форма1 КАК Форма1
|ГДЕ
| Форма1.Квартал = &Квартал
| " + ?(Организация.Пустая(), "", "
| И Форма1.Организация = &Организация") + "
|
|УПОРЯДОЧИТЬ ПО
| Организация") ;



Запрос.Параметры.Вставить("Организация", ЭлементыФормы.Организация.Значение);
Запрос.Параметры.Вставить("Квартал", ЭлементыФормы.Период.Значение);
Результат = Запрос.Выполнить().Выбрать();

НомСлед = "";
НомПред = "";

К = 0;

Пока Результат.Следующий() Цикл
НомСлед = Результат.Организация;
Если (НомСлед <> НомПред)И(НомПред <> "") Тогда
ОбластьИсполнитель = ТабДок.Область(ТабДок.ВысотаТаблицы-К+1,1,ТабДок.ВысотаТаблицы,1);
Если (К > 1) Тогда
ОбластьИсполнитель.Объединить();
КонецЕсли;

ОбластьИсполнитель.ВертикальноеПоложение = ВертикальноеПоложение.Центр;
ОбластьИсполнитель.Текст = НомПред;
К = 0;
КонецЕсли;
НомПред = НомСлед;

Детали = Макет.ПолучитьОбласть("Детали");
Детали.Параметры.Организация = Результат.Организация;
Детали.Параметры.Группа = Результат.Группа;
Детали.Параметры.Подгруппа = Результат.Подгруппа;
Детали.Параметры.Номенклатура = Результат.Номенклатура;
Детали.Параметры.БазЕдиница = Результат.БазЕдиница;
Детали.Параметры.Тип = Результат.Тип;
Детали.Параметры.Кол1 = Результат.Кол1;
Детали.Параметры.Кол2 = Результат.Кол2;
Детали.Параметры.Цена1 = Результат.Цена1;
Детали.Параметры.Цена2 = Результат.Цена2;
Детали.Параметры.Сумма1 = Результат.Сумма1;
Детали.Параметры.Сумма2 = Результат.Сумма2;
ТабДок.Вывести(Детали);
К = К + 1;
КонецЦикла;

Если (К > 1) Тогда

ОбластьИсполнитель = ТабДок.Область(ТабДок.ВысотаТаблицы-К+1,1,ТабДок.ВысотаТаблицы,1);
ОбластьИсполнитель.Объединить();
ОбластьИсполнитель.ВертикальноеПоложение = ВертикальноеПоложение.Центр;
ОбластьИсполнитель.Текст = НомПред;
К = 0;
КонецЕсли;
Итого = Макет.ПолучитьОбласть("Итого");
Итого.Параметры.ИтогоЦена1 = ТабДок.Итог("Кол-во");
ТабДок.Вывести(Итого);
КонецПроцедуры
Yandex
Возможно, вас также заинтересует
Реклама на портале
ad82117
24.04.2013 16:04Ответ № 1
ну во-первых, не надо обзывать "Итого"

Область = Макет.ПолучитьОбласть("Итого");
Область.Параметры.Итог = Состав.Итог("Количество");
ТабДокумент.Вывести(Область);
Изменено 24.04.13 16:08:47
Ermak
24.04.2013 16:42Ответ № 2
Что за Состав?
ad82117
24.04.2013 17:24Ответ № 3
http://www.ops.org.ua/P7/Param.php
Ermak
24.04.2013 18:47Ответ № 4
(3) ad82117, и что я это знаю, но как в моем варианте я не знаюю
kirilov
21.05.2013 12:21Ответ № 5
По-моему тебе понятно написали...
Код 1C v 8.2 УП
 ИтоговаяСтрока = Макет.ПоучитьОбласть("НазваниеОбласти");
ИтоговаяСтрока.Параметры.<ЯчейкаВКоторуюЗаписываешьИтог> = Состав.Итог("НазваниеКолонкиПоКоторойСчитаешьИтог");
ТабДокумент.Вывести(ИтоговаяСтрока);
Ermak
21.05.2013 14:53Ответ № 6
Вопрос закрыт!
Подсказка: Для быстрого поиска ответов - используйте 'Поиск'
Вы не можете отправить комментарий анонимно, пожалуйста войдите или зарегистрируйтесь.