Имя: Пароль:
1C
 
Слетают области у макетов СКД и ячейки перемещаются
0 Smiggie_Balls
 
11.06.25
10:24
Создал отчет, добавил несколько макетов группировки и задал им области (конкретные диапазоны а не вся строка). после сохранения слетают области: диапазон меняется на всю строку и сами ячейки тоже перемещаются на эту строку. Версия 8.3.24.1342 конфигурация каркасная new_carcass_8_3_25_1445.

p.s как прикрепить картинки?
1 Волшебник
 
11.06.25
10:26
обновите платформу до 8.3.27
2 d4rkmesa
 
гуру
11.06.25
11:22
(0) А, так вы в СКД это делаете? Макеты в СКД очень интересно сохраняются, переупорядочиваются. Нужно просто иметь в виду, что каждая область сохраняется раздельно, порядок не гарантируется. И еще некоторые свойства ячеек не сохраняются вовсе, как в обычном табличном документе. Это типовое поведение, с которым нужно смириться и разрабатывать исходя из данной логики. По поводу диапазона ячеек, там имеет значение тип макета, для некоторых типов по определению используется строка целиком.
3 d4rkmesa
 
гуру
11.06.25
11:48
(0) По поводу картинок, ИМХО, либо немного муторный "платформенный" способ, либо разные способы обхода табличного документа и накидывания нужных картинок. https://infostart.ru/1c/articles/1125765/
Как по мне, способ с расшифровкой (а не платформенный) наиболее простой, в том же макете в пустую ячейку прописываешь параметр Расшифровка из запроса, например (допустим, это ссылка на присоединенный файл). Потом получаете последовательно в цикле двоичные данные и накидываете картинку. Примерно так (до тысячи строк более-менее приемлемо):

&НаСервереБезКонтекста
Процедура ДоработатьТабличныйДокумент(ТабДокумент);

	НачальнаяСтрока = ?(ТабДокумент.ФиксацияСверху > 3, ТабДокумент.ФиксацияСверху - 3 + 1, 15);
	
	ТекущаяСтрока = НачальнаяСтрока;
	ТекущаяКолонка = ТабДокумент.ШиринаТаблицы;
	Пока ТекущаяСтрока <= ТабДокумент.ВысотаТаблицы Цикл		
		ОбластьКартинка = ТабДокумент.Область(ТекущаяСтрока, ТекущаяКолонка);
		
		РасположитьРисунокИзРасшифровки(ТабДокумент, ОбластьКартинка, Истина);
		
		ТекущаяСтрока = ТекущаяСтрока + 1;				
	КонецЦикла;
		
КонецПроцедуры

&НаСервереБезКонтекста
Процедура РасположитьРисунокИзРасшифровки(ТабДокумент, ОбластьКартинка, ИзменитьРазмерИПоложениеРисунка = Ложь)
	
	Если Не ЗначениеЗаполнено(ОбластьКартинка.Расшифровка) Тогда
		Возврат
	КонецЕсли;
	
	// получаем данные присоединенного файла
	ИсходнаяКартинка = Новый Картинка(РаботаСФайлами.ДвоичныеДанныеФайла(ОбластьКартинка.Расшифровка), Истина);
	// делаем ресайз и поворот
	Если ИзменитьРазмерИПоложениеРисунка Тогда
		СоотношениеСторон = ИсходнаяКартинка.Ширина() / ИсходнаяКартинка.Высота();		
		ОбрабатываемаяКартинка = Новый ОбрабатываемаяКартинка(ИсходнаяКартинка);
		ОбрабатываемаяКартинка.Масштабировать(10);
		Если СоотношениеСторон < 1 Тогда
			ОбрабатываемаяКартинка.Повернуть(90);			
		КонецЕсли;
		Минипик = ОбрабатываемаяКартинка.ПолучитьКартинку();
	КонецЕсли;
	
	Рис = ТабДокумент.Рисунки.Добавить(ТипРисункаТабличногоДокумента.Картинка);
	Рис.РазмерКартинки = РазмерКартинки.Пропорционально;
	Рис.Картинка = ?(ИзменитьРазмерИПоложениеРисунка, Минипик, ИсходнаяКартинка);
	Рис.Расположить(ОбластьКартинка);	

КонецПроцедуры
4 Smiggie_Balls
 
11.06.25
12:20
(2) Да когда добавляю макет группировки выбираю имя группировки, а не поля. Может для именованных 1с сбрасывает области.
(3) Про картинку имел ввиду на этом сайте прикреплять, не вижу нигде "Кнопка-скрепка, которая рядом с кнопкой "Отправить""
5 Волшебник
 
11.06.25
12:52
(4) скрепку надо заслужить