Процедура Сформировать()
Тб = СоздатьОбъект("Таблица");
Тб.ИсходнаяТаблица("Таблица");
Для к = 1 по 5 Цикл
Тб.ВывестиСекцию("Строка");
КонецЦикла;
ОблТаб = Тб.Область(1,2,5,2);
ОблТаб.Объединить();
ОблТаб.ВертикальноеПоложение(3);
ОблТаб.ГоризонтальноеПоложение(3);
ОблТаб.РамкаОбвести(3,3,3,3);
ТУТ НАДО ПРОГРАММНО ВСТАВИТЬ КАРТИНКУ В ОБЛАСТЬ ОблТаб
Тб.ТолькоПросмотр(1);
Тб.Показать("Прайс","");
КонецПроцедуры
Показать
Собственно вопрос - "Как программно вставить картику в эту область (объединенные ячейки)?"
если картинке установить, скажем, высоту 5 строк жестко
Если разговор про 1С таблицы, то в ней картинки имеют не фиксированный размер, а относительно положения тех ячеек, в которых находятся углы картинки.
если в группе строк меньше 5
Если картинка не влазит полностью в выводимую секцию таблицы, то она просто не выведется.
используя макросы, в excel ведь можно добавлять строки
В эксель можно. Но откуда взялся эксель? ТС, вроде как, относительно штатными средствами хочет решить.
В общем - я что-то не совсем понял о чем вы. Если о возможном методе формирования отчета, как в (4), то я бы предложил такой метод:
В шаблоне таблицы секция из двух строк - строка заголовка группы прайса и строка строки прайса. В левой части картинка, которая ровно по высоте как эти две строки. При формировании прайса выводим секцию, потом вставляем N-1 строк между первой и второй (где N - количество товаров в группе). Йоксель это позволяет. Получаем строки в результирующей таблице отчета, где первая строка заголовок группы, ниже неё N строк без оформления для товаров, а слева растянутая на все строки по вертикали картинка. Заполняем выведенные строки товарами и оформлением ячеек.
Дальше выводим аналогичным образом следующую группу товаров.
Экспериментировать не пробовал, надеюсь, сработает.:)
(1) ни разу не сталкивался.
Обычно при выводе прайса пользовались готовыми макетами, в одной из области уже вставлен объект Картинка (или Рисунок, не помню), и задачей программы было подсунуть правильный путь к картинке.
Для к = 1 по 3 Цикл //Понятно, что кол-во нужных строк (пробелов) вычисляется
Тб.ВывестиСекцию("Строка");
КонецЦикла;
Тб.ВывестиСекцию("Строка1|Колонка1");
Для к = 1 по 10 Цикл // кол-во товарных строк
ОблТаб = Тб.Область(к,2,к,2);
ОблТаб.ВертикальноеПоложение(3);
ОблТаб.ГоризонтальноеПоложение(3);
ОблТаб.РамкаОбвести(3,3,3,3);
ОблТаб.Текст = Строка(к);
ОблТаб.ВысотаСтроки(15);
КонецЦикла;
(15) Почему не устроило? Устроило :) По сути это оно и есть. Но есть две тонкости. 1. Этим способом не просто сделать прайс в 2е колонки, например так: http://clip2net.com/s/3JKDJiI 2. Эксель почему-то ломает пропорции картинок.
(16)
я так и не понял, получилось вывести в печатную форму?
такая же проблема: нужно вывести картинку в n-ное количество объединенных ячеек.
Если у Вас получилось - надоумьте, как?
спасибо
Я то думал Чебуратор спрашивает на мисте, а оказывается, он чужой вопрос транслирует :)
В голову приходит такой вариант:
Если в таблице картинка занимает по высоте несколько строк и ты вставляешь/удаляешь строки где-нибудь в середине, картинка автоматически растягивается/сжимается. Только штатная таблица не умеет программно удалять/вставлять строки. Но умеет Йоксель, который с изображениями ведёт себя аналогично.
(8)Владислав, а если картинке установить, скажем, высоту 5 строк жестко, потом если в группе строк меньше 5 тогда высота строки = 5 / кол-во строк, а если больше 5, то добавить необходимое кол-во строк, используя макросы, в excel ведь можно добавлять строки если объединены строки в столбце.
если картинке установить, скажем, высоту 5 строк жестко
Если разговор про 1С таблицы, то в ней картинки имеют не фиксированный размер, а относительно положения тех ячеек, в которых находятся углы картинки.
если в группе строк меньше 5
Если картинка не влазит полностью в выводимую секцию таблицы, то она просто не выведется.
используя макросы, в excel ведь можно добавлять строки
В эксель можно. Но откуда взялся эксель? ТС, вроде как, относительно штатными средствами хочет решить.
В общем - я что-то не совсем понял о чем вы. Если о возможном методе формирования отчета, как в (4), то я бы предложил такой метод:
В шаблоне таблицы секция из двух строк - строка заголовка группы прайса и строка строки прайса. В левой части картинка, которая ровно по высоте как эти две строки. При формировании прайса выводим секцию, потом вставляем N-1 строк между первой и второй (где N - количество товаров в группе). Йоксель это позволяет. Получаем строки в результирующей таблице отчета, где первая строка заголовок группы, ниже неё N строк без оформления для товаров, а слева растянутая на все строки по вертикали картинка. Заполняем выведенные строки товарами и оформлением ячеек.
Дальше выводим аналогичным образом следующую группу товаров.
Экспериментировать не пробовал, надеюсь, сработает.:)
(12) Ну у меня прайса с картинками нет, что бы скорость оценивать. Может сначала попробовать сохранить через Йоксель? И только потом углубляться в сложности управления Экселем?