Изменить размер области в макете 1с
Для того, чтобы появилась возможность использовать свойство "Значение", необходимо явно присвоить свойству ячейки "СодержитЗначение" значение Истина или установить флажок "Содержит значение" в палитре свойств.
Для ячейки, у которой установлен признак "СодержитЗначение", можно задать тип значения, размещаемого в ячейке.
Следующий фрагмент демонстрирует, как можно управлять этими свойствами из встроенного языка://задаем нужный тип с помощью объекта "ОписаниеТипов"
Для ячейки табличного документа можно задавать формат вывода данных. Для этого используется свойство "Формат", которое содержит форматную строку. Приемы работы с форматной строкой полностью совпадают с функцией Формат()
Для ячейки, у которой установлен признак "СодержитЗначение", можно также задать элемент управления, который будет использоваться для редактирования этого значения.
Элемент управления можно назначить через палитру свойств или из встроенного языка с помощью метода "УстановитьЭлементУправления()". Чтобы проверить в программе, установлен ли элемент управления для конкретной ячейки, можно использовать свойство "ЭлементУправления", которое возвращает элемент управления, назначенный для ячейки.
Элементы управления, встроенные в ячейку, отображаются только при входе в режим редактирования значения. На приведенном ниже рисунке редактируемая ячейка обведена овалом и в ней отображается флажок:
Ниже показан пример установки элемента управления типа "Флажок" из встроенного языка://задаем нужный тип с помощью объекта "ОписаниеТипов"
Для элементов управления, расположенных в табличном документе, расширяется набор свойств, методов и событий:
Свойство "ВстроенВЯчейку" имеет тип "булево" и говорит о том, что элемент управления встраивается в ячейку или просто привязывается к ней, о чем было рассказано выше.
Свойство "Значение" предоставляет доступ к значению, которое редактируется в элементе управления. Оно используется только для элементов управления, поддерживающих связь с данными.
Метод "Расположить" позволяет разместить элемент управления в конкретной области ячеек табличного документа. Именно этот метод был использован в вышеприведенном примере.
Несмотря на простоту вопроса, у пользователей программ 1С он возникает постоянно: «Как разместить документ на одной странице, если его края по ширине или длине выходят на другой лист?» или «Как распечатать два экземпляра документа на одном листе?» Ведь практически все бухгалтеры любят экономить бумагу. В этом лайфхаке раскроем все секреты!
Для этого, как и при работе с обычными текстовыми документами, в конфигурациях 1С есть настройка параметров страницы.
Рассмотрим на примерах.
Настройка ориентации и масштаба листов
Имеем документ «Расчетная ведомость».
Нажав кнопку предварительного просмотра в виде лупы, видно, что форма не «вписывается» в лист бумаги и явно выходит за ее границы. Предварительный просмотр показал форму на 9 листах, разрезав ее на куски.
Для настройки параметров листа по кнопке «Еще» выберите команду «Параметры страницы».
Для данной формы установим параметры:
• Ориентация листа – «ландшафт» - альбомная ориентация.
• Масштаб – «По ширине листа».
При таком масштабе программа автоматически выровняет печатную форму по краям листа. Нажмите «Ок» и проверьте результат.
Форма вместилась на два листа и по краям нет пустого места. Ширина автоматически подобрана.
Ведомость распечатывается с двух сторон.
При необходимости пользователь может задать произвольно масштаб документа, установив значение в процентах.
Настройка полей. Двусторонняя печать в 1С
При печати документа обратите внимание на настройку полей: с какой стороны делается отступ для подшивки, чтобы край документа не «съело».
Для этого выставьте нужный размер в настройке «Поля».
В примере с расчетной ведомостью это верхнее поле, хотя документ можно подшить и горизонтально, тогда отрегулируйте левое поле.
При двусторонней печати не забудьте про зеркальное отображение страниц – «Чередование страниц» и настройки двусторонней печати. Настройте параметры в разделе «Режимы печати».
Как распечатать два экземпляра документа в 1С на одном листе?
Рассмотрим еще один пример. Имеем документ «Расходная накладная». Документ небольшой и пользователь может распечатать на одном листе два экземпляра.
Для настройки перейдите по кнопке «Еще» - «Параметры страницы».
В настройке установите переключатель в положение – 2 экземпляра на странице. Нажмите «Ок» и распечатайте документ.
В этой статье я покажу, как работать с ячейками табличного документа. Мы создадим табличный документ и заполним его какими-нибудь данными, не обращаясь при этом к макету табличного документа, как мы это делали раньше, а получая напрямую доступ к ячейкам табличного документа.
Также, как и во всех предыдущих статьях, для демонстрации создадим обработку и основную форму обработки, на которую поместим команду.
Создадим обработчик команды в клиентском контексте, и функцию тоже в клиентском контексте, в которой создадим табличный документ, и этот табличный документ функция вернет. А в обработчике команды покажем возвращаемый функцией табличный документ.
В дальнейшем весь код будет из метода ВозвратТабличногоДокумента(). В этом коде мы будем обращаться к ячейкам табличного документа по их наименованию. А для удобства работы с именами ячеек табличного документа создадим пустой макет табличного документа. Он нам нужен только как вспомогательный инструмент. Для вывода табличного документ этот макет не требуется.
Если необходимо узнать имя ячейки или группы ячеек (области), следует выделить ячейку, открыть палитру свойств этой ячейки, и в этой палитре свойств интересует одно свойство Имя.
Зная имя ячейки или области ячеек, мы можем получить эту область из уже созданного документа при помощи метода Область().
В коде выше мы получили область ячеек табличного документа по имени, которое определили при помощи пустого макета табличного документа (он и нужен только для выяснения названий ячеек). Потом, мы объединили область ячеек в одну ячейку, указали текст ячейки, примечание, и отцентрировали текст в объединенной ячейке.
Если мы попробуем выполнить команду обработки, то как результат будет показан табличный документ.
Пойдем дальше. Создадим таблицу в нашем табличном документе. Сначала сделаем шапку таблицы из ячеек, которые идут после области, из которой сделали шапку отчета. У нас будет две колонки у шапки таблицы.
Ячейки первой колонки.
Получим область для этих ячеек, объединим ячейки этой области, напишем какой-нибудь текст и обведем эту область, используя метод Обвести табличного документа.
Точно также получим область для соседней колонки.
Первым делом узнаем имя ячеек. Ячейки второй колонки.
А потом получим область, и выполним над ней те же самые манипуляции, что и над соседней областью.
А дальше, для вывода таблицы сделаем цикл от 0 до 9, в котором в каждой итерации цикла будем обращаться к областям табличного документа, но в этот раз мы будем использовать не имена областей, а номера ячеек.
На этом мы закончим изменять табличный документ. Полная версия кода в функции ВозвратТабличногоДокумента будет следующей:
Проверим, что у нас выведет табличный документ.
Таким образом, обращаясь напрямую к областям (ячейкам) табличного документа, мы можем изменять этот табличный документ без использования макета.
Другие статьи про табличные документы в 1С:
Более подробно и основательно разработка в 1С дается в моей книге: «Программировать в 1С за 11 шагов»
Изучайте программирование в 1С в месте с моей книги «Программировать в 1С за 11 шагов»
- Книга написана понятным и простым языком — для новичка.
- Книга посылается на электронную почту в формате PDF. Можно открыть на любом устройстве!
- Научитесь понимать архитектуру 1С;
- Станете писать код на языке 1С;
- Освоите основные приемы программирования;
- Закрепите полученные знания при помощи задачника;
О том как разрабатывать под управляемым приложением 1С, читайте в книге Книга «Основы разработки в 1С: Такси»
Отличное пособие по разработке в управляемом приложении 1С, как для начинающих разработчиков, так и для опытных программистов.
- Очень доступный и понятный язык изложения
- Книга посылается на электронную почту в формате PDF. Можно открыть на любом устройстве!
- Поймете идеологию управляемого приложения 1С
- Узнаете, как разрабатывать управляемое приложение;
- Научитесь разрабатывать управляемые формы 1С;
- Сможете работать с основными и нужными элементами управляемых форм
- Программирование под управляемым приложением станет понятным
Промо-код на скидку в 15% — 48PVXHeYu
Эти книги, плюс книга по программированию оперативного учета имеются в едином комплекте: комплект книг по разработке в 1С.
Только для читателей моего блога,
промо-код на скидку в 300 рублей на весь комплект: blog
Если Вам понравился этот урок, был полезен или помог решить какую-нибудь проблему, то Вы можете поддержать мой проект, перечислив любую сумму.
В данной статье будет рассмотрено, как происходит формировка документа в системе 1С при помощи макета и его областей. Будут даны общие понятия и определения, а также приведена поэтапная схема создания документа по макету, описаны основные методы и приложен программный код для связки документа с областями макета.
Рассмотрим главные постулаты для формировки таблицы при помощи макета и его областей. Создаётся табличный документ по обыкновению, основываясь на макете. Это можно сравнить со строением здания из кирпичей, где каждый блок – это кирпич.
Макет – это специальный шаблон внутри системы, который отвечает за печатную форму документа в 1С. Создание макетов документов происходит внутри конфигуратора 1С 8 в редакторе таблиц. Программист имеет возможность создавать новые области, менять высоту и ширину для столбцов и строк, а также форматировать ячейки и весь общий документ, добавлять внутрь макета изображения, различного вида диаграммы и таблицы со сводными данными.
Внутри макета также есть области, необходимые для единовременного или многоразового вывода информации. На скриншоте показано, как выглядит готовый к печати макет для накладной по расходам:
Рис. 1 Макет печатной формы документа 1С
В некоторых ячейках располагается лишь текстовая часть, которая должна быть выведена. В других ячейках располагаются наименования параметров, которые прописываются в угольных скобках. Стоит отметить, что значения данных параметров должны быть указаны внутри модуля программы 1С.
Параметры внутри табличного документа должны выводится прямо из модуля программы 1С, при помощи коллекции «Параметры» в объекте «ТабличныйДокумент».
Область макета состоит из строк, либо колонок, которые находятся подряд, а также может быть представлена в виде прямоугольной области в таблице. Обращение к области происходит при помощи наименования области или же по её координатам. Также обращение может производится для пересечения областей – для этого используется вертикальная черта, аналогично предыдущим версиям 1С.
2. Схема формирования печатной формы
Общая схема по формированию печатной формы при помощи макета выглядит так:
Рис. 2 Формирование печатной формы документа с помощью макета
Рассмотрим подробнее каждый пункт данной схемы.
1. Вначале происходит формирование макета внутри редактора для таблиц: определение необходимых областей, наименований для всех параметров, а также форматирование.
2. Создаётся новый табличный документа, если отчёт будет выведен в элемент по управлению «ПолеТабличногоДокумента», данный пункт будет пропущен.
3. Далее происходит отправка макета в переменную при помощи метода «ПолучитьМакет».
4. Следующим шагом получаем области в макете при помощи свойства «Параметры».
5. Производим заполнение всех параметров внутри области, также при помощи свойства «Параметры».
6. Выводится область для документа таблицы, используя два метода: «Вывести» и «Присоединить».
7. Устанавливаются свойства по отображению документа таблицы, это – все заголовки, сетка, отображение (например, только просмотр);
8. На экране отображается документ таблицы, происходит также отправка на принтер для печати и сохранение.
3. Документа таблицы в модуле документа 1С
Рассмотрим пример формирования печатной формы накладной по расходам в модуле документа 1С.
Рис. 3 Формирование печатной формы накладной
4. Главные методы в области макета в 1С
Далее представлены главные методы по формированию итогового табличного документа.
· Метод «Вывести» - служит для вывода в печатной форме фрагмента, при этом прибавляет его внизу с первого столбца.
· Метод «Присоединить» - выполняет функцию присоединения к форме печати фрагмента справа, начиная со строки, с которой был произведён вывод прошлого фрагмента при помощи метода «Вывести».
· Метод «Область» - необходим для получения области в виде объекта с типом «ОбластьЯчеекТабличногоДокумента», при помощи данного объекта есть возможность создавать форматирование внутри конкретной области, это может быть размер и цвет шрифта, фоновый цвет, дизайн ячеек.
· Метод «ПолучитьОбласть» - служит для получения области в виде объекта с типом «ТабличныйДокумент», после чего объект может быть использован для методов «Присоединить» и «Вывести», далее при помощи этого же объекта обозначаются значения по параметрам внутри соответствующей области.
В данной статье было описано как происходит создание табличного документа при помощи макетов и его областей, также была приведена пошаговая схема-инструкция для проведения данного действия. А в начале описано что такое макеты и области в 1С и как правильно с ними работать. Также были даны возможные методы для работы с макетами печатных форм.
Специалист компании «Кодерлайн»
Вас могут заинтересовать следующие статьи:
94 [PROP_CODE] => TAGS2 [TITLE] => Вас могут заинтересовать следующие семинары: ) --> 95 [PROP_CODE] => TAGS [TITLE] => Вас могут заинтересовать следующие вебинары: ) -->
Вас могут заинтересовать следующие вебинары:
Программирование в 1С [1] => 1С:Бухгалтерия [2] => 1С:Управление производственным предприятием [3] => 1С: Розница [4] => 1С: CRM [5] => 1С: Управление торговлей [6] => Бюджетирование [7] => СКД [8] => 1С: Конвертация данных [9] => Администрирование 1С [10] => Конвертация данных [11] => Лицензии 1С [12] => Оптимизация [13] => 1С: Документооборот [14] => 1С: ERP [15] => Транспортная логистика [16] => Техническое задание [17] => Продажи [18] => Ценообразование [19] => Планирование [20] => MS SQL Server [21] => Полезные обработки [22] => МСФО [23] => Отчеты в 1С [24] => XML [25] => Внедрение ERP [26] => Перенос данных [27] => Торговое оборудование [28] => РСБУ [29] => 1С:Управление корпоративными финансами [30] => 1С: Колледж [31] => 1С: Аренда и управление недвижимостью [32] => Финансовый учет ) -->
Когда нужно в макете (табличном документе) изменить ширину колонки для конкретных строк:
1. Выделить всю строку (строки). Именно всю, фокус для выделенной области не работает.
2. Нажимаем и не отпускает Ctrl
3. С помощью мыши изменяют ширину любой из колонок - будет задан вопрос об создании нового формата строк - соглашаемся.
Как же прекрасен мир, где для модификаций не достаточно просто использовать контекстное меню и диалог редактора свойств, где нужно знать заветные слова и таинства танца. 90ые, моё почтение.
Программно, тоже самое, можно сделать через
ТабДок = Новый ТабличныйДокумент();
ТабДок.Область(1,,1,).СоздатьФорматСтрок();
ТабДок.Область(1,1).ШиринаКолонок = 70;
ТабДок.Область(1,2).ШиринаКолонок = 30;
ТабДок.Область(2,,2,).СоздатьФорматСтрок();
ТабДок.Область(2,1).ШиринаКолонок = 30;
ТабДок.Область(2,2).ШиринаКолонок = 70;
ТабДок.Показать();
- Получить ссылку
- Электронная почта
- Другие приложения
Ярлыки
- Получить ссылку
- Электронная почта
- Другие приложения
Комментарии
СКД. Ориентация текста в заголовке (шапке отчета).
Вводная: текст в заголовке колонки отчета необходимо сориентировать "на 90", в ячейках же отчета оставить "на 0". Гуглопоиск отсылает к веткам различных форумов, где всё сводится к "нужно делать самостоятельный макет". Оказалось необязательно.
- Получить ссылку
- Электронная почта
- Другие приложения
Расширение конфигурации + Связанные документы (Режим совместимости 8.3.12)
Вводная: реализовать ввод Заказа поставщику на основании Заказа на Ремонт. решить через расширения конфигурации. Хочу обратить ваше внимание, не нужно добавлять в расширение критерий отбора, для 8.3.12 нам не доступно добавление\изменение состава критерия. Более того может зависать конфигуратор (столкнулся с последней версией 8.3.14 + ERP) Разработку рекомендую вести с применением хранилища и для расширения. Иначе устанете потом выгребать чего лишнего включили в расширение при добавлении таких или схожих обектов с составными типами и подобное. Все текущие типовые решения сейчас идут в режиме совместимости 8.3.12, в прочем и для 8.3.14 (и даже 8.3.15 ничего не поменялось). Что нам нужно было бы сделать при отказе от поддержки: 1) добавить наш документ в Критерий отбора (состав, реквизиты); 2) в раздел Ввод на основании целевого документа. И что с целью сохранения поддержки. Как сделать это же для расширения: 1) Добавить реквизит расширения Документы.ЗаказПоставщику._За
Читайте также: