Чем отличается Программный архитектор от Технического лидера команды (TeamLead)?
Все-таки TechLead и TeamLead - это разные роли. Тимлид больше про менеджмент, техлид - про архитектуру и разработку. Чаще всего совмещается, но в ростом компетенций команды роль "Team" должна начинать превалировать над "Tech". В идеале, в команде должен появиться отдельный TechLead.
Разумная компания чаще всего гибкая. Но нужно понимать, что не каждая компания - "Сбербанк" и "Газпром". Помимо "обхаживания" разработчиков, надо еще деньги зарабатывать и бизнес развивать. А тут как раз у айтишников дилема - быть "кузнечиком", раз в полгода скакать из компании в компанию вслед за ростом зарплат, либо найти ту компанию, у которой есть потенциал, которая не забудет про разработчика, когда только станет финансово-состоявшейся.
Когда нацисты хватали коммунистов, я молчал: я не был коммунистом.
Когда они сажали социал-демократов, я молчал: я не был социал-демократом.
Когда они хватали членов профсоюза, я молчал: я не был членом профсоюза.
Когда они пришли за мной — заступиться за меня было уже некому.
а с другой реализовать вэбинтерфейс на языке 1С это как сделать современный авианосец из дерева.
Соглашусь лишь отчасти. Интерфейс получается так себе, если смотреть на современные веб-приложения. Но мы все дружно надеемся, что PeterG с командой со временем дадут нам инструмент для построения современных и красивых интерфейсов. Ведь 1С — это уже не только бухгалтерия и торговля :)
Управляемые формы — это вполне логичное развитие платформы. Обычный клиент устарел технически и морально. Перенос основной нагрузки на серверы — правильное решение. Не должен клиент выполнять сложные алгоритмы. Для этого существуют серверы приложений. Разработчику нужно только перестроить сознание, прочитать несколько статей и принять новую архитектуру. Поверьте, если есть опыт разработки управляемых приложений, стоимость поддержки не выше, чем у обычных приложений.
Но самый важный плюс — появление веб-клиента. Да, он еще сырой, иногда приходится костылить код конфигурации, чтобы обойти ошибки в веб-фреймворке клиента. Но больше нет головной боли с разворачиванием на машинах сотрудников свежих версий клиентских приложений при миграции сервера 1С на более свежую версию платформы. Человек просто открывает браузер и начинает работать.
Еще технология управляемых приложений позволяет быстро разрабатывать B2B-системы. Естественно, есть некоторые минусы. Лично для меня — бедный интерфейс, если сравнивать с веб-сайтами, и высокая стоимость лицензий при построении многопользовательских систем (от 500 пользователей).
При выходе новых версий платформы 1С публикует изменения стандартов.
Так что конфигурации может потребоваться модифицировать для работоспособности в новых версиях платформы.
Мы это учитывает.
А это про что, можете пояснить?
В 1С объекты БД явно не создаются, это делает платформа, и в этот механизм вмешиваться не рекомендуется.
В работу платформы на уровне SQL не лезем. Чтобы писать запросы, нужно понимать что из себя представляет БД 1С. А мы знаем, что это таблицы в СУБД. Поэтому при проектировании структуры объектов конфигурации оперируем понятием «таблица», но с использованием тонкостей 1С (периодичность регистров сведений, регистры остатков, оборотов и т.п.). Соответственно, приводим схему данных в такое состояние, когда у нас нету избыточности. Или нехватки данных (статья на ИТС про самодостаточность регистров).
Если не сложно — сделайте пожалуйста.
Воспроизведутся проблемы — шлите конфигурацию, будем чинить.
Самостоятельно разработанные конфигурации. Но по стандартам и методикам 1С, с нормализованной схемой БД.
Простой пример, динамический список ведет себя непредсказуемо как элемент формы — при клике позиционирует выбранную строку всегда посередине. Запрос дин. списка очень простой (выборка из документа даты, номера, автора). 95% процентов пользователей работают через веб-клиент. Если действительно интересны выявленные проблемы, могу еще раз провести тесты на 8.3.13 и передать результаты.
Зря человеку карму подпортили. Мы недавно пробовали перейти на 8.3.13 (конфигурации — управляемые приложения). Поплевались, психанули и откатились на 8.3.11.3034. Динамические списки ведут себя неадекватно, колонки съезжают. Веб-клиент (понимаю, что написан не на С++) постоянно ошибки выдает.
В форматированном документе, если работать с ним через веб-клиент, есть очень неприятная вещь — он теряет часть содержимого. Воспроизвести можно примерно следующим образом:
1) Добавить на управляемую форму (скажем, справочника) группу страниц.
2) Разнести элементы формы по разным страницам. При этом форматированный документ оставить на второй странице.
3) В режиме «Предприятие» в веб-клиенте наполнить форматированный документ.
4) Мышью переключиться на другую страницу и нажать CTRL+S.
5) После записи объекта перейти на вкладку с форматированным документом. Текст или его часть будет отсутствовать.
Опытным путем пришли к решению, что изменения содержимого поля форматированного документа помещаются в реквизит формы при смене фокуса на другой элемент. А в приведенном выше примере этого не происходит, соответственно, обновления данных в реквизите тоже.
Пока проблему решили принудительной установкой фокуса на другой элемент формы при смене страницы.
P.S. Платформа 8.3.11. Если не получится воспроизвести, могу скинуть видео.
Поэтому во второй версии я напрочь отказался создания веб-форм с миллионом галочек для менеджеров, потому что следующая акция потребует миллион первую галочку. Вместо этого я написал отдельный модуль в котором реализовал мини-язык этих акций. И уже этим языком я последовательно описывал каждую акцию своим скриптом. Условие чека, выборка, группировка, замена и добавление позиций, и т.д.
На моей прошлой работе наступил момент, когда в продажной системе исходный код описания акций стал огромной простыней. Сделали практически то же самое, вынесли его за пределы основного кода. Реализовали что-то типа справочника акций с небольшими основными настройками, а весь остальной алгоритм в нужный момент подгружался в программу и обрабатывался. Оперативность создания акций и устранения менеджерских оплошностей выроста в разы. Теперь не нужно было ждать очередного обновления ПО.
Наверное, лучшим послесловием к статье будет что то типа: «Если чувствуешь, что можешь запустить стартап/бизнес, попробуй. Но если понимаешь, что не получается, успей вовремя остановиться. И тогда можно со спокойной совестью работать на дядю.»
Можете немного подробнее рассказать как это выражалось? Планируем в командах разработки начать выделять роль. Хотелось бы узнать про чужие грабли :)
Все-таки TechLead и TeamLead - это разные роли. Тимлид больше про менеджмент, техлид - про архитектуру и разработку. Чаще всего совмещается, но в ростом компетенций команды роль "Team" должна начинать превалировать над "Tech". В идеале, в команде должен появиться отдельный TechLead.
Разумная компания чаще всего гибкая. Но нужно понимать, что не каждая компания - "Сбербанк" и "Газпром". Помимо "обхаживания" разработчиков, надо еще деньги зарабатывать и бизнес развивать. А тут как раз у айтишников дилема - быть "кузнечиком", раз в полгода скакать из компании в компанию вслед за ростом зарплат, либо найти ту компанию, у которой есть потенциал, которая не забудет про разработчика, когда только станет финансово-состоявшейся.
Больше всего понравилось завершение статьи. Очень точно подметили.
Соглашусь лишь отчасти. Интерфейс получается так себе, если смотреть на современные веб-приложения. Но мы все дружно надеемся, что PeterG с командой со временем дадут нам инструмент для построения современных и красивых интерфейсов. Ведь 1С — это уже не только бухгалтерия и торговля :)
Но самый важный плюс — появление веб-клиента. Да, он еще сырой, иногда приходится костылить код конфигурации, чтобы обойти ошибки в веб-фреймворке клиента. Но больше нет головной боли с разворачиванием на машинах сотрудников свежих версий клиентских приложений при миграции сервера 1С на более свежую версию платформы. Человек просто открывает браузер и начинает работать.
Еще технология управляемых приложений позволяет быстро разрабатывать B2B-системы. Естественно, есть некоторые минусы. Лично для меня — бедный интерфейс, если сравнивать с веб-сайтами, и высокая стоимость лицензий при построении многопользовательских систем (от 500 пользователей).
Мы это учитывает.
В работу платформы на уровне SQL не лезем. Чтобы писать запросы, нужно понимать что из себя представляет БД 1С. А мы знаем, что это таблицы в СУБД. Поэтому при проектировании структуры объектов конфигурации оперируем понятием «таблица», но с использованием тонкостей 1С (периодичность регистров сведений, регистры остатков, оборотов и т.п.). Соответственно, приводим схему данных в такое состояние, когда у нас нету избыточности. Или нехватки данных (статья на ИТС про самодостаточность регистров).
Хорошо. Результаты лучше в личку?
Простой пример, динамический список ведет себя непредсказуемо как элемент формы — при клике позиционирует выбранную строку всегда посередине. Запрос дин. списка очень простой (выборка из документа даты, номера, автора). 95% процентов пользователей работают через веб-клиент. Если действительно интересны выявленные проблемы, могу еще раз провести тесты на 8.3.13 и передать результаты.
1) Добавить на управляемую форму (скажем, справочника) группу страниц.
2) Разнести элементы формы по разным страницам. При этом форматированный документ оставить на второй странице.
3) В режиме «Предприятие» в веб-клиенте наполнить форматированный документ.
4) Мышью переключиться на другую страницу и нажать CTRL+S.
5) После записи объекта перейти на вкладку с форматированным документом. Текст или его часть будет отсутствовать.
Опытным путем пришли к решению, что изменения содержимого поля форматированного документа помещаются в реквизит формы при смене фокуса на другой элемент. А в приведенном выше примере этого не происходит, соответственно, обновления данных в реквизите тоже.
Пока проблему решили принудительной установкой фокуса на другой элемент формы при смене страницы.
P.S. Платформа 8.3.11. Если не получится воспроизвести, могу скинуть видео.
На моей прошлой работе наступил момент, когда в продажной системе исходный код описания акций стал огромной простыней. Сделали практически то же самое, вынесли его за пределы основного кода. Реализовали что-то типа справочника акций с небольшими основными настройками, а весь остальной алгоритм в нужный момент подгружался в программу и обрабатывался. Оперативность создания акций и устранения менеджерских оплошностей выроста в разы. Теперь не нужно было ждать очередного обновления ПО.