Генерация управляемой формы на основе обычной (proof of concept)

Публикация № 1149220

Разработка - Работа с интерфейсом

управляемые формы ненормальное программирование

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

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

Одним из самых сложных таких переходов для многих был/остается переход на управляемые формы. Хорошо, когда код почти типовой - базовую конфигурации переделала сама 1С.  Но даже тогда остается задача переписать весь багаж своих привычных обработок на УФ.

Для примера, поиск по infostart'у фразы " для управляемых форм " - "Найдено 4696". Невероятная работа проделана сообществом...

Управляемые формы - это не новый дизайн интерфейса, это концепция разделения работы между клиентом и сервером.

В обычных формах:

  • практически всю работу делал клиент (тащил сырые данные с сервера, обрабатывал и отображал результат)
  • в любой момент в клиенте можно было делать синхронные, модальные и интерактивные вызовы/операции
  • чтобы выполнить код на сервере, нужно было постараться (вынести логику в специальный общий модуль). программисты мало задумывались о том, где код выполняется

В управляемых формах (толстый клиент не рассматриваем как атавизм):

  • клиент обеспечивает только отображение данных, пользовательский ввод и простейшие вычисления.
  • синхронные и модальные вызовы запрещены даже на клиенте
  • работа с данными из СУБД возможна только на сервере
  • код должен быть разделен на методы по контексту выполнения (клиент, сервер), а также в местах обратных вызовов (callbacks), т.к. код должен быть асинхронным

 

А ТаблицуЗначений за что???

 

В начале работы с УФ это все казалось очень и очень сложным, инертность мышления долго мешала писать правильно (спасибо, что хотя бы многопоточности нет). Но ближе к теме:

 

Переписывание кода для УФ - нетривиальная задача. Ее может сделать только программист...

 

Т.е. о генерации валидного кода можно сразу забыть. А как быть с самой формой? В УФ форма - это XML-файл в недрах конфигурации, который можно как выгрузить из конфигурации, так и загрузить обратно... А XML-файл можно сгенерировать программно.

 

Создание управляемой формы - это всего лишь генерация XML-файла...

 

Для этого нам понадобится

1) Декомпозиция обычной толстой формы на элементы и анализ их свойств

С этим сообщество разработчиков 1С разобралось достаточно давно, например здесь

 

Дерево элементов формы "ФормаКонсоли" обработки "ирКонсольЗаданий".

 

2) Генерация XML-файлов по дереву элементов и свойств обычной формы

Здесь-то и были сосредоточены основные усилия.

 

- нужно было исследовательским путем определить названия всех свойств всех возможных элементов управляемой формы и их соответствие свойствам элементов обычной формы

 
 Список элементов управления

 

- нужно было также определить названия всех возможных значений всех свойств этих элементов

 
 Список свойств

Да, впадать в исследовательский азарт - это такая себе черта характера.

 

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

 

Дерево элементов в упр. форме. Сгенерированные имена не отличаются красотой

 

В прикрепленных изображениях и в прикрепленном файле можно посмотреть исходную форму и результат работы на примере обработки ирКонсольЗаданий.epf из шикарной библиотеки "Инструменты разработчика". К сожалению, выложить файл бесплатно (за 0 SM) нельзя.

Генерация форм была выполнена на платформе 8.3.9.2309.

***

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

 

upd 14.11.19

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

Консоль запросов из ИР

Становится примерно такой. Похоже?

 

 

P.s. если задаться целью, можно даже так:

Результат автоматической генерации

но из за сильных отличий построения UI в 7.7 и УФ результат слишком кривой (в основном мешает управление слоями в форме 7.7)

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

Наименование Файл Версия Размер
Пример сгенерированных форм (суффикс Упр) для доната

.epf 70,09Kb
13
.epf 70,09Kb 13 Скачать

Специальные предложения

Комментарии
В избранное Подписаться на ответы Сортировка: Дата
21. cprit 546 14.09.20 16:00 Сейчас в теме
(20) Все так. И решение может проще оказаться. Я со своей задачей и руками справлюсь-быстрее будет. Но вот насколько это будет востребовано сообществом - большой вопрос.
Из опыта работы с 1С-ным конвертером из 7.7 в 8.0 могу сказать, что проще было с нуля нарисовать, чем брать сконвертированное. Хотя по виду они были идентичны.
Тут как писалось ранее- будет проблема с конвертацией кода.
20. tormozit 6309 14.09.20 14:59 Сейчас в теме
(18) Кажется задача не настолько уж сложна. Сделай управляемую форму, состоящую из всех типов элементов или найди навороченную готовую. Изучи устройство в xml: дерево элементов, список реквизитов и список команд. Сделай заготовку/пустышку управляемой формы и выгрузи ее в xml. Загрузи этот xml в построитель DOM. Бери любую реализацию построения дерева элементов обычной формы. Обходи это дерево и в построитель DOM пустышки управляемой формы добавляй соответствующие элементы структуры управляемой формы. Понятно, что будет много шероховатостей, но в целом первую рабочую версию получить можно будет думаю через 40 часов.
19. user700211_a.straltsou 203 14.09.20 14:37 Сейчас в теме
(18) Пока не планирую выпускать в свободный доступ
18. cprit 546 14.09.20 10:57 Сейчас в теме
Добрый день!
Есть ли возможность пощупать самому на ваш конвертер форм? Хотя бы в прототипе.
17. Aparatus 17 28.01.20 16:14 Сейчас в теме
(6) Странно, что инструмент ещё не в массах, эта штука теперь обязана быть точно так же, как и, например консоль скд и прочие ништяки - у каждого. Спасибо автору за помощь, перенеслось всё просто идеально. Огромная благодарность. Жаль, что сконвертированный результат не пригодился постановщику задачи, но это к теме не совсем имеет отношения.
16. tormozit 6309 20.11.19 10:52 Сейчас в теме
(15) Наверное тогда стоит в конверторе добавить настройку "создавать пустые колонки при отсутствии колонок в оригинале" - будет добавляться дочерний реквизит реквизита-коллекции и связанное с ним поле таблицы формы. Ведь для оценки корректности конвертации предпросмотр формы - самый эффективный способ.
15. user700211_a.straltsou 203 20.11.19 10:45 Сейчас в теме
(14)
Получается у тебя некоторые таблицы с колонками конвертируются в таблицы без колонок?

Нет. В обработке "ирКонсольЗапросов" табличное поле "РезультатКоллекция" не имеет колонок Реквизиты Данные - пустой, реквизит ТипЗначения - ТаблицаЗначений (колонки создаются при отображении результатов РезультатКоллекция.Значение = мРезультатЗапроса.Выгрузить)

В управляемой версии получаем на форме элемент Таблица "РезультатКоллекция" без колонок, который в режиме просмотра формы не отображается.
14. tormozit 6309 20.11.19 10:24 Сейчас в теме
(13)
Получается у тебя некоторые таблицы с колонками конвертируются в таблицы без колонок?
ИР на управляемые формы переводить я не собираюсь. Но конвертор твой действительно будет полезен сообществу.
13. user700211_a.straltsou 203 20.11.19 10:17 Сейчас в теме
(12)
контекстные меню встраиваются как к

- контекстные меню встраиваются как командные панели
исправлю, инструмент все еще в разработке
- некоторые таблицы со своими командными панелями не отображаются
не отображаются табличные поля без колонок. это стандартное поведение УФ
Спасибо за оценку работы и буду рад помочь в переводе ИР на УФ
12. tormozit 6309 20.11.19 09:22 Сейчас в теме
Посмотрел на картинки и на сгенерированную форму редактор объекта БД. Сразу бросилось в глаза
- контекстные меню встраиваются как командные панели
- некоторые таблицы со своими командными панелями не отображаются (например таблица результата в окне консоли запросов)
Согласен, что даже в текущем виде конвертор облегчает работу по переводу формы на управляемый вариант. Однако основные затраты в большинстве случаев все таки будут в переработке модуля и там даже частичный конвертор сделать будет намного сложнее.
11. user700211_a.straltsou 203 11.11.19 12:48 Сейчас в теме
(10) Я не являюсь автором ИР и могу только помочь ее автору с конвертацией
10. Cyberhawk 127 11.11.19 11:01 Сейчас в теме
Ну что, когда ждем ИР для тонкого клиента?
9. Eret1k 07.11.19 13:37 Сейчас в теме
"В начале работы с УФ это все казалось очень и очень сложным, инертность мышления долго мешала писать правильно (спасибо, что хотя бы многопоточности нет)."

Не только инертность.
Не было подхода MVC.
Когда во всем остальном мире девелопмента все активно начали использовать подход MVC, тут в виду закрытости мира 1С, не могли и представить альтернативы.
8. SerVer1C 379 07.11.19 08:21 Сейчас в теме
Идея интересная, не бросайте развивать её.
7. dandykry 6 07.11.19 07:18 Сейчас в теме
(2) Я писал и о простых, и о сложных формах. Особенно о формах, которые делал не сам лично.
На сколько я помню, элементы формы различаются и в свойствах, и в событиях. После генерации все равно придется это протыкивать и смотреть все ли работает как нужно, или теперь нужно даже то, что перенеслось переделывать, потому что теперь "это не работает так же" или теперь это не работает на клиенте и логику нужно тащить на сервер. Ко всему прочему конфигурация без БСП - это велосипеды, либо очень простая конфигурация. А внедрять БСП так или иначе придется, а это еще работа с формами.
Это все равно труд, как в том, чтобы разобраться в механизмах формы, как и в том, как это теперь будет работать, и как это теперь нужно переделать. Просто моё мнение - легче сделать заново. Сразу можно разбираться в реализованных механизмах и адаптировать их под управляемый интерфейс. Конечно в некоторых простых формах удобно.

Мысль очень напоминает "Конвертация информационных баз системы «1С:Предприятие 7.7»" - когда конфигурация 7.7 превращалась в 8.2. На мою память эту вещь я использовал всего 1 раз только для "попробовать". Реальные переводы делались руками, потому что дешевле по времени.

В целом, если Ваш конвертор появится в свет, то я скачаю его за стартмани, чтобы посмотреть реализацию и возможно заимствовать в будущем.
6. user700211_a.straltsou 203 06.11.19 23:42 Сейчас в теме
(5) epf или cf со списком нужных форм
5. Perfolenta 193 06.11.19 21:23 Сейчас в теме
(4) а в каком виде их можно прислать?
4. user700211_a.straltsou 203 06.11.19 20:00 Сейчас в теме
(3) Зависит от загруженности. Пока могу ваши формы сконвертить, если в личку пришлете
3. Perfolenta 193 06.11.19 18:01 Сейчас в теме
и когда, хоть приблизительно, можно ожидать инструмент?
2. user700211_a.straltsou 203 06.11.19 16:35 Сейчас в теме
(1)
По поводу обработки-генератора. Думаю она все равно не сделает 100% работы. И даже 50% думаю не сумеет. Дело в том, что в обычных формах многое работало на привязках. В управляемых формах этого нет - все решается группами формы. Из-за этого все равно придется форму перерисовывать, чтобы она отображалась нормально

Я с вами согласен в том плане, что если форма простая - ее легче нарисовать вручную. Но если сложная... Под спойлером "Список свойств" 38 свойств элементов управления, которые можно взять из старой формы
1. dandykry 6 06.11.19 11:55 Сейчас в теме
Отдаленно похожее делал. Нужна была форма для отображения свойств элементов формы. Форма родилась, но успеть за развитием платформы не удалось (переименованием, дополнением, расширением свойств). В какой то новой платформе строка

Выполнить (ИмяРеквизитаФормы  + " = НекоеЗначение; ")

Перестала работать. Теперь необходимо писать
Выполнить ("ЭтотОбъект." + ИмяРеквизитаФормы  + " = НекоеЗначение; ")


Переписывать не стал и просто бросил. Жду когда расширения до ума доведут.

По поводу обработки-генератора. Думаю она все равно не сделает 100% работы. И даже 50% думаю не сумеет. Дело в том, что в обычных формах многое работало на привязках. В управляемых формах этого нет - все решается группами формы. Из-за этого все равно придется форму перерисовывать, чтобы она отображалась нормально. И лично я сделал бы это заново, а не перетаскивал лишнее из старой обработки. Из старой нужна только специфичная логика - запросы, заполнение документов, печать и пр. Все то, что к отображению данных на форме не относится по большей части
tormozit; A_Max; bulpi; +3 Ответить 1
Оставьте свое сообщение

См. также

Подсистема "Инструменты разработчика" v5.87.2 Промо

Инструментарий разработчика v8 1cv8.cf Бесплатно (free)

Интегрированный набор инструментов разработчика: - консоль кода - консоль запросов - консоль построителя отчетов - консоль компоновки данных - консоль заданий - конструктор запроса - справочник алгоритмов - исследователь объектов - интерфейсная панель - настройка журнала регистрации - анализ журнала регистрации - настройка техножурнала - анализ техножурнала - подбор и обработка объектов - редактор объекта БД - редактор констант - редактор параметров сеанса - редактор изменений по плану обмена - редактор пользователей - редактор предопределенных - редактор хранилищ настроек - динамический список - поиск дублей и замена ссылок - контекстная подсказка - синтакс-помощник - поиск битых ссылок - поиск ссылок на объект - структура хранения БД - удаление объектов с контролем ссылок - и прочее

23.09.2007    578763    34765    tormozit    2788    

Библиотека программного изменения формы (УФ)

Инструментарий разработчика Работа с интерфейсом Универсальные функции v8 1cv8.cf Абонемент ($m)

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

1 стартмани

07.08.2020    5485    BuriyLesha    17    

Настройка колонок для вывода в отчет

Практика программирования Работа с интерфейсом v8::СКД 1cv8.cf Украина Абонемент ($m)

Иногда возникает задача вывести в отчет по запросу не все колонки, а только определенные.

1 стартмани

12.07.2020    3114    user847462    2    

Сохранение настроек колонок

Практика программирования Работа с интерфейсом Универсальные функции v8 Абонемент ($m)

Сохранение настроек колонок табличных полей. Получение имени формы из модуля формы. Для обычных форм.

1 стартмани

10.07.2020    1242    Arc    1    

Редактирование текстов интерфейса … Промо

Работа с интерфейсом v8 1cv8.cf Россия Абонемент ($m)

Редактирование текстов интерфейса … (перевод интерфейса конфигурации на другой язык английский – немецкий – китайский – японский и многие другие). У вас есть стандартная конфигурация, в которой надо перевести интерфейс на другой язык, легко! А вот со справкой придется немного помучаться. Просьба не путать с данными, которые хранятся в реквизитах объектов.

1 стартмани

26.06.2012    39663    Nykyanen    39    

1С+Firebase. Оперативное отображение информации

Интеграция Работа с интерфейсом v8 1cv8.cf Абонемент ($m)

Появилась задача по отображению информации из базы в "режиме реального времени" с возможностью масштабирования количества подключенных клиентов (неплохо бы уметь подключаться с мобильных устройств), плавающей нагрузкой и минимальными затратами на разработку без изобретения сложных велосипедов. В уме довольно быстро всплыло "Firebase". Далее небольшой опыт реализации взаимодействия с Firestore для раскрашивания объектов карты.

1 стартмани

06.04.2020    2919    oyti    0    

Управление состоянием для шаблона MVC и работы с данными объекта

Работа с интерфейсом v8 1cv8.cf Абонемент ($m)

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

1 стартмани

18.03.2020    3995    kalyaka    35    

"Живые" картинки со Snap.SVG

Практика программирования WEB Работа с интерфейсом v8 Абонемент ($m)

В статье рассмотрен пример использования http-сервисов для визуализации данных

1 стартмани

24.10.2019    14479    blackhole321    7    

Приятная глазу цветовая схема 1С 8.х Промо

Работа с интерфейсом v8 1cv8.cf Россия Абонемент ($m)

Несколько цветовых схем для встроенного языка 1С, которые минимизирует нагрузку на глаза, за счет чего повышается производительность!

1 стартмани

26.03.2012    68258    NDM    126    

Полное копирование одной формы в другую

Практика программирования Универсальные обработки Работа с интерфейсом v8 1cv8.cf Абонемент ($m)

Однажды я столкнулся с необходимостью открыть форму ЛЮБОГО документа с определенными изменениями, не зависящими от структуры объекта (например, заблокировать все кнопки). В интернете решения я не нашел. Обычно на форумах на запросы подобного рода отвечают чем-то вроде "покажи первоначальную задачу, а не спрашивай как реализовать то, что ты придумал". Тем не менее, мне стало интересно, как это можно сделать.

1 стартмани

03.10.2019    6658    nekit_rdx    24    

Еще один способ программной модификации управляемых форм

Работа с интерфейсом v8 v8::УФ 1cv8.cf Абонемент ($m)

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

1 стартмани

03.09.2019    4886    infosoft-v    15    

Изменяющееся контекстное меню в 1С 8.3

Практика программирования Работа с интерфейсом Разработка v8 v8::УФ Абонемент ($m)

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

1 стартмани

06.08.2019    19260    signum2009    16    

Совместное использование 1С:Сервер взаимодействия и Документооборот 8 КОРП, редакция 2.1.13 - Уведомления для рабочего стола

Пользователю системы Работа с интерфейсом Интеграция Документооборот и делопроизводство Документооборот и делопроизводство v8 ДО УУ Абонемент ($m)

С версии ДО 2.1.13 в программу встроена подсистема Обсуждения. Данная подсистема позволяет производить уведомление пользователей без необходимости открытия программы.

1 стартмани

18.06.2019    14399    ilya.rudziak    10    

Изменение реквизитов существующих объектов (документов) 1С без сохранения

Практика программирования Работа с интерфейсом Разработка v8 Абонемент ($m)

При решении очередной задачи столкнулся с тем, что менеджерам (сотрудникам) необходимо часто менять реквизиты существующих объектов. Это дополнительные реквизиты или сведения объектов. При этом действия менеджеров не должны приводить к перепроведению документов или пересохранению объектов, т.к. изменения могут быть в закрытых периодах. Изменение данных в реквизитах должны быть доступны в закрытых периодах и не влиять на финансовые и бухгалтерские данные.

1 стартмани

14.06.2019    6813    BraunAlex    9    

Как вывести в СКД две независимые таблицы, объединенные одним полем

Работа с интерфейсом v8::СКД Абонемент ($m)

Надо вывести в отчет на СКД 2 таблицы, которые содержат различные данные, объединяемые одним полем. Количество строк в каждой таблице может быть произвольным. Если выводить с помощью обычного соединения таблиц, то мы получим перемножение строк. Чтобы его избежать обычно используются циклы. Но в данной статье мы разберемся как это сделать только средствами СКД.

1 стартмани

06.06.2019    7090    swimdog    13    

Табличная часть из дополнительных реквизитов с обработкой событий в расширении

Практика программирования Работа с интерфейсом Разработка v8::УФ 1cv8.cf Абонемент ($m)

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

1 стартмани

13.05.2019    12314    mvxyz    17    

Вывод вариантов СКД в таблицы на управляемой форме

Практика программирования Работа с интерфейсом v8 v8::УФ v8::СКД 1cv8.cf Абонемент ($m)

Задача стояла такая: есть 2 различных запроса, результаты которых выгружаются на форму обработки в таблицы значений (далее ТЗ) и программно "соприкасаются" между собой определенным образом (как именно- в рамках данной статьи неважно). Нюанс в том, что запросы должны иметь свой компоновщик настроек и могут интерактивно на форме изменяться пользователем. На оригинальность публикации не претендую - изначально в рамках поставленной задачи пытался найти что-то подобное (уже готовый шаблон) на инфостарте, возможно "плохо искал" ;)

05.04.2019    12236    artkor    1    

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

Работа с интерфейсом v8 v8::СКД 1cv8.cf Абонемент ($m)

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

1 стартмани

29.10.2018    14392    Vyacheslav_Kochnev    3    

Управление состоянием формы через конечный автомат

Практика программирования Работа с интерфейсом v8 Россия Абонемент ($m)

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

1 стартмани

19.06.2018    16005    kalyaka    37    

Отборы (поиск) в табличной части либо таблице значений (управляемые формы)

Практика программирования Работа с интерфейсом v8 v8::УФ Абонемент ($m)

В управляемых формах для нас доступен мощный ресурс работы с динамическими списками посредством СКД - отборы, сортировки и далее. Но вот табличная часть (таблица значений) на управляемой форме не позволяет работать так гибко. Мы можем научить пользователей пользоваться комбинацией клавиш "Ctrl+F", но давайте немного упростим жизнь и позволим нашим пользователям настраивать отборы (осуществлять поиск) по табличной части прямо в нашем окне.

1 стартмани

22.03.2018    52363    Kim1C    22    

Шаблон MVC для управляемого интерфейса

Работа с интерфейсом v8::УФ 1cv8.cf Россия Абонемент ($m)

Мы воспринимаем как что-то само собой разумеющееся интуитивно понятный интерфейс, мгновенно реагирующий на наши клики, подстраивающийся под уже сделанный нами выбор. А между тем за этой возможностью - решение серьезных алгоритмических задач. В общем случае решения этих задач уже найдены, но проблема их конкретного применения остается как для выбранного окружения (веб-браузер, экран мобильного телефона, компьютер), так и возможностей языка программирования. В следующей статье представлено одно из таких применений общего решения на основе шаблона MVC для 1С в сочетании с возможностями управляемых форм и декларативного описания интерфейса.

1 стартмани

14.03.2018    20469    kalyaka    37    

Варианты отображений свертываемых групп

Практика программирования Работа с интерфейсом v8 1cv8.cf Абонемент ($m)

Как пользователю только одним внешним видом сказать "Тут есть нужные данные. Только нажми". Используем разные варианты свертываемых групп.

1 стартмани

19.12.2017    19448    Kim1C    10    

Размеры управляемой формы

Практика программирования Работа с интерфейсом Универсальные функции v8 1cv8.cf Абонемент ($m)

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

1 стартмани

08.10.2017    28649    json    9    

Добавление отчета на панель

Работа с интерфейсом v8 1cv8.cf Абонемент ($m)

В очередной раз разработчики 1с поправили УТ и непонятно стало, как добавлять отчеты на панель. Метод получился самый простой из всех , что я видел ( http://infostart.ru/public/87945/, http://infostart.ru/public/91729/, http://chistov.spb.ru/forum/26-1766-2 (при подготовке к спецу видел 10 способов, но они уже не актуальны, да и сложны)).

15.01.2014    25908    dobrynin.i.s    11    

Условное оформление таблицы управляемой формы

Практика программирования Работа с интерфейсом v8 Абонемент ($m)

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

1 стартмани

17.05.2013    39632    akomar    6    

Уровни группировок в отчете СКД в управляемых формах

Практика программирования Работа с интерфейсом v8::ОУ v8::СКД УНФ Абонемент ($m)

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

1 стартмани

08.05.2013    22236    Pralva    16    

Кнопки сворачивания и разворачивания группировок в отчете СКД в управляемых формах

Практика программирования Работа с интерфейсом v8::СКД 1cv8.cf Абонемент ($m)

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

1 стартмани

10.04.2013    48115    mxm2    9    

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

Работа с интерфейсом v8 1cv8.cf Россия Абонемент ($m)

Долгожданная возможность программно управлять составом форм рабочего стола! Публикация написана новичком для новичков, гуру 1С просьба не судить строго.

1 стартмани

07.11.2012    34713    NittenRenegade    12    

1С:Предприятие 8.2. Управляемая Форма. Меняем иконку рабочего стола.

Сервисные утилиты Производительность и оптимизация (HighLoad) Практика программирования Работа с интерфейсом v8 1cv8.cf Россия Абонемент ($m)

Для конфигураций имеющих свой дизайн важно иметь возможность сменить не только картинки разделов для созданных подсистем, но и картинку рабочего стола, но менять ее нет возможности. Сама 1С объясняет это тем что интерфейс любой конфигурации должен быть унифицирован: "Дело не в одной картинке, а в общей стилистике для любых конфигураций. Важно чтобы пользователи привыкали к общему стилю и одинаково воспринимали одинаковые элементы в разных конфигурациях - это ускорит и освоение конфигураций и повседневную работу пользователей с ними." Но все же можно попытаться ее сменить.

1 стартмани

28.09.2012    29817    ghostaz    39    

Нестандартная расшифровка СКД или расшифровка одного отчета СКД при помощи другого отчета СКД установкой пользовательских настроек (в управляемых формах, методика + пример для УТ11)

Практика программирования Работа с интерфейсом v8::ОУ v8::СКД УТ11 Россия Абонемент ($m)

Если требуется расшифровка одного отчета СКД при помощи другого отчета СКД, можно использовать представленный вариант. Казалось-бы все просто, однако дело усложняется тем, что с одной стороны, нужно предусмотреть разделение функционала между клиентом и сервером, с другой, нет достаточно четкого описания поведения передачи параметров расшифровки. В итоге: все решается "элементарно", но чтобы дойти до этого, лично мне пришлось убить уйму времени, так что экономьте своё ))). Под "нестандартной расшифровкой" имеется ввиду расшифровка данных одного вида отчета - другим видом, отличным от первого (с предварительной установкой нужных параметров и отборов в отчете-расшифровке).

1 стартмани

12.09.2012    93223    mxm2    49    

Картинки для 1С

Работа с интерфейсом v8 1cv8.cf Абонемент ($m)

Подборка картинок для 1С.

1 стартмани

03.09.2012    28110    pyrkin_vanya    17    

Вывод изображений в системе компоновки данных и отчётах

Работа с интерфейсом v8 1cv8.cf Россия Абонемент ($m)

Как выводить изображения в СКД, отчетах ? Как хранить картинки, чтобы они не занимала много места?

1 стартмани

19.03.2012    4585    igorvs66    1    

Сохранение/восстановление настроек динамического списка

Работа с интерфейсом v8 1cv8.cf Россия Абонемент ($m)

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

1 стартмани

29.07.2011    37114    Stepa86    31    

Подмена рабочего стола

Работа с интерфейсом v8 1cv8.cf Россия Абонемент ($m)

Несколько слов о рабочем столе в 1С 8.2, о том, что нельзя открыть произвольную форму при переключении подсистемы, а так же простой способ "обмануть" это ограничение (с примером).

1 стартмани

13.03.2011    34570    zfilin    31    

1С 8.1: Интерфейс: Работа с формами

Работа с интерфейсом v8 1cv8.cf Россия Абонемент ($m)

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

1 стартмани

10.02.2011    16719    jan27    29    

Методика добавления нового интерфейса для типовой конфигурации 1С:Бухгалтерия предприятия ред. 2.0

Работа с интерфейсом v8 БП2.0 Россия Абонемент ($m)

Целью данной инструкции является описать методику действий разработчика при добавлении нового интерфейса пользователя для типовой конфигурации 1С:Бухгалтерия предприятия 2.0.

1 стартмани

30.12.2010    47428    tomvlad    5    

Оповещения пользователям об изменении конфигурации

Работа с интерфейсом v8 1cv8.cf Россия Абонемент ($m)

Как сообщить всем пользователям, что добавлен новый, очень нужный и полезный механизм в 1С: Предприятие 8.1 или 8.2? В этой статье я расскажу как это сделать с минимальным исправлением конфигурации поставщика.

1 стартмани

20.08.2010    19677    opx    24    

Стандартная "Настройка периода" в отчетах на базе СКД

Практика программирования Работа с интерфейсом v8 Россия Абонемент ($m)

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

1 стартмани

31.12.2009    12387    yuraskas    8    

Вывод дополнительной информации - ИНН и адреса контрагента - в список значений при вводе по строке

Практика программирования Работа с интерфейсом v8 1cv8.cf Россия Абонемент ($m)

Когда в информационной базе много контрагентов, пользователи при заполнении реквизитов форм документов активно используют понравившуюся им функцию «ввод по строке» Это ускоряет ввод большого объема информации за счет эффективного использования клавиатуры и уменьшения нагрузки на базу. Бывают случаи, когда существует очень много контрагентов с одинаковыми наименованиями, то просто невозможно быстро выбрать нужного из списка, так как код в скобках не несет смысловой нагрузки. Хотя возможен ввод по ИНН, но он не получил широкого распространения из-за сравнительно большой длины ИНН и психологического неприятия ввода рутинных операций. По этой причине представляется интересным решение, позволяющее выводить дополнительно в списке информацию об ИНН контрагента и его адресе. Пример программной реализации обработчика для конфигурации Управление торговлей 8.1 релиз 10.3.8.9, продемонстрирован в присоединенном к данной статье файле.

1 стартмани

05.12.2009    13882    its    9    

Деструктивный анализ формы

Инструментарий разработчика Работа с интерфейсом v8 1cv8.cf Абонемент ($m)

Универсальная обработка которая демонстрирует работу алгоритма деструктивного анализа формы

21.08.2008    20306    59    asady    18