Имя: Пароль:
1C
1С v8
Перемещение с ценами и качеством колонка шапки на все строки
0 Melcor
 
17.05.16
09:35
1С 8.2 Подмкажите как убрать что одна из колонок шапки растягивается на все строки, не могу найти
http://s46.radikal.ru/i111/1605/5e/2139c23a0431.jpg
1 Ёпрст
 
17.05.16
09:38
Объединение ячеек в коде поди стоит
2 Melcor
 
17.05.16
09:39
Макет       = ПолучитьМакет("Накладная");

        Если Не ПервыйДокумент Тогда
            ТабДокумент.ВывестиГоризонтальныйРазделительСтраниц();
        КонецЕсли;
        
        ПервыйДокумент = Ложь;
        
        НомерСтрокиНачало = ТабДокумент.ВысотаТаблицы + 1;

        Запрос = Новый Запрос;
        Запрос.УстановитьПараметр("ТекущийДокумент", СсылкаНаОбъект);

        Запрос.Текст = ТекстЗапроса;

        Шапка = Запрос.Выполнить().Выбрать();
        Шапка.Следующий();
        ВыборкаСтрокТовары = Шапка.Товары.Выбрать();
        ВыборкаСтрокТара   = Шапка.ВозвратнаяТара.Выбрать();

        // Выводим шапку накладной
        ОбластьМакета = Макет.ПолучитьОбласть("Заголовок");
        ОбластьМакета.Параметры.ТекстЗаголовка = ОбщегоНазначения.СформироватьЗаголовокДокумента(Шапка, "Перемещение");
        ТабДокумент.Вывести(ОбластьМакета);

        ОбластьМакета = Макет.ПолучитьОбласть("Поставщик");
        ОбластьМакета.Параметры.ПредставлениеПоставщика = Шапка.Поставщик;
        ОбластьМакета.Параметры.Поставщик = Шапка.СкладОтправитель;
        ОбластьМакета.Параметры.ПредставлениеОрганизации = Шапка.Организация;
        ТабДокумент.Вывести(ОбластьМакета);

        ОбластьМакета = Макет.ПолучитьОбласть("Покупатель");
        ОбластьМакета.Параметры.ПредставлениеПолучателя = Шапка.Покупатель;
        ОбластьМакета.Параметры.Получатель = Шапка.СкладПолучатель;
        ОбластьМакета.Параметры.ПредставлениеТипаЦен = Шапка.ИнтТипЦен;
        
        ОбластьМакета.Параметры.ИнтСклад = Шапка.ИнтСклад;

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


        //Если Шапка.СкладОтправитель.ВидСклада = Перечисления.ВидыСкладов.НТТ
        // ИЛИ Шапка.СкладПолучатель.ВидСклада = Перечисления.ВидыСкладов.НТТ Тогда
        //    ВыводитьЦены = Истина;
        //    ИмяШапки  = "ШапкаТаблицыСЦенами";
        //    ИмяСтроки = "СтрокаСЦенами";
        //Иначе
            ИмяШапки  = "ШапкаТаблицы";
            ИмяСтроки = "Строка";
        //КонецЕсли;

        ОбластьНомера = Макет.ПолучитьОбласть(ИмяШапки + "|НомерСтроки");
        ОбластьКодов  = Макет.ПолучитьОбласть(ИмяШапки + "|КолонкаКодов");
        ОбластьДанных = Макет.ПолучитьОбласть(ИмяШапки + "|Данные");

        ТабДокумент.Вывести(ОбластьНомера);
        Если ВыводитьКоды Тогда
            ОбластьКодов.Параметры.ИмяКолонкиКодов = Колонка;
            ТабДокумент.Присоединить(ОбластьКодов);
        КонецЕсли;
        ТабДокумент.Присоединить(ОбластьДанных);
        ОбластьКолонкаТовар = Макет.Область("Товар");
        Если Не ВыводитьКоды Тогда
            ОбластьКолонкаТовар.ШиринаКолонки = ОбластьКолонкаТовар.ШиринаКолонки +
                                                Макет.Область("КолонкаКодов").ШиринаКолонки;
        КонецЕсли;

        ОбластьНомера = Макет.ПолучитьОбласть(ИмяСтроки + "|НомерСтроки");
        ОбластьКодов  = Макет.ПолучитьОбласть(ИмяСтроки + "|КолонкаКодов");
        ОбластьДанных = Макет.ПолучитьОбласть(ИмяСтроки + "|Данные");

        Ном = 0;
        сч = 0;
        ФлЕстьКоличествоМест = ложь;
        // Выборка товаров
        Пока ВыборкаСтрокТовары.Следующий() Цикл

            Если НЕ ЗначениеЗаполнено(ВыборкаСтрокТовары.Номенклатура) Тогда
                Продолжить;
            КонецЕсли;

            Ном = Ном + 1;
            Если ВыборкаСтрокТовары.КоличествоМест<>0 Тогда
                ФлЕстьКоличествоМест = истина;
            КонецЕсли;
            
            //ОбластьНомера.Параметры.Заполнить(ВыборкаСтрокТовары);
            ОбластьНомера.Параметры.НомерСтроки = Ном;
            ТабДокумент.Вывести(ОбластьНомера);

            Если ВыводитьКоды Тогда
                Если Колонка = "Артикул" Тогда
                    ОбластьКодов.Параметры.Артикул = ВыборкаСтрокТовары.Артикул;
                Иначе
                    ОбластьКодов.Параметры.Артикул = ВыборкаСтрокТовары.Код;
                КонецЕсли;
                ТабДокумент.Присоединить(ОбластьКодов);
            КонецЕсли;

            ОбластьДанных.Параметры.Заполнить(ВыборкаСтрокТовары);
            ОбластьДанных.Параметры.Товар = ВыборкаСтрокТовары.Товар;// + ФормированиеПечатныхФормСервер.ПредставлениеСерий(ВыборкаСтрокТовары);
            ОбластьДанных.Параметры.Цена = Ценообразование.ПолучитьЦенуНоменклатуры(ВыборкаСтрокТовары.Номенклатура,,СсылкаНаОбъект.ИнтТипЦен);
            ОбластьДанных.Параметры.Сумма = ОбластьДанных.Параметры.Цена * ВыборкаСтрокТовары.Количество;
            //сообщить("1");
            ОбластьДанных.Параметры.Дефект = ВыборкаСтрокТовары.Дефект;
            сч = сч + ОбластьДанных.Параметры.Сумма;
            ТабДокумент.Присоединить(ОбластьДанных);

        КонецЦикла;

        // Выборка возвратная тара
        Пока ВыборкаСтрокТара.Следующий() Цикл

            Если НЕ ЗначениеЗаполнено(ВыборкаСтрокТара.Номенклатура) Тогда
                Продолжить;
            КонецЕсли;
            Ном = Ном + 1;

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

            Если ВыводитьКоды Тогда
                Если Колонка = "Артикул" Тогда
                    ОбластьКодов.Параметры.Артикул = ВыборкаСтрокТара.Артикул;
                Иначе
                    ОбластьКодов.Параметры.Артикул = ВыборкаСтрокТара.Код;
                КонецЕсли;
                ТабДокумент.Присоединить(ОбластьКодов);
            КонецЕсли;

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

        КонецЦикла;

        //    Сообщить("Количество строк = " + Ном);
        ОбластьP = ТабДокумент.Область(10,10,10+Ном,10);
        ОбластьP.Объединить();        
        НовыйШрифт = Новый Шрифт (ОбластьP.Шрифт,11+Ном,,Истина); // получили такой же шрифт, но жирный
        ОбластьP.Шрифт = НовыйШрифт;

        
        // Вывести подвал
        ОбластьНомера = Макет.ПолучитьОбласть("Подвал|НомерСтроки");
        ОбластьКодов  = Макет.ПолучитьОбласть("Подвал|КолонкаКодов");
        ОбластьДанных = Макет.ПолучитьОбласть("Подвал|Данные");

        ТабДокумент.Вывести(ОбластьНомера);
        Если ВыводитьКоды Тогда
            ТабДокумент.Присоединить(ОбластьКодов);
        КонецЕсли;
        ТабДокумент.Присоединить(ОбластьДанных);

        // Вывести подписи
        ОбластьМакета = Макет.ПолучитьОбласть("Подписи");
        ОбластьМакета.Параметры.Заполнить(Шапка);
        ОбластьМакета.Параметры.Ном = "Всего наименований " + Ном + ", на сумму " +
        ОбщегоНазначения.ФорматСумм(сч, Справочники.Валюты.НайтиПоКоду("руб")) + " рублей";
        ТабДокумент.Вывести(ОбластьМакета);
3 Melcor
 
17.05.16
09:43
Вроде обычно выводит-присоединяет области (
4 Ёпрст
 
17.05.16
09:43
ОбластьP = ТабДокумент.Область(10,10,10+Ном,10);
        ОбластьP.Объединить();
5 Melcor
 
17.05.16
09:46
(4) Спасибо огромное, а я в шапке ищу.