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

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

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

Состояние 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 1222 24.09.20 11:09 Сейчас в теме
Не хватает cfe с примером, чтобы не перепечатывая код с картинок проверить этот вариант работы.
То что выделяется стой данных хорошо, потенциальный переход к работе с API.

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

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

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

См. также

Чистка пользовательских настроек динамического списка после удаления полей

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

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

20.02.2023    561    dovolos    0    

15

Использование языковой модели GPT3 для создания интерфейса 1С на естественном языке

Работа с интерфейсом Платформа 1С v8.3 1С:Управление торговлей 11 Бесплатно (free)

Я взял типовую конфигурацию УТ редакции 11.5 Немного доработал запрос к языковой модели GPT-3 и получил возможность обращаться к учетной системе на естественном языке

15.01.2023    9152    mkalimulin    121    

73

Разбор ошибок заполнения реквизитов формы объекта (мой топ-3)

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

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

30.08.2022    1848    zeltyr    4    

18

{UI/UX} Свой всплывающий информер у элемента формы

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

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

12.08.2022    4527    rpgshnik    36    

81

Распознавание и загрузка документов в 1С Промо

Универсальная программа-обработка для распознавания любых сканов или фото первичных документов в 1С (счета-фактуры, УПД, ТТН, акты и тд). Точность распознания до 98%.

от 11 рублей

Динамическая кнопка VS Комбинация клавиш

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

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

08.08.2022    5404    sapervodichka    33    

76

Модель состояния для MVC

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

"MVC плохо применима в 1С" - познакомьтесь с моделью состояния и, возможно, ваше мнение поменяется! Представленное решение является эволюционным развитием идеи реализации MVC для 1С. В новой версии добавлены DSL для описания модели состояния, а также параметризация свойств параметров и элементов формы.

1 стартмани

05.07.2022    1313    kalyaka    0    

14

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

Работа с интерфейсом Универсальные функции Платформа 1С v8.3 Конфигурации 1cv8 Россия Бесплатно (free)

Функционал данного механизма служит для программного вывода "Таблицы значений" в реквизит управляемой  формы с типом "ДанныеФормыКоллекция". Может быть полезен в задачах, где состав колонок выгружаемой таблицы значений может меняться.

15.04.2022    4954    ns_bulatov    5    

11

Восстановление пропавшего меню в интерфейсе с обычными формами без полной чистки кеша

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

Как многим известно, пользователь в обычных формах может убрать любую панель из интерфейса так, что восстановить ее можно только чисткой кеша. Но как быть, если кеш жалко :?

21.12.2021    1580    bulpi    4    

13

Программный интерфейс для доработки форм

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

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

25.11.2021    6343    AtamanovYS    19    

119

Работа с 1С:Аналитика Промо

Онлайн-курс предусматривает изучение возможностей системы “1С:Аналитика”, которая работает как составная часть платформы “1С:Предприятие” и обеспечивает оперативный просмотр и анализ необходимых данных.

4500 рублей

Программно свернуть/развернуть узел динамического списка (с основной таблицей). Жирная точка над всеми "i".

Работа с интерфейсом Универсальные функции Платформа 1С v8.3 Бесплатно (free)

Какой пользователь не мечтал поменьше тыркать кнопкой? Особенно в малюсенькие +/- в "древесных" динамических списках. Если вас тоже озадачили, чтобы, при выборе узла дерева сами развернулись все его вложенные элементы , а при выборе другого узла - так же автоматом свернулась ранее развернутая ветка (причем эти узлы могут находится в разных "отношениях" друг с другом)... То вам - сюда.

08.10.2021    3540    e-9    13    

21

Как читать чужой код? Часть 4. Программный интерфейс. Исправление чужих доработок

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

Во всех вакансиях есть требование - умение читать чужой код. Но ни на одних курсах специально этому не учат. Чтобы устранить это противоречие, пишу данную статью. Рассмотрю случаи, в которых нам необходимо разбирать чужой код, поймём, чей код мы пытаемся разобрать, зачем и, главное, как. В статье описан личный опыт длиною в 18 лет начиная с версии платформы 7.7. Статья будет большой, набираемся терпения). Статья содержит в себе описание сценариев разбора кода, т.е. набор шагов. В статье не получится показать это на практике. Для этого планирую сделать онлайн или оффлайн курс, где на примерах будет показан разбор незнакомого кода. Статья разбита на 4 публикации для удобства изучения.

20.09.2021    4469    biimmap    9    

51

Изменение размера картинок "на лету" с помощью NGINX

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

Пример использования nginx и image_filter для сжатия картинок.

26.05.2021    2864    malikov_pro    21    

29

Динамический список и поиск... неприятностей

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

Страх и ненависть в поиске по динамическому списку, или "Кое-что о неоптимальном отборе".

17.03.2021    10368    Yashazz    37    

50

Программы для исполнения 488-ФЗ: Маркировка товаров Промо

1 января 2019 года вступил в силу ФЗ от 25.12.2018 № 488-ФЗ о единой информационной системе маркировки товаров с использованием контрольных (идентификационных) знаков, который позволяет проследить движение товара от производителя до конечного потребителя. Инфостарт предлагает подборку программ, связанных с применением 488-ФЗ и маркировкой товаров.

Пример работы с диаграммой Ганта в 1С

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

Пример работы с очень нужным и важным, по моему мнению, объектом в 1С «Диаграммой Ганта».

24.02.2021    13189    JIEX@    4    

32

Программное условное оформление динамического списка, раскраска строк списка по цветам справочника или любым другим условиям (условное оформление)

Работа с интерфейсом Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Бесплатно (free)

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

30.11.2020    15129    SizovE    6    

45

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

Работа с интерфейсом Мобильная разработка Платформа 1С v8.3 Мобильная платформа Конфигурации 1cv8 Бесплатно (free)

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

02.11.2020    12986    leobrn    82    

105

Быстрая кодогенерация программной доработки форм

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

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

12.10.2020    3033    huxuxuya    29    

21

Цветовая схема конфигуратора в стиле OneScript

Работа с интерфейсом Платформа 1С v8.3 Конфигурации 1cv8 Россия Бесплатно (free)

Цветовая схема конфигуратора 1С максимально приближенная к стандартной цветовой схеме OneScript в VS Code.

01.10.2020    2123    DmitrySinichnikov    4    

11

Видеокурс-практикум: как подготовить и написать ТЗ, ЗНР, ЧТЗ. Промо

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

3 500 рублей

[Общий модуль] Динамическое формирование интерфейса

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

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

28.08.2020    28421    rpgshnik    87    

274

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

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

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

14.08.2020    5546    DrZombi    15    

17

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

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

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

10.06.2020    8191    RotaninV    7    

12

Форма выбора (подбор) в управляемых формах

Универсальные функции Работа с интерфейсом Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Россия Бесплатно (free)

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

08.05.2020    164929    user5300    37    

275

Готовые переносы данных из различных конфигураций 1C Промо

Рекомендуем готовые решения для переноса данных из различных конфигураций 1C. C техподдержкой от разработчиков и гарантией от Инфостарт.

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

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

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

11.03.2020    10628    rule_2    6    

20

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

Математика и алгоритмы Работа с интерфейсом Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

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

18.02.2020    8277    randomus    20    

75

[Шпаргалка] Предустановка типа для составного реквизита

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

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

18.02.2020    12674    rpgshnik    6    

25

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

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

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

13.01.2020    67038    aximo    23    

195

Программы для исполнения 54-ФЗ Промо

С 01.02.2017 контрольно-кассовая техника должна отправлять электронные версии чеков оператору фискальных данных - правила установлены в 54-ФЗ ст.2 п.2. Инфостарт предлагает подборку программ, связанных с применением 54-ФЗ, ККТ и электронных чеков.

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

Работа с интерфейсом Платформа 1С v8.3 1С:Документооборот Бесплатно (free)

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

30.12.2019    8865    pavelpribytkin96    2    

23

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

Работа с интерфейсом Платформа 1С v8.3 1С:Документооборот Бесплатно (free)

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

14.12.2019    7415    pavelpribytkin96    2    

34

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

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

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

09.12.2019    15602    John_d    17    

119

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

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

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

03.12.2019    28764    VachKirp    14    

22

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

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

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

03.12.2019    12074    Vlan    44    

24

1СПАРК РИСКИ. Сервис оценки благонадежности контрагентов. Промо

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

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

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

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

12.11.2019    20648    John_d    29    

122

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

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

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

05.11.2019    7288    user1069006    2    

15

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

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

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

31.10.2019    10784    slozhenikin_com    28    

33

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

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

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

16.10.2019    16184    Infostart    19    

155