Рендеринг элементов управляемого интерфейса

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

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

Состояние MVC Форма Интерфейс Управляемый интерфейс Управляемая форма

Реализация отображения всего состояния формы проще, чем работа по изменениям. Однако использование идеи разделения алгоритмов на программные слои MVC и построения реактивных систем позволяет получить не только простые и масштабируемые решения, но и производительные интерфейсы. Рассмотрим примеры таких реализаций на основе использования фреймворка «Управление состоянием»: Информационная надпись, Заголовок формы, Свертываемая группа, Отключаемые панели.

Оглавление

MVC

 


MVC

Впервые с проблемой реализации интерфейса я столкнулся на собеседовании. У меня был выпускной год, а это начало 2000-х, тогда большой популярностью пользовались такие среды разработки как Delphi, Visual FoxPro. На собеседовании мне нужно было предложить алгоритм обновления интерфейсной формы, реализованной в текстовом формате. Представьте, что вы разработчик командного навигатора far и вам нужно решить проблему быстрого отображения окон навигатора, а также изменений в нем. Вот курсором подсвечено имя файла, вот вы передвинули курсор и: обновилась информация о файле, прежнее имя файла стало обычным, а новое - выделенным и т.д.

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

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

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

Когда бизнес-логика предполагает нечто большее, чем просто вывести текущее значение из данных объекта на экран или изменение в данных опосредовано, то возникает необходимость изменить стандартное поведение платформы. 1С - это событийно-ориентированная система, в которой изменить стандартное поведение платформы можно в точках расширения - предопределенных событиях на встроенном языке, таких как: ПриСозданииНаСервере, ПриОткрытии, ПриИзменении, ПриНажатии и т.д.

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

Поиск путей оптимизации и упрощения реализации алгоритмов работы с формой привел меня к созданию фреймворка «Управление состоянием». Основная концепция фреймворка лежит в области понимания идеи MVC.

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

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

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

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

Трансляция изменений в данные осуществляется в событиях ПриИзменении, ПриНажатии и других.

Далее уже алгоритмы модели ответственны для перехода данных в новое состояние.

Рендеринг осуществляется уже после изменений в данных модели. Алгоритм реализации рендеринга можно переиспользовать в разных формах, где есть подобные интерфейсные решения.

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

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

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

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

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

Собственное состояние формы приводит к необходимости с ним работать. Здесь ситуация аналогична той, что и при изменениях в объекте, только в роли объекта выступает сама форма. Т.е. реализация работы с самой формой также может описываться архитектурным решением на базе MVC: контроллер изменяет данные формы, модель работает с данными, представление – реализует рендеринг.

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

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

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

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

Рисунок 1. Параметры условного оформления и свойства элемента формы

Рассмотрим простой пример формирования сводной информации по налоговым реквизитам. В этом примере информационная надпись формируется в заголовке группы налоговых реквизитов, например, таких: код ОКАТО, код БК, статуса составителя, идентификатора платежа, различные показатели (основания, периода, номера, даты). В нашем примере мы ограничимся только этими реквизитами, однако в реальной системе реквизитов может быть гораздо больше, а их связи разнообразнее.

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

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

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

Запустим тестовую обработку "Налоговые реквизиты". Убедимся, что надпись изменяется при изменении налоговых реквизитов.

Рисунок 2. Модуль формы. Настройка элемента формы группы

Рисунок 3. Форма и функция состояния для элемента формы

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

Исправить ситуацию можно, описав функцию состояния заголовка формы.

Рисунок 4. Настройка элемента формы «ЭтаФорма». Функция состояния

Свертываемая группа. Контроллер элемента группы

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

Рисунок 5. Свернутое состояние группы – стандартное поведение платформы 1С

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

 

Рисунок 6. Модуль формы. Описание зависимостей элементов от параметров

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

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

Рисунок 7. Функции состояния: группы, надписи, картинок

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

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

Рисунок 8. Реализация контроллера для элемента формы декорация надписи заголовка группы

Отключаемые панели. Контроллер для кнопок

В этом примере используются элементы командного интерфейса – кнопки. Реализация кнопок подразумевает реализацию некоторого кода выполнения команды или в рассматриваемой парадигме MVC – контроллера.

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

Модель формы управления панелями состоит из настройки 6-и элементов: 3-х элементов – панелей и 3-х элементов – кнопок команд управления видимостью соответствующих панелей. Эта форма также имеет собственное сохраняемое состояние, однако слой модели здесь реализовывать не требуется.

Рисунок 9. Описание настройки элементов формы

Рисунок 10. Реализация контроллера кнопок управления видимостью

Рисунок 12. Управление панелями: функции состояния

Резюме

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

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

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

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. malikov_pro 613 24.09.20 11:09 Сейчас в теме
Не хватает cfe с примером, чтобы не перепечатывая код с картинок проверить этот вариант работы.
То что выделяется стой данных хорошо, потенциальный переход к работе с API.

"Их просто тестировать. Достаточно передать в функцию нужные параметры и получить ожидаемый результат" - нужны примеры тестирования формы, хотя бы с ручным запуском.
2. kalyaka 623 24.09.20 11:11 Сейчас в теме
(1) у меня есть вариант получше - сразу база с примерами

Тест пока есть один

А чтобы не перепечатывать рисунки снабжены ссылками на исходники.
3. malikov_pro 613 24.09.20 11:17 Сейчас в теме
(2) Благодарю.
Вижу что используете EDT, у меня пока с этим инструментом не складывается.
Примеры посмотрю, попробую применить в работе. В расширениях чтобы не импортировать объект формы делаю реквизиты формы, которые заполняю из добавленных реквизитов объекта.
4. malikov_pro 613 24.09.20 11:19 Сейчас в теме
(2) В repo в readme.md имеет смысл добавить ссылку на публикацию.
5. kalyaka 623 24.09.20 11:32 Сейчас в теме
(4) это сделаю позже, туда и видео приложу и ссылки на публикации
Оставьте свое сообщение

См. также

Подбор в управляемой форме - что может быть проще? Промо

Работа с интерфейсом v8::УФ 1cv8.cf Бесплатно (free)

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

19.09.2017    43431    starik-2005    64    

[mobile] Переносим HTML интерфейс на 1С

Работа с интерфейсом Мобильная разработка v8 v8::Mobile 1cv8.cf Бесплатно (free)

Разберем методы переноса HTML интерфейса на 1С на примере реализации нижнего меню для мобильного приложения. Сравним методы между собой. Данные методы можно применять не только для мобильной разработки, но и для веб-клиента и т.д

02.11.2020    3615    leobrn    58    

Переопределение представления ссылочного значения

Практика программирования Работа с интерфейсом v8 Бесплатно (free)

Переопределение представления ссылочного значения

17.09.2020    2590    sam441    15    

Недокументированное использование стандартных обработок из меню "Все функции". Промо

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

Рассмотрены возможности произвольного использования стандартных функций, вызываемых из меню платформы "Все функции" - "Стандартные" (Активные пользователи, Журнал регистрации, Поиск ссылок на объект, Проведение документов ...).

19.06.2015    113124    ekaruk    128    

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

Работа с интерфейсом v8::УФ Бесплатно (free)

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

14.08.2020    2794    DrZombi    14    

Использование флажков в динамических списках

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

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

04.08.2020    3659    nekit_rdx    24    

Обработка нажатия клавиши

Работа с интерфейсом v8::УФ Бесплатно (free)

Один из способов обработки события нажатия клавиши.

10.06.2020    2853    RotaninV    7    

Полезности применения СКД Промо

Практика программирования Работа с интерфейсом v8::УФ v8::СКД УТ10 Россия Бесплатно (free)

Нюансы при работе из СКД на программном уровне.

11.04.2012    52098    logarifm    42    

Регистр сведений как дополнение объекта

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

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

19.05.2020    2772    Infector    14    

Перенос инструкций из word во встроенную справку 1С с сохранением картинок и форматирования

Практика программирования Работа с интерфейсом v8 Бесплатно (free)

Делюсь простым и удобным способом переноса справки/инструкций из ворда (и не только) во встроенную справку 1С с сохранением картинок и форматирования.

22.04.2020    4637    77dream77    21    

Функциональные опции. Управление доступным функционалом для пользователей

Работа с интерфейсом v8 Бесплатно (free)

Как управлять доступным функционалом в привязке к пользователям программы.

24.03.2020    1382    Evilgrym    2    

Идея или как сохранить ЦВЕТ, ШРИФТ, ОФОРМЛЕНИЕ пользователя Промо

Работа с интерфейсом v8 1cv8.cf Бесплатно (free)

Простой и оригинальный способ сохранять ЦВЕТОВУЮ СХЕМУ и ОФОРМЛЕНИЕ пользователей. Как сохранить ЦВЕТ

22.06.2015    24522    Tatitutu    12    

Форма выбора для реквизита с составным типом данных

Работа с интерфейсом v8 Бесплатно (free)

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

11.03.2020    2575    rule_2    2    

Treemapping — способ визуализации данных древовидной структуры. Карта-схема дерева

Математика и алгоритмы Работа с интерфейсом v8 1cv8.cf Бесплатно (free)

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

18.02.2020    5065    randomus    20    

[Шпаргалка] Свой диалог выбора типа значения (элемента)

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

Для реквизита составного типа необходимо ограничить список выбора типов.

18.02.2020    3786    rpgshnik    6    

Видеодемонстрация применения Теста-центра для нагрузочного тестирования конфигураций Промо

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

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

16.09.2012    35747    Aleksey.Bochkov    29    

СКД. Шаг 3. Используем макеты для оформления отчета

Работа с интерфейсом v8 v8::СКД 1cv8.cf Бесплатно (free)

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

13.01.2020    17070    aximo    14    

Добавление собственного поля и состояния в настройки доступности по состоянию в 1С:Документооборот

Практика программирования Работа с интерфейсом v8 ДО Бесплатно (free)

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

30.12.2019    4807    pavelpribytkin96    2    

[СКД] Вывод картинки в результат любого отчета на СКД

Работа с интерфейсом v8 v8::СКД 1cv8.cf Бесплатно (free)

Если у вас в справочнике Номенклатура (или другом справочнике) заполнена картинка, то ее можно легко вывести для наглядности отчета.

09.12.2019    9421    John_d    16    

Хранение и редактирование дополнительных параметров в регламентированном отчете. Для начинающих. Промо

Работа с интерфейсом v8 БП2.0 УПП1 БУ Бесплатно (free)

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

22.01.2014    20649    KapasMordorov    4    

Лайфхаки 1С. Настройка списков (Часть 3)

Работа с интерфейсом v8 Бесплатно (free)

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

03.12.2019    13432    VachKirp    14    

В новой платформе пропала кнопка "Печать". Имитируем БСП

Работа с интерфейсом v8 Россия Бесплатно (free)

"Приятным" сюрпризом для многих пользователей 1С стало то, что при обновлении платформы (начиная с 8.3.15) полностью поменялся интерфейс. Можно долго спорить о целесообразности этого новшества, но самым главным минусом стало то, что пропали стандартные кнопки на панели инструментов. Разработчики предполагают повсеместное использование БСП, но что делать тем, кто давно и успешно использует самописные конфигурации, в которых формирование печатной формы происходит по ТабДок.Показать(), и не желает их "утяжелять"? Добавим общую форму с нужными нам кнопками.

03.12.2019    9167    Vlan    44    

Управляемые формы. Изменение формы списка или формы объекта без внесения изменений в типовые формы (без использования расширений)

Работа с интерфейсом v8 1cv8.cf Бесплатно (free)

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

12.11.2019    11604    John_d    24    

Программное генерирование кнопочек для удобного управления уровнями группировки в отчетах (версия 2a). Промо

Работа с интерфейсом v8 1cv8.cf Россия Бесплатно (free)

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

09.04.2011    46385    mtv:)    74    

Локализация интерфейсов конфигураций. Практика и инструментарий 1Ci

Работа с интерфейсом Локализация решений v8 Бесплатно (free)

В последнее время компания 1С International все увереннее заявляет о себе на международном рынке. Но для успешного продвижения в этом направлении необходима локализация интерфейсов конфигураций 1С. О том, как выглядит процесс перевода, какие инструменты для этого есть, где брать переводчиков и как проверять их работу, на конференции Infostart Event 2018 Education рассказал руководитель группы локализации компании 1Ci Сергей Поликарпов.

05.11.2019    5257    user1069006    1    

ELK. Время изумительных историй!

Журнал регистрации Работа с интерфейсом v8 1cv8.cf Бесплатно (free)

Всем привет! Сегодня хочу рассказать вам несколько полезных историй про то как нам помог Elastic search в связке с Kibana. Про сам Elastic рассказывать не буду, уже все давным давно описали и до меня. Все обычно говорят что это полезно, это классно. В то же время, очень мало кто рассказывает про практические ситуации: когда и как помог Elastic. Итак, начнем.

31.10.2019    8961    slozhenikin_com    27    

Лайфхаки 1С (часть 2) Настройка работы интерфейса такси. Настройка и советы по работе

Работа с интерфейсом v8 1cv8.cf Россия Бесплатно (free)

Советы по настройке интерфейса Такси и особенности работы в этой среде.

24.10.2019    10256    VachKirp    10    

Хитрости компоновки данных: программное формирование заголовков отчета и колонок без использования макетов. Промо

Работа с интерфейсом v8 1cv8.cf Россия Бесплатно (free)

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

27.07.2012    32275    milkers    10    

Создание асинхронных виджетов

Работа с интерфейсом v8 1cv8.cf Бесплатно (free)

Описание нескольких способов создания асинхронных виджетов для 1С:Предприятия. Рассматриваются способы с использованием HTTP-сервисов и фоновых заданий.

16.10.2019    13200    YPermitin    19    

Формы. Трудности программной работы

Работа с интерфейсом v8 v8::УФ 1cv8.cf Бесплатно (free)

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

06.10.2019    12007    YPermitin    31    

Лайфхаки 1С (часть 1). Настройки отчетов и печатных форм 1С

Работа с интерфейсом v8 1cv8.cf Россия Бесплатно (free)

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

02.10.2019    12925    VachKirp    10    

Рабочее место кассира для touch-screen и программируемой клавиатуры продавца в «1С: Розница» Промо

Работа с интерфейсом v8 Розница Бесплатно (free)

Вашему вниманию предлагается текст одного из технических проектов «1С: Розница 8», он описывает процесс разработки интерфейса РМК, с которым, нынче, работают кассиры очень многих магазинов.

29.11.2012    46873    aavolkoff    50    

Добавляем виджет "Задачи от меня" в Документооборот 2.1

Практика программирования Работа с интерфейсом v8 v8::Бизнес-процессы ДО Россия Бесплатно (free)

Небольшая доработка Документооборота 2.1 для возможности добавления виджета "Задачи от меня" в обработку Текущие дела.

25.09.2019    7849    Sergey_Borisovi4    3    

[Шпаргалка] Программное создание элементов формы

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

Программное создание практически всех популярных элементов формы.

06.09.2019    55916    rpgshnik    63    

[Механизм интерфейса] Часы

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

Добавляем цифровые часы на форму, как бонус рассмотрим вариант и с аналоговыми.

26.08.2019    10083    rpgshnik    36    

Бухгалтерия предприятия 3.0 интерфейс, аналогичный 1С:Бухгалтерии 7.7; Промо

Работа с интерфейсом v8 БП2.0 Россия Бесплатно (free)

Бухгалтерия предприятия, редакция 3.0, версия 3.0.14. Добавлена возможность использовать интерфейс, аналогичный 1С:Бухгалтерии 7.7;

20.09.2012    37353    dour-dead    18    

Произвольная начальная страница через расширение (программно)

Работа с интерфейсом v8 1cv8.cf Бесплатно (free)

Установка своей формы произвольному пользователю на начальную страницу.

14.08.2019    13019    nagaitseff    15    

Подходы, методы и инструменты UX/UI для разработки эффективных интерфейсов на 1С

Работа с интерфейсом Инструментарий разработчика v8 Бесплатно (free)

Интерфейсам в 1С обычно уделяют мало внимания. Это в итоге снижает востребованность платформы, делает ее неконкурентной, лишает большой доли рынка. Как не потерять старых клиентов и привлекать новых с помощью интерфейсов, а главное – как сделать «правильный» интерфейс, рассказал участникам конференции Infostart Event 2018 Education управляющий партнер и основатель консалтинговой группы WiseAdvice Иван Тягунов.

07.08.2019    11453    IvanAT1981    15    

БСП: Дополнительные отчеты и обработки - одна обработка, несколько форм

Практика программирования Работа с интерфейсом БСП (Библиотека стандартных подсистем) v8 Бесплатно (free)

Как в одной дополнительной обработке разместить несколько форм с типом команды "ОткрытиеФормы"?

29.07.2019    11100    dsdred    9    

Выбор вариантов отчета в "Управление торговлей" ред. 11 Промо

Работа с интерфейсом Учет ТМЦ Учет ТМЦ v8 УТ10 Россия БУ Бесплатно (free)

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

27.05.2012    46985    1cUserAndrew    25    

Пользовательские настройки системы компоновки данных

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

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

09.07.2019    29070    ids79    2    

Подсистема "Варианты отчетов". Используете ли Вы ее правильно?

Работа с интерфейсом БСП (Библиотека стандартных подсистем) v8 1cv8.cf Бесплатно (free)

Небольшая история про использование подсистемы "Варианты отчетов" из БСП. Используете ли Вы ее правильно?

04.06.2019    43523    YPermitin    52    

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

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

В продолжение статьи Использование регулярных выражений (RegExp) в 1С8.х. Углубляемся в практику использования регулярных выражений в 1С. Основы работы с регулярными выражениями хорошо описаны в указанной публикации. А я попробую ответить на вопрос "почему именно регулярные выражения?" на примере конкретной рабочей задачи.

26.10.2011    30009    1cspecialist    33    

Расшифровка отчета на СКД с детализацией по выбранному полю на основе БСП

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

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

14.05.2019    20698    Viktor_Ermakov    8    

Свой макет оформления отчета

Работа с интерфейсом v8 v8::СКД Россия Бесплатно (free)

Пример создания и оформления и применения своего (пользовательского ) макета оформления для СКД.

24.04.2019    14041    olegpkc    5    

Универсальный отчет - "тонкая" настройка

Работа с интерфейсом v8 ERP2 БП3.0 УТ11 КА2 Бесплатно (free)

Как вывести реквизиты в отдельную колонку. Как получить больше настроек в 1С:ERP 2 (2.4.7.107) или 1С:КА2. (2.4.7.127) или БП 3.0 (3.0.67.74).

14.04.2019    7830    Константин С.    2    

Допиливаем форму выбора серий номенклатуры для отображения остатков Промо

Практика программирования Работа с интерфейсом v8 КА1 УТ10 УПП1 Россия Бесплатно (free)

В этой статье я хочу рассмотреть задачу, которая довольно часто возникает у начинающих (и не только) разработчиков, адаптирующих типовые конфигурации (УТ, КА, УПП) на предприятиях торговли. Речь пойдет про отображение остатков в форме выбора серий номенклатуры при подборе в документы. Это актуально в тех случаях, когда не ведется партионный учет по сериям, либо когда документы вводятся неоперативно и нет возможности воспользоваться волшебной кнопкой "Заполнить и провести". На первый взгляд задача банальна, но я хочу показать некоторые "грабли", на которые часто наступают новички в процессе ее реализации, а также сопоставлю алгоритмы решения на платформе 8.1 и 8.2.

20.01.2011    32325    practik1c    19    

Как добавить типовую форму для СКД (для начинающих) (1С 8.3, управляемые формы)

Инструментарий разработчика Работа с интерфейсом v8 v8::УФ v8::СКД Бесплатно (free)

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

25.03.2019    13950    ellavs    9    

Как вывести дополнительные реквизиты на форму списка справочника Графики работы сотрудников. Управляемые формы. Без снятия конфигурации с поддержки

Работа с интерфейсом Зарплата Зарплата v8 ERP2 ЗУП3.x Россия БУ Бесплатно (free)

Как вывести дополнительные реквизиты на форму списка справочника Графики работы сотрудников Подходит для ERP, ЗУП v. 3.0; 3.1

24.02.2019    10358    EVP_EVP    7    

Раздельный вывод частей даты на форму без программирования

Работа с интерфейсом v8::УФ 1cv8.cf Бесплатно (free)

Небольшой лайфхак для повышения удобства редактирования пользователем полей с типом "Дата".

12.01.2019    9391    drmaxart    20