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

Я хочу критиковать 1С платформу и конфигурации, потому что есть проблемы, а в сети какая-то тишина, как будто всех все устраивает. Простите, но не устраивает. Хочу, чтобы статью прочитали обычные программисты 1С (не сотрудники фирмы 1C), и может быть даже поддержали меня.

Сначала не много о себе. Хочу сказать, что лично мне нравится 1С, и я конечно же буду ее использовать, куда же я денусь. Знаком с 1С начиная с версии 7.7 Являюсь сертифицированным специалистом по платформе v8. Я разработчик и участвовал в разработке несколько конфигураций. Есть познания разных языков программирования (с++ go js и проч.) и готовые поделки в продакшене. Имею независимое системное инженерное мышление.

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

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

Критика Платформы 1C v8


1. Релизы платформы


Если зайти на сайт 1С в раздел обновления программ, то можно увидеть, что за октябрь 2017 фирма 1С выпустила аж 2 релиза платформы 8.3.10.2639 и 8.3.10.2650.

— Да почему так много?
— А вот сколько хотим столько и выпускаем!


Все верно, только получается, что каждый новый релиз убирает старые ошибки и добавляет новые ошибки. Я попался на эту удочку. Однажды конфигурация попросила меня установить релиз платформы посвежее, и я сделал это. И в этом релизе были ошибки. Пришлось ждать и ставить следующий релиз. Конечно же ошибки были исправлены. Но появились новые — другие! Пришлось ставить следующий релиз. Ну и так далее, ну вы меня поняли. А в конторе 100 компов, да еще 10 удаленных точек – огромный зоопарк в общем. Совсем не хочется, часто устанавливать релизы. И вот я думаю, что не нужно так много релизов, пусть их будет меньше, и пусть там будет минимальное количество ошибок.

Предложение:

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

Удивительно, но факт!

Вполне нормально брать деньги за подписку ИТС каждый месяц, а релизы каждый месяц не выпускать. (Не, ну вдруг вы не знаете.)

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


2. Главное меню


С главным меню в управляемых формах две проблемы: оно вертикальное, а в горизонтальном иконки, которые мешают!

Если главное меню вертикальное, то оно занимает много места. А нам пользователям нужно больше рабочего места.

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

Мне скажут: «Ну сделай горизонтальное, там же есть такая возможность!»
Вот в том и дело, если сделать его горизонтальным оно будет слишком длинным. Я располагаю 2 программы 1С рядом, одна с левой стороны экрана, а другая с правой, так бывает нужно порой. И когда я так делаю, я хочу видеть все меню полностью. А полностью все меню на половину экрана не входит. Я не хочу нажимать на кнопочку листания меню.

Я просто хочу, чтобы мое главное меню было компактным!

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



Я так же хочу заметить, что обычная рядовая бухгалтерша, даже не знает, что вертикальное меню можно превратить в горизонтальное. Удивлены?

Предложение:

Делаем главное меню горизонтальным по умолчанию. Честно говоря, я бы вообще выкинул вертикальный режим меню (но кто же мне это позволит). Делаем это меню максимально компактным. Для этого выкидываем иконки из главного меню, а интервалы между словами делаем минимальными. А вот иконки заносим в подменю, чтобы было красиво.

Так же, каждый пункт главного меню должен состоять из одного слова. Два слова это уже плохо. Ну зачем нам нужен пункт меню «Финансовый результат и контроллинг»? Ну простите это какие-то понты. Чем слово «Отчеты» не устраивает?

Горизонтальное меню сейчас слишком высокое, делаем его по высоте меньше.

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

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

Аксиома
Команды в меню и подменю должны всегда находится на одном и том же месте. Их не нужно тасовать. Запомнил один раз и все. И тогда можно щелкать по пункту меню даже не читая его. Ты же знаешь где он находится, щелк и результат. Это сильно облегчает работу.


3. Определение типа объекта метаданных по цвету


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

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

Так же я хочу заметить, что такси бывает разного цвета, не только желтого, но и светло-желтого, белого, черного, серого. Я видел даже розовое такси.

Британия



Япония



Россия



Германия



Разные цвета нисколько не нарушат вашу стилистику Такси, но наполнят форму цветовым смыслом.

Предложение:

  • Справочники – WebЦвета.Серебряный
  • Журналы документов и Списки документов — WebЦвета.СветлоНебесноГолубой
  • Документы – без изменений или какой-то стальной
  • Отчеты — WebЦвета.СветлоЗолотистый
  • Обработки — WebЦвета.Розовый
  • Регистры остатков и регистры сведений — WebЦвета.СветлоЗеленый

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



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

Просто факт!

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

4. Выбор периода


Как жаль, что кнопка выбора периода не имеет горячей клавиши. Вот кнопка «Добавить» имеет же Ins. Так почему бы не добавить и кнопке выбора периода горячую клавишу? Ну например F5, или еще какую-нибудь. На уровне платформы разумеется.

А вот окон выбора периода 1С нам представляла множество, но все не то, и всегда разброд и шатание.

Вот пример и вроде бы не плохо



или вот



или вот



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

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



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

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



И да, оно похоже на ваше окно календаря.

Еще хочу заметить, что в этом окне должны быть горячие клавиши, так чтобы период можно было набрать без мышки. Если печатаем цифры, тогда набираются последовательно начало и конец периода. Клавиши стрелка влево или стрелка вправо позволят изменить эту последовательность. Клавиши стрелка вверх или стрелка вниз позволяют перемещать курсор выбора месяца. А если из нажимать с Shift тогда происходит множественный выбор. Page up, page down происходит изменение года.

5. Все функции.


Окно «Все функции» не имеет горячей клавиши. А жаль.

Предложение

Думаю всех бы устроило Ctrl + P

Окно «Все функции» медленное! Оно очень медленное. И скорость его открытия разная. Иногда медленно, иногда чуть быстрей, но все равно медленно. У меня диск SSD, черт возьми, я хочу, чтобы это окно открывалось мгновенно. В ERP на SSD диске открывалось рекордные 8 секунд, но обычно 2-3 секунды замером на глаз.

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

На заметку
Когда система тормозит, это дико раздражает.


Окно «Все функции» к сожалению модальное. Это плохо. Это ограничивает мою свободу. Бывает необходимость открыть сразу много документов или справочников. И что, я должен каждый раз утомительно открывать это окно через меню, ждать долгие 2-3 секунды, когда оно откроется, а потом еще дольше искать в длиннющем списке нужный документ?

Предложение

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

Окно «Все функции» не имеет фильтра. И это ужасно. Справочников, документов, различных регистров и отчетов исчисляется в конфигурациях сотнями. Как в этих сотнях быстро и легко найти нужный? Мне желательно искать так, чтобы не утомлять глазки. Для этого нужно использовать фильтр. Фильтр это такое поле поиска, куда мы набираем текст, а фильтр нам оставляет в списке только те строки, в которых содержится наш введенный текст. Ха, я знаю, что вы знаете что такое фильтр. Просто хотел вас немного взбудоражить, чтобы вы почувствовали, что чувствую я, когда без фильтра ищу нужный мне документ.

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

Кроме того, в конфигурации там, где есть поле Идентификатор, Синоним и Комментарий не плохо было бы вставить поле «Ключевые слова». И тогда в окне «Все функции» было бы отлично искать объекты, не только по синонимам, но и по ключевым словам.

Предложение
Предложение очень неожиданно. Вставить в окно «Все функции» фильтр! Кроме того я бы добавил кнопки отбора, по объектам метаданных. Щелкаешь по кнопке «Только документы» и отображаются только документы. Щелкаешь по кнопке «Только Справочники» ну вы меня поняли))

Что получилось в итоге по окну «Все функции»:

  1. горячая клавиша
  2. мгновенное открытие
  3. не модальное
  4. фильтр и кнопки отбора по объектам метаданных
  5. ключевые слова

6. Поиск в окне Конфигурация


Как же ужасен поиск в окне Конфигурация в конфигураторе.



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

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

Предложение

Убрать подсветку красным и серым.

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

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

7. Окно о программе


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



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

Предложение

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

8. Окно Лицензии


На данный момент информация по лицензиям выглядит примерно так.



То есть окно размером с почтовую марку, в котором еще и вообще ничего не понятно. Да что вам жалко новое окно?

Сделайте новое окно в котором будут отображаться лицензии красивенько – в виде таблицы значений. Что такое HASP4 ORGL8 1?

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

А вот еще был случай.

— Ну и что там написано?
— А тут что то по-английски написано.
— Да ничего страшного, прочитайте.
— А я в школе немецкий учила!


Ха-ха, программисты, съели да. Она в школе немецкий учила.
И вы знаете, сказала она это, с таким наслаждением.

9. Синтакс-помощник


Сейчас синтакс-помощник выдает статьи примерно так:



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

Порядок блоков в статье важен. И он должен быть таким:

  • Синтаксис
  • Описание
  • Возвращаемое значение
  • Параметры
  • Доступность
  • Примечание
  • Пример

Так кстати было в 1С 77. Вот скриншот.



И кстати было хорошо. Устраивало. Зачем нужно было переделывать.

Оформим вашу статью по новому. Ну разве вот так не лучше?





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

Жаль, что синтаксис помощник переделать не реально? Да? А если допустим увеличить цену на подписку ИТС на тысячу допустим, то можно будет?

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

Suddenly.

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


Чуть не забыл. Если набрать Записать в каком-нибудь модуле, встать на него курсорам, и нажать Ctrl + F1, то система покажет окно с длинным списком. Ну конечно, ведь функция Записать относится к большому количеству объектов. Однако читать получившуюся стену текста не хочется. Я думаю в этом окне тоже нужно поле фильтра. Это окно требует серьезной переработки.

Десерт


11. Окно на весь экран


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

Зачем?

Чтобы сравнить два отчета
Чтобы сравнить отчет и документ
Чтобы сравнить документ, движения и отчет
Чтобы сравнить документы

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

Ну вот сравните:

3486286,45 = 3480286,45

Жилстройпроект ПГК ПАО = Жилстройпроект ПГК ПАО

Сигареты Marlboro Touch МЛТ синий и син. метал = Сигареты Marlboro Touch МЛТ синий и син метал

Или столбик цифр сравните:
458902,34 = 458902,34
5678221,43 = 5678221,43
673324,88 = 673354,88
2238769,89 = 2238769,89

А теперь представьте, что эти значения находятся на разных формах. Правда весело, да?

Раньше 2 окна одновременно вообще нельзя было посмотреть, в управляемых формах. Но потом добрая 1С сжалилась и разрешила. Но блин! Все равно не удобно!

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

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

Ну представьте, у человека для работы есть 100 единиц внимания. И допустим, чтобы настроить 2 окна нужно 5 единиц внимания. Вроде бы чуть-чуть, но постепенно расходует наш лимит внимания, и это утомляет. А на обычных формах, я о такой операции даже не задумывался, и тратил ноль единиц внимания.

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

Я уверен, что сделать это чисто технически можно. А если дело в браузере, то в конце концов в браузере можно оставить все как есть.

Если вы сделаете такой функционал, вы реально облегчите работу пользователей.
Это надо, просто надо, и не спорьте.

Еще на заметку.
Запускать две программы 1С для решения такой проблемы не предлагать! Потому что такой способ использует еще одну лицензию.


12




13. Клиент серверное взаимодействие.


Сначала разберемся с определениями.

В 1С сейчас есть 2 вида форм: обычные формы и управляемые. Управляемые формы это такое сложное собирательное понятие. Управляемая форма хранится и на клиенте и на сервере, сама создается платформой по определенным правилам. И чтобы мне все объяснить я разобью понятие управляемой формы на два: 1 Способ описания формы. 2 Клиент серверное взаимодействие.

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

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

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

Второе понятие Управляемых форм это Клиент серверное взаимодействие.

Если на обычных формах код писался примерно так:

Процедура ОченьПолезнаяПроцедураВызваемаяИзКнопки()
	// Какой-то полезный код
КонецПроцедуры

То на управляемых примерно так:

&НаСервере
Процедура ОченьПолезнаяКомандаНаСервере()
	// Вставить содержимое обработчика.
КонецПроцедуры

&НаКлиенте
Процедура ОченьПолезнаяКоманда(Команда)
	ОченьПолезнаяКомандаНаСервере();
КонецПроцедуры

То есть были добавлены директивы препроцессора:

  • &НаКлиенте
  • &НаСервере
  • &НаСервереБезКонтекста
  • &НаКлиентеНаСервереБезКонтекста

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

Тысяча чертей! На черта вы все это сделали!

Сейчас я хочу выразить свои личное оценочное суждение. Я конечно могу ошибаться. Я признаю это.

Но я считаю, что клиент серверное соединение полная фигня.

Чудовищная ошибка фирмы 1С. И сейчас я это докажу.

Сначала были машинные коды и язык ассемблера, затем появились низкоуровневые языки. А после стали появляться высокоуровневые. И сейчас все языки стремятся вверх. Даже С++ со своим auto стал проще.

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

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

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

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

Ну это все теория, вот что есть в сухом остатке. На практике так сказать.

Кода стало больше. Бесспорно.

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

Разработка стала сложнее и дороже!

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

Ради сомнительного профита вы заставили переучиться всю страну.

Ну а что, стало быстрей? Да что то не заметно. Пользователи полюбили работать с 1С в браузере — да ничуть. В толстом клиенте работать удобней чем в браузере.

На правах шутки
— Вот можно было вообще ничего не делать и увеличить цену на подписку ИТС.
1С: — А что так можно было?


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

Что предлагаешь?

Решений напрашивается несколько, но я изложу одно.

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

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

А идея проста, и в общем то на поверхности.

Вместо тонкого клиента вам нужно написать программу назовем ее “Company viewer”. Знаете же программы «team viewer» и «radmin», и как они работают. Например, программа teamviewer подключается к другому компьютеру к Windows, и отображает полностью рабочий стол, то есть обеспечивает удаленный доступ. Вам нужно сделать тоже самое, только подключаться нужно не к Windows, а только к процессу 1С, который мы специально запустили на отдельном компьютере, допустим сервере. Этот процесс будет отдавать на клиента картинку, в формате jpeg например. А от клиента будет приходить информация о нажатиях мышки и клавиатуры. Надеюсь уже все понятно.

Итак, наш “Company viewer” может быть реализован в 2 вариантах: обычный десктоп(как правильно и круто работать с 1С) и в браузере(как хотели вы).

Задача “Company viewer” отображать пришедшую картинку, и отправлять на сервер, данные мышки и клавиатуры. Задача сервера, снимать с процесса 1С картинку и отправлять ее клиенту. Или например, процесс 1С сам может рендерить картинку. Здесь есть простор для творчества.

Профит очевиден:

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

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

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

Так как пользователь подключается к процессу, а не к Windows, то можно на одном сервере запустить много процессов 1С, а значит много пользователей смогут обслужиться одновременно.

Можно организовать коллективную работу, и подключать двух и более пользователей к одному процессу 1С. Это «ваще крутяк».

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

И, да, рендер картинки на сервере это нормально.

Однако!
Следует отличать, что web и 1С это разные вещи, и выполняют они разные задачи. Если для веба характерно много пользователей — десятки тысяч, и незначительный объем передаваемых данных, то для 1С наоборот. Пользователей – мало, ну максимум 500, ну пусть даже 1000. А вот данных может быть очень много. Один пользователь может ворочить отчетами, в которых десятки тысяч строк, проводить сотни и тысячи документов. Если для веба рендер на клиенте — это хорошо, то для 1С рендер на сервере — это хорошо.


В итоге, язык остался простым и легким, и вот это самое главное!

Что в итоге

Отказываемся от клиент-серверного соединения.
Пишем нового клиента «Company viewer»

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

Критика конфигураций


С конфигурациями Бухгалтерия, Зарплата, Торговля, ERP, те что на управляемых формах, есть проблемы. Я начал было продолжать статью, уже было написал пол странички. А потом удалил. Конфигурации усложнены и переусложнены, там много не нужного функционала. Привычный функционал зачем то переделан или спрятан. Иногда конфигурации выглядят как настоящая магия. В них реально много проблем. Было бы не плохо, если бы программисты, которые их пишут поработали в качестве пользователей, причем не в тепличных условиях в фирме 1С, а в реальных, где бухгалтера могут плохо знать конфигурации, где они могут ошибаться, где данные «не причесаны», где поджимают сроки ну и так далее. В суровых условиях имеется ввиду.

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

«Пересказать не в силах я;
Мне должно после долгой речи
И погулять и отдохнуть:
Докончу после как-нибудь.»

Спасибо за внимание. Надеюсь я был полезен вам. И не сочтите за дерзость.

С вами был Ужасный Keyn

Комментарии (163)


  1. Slipeer
    13.12.2017 16:55
    +2

    Судя по краткости вашего списка вы сталкивались с весьма ограниченным количеством продуктов 1С — иначе список был бы больше.
    Не критикуют — потому как бесполезно.
    И судя по

    Знаком с 1С начиная с версии 7.7 Являюсь сертифицированным специалистом по платформе v8
    у вас скорее всего уже проф деформация (к сожалению никто из нас от этого не застрахован) и рассказывать насколько ужасны эти продукты в «подкапотном пространстве» (я имею ввиду работу с ОС, с базой данных) будет бесполезно.


    1. acyp
      13.12.2017 17:18

      При чем тут список продуктов? ТС рассказал о доставших его бедах. Часть мне тоже показалась «на любителя». Например менюшки мея никогда не парили. А вот с «фсе функции» — да, актуальненько. Мало того, что ее нужно включать отдельно, так еще и после каждого вызова лезть вверх, вызывая ее. Особенно запарило, когда я чинил базу со слетевшими индексами обмена. Про Ctrl-P ТС конечно погорячился, но в целом мысль верная.
      Часть вопросов я просто видимо не задевал, цвет баннера менюшек — просто восхитил!
      Опять же с лицухой, точнее с окном — тоже траблы. Сделалибы компактным и легко копируемым (в одно-два касания).
      Так что мнение ТС имеет право быть, мне кажется.
      Про ужастность — да, согласен, но продукт в типовом варианте заточен под определенные нагрузки. Надо круче? Тюнинг! Это массовый продукт! БП не рассчитана на 100 пользователей с 1000 документов каждый, но и стоит в пределах 20 тыс. ERP рассчитана, но стоит как крыло самолета.
      А в чем проявилась «профдеформация» топикстартера?


    1. acyp
      13.12.2017 17:28

      На всякий случай поясню, торопился немого.
      Первые менюшки

      Например менюшки мея никогда не парили
      -это которые в режиме пользователя, горизонт или вертикаль. Мне очень нравится вертикаль, но горизонт (ЗУП например) — так горизонт.
      цвет баннера менюшек — просто восхитил!
      Это про окна меню в режиме конфигуратора.


    1. ximik13
      14.12.2017 11:05

      Про проф-деформацию метко подмечено. Чего стоит только вот это:


      Думаю всех бы устроило Ctrl + P

      Для нормальных людей это быстрый вызов окна печати документа. Т.е. системные горячие клавиши, причем не только в Windows. Меня бы сильно и неприятно удивило поведение программы, которая по Ctrl + P не выводит документ на печать.
      Но автор все равно молодец :), хотя бы просто по тому что ему хватило решимости и усердия написать эту статью в ключе Критикую/Предлагаю.


      1. mclander
        14.12.2017 15:42

        Пойду снесу Visual Studio Code, да и Sublime заодно)

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

        PPS (для тех кто не в теме). В профредакторах кода Ctrl+P «нечёткий поиск». По нажимабельности хоткеев уступает только Ctrl+S и копи-пастам. Де факто промышленный стандарт.


        1. Free_ze
          14.12.2017 17:42

          Эти текстовые редакторы в принципе не умеет в печать. И это очень печально.


  1. acyp
    13.12.2017 17:07

    В целом согласен. Остался непонятен один момент:

    Вам нужно сделать тоже самое, только подключаться нужно не к Windows, а только к процессу 1С, который мы специально запустили на отдельном компьютере, допустим сервере.
    Мне почему-то казалось, что в тонком клиенте так и происходит. И под слабые тачки я просто рекомендую 8.3 в клиент-серверном варианте. Буквально около полу-года назад дошло до того, что один из заказчиков после нашей демонстрации принял решение взять сервер начального уровня, серверную лицуху, а в качестве локальных машин поставить «компы из подсобки» (ну, он их мысленно туда уже убрал, мысленно плача над ценой новых тачек).
    И могу сказать, что бюджет внедрения был уменьшен на 19% от предложенного самим заказчиком.
    Ну а в остальном да, особенно предложение по цвету рамок — реальный зачот, камрад!


    1. LoadRunner
      13.12.2017 17:10

      Я бы сказал, что это переизобретение Remote App, но я не силён в 1С. Только недостаток Remote App перед тонким клиентом один — извороты с печатью.


      1. acyp
        13.12.2017 17:23

        Ну вряд ли, RA — полностью выполняется на сервере, кроме отрисовки, тонкий — есть процессы, которые происходят на локальной тачке. Другое дело, что сложные отборы как-раз вынесены в серверную часть.
        А так да, идеологически вполне возможно, что RA. Правда с таким же правом можно и переизобретением ВЕБ-клиента назвать, если бы последний появился раньше :).


      1. Ziptar
        13.12.2017 18:06

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


  1. Diversus
    13.12.2017 17:28

    Если изобрести Company Viweer, то есть проблемы взаимодействий:

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

    Наверняка в фирме «1С» думали об аналоге RemoteApp, но видимо что-то не устраивало в архитектуре.


  1. Nikita001
    13.12.2017 17:54

    Вот вы наивный конечно человек ;)
    Фирма 1С даже на партнерском форуме, где партнеры сидели за свои взносы, не спешила исправлять баги с детальными описаниями и дампами. Я помню, три месяца убил доказывая баг который затрагивал у нашего клиента 10 тыс. рабочих мест (к их чести, все-таки исправили).
    "Тяни лямку, пока не выкопают ямку!".
    Батники вам в помощь при обновлениях. )


    1. terrib1ekeyn Автор
      14.12.2017 02:42

      Понимаете, когда была 1с 77, я отгадал несколько фич, которые сделали в v8. Но сказать то я об этом не могу, потому что нигде не записано. Я теперь, если я что-нибудь отгадаю, я скажу, а вот смотрите я это еще когда говорил.


      1. Nikita001
        14.12.2017 09:04

        Что уберут периодические реквизиты? Или впилят sql? )


  1. yarosroman
    13.12.2017 17:55
    +1

    Вы ещё SAP не видели, там с UI ещё печальнее.


  1. iliabvf
    13.12.2017 18:01

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

    Тем не менее, у 1С есть другие проблемы, с которыми лично я каждый день сталкиваюсь:
    1.Нет ООП, устаревший язык
    2.Все еще устаревшая IDE, ждем DT, ну он очень долго рожается и сделан на Eclipse (что не очень обнадеживает)
    2.1.Внутренний закрытый бинарный формат файлов
    3.UI ужасный, было бы круто что-то наподобии JAVAFX / Electron…
    4.Мобильный клиент не стабильный для серьезных проектов (а для мелких и не нужен)
    Кривая работа веб-клиента, WS-сервисов, http-сервисов.

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


    1. gibson_dev
      13.12.2017 20:40

      Ну вы придумали — Electron прикрутить к 1с)) Оно вообще умрет)

      А так к слову Electron вообще ui не имеет)


      1. iliabvf
        13.12.2017 21:59

        Ну лично я бы не отказался получить какой-то шаблонный UI на HTML5 / CSS, и дальше самому его допилить до нужного вида. Что касается Electron, это как пример.


    1. oogl
      14.12.2017 06:03

      >>Это все критика, но в реальности, на рынке платформ разработки бизнес приложений, 1С нет аналогов по скорости разработки, кроссплатформенности и удобноству.
      Шутите? В реальности ни у кого нет такого штата разрабов и консалтов отслеживать все изменения в РСБУ, включая подзаконные акты министерств. Поэтому любая альтернатива 1с: Бух ненадежна и дорога. С другой стороны сама 1с Бух — это безумные пол гига кофигурации из коробки.


      1. iliabvf
        14.12.2017 09:57

        Я рассматриваю 1С Предприятие в пеорвую очередь как платформу (вы же как продукт 1С Бух), например в стране где я работаю законодательство не такое страшное и отслеживать его под силу одному бухглатеру. Кроме того, в последнее время, 1С я использую больше для создания решений для склада в связке с мобильной платформой и обменом с NAVISION, SAP.


  1. bolonov
    13.12.2017 18:13

    >Просто дайте 1 раз в год 1 стабильный релиз

    :))

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

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

    > Но я считаю, что клиент серверное соединение полная фигня.

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

    > Разработка стала сложнее и дороже!

    Прогресс не бесплатен, факт.


    1. achekalin
      13.12.2017 18:21

      Ключевое — вот это:

      они физически не могут

      Плюс привыкли и не особо и хотят.


    1. urtow
      13.12.2017 18:41

      >Просто дайте 1 раз в год 1 стабильный релиз

      Наше любимое законодательство зачастую не дает.


      1. Ndochp
        13.12.2017 18:48

        Какие новинки законодательства требуют менять платформу чаще раза в год?


        1. ishua
          13.12.2017 19:49

          гыы, ну на вскидку самое простое в этом году, изменения в таможенном законодательстве, изменения в части учета по кассам… это вот я так человек, который за этим вообще не следит и не обращаясь куда то…
          а так ну откройте список изменений там больше половины скорее всего будет связан с тем или иным изменением законодательства — это прям одна из причин почему 1С рулит, остальные не успевают так оперативно… )


          1. Apatic
            13.12.2017 19:53

            В статье речь идет про релизы платформы, а не релизы конфигураций.


        1. Areso
          14.12.2017 08:08

          Те, которые затрагивают взаимодействие с криптой. Это онлайн-кассы, онлайн электронные счет-фактуры, онлайн-склады, онлайн-отчетности, онлайн-еще-какая-нибудь неведомая фигня, поддерживаемая на территории РФ или других стран, где есть официальные центры разработки.
          Далее, платформа, но не из-за законодательства:
          -Уязвимости в библиотеках для всего зоопарка выше
          -Те части, которые затрагивают взаимодействие с физическими устройствами (кассы, весы, штрих-принтера, штрих-ридеры и т.п. ритейл-оборудованием).
          -Изменения ОС и СУБД. Да, Windows обновляется, кроме Windows присутствует еще и Линукс, кроме того, разные поддерживаемые СУБД требуют постоянного внимания со стороны разработчиков платформы.


    1. Ndochp
      13.12.2017 18:46

      Да выпускают пусть сколько угодно. Главное, чтобы типовая конфигурация требовала только последний стабильный релиз прошлого года. (Использовать можно что угодно, но работать должна на декабрьском)
      >Стратегический выбор был сделан в пользу работы в браузерах.
      Хреново он сделан. Вот я живу в браузерном 1С: документообороте. Он тупит как я не знаю что. Зато я знаю пяток способов его уронить. Ну и гонку команд он не переживает. Если я вдруг ошибусь и нажму в браузере подряд открыть форму выбора реквизита и закрыть документ с этим реквизитом, то всё умрет в половине случаев. Так как попытается открыться окно с уже убитым владельцем.
      В тонком же клиенте все вертится довольно шустро даже в том же режиме работы через веб сервер.
      Кроме специально подогнанных под это форм, массовой работы в браузере я не вижу, несмотря на то, что упр формам сто лет в обед. Даже для как угодно удалённых пользователей гораздо стабильнее работает клиент 1С. Лучше — толстый ;)
      И по поводу тонкости клиента — на той машине, где летали обычные формы с «толстым» клиентом и обсчётом на клиенте, управляемые — тупят. Потому, что всё это js браузерное великолепие оказалось более требовательным как к памяти, так и к процессору, чем бизнес логика. А тяжёлые запросы выполняются на стороне сервера что в тонком, что в толстом клиенте.


      1. bolonov
        13.12.2017 19:09

        >Главное, чтобы типовая конфигурация требовала только последний стабильный релиз прошлого года

        Вам это главное. Но есть ведь и другие точки зрения, правда?

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

        2. Задействуют новые вкусные фишки (о которых партнеры просят, что характерно). Из первого что приходит на память — новые средства скд, подсистема взаимодействия

        Иногда к изменениям подталкивает окружение:
        — уход от модальных окон был не от хорошей жизни затеян, а от окончания их поддержки разработчиками браузеров
        — проверки при открытии внешних обработок — реакция на вирусы, написанные на языке 1С

        Ну то есть, конечно, то что вы говорите по-человечески понятно. Но жизнь сложнее )

        >Хреново он сделан

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


  1. bolonov
    13.12.2017 18:38

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

    Но вообще такой подход (Continuous delivery) сейчас в тренде


    1. Ndochp
      13.12.2017 18:55

      Continuous delivery это если бы когда ты контролируешь до конечного продукта. То есть для платформа как сервис подходит, а при продаже коробок деливери всё одно до клиента не долетает. В корп сегменте вроде больше LTS в моде.


  1. caballero
    13.12.2017 18:38

    У 1С практически монополия на рынке зачем им стараться. Все равно пользак никуда не денется.


  1. Viacheslav01
    13.12.2017 18:47

    14 лет назад я сбежал с 1С и сбежал от 1С в другой город. И эти 14 лет назад проблемы были те же самые, ничего не меняется. Как хорошо, что я решился завязать с этим периодом моего развития :)


  1. sim-dev
    13.12.2017 19:16

    Вместо тонкого клиента вам нужно написать программу назовем ее “Company viewer”. Знаете же программы «team viewer» и «radmin», и как они работают. Например, программа teamviewer подключается к другому компьютеру к Windows, и отображает полностью рабочий стол, то есть обеспечивает удаленный доступ. Вам нужно сделать тоже самое, только подключаться нужно не к Windows, а только к процессу 1С, который мы специально запустили на отдельном компьютере, допустим сервере. Этот процесс будет отдавать на клиента картинку, в формате jpeg например. А от клиента будет приходить информация о нажатиях мышки и клавиатуры. Надеюсь уже все понятно.
    А разве можно по-другому? (шутка)
    На моём предприятии именно так и приходится работать, обыкновенный «Удаленный рабочий стол Windows» используется… И да, меня, как простую доярку, система 1С выбешивает… а ведь я только с 1С КСЭД имею дело…


  1. Apatic
    13.12.2017 19:20
    +2

    Сначала думал что будет очередная статья от аникейщика, который и не видел никаких других учетных систем в своей жизни, кроме как 1С, но считает своим долгом ее пнуть. С претензиями в стиле: «да и вообще что это за программирование на русском языке ахахах, вот то ли дело я в институте на бейсике программы писал!»

    Но нет, статья подробная и по делу, за это спасибо.
    Впрочем, с большинством пунктов я или не согласен, или они мне кажутся не сильно актуальными (но тут дело вкуса). Про Ctr+P — забавно, конечно :)
    Ну и насчет CompanyViewer — полная фигня ИМХО. Выбор в сторону клиент-сервера правилен и органичен. Даже необходим. Когда все и всё уходит в веб и приложения, сидеть на десктопе — прямой путь в могилу для бизнеса. Чтоб оставаться на месте, надо бежать из всех сил.
    Другое дело, что реализация могла бы быть получше, наверное.

    Лично у меня претензии к 1С другие:
    1) Прожорливость конфигураций. Я сейчас уже довольно редко сталкиваюсь с 1С, но когда сталкиваюсь с новыми конфигурациями, то мне становится не по себе. На каком-нибудь среднем ноуте запустить пару бухгалтерий уже испытание. Не дай бог конфигурация будет снята с поддержки, обновление на несколько релизов может и полдня занять, если не больше. Даже простые решения в духе УНФ или Розницы Базовая жрут больше, чем КА 1.1. Ну куда такое годится?

    2) Юзабилити и функционал. Я помню на партнерском семинаре году в 2012 кто-то, кажется из Раруса, спрашивал:
    — поднимите руки, кто работал с УТ 11?
    (весь зал поднимает руки)
    — а кто до сих пор вместо нее при возможности рекомендует клиентам ставить 10.3?
    (весь зал поднимает руки)
    Nuff said, что называется.

    Прозрачные и понятные механизмы, которые были в УТ 10.3, Рознице 1.0 и т.д. превратились в нечто извращенное в последующих редакциях. Даже специалистам многие элементарные в прошлых редакциях операции поначалу были совершенно неочевидны. Что уж говорить про простых юзерах? Много нового функционала, зачастую классного, но зачем было так кардинально ломать отлаженные и всем нравившиеся механизмы?

    Впрочем, это все риторические вопросы.


  1. ildarz
    13.12.2017 19:27
    +3

    А в конторе 100 компов, да еще 10 удаленных точек

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


    Вместо тонкого клиента вам нужно написать программу назовем ее “Company viewer”. Знаете же программы «team viewer» и «radmin», и как они работают. Например, программа teamviewer подключается к другому компьютеру к Windows, и отображает полностью рабочий стол, то есть обеспечивает удаленный доступ. Вам нужно сделать тоже самое, только подключаться нужно не к Windows, а только к процессу 1С, который мы специально запустили на отдельном компьютере, допустим сервере.

    Вы как-то узко мыслите. Этот подход надо на веб распространить, а то какие-то идиоты сидят, корпят над всякими стандартами HTML/CSS/и т.д./и т.п., потом браузеры пыхтят над поддержкой разных фич, а могли бы тупо рендерить картинки на сервере, проблем-то никаких… или все-таки есть? :)


    1. mayorovp
      14.12.2017 09:35

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

      • Active Directory.
      • Powershell.
      • Батники.
      • VBScript.


      1. Szer
        14.12.2017 11:12

        Я думаю, Вы не уловили сарказм в словах автора.


  1. fukkit
    13.12.2017 19:35
    +2

    Какой кашмар, прости, Господи, после критики интерфейса стоило остановиться, а, может быть, и до.
    Критиковать 1С можно бесконечно, но за другое и не так. Когда конфигурация требует обновления терпимой версии платформы на заведомо бажную — это лютый фейл, согласен.
    Клиент-сервер — ну извините, вам не надо, а кому-то — воздуха глоток и «давно было пора».
    Кроме того, наблюдая пациента с ранних версий 7ки, делаю вывод, что прогресс у ребят гигантский. С продуктом (когда он не глючит) приятно работать и с пользовательской стороны и с разработошной. На средних объёмах — лучшая подделка, у кого заводы/параходы, стальные нервы и лишние $$ — пилите сап.


    1. Dementor
      14.12.2017 00:20

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

      Вспомнил историю примерно 2012-2013 года. В Украине в очередной раз решили, что какие-то из отчетов снова нужно сдавать по-другому. Обновление реготчетности компания ABBYY выдала вместе с новым релизом Бухгалтерии, который для своей установки требовал новый на днях выпущенный релиз платформы. И так совпало, что именно в этой новой версии платформы был лютый баг, который удалял значение субконто у проводок. Вот это был фейл!


  1. erwins22
    13.12.2017 19:44

    Встроенный RDP был бы полезен, по крайней мере многие пользовались бы.
    На счет горячей клавиши для «все функции» согласен, но лучше crtl shit F…

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

    Клиент сервер… я все надеюсь, что 1с серверную часть выкинет внутрь СКЛ, с мемори таблем компилируемом в джаву это должно летать.

    Есть вещь которая в 1с бесит — доступ к списку перечислений доступен только на сервере. Помойму это бред. Не ясно, зачем такое ограничение.

    Не ясно почему время запроса отчета пишет 0.02 с, а появляется он через 10 с. Так тормозит СКД?


    1. Diversus
      14.12.2017 10:16

      Есть вещь которая в 1с бесит — доступ к списку перечислений доступен только на сервере. Помойму это бред. Не ясно, зачем такое ограничение.

      Почему только на сервере? Чтобы обратиться к предопределенному значению перечисления на клиенте нужно использовать функцию ПредопределенноеЗначение(). Например:

      ПредопределенноеЗначение("Перечисление.ВидыНоменклатуры.Материал")

      Подробнее на сайте 1С.


      1. Klaster
        14.12.2017 12:04

        на клиенте нужно использовать функцию ПредопределенноеЗначение()
        Которая все равно генерит неявное обращение к серверу.


        1. ZEEGIN
          14.12.2017 12:16

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


          Еще есть ОбщегоНазначенияКлиентСервер.ПредопределенныйЭлемент с кэшированием на время сеанса и проверкой существования предопределенного в ИБ.


          А еще с недавних пор (БСП 2.4.3 вроде) ОбщегоНазначения.ЗначенияРеквизитовОбъекта можно вызывать с передачей имени предопределенного и сразу получать его значение (только на сервере).


          1. Klaster
            14.12.2017 12:35

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

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

            А еще с недавних пор (БСП 2.4.3 вроде) ОбщегоНазначения.ЗначенияРеквизитовОбъекта можно вызывать с передачей имени предопределенного и сразу получать его значение (только на сервере).
            Ничего не понял.


      1. erwins22
        14.12.2017 13:10

        Спасибо. Не знал.


  1. Maxlinus
    13.12.2017 20:04

    “Company viewer” это и есть реализация через http
    а если придумывать другое то нереально решить проблему с x(икс)'сами и тд

    да и собственно уже придуман «сервер терминалов» и на win и lin в котором можно запускать какую нужно программу.

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


  1. maslyaev
    13.12.2017 20:49

    На директивы "&НаКлиенте", "&НаСервере" и др. зря наехали. Поначалу, когда переползаешь со старых форм на управляемые — да, задалбывают, но потом осознаёшь, что понимание того, где конкретно исполняется кусок кода — ни разу не лишнее. Вплоть до того, что начинает сильно не хватать этой фичи в старых «обычных» формах.

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


    1. fukkit
      14.12.2017 08:17

      Настоящее ацкое зло в платформе 1С — это взятый курс на отказ от модальности.

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


      1. maslyaev
        14.12.2017 11:17

        И ещё очень не хватает функций-генераторов (как оператор yield в Питоне).


        1. Neikist
          14.12.2017 12:08

          Все же как по мне — функций первого порядка не хватает больше всего. И сами по себе полезны + можно было бы практически замутить аналог ООП на структурах.


          1. maslyaev
            14.12.2017 13:18

            В принципе, в особо клинических случаях выкручиваемся через Вычислить() и Выполнить(), хотя это, конечно, харам.


            1. Neikist
              14.12.2017 13:35

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


            1. ZEEGIN
              14.12.2017 16:48

              Не злоупотребляйте
              https://its.1c.ru/db/v8std#content:-2145782877:hdoc


  1. sshmakov
    13.12.2017 21:02

    Проясните, пожалуйста, для того, кто не в теме, но интересуется — «клиент-сервер» здесь — это что подразумевается? Web-клиент или десктопное приложение?


    1. erwins22
      13.12.2017 21:12

      И то и то. Клиент-Сервер
      Сервер имеет доступ к базе данных.
      Клиент имеет доступ к интерфейсу пользователя.

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


      1. sshmakov
        14.12.2017 09:27

        А в случае с Web где выполняется клиентский модуль, в браузере?


    1. v12aml
      14.12.2017 05:22

      И то и другое


    1. ZEEGIN
      14.12.2017 11:03

      В любом случае это не то, чем является клиент-серверный вариант
      https://youtu.be/0RY9u_mSDcU?t=1365
      см. 22:45


  1. svcoder
    13.12.2017 21:44

    Весь список полная фигня. Проблемы у 1С есть, но совсем не эти. По всей видимости вы 1С только слегка коснулись.


    1. erwins22
      13.12.2017 22:19

      Буду рад услышать. async await не предлагать.


      1. svcoder
        13.12.2017 23:02

        Например п.5 этой публикации habrahabr.ru/post/244885


        1. erwins22
          14.12.2017 00:08

          5.3 плох ибо ОРМ/ 1с должна изолировать от структуры базы.

          5.6 нужен, в действительности простое сокращение кода.

          остальное есть в Эклипсе.


          1. svcoder
            15.12.2017 14:04

            5.3. Причем тут ORM — речь о оптимизации запросов. Кроме того, в языке запросов есть ряд ограничений (например коррелированные подзапросы), которые не работают только из-за того, что нет их поддержки в определенной СУБД. Когда идет внедрение — СУБД клиента известна и глупо не использовать ее возможности.
            5.6. Дело не в сокращении кода, а в производительности. ROW_NUMBER работает на порядки быстрее подсчета номера строки

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


  1. evgenWebm
    13.12.2017 22:26

    Ох эта 1С
    У меня особых претензий нет.
    Кроме вот нескольких.
    Лицензии.
    Они меня выбешивают. Дается на ПК и если ПК ушел кудато, то надо восстанавливать лицензию.
    Искать файл ответов. И не дай бог файл потеряется.
    Звонишь в 1С, а тебя отшивают. Вот ты вроде и не пират, купил программу, а ключики закончились и ты опа в попе.
    Большинство клиентов покупают 1С и потом уходят на пиратку. Ибо проблем с администрированием на пиратке МЕНЬШЕ!

    Вторая проблема. Тут она описана.
    Это работа по сети. Такого тормоза я не видел, даже у школьных подделок.
    Работа через локальную сеть… легче поднять терминал. Ибо тормозить будет как через диалап.
    Рекомендуют поставить SSD. Мол быстрей будет. Сфигали правда не говорят.

    А так, хорошая программа и выполняет свою работу.


    1. AcidVenom
      13.12.2017 22:42

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


      1. evgenWebm
        14.12.2017 00:00

        Ну вообще зашибись.
        Мне вообще не понятна эта защита.
        Она усложняет программу, но не защищает. Пиратки это доказывают.
        Зачем эти лицензии? Не понятно.


        1. AcidVenom
          14.12.2017 08:05

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


    1. zurapa
      14.12.2017 04:22

      Делай, как большинство клиентов — плати деньги за лицензии, а компьютеры патч. Ну, если там дебилы сидят, которым охото весь этот гемор с разработкой защиты и ключей выделывать…
      Ой! Я тут к подсудному делу призвал?..
      Даже, если захочешь поддержать 1С и купить лицензию, для разработки, усрёшься разбираться, что нужно и где покупать. Сколько не спрашивал из окружения, как купить и где, все теряются в ответах. Вот так вот и работаю в 1С только с работы.
      Но, зачем?!.. Видимо я не их клиент. 1С то сильно не обогатится от таких бедолаг, которые хотели купить, а потом из-за сложностей забили и сидят на работе, на рабочей лицензии через RDP на этой грёбанной винде. Вот это крик души!..


      1. EvilBeaver
        14.12.2017 07:58

        Есть такой IT-мем "тупой 1С-ник". Собственно корни его восходят к тому, что 1С настолько проста, что худо-бедно осилить и стать "программистом 1С" может практически любой дегенерат от мира IT. Поэтому, когда человек пишет "1С сложная" — я начинаю волноваться за человека.


        1. Old_Chroft
          14.12.2017 15:02

          стать «программистом 1С»
          1С-ник — не программист. 1С-ник — не бухгалтер. Это уродский мутант-гибрид этих двух профессий, берущий из них только верхушки. Можно 10 лет спокойно «разрабатывать» на 1С, но так и не узнать разницы между процедурой и функцией и не знать за каким хером нужны забалансовые счета. Про сложные алгоритмы расчета тех же налогов можно вообще не говорить: в ответ услышите «Это невозможно. Это ограничение платформы». После «внедрятелей» мне досталась печатная форма накладной, которая при открытии жрала 12 Гб оперативки. Печатная форма, Карл! Если первым «языком программирования» для вчерашнего студента оказывается 1С — все, финиш. Как программист он кончается, не успев толком начаться.
          PS: Все вышесказанное основано на личных наблюдениях. Никого не хочу обидеть, сам больше 5 лет по долгу работы занимаюсь быдлокодерством «программированием на 1С».


          1. Apatic
            14.12.2017 15:28

            Я заминусил (сорри за это), хотел было откомментить, что бред написан, не бывает такого. А потом вспомнил пару живых примеров… И понял, что написано излишне радикально, но ведь не совсем неверно.

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

            Знаю случай, когда «спец» не знал, что регистры накопления должны «схлопываться» по измерениям, но это не помешало ему уйти из франча в одну госкорпорацию на 200к (sic!) зп. Оставив после себя невероятное количество фееричного кода у клиентов, конечно.

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


          1. fukkit
            14.12.2017 15:53

            Можно 10 лет спокойно «разрабатывать» на 1С, но так и не узнать разницы между процедурой и функцией

            Это классное свойство языка (Бэйсика) называется «низкий порог вхождения»


        1. evgenWebm
          14.12.2017 19:19

          А вы собственно программист 1С?
          Я вам хочу сказать, вы не правы.
          Программистом 1С быть также сложно как и быть другим программистом.
          А все кто говорит, что программировать на 1С легко, я считаю дилетантами.
          Так как сложность программирования зависит от поставленных задач. А не от простоты языка.
          Программист это не только оператор кода, а еще человек который простаивает/пишет логику работы программы. И тут если вы(не Вы) дурак, то хоть на С++, хоть на Go, хоть на 1С. Все будет сложно.
          А умный и на бейсике напишет что надо.

          У 1С есть свои нюансы. Программист должен быть чуточку бухгалтером. Иначе это не программист 1С. А просто набиратель кода.


  1. divanus
    14.12.2017 00:18

    Я просто поддержку по всем пунктам кроме ctrl+P


  1. QtRoS
    14.12.2017 00:20

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


  1. easterism
    14.12.2017 00:26

    Как же жизненно про немецкий :) Прям слово в слово диалог!!!


    1. cleaner_it
      14.12.2017 01:08

      Согласитесь, это проблема не 1С, а конкретных людей, чуть ленивых, и туповатых?)


      1. easterism
        14.12.2017 09:55

        Самособой 1С тут ни при чем. Это тип: женщина, гослужащий, 40+… у меня такие же кастомеры :)
        P.S. Сам я 1С никогда не юзал и не супортил.


      1. nickko
        14.12.2017 12:52

        А 1С — это только для фонтанирующих рабочей энергией и с дипломами ВУЗов?


  1. Legion21
    14.12.2017 01:01

    Крик души) Автор молодец!


  1. rudin
    14.12.2017 01:48

    Это шедевр)


  1. zurapa
    14.12.2017 04:40

    У автора претензии из разряда, добавьте мне красивостей, разукрасьте, сделайте лучше, вот так вот… А мне, многие идеи глупыми показались, я бы по другому сделал… Всем хорошо будем делать?.. Вот интерфейсные моменты может и плохи где-то, но это конструктор, с определёнными ограничениями… Привыкать надо… Либо пиши свою 1С с нуля, как правильно.
    Я сам не в восторге от многих идей 1С, и по характеру её работы. Только популярность у неё как раз потому, что всякие «программисты» вытворяют с объектами, что им вздумается, меняют «по сто раз на дню» структуру данных, интерфейсы… А потом ещё и говорят, что херово придумали, не удобно…
    Попробуй так же быстро на голом Python, PostgreSQL, PHP, и прочей дребедени своять быстренько рабочий продукт, и потом в середине отчётного периода, для бухгалтера, где-то в серединке учёта, пару записей изменить, чтобы «красиво было»! Хрен! Не выйдет.
    Все, кто мог лучше, сделали лучше и уже не 1С… А кто остался в 1С, тому удобно.
    С раскраской окон — это, прям, обхохочешься. Вы ещё узоры на уголках окон предложите сделать.
    1С вполне себе хорошая система для российского бизнеса хаотичного, неорганизованного, и такими же программистами, и аутсорсерами «два брата из ларца».
    Ну, и последнее… Напишите хотя бы свою конфигурацию, бухгалтерию, со всеми бизнеспроцессами, документами отчётами, и так, чтобы не подглядывать, как это в 1С. А когда закончите, переделайте всё, так, чтобы было, как у 1С. Именно переделайте, может тогда поймёте масштаб изменений. Это вам не браузер, какой-то, где тут добавил, там удалил, и всё это ништяк работает.
    Как вам критика статьи?.. Не нарвится… Вот 1С тоже не нравится, что все гундят, воняют, пользуются, зарабатывают деньги, а потом ещё и говорят, что продукт говно. Что-то я не нашёл на просторах сообществ 1С, где всё бы открыто бесплатно все «пилили», как на гитхабе, распространяли, бесплатно, улучшали… Инфостатом тыкать в меня не надо, та ещё меркантильная хрень.


    1. EvilBeaver
      14.12.2017 08:06
      +1

      Инфостарт просто входная точка. А так, поищите хотя бы по моему нику, выйдете на 1С-часть гитхаба.


      1. ZEEGIN
        14.12.2017 16:55

        xDD
        Свой ник как точка входа в новый мир бесплатных инструментов 1С)
        Лучше не придумать!


  1. AndreyMtv
    14.12.2017 04:47

    Вся критика по делу. Но мелковато и местечково, как то. У других пользователей будет совершенно другой список проблем которые он хотел бы порешать и которые считает более важными и приоритетными по сравнению с цветом менюшек.
    За исключением клиент-серверного взаимодействия. Это была реальная подстава со стороны 1С.
    Действительно, разруливать взаимодействие клиента с сервером по уму должна платформа, а не программисты.
    1С прекрасна тем, что это язык высокого (сверх высокого :-) уровня. Вы оперируете такими понятиями, как Документ, Отчет и сосредотачиваетесь на логике бизнес процессов клиента.
    А теперь приходится думать о том, что эти вот данные на сервер нельзя передать, а за вызов клиента с сервера вообще расстрел на месте.
    Все неоправданно переусложнено.


    1. EvilBeaver
      14.12.2017 08:09

      Вы на джаваскрипте попишите, а потом сравните подход к клиент-серверному обмену там и в 1С.


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


  1. WanGoff
    14.12.2017 04:52

    0. ТС постарался и у него вышел пост про «наболело», Я совершил над собой волевое усилие и дочитал. В первую очередь потому, что сам играю в 1С.
    1. Это не те проблемы, которые на первом месте для меня и для фирмы 1С, насколько мне известно. Цвет менюшек это не то, чем заняты лучшие умы фирмы. (кстати, есть слухи что скоро можно будет менять цветовую стилистику под корпоративные цвета и это гораздо круче чем ЛГБТ-интерфейс)
    2. Пункты по масштабу не сопоставимы. Обсуждать цвет менюшек, а потом в 11-ом пункте внезапно объявить что клиент-серверная архитектура это провал и надо все поменять… ну такое. Я не считаю что клиент-сервер это плохо от слова «совсем». И считаю хорошо, что стоимость входа стала дороже.
    3. Я не считаю что 360К и 1,25 млн для УХ — это дорого для коробки 1С. Стоимость поддержки какой-нибудь аксапты в год может составлять 60 лямов в год.
    4. Я не считаю что продукты 1С (БП, ЕРП, УХ) перегружены функционалом. Я считаю, что они реализованы в принципе не верно с точки зрения развития ИТ-ландшафта крупного бизнеса.
    5. Я считаю, что главная проблема 1С — это «1С». Мы обсуждаем решения B2C и B2G и B2B в одном месте. Сори, но между УНФ (кто в теме тот поймет) и УХ общего меньше, чем между Android и iOS.

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


  1. philya
    14.12.2017 04:57

    Ну вот на самом интересном месте… )
    Рюшечки — это здорово… Но главная проблема в том, что типовые конфигурации стали унылым гуано. Они тормозят все.


    Дистрибутив типовой бухгалтерии 3.0 — 1 гигабайт, дистрибутив бухгалтерии 7.7 — 10 мегабайт. Первая тормозит, вторая летает, а функционал по сути не изменился.


    1. Klaster
      14.12.2017 12:38

      Первый вопрос который задают все, кто в первый раз видит конфигурации на УФ после обычных форм или тем более после 77: «А чего она так тормозит?»


  1. dani
    14.12.2017 04:58

    Company Viewer/Radmin/да и RDP это чушь несусветная. Как раз в RDP все передается не картинками, а элементами и координатами, а вот когда начинаются картинки, то начинается слайдшоу. Пользователи в магазине на дохлом 3G будут вам так благоданы за это нововведение, икать не перестанете.
    Насколько я понимаю 1С, было выбрано как раз очень компромиссное решение, как раз в духе нынешних web решений, но есть legacy, поэтому мучайтесь вы, программисты, в конечному пользователю должно быть если не хорошо, то более-менее.


  1. marsdenden
    14.12.2017 04:58

    у 1C нет конкурентов и поэтому они даже смотреть на это «накипело» не будут. А зачем? Пипл платит и баги хавает, сидеть и еще что-то изобретать типа ремоутвьюера — лишние телодвижения.
    Посему забил на v8, проект на семерке дорабатывает и потихоньку мигрирую на веб приложения, естессно, самописные, благо ЗиК не нужен


  1. vasyzpetya
    14.12.2017 05:00

    Если автору так все не нравится, так возьмите и смените область деятельности или язык. Как я два года назад. Да, будет даунгрейд по зп (в моем случае это в 2 раза), или не будет, и все сразу гораздо интереснее и увлекательнее.

    Но! Сменив платформу разработки и сферу деятельности я не ругаю платформу 1С. И ушел я из 1С разработки потому что стало скучновато, а не потому что меня задолбал &КлиентСервер.
    Клиент-серверное в 1С v8 это чуть ли не самое лучше что там есть! Вы просто не умеете его готовить! В первую очередь это асинхронность.

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

    Да и на самом деле, если вам не ясна аббревиатура «HASP4 ORGL8 1» то что уж, читайте документацию.

    В общем, всяческих открытий автору!


    1. ilialin
      14.12.2017 10:47

      Но редизайн окна «О программе», согласитесь, здравая мысль. В том же SQL Server Management Studio так и сделало и это удобно.


  1. plotnick
    14.12.2017 05:46

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


    1. EvilBeaver
      14.12.2017 07:43

      Вот он, синдром эмигранта. Я пишу отвлеченный пост, но обязательно что-нибудь напишу херовое про бывшую локацию и похвалю себя, что уехал. Это чтоб самого себя убедить что-ли, не пойму? Есть тысячи причин покинуть страну, но из-за 1С? Может валерьяночки?


  1. zolt85
    14.12.2017 07:25

    Ждем IDE от JetBrains для разработки под 1C. Навеяно цветовой схемой объектов.


    1. AndreyMtv
      14.12.2017 10:33

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


  1. andrewev
    14.12.2017 07:42

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


  1. EvilBeaver
    14.12.2017 07:50

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


  1. laughman
    14.12.2017 09:30

    ругал мелкософт, пока не столкнулся с 1с, теперь думаю, что мелкософт это ангелы


  1. D01
    14.12.2017 09:39

    Я где-то слышал, что на профильных форумах критика 1С запрещена. Такая политика фирмы 1С.


    ИМХО 1С 77 была прекрасна, 1С 8х — еще один язык программирования (не самый простой и стабильный) "выезжающий" на начальной популярности 77 (набрана база клиентов и разработчиков, практически стандарт бухгалтерии)


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


    1. AndreyMtv
      14.12.2017 10:41

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


    1. Apatic
      14.12.2017 11:07

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

      Можно примеры?

      1С 8х — еще один язык программирования (не самый простой и стабильный)

      1С 8х — это не язык программирования. Это технологическая платформа в первую очередь. Имеющая свой язык программирования. Но язык не на первом месте.

      «выезжающий» на начальной популярности 77

      Очень спорное утверждение (как по мне, так в корне неверное). Но оно субъективное, так что спорить тут нет смысла.


      1. D01
        14.12.2017 13:34

        На первый вопрос ответил чуть ниже.
        Второй — пусть будет так, это не так важно.
        Третий — если у компании была 1С и были разработчики, то какая вероятность в том, что поменяется платформа? (Есть спецы, которые естественно будут говорить, что надо на 1С делать, есть опыт какой-то работы у пользователей) — очень малая вероятность соскочить)


    1. OksikOneC
      14.12.2017 12:44

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

      Ссылками бы подтвердить на эти платформы, исследования какие-то чего и сколько на них уже сделано из разряда «больших» проектов в сравнении с 1С. Начните с малого — с классификации «большого» проекта: какие у него по вашему признаки. Чтобы можно было как-то осмысленно далее продолжать дискуссию.

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

      У вас как-то все совсем весело. «Куча программистов 1С» — это не само-генерящийся субстрат, который сам себя в «каждой фирме» нагенерил. С учетом того, что этот субстрат был нанят, в большем своем случае частным бизнесом, а не бюджетом, то вдойне не понятно, как, Карл, владельцы/собственники/считающие деньги и их руководители ИТ-отделов/служб/департаментов и т.д., пришли к выводу — что ненужных 1Сников, которые «кроме 1С ничего не знают» нужно:
      1. нанимать на работу и платить им деньги;
      2. Брать в качестве основы платформу, у которой, по вашему в каких-то «больших» проектах есть реальные альтернативы, которые позволяют сделать «большой проект быстрее и лучше». По вашему, частный бизнес по собственной воле прострелил себе оба коленных сустава и один плечевой? И потом у вас, странно, что программист 1С «доказывает» руководству — что он — нужен этой организации :) Вы понимаете, всю гротескность ваших тезисов?

      У вас произошла подмена следствия и причины. И если бы, 1сник — как собирательный образ, был бы «лишним» в частном бизнесе — его бы уволили самым первым, потому что бремя содержания такого бойца — весьма и весьма достойное в материальном плане. Однако, почему-то этого не происходит, а наоборот, спрос медленно и верно продолжает расти. А вы это воспринимаете, как будто инфекция попала в организм, и теперь размножается :) Повторюсь, хозяин тела давно бы выпил антибиотик и выздоровел — однако он не только этого (почему-то) не делает, но и сам, все больше и больше вступает в симбиоз с этим «вирусом». Скоро, видимо по вашему, вообще в Чужого превратится.


      1. Free_ze
        14.12.2017 13:05

        как, Карл
        Не без участия маркетинга же. Да и энтерпрайз — штука консервативная, эксперименты не любит.


      1. D01
        14.12.2017 13:28

        Например Yii практически из коробки, потом можно взять связку NodeJS+AngularJS.


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


        1. Apatic
          14.12.2017 13:37
          +1

          Например Yii практически из коробки, потом можно взять связку NodeJS+AngularJS

          И вы на этом быстрее и лучше построите учетную систему, как на 1С?
          С теми же механизмами (разграничение ролей, гибкая настройка отчетов как в СКД, аналоги регистров, характеристик, планы обмена и т.д. и т.п.)?

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


          1. D01
            14.12.2017 13:45

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


            Значит я встречал слишком много клинических случаев).


            Большой плюс 1С — стандартные объекты. И за счет этого в большинстве случаев подхватить проект проще.


          1. oxidmod
            14.12.2017 14:08

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

            Нужна аналитика\отчеты — берите инструмент для этого предназначенный (что либо на базе Vertica к примеру, или хотя бы Elastic Search)
            Нужен божественный учет? Стройте Event Sourcing с соответствующими технологиями под капотом.
            В вашем распоряжении весь опен соурс мира. Кто либо, когда либо уже решал все эти проблемы по отдельности. Нужно лишь собрать то, что нужно вам и увязать в единую систему. Это не просто, не быстро и не дешево. Но результат стоящий.

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


        1. OksikOneC
          14.12.2017 14:33
          +1

          Например Yii практически из коробки, потом можно взять связку NodeJS+AngularJS.

          И много, по вашим сведениям, организаций/частных бизнесов, которые делают «свои большие» проекты — пошли по этому пути? Затем, зачем хозяеву_денег платить вам и вашей команде за имитацию регистров в вашей предложенной связке, если он может сразу (здесь и сейчас) получить это в отлаженном и оптимизированном виде + еще 100500 других платформенных фич + готовую конфу с уже заложенными типовыми кейсами бизнес-процессов + практически все механизмы выгрузки обмена всего_чего_надо по закону + работа с практически любым типом внешнего оборудования из коробки БПО, которая идет в составе конфы + все это будет работать под вебом и десктопе +… и я могу этот список продолжать, продолжать и продолжать — и это все владелец бизнеса, заказчик, хозяин денег, получает сразу из коробки. Зачем ему нужно оплачивать ваш труд, труд ваших коллег, ваших организаций, если все это уже написано, оттестировано, аппробировано и чик-чик и в продакшене уже несколько лет по каждому актуальному направлению. Только из-за того, что лично у вас будет:

          полный контроль над системой, а не черный ящик с багами.


          Абсурд же, как считаете сами? Ваше решение когда имеет право место быть? Когда вам нужно сделать очень легкую учетную систему, суть которой сводится к «забивке цифр в таблице» скорее всего в веб-клиенте, при том, что параллельно это могут делать количество пользователей ну пусть больше 1000. Тогда, с экономической точки зрения, конечно выгоднее для хозяина_денег вам денег заплатить за такое решение. Почему выгодно? Да потому что, это будет стоит дешевле чем 1000 клиентских лицензий и лицензию на сервер и субд. В такой нише 1С будет проигрывать только исходя из экономических соображений. Если завтра все веб-клиенты сделают бесплатными, то все это лишается абсолютно всякого смысла, ибо этот кусок неведомой задачи скорее всего проще запилить в самой конфе, которая как вы мудро подметили, есть уже почти везде :)

          Вы ниже писали, что:
          Большой плюс 1С — стандартные объекты.

          Это и есть смысл «платформы». И именно поэтому, даже на голой платформе с нуля, учетные задачи будут решать с космической скоростью, по сравнению с аналогичными платформами. Если же рассматривать возможности платформы вместе в прикладной конфигурации, типа 1с ERP последней редакции, с миллионами строк кода, уже написанными за вас — то по сути, вся ваша работа сведется к работе с open source проектом где вам точечно, как хирургу, нужно что-то подрезать, вырезать, добавить, сшить и т.д. Но вам не нужно тратить годы, чтобы переизобрести велосипед. Более того, вы получаете «на шару», повторюсь уже продуманные за вас кейсы построения бизнес-процессов по направлениям деятельности: торговля (опт/розница), складской учет, wms, crm, вся обслуживающая нси, фантастические способы по настройке всего этого без программирования вообще, скд, — это заметьте все «глазами» пользователя, а не разработчика. Ну т.е. в данный момент, догнать 1С во всем этом, в любые осмысленные сроки, может пафосно скажу, но это — невозможно. На отечественном рынке в данной нише нет конкурентов. И не из-за того, что как мне выше подметили «маркетинг» же, а из-за того, что по совокупности факторов — все остальное — тлен. Серьезные дядьки с бизнесов, представители хозяев_денег в ит-направлении, если бы были альтернативы — давно бы сменили, как вы пишите «черный ящик с багами» на красивый, модный, молодежный и самое главное, надежный «ящик» без багов и прочего. Однако, почему-то тренд противоположный. В тех сферах автоматизации, где еще несколько лет назад про одно только упоминание «1C» можно было получить галочку на себе как нерукопожатого идиота, а возможно и мысленно получить по щам — теперь плавно прогресс идет в сторону платформы 1С. А сама же авторская статья — это не более чем «крик» души коллеги с которым я отчасти согласен только по нескольким пунктам. Подчеркну — только отчасти. Другие пункты, по которым лично у меня бомбит, я озвучивать не буду, исходя вот из каких соображений — коммент, это не то место, где я бы по поводу своей несостоявшейся бомбежки смог получить конструктивный фидбек :)

          Ну вот как-то так коллега. Вот так у меня получилось вам ответить. Не знаю, поняли ли вы мои аргументы или нет.


          1. D01
            14.12.2017 17:40

            Я выше как раз говорил, что когда есть в штате программист 1С — он сможет обосновать руководству, почему надо продолжать сидеть на игле 1С))


            1. OksikOneC
              14.12.2017 19:04

              Если предложенная вами «платформа» из Yii, NodeJS+AngularJS — это альтернатива этой «игле» и вы, без тега сарказм и иронии, так действительно считаете, то не до конца ясно (из контекста ваших рассуждений и логики), что есть в 1Снике такого, что он посредством только своих прекрасных ораторских способностей к убеждению, смог окучить кажется 80% всего отечественного ит-ландшафта по учетному софту? Это гены, гендерная исключительность, может быть какие-то гипнотические способности? )) Как редиске удается год за годом не только держаться на своем месте, но еще и обосновывать свое размножение в виде себя подобных? Как 1Сник проникает в те области автоматизации, где еще несколько лет назад, правили бал совершенно другие, правильные. По настоящему, правильные платформы. И действует согласно раковой опухоли- проник, размножился, поубивал всех хороших, и до самой смерти хозяина, питается его питательными веществами :)

              Мне кажется, тут реально уже пошел #хитрыйплан суть которого для нас за гранью понимания, т.к. невозможно поверить, что все это, рядовой 1сник делает просто на бла-бла-бла, путем своих ораторских способностей, способностей убеждать, получается совсем каких-то недалеких некомпетентных кретинов, которые на это все ведутся и платят из своего кармана деньги.

              Слушайте, может 1сники заряжают как Чумак, воду перед монитором, а потом тайком подливают ее в офисные кулеры? Вы, вообщем подумайте — если разгадаете этот феномен-убедительности рядового 1сника vs все остальные, пишите!


          1. Areso
            15.12.2017 12:11

            Галактика, Парус, SAP, MS Dynamics AX/NAV, плюс все эти облачные системы, наплодившиеся за последнее время показывают, что вы не совсем правы в своей категоричности. И все они предлагают не только платформу, но и отраслевые решения (конфигурации) и за исключением облачных решений — почти все имеют возможности для расширения. Так что не 1С единым.


    1. DzenNSK
      14.12.2017 20:10

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

      Если проект ну очень специфичный и делается «с нуля» — может быть. Если стандартная торговая конторка — все уже есть. Разве что напильником доработать.
      Но вы попробуйте реалтайм отслеживать все грядущие изменения в налоговом законодательстве, бухгалтерской отчетности, отчетности в фонды, в статистику, изменения в регламентированных формах и пр. и пр. Достаточно детально, чтобы загодя подготовить свою самописную систему. Чтобы ваши бухгалтера не рвали волосы с криком «завтра последний день сдачи, где моя новая форма ЕКЛМН-60/2бис?! Ее же уже два дня как объявили обязательной!»
      А потом расскажите руководству, что вы нашли другую работу и теперь пусть ищет нового специалиста по NodeJS+AngularJS, который сможет сходу подхватить вашу (скорее всего плохо документированную) кастомную систему, которой до этого он в глаза не видел.


      1. Areso
        15.12.2017 12:15

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


        1. DzenNSK
          16.12.2017 08:08

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

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

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


  1. aslepov78
    14.12.2017 09:45
    +1

    на клиента картинку, в формате jpeg например

    Чушь полная. Давайте каждое приложение начнет заниматься написанием своих teamViewer.


  1. sand14
    14.12.2017 12:00
    +1

    По поводу первого пункта статьи про два релиза в месяц, безотносительно продукта из статьи.


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


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


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


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


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


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


    Интересно, когда появится тренд со статьями статьи вида "Как мы отказались от Agile и вспомнили забытые практики Waterfall".


  1. BubaVV
    14.12.2017 12:36

    Баллада об 1С-нике, v. 2.0


  1. Klaster
    14.12.2017 12:48

    Забавная перепись 1Сников в комментариях к статье :)


  1. ChePurator
    14.12.2017 12:59
    +1

    Не все из того, что описал ТС, я знаю.
    Не со всем, что сказал ТС, я согласен.

    В 1С я уже 10 с половиной лет. И у меня тоже накопились некоторые претензии к 1С.
    Но вот что я для себя смог понять:
    1. Язык 1С, язык запросов 1С, объектная модель 1С не скоро будут переработаны (если вообще будут).
    Причины — а. всего этого и сейчас вполне хватает для того, чтобы писать конфигурации; б. фирма 1С зарабатывает НЕ на развитии средств конфигурирования, а на своих типовых конфигурациях, на их внедрениях, на поддержке, на лицензиях. Т.е. средства конфигурирования для них НЕ основной продукт. Потому этот продукт и развивается слабо.
    Разработка DT и переход на Eclipse — это, всего лишь, изменение в методологии и технологии разработки. Но это НЕ изменение платформы — сама платформа в этом случае остается такой же, как и была.

    2. Стабильность релизов — согласен, хромает.
    Я не берусь судить в чем там дело. Но иногда мне мечтается о том, чтобы разработчики PVS-Studio вышли на контакт с фирмой 1С и предложили бесплатно один разочек проверить всю кодовую базу платформы 1С (вдруг найдут что-то) с обязательным обнародованием результатов проверки.
    Но если серьезно, то думаю, что это один из немногих случаев, когда 1С надо «понять и простить».

    3. Низкий порог вхождения — фича и, в то же время, бич 1С.
    Многие из нас знают не по наслышке, что это такое — разбирать код новичка. Причем новичка не в 1С, но в программировании! (И такие у нас были)
    С опытными разработчикам тоже не все гладко: далеко не все из них могут хоть как-то описать хотя бы пару известных паттернов программирования (например, фасад или наблюдатель). Не могут просто потому, что на языке 1С большинство паттернов либо вовсе НЕ реализуется, либо реализуется с большими трудностями.
    Грустно. Но тут, как говорится, см. пункт 1.

    4. Не самая удачная объектная модель платформы.
    К такому выводу пришел потому, что в типовых (и не очень) конфигурациях применяется, в основном, такой способ работы с данными — данные из БД читаются с помощью запросов, и только запись данных в БД производится с помощью методов и объектов объектной модели.
    Т.е., видна, на самом деле, попытка 1С разработать нормальную объектную модель. Но разработчики, наверное, поняли, что для нормального чтения данных потребуется очень серьезная доработка методов объектной модели. И когда они это поняли — начали развивать язык запросов 1С и возможности механизма запросов.
    Но скажите мне — когда было последнее нововведение в языке запросов и в механизме запросов? ЕМНИП — году так в 2010-м. Но уж точно до 2012-го года.
    А почему? См. пункт 1.

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


    1. D01
      14.12.2017 13:22

      Низкий порог вхождения был в 1С77


    1. ZEEGIN
      14.12.2017 17:18

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

      Цитата из https://habrahabr.ru/company/1c/blog/273591/


      Мы используем три разных анализатора:
      CppCheck
      PVS-Studio
      Встроенный в Microsoft Visual Studio

      Многие из нас знают не по наслышке, что это такое — разбирать код новичка.

      Нехрен давать коммитить в продакшин новичкам, пусть сначала пройдут внутреннюю аттестацию по стандартам https://its.1c.ru/db/v8std


      Continuous Delivery, Code Review: не — не слышали. 1С, как компания, виновата в том, что код новичка попал в рабочую базу) Зашибись подход)))


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

      Настольная книга 1С: Эксперта по технологическим вопросам http://v8.1c.ru/metod/books/book.jsp?id=499
      Пожалуйста, сначала прочитайте зачем нужна объектная модель, а зачем модель запросов, а потом рассуждайте об удачных и неудачных моделях.


      1. ChePurator
        14.12.2017 19:01

        Я, наверное, непонятно написал фразу «разбирать код новичка».
        Суть не в том, что код новичка попал в продакшен.
        Суть в том, что перед продакшеном этот код надо проверить! (Типа Вашего Code Review)
        Потом вернуть новичку на доработку. И так раза три-четыре (а доходило и до десяти раз), пока не получишь более-менее нормальный вариант.
        И вот вопрос — как долго новичок должен учиться, чтобы пройти сертификацию? Месяц? Два? Полгода? И все это время бизнес будет ему платить за работу в «песочнице»?
        Думается, что фирма 1С НЕ является таким учебным заведением.

        К тому же сертификация — это как водительские права в России: они могут быть, а ездить их владелец не умеет! (Приходил к нам на собеседование один такой кандидат — весь в сертификатах. А код — ужас-ужас!)

        Просто низкий порог вхождения позволяет называть себя гордым словом «Программист» тем, кто написал «Hello, World» мелом на заборе. И вообще высший класс — если это написано без ошибок!

        Про объектную модель — согласен, может быть не так назвал. Я имел в виду программные объекты для работы с данными.


        1. ZEEGIN
          14.12.2017 20:00

          Суть в том, что перед продакшеном этот код надо проверить!
          Потом вернуть новичку на доработку. И так раза три-четыре (а доходило и до десяти раз), пока не получишь более-менее нормальный вариант.

          Вообще-то именно так это и работает. Автоматизированная проверка конфигурации. Требование разрабатывать юнит тесты на свой код. Если ошибок автоматических нет и юнит тесты не выдали ошибок — выполнить код ревью. И так это работает не только в командах с 1С новичками, а в любых командах)


          И вот вопрос — как долго новичок должен учиться, чтобы пройти сертификацию? Месяц? Два? Полгода?

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


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


          Можете написать свои стандарты, но вряд ли вы это сделаете лучше и учтете все нюансы, которые аккумулируются в стандартах от 1С последнее десятиление.


          В python тоже очень низкий порог вхождения, можно сесть и начать писать. Сразу. Но не придерживаясь стайл гайда (например, от Гугла https://google.github.io/styleguide/pyguide.html) можно натворить делов.


          В javascript тоже очень низкий порог вхождения, и опять же — если писать не придерживаясь стандартов будет хаос (https://standardjs.com/)


          В чем разница подготовки специалистов 1С от подготовки любого другого инженера?
          В лени руководителей? В том, что за 1С они не замечают всего остального мира?
          1C — это прекрасный инструмент, и хаять надо в первую очередь не его, а тех, кто не умеет им пользоваться. Если что-то нельзя сделать с помощью 1С — это можно сделать иначе. Но чтобы понимать что и как надо делать — надо растить специалистов.


          1. ChePurator
            14.12.2017 21:27

            Во многих языках/фреймворках порог вхождения низкий.
            Но у многих языков/фреймворков есть а) достаточное количество примеров качественного кода; б) достаточное количество литературы (в т.ч. и бесплатной и от именитых авторов), чтобы можно было учиться хорошему стилю.
            Новичок, начиная работать с этими языками/фреймворками, с самого начала знает, что рано или поздно он обратится за помощью к какому-то сообществу, покажет свой код и получит фидбек.
            А чем 1С может порадовать новичка?
            Платная подписка ИТС? Платная литература? Где на официальных ресурсах 1С можно бесплатно найти стандарты программирования в 1С? Где на официальных ресурсах в свободном доступе описаны хорошие практики проектирования конфигураций? (Паттерны проектирования?) Где инструментарий типа статических анализаторов? Где инструментарий типа JSLint как минимум для соблюдения единой стилистики кода? (Стандартное форматирование в конфигураторе не предлагать, т.к. оно само уже в некоторых моментах не соответствует текущим стандартам программирования) Где бесплатно с официальных ресурсов можно скачать технологическую платформу? (Я в свое время купил «1С-Деньги», чтобы иметь доступ к сайту с платформой и обновлениями)

            За 10 лет я видел много пиратских версий Радченко-Хрусталевой-еще_пары_тройки_писателей. Но качественной бесплатной литературы с примерами и объяснениями правил хорошего тона в 1С — я не видел.
            На чем учиться новичку? На типовых конфигурациях?

            Может быть такие ресурсы уже есть (Инфостарт и мисту не предлагать). Просто года три назад я прекратил их искать.

            Я клоню к тому, что при низком пороге вхождения в 1С наблюдается небольшое количество действительно доступных официальных ресурсов, с помощью которых новичок мог бы повышать свой уровень. А без подобных ресурсов — новички варятся в собственном соку и в соку своих товарищей, которые когда-то были такими же новичками. После чего и появляется мем «тупой 1С-ник».

            Т.е. складывается впечатление, что фирма 1С не заинтересована в развитии сообщества 1С: выпустили продукт, выпустили описание. Но доступ к продукту и описанию ограничили. И так же складывается впечатление, что данная ситуация саму фирму 1С не волнует — ибо фирма зарабатывает НЕ на сторонних программистах и их поделках.

            А что касается организации процесса разработки — то это отдельная тема, которую я не намеревался поднимать.

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


            1. Free_ze
              15.12.2017 12:19

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


              1. Neikist
                15.12.2017 12:38

                Многие это сколько? По крайней мере у меня да, стажировка была, но что то на ней никто не рассказывал про паттерны разработки конфигураций, или принципы написания чистого кода. А когда я пытаюсь с кем нибудь поговорить на какие нибудь интересные и полезные в теории темы вроде юнит тестов, принципа единственной ответственности, соблюдении одного уровня абстракции в функции, связность и связанность, и т.п. то обычно окружающие крутят пальцем у виска и говорят иди лучше к какому нибудь сертификату 1сному в свободное время готовься вместо «этой чуши». И не сказал бы что франч совсем мелкий, сотрудников недавно за сотню перевалило, имеется несколько своих разработок, стоимость проектов в миллионах считается, а то и в десятках…


                1. Free_ze
                  15.12.2017 13:11

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

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


                  1. Areso
                    15.12.2017 13:58

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


                    1. Free_ze
                      15.12.2017 16:04

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


                      1. Areso
                        16.12.2017 15:16

                        Версия платформы/конфигурации не позволит юнит-тестирование, Enterprise Development Tools, нормальное версионирование (а не эту поделку-на-коленке, называемой хранилищем), и многое, многое другое, что есть у других экосистем, и что пытается появиться у 1С.
                        И да, 1С в ООП умеет плохо, а SOLID был придуман для ООП.


                1. ZEEGIN
                  16.12.2017 00:32

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


                  Неужели примитивы описанные Бруксом и Виртом зависят от языка?
                  Неужели 1С, как язык, не полон по Тьюрингу?
                  Неужели паттерны банды четырех не применимы к 1С?
                  Неужели Роберт Мартин писал только об определенном языке?


                  Если интересно — то занимаештся и знаешь, если не интересно — отмахиваештся.
                  Много ОдинЭсников не интересуются, потому что программирование — это вообще не их.


              1. ChePurator
                15.12.2017 15:39

                Рад за франчей.
                Просто я работаю не во франчайзи.


            1. artbear
              16.12.2017 15:21

              На Гитхабе есть примеры юнит-тестов документов для ERP на базе нашего фреймворка xUnitFor1C.
              Много примеров есть для vanessa-behavior — это больше поведенческие/сценарные/функциональные тесты


              1. ZEEGIN
                16.12.2017 16:04

                Ну если серьезно: сделать юнит тестирование документа в 1С все таки нельзя)
                Либо это фактически будет не юнит тест, а интеграционный тест. Без рефлекшина дергать отдельные элементы мы не можем. Так же как и создавать моки с определенными свойствами.
                Но можно придерживаться определенных правил: делать код разделенным, не делать в событиях непосредственную логику, т.е. изначально писать такими блоками, для которых можно написать юнит тесты, а после серии юнит тестов каждого блока одним интеграционным проверить взаимодействие блоков между собой.


                1. artbear
                  16.12.2017 17:20

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


                  1. artbear
                    16.12.2017 17:21

                    Я лично давно не употребляю термин «юнит-тест» для 1С, говорю просто о тестах.


  1. antonovi
    14.12.2017 12:59
    +1

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

    Наезд на директивы тоже не понял к чему. Да, есть особенность. Она обоснована. Не важна производительность — используйте &НаКлиенте и &НаСервере. Важна — разбиритесь с особенность контекстных/без контекстных вызовов. Возможно подход выглядит странно, но он реально работает и позволяет 1С-разработчикам делать вполне себе рабочие приложения, которые можно транслировать в web.

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

    Ну а что, стало быстрей? Да что то не заметно. Пользователи полюбили работать с 1С в браузере — да ничуть. В толстом клиенте работать удобней чем в браузере.


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

    Например, в нашей компании есть полноценный сервис на 1С для партнеров. 200-300 пользователей в online через web-клиент, отдельные части сервиса поставляются через HTTP-сервисы. Работает прекрасно и развивается.

    Все условно.


  1. spy45242
    14.12.2017 13:05

    Company viewer

    В своё время на citrix делали то же самое.


  1. DzenNSK
    14.12.2017 13:05
    +1

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


  1. Rar_xxx
    14.12.2017 13:05
    +1

    Я не являюсь сотрудником компании 1С. Я штатный «программист» 1С, да именно тот который не является программистом, в работе приходится/лось применять языки C++, C#, Java, JavaScript, а так же css3 html5 в т.ч. canvas и powershell, bash. Статья от человека явно далекого даже от сертификата 1С: Профессионал, и хотел бы обратить внимание что данный человек приглашён на habr
    13 декабря 2017 в 16:44 ;) И удивительно видеть сегодня такую статью в топе habra… После получения сертификата 1С: Профессионал вы можете получить сертификаты 1C: Специалист, крутым считается сертификат 1С: Эксперт — человек который должен уметь решать проблемы производительности у >60Tb баз 1С развернутых на MS Windows или DEB/RPM-based Linux-систем и MS SQL или Postgress или Oracle, как понимаете решать проблемы это выше чем ставить и настраивать. Чтобы не нарываться на баги платформы/конфигурации перед обновлением необходимо проводить полное тестирование бизнес процессов компании, я считаю это парадигма касается обновления любого ПО или ОС. Насчет багов, обновления надо как вино выдерживать — ожидать, не надо хватать первую вышедшую версию/подверсию 1, 2 или 3 знака, например сейчас уже выпустили 8.3.11… но не кто не заставляет вас ее ставить, сейчас считаю стабильной 8.3.10… да и если читать порядок обновления то там написана рекомендованная версия платформы, сейчас для бухгалтерии например это 8.3.10.2667. В таблице рейтинга экспертов 1С есть проекты, по которым определяется рейтинг, по проектам люди далекие от 1С могут составить некоторое представление о текущем положении продуктов компании 1С.


    1. Apatic
      14.12.2017 13:43

      И удивительно видеть сегодня такую статью в топе habra…

      Ничего странного. Напишите статью о каком-нибудь программировании микроконтроллеров, получите 10 плюсов и 5к просмотров.
      Вбросьте статью с какой-нибудь «болью» и кричащим заголовком — получите хайп.
      Это не хорошо и не плохо, просто так работают соцсети и СМИ. Кликбейт и все такое.


  1. amarao
    14.12.2017 14:56

    Я думаю, два релиза с багфиксами за год — это позор.

    nightly build, green/blue deploy. Слышали такое? Или вы 1С устанавливаете вручную, «next», «next», «next» мышкой?

    Ох уж эти 1С-программисты…


    1. DzenNSK
      14.12.2017 19:56

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


  1. yukon39
    14.12.2017 17:21

    Этот процесс будет отдавать на клиента картинку, в формате jpeg например.

    Скринкаст в формате jpeg? Серьезно? Ну хотя бы «в формате avi» написали бы.
    Вы видимо не совсем хорошо понимаете, для каких целей применим jpeg, чем отличается просто набор из 25 картинок от потока 25 кадров/сек.

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

    И потом, как масштабировать такую систему? Например, сейчас не гарантируется, что два последовательных вызова сервера не только выполнятся в рамках одного процесса, но и вообще будут выполнены на одном сервере. Т.е. система довольно легко масштабируется по горизонтали. Ваше предложение предполагает «приколачивание» пользователя к конкретному серверу, т.к. сервер должен знать, что именно находится у клиента в точке с координатами (135, 394).


  1. Bolotnikoff
    15.12.2017 07:13

    Честно говоря я не понмаю две вещи почму она ткакя тормозная? Притом каждая новая платформа все тормознее и тормознее. Второе — интерфейс такси непродуман сосем почему он увидел свет? Вот взять к поимеру отчет — извините у меня на 1920?1080 со всеми шапочками этих ваших СКД влазиет три или пять строк и это не лечится без переработки конфигурации. Вообще места для полезной информации мало


    1. fukkit
      16.12.2017 13:19

      1080 по вертикали это вам киношки смотреть, а не таблички, которые, как известно, растут вниз. Зачем так себя мучить?


  1. Jinxers
    15.12.2017 07:14

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


  1. makdoc
    15.12.2017 07:15

    На фоне того же JAVA, С++ итд. у 1С есть много недостатков и детских болячек.
    И самый большой недостаток с моей точки зрения это:
    1) Простота использования — то есть конфигурации разработаны не для пользователя или бухгалтера.(За частую фирма тратит много времени на запуск продукта в эксплуатацию).
    2) Сложность поддержки и доработки стандартных конфигураций.
    3) Отсутствие ООП и прочих плюшек.(После изучения JAVA я как то похолодел к 1С хотя мой путь разработчика лежал именно через 1С, так уж сложилось).
    За такое время существования можно было поднять язык разработки на уровень.
    Согласен с автором на тему бесконечного выпуска релизов платформы.
    Директивы препроцессора это достаточно удобно, сразу видно что где выполняется.
    Действительно было бы неплохо разрабатывать отдельно клиент и сервер.
    Но увы так исторически сложилось.


    1. DzenNSK
      15.12.2017 08:48

      1. Но проблемы с запуском как правило вообще никак не связаны с тем, как разработаны конфигурации. Проблемы как правило в том, что в учете бардак. Который при запуске любой нормальной системы необходимо ликвидировать или хотя бы минимизировать.
      2. А в чем сложность? Ну если в сравнении с 7.7 — то да, сложность выросла. Вместе с функциональностью.
      3. ООП — да. Нормального ООП сильно не хватает. Какой-то дикий гибрид из объектного и процедурного подхода получается.


  1. akseno
    15.12.2017 07:15

    Они монополисты, поэтому так происходит.


  1. kisskin
    15.12.2017 07:15

    Вся критика и предложение по 1с заключается в 3-х словах «Напишите 1С 7.8». Учтите в ней некоторые современные доработки по интерфейсу и всё — 90% бухгалтеров будет достаточно.
    Вы со своими монстроидальными тормозными 8.x, честно говоря, уже задолбали. Есть 10% мазохистов, которым «ЭТО» нравится — вот пусть они и мучаются.


  1. androidt1c
    15.12.2017 07:16

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


  1. NitroJunkie
    15.12.2017 07:16

    На мой взгляд, первые 12 пунктов это про вкус и цвет фломастеров. А вот 13 — это да, эпик фейл. Кстати у SAPа (а точнее ABAP), насколько я в курсе, такой проблемы нет, но это больше по причине того, что они большинство возможностей платформы в язык запихивают, а 1С держит язык чистым, а все остальные возможности реализует через библиотеки, захардкоженные прикладные объекты / классы. Во втором подходе сделать прозрачное и при этом эффективное взаимодействие сервера с клиентам куда сложнее (хотя теоретически возможно, действительно сделав своего рода RDP, только все же не на уровне картинок, а на уровне контролов и значений их свойств).

    Но вообще 13 пункт — это следствие общей политики 1С. Это хорошо автор про управляемые блокировки не вспомнил. Нет, чтобы сделать корректный откат и перестарт транзакций, после чего просто перевести СУБД в версионный режим, и получить нормальную конкурентность (когда читатель не блокирует писателя). Что сделал 1С? Барабанная дробь. Переложил всю ответственность на разработчика. То есть из ACID просто выкинул средние две буковки (а это одна из самых главных функций СУБД). При этом задача многопоточности одна из самых сложных задач в программировании. И ее переложили на 1С-разработчика, которым когда-то давно должен был быть бухгалтер. Но как тут правильно заметили:

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


  1. Daar
    15.12.2017 09:04

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


  1. 1div0
    15.12.2017 12:17

    Дружище, всё не то — описал третьестепенные вещи какие-то. Тема недостатков не раскрыта.
    П. 13 — проблема описана верно, но решение не учитывает, как минимум подключаемое оборудование.


  1. mgis
    15.12.2017 22:46

    Если по существу, то последние версии платформы (начиная с 8.3.10) очень неплохи. Есть REST oData, http-сервисы, web-сервисы, появились расширения конфигурации, явилась свету клиент-серверная архитектура.и тонкий клиент.
    В общем все не так плохо как раньше, хотя конечно еще есть куда расти.


  1. php7
    16.12.2017 04:47

    Снимите метку «1С-Битрикс», это немного о другом. :)


  1. Jkero
    16.12.2017 04:47

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