использование обычных форм возможно

1С обычные формы привязки

Съехала форма в 8.2.

Если нарушилось масштабирование формы, вы её растягиваете, а элементы не растягиваются следом или съезжают.
Так же при разработке (доработке) форм.

В конфигураторе нажмите Ctrl+R, растягивайте форму и смотреть где краснота. У этих элементов проверяйте привязки.

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

Элементы формы 1С

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

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

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

В элементах управления данные не хранятся!

использование обычных форм возможно

Элемент управления «Панель»

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

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

Решение, понятно, для обычных форм) в управляемых за нас делают разрабы)

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

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

Тестировал на 8.2.19.

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

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

использование обычных форм возможно

использование обычных форм возможно

использование обычных форм возможно

использование обычных форм возможно

использование обычных форм возможно

использование обычных форм возможно

использование обычных форм возможно

использование обычных форм возможно

использование обычных форм возможно

использование обычных форм возможно

использование обычных форм возможно

использование обычных форм возможно

использование обычных форм возможно

Программная свертка элементов на форме

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

К тому же цена в 5 стартмани как бы намекает, что автор толкает этот антиквариат в расчете на Буратино.

у меня пост-праздничный синдром и все кажется кривым, корявым и недосказанным, простите.

Спрос рождает предложение. За 5 см обработку скачают 1 раз, за 2 см – пять раз, за 1 см – сто раз. Автор этого не понимает (к счастью для нас).

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

К тому же цена в 5 стартмани как бы намекает, что автор толкает этот антиквариат в расчете на Буратино.

у меня пост-праздничный синдром и все кажется кривым, корявым и недосказанным, простите.

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

Левый эл1
Левый эл2

Эл свертки 1
Эл свертки 2
Эл свертки 3
Эл свертки 4
Эл свертки 5

И сворачивает любые элементы хорошо, но вот когда разворачивает, тч1 которая привязана к нижней границе Эл свертки 5, через раз остаётся на месте, а элементы все на неё лезут ), не сталкивались с таким?

P.S. Даже если закрыть и открыть форму ей всё так же плохо) только перезапуск помогает)

См. также

Декомпиляция условного оформления 48

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

23.12.2019 1966 17 XilDen 3

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

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

Многоуровневые списки выбора с оформлением элементов 38

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

Источник

Интерфейсные механизмы 1c. Список вопросов 1c :Профессионал Платформа 8.3

Проверьте свои знания на тему “Интерфейсные механизмы 1c” по экзамену для сертификата 1с Профессионал.

Список вопросов 1c :Профессионал Платформа 8.3 Глава 10

Навигация (только номера заданий)

0 из 131 заданий окончено

Информация

10. Интерфейсные механизмы

Вы уже проходили тест ранее. Вы не можете запустить его снова.

Вы должны войти или зарегистрироваться для того, чтобы начать тест.

Вы должны закончить следующие тесты, чтобы начать этот:

Результаты

Правильных ответов: 0 из 131

Вы набрали 0 из 0 баллов ( 0 )

Рубрики

Какие виды форм позволяет использовать Платформа 8.3?

Использование обычных форм возможно:

Использование управляемых форм возможно…

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

Для чего служит основной реквизит формы?

Для чего нужны реквизиты формы?

Что бы произвольной управляемой форме назначить основной реквизит…

Что бы произвольной обычной форме назначить основной реквизит…

При наличии одного основного реквизита формы можно ли добавить еще один основной реквизит?

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

В качестве основной формы можно назначить?

Как определяется рабочая область рабочего стола?

Разместить формы в области рабочего стола можно:

Начальную страницу можно отобразить:

Управляемые формы списков можно отобразить:

Настройка формы в режиме исполнения позволяет:

Настройка списка в режиме исполнения позволяет:

Какие возможности по настройке порядка обхода элементов в управляемой форме существуют в системе 1С:Предприятие 8?

Панель навигации может существовать:

Параметры формы предназначены:

При наличии одного ключевого параметра можно ли добавить еще один ключевой параметр формы?

Чем отличается ключевой параметр формы от обычного?

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

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

Для добавления команды в виде кнопки на обычной форме можно:

С помощью элемента управления “Индикатор” можно:

На рисунке представлена:
использование обычных форм возможно

Поведение элементов управления…

С помощью элемента управления “Переключатель” можно:

Возможность системы создания “налету” форм по умолчанию в режиме “1С:Предприятие”…

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

Для хранения значения элемента управления “Переключатель” можно использовать:

При использовании свойства диаграммы “МаксимумСерийКоличество”, если количество серий превышает максимальное значение:

Для чего используются привязки в обычной форме?

При расположении в панели обычной формы элементов управления…

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

Значение типа “ЗначениеДиаграммы” позволяет получить:

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

Элемент управления “Надпись” предназначен:

Свойство диаграммы “БазовоеЗначение” содержит:

При размещении элементов управления в форме нельзя…

Если для элемента управления “Надпись” в качестве источника данных указан реквизит справочника, то выводимая надписью информация будет определяться:

Сколько может быть создано форм, подчиненных справочнику “Номенклатура”?

Элемент управления “Поле HTML-документа” предназначен:

Редактировать HTML-документ, отображаемый в элементе управления “Поле HTML-документа”, можно:

HTML-документ в элементе управления “Поле HTML-документа” может быть сформирован:

Список значений, используемый в элементе управления “Поле выбора”, может быть сформирован:

Можно ли, нажав на картинку, выполнить некоторые действия?

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

С помощью элемента управления “Поле текстового документа” можно отображать и редактировать:

Элемент управления “Разделитель” позволяет:

Визуально объединять элементы управления, размещенные в форме, можно с помощью:

Поясняющая информация на элементе управления “Кнопка” может быть представлена в виде:

В качестве обработчика события “Нажатие” элемента управления “Кнопка” может быть:

Можно ли при нажатии на элемент управления “Кнопка” осуществить вызов подменю?

Сколько элементов управления “Командная панель” расположено на форме?
использование обычных форм возможно

Для управления информацией, расположенной в форме, элемент управления “Командная панель” может содержать:

Каким образом для элемента управления “Командная панель” реализовать возможность его автоматического заполнения?

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

Источник

Инструменты пользователя

Инструменты сайта

Боковая панель

Базовые положения

Общие объекты

Общие метаданные

Прикладные объекты

Содержание

Формы

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

Типы форм

Формы делятся на два типа: обычные и управляемые, обычные формы это формы которые были в линейке 8 с самого начала и по текущий момент. Смысл этих форм заключается в том что форма в прямом смысле рисуется разработчиком, он указывает на то место (вплоть до пикселя)где будут располагаться элементы формы. Обычные формы работают только в толстом клиенте, в то время когда управляемые формы работают и в толстом и в тонком клиенте. Управляемые формы доступны в версии 1С начиная с 8.2 и выше и только когда конфигурация настроена как «Управляемое приложение». В тонком клиенте возможно использование только управляемых форм. Управляемую форму нельзя нарисовать мышкой. Элементы в ней не рисуются, а декларируются или объявляются, что накладывает некоторые ограничения. Вы можете указать что реквизиты будут группироваться горизонтально а не вертикально к примеру, но нельзя указать системе: «вон то поле ввода на 2пикселя выше пусть будет». В управляемых формах код делится строго на клиентский и серверный. В обычных формах можно встретить некоторые серверные ограничения только в режиме клиент-сервер и только для функций которые не расположены в модулях форм.

Программное открытие формы

Принадлежность форм

Разница между элементами формы, и реквизитами объекта.

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

Обращение к данным формы из модуля объекта.

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

«Толстые» объекты на управляемой форме.

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

Преобразование Реквизит – Данные формы и обратно.

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

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

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

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

Источник

Формы

использование обычных форм возможно

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

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

использование обычных форм возможно

Наряду с этим, могут существовать общие формы, не принадлежащие конкретным объектам конфигурации — общие формы.

использование обычных форм возможно

Основные формы

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

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

использование обычных форм возможно

А у документа Поступление товаров и услуг состав основных форм будет уже другим:

использование обычных форм возможно

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

Автогенерируемые формы

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

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

Связь формы с данными

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

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

использование обычных форм возможно

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

Структура формы

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

Отображаемая часть формы (видимая пользователю) описывается как дерево, включающее элементы формы.

использование обычных форм возможно

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

использование обычных форм возможно

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

использование обычных форм возможно

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

использование обычных форм возможно

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

использование обычных форм возможно

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

использование обычных форм возможно

Механика работы форм

использование обычных форм возможно

использование обычных форм возможно

Редактор форм

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

использование обычных форм возможно

Авторы: В.А. Ажеронок, А.В. Островерх, М.Г. Радченко, Е.Ю. Хрусталева

Источник

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

Подсистема в 1С 8.3 — объект древа метаданных, который отвечает за построение командного интерфейса конфигурации.

использование обычных форм возможно

Подсистемы в 1С 8.2

Ниже в статье речь пойдет о подсистемах начиная с версии 8.2.

Дело в том, что в версии 8.1 (как и для обычного приложения 8.2) тоже были подсистемы, но они служили совершенно для других целей, скорее, для разработчика, чем для пользователя. С помощью подсистем в 8.1 обычно разделяли разный функционал. Также подсистемы помогали при объединении разных конфигураций 1С — можно было указать, какую систему переносить.

Подсистемы 1С и интерфейс для программиста

В версиях 8.3 и 8.2 подсистемы — это основной инструмент построения командного интерфейса пользователя. Объекты метаданных «Подсистемы» имеют иерархическую структуру, чтобы настроить «подменю» в интерфейсе, необходимо добавить подчиненную подсистемы:

использование обычных форм возможно

Свойства и настройки

Рассмотрим настройки и свойства подсистем в конфигураторе:

использование обычных форм возможно

Получите 267 видеоуроков по 1С бесплатно:

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

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

использование обычных форм возможно

Картинка — картинка, назначенная для подсистемы, отображается в режиме предприятия. Можно выбрать стандартную картинку, а можно добавить свою, предварительно создав её как объект конфигурации Картинка:

использование обычных форм возможно

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

Вкладка Состав определяет набор объектов метаданных, участвующих в данной подсистеме.

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

Если не отображается отчет или обработка в управляемом интерфейсе

Эта проблема очень часто возникает у начинающих разработчиков — вроде отчет или обработка была добавлена в состав подсистемы, а её не видно.

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

Вторая причина — на вкладке Команды объекта установлена галка «Использовать стандартные команды». Связано это с тем, что для открытия обработки может быть описана как своя процедура, так и использована стандартная:

использование обычных форм возможно

Почему не отражается новая подсистема в интерфейсе 1С?

Возможно, просто Вы забыли указать галочку «Включить в командный интерфейс»:

использование обычных форм возможно

Если Вы начинаете изучать 1С программирование, рекомендуем наш бесплатный курс (не забудьте подписаться на YouTube — регулярно выходят новые видео):

К сожалению, мы физически не можем проконсультировать бесплатно всех желающих, но наша команда будет рада оказать услуги по внедрению и обслуживанию 1С. Более подробно о наших услугах можно узнать на странице Услуги 1С или просто позвоните по телефону +7 (499) 350 29 00. Мы работаем в Москве и области.

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

Формы объектов используются системой для визуального отображения данных в процессе работы пользователя.

Составляющие управляемой формы 1С:

использование обычных форм возможно

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

В отдельном окне, в нижней части редактора, отображается внешний вид формы в режиме 1С:Предприятие.

Редактирование элементов формы 1С

Элементы формы 1С

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

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

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

В элементах управления данные не хранятся!

Для управляемой формы, список элементов управления доступен из соответствующего окна:

использование обычных форм возможно

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

Цель статьи – показать применение шаблонов Remote Facade и Data Transfer Object к структуризации кода, управляемой формы в среде 1С 8.2.

Введение

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

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

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

Перечислим директивы компиляции методов формы:

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

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

Обозначим проблему

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

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

По сути, структура кода отсутствует, или мягче говоря, она аналогична тому, что было в формах 8.1:

Зачем нужна структура кода?
Почему существующий стандарт разработки от фирмы 1С не помогает?

Посмотрим опубликованные на дисках ИТС и в различных «Пособиях разработчика…» принципы, рекомендуемые при написании управляемой формы.

Это лозунги, абсолютно верные, но как их реализовать? Как минимизировать число вызовов, что значит программировать в клиент-серверном режиме?

Шаблоны проектирования или мудрость поколений

Клиент-серверное взаимодействие используется в различных программных технологиях не один десяток лет. Ответ на обозначенные в предыдущем разделе вопросы давно известен и суммирован в двух базовых принципах.

Слово Мартину Фаулеру, его описание данных принципов:

Примеры шаблонов в платформе 1С

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

Сравните с принятым в v8.1 стилем.

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

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

Часто явное преобразование используется при адаптации существующего решения. Методы могут ожидать (использовать особенности) входные параметры, например ТаблицаЗначений, а не ДанныеФормыКоллекция, или метод был определен в контексте прикладного объекта и стал недоступен для прямого вызова из формы.
Пример 1С v8.1:

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

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

Структурируем код

Главные цели, которые должен отражать модуль управляемой формы и подходы к решению.

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

Источник

Добавить комментарий

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