Почему это произошло? Ведь по логике – всё совершенствуется, становится проще и прозрачнее.
Но это не всегда так :)
Чтобы 1С корректно работала в веб-браузере (по сути – была кроссплатформенной), к программному коду предъявляются особые требования.
И именно из-за этого сейчас код типовых некоторым кажется – “ужас-ужас, руки бы им оторвать”.
Допустим, у Вас есть собственная нетленка (пусть даже существующая в единственном экземпляре).
В любом случае рано или поздно к Вам придет “генерал”, который скажет – “Хочу, чтобы 1С на работала на планшете, я видел – так можно…”.
И вот тут, если конфигурация не готова к режиму работы через веб, предстоит колоссальный объем работы.
Гораздо проще – сразу писать код, отвечающий новым стандартам.
Конечно, но, возможно, не в таком объеме, как разработчику.
В любом случае – Вы занимаетесь постановкой задач для собственных программистов или фрилансеров.
И Вы должны полностью проверить, как выполнена работа, будут ли формы корректно работать в разных видах клиентов.
Можно, конечно, этого не делать. Но тогда не стоит удивляться, если через месяц приложение, запущенное в веб-клиенте просто не будет работать.
В видео будут рассмотрены:
- Отказ от модальности в программном коде на примерах
- Запуск 1С в веб-браузере – через 10 минут сможете посмотреть, как Ваша конфигурация выглядит в веб-клиенте
Как запустить 1С в веб-браузере
В видео покажем, что настройка информационной базы для веб-клиента – это дело буквально нескольких минут :)
Рассмотрим:
- Установку и настройку веб-сервера Apache
- Решение стандартной проблемы c ipv6
- Инсталляцию модуля расширения веб-сервера
- Публикацию базы на веб-сервере.
Запуск 1С в веб-браузере может использоваться для множества задач – подключить сотрудников удаленного склада к 1С, “вооружить” мобильных сотрудников. Или классика – директор в отпуске хочет смотреть отчеты из 1С :)
Предупреждение() и Вопрос() – как избавиться от модальности
В этом уроке рассмотрим, как в новой парадигме программирования работать с методами Предупреждение() и Вопрос().
Пример разработки печатной формы в 1С
В этом видео мы готовим печатную форму, в которой будет открываться форма для ввода параметров.
Казалось бы, выполняем простые действия, но делаем это правильно – проверьте, так ли Вы пишете аналогичный код?
ОткрытьФормуМодально() – уходим от модальности
В финальном видео этой серии мы покажем, как открывать произвольные формы без режима модальности.
Используйте эти приемы при отказе от модальности в своих конфигурациях.
Курс «Профессиональная разработка интерфейсов и форм в 1С:Предприятии 8.3»
Если Вы хотите стать “богом интерфейса” – знать, как быстро и с минимальными правками дорабатывать интерфейс типовых решений, рекомендуем записаться на курс:
Поддержка – 45 дней. Объем курса – 30 учебных часов.
Не откладывайте свое обучение!
Для чего вообще мучиться в браузере, если есть терминальный доступ?
Считаю, что разработчики оторвались от реальности.
Разработка стала сложнее. 1С тормознее.
Судя по всему, вопрос риторического характера.
В любом случае эти механизмы нужно знать, хотя бы ради возможности корректировки типовых конфигураций.
Добрый день!
Существуют ли типовые конфигурации 1С, которые можно использовать за образец?
Может БСП?
Добрый день!
Если речь идет про разработку собственной базы, которая будет тиражироваться, тогда эффективно выполнять разработку на основе “Библиотеки Стандартных Подсистем”. Если же речь идет о том, чтобы подсмотреть реализацию некоторых функций, тогда можно использовать любую конфигурацию Фирмы 1С.
Здравствуйте! Скажите, правда ли, что в будущих версиях веб-сервер будет встроен в 1С и апач устанавливать будет не нужно?
Да, все верно. В платформе 8.4 веб-сервер будет частью кластера. Будет ли это работать для файлового варианта или нет, пока не известно.
По размещению на apache, как теперь зайти с другого компьютера на опубликованную базу? Подскажите пожалуйста!
Добрый день!
Если компьютеры в локальной сети, тогда http://ИМЯ_КОМПЬЮТЕРА/ИМЯ_БАЗЫ/ или http://IP_АДРЕС_КОМПЬЮТЕРА/ИМЯ_БАЗЫ/
(ИМЯ_БАЗЫ – это то имя, которое было указано при публикации)
Если нужно зайти через интернет, тогда основной вариант http://IP_АДРЕС_КОМПЬЮТЕРА/ИМЯ_БАЗЫ/
(при этом IP_АДРЕС_КОМПЬЮТЕРА должен быть фиксированным – это отдельная услуга у провайдера)
Спасибо.
Дали бы ссылку на apache
Можно и на официальный сайт, http://httpd.apache.org/download.cgi#apache22 , вот только разобраться будет непросто, что именно скачать и как это сделать.
а в методических материалах курса где взять апач?
Вот сама ссылка: http://www.sai.msu.su/apache//httpd/binaries/win32/httpd-2.2.22-win32-x86-no_ssl.msi
А в методичке она находится на странице 214.
Здравствуйте. Смущает то, что требования “от новичка”. Много времени уделяется разжевыванию “прописных истин”? Насколько полезен будет курс программисту с 6-летним стажем активной, ежедневной разработки, подробно проходившему “профессиональную разработку” пару лет назад, но подоставшему от последних новшеств?
Я не знаю.
“Насыщает не время проведенное в столовой, а количество съеденных беляшей”… Только вы знаете, с чем у вас могут быть сложности, где и в каком объеме нужно “докрутить”. Если устраивает как есть – курс не нужен. Если не устраивает – он ускорит процесс, просто нужно быть готовым к тому, что часть материала будет знакома, но вы покупали его ради другой части.
Подтверждаю слова коллег, отписавшихся ниже.
Сложность типовых сейчас далеко не только в отказе от модальности. Это по сути дела мелочь которую можно понять.
Проблема в отсутствии четкой стратегии развития системы и единого подхода при разработке, а также в замене качественной инкапсуляции на десятки совершенно неоправданных вложенных вызовов. Более того разработчики типовых часто не соблюдают простейшие правила разработки, описанные в стандартах и методиках от самой фирмы 1С как основа для начинающих.
В качестве отсутствия единого подхода и качественного код-ревью можно привести простейшие примеры из ERP 2 или УТ 11.
1. Как была написана инициализация движений документов совсем недавно? Отсутствовал единый подход в методах “ИнициализироватьДанныеДокумента”. В некоторых случаях для составления сборного запроса применялся список значений, причем так, что это усложняло добавление временных таблиц в текст сборного запроса. В некоторых случаях массив, в третьих – таблица значений. Сейчас уже в большинстве случаев унифицировали под применение списка значений. Но почему с самого начала не было единого подхода? У них нет ресурсов на код-ревью и на обсуждение концепции разработки друг с другом?
А тем кто сделал доработку движений в прошлых версиях и обновлял систему? каково постоянно переписывать эти доработки под творческие метания разработчиков из 1С? Ведь именно это главная причина отказа от обновлений системы и того что регл.учет ведется в более стабильных базах.
2. Регистры расчетов с поставщиками и клиентами. Измерение “ЗаказПоставщику”, “ЗаказКлиенту”. Названия измерений не соответствуют их сути. Особенно если предприятие вообще не работает с заказами, ни одного заказа в них никогда не будет. Такие названия объектов метаданных говорят о том, что изначально разработчики даже не предполагали возможность расчетов по договорам или накладным. Потом схватились за голову и переделали, оставив имена по сути ошибочными и сбивающими с толку при разработке.
Перечисления ВидыСостоянийНМА и СостоянияОС. Выполняют одну и ту же функцию, имеют примерно один и тот же смысл и почти одинаковые значения. Но имена не унифицированы. Такое чувство, что человеку писавшему функционал НМА было безразлично как написан функционал ОС и единой точки контроля над этими разработчиками не было. В учете ОС и НМА можно привести еще пару таких примеров, демонстрирующих отсутствие при разработке оглядки на то, что было написано раньше.
3. Для хранения по сути остаточных данных используются оборотные регистры, например “ТМЦВЭксплуатации”. К чему это приводит можно увидеть в схемах компоновки отчетов.
Также бросается в глаза частое обращение к данным документов-регистраторов из схем компоновки, построенных на базе регистров накопления.
Использование оператора “Выполнить” для вызова методов, из-за чего при отладке в стеке вызовов приходится видеть строку
Напомню, что в системе стандартов и методик от 1С явно прописана нежелательность подобного подхода при разработке.
4. Везде и всюду неоправданное количество вложенных вызовов. Огромное количество методов-паразитов, содержащих одну строку кода! Об этом уже писали ниже.
5. Что за АДЪ устроили с RLS? Насколько понимаю у разработчиков конфигурации есть какие-то специальные инструменты для редактирования запросов RLS которые они не выдают в общее пользование, оставляя программистов на местах один на один с этим ужасом. Видел как-то сообщение от представителя фирмы 1С, что многие инструменты они не выдают в общее пользование потому что тогда их пришлось бы документировать и поддерживать, а у них этот вопрос не в приоритете. Иначе говоря вопросы внедрения на предприятиях у них не в приоритете. Потому что доработка RLS это часто важная и необходимая часть внедрения.
6. Разработчики платформы создали красивый, логичны и понятный инструмент – СКД. Но разработчики конфигурации превратили его в неуправляемого монстра. Из-за чего сами постоянно косячат, выпуская релизы в которых неожиданно перестают открываться отчеты или в отчетах выдаются сообщения о неустановленных обязательных параметрах.
Каково смотреть в глаза пользователю, который уверен, что это программист неверно обновил релиз или что-то сломал? И хорошо еще если выдается ошибка. Ведь найти косяк разработчиков конфигурации в этих дебрях сотен вложенных вызовов крайне сложно.
В итоге они сделали “универсальность” которой даже сами не в состоянии пользоваться. Потому что ее на самом деле нет. Нет инкапсуляции, которая по сути своей не позволила бы появляться таким ошибкам. Нет грамотной архитектуры, есть просто неоправданно запутанный код и вложенные вызовы ради них самих. Так некоторые франчайзи дорабатывают типовые, но ожидать такого от самих разработчиков….
7. Пример когда происходит замена огромного числа вызовов СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку() на СтрШаблон(), а через несколько релизов обратная замена!!! Они хоть представляют что нужно сделать программистам на местах, чтобы это пережить эти “капризы погоды”? Вот где реальные риски доработки.
Что касается темы этой публикации и избавления от модальности. Было бы замечательно если бы в качестве колбэк-функции передавалось не ее имя , а ее ссылка на метод. Например вместо
можно было написать просто
Потому что использование для организации обратных вызовов строковых констант вместо ссылок усложняет работу. Думаю для разработчиков это не составило бы труда. Упростился бы рефакторинг, глобальное переименование, переход по F12. А так действительно выглядит как костыль.
Но все же основную причину запутанности типовых я вижу не в разработчиках платфомры, они в целом всё делают круто, а в разработчиках конфигураций, которые плюют на стандартные возможности платформы и начинают творить свой “универсальный” код.
Пожелания зарегистрированы, спасибо (с) 1С
“К сожалению, все операторы заняты. Ваш звонок очень важен для нас.”
Немного не так: “ошибка зарегистрирована, сроки реализации исправления сообщить не можем”.
великолепный разбор, читал притаив дыхание)
“неистово плюсую”.
кмк, большинство проблем лезет из БСП
Не увидел прикрепленный файл – Апач. Тынките кто нить))
Добрый день! Если вы про ту ссылку, о которой говорится в видео, то она приведена в методичке по курсу, так как видео взято из курса.
Вот сама ссылка: http://www.sai.msu.su/apache//httpd/binaries/win32/httpd-2.2.22-win32-x86-no_ssl.msi
Сергей, спасибо!)
Мне кажется, это проблемы разного характера: с одной стороны некоторые особенности программирования управляемых форм, что не создает непосильных проблем для изучения. С другой стороны – адская мешанина кода в типовых, когда при отладке проведения открываются 20 и более окошек с модулями, вызывающими друг у друга функции с бессмысленно-похожими названиями.
Впору проводить конкурс с призами “1200 косяков 1С” :)
Так ведь давно известно, что в 1С разные команды, пишущие разные функционалы пусть даже для одной конфы, совершенно не согласованы, левая рука не то что не знает, что делает правая, а соревнуется с ней за бонусы “кто первый зарелизит”. Разнобой в типовых – совершенно ожидаемый и предсказуемый.
Ну, мой комментарий – это скорее ирония :)
Что до несогласованности – да, это неизбежно в любом проекте, где порядка сотни человек разрабатывают центральную конфигурацию, которая потом “разрезается” на отдельные типовые…
И тут нужно все-таки быть справедливыми – разнобой-разнобоем, но все-таки все более-менее прилично :)
Скорее менее чем более.
“Учиться-учиться-учиться, как завещал великий Ленин”. Голос напомнил :)
:)
Да ладно оправдываться то. :)
Та же Java, действительно, кроссплатформенная и сервлеты, действительно, работают в любом бразузере, работающем с html, css и javascript.
А 1с все как поделка переросток, все какие-то костыли да нестыковки.
Пришлось перейти с браузера (firefox) на тонкий клиент потому что не работало даже элементарное, выбор даты через календарь.
Про мобильный режим. Так давно придуманы мобильные версии сайтов. Сервер получает данные о браузере и может выдать ту страницу чья верста лучше подходит.
Это Вы сейчас кому? :)
А то на секунду показалось, что нам нужно срочно лично перед вами оправдаться за отдел разработки 1С :))
Ну раз комментарий размещен под данной статьей, то как бы логично, что автору статьи. :)
А то расписали блин так будто в извращениях от 1с есть какой-то глубокий сакральный смысл :D
ну-ну :))
В типовых конфигурациях на УФ запрос произвольного вида динамического списка часто формируется дважды. Собственно в форме в свойствах динамического списка. Это тот запрос, который виден программисту явно. Дальше этот запрос может модифицироваться в общем модуле. Т.е. что получается. Допустим нужно изменить динамический список.(Добавить еще одно поле). Правим запрос в форме. Тестируем. Изменений нет. Что такое, почему нет изменений? Мы же только что исправили запрос. Потом доходит, что запрос формируется где-то еще. И где же? В общем модуле. Как быть? Править общий модуль? Или добавлять свой и переносить в него килотонны строк кода из типовых общих модулей? А может тупо исправить запрос в форме и отрубить вызов формирования запроса из общего модуля? Но ведь в общем модуле запрос формируется изподвыподверта, Если это то это, а если вот это – то вот это. 8) Научите, как работать с типовыми конфигурациями.
Добрый день, Геннадий! Все же в каждом случае необходимо отдельно анализировать конкретный программный код и искать в нем так называемые “точки минимального воздействия”, чтобы “и на елочку залезть, и не ободраться”. Как правило, такие точки удается найти.
Хотя Ваш вопрос содержит общее описание проблемы, но даже в этом случае можно что-нибудь придумать. Например, как в описанном вами случае добавить новое поле в текст запроса?
1. В первую очередь в модуле формы я нашел бы вызов процедуры, которая изменяет текст запроса динамического списка. (Как правило, такая процедура будет размещена в событии ПриСозданииНаСервере())
2. Далее, я бы ее бегло просмотрел код этой процедуры в поисках полей, которые добавляются в текст запроса без условий (Как правило, поле Дата, Ссылка, Код … добавляются без условий)
3. Далее, с помощью отладчика получил бы текст сгенерированного запроса
Например:
ДокументРеализацияТоваровУслуг.Ссылка,
ДокументРеализацияТоваровУслуг.ПометкаУдаления,
ДокументРеализацияТоваровУслуг.Дата,
ДокументРеализацияТоваровУслуг.Номер,
ДокументРеализацияТоваровУслуг.Проведен,
...)
(этот пункт необязателен, нужен только чтобы скопировать поле запроса, хотя это можно было сделать и на шаге 3)
4. А далее в модуле формы после вызова процедуры, изменяющей текст запроса, написал бы следующий код:
"ДокументРеализацияТоваровУслуг.Ссылка, ДокументРеализацияТоваровУслуг.НовоеПоле,");
Вот один из вариантов такого «минимального воздействия»
С одной стороны хорошо что ничего нового не узнал :) С другой стороны ожидал чего-то интересного :)
Есть еще третья сторона. Вы не один, и не только для Вас здесь публикуют материалы. Кстати, а сами можете предложить что то интересное?
Суть в том, что заглавие статьи не совсем соответствует ее содержанию. По заголовку действительно казалось, что будет объяснение причин усложнения кода в типовых на 3.0 ( к примеру, динамический сбор текста запроса, когда в функцию передается источник, выбираемые поля и условия, а на выходе результат выполнения и др.), а тут детский сад про модальность. 8.3 не первый год уже, разобрались давно с модальностью.
Усложнение кода как раз понятно. Код типовых сейчас похож на письмо маме и папе мальчика из Простоквашино. Причем при доработках очень опасно опираться на код типовых, завтра его могут убрать или перенести в другое место.
За материал этот, и, вообще на данном ресурсе – огромное спасибо. В круговерти жизни не всегда удается заметить мелочи, не говоря уж о том, что бы их потестировать. По Райкину – забудьте все чему Вас учили в институте, отложите дедукцию, давайте продукцию.
Искренне надеялся увидеть объяснение для, вот таких, функций. Которыми изобилуют нынешние типовые.
Функция ПроверитьРазрешенныеСимволыSWIFT(СВИФТБИК) Экспорт
Возврат ПроверитьБуквенноЦифровыеСимволы(СВИФТБИК);
КонецФункции
(Функцию нашел буквально за 2 минуты просто зайдя в первый попавшийся модуль).
Причем данная функция вызывается всего в 2 х местах. Особого смысла я в ней не вижу. Но зато столько удобства при поиске “когда что-то идет не так”. Понимаю что вопрос в общем не к вам, просто наболело. Создается впечатление что программистам в компании “1с” платят за количество строк кода.
Добрый день, Михаил!
(указанного кода в установленных у меня типовых я не нашел, поэтому буду отталкиваться от кода, приведенного вами)
Как правило, у всего есть объяснения, но к сожалению, догадываться приходиться самостоятельно. Я изложу свои мысли по поводу приведенного вами программного кода и постараюсь в некотором роде «оправдать» разработчиков.
Судя по всему, функция ПроверитьБуквенноЦифровыеСимволы() является универсальной и используется во многих местах конфигурации для проверки любой строки на наличие буквенно-цифровых символов. На ее основе разработчики создали другую функцию ПроверитьРазрешенныеСимволыSWIFT(), которая применяется для проверки номера СВИФТ банка.
Преимущества данного кода (на мой взгляд):
• Если в перспективе усложниться алгоритм проверки СВИФТБИК, то достаточно будет скорректировать код процедуры ПроверитьРазрешенныеСимволыSWIFT(). Например, в коде процедуры можно будет отказаться от использования функции ПроверитьБуквенноЦифровыеСимволы() и можно будет реализовать новый алгоритм проверки.
• Кроме этого, название новой функции позволяет лучше понять смысл выполняемой проверки
Недостатки:
• Как вы правильно отметили, увеличивается количество процедур / функций
Конфигурация Б.П. 3.0.43.152
Функция ПроверитьБуквенноЦифровыеСимволы() не является экспортной и используются в данном модули в 2 функциях которые возвращают значение данной функции(То есть функции которые вызывают эту являются не значащими обертками. Которые в свою очередь используются в паре мест в функциях по 2 строчки).
Да недостаток в том что увеличивается количество функций.
Как следствие ухудшается читабельность кода. А так же увеличивается количество инструкций для интерпретатора (Хотя кому это интересно).
В моем понимании проблема “Сложности типовых” кроется не в уходе от модальности. А в попытке “Объять необъятное” и написать “универсальный код” для любой конфы. А уже от туда пошло, что мы толком не уверены не в метаданных данной конфигурации, не в релевантности полученных данных на входе функции. Но мы же помни, что “Чем более универсальный код, тем медленнее он работает”, а от себя добавлю что и читать сложнее становится.Хотя 1 плюс все таки есть, порог вхождения все выше, а как следствие студентов за конфигуратором все меньше.
В новой версии нашел указанный Вами код. Михал, ну что я могу вам могу сказать? Я в таком же недоумении как и вы. Логически объяснить это сложно и фантазии у меня не хватает. А про студентов вы верно подметили :) .
Здравствуйте, скорректируйте мой токен на начало данного потока пожалуйста.
Доброго дня, Олег!
Активация токена перенесена на 21 апреля.
Аналогичная просьба скорректировать токен доступа на 21 апреля. Спасибо!
Дмитрий, активация Вашего токена перенесена на 21.04.16.
Вся суть “нового кода” в уходе от модальности?
Добрый день, Алексей!
Смотря что понимать под «новым кодом». Если вы хорошо знакомы с управляемым интерфейсом, но просто не сталкивались с немодальными диалогами, то вы совершенно правы, суть «нового кода» именно в этом. Особенно «новый код» сложно разбирать в типовых базах, когда вместо одной процедуры, теперь 3-4 процедуры. Если же говорить про новизну управляемого интерфейса относительно обычного интерфейса, то здесь все немного разнообразнее.
Спасибо за ответ.
Значит если занимаюсь переделкой на управляемый интерфейс и уходом от модальности, значит я видимо уже в курсе. )
я, правда, так и не понял. Если вызвать, например, ПоказатьВопрос(ЧтоТоТам) и как-то ответить на этот вопрос, то код что ли распараллеливается? Ну то есть, выполняется и код после ПоказатьВопрос, и код, который в процедуре из ОписаниеОповещения?
К сожалению, это не так. Например, если после открытия ПоказатьВопрос() сделать программную задержку, то соответственно она начнет свою работу сразу же после отображения вопроса, и пока она работает пользователь не сможет нажать ни на одну кнопку в диалоге, поэтому параллельности нет.
В чем же преимущество таких диалогов? Дело в том, что модальные диалоги в веб-браузерах реализуются через всплывающие окна с которыми, как известно, возникают проблемы. Что же касается немодальных диалогов, то их реализация не требует использования всплывающих окон. Поэтому нужно понимать, что уход от модальности, фактически это «заплатка» на систему для ее корректной работы в веб-браузерах, отсутствие модальности параллельности не добавляет.
Если говорить про параллельность, то единственный инструмент платформы, который позволяет распараллелить код всем давно известен – это фоновые задания. Кстати, которые с недавнего времени нормально работают и в файловом варианте, правда с некоторыми ограничениями.
Понял! Спасибо!
Во! Наконец-то) Сколько я копий сломал на Инфостарте, доказывая, что нет там никакой параллельности, асинхронности, и вообще сказанное в метод.материалах 1С – не особо маскируемая попытка прикрыть фиговым листочком кривоватый костыль, который авторы платформы не удосужились пока превратить в нормальное решение. Преимущества-то никакого, а хлопот больше. Исключительно потому, что платформа кривая. Ничто не мешало реализовать не-всплывающие окна, вообще не трогая уровень встроенного макроязыка, кроме, вероятно, специфики отношения к нам, разработчикам, и клиентам.
Руки надо отрывать за кучу переходов между клиентом и сервером при каждом чихе в программе, за выполнение мегазапросов через менеджер запросов с прыжками между разными общими модулями, за запросы на 2500-3000 строк (ЗУП 3.0 расчетный листок, у которого запрос динамически собирается в общих модулях) А это, так косметика и не самая трудная часть работы.
Хотелось бы не согласиться с тем, что “руки хочется оторвать” только из-за невозможности использования синхронных вызовов и модальных окон, с этим все как раз понятно и нормально, в новых типовых конфигурациях на управляемых формах удручает совсем другое – очень трудно найти место правки или дополнения программного кода из-за многоуровневого запрятывания кода (инкапсуляцией это назвать язык не поворачивается), т.е. нужный фрагмент оказывается в модуле, который вызывается из одного из 10 методов некой процедуры другого модуля, которая вызывается из одного из 25 методов некой процедуры третьего, которая вызывается из …. и так далее, причем из названий методов отнюдь не всегда следует ясное понимание их назначения. Кроме того, предпринята попытка сделать алгоритмы универсальными и сплошь на СКД, чтобы исключить ковыряние в коде и делать настройки из 1С Предприятия, но на деле вникать все равно приходится, потому что нужных данных готовая СКД не предоставляет, и тогда переделка универсального кода превращается в подвиг с большими временными затратами. Если кому интересно, в ERP добавьте какое-нибудь поле в список товаров в форме подбора товаров в документы продажи (например среднюю себестоимость) или в ценник товара добавьте три разных штрих-кода трех единиц товара.
Я думаю, что “ужас-ужас” именно из-за этого возникает. А так я ничуть не против клиент-серверного программирования с учетом необходимости запуска приложения в веб-клиентах, вот только вышеописанный “хардкор” вряд ли можно назвать оправданием этой необходимости. Опять же это лично мое мнение, и я им не претендую ни на что, просто высказался.
Алексей, спасибо за детальное изложение.
Проблемы о которых Вы пишите действительно актуальны.
Часть из них мы решаем в рамках курса по разработке интерфейсов (работаем с СКД, создаем с нуля универсальные механизмы, аналогичные БСП…).
что с голосом? голос как будто не Евгения
Ну да, это Сергей Калинкин, автор курса. Не все тренинги Евгению записывать :)
Отличный урок, спасибо!
Всё гораздо проще. В своё время 1С портировала некую хрень под названием УФ внутрь платформы и теперь её вынуждена терпеть и поддерживать. Когда вылезли траблы с модальностью, платформописатели вместо чтоб самим напрячься, сляпали некие костыли и переложили проблему на разработчиков конфиг. А теперь из кожи вон лезут, пытаясь доказать, что это всё правильно и так и должно быть.
Я не буду оспаривать и поддерживать Вашу позицию – останусь нейтральным.
Скажу лишь, что разработчикам (программистам, внедренцем) с этим приходится работать. Помогаем им, как можем :)
Это, увы, так. Но, возможно, жёсткая консолидированная позиция ведущих разработчиков в своё время могла бы позволить избежать ситуации “приходится работать”.
1С явно не заинтересована в том, чтобы “внешние” относительно компании разработчики консолидировались.
Консолидация такого рода возможна только вокруг ядра, которое не будет входить в систему 1С и, следовательно, управляться 1С.
Сейчас даже ИС не подпадает под эту категорию.
Управляемые формы в общем-то не “хрень”, любой веб-программист понимает в чём их фишка (даже без браузера, в тонком клиенте). Но отчасти с вами согласен конечно. Тут есть другая проблема: абсолютно все, кто не занимается программированием или внедрением (т.е. просто пользователи) думают, что затраты времени на разработку или правки те же, что и раньше, а то и меньше. Ещё бы, им то работать все удобнее и удобнее, а то что “под капотом” все усложняется ради их комфорта никто не задумывается. Был случай, когда начальник отдела, в прошлом имевший дело с 7.7 всерьёз был уверен, что и 8-ку он знает (ну а что, и там и там справочники, документы, формы, проводки), и сроки задач ему вполне по силам определить.
“абсолютно все, кто не занимается программированием или внедрением (т.е. просто пользователи) думают, что затраты времени на разработку или правки те же, что и раньше, а то и меньше. Ещё бы, им то работать все удобнее и удобнее, а то что «под капотом» все усложняется ради их комфорта никто не задумывается.”
Усложняется все не ради комфорта, а ради кроссплатформенности. Которая нужна ничтожному проценту пользователей, и, что важнее, нужна фирме 1С, чтобы не быть вытесненной с рынка. Удобство же пользователей не играет особого значения, т.к. рынок в определенном сегменте давно занят конфигурациями 1С. На мой взгляд, сильно спорно, что удобнее для пользователя БП2.0 или БП 3.0.
Поэтому сложно объяснить усложнение разработки пользователю, когда не можешь объяснить его самому себе.
ИМХО, не столько не быть вытесненным сколько расширяться в новые сегменты. В первую очередь – в модные нынче облака. Во вторую – на буржуйский рынок. А облака без веб-клиента – полкалеки.
А что других вариантов нету получить доступ к базе через браузер?
А ведь можно еще для кросплатформености добавить мобильный клиент
На самом деле это надо объяснять постановщику задач, особенно когда дают обработку отлично работающую на БП2.0 и говорят через 20 минут нужна такая же для БП3.0 :)
+
“Усложняется все не ради комфорта, а ради кроссплатформенности.” А можно пример? Хоть чего-нибудь что сделано для кросплатформенности. С утвеждением ниже согласен, что 1С в облака хочет + на сервисы ИТС компании подсадить. Кроссплатформенность тут пофигу, ДЕНЬГИ все решают.
пять баллов…сто%
Ваше произношение режет слух. Правильно Рефа́кторинг.
Главное здесь смысл.
Смысл-то главное, но подобные моменты могут резко снизить “товарный вид” продукта. Можно, конечно, говорить “пОртфель” и “мОрковь”, смысл не меняется, но определенное представление о собеседнике будет составлено… А так называемые “граммар-наци” могут и побить за это :)
В IT-областях принят устойчивый вариант ударения – “рефАкторинг”.
Николай, аргументы понятны, спорить не буду.
Тем не менее контент первичен, посмотрите на результаты финалистов курса – они действительно показательны.
Верю :)
На мой взгляд не все так однозначно. Дело в том, что в слове фа́кто́ринг возможны 2 варианта ударения. Именно поэтому делаю ударение на второй слог. Ударение на первый слог не позволяет сделать воспитание (это шутка). В любом случае, как правильно отметил Евгений, главное здесь смысл.
Извиняюсь за занудство, но все же ударение там ставится только на первый слог, никакого второго варианта нет. :)
Очень актуальная тема.
А вот вопрос – возможна ли публикация базы на веб сервере, стоящем отдельно от компьютера (сервера) 1С?
Игорь, да, возможно.
Каким образом? До настоящего времени это было жестким ограничением: для публикации информационной базы на web-сервере, сервер приложений 1С, и web-сервер должны физически находиться на одной машине. Разве сейчас что-то изменилось?
Сергей ответил ниже.
Да нет, Станислав. У меня уже давно стоит на разных машинах. На первой – сервер 1С и сервер СУБД. На второй – веб-сервер. Публикую через конфигуратор, запуская его на машине с веб-сервером.
Добрый день! Сразу же хотел бы отметить, что этот вопрос касается темы администрирования, причем в большей степени к настройке веб-сервера и операционной системы. Тема не совсем моя, но в любом случае изложу, что мне известно по этому вопросу.
Безусловно штатный механизм публикации баз из конфигуратора работать в данном случае не будет, но это не значит, что сервер 1с и веб-сервер нельзя разнести на разные компьютеры. Потребуется ручная корректировка настроек веб-сервера и возможно, файла публикации. Также могут возникнуть проблемы с авторизацией веб-сервера при подключении к компьютеру, где установлен сервер 1С. Еще раз отмечу, что эта тема от меня достаточно далека, поэтому такие общие слова. В любом случае мне известны факты такого разнесения веб-сервера и сервера 1с, причем этот делалось еще на платформе 8.2.
Можно использовать сервис 1С:Линк для публикации базы и работы через web и тонкого клиентов, весьма удобно администратору и пользователям.
Да, если использовать 1С:Линк. В этом случае агент 1С:Линк может быть установлен на одном ПК, база 1С должна быть зарегистрирована на этом ПК как обычно в списке баз 1С, может находиться на другом ПК.
Правильно говорить “Рефа́кторинг”!
Это точно.
Некоторые даже “позвОнишь” говорят :)
Говорят – не беда. Уже навязывают своё говорение.
50% нашенских дОцентов говорят пОртфели, а остальные портфЕли. Еще и моряки поголовно со своими рапОртами баламутят воду. :)
Именно по четверигам, в колидоре. и рЕзник – друг резникА
Некоторые даже мышей едят, но другие это не считают дурными манерами, а наоборот, ласкают и угощают молоком…
Я благодарен Сергею за хорошие лекции.