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

04.08.22

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

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

Скачать исходный код

Наименование Файл Версия Размер
Модель состояния для MVC - демо
.dt 121,28Mb
3
.dt 1.0.0.3 121,28Mb 3 Скачать
Модель состояния для MVC - конфигурация для обновления
.cf 98,62Kb
1
.cf 1.0.0.3 98,62Kb 1 Скачать

MVC элементы формы топологическая сортировка граф зависимостей приоритетная очередь

См. также

Управление дашбордами

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

Обработка предназначена для создания и управления дашбордами.

2400 руб.

29.06.2020    17103    23    4    

37

Новогоднее оформление для 1С

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

Добавьте новогоднего настроения! Расширение создает декорацию в виде гирлянды на некоторых формах объектов.

27.12.2023    11572    771    elcoan    46    

107

Конструктор HTML, CSS и javascript

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

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

2 стартмани

10.04.2023    10129    156    acces969    31    

119

Модель распределения суммы по базе

Математика и алгоритмы Программист Платформа 1С v8.3 Россия Абонемент ($m)

Обычно под распределением понимают определение сумм пропорционально коэффициентам. Предлагаю включить сюда также распределение по порядку (FIFO, LIFO) и повысить уровень размерности до 2-х. 1-ое означает, что распределение может быть не только пропорциональным, но и по порядку, а 2-ое - это вариант реализации матричного распределения: по строкам и столбцам. Возможно вас заинтересует также необычное решение этой задачи через создание DSL на базе реализации текучего интерфейса

1 стартмани

21.03.2022    8126    7    kalyaka    11    

44

Работа с данными заполнения

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

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

1 стартмани

26.02.2022    8646    2    kalyaka    4    

15

Условное оформление элементов форм в пользовательском режиме 1С (управление видимостью и доступностью элементов форм)

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

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

6000 руб.

18.01.2022    9072    1    2    

6
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. alexander-lubich 28 04.04.23 16:07 Сейчас в теме
Где это применять?
Global__IT; +1 Ответить
2. kalyaka 1079 04.04.23 22:24 Сейчас в теме
В статье я постарался свести весь свой опыт по реализации модели MVC на платформе 1С. Эта статья своего рода ретроспектива создания нового решения для MVC с использованием DSL. Материал достаточно сложный, согласен. Нужно понимать суть модели MVC и суть решения через создание собственного языка программирования (DSL).

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

Отвечая на Ваш вопрос, можно сказать, что область применения представленного решения - это, по сути, весь "фронтенд" на 1С в управляемом интерфейсе. А идеи статьи можно применять не только в интерфейсе.
3. Global__IT 278 08.04.24 01:45 Сейчас в теме
Не совсем понятно какой эффект это даёт. Скорость разработки? Снижение стоимости дальнейшей поддержки ? Проще говоря - зачем?
4. kalyaka 1079 08.04.24 08:22 Сейчас в теме
(3) Мне, как профессиональному разработчику, понятна тема. Но вновь прочитывая статью, чтобы вспомнить контекст, я понимаю, что тема то на самом деле сложная.

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

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

Тут конечно можно возразить, что и при "традиционном" подходе можно вынести все процедуры обработчиков в общий модуль и вызвать их из разных режимов. Но даже в этом случае вам придется писать больше кода, т.к. потребуется некоторая "объвязка" для поддержки разных режимов вызова (интерактивный / система-система). Когда при использовании MVC все эти "объвязки" уже вынесены в отдельный фреймворк и разработчику требуется только встроиться в него.
Оставьте свое сообщение