Получение списка реквизитов формы

27.03.10

Разработка - Инструментарий разработчика

Все в сабже.

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

Наименование Файл Версия Размер
Получение списка реквизитов формы
.ert 20,50Kb
116
.ert 20,50Kb 116 Скачать

    Получение списка реквизитов формы - тема, поднимающаяся на форумах с постоянной периодичностью, не нова, и давно решена с пом. богатых возможностей formex. Если есть возможность - используйте эту компоненту.
    Рассмотренные в этой публикации методы получения реквизитов, - их можно назвать штатными с точки зрения не использования ВК, не гарантируют полноту данных, и поэтому отнесены мной к разряду занимательного программирования.
    Лучше всего получилось пропарсить файл внешнего отчета и вытащить все реквизиты формы, которые там записаны, вместе с их свойствами (ограничился типом реквизита и флажком его неопределенности).
    Встроенные формы конфигурации, однако, так не пропарсишь. Тут удалось: определить что это за форма, тип, вид объекта, и по ним определить все привязанные реквизиты (например, "ДатаДок" для документа, "ВремяДок", для формы  журнала документа, и.т.д.), и те из них, которые присутствуют на форме (через попытку). Оставщиеся реквизиты формы: таблицы, списки, реквизиты диалога... просто обойдем эмулированием нажатия клавиши {TAB} . Конечно, получилось не просто, - обойти слои, закладки, табличные многореквизитные формы списка, но все же - это получилось.
        В итоге - набор универсальных функций:
глРеквизитыДиалогаФормыВнешнегоОтчета()  - Реквизиты из файла.   Определение реквизитов формы по содержимому файла внешнего отчета
глНачатьПоискРеквизитовОбходом()   - Инициировать обход реквизитов в форме эмулированием TAB
глСчитатьТекущийАктивныйЭлемент()   - При обходе получить текущий активный элемент формы. Вставляется в ПриЗакрытии().
глФункцияВТекстеНаФорме()     - Функция для обхода в текст на форме.
глЭтоФормаСписка()       - По переданному контексту возвращает признак формы списка.
глПолучитьРеквизитыОбъекта()     - По переданному контексту открываемого объекта метаданных формирует его список реквизитов, расположенных на форме.

Смотрите их реализацию в прилагаемом внешнем отчете.

См. также

Консоль запросов

Инструментарий разработчика Платформа 1С v7.7 Конфигурации 1cv7 Абонемент ($m)

Консоль запросов к базе SQL, не требующая внешних компонент

10 стартмани

29.04.2015    21559    54    Gvozdod    8    

14

StartManager 1.4 - Развитие альтернативного стартера

Инструментарий разработчика Платформа 1С v7.7 Платформа 1С v8.3 Абонемент ($m)

Очередная редакция альтернативного стартера, являющегося продолжением StartManager 1.3. Спасибо всем, кто присылал свои замечания и пожелания, и тем, кто перечислял финансы на поддержку проекта. С учетом накопленного опыта, стартер был достаточно сильно переработан в плане архитектуры. В основном сделан упор на масштабируемость, для способности программы быстро адаптироваться к расширению предъявляемых требований (т.к. довольно часто просят добавить ту или иную хотелку). Было пересмотрено внешнее оформление, переработан существующий и добавлен новый функционал. В общем можно сказать, что стартер эволюционировал, по сравнению с предыдущей редакцией. Однако пока не всё реализовано, что планировалось, поэтому еще есть куда развиваться в плане функциональности.

1 стартмани

23.04.2014    165695    1864    Alexoniq    1596    

496

Tray Informer

Инструментарий разработчика Платформа 1С v7.7 Платформа 1С v8.3 Россия Абонемент ($m)

Согласитесь, что окно стандартное сообщений в 1С иногда приносит больше неудобств, чем пользы. И тем более разные "Предупредить"... Что с этим окном только не делают! Его отцепают от формы, делают маленьким, умудряются спрятать за границы экрана. А потом звонят программистам с претензией, что документ почему-то не проводится, отя ничего и не пишет. У вас такого не было? А вот у нас было и не раз )))

1 стартмани

04.09.2013    32877    61    O-Planet    78    

49

Изменение структуры баз 1С 7.7 без долгой реструктуризации. Часть 1. Справочники

Инструментарий разработчика Платформа 1С v7.7 Конфигурации 1cv7 Абонемент ($m)

На днях встретил вопрос на форуме про возможность внесения изменений в конфигурацию без долгого сохранения в рабочей базе большого объема. Вот решил поделиться опытом, как это делал я. База у нас была объемом порядка 120 Гб. К базе обращался сайт в режиме 24/7, поэтому важно было быстро сохранять изменения и желательно без последующего монопольного запуска для восстановления индексов и процедур и без отключения пользователей от базы. Это первая часть статьи и посвящена она справочникам. С одной стороны - это самый простой объект, с другой стороны, именно про справочник спрашивалось на форуме. Если статья будет востребована, то я напишу аналогичные про документы, регистры и может еще что.

1 стартмани

13.08.2013    21197    Reptile    5    

35

v7.7 1CDialogControls: Инструмент в помощь разработчику на 7.7.

Инструментарий разработчика Платформа 1С v7.7 Конфигурации 1cv7 Абонемент ($m)

Давным давно, когда я еще плотно писал на 7.7 работа с формами была мучительной и неудобной. Приходилось каждый элемент выкладывать, выравнивать на форме ручками, прописывать код в модуле. Иногда при разработке очередной формы приходила в голову мысль: "а где-то я уже похожее делал..." и начинался мучительный поиск подходящего кода в своих запасах........

1 стартмани

21.02.2013    18029    35    MarSeN    14    

16

[Разработчику] Любая таблица значений в OLAP

Инструментарий разработчика Платформа 1С v7.7 Конфигурации 1cv7 Абонемент ($m)

Анализируем различные данные в 1С, используя OLAP-технологии со всеми прелестями. Т.е. наглядное отображение данных, быстрые расчеты, горизонтальные и вертикальные группировки любой вложенности, удобная фильтрация, Drag'n'Drop и ещё много приятных вещей от MS. Обработка на входе принимает практически любую таблицу значений (ТЗ в которой колонкам указаны типы значений, строка, число и т.п.), на выходе имеем на форме 1С сводную таблицу и график по этой ТЗ, с которой работаем, как и в Excel со сводной таблицей и диаграммой. Взял за основу разработку «OLAP Анализ счёта» ( http://infostart.ru/public/14964/ ) от JohnyDeath и переделал под любую ТЗ. Опционально используется «Прогресс бар для 1С 77» (http://infostart.ru/public/14061/ ) от Gmix.

1 стартмани

21.12.2012    36103    51    venger    7    

23

Библиотека кода 1С 7.7 (накопленная за 8 лет)

Инструментарий разработчика Платформа 1С v7.7 Конфигурации 1cv7 Абонемент ($m)

Весь код на 1С 7.7, собранный для повторного использования за 8 лет работы.

10 стартмани

25.11.2012    34956    248    adhocprog    51    

70
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. Арчибальд 2706 29.03.10 10:21 Сейчас в теме
Мне тоже частенько на форумах эти вопросы попадались, и тоже решил попробовать. Правда, ограничился внешними отчетами, сделал что-то вроде глРеквизитыДиалогаФормыВнешнегоОтчета() у автора в виде диалога настройки порядка обхода (без самой настройки, конечно), и запал кончился... :(
4. Shaman100M 1150 29.03.10 13:24 Сейчас в теме
(1) да, сюрпризы были, и еще, наверно, остались.
2. Ёпрст 1063 29.03.10 11:10 Сейчас в теме
3. Shaman100M 1150 29.03.10 12:44 Сейчас в теме
(2) Обходом? Ну, не всё, конечно. По форме списка ползает, по слоям - тоже, невидимые реквизиты - ищет. Вот с недоступными кнопками, списками, таблицами, галками - никак. Из недоступных только реквизиты с значением можно, - их табуляция обходит.
5. Ёпрст 1063 30.03.10 08:54 Сейчас в теме
(3) не все контролы табом можно обойти.. например, картинки
6. Ёпрст 1063 30.03.10 08:55 Сейчас в теме
+5 да и толку то от половины найденых ? Доступ к атрибуту не получишь никакой, ежели нет идентификатора у него.
7. Shaman100M 1150 31.03.10 10:59 Сейчас в теме
... еще рамки и тексты, - полный список в конце модуля. Если у реквизита нет идентификатора, видимо, управлять им не планируется.
8. пользователь 24.02.12 10:29
Сообщение было скрыто модератором.
...
Оставьте свое сообщение