1с зафиксировать колонку в отчете
Добрый день.
Помогите пожалуйста, как можно зафиксировать область просмотра, например, у справочника контрагентов, чтобы при просмотре других колонок наименование контрагента было неподвижным на экране.
Как зафиксировать столбец в Excel
Здравствуйте как зафиксировать столбец в Excel? Чтобы он не двигался когда я исполльзую линейку.
Закрепить элемент из справочника
Задание. Разработать конфигурацию "Учет тем дипломных проектов". Кафедра осуществляет запрепление.
1c7.7 ТЗ, как скопировать строку?
обхожу ТЗ в цикле в какой-то момент получаю строку, значения которой мне нужно продублировать, т.е.
Спасибо за отклик.
У формы ТАБЛИЧНОЙ ЧАСТИ есть панель РЕДАКТОР ТАБЛИЦ, там можно закрепить, т.е. можно "заморозить" колонку в табличной части документа или справочника, а для ТАБЛИЦЫ ЗНАЧЕНИЙ (У формы списка) (1с 7.7) такого нет. Как вообще можно выйти из положения.
По этому вопросу в инете есть только 1 ссылка: - это тоже не панацея.
Вот модуль для формы списка(справочник контрагента):
Это 7,7, я с ней вообще не дружу, сначала не прочитал, и дал код с 8,1
Но на 8,1 я делал бы через видимось и фиксацию, какие возможности есть в 7,7, я незнаю.
1c7. как обходить значения ТЗ
В восьмерке есть очень удобный цикл для обхода таблиц значения - для каждого. Подскажите.
Закрепить столбец в ТЧ документа
Возможно ли в табличной части документа закрепить первый столбец, чтобы при переходе по столбцам.
Зафиксировать столбец DbGrid
Здравствуйте! Подскажите, пожалуйста, пути реализации закрепления столбца в дбгрид (как в экселе.
1c7.7 Справочник.Владелец - как уснановить?
Народ, подскажите плиз как правильно задавать владельца. сделал так: Договор =.
Ленточная форма закрепить столбец
Добрый день, подскажите есть ли возможность закрепить столбец в ленточной форме как в Excell.
Добавляем дополнительное поле в документ-список
Решим следующую задачу: в списке документов "Заказы поставщику" нам необходимо добавить новую колонку "Остаток по заказу", которая будет отображать остаток для документа в регистре накопления "Заказы поставщику" на текущую дату.
Реализовать это нужно в конфигурации "Управление производственным предприятием" версии 1.3.
Неверный путь
Рассмотрим самый "очевидный" путь, он же самый простой. Большинство начинающих программистов делают именно так. У табличного поля формы, которое привязано к реквизиту формы с типом "ДокументСписок" есть событие "ПриВыводеСтроки". В нем напишем Запрос к остаткам по заказу для выводимой строки и полученный результат присвоим ячейке текущей строки в колонке "Остаток". Вот так будет выглядеть код обработчика события "ПриВыводеСтроки":
Дело сделано! Задача решена! Но! Событие "ПриВыводеСтроки" вызывается для каждой строки отдельно. То есть, если в список выводится 30 строк, то запрос будет формироваться столько же раз! Может есть другой путь?
Оптимальное решение
Другой путь есть. Оптимальное решение кроется в использовании события "ПриПолученииДанных". Это событие вызывается один раз, когда происходит получение порции данных списком документов. В контексте этого события нам доступны данные, которые получила платформа. Поэтому мы можем их обработать одним запросом. Вот программный код обработчика "ПриПолученииДанных" для решения этой задачи:
Результат работы такой же, как и для варианта с использованием события "ПриВыводеСтроки", но есть одно НО.
Обращайте внимание
Самое главное отличие заключается в скорости работы. Вот сравнение времени выполнения для обоих вариантов решения задачи:
При использовании "ПриВыводеСтроки" время формирования списка выполняется дольше практически в четыре раза! Не смотря на это, не рекомендую добавлять подобные поля в список документов, поскольку, в любом случае, это потребует дополнительных ресурсов серверной машины. Лучше используйте отчеты.
also Что-то вроде FAQ Отзывов (7) В закладки
Для того, чтобы зафиксировать шапку в скд, необходимо обрабатывать табличный документ. В инструментах скд этот механизм отсутствует.
Код вывода с фиксацией шапки:
Для того, чтобы зафиксировать колонку по горизонтали, можно просто выполнить следующее:
UPD В 1с 8.2 в отчете у модуля объекта появился метод ПриКомпоновкеРезультата(), у которого есть параметр ДокументРезультат – табдок, который генерирует СКД.
По сути в модуле объекта можно прописать следующее:
Если программировать на 8.2, то можно реализовать проще.
В 1с 8.2 в отчете у модуля объекта появился метод ПриКомпоновкеРезультата(), у которого есть параметр ДокументРезультат – табдок, который генерирует СКД.
По сути в модуле объекта можно прописать следующее:
Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)
ДокументРезультат.ФиксацияСверху = 8;
КонецПроцедуры
Спасибо! Добавлю в публикацию
Фиксацию в 8.1 также можно добавить через процедуру ОбновлениеОтображения(), правда смотрел только на небольших отчетах.
Мир Вам! У меня не получилось сделать вашим кодом, а получилось вот таким:
КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
МакетКомпоновки = КомпоновщикМакета.Выполнить(ОтчетОбъект.СхемаКомпоновкиДанных, ОтчетОбъект.КомпоновщикНастроек.Настройки, ДанныеРасшифровки);
//Определение Процессора компоновки
ПроцессорКомпоновки = Новый ПроцессорКомпоновкиДанных;
ПроцессорКомпоновки.Инициализировать(МакетКомпоновки);
//Определение Процессора вывода
ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
ПроцессорВывода.УстановитьДокумент(ЭлементыФормы.Результат);
//Получение доп макета для шапки и подвала
Макет = ОтчетОбъект.ПолучитьМакет(“Макет”);
//Вывод шапки
Область = Макет.ПолучитьОбласть(“Заголовок”);
//Область.Параметры.ДатаОтчета = Формат(ТекущаяДата(), “ДФ=dd.MM.yyyy”);
//Область.Параметры.Организация = организация;
//Область.Параметры.Месяц = Формат(Период, “ДФ=’MMММ yyyy'”);
ЭлементыФормы.Результат.Вывести(Область);
//Вывод таблицы
ПроцессорВывода.Вывести(процессорКомпоновки);
Вообще-то в 8.1 тоже можно поступить гораздо проще. В модуле формы отчета прописать процедуру
Процедура ОбновлениеОтображения()
ЭлементыФормы.Результат.ФиксацияСверху=1;
КонецПроцедуры
Только не могу понять что попадает сюда: ЭлементРезультата.ЗначенияПараметров
Не работает (по крайней мере на 8.1).
Не определён объект ПроцессорКомпоновкиДанных.
Для того чтобы заработало надо вверху добавить следующее:
—————————————————————————————————————
КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
МакетКомпоновки = КомпоновщикМакета.Выполнить(
СхемаКомпоновкиДанных,
КомпоновщикНастроек.Настройки );
ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных;
ПроцессорКомпоновкиДанных.Инициализировать( МакетКомпоновки );
—————————————————————————————————————
И не понятно зачем в “Результат.ФиксацияСверху = Результат.ВысотаТаблицы – 1;” минус один, должно быть без него.
Вопрос:
Можно ли зафиксировать несколько колонок в таблице так, чтобы при горизонтальной прокрутке они всегда были на экране, а прокручивались только остальные колонки?
Ответ:
Для этого у табличного поля существует свойство Фиксация слева. В нем можно указать количество колонок в начале таблицы, которые не будут прокручиваться.
Также есть свойство Фиксация справа, которое работает аналогичным образом.
Похожие FAQ
Еще в этой же категории
Как обновить динамический список или реквизит на форме клиента? 22
Если вы, открыв форму справочника или документа, выполнили некоторое действие, код который должен изменить состояние данных в динамических списках или значение реквизита. Данные изменены, но в открытой форме осталось все как было, можно конечно закр Динамический список ~ Как на управляемой форме разместить список регистра сведений с отбором? 18
Решение рассмотрено для элемента справочника (Контрагент и регистр КонтактнаяИнформация) 1. Создание реквизита: Добавляем новый реквизит формы (. не путать с реквизитом справочника . ) с типом " ДинамическийСписок" В поле " Основная табли Как установить параметр динамического списка? 16
Когда используете для вывода данных динамический список и произвольный запрос, то бывают ситуации когда надо указать параметр используемый в этом запросе. Ниже пример вывода данных регистра сведений в карточке клиента Для вывода используется исп Форма ~ Программное создание таблицы значений с условным оформлением 12
Как создать на форме таблицу и сделать для нее подсветку содержимого колонки в строке по условию? Итак для начала нам надо добавить реквизиты в форму. Для этого у нас есть метод: ИзменитьРеквизиты(). Перед тем как его использовать мы сформируем ма Поле выбора ~ Заполнение списка значений в элементе поле выбора на форме 10
//Заполнение списка перебором данных // Элемент формы МетаданныеВыбор имеет тип - Произвольный, Использование - Режим выбора из Списка, кнопка списка Для Каждого Метаданное из Метаданные.РегламентныеЗадания Цикл ЭлементыФормы.МетаданныеВыбор.Спи Посмотреть все в категории Работа с Формой (Диалог) и её элементами
Как заполнить табличную часть формы программно? 8
Нужно по кнопке Заполнить - сформировать данные для заполнения табличных частей и заполнить их. Форма имеет вид: Рядом с кнопкой Записать и закрыть добавлена кнопка Заполнить документ , код ее команды: // Код заполнения ТЧ НаСервере П 17 правил для составления оптимального ЗАПРОСа к данным базы 1С 44
Для формирования и выполнения запросов к таблицам базы данных в платформе 1С используется специальный объект языка программирования Запрос . Создается этот объект вызовом конструкции Новый Запрос . Запрос удобно использовать, когда требуется получ 1C и Google Maps 21
была поставлена задача отображения на географической карте медицинских учреждений. После обзора предлагаемых решений был выбран сервис google. Но так же подобного рода подход будет работать и с картами сервиса yandex. Во время решения задачи было реш 1С 8.x : Как убрать лидирующие нули в номере Документа (вариант2) 0
Скопировать строку с номером, с лидирующими нулями, в числовом поле (с форматом без групп, без группировки), и вернуть(скопировать) обратно в строковом поле с номером. Возвращает без нулей. Google maps : вывод точек на карту и режим панорамы 7
В отличие от яндекс карт в GMaps можно использовать панорамы - за что им большой плюс! Надеюсь в яндексе прочитают этот пост и тоже когда-нибудь это сделают! Для клиента нужно было сделать вывод объектов на карту С возможностью просмотра панора Посмотреть все результаты поиска похожих
Еще в этой же категории
Вывод картинки (изображения) на печать, в макет (табличный документ) 32
// 1-й вариант //Как вывести картинку в табличный документ? ТабДок = Новый ТабличныйДокумент; Макет = ОбработкаОбъект.ПолучитьМакет(" Макет" ); ОбластьКартинки = Макет.ПолучитьОбласть(" ОбластьСКартинкой" ); Картинка = Новый Картинка(ПутьККа Вывести табличный документ в PDF 18
Данный пример работает на платформе выше 8.2.13 Макет = ПолучитьМакет(" Макет" ); ОбластьШапка = Макет.ПолучитьОбласть(" Шапка" ); ТабДок = Новый ТабличныйДокумент; ОбластьШапка.Параметры.НомерДок = Номер; ОбластьШапка.Параметры.ДатаДок = Как программно изменить текст, цвет, фон ячейки или области табличного документа? 7
Ниже приведено несколько полезных шаблонов кода по работе с табличным документом: //Пример получения текста ячейки ПолеТабДок = ЭлементыФормы.тдПолеТабличногоДокумента; ПолеТабДок.Область("R1C2").Текст = спрНоменклатура.Наименование; ПолеТабДок Как в отобразить картинку в табличной части 7
В табличной части есть документы заявки от покупателя, нам нужно добавить картинку для отображения статуса документов заявка - проведен , не проведен, помечен на удаление. //Отобразим картинку Процедура СписокПриВыводеСтроки(Элемент, Оформление Вывод колонтитулов программно ВерхнийКолонтитул, НижнийКолонтитул 6
Колонтитул является специальным текстом, выводимым вверху или внизу каждой страницы при выводе документа на печать. В тексте колонтитула можно использовать следующие управляющие конструкции: > ( >) - при печати в данном месте будет выведен номер ст Посмотреть все в категории Табличный документ
Читайте также: