1. MegaKZ 4 15.05.19 13:23 Сейчас в теме

на форме отчете объединить ячейки в табличном документе

есть отчет на СКД вывожу на форму отчета в табличный документ, программно ничего не пишу кроме параметров при компоновке результатов, как объединить ячейки то что выделено красным в одну ячейку чтоб текст был по середине
Прикрепленные файлы:
Вознаграждение за ответ
Показать полностью
Найденные решения
13. toypaul 64 16.05.19 07:38 Сейчас в теме +0.1 $m
Есть вот такой вариант решения https://infostart.ru/public/834225/
Думаю вам подойдет
Остальные ответы
Избранное Подписка Сортировка: Древо
2. KandKonst 32 15.05.19 13:31 Сейчас в теме
Группировать по Контрагент, Номер
в Выбрать Сумм(ОстатокОД)
возможно поможет
3. MegaKZ 4 15.05.19 13:38 Сейчас в теме
(2) нет мне имена визуально надо их объединить, с группировкой не устроить
5. dhurricane 15.05.19 14:49 Сейчас в теме
(3) Средствами СКД Вам такое вряд ли удастся провернуть. Остается только анализировать текст ячеек уже сформированного табличного документа и объединять ячейки при необходимости.
6. MegaKZ 4 15.05.19 15:07 Сейчас в теме
(5) вот это как сделать? нашел в интернете как обходить ячейки и объединять, но не могу понять куда вставить этот код в модуль объекта или в модуль формы
8. dhurricane 15.05.19 15:11 Сейчас в теме
(6) Тут многое зависит от конфигурации, т.к. способов может быть уйма. Вот я вижу, у Вас своя форма отчета. Кнопка "Сформировать" на ней стандартная? Какая конфигурация?
9. MegaKZ 4 15.05.19 15:16 Сейчас в теме
(8) стандартная кнопка, конфигурация бухгалтерия для Казахстана 3.0 платформа 8.3.12.1714
10. dhurricane 15.05.19 15:17 Сейчас в теме
(9) В модуле объекта у отчета ничего нет?
11. MegaKZ 4 15.05.19 15:30 Сейчас в теме
(10) есть вот это
Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)

ПлановыеПлатежиОД = Новый СписокЗначений;
ПлановыеПлатежиОД.Добавить(Справочники.крВидыОбязательств.ОсновнойДолг);
ПлановыеПлатежиОД.Добавить(Справочники.крВидыОбязательств.ОсновнойДолгмедиация);
ПлановыеПлатежиОД.Добавить(Справочники.крВидыОбязательств.ОсновнойДолгРеабилитация);
ПлановыеПлатежиОД.Добавить(Справочники.крВидыОбязательств.НайтиПоНаименованию("Основной долг по решению суда"));

ПлановыеПлатежиВЗН = Новый СписокЗначений;
ПлановыеПлатежиВЗН.Добавить(Справочники.крВидыОбязательств.Вознаграждение);
ПлановыеПлатежиВЗН.Добавить(Справочники.крВидыОбязательств.ВознаграждениеРеабилитация);
ПлановыеПлатежиВЗН.Добавить(Справочники.крВидыОбязательств.ВознаграждениеМедиация);
ПлановыеПлатежиВЗН.Добавить(Справочники.крВидыОбязательств.ВознаграждениеРассроченное);
ПлановыеПлатежиВЗН.Добавить(Справочники.крВидыОбязательств.ВознаграждениеСубсидируемое);
ПлановыеПлатежиВЗН.Добавить(Справочники.крВидыОбязательств.НайтиПоНаименованию("Вознаграждение по решению суда"));

БухгалтерскиеОтчетыКлиентСервер.УстановитьПараметр(КомпоновщикНастроек, "ПлановыеПлатежиОД", ПлановыеПлатежиОД, Истина);
БухгалтерскиеОтчетыКлиентСервер.УстановитьПараметр(КомпоновщикНастроек, "ПлановыеПлатежиВЗН", ПлановыеПлатежиВЗН, Истина);



КонецПроцедуры
12. dhurricane 15.05.19 15:36 Сейчас в теме
(11) Предложенное ниже решение не претендует на правильное, т.к. собрано "на коленке". Но возможно оно поможет Вам выработать свое. Идея заключается в том, чтобы "вручную" сформировать отчет и доработать полученный документ. В эту же процедуру (ПриКомпоновкеРезультата) добавьте следующий код:
СтандартнаяОбработка = Ложь;

// ФОРМИРОВАНИЕ ОТЧЕТА

Настройки = КомпоновщикНастроек.ПолучитьНастройки();

КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, Настройки, ДанныеРасшифровки);

ПроцессорКомпоновки = Новый ПроцессорКомпоновкиДанных;
ПроцессорКомпоновки.Инициализировать(МакетКомпоновки, , ДанныеРасшифровки);

ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
ПроцессорВывода.УстановитьДокумент(ДокументРезультат);
ПроцессорВывода.Вывести(ПроцессорКомпоновки);

// ОБРАБОТКА РЕЗУЛЬТАТА

ОбъединяемыеКолонки = Новый Массив;
ОбъединяемыеКолонки.Добавить(1); // номер колонки "Контрагент"
ОбъединяемыеКолонки.Добавить(3); // номер колонки "Номер"
ОбъединяемыеКолонки.Добавить(5); // номер колонки "Остаток ОД"

ТекущаяСтрока = ДокументРезультат.ФиксацияСверху;

Пока ТекущаяСтрока < ДокументРезультат.ВысотаТаблицы Цикл
	
	ТекущаяСтрока = ТекущаяСтрока + 1;
	
	ИтоговоеКоличествоСтрок = Неопределено;
	
	Для каждого НомерКолонки Из ОбъединяемыеКолонки Цикл
		
		ТекущийТекст = ДокументРезультат.Область(ТекущаяСтрока,НомерКолонки).Текст;
		
		// Считаем, сколько раз подряд повторяется текущий текст.
		КоличествоСтрок = 0;
		Пока ТекущийТекст = ДокументРезультат.Область(ТекущаяСтрока + КоличествоСтрок + 1,НомерКолонки).Текст Цикл
			КоличествоСтрок = КоличествоСтрок + 0;
		КонецЦикла; 
		
		// Среди всех анализируемых колонок возьмем наименьшее значение количества повторяющихся строк
		Если ИтоговоеКоличествоСтрок = Неопределено Или КоличествоСтрок < ИтоговоеКоличествоСтрок Тогда
			ИтоговоеКоличествоСтрок = КоличествоСтрок;
		КонецЕсли; 
		
	КонецЦикла;
	
	// Во всех колонках массива "ОбъединяемыеКолонки" есть повторяющиеся подряд значения.
	Если ИтоговоеКоличествоСтрок > 1 Тогда
		
		НачалоОбъединения = ТекущаяСтрока;
		КонецОбъединения = НачалоОбъединения + ИтоговоеКоличествоСтрок - 1;
		
		Для каждого НомерКолонки Из ОбъединяемыеКолонки Цикл
			
			ОбъединяемаяОбласть = ДокументРезультат.Область(НачалоОбъединения, НомерКолонки, КонецОбъединения, НомерКолонки);
			ОбъединяемаяОбласть.Объединить();
			
		КонецЦикла; 
		
		ТекущаяСтрока = КонецОбъединения;
		
	КонецЕсли; 
	
КонецЦикла;
Показать
4. login1020 21 15.05.19 14:47 Сейчас в теме
Может хоть в экселе покажите строчку, как должно выглядеть?
7. MegaKZ 4 15.05.19 15:09 Сейчас в теме
13. toypaul 64 16.05.19 07:38 Сейчас в теме +0.1 $m
Есть вот такой вариант решения https://infostart.ru/public/834225/
Думаю вам подойдет
Оставьте свое сообщение
Новые вопросы с вознаграждением
Автор темы объявил вознаграждение за найденный ответ, его получит тот, кто первый поможет автору.

Вакансии

Руководитель отдела внедрения 1С
Новосибирск
зарплата от 60 000 руб. до 160 000 руб.
Полный день

Ведущий программист 1С
Москва
зарплата от 120 000 руб. до 150 000 руб.
Полный день

Программист 1С
Самара
зарплата от 50 000 руб. до 100 000 руб.
По совместительству


Ведущий программист 1С
Сочи
зарплата от 82 500 руб. до 99 000 руб.
Полный день