gifts2017

Развитие управляемого интерфейса в 1С 8.2 - 1С 8.3

Опубликовал Осипов Сергей (fixin) в раздел Программирование - Практика программирования

К управляемым формам, которые появились в 8.2, я до сих пор относился презрительно. Считал это неудачной попыткой 1С следовать модным тенденциям в разработке интерфейсов и прогибом для возможности работать через браузер.
Я считал, что 1С пожертвовала простотой разработки в угоду веб-доступу.
Но после курсов Арутюнова Сергея по управляемому интерфейсу в июле 2015 года в УЦ1 я поменял ненависть на любовь. Звучит парадоксально, но это так. А теперь подробнее…

 

Управляемые формы

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

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

А так, конечно, УФ намного быстрее обычных, т.к. работают по трехзвенной схеме между клиентом и сервером.

Кроме того, сам функционал УФ намного богаче и шире, чем у обычных – неудивительно, прошло много времени, и в них попали многие интерфейсные находки.

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

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

 

Модальности, событийность и блокировки интерфейса

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

Каково же было мое удивление, когда в одном из примеров преподаватель вызвал открытие формы с параметром «Заблокировать весь интерфейс», т.е. по сути модально.

Я-то был уверен, что от модальности отказались.

Понимание пришло не сразу.

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

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

Т.е. платформа 1С избавилась от рудимента замораживания выполнения кода и перешла на полностью событийное управление формами.

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

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

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


Новые возможности интерфейса

Меню

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

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

Я так понял, что 1С посчитало неправильным, что прикладной объект Интерфейс не используют, и решила выпустить ему новую, продвинутую альтернативу.

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

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

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

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

Порядок обхода

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

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

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

Намного проще было бы создавать её программным кодом или использовать механизм вложенных форм.

Что так и не реализовано в 8.2-8.3

Я так и не дождался вложенных форм. Увы, их нет, хотя они использовались еще в древнем Access.

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

Функциональные опции и видимость элементов

В своё время RLS были созданы для того, чтобы показывать пользователям только отдельные записи таблиц.

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

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

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

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

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

 

Интерфейс 8.2 и интерфейс Такси

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

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

Непонятно, зачем было идти таким запутанным путем, если в итоге базовая система меню в 8.1 еще более экономно расходовала рабочее пространство экрана?

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

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

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

Не проработанная идеология

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

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

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

Сомнения в эффективности

Некоторые подходы 1С к usabilityвызывают сомнения.

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

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

Возможности сохранения настроек

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

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

Остальные вопросы

Что такое управляемые формы?

В управляемых формах код выполняется на клиенте и на сервере.

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

А сервер находится в непосредственном и быстром соединении с базой данных.

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

Именно так работают управляемые формы. При должной сноровке постоянное обращение к серверу не является сложностью.

Подобная организация эффективнее, чем подключение к серверу через удаленный доступ, кроме того, работа возможна непосредственно через браузер, т.е. на любой платформе – Windows, Linux, Android, MacOS.

Заметки по 1С россыпью

Здесь приведу заметки, которые писал для себя, они содержат ценные знания:

  1. В окне запуска 1С прописываются уже не информационные базы, а точки входа. Т.е. одна база может присутствовать несколько раз, но прописана для разных пользователей и разных инструментов работы – браузер, тонкий/толстый клиент, вход для администратора.
  2. Для администратора появился ключ, который отключает контроль ролей. Войти в Предприятие таким способом можно, только если доступны административные права на конфигурацию.
  3. Общие реквизиты – не путать их с общими реквизитами в 1С7, в 82 они используются для разделения доступа в интерфейсе.
  4. Часто использовал минимальную высоту списка в форме, чтобы избавиться от лишней полосы прокрутки формы.
  5. Не стоит хранить картинки в реквизите справочника, это приводит к падению производительности справочников, надо использовать регистр сведений.
  6. В процедурах сервера при передаче параметров нужно использовать ЗНАЧ, чтобы параметр не передавался обратно на сервер.
  7. Новые функции СтрНачинаетсяС и СтрЗаканчиваетсяНа, возможно и другие, с платформы 8.3.6.
  8. В 1с 8.2 появился привилегированный режим, т.е. можно отключать контроль прав доступа на уровне ролей на участках кода.
  9. Элементы формы список, таблица значений и дерево значений отличаются тем, что список на сервере и клиенте имеет одинаковое представление, а для таблицы и дерева создаются специальные объекты и их надо преобразовывать на сервере.
  10. Порадовало, что преподаватель любит называть объекты в единственном числе и называть модули с подчеркивания, чтобы эти модули шли первым по порядку в контекстной подсказке.

О жизни и вокруг 1С

Преподаватель утверждал:

  1. Разработку нужно вести с интерфейса.
    Мое мнение: Утверждение сомнительное, т.к. знание и опыт использование архитектуры платформы позволяет сразу идти от прикладных объектов, а интерфейс уже строить потом.
  2. Руководитель не вводит данные, только смотрит отчеты. А управляет не вводом данных в 1С, а телефоном и через секретаря. Поэтому руководителю достаточно браузера, а поля ввода нужны только для фильтрации данных.
    Мое мнение: Да, это похоже на истину.
  3. Критиковал БСП (Библиотека Стандартных Подсистем). В том плане, что из нее невозможно и очень сложно выделить необходимые модули.
    Мое мнение: Т.к. даже БСП не удалось разбить на модули, то и УПП не получается разбить на модули УТ, ЗУП, БП, Производство. И тут не платформа виновата, а неправильная методология написания типовых – не соблюдается модульность. Тот же
    Navision
    давно имеет возможность сначала продать клиенту бухгалтерию, а потом он может докупить торговлю, производство и зарплату при необходимости, без переписывания кода и перехода на новую программу.
  4. Типовые стали очень сложными, их затруднительно изменять. Опять же не из-за сложности платформы, а из-за неправильной организации типовых. При этом теряется основной принцип – быстрое и экономное сопровождение и доработка типовых конфигураций при необходимости.
  5. Был продемонстрирован вариант оформления заказа, когда слева в рабочей области находится номенклатура, справа – список заказов. Напротив номенклатуры можно ставить количество, затем перетаскивать ее в список заказов и формируется заказ.  Преимущество – не блокируется таблица заказов для создания нового заказа.
    Мое мнение: Преимущество надуманное – все же пользователям привычнее видеть отобранный товар в табличной части, можно сохранить этот заказ как черновик или скопировать заказ из шаблона. В общем, документы придуманы не зря.
  6. Объяснял разницу между разделами «Главное», «Важное», «Перейти», «Смотри также».
    Мое мнение: Лично я понял смутно, а значит, большинство так и не поймет эти заложенные в платформу нюансы
    usability
    в Такси. Поэтому интерфейсы будут выглядеть как раньше, как уже привыкли и пользователи, и программисты в 1С.
  7. В ячейке табличного поля на форме, источником которого является произвольный запрос, нельзя вводить данные, как в поле ввода. Это сделано в интересах usability, чтобы пользователь фокусировался на вводе данных в отдельном окошке.
    Мое мнение: Я привел пример с вводом в табличные части, где такое поле имеется, смысл запрета мне не понятен.
  8. Разводы возникают от сравнения супруга с другими людьми. Меньше сравнений – крепче брак.
  9. Иностранные языки легче изучать, когда изучаешь их сразу несколько, снимается зашоренность и зацикленность на одном родном языке.
  10. Иностранные языки невозможно изучать, если привязывать иностранное слово к слову на родном языке, нужно привязывать к образу. Цепочка иностранное слово – образ короче чем цепочка иностранное слово – родное слово – образ. В последнем случае мыслить на иностранном не получится.

 

Заключение

Выражаю благодарность преподавателю.

 

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

Теперь управляемые формы не пугают меня, а, наоборот, влекут познать их.

 

Надеюсь, и вы, читающие эту статью, по достоинству оцените управляемые формы.

См. также

Подписаться Добавить вознаграждение

Комментарии

1. Александр Окулов (PowerBoy) 27.07.15 06:41
А так, конечно, УФ намного быстрее обычных, т.к. работают по трехзвенной схеме между клиентом и сервером.


Это предложение я бы переписал так:

А так, конечно, УФ намного медленнее обычных, т.к. требуют время на их компоновку и формирование.
DAnry; geoprotos; rayastar; rusmil; bf19; userGJ; kharuz; Oleg_nsk; pis49; kudzia; arian89; корум; leonidol; GoodZone; wolfsoft; Рамзес; puh; gariki; Karmerruk; truba; realsevere; meuses; mars207; Aleksandtmt; orfos; Dmirily; roofless; Krio2; alek-sand-er; daMaster; orientir1C; DangerWulf; Dima_d; BigClock; oninfostart; ЛеваРоскошный; Aleks_Antonuk; Andle; vlasin; klinval; the1; Uncore; nerkadry; sergei2k; tormozit; bookodor; maxopik2; +47 Ответить 1
2. Осипов Сергей (fixin) 27.07.15 08:20
(1) компоновка происходит локально на компьютере, а вот данные гоняются по каналу связи, который может быть хоть веб-каналом, т.е. канал связи намного медленнее локального компьютера. Не надо экономить на спичках, надо видеть узкие места.
3. Николай Полубаров (prolog) 27.07.15 09:04
Макс Планк в своё время сказал, что новые идеи не вытесняют из нашего сознания старые представления. Просто отмирают сторонники старых идей. С большим уважением отношусь к данной публикации. С интересом её прочитал. На мой взгляд, при прочих равных условиях, есть большое преимущество у тех, кто начал осваивать разработку программ на 1C сразу с управляемого интерфейса.
FreeArcher; andy23; fixin; +3 Ответить 1
4. Виталий Барилко (Diversus) 27.07.15 09:17
(2) fixin, это все так, но вот сама отрисовка тормозит и за счет этого все медленнее...
Это признает сама 1С и 8.3.7 будет предложен новый механизм размещения элементов на форме
klinval; serg_gres; nerkadry; Yashazz; rusmil; +5 Ответить 3
5. Kostas (kostas) 27.07.15 09:44
Не забываем сказать о глюках УФ при растягивании формы.
6. Сергей Старых (tormozit) 27.07.15 09:51
Неявные контекстные серверные вызовы - одна из самых больших бед текущего механизма отрисовки управляемых форм. Например любое изменение видимости/доступности или заголовка их вызывает. Серьезно добавляют тормозов на больших формах.
artbear; Ali1976; nerkadry; Krio2; orientir1C; dj_serega; fixin; JohnyDeath; +8 Ответить 1
7. Андрей Карпов (karpik666) 27.07.15 10:02
Такой своеобразный личностный переход человека от обычных форм к управляемому интерфейсу с элементами конспекта лекций. Рад, что вы так быстро освоили управляемые формы.
8. Дмитрий Бухаров (dimonchik) 27.07.15 10:10
Спасибо. Было интересно почитать.
9. Яков Коган (Yashazz) 27.07.15 10:14
Дневничковая запись из серии "как я осваивал азы УФ и 8.3". Почему автор наивно думает, что этим личным заметочкам место на ИС, я не знаю. Ну давайте ещё делать публикации в духе "как я вчера делал перенумератор".

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

Лично я понял смутно, а значит, большинство так и не поймет
А ты за всех не говори, "гений".
userGJ; artbear; корум; logarifm; bonv; nixel; meuses; FedorovEvg; Dmirily; t278; Sol; daMaster; DimaBab; slazzy; DangerWulf; baton_pk; Dima_d; mikaizh; nSpirit2; temsan; Evil Beaver; vlasin; Новиков; karpik666; CyberCerber; Sheff; nerkadry; +27 3 Ответить 1
10. Осипов Сергей (fixin) 27.07.15 10:19
(9) Уважаемый, найдите мне статью, где раскрывается понятие модальности, разницы между 82 и Такси и нюансы организации навигации в 82-83? Тогда я скажу, что написал статью зря.

Эта статья - как бы ввод в тему управляемого интерфейса для тех, кто застрял на 81, все разжевывается очень доступно. Не надо вот этих наездов.
11. Осипов Сергей (fixin) 27.07.15 10:20
(3) я пережил переход с 77 на 80, и ниче. 77 уже не вспоминаю.
12. борян петров (TODD22) 27.07.15 10:38
(10) fixin, http://v8.1c.ru/o7/201301nm/ и тд.

Уважаемый, найдите мне статью, где раскрывается

Ваша статья то же не раскрывает данных понятий. Лишь общие фразы без конкретных примеров.
корум; IDija; Sol; Dima_d; Yashazz; temsan; vlasin; nerkadry; +8 1 Ответить 2
13. Осипов Сергей (fixin) 27.07.15 10:40
(12) если бы мне кто сказал эти общие фразы в свое время, когда я не имел представления об УФ, я был бы признателен. Понятие модальности например, раскрывается полностью.

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

Считайте мою статью аннотацией к этим материалам, картой к учебной курве.

Но опять же, если вы считаете что моя статья - это не новое слово, дайте ссылку на статью с подобной аннотацией, где разжевывается для новичков про УФ. "Под капотом УФ" я читал, это не про то. Итак, жду ссылки, или критику считаю необоснованной.
14. борян петров (TODD22) 27.07.15 10:59
(13) fixin,
Вы отсылаете к ИТС и 1С. Во-первых это ресурсы закрытые, а во-вторых это большой массив информации, там можно в трех соснах заблудиться.

Это не ИТС!
15. Осипов Сергей (fixin) 27.07.15 11:08
16. борян петров (TODD22) 27.07.15 11:16
(15) fixin,
Вы отсылаете к ИТС и 1С. Во-первых это ресурсы закрытые, а во-вторых это большой массив информации, там можно в трех соснах заблудиться.


Ссылка что я привёл это не ИТС. И к ней свободный доступ.
17. Осипов Сергей (fixin) 27.07.15 11:17
(4) Diversus, это нюансы реализации. Сам трехзвенный клиент-серверный подход в общем-то понятен
18. Осипов Сергей (fixin) 27.07.15 12:02
(12) замечательно, замечательно. И как программист, интересующийся УФ должен найти эту статью? Методом тотального чтения сайта 1С? еще раз - моя статья - краткая аннотация по теме новых гитек управляемого интерфейса. Более глубокое понимание можно получить в том числе и по вашей ссылке. Я описываю кратко и ёмко.

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

Да, возможно с вашей точки зрения 1с-ник должен штудировать блог Нуралиева, но я предлагаю ему съэкономить время и получить основные понятия из моей статью. Как то так.
19. борян петров (TODD22) 27.07.15 12:28
(18) fixin,
И как программист, интересующийся УФ должен найти эту статью?

А как он должен найти вашу статью?
Я же как то нашёл. И не я один.

Вообще, конечно, странно, что критикуя одну "дневничковую" запись, вы отсылаете к другой "Дневничковой" записи, на этот раз Нуралиева.

Я не критиковал вашу статью. Вы просили дать вам ссылку на более подробное описание. Я её вам дал. По остальным частным случаям то же есть ссылки.

Да, возможно с вашей точки зрения 1с-ник должен штудировать блог Нуралиева

Это ваши домыслы что должен делать 1Сник, а что нет... Но читать блог хорошее дело.
20. Андрей Овсянкин (Evil Beaver) 27.07.15 12:39
А fixin и Гений1С это один и тот же человек или нет?
21. борян петров (TODD22) 27.07.15 12:42
22. Капитан Немо (capitan) 27.07.15 12:47
Для тех кто не боится большого количества букс, по большому счету, есть книги корифеев - Коротко о главном. Новые возможности версии.
Но мы в свободной стране, а любая статья это в любом случае труд автора.
Было бы гораздо интереснее понять тенденцию развития интерфейса 1С, на мой взгляд.
Плюсов бы точно было больше.
Опять же на мой взгляд это попытка догнать HTML5 и в некотором роде гонка за собственным хвостом.
Т.е. в обозримом будущем вернется возможность создавать привязки, push уведомления со стороны сервера и т.п.
23. Яков Коган (Yashazz) 27.07.15 13:16
(20) Evil Beaver, он самый.
Не хочу переходить на личности, но со времён мисты мало что изменилось... И дело даже не в уровне и подробности, не в раскрытии. Дело в подаче. Я, аз грешен, копался в различии между модальностью и синхронностью применительно к 1С, аки тупой кодер, и тоже не особо много понял; но презентовал иначе... И когда потом мне, кроме, в общем, понятных наездов, накидали полезного, я не спорил, а благодарил.

(22) А вроде бы push от сервера уж обещали: http://v8.1c.ru/o7/201502push/index.htm
24. Иван Устьянцев (nSpirit2) 27.07.15 13:21
Подскажите а после перехода с 7.7 на 8 еще долго полыхало у людей кто помнит?
25. zero1 zero1 (zero1) 27.07.15 13:40
(18) >> странно, что критикуя одну "дневничковую" запись, вы отсылаете к другой "Дневничковой" записи, на этот раз Нуралиева

fixin, сравнил... Кто Нуралиев и кто ты... :)
26. Капитан Немо (capitan) 27.07.15 13:48
(23) Yashazz, немного не то, это для мобильной платформы
27. Осипов Сергей (fixin) 27.07.15 14:05
(19) я предоставляю возможность выбора - хотите читайте блог Нуралиева, хотите читайте мою сжатую аналитику. Выбор - это хорошо.

(20) да Фиксин = Гений1с

(23) могу позволить себе поспорить, чай не Чайник 1С.

(24) ХЗ, я сразу полюбил восьмерку за новые функции, особенно за SQL-подобный язык.

(25) кто? ггг.... Нуралиев написал подобную моей статью, где было бы кратко разжевано? Нет, он не пишет аналитику, он штампует посты в блог. Они технически подробные, но разрозненные. Наслаждайтесь тем, что я Вам даю. Сам мечтал о такой статье, когда знал только 81. Надо спасибо мне говорить, а не плеваться.
28. Александр Капустин (kapustinag) 27.07.15 14:30
Да уж...
Получилось типичное, к сожалению, развитие дискуссии - не в сторону предметного обсуждения тех вещей, с которыми не согласен, а на уровне "А ты кто такой?".
Раскройте глаза! На Инфостарте море публикаций типа "Печатная форма NNNN для документа ДДДДД конфигурации КККК", которые интересны лишь автору плюс 1-2-5 человек, у кого все звезды сошлись. А дискуссионных, содержащих не только факты, но и суждения - кот наплакал.

Я прочитал (0), и не считаю, что зря потратил время. Спасибо.
kote; Chrizt; Templ; Рамзес; Diego_Iv; gariki; talych; Fominro; Denis_Viktorovich; and-blag; e-tixom; klaus38; maxopik2; Krio2; ojiojiowka; MeCrazyJunkie; fixin; invertercant; andy23; dj_serega; dgolovanov; +21 1 Ответить 2
29. Иван Петров (dgolovanov) 27.07.15 15:11
(28) kapustinag, +1
Есть тут вполне определенный круг "эстетствующих ...", которые думают, что статьи на сайте пишутся исключительно для них и если ИМ они не подошли - то статья не годная.
Makushimo; MeCrazyJunkie; fixin; +3 Ответить
30. Сергей Галюк (dj_serega) 27.07.15 15:14
За статью спасибо. Сам вначале не понимал что такое УФ.
Как вызвать процедуру с модуля объекта?
Как получить макет текущего объекта?
и тд.

Но потом разобрался и сейчас программирую только на УФ. Недавно ковырялся в 7.7, так там даже с ftp на уровне платформы нельзя работать... Опять же, можно накодить и будет работать через cmd но...

Вообщем еще раз спасибо.
(6) tormozit, как ответили в (4), ждем 8.3.7. Посмотрим как они доработают этот функционал.
k_vasil; fixin; +2 Ответить
31. Дмитрий Царапкин (NeviD) 27.07.15 15:38
В процедурах сервера при передаче параметров нужно использовать ЗНАЧ, чтобы параметр не передавался обратно на сервер.

Подскажите, пожалуйста, это в каких ситуациях нужно использовать? Когда с клиента вызываем серверную процедуру?
Имеет смысл во всех серверных процедурах, в которых параметры не изменяются, проставлять "Знач"?
32. Андрей Овсянкин (Evil Beaver) 27.07.15 15:52
(23) Yashazz, ну тогда вопросов не имею))

Наслаждайтесь тем, что я Вам даю.


Вот тут регистр букв перепутан. "Я" надо было писать с большой, а "вам" - с маленькой )))
Makushimo; Krio2; +2 Ответить 1
33. Алексей Новиков (Новиков) 27.07.15 16:24
Автору спасибо. Время потратил не зря, хоть и прошелся по верхам. В очередной раз убеждаюсь, что БСП даже сами преподы не сильно жалуют, что не может не огорчать. Основные мифы-боязни об УФ раскрыл. Но могу только добавить, что скорее всего, знания, которые автор получил на курсе, ему пригодятся весьма опосредованно, т.к. насколько я помню, он работает в фране, а в оном как правило сопровождают и дорабатывают типовые конфигурации, в которых логика работы с управляемыми формами как таковыми вынесена в отдельные модули, коих тьма. И для быстрой решения той или иной задачи, полезно знать что и откуда дергать из типового функционала, нежели городить свою городуху. Но основы знать конечно нужно. В любом случае - автору удачи, и самое главное - чтобы полученные знания не смылись в унитаз, а были использованы в практической работе.

Имеет смысл во всех серверных процедурах, в которых параметры не изменяются, проставлять "Знач"?

Если при вызове сервера с клиента передавать параметры по значению, то получите выигрыш в производительности, равный времени передачи параметров с сервера на клиент. Но выдать какие-то рекомендации, связанные с тем, как передавать параметры в процедуры/функции весьма проблематично, т.к. это определяется логикой работы ВАШЕЙ конфигурации. Где-то нужно передавать параметры по ссылке, а где-то по значению. И до кучи, рекомендую прочитать немного путанную, но все таки официальную статью "Передача параметров по ссылке и по значению при вызове процедур и функций" на ИТС.
34. Н Ф (naf2000) 27.07.15 16:29
(31) NeviD, просто оставлю это здесь

&НаСервереБезКонтекста
Процедура КомандаНаСервере(Массив1,Массив2,Знач Массив3,Знач Массив4)
	Массив1.Очистить();
	Массив2 = Новый Массив();
	Массив3.Очистить();
	Массив4 = Новый Массив();
КонецПроцедуры

&НаКлиенте
Процедура КомандаНаКлиенте(Массив1,Массив2,Знач Массив3,Знач Массив4)
	Массив1.Очистить();
	Массив2 = Новый Массив();
	Массив3.Очистить();
	Массив4 = Новый Массив();
КонецПроцедуры

&НаКлиенте
Функция ФормируемМассив()
	М = Новый Массив();
	М.Добавить("нечто");
	Возврат М;
КонецФункции	

&НаКлиенте
Процедура СообщимМассив(Массив)

	Сообщить("Количество = "+Массив.Количество());	

КонецПроцедуры

&НаКлиенте
Процедура Команда1(Команда)  //обработчик непосредственно команды
	Массив1 = ФормируемМассив();
	Массив2 = ФормируемМассив();
	Массив3 = ФормируемМассив();
	Массив4 = ФормируемМассив();
	КомандаНаСервере(Массив1,Массив2,Массив3,Массив4);
	СообщимМассив(Массив1); //0
	СообщимМассив(Массив2); //0
	СообщимМассив(Массив3); //0
	СообщимМассив(Массив4); //1
	Массив1 = ФормируемМассив();
	Массив2 = ФормируемМассив();
	Массив3 = ФормируемМассив();
	Массив4 = ФормируемМассив();
	КомандаНаКлиенте(Массив1,Массив2,Массив3,Массив4);
	СообщимМассив(Массив1); //0
	СообщимМассив(Массив2); //0
	СообщимМассив(Массив3); //1
	СообщимМассив(Массив4); //1
КонецПроцедуры

...Показать Скрыть
35. Н Ф (naf2000) 27.07.15 16:36
(33) Новиков, мое ИМХО: при передаче с клиента на сервер объектные данные передаются как их копии (баз ЗНАЧ - в обе стороны, со ЗНАЧ - в одну).
"По ссылке" здесь не совсем применимо, если говорить об общепринятом смысле этого в C++/C#/Java/Delphi
36. Sashares 27.07.15 17:01
(35) naf2000, это только ваше ИМХО, увы, не совсем верное, как оно в действительности происходит написано на ИТС. Название статьи уже дали.
37. Артем Бардюг (Йожкин Кот) 27.07.15 17:05
Опоздал со статьей лет на 5
Yashazz; DangerWulf; +2 Ответить 1
38. Осипов Сергей (fixin) 27.07.15 17:37
(37) лучше поздно, чем никогда. я например, только начал изучать УФ, думаю таких последних из могикан немало.

(31)(33) да, знач подразумевает, что значение не надо передавать обратно в клиента. Обычно ЗНАЧ не пишут из лени, какой то 0.0001% скорости это дает, а в некоторых случаях ЗНАЧ просто необходимо.

(32) не буквоедствуйте, не люблю.
39. Валерий К (klinval) 27.07.15 18:31
Конечно же, это никоим образом не связано с тем, что браузеры испытывают сложности с показом модальных окон. Это заблуждение и предрассудок – забудьте его как дурной сон. Все логично.

Преподаватели УЦ1 говорят одно, сами 1С-ники говорят пишут другое (см. ссылку). Если перейти по ссылке, то видно, что в теме "Зачем надо отказываться от модальности" пишут:
Как правило "десктопные" браузеры лучше или хуже, но поддерживают модальные окна и открывают их в новом окне браузера как "всплывающее окно". Но из-за того, что технология всплывающих окон массово используется в Интернете для размещения рекламы, практически во всех браузерах стандартно отключен показ всплывающих окон. В подавляющем большинстве случаев без изменения этой настройки браузера работа веб-клиента становится невозможной.
Другая проблема заключается в том, что мобильные браузеры вообще не поддерживают модальные окна.
В такой ситуации вариант работы интерфейса 1С:Предприятия без использования модальных окон снимает все перечисленные выше проблемы.
40. Валерий К (klinval) 27.07.15 18:42
По вопросу асинхронности кода: допустим я открываю новую форму через ОткрытьФорму. Как выполняется код:
1. Команда ОткрытьФорму
2. ПриСозданииНаСервере и ПриОткрытии новой формы.
3. Дальше выполняется код написанный программистом после ОткрытьФорму. Причём если этот код "долгий" то с вновь открытой формой вы не сможете работать пока весь код не выполнится.
Т.е. другими словами код выполняется не параллельно, а последовательно. Т.е. как и раньше...

Простенький пример: создаём обработку с 2 формами. При нажатии на кнопку происходит открытие 2 формы:
	ОткрытьФорму("ВнешняяОбработка.ВнешняяОбработка1.Форма.Форма2",,ЭтаФорма,,,
		,Новый ОписаниеОповещения("ПослеЗакрытияФормы2",ЭтотОбъект),);

	
	Индекс=9999999;
	Пока Индекс>0 Цикл
		Индекс = Индекс-1;
	КонецЦикла;
...Показать Скрыть

Со второй формой вы будете работать только когда выполнится долго играющий код после команды ОткрытьФорму.
41. Осипов Сергей (fixin) 27.07.15 20:07
(39) это лажа, уважаемый. Потому что все окна типа ПоказатьВопрос вызываются с блокировкой интерфейса, т.е. браузеры тут не причем. 1с не отказалось от модальности, оно отказалось от заморозки выполнения кода, от цикла While () DoEvents Wend.

(40) так параллельности никто и не обещал, перечитайте, что изменилось в вопросах модальности.
Параллельно можно запустить через фоновые задания, в типовых так отчеты и запускаются, кстати.
42. Валерий К (klinval) 27.07.15 21:29
(41) fixin,
(39) это лажа, уважаемый. Потому что все окна типа ПоказатьВопрос вызываются с блокировкой интерфейса, т.е. браузеры тут не причем. 1с не отказалось от модальности, оно отказалось от заморозки выполнения кода, от цикла While () DoEvents Wend.

Я то уже давно понял, что новые НеМодальные вызовы вполне себе могут работать модально. То что новые "не модальные" могут быть (или некоторые являются) модальными ясно видно даже из СП. Но у вас почему то такая логическая цепочка: раз 1с-ники не отказались от модальных окон, значит новые методы (ПоказатьВопрос, ПоказатьПредупреждение и т.д.) созданы не ради браузеров.
Вот тогда вам ещё ссылка. Там написано те-же причины отказа от модальности и теми же словами, что я приводил ссылкой выше. Но далее написано:
Отказ от модальности снимает все вышеперечисленные проблемы и не влияет на функциональность программы. Окна по-прежнему блокируют весь рабочий процесс до закрытия или ввода данных. Просто эта функциональность реализована технологиями, которые не препятствуют работе через Интернет.
Пользователю не нужно вносить изменения в стандартные настройки браузеров.

Т.е. написано прямо: новые методы модальны по сути своей, но мы их сделали ради браузеров.

По вопросу насколько модальные новые "не модальные" методы мы с вами солидарны, а вот по второй части спора "ради чего внедрили новые методы" я пожалуй с вами не соглашусь.
Получается во всех официальных источниках прямо написано, что новые методы сделаны ради браузеров, но вы почему то категорично утверждаете, что внедрение новых методов абсолютно никак не связано с браузерами...
43. Яков Коган (Yashazz) 27.07.15 22:52
(40), (42) - на тему модальности, асинхронности, как их путают и как 1С опять "по-своему" всё трактует - см. мою вышеупомянутую http://infostart.ru/public/302910/ - особливо ради комментариев. Вкратце: мутят они что-то с терминами и реальными причинами всех этих нововведений.
kharuz; AlexO; klinval; +3 Ответить 2
44. Валерий К (klinval) 27.07.15 23:01
(43) Yashazz, Полностью согласен, что термины 1С порой трактует по своему. Например:
Рефакторинг или реорганизация кода — процесс изменения внутренней структуры программы, не затрагивающий её внешнего поведения и имеющий целью облегчить понимание её работы.

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

Уже читал, не 100%, но по большой части согласен, лайкнул.
45. Осипов Сергей (fixin) 28.07.15 08:06
(43) ответил там:Основная цель не отказ от модальности и не прогиб под браузера, а полный переход на событийность, чтобы не замораживать обработчики событий
46. Sashares 28.07.15 09:41
(45) fixin,
Основная цель не отказ от модальности и не прогиб под браузера

Чушь.
Отказ от модальности и асинхронность как раз из-за браузеров и реализовали.
Собственно, это явно и говорится в статье на зазеркалье http://www.v8.1c.ru/o7/201301nm/
47. zero1 zero1 (zero1) 28.07.15 11:13
(27) Нет, ну вы посмотрите... благодетель нашелся.
Статейка, может, и хорошая, но только для чайников. Которые тоже для себя УФ только-только открыли, как и автор.
48. Иван Дижа (IDija) 28.07.15 11:33
Из всего прочитанного, дискуссия в комментариях больше увлекла чем статья. Наверное, потому что как уже сказали со статьей опоздали лет на 5...
49. Осипов Сергей (fixin) 28.07.15 13:32
(46) мне препод лично говорил, что про браузер - это сказки. Да это и так понятно.
Браузеры не позволяют программно открывать новые окна, только по ПКМ мыши - открыть в новом окне.
так что функционал 1С в любом случае без настройки браузеров пахать не будет.

Цель именно в прямом реагировании на события, чтобы не замораживать выполнение кода, следовательно ТК будет более просто реализовать, в том числе и в браузерах - полный переход на событийную модель. ОК?

(47) я сам чайник и пишу для чайников и за это чайники мне благодарны.

(48) ну что поделать, если УФ я изучаю только сейчас. А вот модальность появилась не так давно, вроде не 5 лет назад, да и Такси тоже новодел.
50. qaz (pricec) 28.07.15 13:37
и статья и комментарии демонстрируют что 1с уходит от программирования в настройки и галки.

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

Останутся только обновленцы и консультанты,
программистов 1с не будет.
51. Осипов Сергей (fixin) 28.07.15 13:50
(50) не типовыми едиными жив мир 1С. ;-)
я же писал, например, что RLS на модификацию - это бред, не знаю, может его и юзают в типовых, но проще наложить свою систему ролей поверх типовых.

Так и функциональные опции - может они кому и пригодятся, но проще их не юзать и использовать свои функции.

Но вообще то да, код типовых становится все страшнее, запросы все монструознее. ;-) Но это не грех платформы, а грех типовописателей.
52. Sashares 28.07.15 14:05
(49) fixin,
мне препод лично говорил, что про браузер - это сказки. Да это и так понятно.

Кому и что понятно? О_о
Судя по вашему ответу, вам это как раз не понятно =)
Я конечно рад за вашего препода. А аргументировать он не пытался?

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


При чем тут настройка браузеров?
Может кто не в курсе, но последние версии Хрома не поддерживают модальность. Фаерфокс тоже имеет аналогичные планы.
Из-за отказа части браузеров от модальности в платформе реализовали эти навороты - отказ от модальности и асинхронность.

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


Цель - чтоб веб-клиент работал.
В тонком/толстом клиенте все работает и без асинхронности и с модальными окнами. Причем реализация этого на много проще, чем заморочки с асинхронностью. Была 1 процедура в которой задали вопрос пользователю, получили ответ и закончили процедуру, а стало минимум 2 - в одной задали вопрос, а во второй обработали ответ.
Dnki; trumanl; Yashazz; klinval; +4 Ответить 1
53. Осипов Сергей (fixin) 28.07.15 14:35
(52)

если ход выполнения замораживается, то ТК (браузер) реализуется сложнее, чем полностью событийная модель. Вот аргумент.

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

Еще раз докажу методом от противного - если прогибаться под браузер, то нужно отказываться от программного открытия новых окон, и работать в SDI, т.е. строго в одном окне. Потому что любое открытие нового окна в новой странице будет расцениваться как всплывающее окно. И при чем тут модальность?
54. Sashares 28.07.15 19:00
(53) fixin,
если ход выполнения замораживается, то ТК (браузер) реализуется сложнее, чем полностью событийная модель. Вот аргумент.


Просьба пояснить, что вы этим хотите сказать.

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


И?

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


Не уловил, где доказательство?
Естественно, что особенности работы веб-клиента накладывают ограничения. И если требуется, чтобы конфигурация работала в веб-клиенте, то при разработке надо это учитывать.
Повторю еще раз, в Хроме отказались от модальности. Хотите убедиться, запустите какую-нибудь конфигурацию годовой давности на управляемых формах на Платформе 8.2.19 в Хроме. Работать нормально не будет (вообще никак не будет), где будут модальные вызовы.
В 8.3.5 реализовали возможность "отказ от модальности" и "асинхронность", чтобы можно было разработать конфигурацию, которая бы работала любом веб-клиенте. Вот собственно и все. О чем тут спорить и зачем искать тайные мотивы этого механизма, я честно говоря не понимаю.
55. Осипов Сергей (fixin) 28.07.15 22:21
(54) а что не понятного.
В браузере происходит обработка событий. А обычная модальность от 1с подразумевает цикл while ... doevents wend.
Это реализовать сложнее чем полностью реагирование на события.

Нуралиев пишет о запрете на открытия новых окон. Без новых окон приложение превращается в SDI, но 1С в браузере не работает как SDI, поэтому чхать оно хотело на открытие новых окон.

А вы потрудитесь разобраться, почему Хром не работает в режиме модальности, например.
56. Александр Цегельников (markers) 29.07.15 06:58
Сколько помню fixin, всегда был противником УФ и думалось что так и дальше будет.. Но что-то изменилось, и я рад что ты нашел много интересного и полезного в УФ, "познал дзен" так сказать. Лично мне больше всего нравится в УФ, так это раздельная модель управления, за "поехать" сервер отвечает, а за "шашечки" клиент. Что прежде всего убило начисто узкое место в Толстом клиенте, когда нужен был для него или комп по мощней, сеть по толще или вообще работать через сервер терминалов. А УФ можно запускать даже на калькуляторе (я конечно же утрирую, но всё-же).
Единственно что меня несколько печалит в последних версиях 1С, что у конфигуратора очень сильно течет память, отжирать 1,5 гига памяти, это уж чересчур.
За статью кстати спасибо, весьма интересная, хорошее изложение!
Удачи!
57. Сергей Галюк (dj_serega) 29.07.15 08:00
(56) markers, У меня в + к "поехали" за "шашечками" это еще и:
- редактирование интерфейса под себя (рабочий стол, реквизиты на форме: видимость и расположение).
- при изменении видимости элементов, другие элементы сдвигаются, и визуально не скажешь что реквизит закрыт правами (идея я думаю понятна).
58. Осипов Сергей (fixin) 29.07.15 08:15
(57) по сдвиг при изменении видимости ок, про настройку "под себя" иногда это бывает головной болью, но, к счастью, отключается. Все же чаще у пользователей форма должна быть однообразной и штатной, без персональных извращений (настроек).
59. Александр (Aleksandtmt) 29.07.15 08:38
Очень интересно знать, что автор поменял свое мнение об УФ. Как я понял, главная причина – курсы, а остальное как-то размыто.

Сама идея УФ прогрессивна и ее появление обусловлена требованиями времени.
Возможно УФ могут улучшить быстродействие системы при наличии сервера 1С, но большая часть пользователей работает в файловом режиме и в данном случае кроме «красоты» ни какой пользы !!!
60. Валерий Дегрик (mars207) 29.07.15 09:17
В свое время практические все писал на упр формах. Перешел в компанию где конфигурация работает в толстом клиенте обычного приложения. Поначалу создавал формы списка на упр формах. Но со временем заменил их на старые добрые обычные формы, так как динамические списки тормозили жутко даже на маленьких объемах. Также, если в форме документа присутствует дерево значений, открытие этой формы занимает больше времени чем такая же обычная форма. Упр формы помогли когда пришлось некоторые вещи вынести в веб интерфейс. Но это уже другая история. Вывод не всегда упр формы это хорошо, и пока на старых конфигурациях без обычных форм не обойтись.
61. vlad kan (truba) 29.07.15 11:46
(55) fixin, а не пытаетесь ли вы в этом вопросе побыть святее Папы Римского? ;) Завтра в браузерах снова появится модальность и 1С с удовольствием туда нырнет, а у Вас затруднительное положение образуется...

Я бы с большим удовольствием принял бы Вашу точку зрения, но с этим переходом заметил что в логике программирования даже код мат-части не всегда то в типовых выделен в отдельное закрытое ядро, что в общем то показывает разницу между уровнем систематизации разработчиков и уровнем, к примеру, Вашей собственной систематизации. 1С, к сожалению, не реализует наши мечты, оно решает свои собственные проблемы как умеет, еще раз к сожалению.
62. Сергей Галюк (dj_serega) 29.07.15 12:20
(58) fixin,
Все же чаще у пользователей форма должна быть однообразной и штатной, без персональных извращений (настроек)

1. Вот взять к примеру Итилиум. У обычного "смертного" там есть больше десятка реквизитов, которые закрыты или не используются и никогда не будут использоваться. В связи с этим форма ОЧЕНЬ и ОЧЕНЬ нагроможденная. Для себя, я больше половины реквизитов удалил. Туда же и половина страниц. Теперь у меня там только то что нужно.

2 Я часто вывожу рядом с реквизитами типа Контрагент, Номенклатура их доп поля (Код, ЕДРПОУ и тд). А это существенно облегчает жизнь ;)

Поэтому с этим утверждением согласен 50/50.
63. Осипов Сергей (fixin) 29.07.15 13:26
(62) речь не о продвинутых пользователях, а о типовых.
64. Яков Коган (Yashazz) 29.07.15 14:08
(28) kapustinag,
На Инфостарте море публикаций типа "Печатная форма NNNN для документа ДДДДД конфигурации КККК", которые интересны лишь автору плюс 1-2-5 человек, у кого все звезды сошлись. А дискуссионных, содержащих не только факты, но и суждения - кот наплакал.

А вы, батенька, за всех-то не судите. Инфостарт - он не только для разработчиков, админов и программеров. Эти самые "печатные формы" - существенная часть рынка для бухов, менеджеров, простых юзверей. Им это позарез надо. И я вас уверяю, там далеко не 1-2-5 человек бывает. Просто по плюсам это видно не всегда - лично знаю многих, кто качал и не плюсил.
Вам бы, вместо того, чтоб походя обгадить эти рядовые публикации, сказать им спасибо, они повышают популярность и прибыль ресурса в кругах заказчиков, не то что пустопорожний "дискуссионный" трёп. И сказать спасибо их авторам, которые, практически не имея рейтинга, продолжают трудиться и публиковаться.

Данная статья практически не содержит полезных фактов. Новичку по ней не научиться (максимум - составить общее впечатление, но это лучше на сайте 1С делать), для профи она бесполезна. Если есть желание пофлеймить в духе "авотчоуменябыло", так есть форум, но уж всяко не стоит, имхо, позиционировать это как "статью", да ещё и не в Life.
Sashares; Aleksandtmt; nixel; +3 1 Ответить 1
65. Никита Грызлов (nixel) 29.07.15 15:52
fixin, вы постоянно путаете теплое с мягким.
блокировка кнопочек/окон/чего бы то не было - это не модальность, это блокировка интерфейса.
модальность - это именно остановка выполнения кода из-за ожидания ответа пользователя при интерактивной работе - вопрос, предупреждение и прочее.

ПоказатьВопрос, НачатьПомещениеФайла и прочие асинхронные процедуры НЕ модальные, т.к. их вызов не останавливает выполнение процедуры, а просто открывает окно, которое при необходимости блокирует интерфейс.
Вопрос и ПоместитьФайл же модальные, потому что помимо блокировки интерфейса так же останавливается код.
66. Осипов Сергей (fixin) 29.07.15 16:30
(64) что опять? это я про "не содержит полезных фактов", гыгыгы... вроде уже комментаторы выше такие факты нашли. А насчет собственных настроек считаю что их делают тогда, когда у программы затыки с функциональностью и юзверям приходится преодолевать самостоятельно.

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

(65) я не путаю. я как раз и говорю о разнице между модальными окнами и остановкой кода. как то так.
67. Александр Хомяк (logarifm) 29.07.15 22:06

Я бы вообще это статьей не назвал, - этому место в блоге.
68. Осипов Сергей (fixin) 29.07.15 23:46
(67) не вы такой один, но я уже писал, что за такую статью бы пивом бы проставился, если бы ее кто написал. Как говорится, найдите статью лучше на тему краткой аннотации по управляемому интерфейсу, потом ворчите.

Под капотом УФ - это про УФ, а про сам интерфейс где? Сколько раз я спрашивал, чем отличается Такси от 82, что такое модальность - никто не отвечал, отправляли искать в горе документации. А тут все разжевано, только кушайте.
71. Осипов Сергей (fixin) 30.07.15 07:52
(69)(70) вы бы еще ЖКК предложили. Разницу между аннотацией и документацией осознаете?
72. Роман Озеряный (rozer) 30.07.15 08:58
(34) все немного не так )

//КомандаНаСервере
Количество = 0
Количество = 0
Количество = 1
Количество = 1

//КомандаНаКлиенте
Количество = 0
Количество = 0
Количество = 0
Количество = 1

и читаем до полного просветления...

для случая "КомандаНаКлиенте"
http://its.1c.ru/db/metod8dev#content:2606:hdoc:_top:%D0%BF%D0%B5%D1%80%D0%B5%D0%B4%D0%B0%D1%87%D0%B0%20%D0%BF%D0­%BE%20%D1%81%D1%81%D1%8B%D0%BB%D0%BA%D0%B5%20%D0%B7%D0%BD%D0­%B0%D1%87%D0%B5%D0%BD%D0%B8%D1%8E
http://its.1c.ru/db/v83doc#bookmark:dev:TI000000152

для случая "КомандаНаСервере"
http://its.1c.ru/db/v83doc#bookmark:dev:TI000000153
73. bonv (bonv) 30.07.15 10:59
В конфигурации есть возможность отключить все синхронные вызовы (они будут вызывать ошибку), в итоге она будет полностью асинхронна и соответствовать последним требованиям организации событийной модели.

Учить матчасть!

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

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

Поле ввода в динамическом списке нельзя сделать ни в каких случаях!

Общие реквизиты – не путать их с общими реквизитами в 1С7, в 82 они используются для разделения доступа в интерфейсе.
В режиме 7.7 их тоже ничто не мешает использовать.

я четко уяснил для себя нюансы модальности
Похоже что не очень


В общем то не стоит подавать материал, в котором еще сами то толком не разобрались в такой утвердительной форме.
ojiojiowka; Sashares; +2 Ответить 2
74. bonv (bonv) 30.07.15 11:02
Типовые стали очень сложными, их затруднительно изменять. Опять же не из-за сложности платформы, а из-за неправильной организации типовых.

Ну так вперед в 1С и покажите как надо, а то мужики то не знают)
75. Осипов Сергей (fixin) 30.07.15 17:11
(73) в чем я не разобрался, я не пишу в утвердительном тоне.
(74) В 1С мало платят, я туда как-то ходил на собеседование(в отдел УТ)
76. bonv (bonv) 30.07.15 17:22
(75) fixin, как минимум в (73) есть список чему стоит уделить внимание.

А сколько это мало для Вас? Сколько нормально?
77. Sashares 30.07.15 17:58
(75) fixin, в любой фирме оплата зависит от квалификации.
Если вы только сейчас познакомились с управляемыми формами, многих тыщ однозначно не стоит ожидать.
ojiojiowka; fixin; bonv; +3 Ответить 2
78. Михаил (puh) 30.07.15 22:26
Судя потому, что мелкомягкие в Win 10 возвращают кнопку Пуск, как это было в Win7, 1С должна будет понять что УФ нужны 5% пользователей и развивать эту ветвь интерфейса надо в интернет-ориентированных конфигурациях, а не в БП или УТ, которые в 90% случаев работают в рамках локальной сети.
AlexO; fixin; +2 Ответить 1
79. Осипов Сергей (fixin) 31.07.15 00:10
(77) с чего бы это? Не переоценивайте значимость УФ, многие работают еще на обычных формах, а УФ не так сложны, как кажутся.
(78) ага, как бы не так. УФ по-своему вкусы. Вот даже в 8.1 иногда нужно было разделять код для сервера и клиента и ничего, справлялись же. Тут то же самое, ничего сложного, в принципе для опытного 1сника.
80. Sashares 31.07.15 07:12
(79) fixin,
многие работают еще на обычных формах

А кто с этим спорит.
Вот только в 1С почти все типовые конфигурации на управляемых, в том числе УТ. Поэтому тут вы недооцениваете значимость управляемых форм.
81. Валерий К (klinval) 31.07.15 10:10
(77) Sashares,
(75) fixin, в любой фирме оплата зависит от квалификации.

Вы забыли написать "в любой нормальной" фирме... Есть руководители, которые принципиально будут ставить з/п администратору и программисту на уровне уборщицы, аргументируя "А что он мне разве прибыль приносит?". Ну и идут в такие фирмы либо новички подучиться или от безысходности (в маленьких городах не всегда есть выбор), или соответствующего уровня "программисты".

По поводу зарплаты в 1С слышал от бывшего коллеги, что у него подруга туда пошла. Говорит подруга как программист очень даже высокого уровня. Устроилась в 1С на маленькую з/п думала, что её оценят и после испытательного поднимут. Во-первых ей не понравилось как всё организовано (точнее не организованно) в её отделе, во-вторых когда она попросила побольше з/п ей прямо сказали: "ТЫ РАБОТАЕШЬ В 1С!!! Мы даём маленькую зарплату, потому что тебя после такой записи в трудовой куда угодно возьмут."
82. Sashares 31.07.15 10:25
(81) klinval,
Вы забыли написать "в любой нормальной" фирме...

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

По поводу зарплаты в 1С слышал от бывшего коллеги, что у него подруга туда пошла.

Спорить не буду, возможно бывает и такое.
ИМХО, в 1С как минимум будет интересно работать, т.к. все новое (касательно 1С) появляется в первую очередь там =)
А руководители разные бывают...

Вдруг кому интересно http://1c.ru/rus/firm1c/vacan/index.jsp =)
83. Андрей Волин (kser87) 31.07.15 12:30
"В свое время я доказал, что RLS на изменение уступает программному контролю записи на уровне модуля объекта/подписки. "
Интересно почитать ваши доказательства. Можете дать ссылку?
84. Осипов Сергей (fixin) 31.07.15 15:27
(83) ссылки не нашел, но логика такая, что при изменении что запрос RLS что алгоритм работают с одним объектом. Запрос - ограниченный механизм, алгоритм - универсальный механизм. Поэтому преимущества в использовании RLS на изменение нет.

А вот RLS на чтение работают с таблицами, там альтернативы нет.
85. Осипов Сергей (fixin) 31.07.15 15:29
(80) я сталкиваюсь с УФ в УТ11 и БП30, почему-то проблем с пониманием конфигураций и их логики после работы с УТ10 и БП2 не испытываю. Это вы переоцениваете сложность изучения УФ для профессионала.
86. Sashares 31.07.15 16:09
(85) fixin, речь не о сложности изучения УФ, я такого не говорил. Хотя вы недооцениваете различия))
Речь о важности знания УФ, клиент-серверного взаимодействия, возможности разработки для тонкого и веб-клиента и всего остального, что с этим связано.
То есть это достаточно большая область знаний.
Если после изучения всего этого и некоторой практики, вы еще раз сходите на собеседование в 1С, ИМХО, предложенная оплата будет выше, чем раньше.
87. Mike K (Angstrem13) 31.07.15 21:37
Спасибо за статью, всё подробно написано!
88. Осипов Сергей (fixin) 01.08.15 10:47
(86) да ладно? гггг..... зарплата зависит немного от других факторов. Прокачать УФ можно и за 2 недели, пока перенимаешь дела. Для спеца по 81 это не сложно.
89. Михаил Рожков (Templ) 01.08.15 20:21
Большое спасибо за интересную статью. Будет очень полезна для начинающих. А что за курс был УЦ 1?
90. Осипов Сергей (fixin) 02.08.15 00:15
(89) "разработка управляемого интерфейса, интерфейс такси". будет повторяться еще. а также у них есть хороший клиент-серверное программирование этого же препода.
91. Сергей Созинов (Созинов) 02.08.15 09:00
Автору плюс, интересно и познавательно для новичков. Было интересно освежить для чего их создавали.
92. Андрей Карпов (karpik666) 03.08.15 04:14
Плюсующим, есть бесплатные курсы по обычным и управляемым формам, курсы, там гораздо больше описывается про нюансы. А если не хватит, то еще посмотрите "быстрый старт в профессию", тоже вроде был бесплатным. В общем, если вы не "большинство", как пишет автор статьи, то все поймете.
93. Осипов Сергей (fixin) 03.08.15 08:41
(92) ага, хорошие есть бесплатные видеокурсы по управляемым формам, но они трехлетней давности и про такси и модальность там нет. В любом случае, эта статья - краткая аннотация, маршрут учебной курвы так сказать.
94. Андрей Волин (kser87) 03.08.15 10:23
(84) fixin, идея понятна, но все же сомнительна. Алгоритм придется присобачивать везде, где нужны ограничения (например, во всяких рабочих местах и АРМах). А для РЛС достаточно будет поставить слово "РАЗРЕШЕННЫЕ"
95. Осипов Сергей (fixin) 03.08.15 11:23
(94) идею вы не поняли, коллега. Как раз разрешенные - это для RLS на чтение.
А вот RLS на изменение реализуется более универсально в подписке на события изменения - не только на языке запросов, но и полноценно, на алгоритмическом языке. Еще раз вникните в мое описание.
96. Алекс Ю (AlexO) 21.08.15 15:44
(38) fixin,
а в некоторых случаях ЗНАЧ просто необходимо.
В каких?
(4) Diversus,
Это признает сама 1С и 8.3.7 будет предложен новый механизм размещения элементов на форме
Как я и предрекал, 1С верна себе, и УФ скоро пойдет на помойку.
Новый МРЭ - наверняка будет абсолютно несовместим со "старыми" УФ 8.2-8.3 как в конфигурации, так и по платформе.
97. Алекс Ю (AlexO) 23.08.15 23:12
(23) Yashazz,
Я, аз грешен, копался в различии между модальностью и синхронностью применительно к 1С, аки тупой кодер, и тоже не особо много понял
А при чем тут модальность и ассинхронность? Модальность просто запретили, а ассинхронность - не реализовали вовсе, потому что "теперь вместо модальных окон просто используйте отдельную функцию БЕЗ ФУНКЦИОНАЛЬНОГО КОДА" - это не ассинхронность, даже не подделка, а неуклюжая попытка сделать хорошую мину при отказе от модальности.
(95) fixin,
А вот RLS на изменение реализуется более универсально в подписке на события изменения - не только на языке запросов, но и полноценно, на алгоритмическом языке.
Это каким таким образом RLS вдруг стал в алгоритмическом коде реализовываться?
(0) fixin,
Имеет смысл во всех серверных процедурах, в которых параметры не изменяются, проставлять "Знач"?
Рекомендую все-таки разобраться с вопросом в комментах к По ссылке или по значению? Ключевое слово Знач и с чем его едят (т.к. статья совершенно неверно освещает данный вопрос).
(33) Новиков,
Где-то нужно передавать параметры по ссылке, а где-то по значению.
И получите "дулю" от 1С при передаче еённых псевдообъектов. Потому что не знаете, что реально происходит у 1С в этом случае.
И до кучи, рекомендую прочитать немного путанную, но все таки официальную статью "Передача параметров по ссылке и по значению при вызове процедур и функций" на ИТС.
Тоже разберитесь сначала с данным вопросом, все есть по ссылке в комментариях. 1С вообще не освещает конкрентику с передачей/присваиванием собственных псевдообектов.
Почему? Как я обычно отвечаю на данный вопрос - либо не знает сама, как у неё все работает на уровне платформы, либо не понимает и не видит всей картины в целом.
98. Алекс Ю (AlexO) 23.08.15 23:20
(0) fixin, Сергей, ожидал от вас по УФ "вот тут такая подноготная, тут - такая, а тут - вот десять способов реализовать 15 очень нужных, но не реализованных 1С вариантов работы с ЭУ в УФ".
А получили статью на уровне плинтуса. Я особо не вчитывался, по диагонали, но, похоже, на 2/3 - еще и с неверно/не до конца понятыми вами механизмами работы УФ.
А 8.3.7 уже и "старые" УФ отправит на свалку одноэсовой истории...
И передает привет всем апологетам УФ - все, теперь форма снова будет "частью на сервере, частью - на клиенте", чем они ранее особо гордились, не понимая сути вопроса. А там и до реализации (и функционала ЭУ и форм, из-за чего и ломают в 1С все снова на формах) ОФ под новой маркетинговой кожурой недалеко.
99. Осипов Сергей (fixin) 24.08.15 22:54
(97) RLS на изменение легко заменяется подпиской на изменение. Что я сказал не так?
(98) статья не для вас писана, а для новичков.
100. Алекс Ю (AlexO) 25.08.15 17:49
(99) fixin,
RLS на изменение легко заменяется подпиской на изменение
А вот и нет. На регистры - подписки только на получение формы.
RLS - ну никак не заменяется подписками.
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа