1с форма списка скрыть колонку программно

Как программно отключить колонку справочника на форме выбора?

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Отбор в форме выбора справочника
Есть документ, в нем есть поля контрагент и договор контрагента. Хочу сделать следующее, чтоб при.

Отбор на форме выбора справочника
Добрый день. В программе присутствуют справочники с заданной иерархией и владельцами. На форме.

Не устанавливается отбор в форме выбора справочника
пишу &НаКлиенте Процедура ТабличнаяЧасть1УслугаНачалоВыбора(Элемент, ДанныеВыбора.

Выбрать элемент справочника на форме выбора
У меня есть документ, я из него открываю форму выбора справочника, при выборе элемента, т.е. при.

Добавлено через 1 минуту

tickОтбор данных в форме выбора справочника для заполнения реквизита ТЧ документа
Здравствуйте! Не могу решить такую задачу. Платформа 8.2. Есть справочник ВидРаботыПоИсправлению.

tickКак программно добавить колонку в access?
Всем снова здравствуйте. Облазив форум так и не смог найти решение своей задачи, подскажите.

Как закрасить колонку диаграммы программно
Здравствуйте Всем. У меня одан задача где имеется два sheet, в одном данные а в другом.

Источник

Заметки из Зазеркалья

Реализовано в версии 8.3.10.2168.

Как вы знаете, динамический список удобен и полезен для быстрого показа больших списков. Он довольно гибок, позволяет вам изменять стандартный запрос, и даже создавать собственный сложный запрос. Благодаря этому у вас есть возможность выводить в списке разные дополнительные данные, связанные с основными данными списка.

Однако такая универсальность имеет и оборотную сторону. Желание «показать сразу всё» может приводить вас к значительному усложнению запроса. В результате вы будете получать неэффективные планы выполнения и, как результат, снижение производительности при отображении и пролистывании списка.

Кроме этого есть ряд прикладных задач, в которых алгоритм отбора и оформления данных списка довольно сложен. В этих случаях возможностей произвольного запроса и условного оформления просто не хватает. Хочется иметь более «свободный» и более «точный» инструмент, который позволит сделать «что угодно» и «только там, где нужно».

Событие ПриПолученииДанныхНаСервере

Специально для этих целей мы реализовали новый обработчик ПриПолученииДанныхНаСервере(). Он добавлен в расширение таблицы, отображающей динамический список.

Этот обработчик вызывается на сервере после того, как динамический список получил и оформил для отображения очередную порцию данных.

Важная особенность заключается в том, что в этом обработчике недоступен контекст формы. Вы можете оперировать только коллекцией тех строк списка, которые получены из базы, уже отобраны и оформлены в соответствии с настройками динамического списка.

Вы можете изменить данные, находящиеся в этих строках, или применить к ячейкам собственное оформление. Доступны такие возможности оформления как ЦветФона, ЦветТекста, Шрифт, ГоризонтальноеПоложение, Видимость, Доступность, Отображать, Текст и Формат.

Также, при необходимости, вы можете посмотреть и проанализировать копию полных настроек динамического списка. Но изменить настройки вы не сможете.

Простейший сценарий использования

Проще всего понять назначение этого обработчика на примере. Пример заключается в том, чтобы в списке товаров показать их остатки из регистра накопления. Количество меньше некоторого значения выделить красным цветом.

До сих пор эта задача решалась левым соединением в запросе динамического списка, и условным оформлением списка, устанавливаемым в конфигураторе.

Теперь она решается так. Стандартный запрос списка не усложняется, в него добавляется только фиктивное поле Остаток.

c3ac98958b5e594af21ccb52fe7994c6

А в обработчике ПриПолученииДанныхНаСервере() только для полученных строк вычисляются остатки. И тут же маленькие остатки выделяются красным.

736dad82bd8a330bd8269db6e181192b

Здесь, методом ПолучитьКлючи(), из коллекции строк динамического списка вы получаете их ключи (ссылки), и передаёте эти ключи в запрос остатков.

Затем, при обходе результатов запроса, вы получаете нужные строки по ключу, в колонку Остаток помещаете значение, и устанавливаете оформление этого поля, если нужно.

В результате пользователь видит следующий список:

22b3c4b0df0f85233e72d21dc04798bc

В чём преимущество такого варианта?

Во-первых, запрос списка остаётся простым. Или он не остаётся простым, но количество соединений в нём уменьшается. А это значит, что для него, с большой долей вероятности, будет построен хороший план.

Во-вторых, получение остатков в обработчике будет выполняться только один раз, в то время как запрос списка может быть выполнен несколько раз (в зависимости от настроек списка и сценария листания).

И, в-третьих, новый обработчик выполняется уже после того, как основные данные получены из базы и прошли проверку прав. Это значит, что в некоторых сценариях получение связанных данных в обработчике можно выполнять в привилегированном режиме, без проверки прав. Это ускоряет работу списка.

Ограничения на изменяемые и добавляемые поля

Тот факт, что в обработчике вы можете изменить значения полей списка, несет в себе особенность, которую нужно всегда учитывать.

Если не предпринять дополнительных мер, то пользователь может быть сильно удивлён результатами группировки, сортировки или отбора (в том числе и поиска) по тем полям, которые вы изменили. Ведь эти действия будут выполняться по исходным данным, получаемым запросом, а не по тем данным, которые видит пользователь.

Поэтому в тех случаях, когда вы изменяете значения полей, не забывайте исключить их из группировки, порядка и отбора. Специально для этого мы реализовали три новых метода.

e8e5ba4365078a1e51ef9d55fc7797b6

Кроме этого, возможно, в некоторых сценариях имеет смысл визуально выделить такие колонки в таблице, чтобы пользователи видели, что эти колонки «особенные», не такие, как все.

Источник

Отбор на формах и отключение видимости ненужных групп на управляемой форме в 1С

В данной статье я хочу рассказать о отборе на формах в режимах Предприятия и Конфигуратора и отключение видимости ненужных групп на управляемой форме в 1С.

Видимостью элементов можно управлять программно через свойство Видимость при открытии формы:

В случае если нужно скрыть некоторые строки списка с определенным значением нужно работать через отбор.

Открыть форму с отбором можно для любых объектов и несколькими способами в режиме 1С:Конфигуратор, рассмотрим на примере регистра накопления “Оплата счетов”:

Первый способ работает при открытии формы.

У формы есть параметр Отбор, который является структурой, где:

Ключ структуры – имя параметра,

Значение – значение параметра формы или как в данном случае предопределенное значение, как в данном случае. Если отбор берется со значением элемента формы, то имя элемента должно совпадать с именем параметра структуры.

Если нужно открыть форму без отбора, но скрыть несколько элементов можно это реализовать следующим образом:

Второй способ заключается в добавлении кода в обработчике события формы списка оплата счетов ПриСозданииНаСервере

Для этого в нужной процедуре открываем форму

и уже в модуле открываемой формы

Данный метод имеет больше возможностей для отбора по сравнению с предыдущим, потому, что ВидСравнения у отбора можно задавать не только Равно, но и Больше, Меньше и т.п.

ВидСравненияКомпоновкиДанных определяет набор видов сравнения, которые могут быть использованы в условиях отбора. Но стоит учитывать, что на мобильной платформе игнорируются следующие виды сравнения: НачинаетсяС, НеНачинаетсяС, СоответствуетШаблону, НеСоответствуетШаблону.

РежимОтображенияЭлементаНастройкиКомпоновкиДанных определяет режим отображения.

Используется при отображении списка в зависимости от режима отображения табличного поля.

Кроме того, если элемент принадлежит пользовательскому отбору, свойство используется при формировании начального состава пользовательского отбора и при применении пользовательского отбора к базовому.

Если использовать такой способ – то форма будет открываться всегда с таким отбором – независимо от места вызова формы.

РежимОтображенияЭлементаНастройкиКомпоновкиДанных содержит режимы отображения элемента настройки компоновки данных:

Авто – значение режима нужно получать из основных настроек,

БыстрыйДоступ – этот элемент настройки предназначен для режима быстрого доступа. Он будет доступен в табличном поле, если у расширения табличного поля отбора свойство РежимОтображения будет установлено в значение Все или БыстрыйДоступ,

Недоступный – этот элемент настройки не предназначен для изменения в составе пользовательской настройки,

Обычный – указывает на обычный режим отображения. Он будет доступен в табличном поле, если у расширения табличного поля отбора, свойство РежимОтображения будет установлено в значение Все.

Третий способ – возможность поместить условие отбора в произвольный запрос, выбирающий данные для динамического списка.

Для этого в форме списка создадим команду и соответствующую ей кнопку Оплата счетов.

image1

В обработчике команды пишем следующее:

ТекущаяСтрока – это строка динамического списка, на которую будет установлен курсор после открытия формы. В качестве значения для параметра используются значения ссылок на объекты, которые содержит главная таблица динамического списка.

В результате мы получаем форму списка оплаченных счетов и с отбором по параметру ФильтрПоНДС, который передаем на форму, где значение параметра – это ссылка на текущий элемент в списке счетов и открываем форму с этим параметром.

Затем создадим форму списка оплаченных счетов и создадим реквизит формы ФильтрПоНДС, который мы будем использовать в качестве параметра формы при ее открытии. Теперь откроем палитру свойств основного реквизита формы Счета. Установим флаг ПроизвольныйЗапрос и в строке Настройка списка нажмем Открыть.

image2

Создаем запрос со следующим текстом запроса, где указываем передаваемый параметр, по которому делаем отбор:

Имя параметра в запросе может отличаться, так как сама передача данных будет в процедуре ПриОткрытии().
В этом обработчике событий формы списка внесем код установки значения параметра запроса ФильтрПоНДС,

“ФильтрПоТовару” – параметр из запроса динамического списка,

ФильтрПоТовару – ссылка на текущую строку в списке оплата счетов,

Список.Параметры – это список параметров запроса динамического списка для реквизита Счета,

УстановитьЗначениеПараметра – устанавливает значение параметра и включает свойство Использование. Если параметр с указанным именем не найден, будет вызвано исключение.

Таким образом по нажатию на кнопку Оплата счетов в форме списка,результатом на форме будет список счетов с отбором по Ставке НДС с тем же значением, что и в выделенной в строке в списке счетов.

Настройка отбора в режиме 1С:Предприятие

В режиме Предприятия также можно настроить отбор. Пользователь может самостоятельно настроить состав и расположение колонок в списке, отборы документов и цвет фона строк и шрифта по определенным условиям.

Рассмотрим настройку списка документов на примере регистра накопления “Книга продаж”.

Для настройки состава и расположения колонок: в правой верхней части списка документов по кнопке “Еще” выберите “Настроить список”, а также есть кнопка “Изменить форму”

В окне “Настройка формы” по кнопке “Еще”можно изменить расположение колонок по кнопкам с синими стрелочками “вверх-вниз” (“вверх” – колонка сдвинется вверх, “вниз” – колонка сдвинется вправо), удалить колонку (по кнопке с красным крестиком), скрыть или установить видимость колонки.

image5

Для настройки отборов нужных документов: на панели настроек списка документов доступны отборы по: активности, дате оплаты, организации, ставка НДС, сумма НДС, счет фактура и т. д.

image6

Если нет нужного фильтра, можно настроить свой: по кнопке “Еще” на форме списка выберите “Настроить список”, на закладке “Отбор” настройте отбор по нужному полю

Источник

СКД: скрываем нужные группы (блоки) по требованию пользователя

Цель: реализовать возможность скрывать блок колонок пользователем в отчёте, как показано на рисунках:

107bcc70074f82930effc1d03af231b4

99499c7fdc064e5f3333f7ea6f20b555

Отчёт выполнен на базе схемы компоновки данных (СКД).

Написан запрос, для выборки нужных данных. Он индивидуален, поэтому его нет смысла представлять.

Описание самого «увлекательного» процесса настройки СКД представлено ниже.

В параметры СКД вынесены необходимые параметры:

429019133f87bdab681014dc94449b68

Это показана на рисунке:

f118d50c754f02d524c8093385cc606c

Зададим первоначальные значения этих параметров. В нашем случае, значение принимает следующий вид: «Ложь».

В детальных записях (вкладка Выбранные поля) выведены колонки отчёта и созданы группы, которые, в зависимости от выбранных пользователем параметров, будут выводиться в отчёт:

9b0cde833abf345e0680b9e3af3e21f3

Не забываем, что эти параметры необходимо включить в пользовательские настройки:

2f1a8677fdff01efdef091a22940dbc2

На этом «увлекательный» процесс закончен. Перейдём к написанию кода для реализации скрытия нужных блоков (полный текст процедур можно найти после описания).

Достаточно много времени заняла отладка кода, чтобы попасть в нужный блок и установить свойство «Использование».
Все манипуляции будут проходить в модуле объекта отчёта, в процедуре «ПриКомпоновкеРезультата».

Итак, что мы делаем:

1) получаем пользовательские настройки элементов и структуры отчёта

2) создаём параметры видимости колонок

3) для удобства отладки вынесли названия выводимых заголовков (блоков)

4) перебираем параметры отчёта, получаем текущие значения видимости и обращаемся именно к нужному блоку отчёта с детальными записями. Если выбираемый блок относится к группе с заголовком «Расшифровки», а именно в этом блоке содержатся скрываемые колонки, то применяем процедуру «ОтображениеБлокаКолонок» для манипуляций с видимостью

5) манипуляции с видимостью заключаются в том, что в зависимости от установленного значения параметра видимости, свойство «Использование» принимает необходимое значение.

Источник

Отображение колонок в динамическом списке по умолчанию

Потребовалось в одной типовой конфигурации доработать динамический список (форма списка справочника). В процессе обнаружилось, что в режиме конфигуратора этот список имеет множество колонок, а в режиме пользователя по умолчанию большинство колонок скрыто, но их можно отобразить через настройки формы. Однако, найти место, где реализована эта настройка, не удалось. В конце функции ПриСозданииНаСервере все колонки имеют свойство «Видимость» в значении Истина. Прошу подсказать, каким образом это настраивается.

А не подскажете еще, можно ли этим свойством управлять программно?

«Для управления видимостью элементов формы существуют два свойства: Видимость и Пользовательская видимость. Первое свойство можно изменять как в редакторе формы (в конфигураторе), так и программно. Свойство Пользовательская видимость настраивается только в конфигураторе и задает начальную видимость элемента формы в разрезе ролей. Результирующая видимость элемента формы образуется сложением «по И» свойств Видимость и Пользовательская видимость для конкретного пользователя. Кроме того, изменяя видимость элементов формы в диалоге Настройка формы, пользователь фактически выполняет изменение свойства Пользовательская видимость конкретного элемента формы.

Т.е. пользовательская видимость программно не настраивается ни для каких элементов формы»

Думала уже закрывать тему, но нет. Вопросов стало еще больше.

1. Дорабатываю динамический список. Добавляю в запросе ДС своё поле, создаю в конфигураторе колонку. Она отображается у пользователя, НО в настройках формы ее нет. Если в настройках формы нажать «Установить стандартные настройки» эта колонка исчезает из списка.

Если интересно, я дорабатываю ЗУП 3.0, форму списка справочника «Сотрудники».

Источник

Понравилась статья? Поделить с друзьями:
Добавить комментарий
  • Как сделать успешный бизнес на ритуальных услугах
  • Выездной кейтеринг в России
  • Риски бизнеса: без чего не обойтись на пути к успеху
  • 1с форма состав команд
  • 1с форма редактирование списка значений