IE 2017

Форма вывода справочника с настройкой колонок

Программирование - Практика программирования

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

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

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

Для внедрения формы в состав конкретного справочника в конфигурации достаточно:

  1. Взять формы из обработки и скопипастить в справочник
  2. Поменять на основной форме вручную тип списка справочника.

Никаких других изменений не требуется.

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

Настройки колонок индивидуальны для каждого пользователя и для каждого справочника.

Качайте, используйте по своему усмотрению.

Ничто не мешает на базе этой обработки сделать универсальную форму вывода любого справочника.

Понравилось/не понравилось? - Оставляем комментарий, ставим плюсик/минусик.

 

Скачать файлы

Наименование Файл Версия Размер
Список справочника
.1238467003 15,96Kb
12.10.14
528
.1238467003 15,96Kb 528 Скачать бесплатно

См. также

Комментарии
1. Александр Окулов (PowerBoy) 2581 31.03.09 07:05 Сейчас в теме
Смысла в данной обработке не понял. В любом списке можно настроить видимость колонок.
2. Kayen (kayen) 31.03.09 10:07 Сейчас в теме
Но в списке нельзя отключить видимость групп... И в списке можно выбирать только колонки определённые в конфигураторе...
3. Александр Окулов (PowerBoy) 2581 31.03.09 10:47 Сейчас в теме
(2) ... зачем давать пользователю возможность править любые реквизиты справочника?
4. Kayen (kayen) 31.03.09 10:52 Сейчас в теме
(3) управлять видимостью колонок списка справочника очень удобно.... в 8.2 вообще все списки компоновкой данных сделаны....
5. Олег Пономаренко (O-Planet) 6707 31.03.09 14:55 Сейчас в теме
В 8.1 к сожалению нет такого. Как было сказано, в список на уровне пользователя стандартными средствами можно вывести только те колонки, которые являются реквизитами справочника. У меня - пусть и не компановка данных, но достать значение с любого уровня вложенности дает возможность.
6. Олег Пономаренко (O-Planet) 6707 31.03.09 15:33 Сейчас в теме
Кстати, задумался... Ни что не мешает схему немного доработать и сделать возможность привязки произвольних колонок, связанных с элементами справочника некоторым запросом...
7. Олег Пономаренко (O-Planet) 6707 31.03.09 15:35 Сейчас в теме
Конечно, это все еще не будет компановщик, но привязать, скажем, контактную информацию к конграгенту в списке можно будет...
8. Роман Ершов (MRAK) 701 31.03.09 16:06 Сейчас в теме
Плюс. но есть ошибка, возникает при включении в форму колонок неограниченной длины
9. Роман Ершов (MRAK) 701 31.03.09 16:16 Сейчас в теме
{Форма.Форма(101)}: Ошибка при вызове метода контекста (Выполнить): {(2, 2)}: Несовместимые типы "ЕСТЬNULL"
<<?>>ЕстьNULL(Справочник.НаименованиеПолное,НЕОПРЕДЕЛЕНО) КАК Реквизит
Рез=З.Выполнить().Выбрать();
10. Олег Пономаренко (O-Planet) 6707 31.03.09 16:32 Сейчас в теме
Да... Над этим подумать надо. Запросом их нужно через Выразить выводить
11. Сергей necropunk (necropunk) 5 02.04.09 08:51 Сейчас в теме
В принципе, интересно, только с утра, с похмелья, сразу не разобрался что-то... Позже дошло, но мне кажется, что каждый раз менять вид справочника в конфигураторе - это как-то не очень... Ну и ошибка описанная выше имеет место быть...
12. Андрей (akat65) 02.04.09 13:21 Сейчас в теме
обработка не открылась ((
ошибка для ЗУП 2.5.13.5 (8.1.13.37)
{Форма.Форма(107)}: Значение не является значением объектного типа (Имя)
ИмяСправочника=Метаданные.НайтиПоТипу(ЭлементыФормы.СписокСправочника.ТипЗначения.Типы()[0]).Имя;
13. Андрей (akat65) 02.04.09 13:30 Сейчас в теме
+12, но открылась на БУХии и Торге (универсально...)
14. Андрей (akat65) 02.04.09 15:31 Сейчас в теме
+12 только справочник НОМЕНКЛАТУРА
15. Андрей Скляров (coder1cv8) 3305 02.04.09 17:33 Сейчас в теме
Хм... Действительно не понятно с какой целью переписывать механизм, который заложен в платформу?... )
16. Олег Пономаренко (O-Planet) 6707 02.04.09 20:51 Сейчас в теме
(15) Какой механизм заложен в платформу?
17. Сергей Троицкий (tsd) 147 02.04.09 21:24 Сейчас в теме
(16) Задай на этапе конфигурирования в список все реквизиты, которые могут быть доступны, задай некое умолчание, а дальше пусть пользователи сами себе постраивают.
Кстати, в справочнике могут присутствовать служебные реквизиты к которым пользователь доступа не должен иметь. Как такой вопрос разрулить?
18. Олег Пономаренко (O-Planet) 6707 02.04.09 21:58 Сейчас в теме
(17) В том-то и беда, что ВСЕ реквизиты задать на этапе конфигурирования, даже для моего примера - не просто, потому что в реквизитах могут присутствовать сылки на элементы других справочников, у которых тоже есть реквизиты, и среди них - тоже ссылки ... с реквизитами и т.д. Моя разработка позволяет не заморачиваться этим вопросом на этапе конфигурирования, а просто дает возможность клиенту самому выбирать, что он хочет видеть в списке (данные с какого уровня вложенности).

По поводу второго вопроса - привязку спец инфы можно подумать. Мне кажется, вполне реальным добавить в дерево возможность получать инфу из 1) регитров сведений, в атрибутах которых присутствует ссылка на справочник 2) регистров остатков с тем же условием отбора. Тут - свобода творчества.
19. Андрей Скляров (coder1cv8) 3305 02.04.09 22:37 Сейчас в теме
20. Олег Пономаренко (O-Planet) 6707 02.04.09 23:39 Сейчас в теме
(19) Я по этому поводу отписался уже в 18
21. Сергей Троицкий (tsd) 147 03.04.09 18:53 Сейчас в теме
(18) это все понятно, вопрос в том, а зачем? :)
Теоретически кое-где использовать можно, потому и плюс поставил.

Глубокую выборку реквизитов делать не советую, подтормаживать будет
22. Олег Пономаренко (O-Planet) 6707 03.04.09 21:05 Сейчас в теме
23. Василий Демидов (Душелов) 3811 03.04.09 21:16 Сейчас в теме
24. Олег Пономаренко (O-Planet) 6707 03.04.09 21:34 Сейчас в теме
(23) Он реально отжог во всех топиках... Кто-то решил дискредитировать систему рейтингования таким образом? Вот как давно нужно было подумать, чтобы больше 3-х плюсов в минуту ставить было бы нельзя...
25. Alexandr Maloi (maloi_a) 06.04.09 08:43 Сейчас в теме
Мелкие замечания:
1. Нет возможности сортировки по колонкам даже по индексированным реквизитам.
2. Отбор по значению в колонке тоже не работает.
3. Нельзя вывести дополнительные вычисляемые и заданные в конфигураторе колонки как они заданы.
4. Нет поиска в колонке по подстроке.
26. Геннадий Пиганов (Totoro) 524 06.04.09 14:16 Сейчас в теме
(0) Идея хорошая. Думаю, если оптимизировать в один запрос, то будет удобно.
27. Олег Пономаренко (O-Planet) 6707 06.04.09 14:24 Сейчас в теме
(26) В своем проекте я так и делаю. Вывожу не список справочника, а формирую таблицу значений одним запросом и вывожу. Кстати, появляются возможности отбора и сортировки. В общем модуме лежит процедурка, которая этот один запрос формирует и выводит ТЗ.
28. Геннадий Пиганов (Totoro) 524 06.04.09 14:55 Сейчас в теме
(27) Если нужент отбор или сложная сортировка, то конечно придется общий запрос использовать (хотя когда справочник перевалит через несколько тысяч это будет раздражать - проверено на ОС). Но если этим не заморачиваться, то можно выводит справочник список с основными полями, а потом доп. поля выводить как вычисляемые колонки. Если использовать ПриПолученииДанных (нужный запрос получить вначале через построитель или сформировать программно) и делать запрос только к нужным полям (с отбором по ссылкам) - получиться очень шустренько и достаточно универсально.
29. Олег Пономаренко (O-Planet) 6707 06.04.09 15:01 Сейчас в теме
(28) У меня сейчас примерно так, но не использую ПриПолученииДанных. Использую ПриВыводеСтроки. В ПриПолученииДанных можно сразу формировать запрос по всему списку, а потом пользоваться его результатами? Посмотрю.
30. Геннадий Пиганов (Totoro) 524 06.04.09 15:07 Сейчас в теме
(29) Да. Наилучший способ (как мне кажется):
1) Обходом собрать массив ссылок и заполнить соответствие (Ссылка->ОформлениеСтроки).
2) Получить результат запроса по отобранным ссылкам.
3) Выборкой получая ссылку и из соответствия (заполненного ранее) получение по ней ОформлениеСтроки.
4) Заполнение ОформлениеСтроки данными выборки
Оставьте свое сообщение