Из область одного макета вставить в другой 1с
- перенос области заголовка таблицы(название полей) на следующую страницу.
- в подвале на каждой странице реализовать инкремент страниц.
Я выполнял простые макеты, но вышеописанное никак не могу реализовать.
Если мои пояснения непонятны, спросите дополню.
Невозможно razrewit' перенос строк таблицы на следующую страницу
Таблица Word переносит целиком строку на следующую страницу, если он не помещается на текущей.
Перенос шапки таблицы на следующую страницу в случае если таблица больше листа
Доброго времени суток. впервые столкнулась с вопросом переноса шапки на следующую страницу в.
Перенос полей из таблицы в другую таблицу
Доброго времени суток. Не могли бы вы помочь начинающему. Добавлено через 6 минут Доброго.
Определяешь что пора выводить новую страницу и выводишь сначала заголовок - вконце проверяешь что места осталось только на подвал - выводишь подвал (либо считаешь количество строк либо пользуешься методом ПроверитьВывод(Массив), а скорее всего придется делать и то и то)
Ну торг-12 она регламентированная форма, там тупо подсчет количества строк в областях
свой алгоритм можно сделать более гибким
Жаль, что нельзя каким-нибудь встроенными методами =/
Как определить, что пора выводить новую страницу ?
ТабличныйДокумент (SpreadsheetDocument)
ПроверитьВывод (CheckPut)
Синтаксис:
Тип: Массив; ТабличныйДокумент.
Массив из проверяемых таблиц или табличный документ.
Возвращаемое значение:
Тип: Булево.
Истина - умещаются; Ложь - в противном случае.
Описание:
Проверяет, умещаются ли переданные табличные документы на страницу при печати.
Сервер, толстый клиент, внешнее соединение.
Примечание:
При возникновении проблем с получением информации о текущем принтере (например, в системе не установлено ни одного принтера), будет вызвано исключение.
Пример:
Т.Добавить(ШапкаДокумента);
Т.Добавить(СтрокаДокумента);
Т.Добавить(ПодвалДокумента);
Если Не ТабДок.ПроверитьВывод(Т) Тогда
Сообщить("Документ не умещается на страницу!");
КонецЕсли;
1С 8.3 Объединение табличных документов (с разной шириной)
// Процедура ПрисоединитьТабличныйДокумент осуществляет вывод Присоединяемого документа под указанным
// С возможностью создания нового формата строк для всей области присоединяемого документа
// Удобно использовать, чтобы колонки различной ширины не разъезжались
//
// Параметры:
// ПриемникТаблДок - ТабличныйДокумент - документ, куда будут добавлены области присоединяемого документа
// ПередатчикТаблДок - ТабличныйДокумент/ОбластьЯчеекТабличногоДокумента - документ, который присоединяем
// СоздатьФорматСтрок - Булево - флаг, указывающий на то, что необходимо создать свой формат строк
//
Процедура ПрисоединитьТабличныйДокумент ( ПриемникТаблДок , Знач ПередатчикТаблДок , Знач СоздатьФорматСтрок = Ложь) Экспорт
ВременныйТаблДок = Новый ТабличныйДокумент ;
ОбластьЯчеек = ВременныйТаблДок . Вывести ( ПередатчикТаблДок );
Если СоздатьФорматСтрок Тогда
ОбластьЯчеек . СоздатьФорматСтрок ();
КонецЕсли;
ПриемникТаблДок . Вывести ( ВременныйТаблДок );
// Добавляет один сформированный табличный документ к другому
//
// Параметры:
// - табличный документ, в который добавляется Табличный документ
// - табличный документ, вставляемый в приемник
Процедура ДобавитьТабличныйДокумент ( ПриемникТаблДок , ПередатчикТаблДок )
Если ПередатчикТаблДок = Неопределено Тогда
Возврат;
КонецЕсли;
НачалоНовогоТД = ПриемникТаблДок . ВысотаТаблицы + 1 ;
//Разобъем вствляемый ТД на куски форматов строк
ФорматыСтрокТЗ = Новый ТаблицаЗначений ;
ФорматыСтрокТЗ . Колонки . Добавить ( "ПерваяСтрока" );
ФорматыСтрокТЗ . Колонки . Добавить ( "ПоследняяСтрока" );
ФорматыСтрокТЗ . Колонки . Добавить ( "МассивЗначенийШирины" );
//Чтобы узнать ширину колонки для каждой ячейки необходимо разъединить все объединенные ячейки
//А, т.к. вставляемый ТД нам не нужно изменять, создадим копию вставляемого ТД
ВременныйТаблДок = ПередатчикТаблДок . ПолучитьОбласть ();
ВременныйТаблДок . Область (). Разъединить ();
//Готовим таблицу, где будет храниться информация обо всех "группах" форматирования строк
ПредыдущаяШиринаСтрокой = "" ;
Для НомерСтроки = 1 По ВременныйТаблДок . ВысотаТаблицы Цикл
МассивЗначенийШирины = Новый Массив ;
Для НомерКолонки = 1 По ВременныйТаблДок . ШиринаТаблицы Цикл
МассивЗначенийШирины . Добавить ( ВременныйТаблДок . Область ( НомерСтроки , НомерКолонки ). ШиринаКолонки );
КонецЦикла;
ШиринаСтрокой = ПолучитьШиринуСтрокой ( МассивЗначенийШирины , ";" );
Если ШиринаСтрокой <> ПредыдущаяШиринаСтрокой Тогда
Если ФорматыСтрокТЗ . Количество ()> 0 Тогда
ФорматыСтрокТЗ [ ФорматыСтрокТЗ . Количество () - 1 ]. ПоследняяСтрока = НомерСтроки - 1 ;
КонецЕсли;
ФорматыСтрокСтрока = ФорматыСтрокТЗ . Добавить ();
ФорматыСтрокСтрока . ПерваяСтрока = НомерСтроки ;
ФорматыСтрокСтрока . МассивЗначенийШирины = МассивЗначенийШирины ;
КонецЦикла;
ФорматыСтрокТЗ [ ФорматыСтрокТЗ . Количество () - 1 ]. ПоследняяСтрока = НомерСтроки - 1 ;
//Теперь вставляем в Приемник вставляемую ТД кусками. Сразу же устанавливаем ширину колонок
Для Каждого СтрокаФорматыТЗ Из ФорматыСтрокТЗ Цикл
ПерваяСтрокаОбласти = НачалоНовогоТД + СтрокаФорматыТЗ . ПерваяСтрока - 1 ;
ПоследняяСтрокаОбласти = НачалоНовогоТД + СтрокаФорматыТЗ . ПоследняяСтрока - 1 ;
КусокВставляемогоТабДок =
ПередатчикТаблДок . ПолучитьОбласть ( СтрокаФорматыТЗ . ПерваяСтрока ,, СтрокаФорматыТЗ . ПоследняяСтрока );
ОбластьИсточник = КусокВставляемогоТабДок . Область ();
ОбластьПриемник = ПриемникТаблДок . Область ( ПерваяСтрокаОбласти , , ПоследняяСтрокаОбласти , );
ПриемникТаблДок . ВставитьОбласть ( ОбластьИсточник , ОбластьПриемник );
ОбластьПриемник . СоздатьФорматСтрок ();
Для Счетчик = 1 По КусокВставляемогоТабДок . ШиринаТаблицы Цикл
ПриемникТаблДок . Область ( ПерваяСтрокаОбласти , Счетчик , ПоследняяСтрокаОбласти , Счетчик ). ШиринаКолонки =
СтрокаФорматыТЗ . МассивЗначенийШирины [ Счетчик - 1 ];
КонецЦикла;
Функция ПолучитьШиринуСтрокой ( перМассив , разделитель = ";" )
Рез = "" ;
Для Каждого Стр Из перМассив Цикл
Рез = Рез + стр + разделитель ;
КонецЦикла;
Возврат Рез ;
КонецФункции
Как в ячейке макета печатной формы сделать перенос строк
Подскажите, пожалуйста. Делаю макет печатной формы. Объединил ячейки. Задал высоту строки. Пытаюсь.
Модуль менеджера для печатной формы. Вывод на печать данных одного документа.
Задача обстоит в том плане что при данном коде он на печать выводит абсолютно все документы. Хотя.
Перенос документа с одного сервера на другой
Предположим, есть некий сервер, на который каждую неделю скидывают xls документ. (доступа по FTP у.
Перенос данных одного документа в другой
Добрый вечер. При создании нового документа "Путевой лист" необходимо заполнить реквизит "остаток.
&НаКлиенте
Процедура ОбработкаКоманды(ПараметрКоманды, ПараметрыВыполненияКоманды)
ТабДок = Новый ТабличныйДокумент;
Печать(ТабДок, ПараметрКоманды);
ТабДок.АвтоМасштаб=Истина;
ТабДок.ОтображатьСетку = Ложь;
ТабДок.Защита = Ложь;
ТабДок.ТолькоПросмотр = Ложь;
ТабДок.ОтображатьЗаголовки = Ложь;
ТабДок.Показать();
КонецПроцедуры
Процедура Печать(ТабДок, Ссылка) Экспорт
Макет = Документы.ЗаказМонтажа.ПолучитьМакет("Печать");
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ЗаказМонтажа.Выполнено,
| ЗаказМонтажа.Дата,
| ЗаказМонтажа.Клиент,
| ЗаказМонтажа.Номер,
| ЗаказМонтажа.ОбщаяСтоимость,
| ЗаказМонтажа.Оплачено,
| ЗаказМонтажа.ОтветственныйЗаРаботу,
| ЗаказМонтажа.СрокВыполненияРабот,
| ЗаказМонтажа.Услуга,
| ЗаказМонтажа.РасходныеМатериалы.(
| НомерСтроки,
| Оборудование,
| Количество,
| ЦенаОборудования,
| СтоимостьОборудования,
| ЦенаЗаМонтаж,
| СтоимостьМонтажа
| )
|ИЗ
| Документ.ЗаказМонтажа КАК ЗаказМонтажа
|ГДЕ
| ЗаказМонтажа.Ссылка В (&Ссылка)";
Запрос.Параметры.Вставить("Ссылка", Ссылка);
Выборка = Запрос.Выполнить().Выбрать();
ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок");
Шапка = Макет.ПолучитьОбласть("Шапка");
ОбластьРасходныеМатериалыШапка = Макет.ПолучитьОбласть("РасходныеМатериалыШапка");
ОбластьРасходныеМатериалы = Макет.ПолучитьОбласть("РасходныеМатериалы");
ОбластьИтог=Макет.ПолучитьОбласть("Всего");
Подвал = Макет.ПолучитьОбласть("Подвал");
ТабДок.Очистить();
Шапка.Параметры.Заполнить(Выборка);
ТабДок.Вывести(Шапка, Выборка.Уровень());
ТабДок.Вывести(ОбластьРасходныеМатериалыШапка);
ВыборкаРасходныеМатериалы = Выборка.РасходныеМатериалы.Выбрать();
СуммаИтог=0;
СуммИтог=0;
Пока ВыборкаРасходныеМатериалы.Следующий() Цикл
Если ВыборкаРасходныеМатериалы.Количество > 0 Тогда
ОбластьРасходныеМатериалы.Параметры.Заполнить(ВыборкаРасходн ыеМатериалы);
ТабДок.Вывести(ОбластьРасходныеМатериалы, ВыборкаРасходныеМатериалы.Уровень());
СуммаИтог=СуммаИтог+ВыборкаРасходныеМатериалы.СтоимостьОбору дования;
СуммИтог=СуммИтог+ВыборкаРасходныеМатериалы.СтоимостьМонтажа ;
Иначе Продолжить;
КонецЕсли;
КонецЦикла;
ОбластьИтог.Параметры.ВсегоПоДокументу=СуммаИтог;
ОбластьИтог.Параметры.ВсегоПоДокумент=СуммИтог;
ТабДок.Вывести(ОбластьИтог);
Всем привет друзья.
Такой вопрос возможно ли сделать так:
По средине макета нужно выводить две области параллельно друг другу.
Во вложении наглядно показал.
Два дива в одну строку, расположенные в третьем диве
Здравствуйте. Есть див фиксированной ширины в 800px. В нем два других дива каждый по 400px. Первый.
Две Не разделенные области на HDD как объединить в одну Acronis
Произошло на Ноутбуке G500 Lenovo 2 ядра 4 ГБ Оперативы Жосткий диск HDD 500 ГБ - ночью Две Не.
Заданы две строки. Построить новую строку, состоящую из символов, которые входят как в одну, так и в другую строку
Необходимо вывести с 2-ух строк одинаковые символы, но необходимо только русские символы. С англ.
Заданы две строки. Построить новую строку, состоящую из символов, которые входят как в одну, так и в другую строку
Прошу помощи!
Только теперь ставится разрыв страницы после этого. И все что ниже переносится на вторую страницу а этого не нужно.
Добавлено через 47 секунд
volodya334455,
Добавлено через 1 минуту
Это на выбор или параметр такой?
Добавлено через 11 минут
В макете нужно сделать горизонтальные и вертикальные области
Соответственно вертикальная черта это указывает что ты берещь не всю строку а только облать на пересечение этих областей
эта область у меня также по центру, но я ее могу получить. или ты не задавал вопроса?
Если необходимо получить область, которая находится на пересечении двух именованных областей, следует использовать следующий синтаксис:
Копировать в буфер обмена
ОсновнойЗаголовок = Макет.ПолучитьОбласть("Заголовок|Основной");
Две формы в одну строку?
Друзья, подскажите как сделать, чтобы две формы: <form>. </form><form>. </form> выводились в.
Нарисовать две концентрические окружности. Записать решение в одну строку
Нарисовать две концентрические окружности. Записать решение в одну строку
Как ввести в одну строку две переменных(число и строка)
решаю задачу в котором надо считать две переменных, при этом первая переменная это число, а вторая.
Правильно разделить области в макете
Всем добрый день! Делала когда-то отчёт, теперь хотят, чтобы сотрудники разделялись полосочками.
Преобразовать числа в две строки, объединить их в одну строку и вывести на экран результат
ввести 2 целых числа.преобразовать числа в две строки,объединить их в одну строку и вывести на.
Как записать две строки поля одной таблицы в одну строку другой?
Есть такой запрос к БД и результат этого запроса две строки ROH и KOR поля FIL С 6 строки.
В этой статье научимся добавлять в табличный документ картинки. Вы узнаете, как вставить конкретную картинку в табличный документ, а также как подгрузить картинку из общих картинок конфигурации и из хранилища значений.
Вставить картинку в табличный документ 1С
Научимся вставлять картинки в макет табличного документа 1С. Для того, чтобы вставить картинку в табличный документ необходимо воспользоваться командой «Картинка…» тогда, когда табличный документ открыть и на нем установлен фокус. Команда «Картинка…» находится по следующему пути в конфигураторе 1С: «Главное меню – Таблица — Рисунки».
Откроется окно «Выбор картинки».
В этом окне есть несколько вариантов выбора. В закладке «Из библиотеки» мы можем выбрать или общую картинку конфигурации, или стандартную картинку платформы 1С.
На закладке «Из файла» мы можем загрузить нужную картинку из файловой системы.
Вставим картинку из файла. Для этого на закладке «Из файла» следует нажать на кнопку «Выбрать файл».
Найти нужный файл в открывшемся окне «Выбор картинки».
После выбора рисунка, вы можете сделать белый цвет прозрачным. Для этого следует нажать на кнопку «Установить прозрачный цвет», после этого ваш курсор станет «карандашом», и этим курсором необходимо кликнуть по белому цвету картинки.
В результате, белый цвет уйдет.
После нажатия на кнопку «Ок» окна «Выбор картинки», картинка отобразится в табличном документе.
Заметьте, что вокруг вставленной картинки имеется рамка. Для того, чтобы убрать эту рамку, откроем палитру свойств картинки.
И в свойстве Линия установим значение «Нет линии».
В результате, рамки во круг картинки не станет.
Добавим макету область, создадим форму, команду формы, в которой будем выводить табличный документ на просмотр.
И посмотрим, как выведется наш табличный документ с картинкой.
Вывести картинку в табличный документ 1С
Приведенный выше способ отображение картинок статичен: мы вручную при создании макета выбираем ту или иную картинку, которая будет всегда в этом макете отображаться. Но, очень часто возникают ситуации, когда нужно картинку подгружать или из библиотеки картинок, или из хранилища значений.
В этой статье Вы узнаете, как загружать и хранить картинки в хранилище значений:
В учебной конфигурации у справочника Контрагенты был создан реквизит Логотип, тип которого Хранилище значения.
В этом реквизите хранятся картинки.
Теперь, сделаем табличный документ, на котором будет выводиться информация об контрагенте, а также картинка, которая привязана к этому контрагенту.
Есть несколько способов вывода картинки на табличный документ, разберем один из них.
Создадим макет табличного документа, в котором создадим область и зададим несколько параметров, в которые будем выводить информацию о контрагенте.
Теперь, в макет добавим пустую картинку. Нам следует выполнить команду «Рисунок…» по уже знакомому пути «Главное меню – Таблица — Рисунки», но не выбирать ни какую картинку ни где, а просто нажать на кнопку «Ок».
Будет добавлена пуста картинка (скорее всего, она будет маленького размера).
Откроем палитру свойств этой картинки, изменим имя, уберем рамку и установим авторазмер картинки.
Всё! Макет готов, теперь создадим на управляемой форме реквизит Контрагент, поле ввода контрагента, а также команду для вывода табличного документа.
Создадим обработчик команды и функцию, в которой будем выводить в табличный документ данные контрагента.
Мы получили данные контрагента через запрос. Обращаю ваше внимание на поле «Контрагенты.Логотип КАК Логотип», так мы получаем хранилище значения. Пока все вывели табличный документ без рисунка. Реализуем возможность вывода рисунка. Для этого, вставим после вывода параметров области (ИНН,КПП, название) следующий код.
В этом коде, из хранилища значений, которое в поле Логотип выборки, получим двоичный файл (//1). Потом создадим объект Картинка конструктором на основе двоичных данных (//2), вторым параметром Истина мы установили прозрачность картинки. И присвоим свойству Картинка рисунку области табличного документа, который мы добавили пустым, созданную картинку (//3).
По сути, мы программным способом «загрузили» картинку в свойство Картинка созданного нами пустого рисунка.
Если мы сейчас попробуем показать этот табличный документ, то на нем отобразится картинка.
Рассмотрим ещё, как программным способом вывести общую картинку. Например, в моей конфигурации имеется общая картинка под названием «Общий логотип».
Выведем эту картинку в уже созданный ранее табличный документ.
Для этого, также как и в первый раз, добавим на табличный документ пустую картинку, которую назовем ОбщийЛоготип, и у которой уберем обводку.
Нам осталось вывести эту картинку при формировании табличного документа. Делается это гораздо проще, чем с картинкой из хранилища значений: просто присваиваем свойству Картинка, вновь добавленному рисунку табличного документа, общую картинку из библиотеки картинок.
После этого, общая картинка будет выведена в табличный документ.
Другие статьи про табличные документы в 1С:
Более подробно и основательно разработка в 1С дается в моей книге: «Программировать в 1С за 11 шагов»
Изучайте программирование в 1С в месте с моей книги «Программировать в 1С за 11 шагов»
- Книга написана понятным и простым языком — для новичка.
- Книга посылается на электронную почту в формате PDF. Можно открыть на любом устройстве!
- Научитесь понимать архитектуру 1С;
- Станете писать код на языке 1С;
- Освоите основные приемы программирования;
- Закрепите полученные знания при помощи задачника;
О том как разрабатывать под управляемым приложением 1С, читайте в книге Книга «Основы разработки в 1С: Такси»
Отличное пособие по разработке в управляемом приложении 1С, как для начинающих разработчиков, так и для опытных программистов.
- Очень доступный и понятный язык изложения
- Книга посылается на электронную почту в формате PDF. Можно открыть на любом устройстве!
- Поймете идеологию управляемого приложения 1С
- Узнаете, как разрабатывать управляемое приложение;
- Научитесь разрабатывать управляемые формы 1С;
- Сможете работать с основными и нужными элементами управляемых форм
- Программирование под управляемым приложением станет понятным
Промо-код на скидку в 15% — 48PVXHeYu
Эти книги, плюс книга по программированию оперативного учета имеются в едином комплекте: комплект книг по разработке в 1С.
Только для читателей моего блога,
промо-код на скидку в 300 рублей на весь комплект: blog
Если Вам понравился этот урок, был полезен или помог решить какую-нибудь проблему, то Вы можете поддержать мой проект, перечислив любую сумму.
Читайте также: