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

  1. В платном продукте присутствует реклама, при этом вроде есть галочка убирающая её, но это до первого обновления, а иногда эта галочка просто не работает, т.е. реклама не убирается.
    Пожелание: сделать так чтобы эта опция работала всегда, а не до первого обновления.
  2. В конфигурации могут присутствовать дистрибутивы драйверов или другого стороннего софта, зачем утяжелять итак неповоротливые решения, если достаточно просто дать пользователю ссылку?
    Пожелание: заменить дистрибутивы ссылками.
  3. Правила обмена практически всегда неактуальны и отстают от версии релиза с которым выходят, что часто приводит к ошибкам, например из-за несуществующих объектов метаданных.
    Пожелание: либо оперативнее обновлять правила, либо делать реже обновления, чтобы правила всегда соответствовали релизу, к которому прилагаются.
  4. Нет возможности убрать уведомления для пользователей, которые выходят в правом нижнем углу.
    Пожелание: сделать отображение этих окон опциональным, дать возможность отключать их совсем и менять место отображения.
  5. Нет полноценного окна или лучше монитора лицензий.
    Пожелание: сделать отдельное окно с полной информацией о лицензиях.
  6. Меню в управляемом приложении — сложно придумать что-то более неудобное. Пожелание: придумать другой вариант и обсудить его на каком-нибудь общедоступном ресурсе, текущий вариант плох вообще всем.
  7. Текст в поле поиска не сохраняется между сеансами. Пожелание: текст должен сохраняться.
  8. Окно выбора объекта базы данных в управляемом интерфейсе вообще не предусматривает никаких фильтров.
    Пожелание: предусмотреть фильтрация, которая будет сохраняться между сеансами, т.к. пользователи как правило работают с одними и теми же объектами базы.
  9. В разных решениях одно и тоже названо по разному, например приходный кассовый ордер может называться ПКО и поступление наличных, для того чтобы найти документ в окне нужно перебрать несколько вариантов.

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

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

  1. KISS (keep it short and simple)
  2. DRY (don’t repeat yourself), кстати его антипод WET (write everything twice) — присутствует во всех решениях на базе платформ 1С.

Хочется чтобы 1С почаще вспоминала азы нашей профессии, ведь они просты и выстраданы армией разработчиков со всей планеты, это ли не повод прислушиваться к ним хотя бы иногда?
Итак, поехали дальше, сначала представлю список того, что не нравится в IDE (конфигураторе):

  1. Контекстные подсказки не работают для параметров табличных документов, полей запросов, коллекций значений
  2. Контекстные подсказки не учитывают время и частоту использования текста, т.е. если я часто выбираю поле Наименование объекта СпрОбъект, то почему бы не разместить его вверху?
  3. Нет раскраски текста запросов
  4. Нет поддержки мультикурсора, приходится таскать тест модуля между 1С и Sublime Text.
  5. Криво работает рефакторинг при удалении объекта метаданных.
  6. Запросы работают только на чтение, нет возможности обновлять объекты БД в запросе.
  7. СКД — хорошая вещь для быстрой разработки несложных отчетов, но для более-менее сложных отчетов это проблема, отладка таких отчетов очень очень сильно затруднена, приходится вытаскивать текст запроса и отлаживать вне СКД, а если текст запроса присутствует и в СКД и, например, в модуле объекта и там он ещё собирается из кусков, как например в БГУ, то … нет слов чтобы передать насколько это неуклюжее решение.
  8. Закрытый формат базы, нет возможности вытащить конфигурацию из поврежденного 1cv8.1cd, нет возможности восстановить базу, если штатные средства не помогли.
  9. Нет полноценной возможности программно создавать элементы диалогов и вообще произвольные формы.
  10. Нет поддержки ООП, возможность создавать произвольные классы, наследовать их и вообще пользоваться всеми плюшками ООП значительно упростила бы разработку.
  11. Нет возможности создавать библиотеки кода, в т.ч. внешние, это странно для платной IDE.
  12. Нет возможности загружать текст модуля из внешних источников, что дало бы возможность писать один раз для всех, особенно с возможностью подгрузки кода из сети, в т.ч. из хранилищ кода, типа github или хотя бы синхронизироваться с ними.
  13. Нет возможности разрабатывать плагины для конфигуратора.
  14. Вывод штрихкода в табличный документ придумал человек с нестандартной психикой, возможно в штате 1С сидит маньяк или садист, будьте осторожны сотрудники 1С ;).
  15. Нет возможности формировать и сохранять рабочее пространство, что есть почти во всех современных IDE и давно, например хочу чтобы в дереве конфигуратора было видно только справочник Номенклатуры и Единиц измерения, с которыми работаю, остальное с глаз долой, но нет, приходится носиться по всему дереву, каждый раз просматривая ненужные в данный момент объекты метаданных. Про фильтрацию по строке и подсистемам знаю, но этого вообще недостаточно. Должна быть возможность одной командой возвращать нужное состояние рабочего пространства.
  16. Нет возможности создавать в справочниках уникальные ключи по нескольким полям.
  17. Почему-то убрали Табло, в котором можно было исполнять код на встроенном языке в пользовательском режиме.
  18. В СКД есть начало разных периодов, почему бы не сделать окончания этих же периодов, чтобы, например, можно было выбрать конец текущего года?
  19. Нет доступа к полным дистрибутивам конфигураций, даже на сайте техподдержки большинство релизов лежат в виде обновлений, если у вас нет более менее свежего полного дистрибутива, то приготовьтесь потратить кучу времени на установку всех пропущенных обновлений, Почему просто не выкладывать 2 варианта — полный и обновление или только полный?
  20. Если есть платформа под Linux, то где обновления конфигураций для Linux, почему чтобы развернуть обновление нужна машина с Windows?
  21. До сих пор нет сколько-нибудь удобного интерфейса для работы с ролями, в т.ч. программно.
  22. Нет возможности получить ссылку по строке с идентификатором, можно только по объекту УникальныйИдентифкатор, но это не работает при поиске через внешнее соединение в другой базе
  23. Слабый синтаксис-помощник, очень не хватает исчерпывающих примеров кода, хотя книги есть в каждой поставке, лучше уберите книги совсем, но дайте подробную, актуальную онлайн-документацию в свободном доступе

Теперь немного критики, за всё время работы накопилось определённое мнение относительно продуктов компании 1С:

  • Любая конфигурация — это кладезь лапши, неэффективных решений и повторяющегося кода.
  • БСП — зло, единственное что она помогает делать так это делать плохое худшим, если вы, например, захотите написать конфигурацию на базе БСП и вам нужен только функционал работы с контрагентами приготовьтесь к тому, что почти всю БСП придётся внедрить, т.к. это один большой, плохо задокументированный, монстр, который не может существовать частями, что бы там не говорила 1С.
  • Тексты запросов, особенно портянки разбитые не только на несколько страниц, но и на несколько модулей — сложно придумать что-то более жестокое, чтобы усложнить жизнь разработчикам, которым приходится потом это поддерживать.
  • Ещё раз про тексты запросов — методика формирования текста запроса включением в него “шаблонов” с последующей заменой этих “шаблонов” другим текстом не выдерживает никакой критики, так можно делать на небольших объёмах, но когда это используется для формирования многостраничного монстра, то надеюсь у авторов подобного всё хорошо, т.к. лучи ненависти им светят давно и сильно.

Пока всё, список можно продолжить, но думаю пока хватит.

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

Спасибо за внимание.

Всех с Новым годом!

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


  1. nki
    29.12.2017 11:03

    Запросы работают только на чтение, нет возможности обновлять объекты БД в запросе.

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


    1. Zlobnost
      29.12.2017 11:57

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


    1. VladC Автор
      29.12.2017 12:04

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


  1. kirillafanaciev
    29.12.2017 12:05

    Может я чего не понимаю. А зачем этот пост, если эти прекрасные пожелания можно оставить на партнерском форуме?
    В конце концом можно посетить весенний и осенний партнерский семинар, и высказать эту боль Борису или Сергею.
    Тут то это зачем?


    1. VladC Автор
      29.12.2017 12:07

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


      1. kirillafanaciev
        29.12.2017 12:20

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


        1. MAXXL
          31.12.2017 11:40

          Доступ к партнерке ничего особого не значит. Сколько раз на описанные баги (а раньше писал и код с необходимыми исправлениями) был ответ "исправлено в будущем релизе" и выходило несколько релизов пока эту ошибку действительно исправляли.


          1. yoshitoshi
            31.12.2017 12:41

            Или не исправляли...


            В конфигурации ДО, например, есть баг, которому уже больше 1 года: из Word-шаблонов документа могут пропадать поля. Например, если исходящее письмо сначала сохранить, а потом зарегистрировать, часто поле «Исходящий номер» исчезает.


            Разработчики обращение приняли. Когда исправят? ХЗ.
            А есть ли публичный трекер? Нет.


    1. SergeyUstinov
      31.12.2017 18:46

      Это для тех, кто раньше работал с 1С (работал — в прошедшем времени)))…
      Читаю и радуюсь, что для меня это уже не актуально… :)))
      Всех с новым годом!


  1. maslyaev
    29.12.2017 12:15

    6. Запросы работают только на чтение, нет возможности обновлять объекты БД в запросе.
    Тут как раз всё объяснимо. При записи обычно выполняется куча кода, написанного в обработчиках ПередЗаписью, ПриЗаписи, ОбработкаПроведения и др., и поэтому даже если прикрутить DML, то он всё равно будет синтаксическим сахаром, отрабатываемым не на сервере БД, а внутри платформы. Кроме того, это будет ружьё, из которого каждый хотя бы раз выстрелит себе в ногу.

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

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


    1. VladC Автор
      29.12.2017 12:28
      +1

      Буду знать теперь что мировое софтостроение захлёбывается и главное — от чего ;). А если серьёзно, то кому зло, а кому возможности, я вижу возможность сократить код и сделать его более кратким и читабельным.


      1. maslyaev
        29.12.2017 13:42
        -2

        По факту чаще всего не получается ни кратко, ни читабельно. С кучей архитектурных вывертов типа декораторов, миксинов, обёрток, обёрток на обёртки, обёрток на обёртки на обёртки… С ООП прекрасно работает принцип «экономим копейку — теряем рубль».

        Настоящая сила ООП не в его идейном совершенстве (его-то как раз и нет, потому что никакой стройной теории под ООП просто не существует), а в харизме его евангелистов и общепринятости догм. В ООП не принято сомневаться, потому что… эээээ… «да кто ты вообще такой, чтобы нести такую ересь?»


    1. third112
      29.12.2017 12:48
      -1

      Трушное ООП с ветвящимися иерархиями классов — один из главных виновников того, что мирвое софтостроение семимильными шагами движется к тому, чтобы захлебнуться собственным дерьмом (т.н. «проблема сложности»)
      Действительно, очень оригинальный взляд на ООП! — Многим кажется, что ООП наоборот упрощает кодирование. Стоило бы раскрыть им глаза — т.е. более подробно и доказательно описать виновность ООП перел мировым софтостроением. Конечно не здесь, а в отдельной статье.


      1. maslyaev
        29.12.2017 13:31
        -1

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

        Не забывайте пожалуйста, что все учебные задачи и все примеры в книжках намертво статичны. Всё, что нужно знать, известно заранее, и никаких «дополнительных вводных» ниоткуда не прилетит. А в реальной жизни динамика — неотъемлемое обстоятельство. Сегодня, имея сегодняшние знания и представления, сочиняем одну схему наследования, а потом наступает завтрашний день, и прилетает нежданчик.

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

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


        1. quantum
          29.12.2017 13:41
          +1

          ООП — это не только и не сколько наследование


          1. maslyaev
            29.12.2017 13:44

            Знаю. Вообще, идейные затыки начинаются со «всё есть объекты».


        1. third112
          29.12.2017 13:45

          А когда дело доходит до реальных задач, даже двухступенчатое наследование становится источником геморроя и неразберихи.
          В реальных задачах я, как и многие, пишем GUI под ООП. Когда-то я писал GUI в MacOS 7.6 без ООП. Это было гораздо труднее. Про бухгалтерские документы судить не могу — не специалист, но Вы написали о вине ООП перед всем софтостроением, а не только перед софтом для бухгалтерии.


          1. maslyaev
            29.12.2017 13:57

            Пока мы используем объекты, ничего плохого не происходит. Создали Button, назначили свойства и дали команду Show — и дело в шляпе. Удобно и практично. То же самое можно сказать про сугубо служебные вещи типа String, List и т.п. Каждый раз вырисовывать сортировку пузырьком (потому что сроки, и ни на что умнее времени нет) — это смешно. Но как только берёмся раскладывать логику предметной области в иерархию классов, вот тут фигня и получается.


            1. third112
              29.12.2017 15:09

              Во многих задачах существующая иерархия GUI задает места для добавления новых классов. Прежде всего удобно, когда обработчики событий IDE добавляет автоматом, но и руками добавлять проще и быстрее, чем делать с нуля. Лет десять назад выполнял работу для бухгалтерии строительного кооператива. Предполагаю, что там много специфики — мне давали распечатанный на бумаге образец формы, говорили какие поля обязательные, какие зависимости, где нужно учитывать баланс — я это и делал в Excel VBA. Там уже ветвистое дерево классов и добавлять свои было очень удобно. Без ООП было бы гораздо труднее.


              1. maslyaev
                29.12.2017 16:18

                Существующая иерархия GUI — это «дано», от которого отпочковываемся наследованием в один шаг. Полная аналогия отпочковывания «Контрагентов» от «Справочников». Что там внутри базового класса — не важно. Есть API, и мы им пользуемся.


                1. third112
                  29.12.2017 16:54

                  Один шаг — это когда на основе класса из «дано» делаю свой: наследую, изменяю, добавляю. Второй шаг, когда из своего класса делаю еще один. И т.д. Количество таких шагов неограничено, всё инкапсулировано, что предохраняет от многих досадных ошибок.


            1. quantum
              29.12.2017 16:00

              Вы же конечно читали книги по предметно-ориентированному проектированию (DDD) и на основе этих знаний так пишете?


              1. maslyaev
                29.12.2017 16:20

                Не довелось читать ни одной, если честно. Имеет смысл попробовать?


                1. retran
                  29.12.2017 18:27

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


                1. yoshitoshi
                  31.12.2017 12:47

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


        1. bolonov
          31.12.2017 13:56

          Вот да. Хорошо изложили


        1. andreylartsev
          01.01.2018 03:20

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

          По крайней мере так определяет понятие супертипа принцип подстановки Барбары Лисков.

          ru.m.wikipedia.org/wiki/Принцип_подстановки_Барбары_Лисков

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

          Но не факт что это требуется ) и это не вина ООП, это скорее особенности предсмертной области.


    1. finbaev
      01.01.2018 12:29

      Полностью согласен с комментарием. Для автоматизации учета вполне достаточно классов — Справочник, Документ, Регистры. Интересно какой класс еще нужен?


      1. VladC Автор
        01.01.2018 13:04

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


  1. iliabvf
    29.12.2017 14:47

    Это вы тут ищете Дед Мороза для исполнения желаний?


  1. ITLav
    29.12.2017 15:09
    +1

    20. Если есть платформа под Linux, то где обновления конфигураций для Linux, почему чтобы развернуть обновление нужна машина с Windows?

    В каталоге с обновлением помимо файла setup.exe есть файл setup, который можно запустить в Linux так:
    $ sh ./setup
    и обновление установится в тот каталог, где потом его можно найти в Конфигураторе для обновления.


    1. VladC Автор
      29.12.2017 16:58

      Чтобы добраться до этого файла нужно сначала развернуть SFX-архив setup.exe, либо updsetup.exe.


  1. cerrenesi
    29.12.2017 16:47
    +1

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

    Что же плохого в БСП?? Это хоть какой-то шаг в сторону «классических» библиотек. Хоть какая-то унификация в конфигурациях


    1. VladC Автор
      29.12.2017 16:54

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


    1. yoshitoshi
      31.12.2017 12:55

      Которую все равно многие рукожопы не используют.


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


      И, да, в самой 1С таких программистов тоже хватает.


      1. Ta_Da
        01.01.2018 12:31

        Лично мой опыт использования БСП, не использования БСП и общения с теми кто его использует, следующий:
        1) Прекрасная библиотека с морем возможностей с одной стороны и месивом спагетти-кода внутри с другой. Особенно доставляет, когда по какой-то причине существующие решения не устраивают и нужно что-то подпилить под себя (а потом еще через годик БСП попробовать обновлять) — хотя тут, возможно, вопрос скорее в выбранном способе «допилки».
        2) Универсальность и гибкость зачастую выливается во вполне ожидаемые тормоза, если копрокодер, который подсистему внедрял, внедрял ее по принципу «бест практис, зачем вникать как оно работает» (когда притаскивается подсистема управления пользователями для служебной базы, с одним служебным пользователем, или в рабочей базе используется подсистема РЛС для простейшего условия ограничений, когда разница по скорости выполнения запроса с БСП и без БСП на SQL-сервере доходит до 100%).
        3) Тотальная вера значительной части 1С-ников в магические возможности БСП (это когда настроить РЛС или настроить обмен в БСП могут, а самостоятельно нарисовать запрос ограничений или реализовать работу с планом обмена без КД — не могут). Тут конечно больше проблема конкретного человека, вероятно и среди программистов не 1С-ников есть масса людей, которые в отстутствие, допустим, метода sort() даже сортировку пузырьком не напишут.


  1. anderston
    31.12.2017 12:32

    Представители фирмы «1С» вам скажут так:

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


    А еще «1С» уже 5 лет не может реализовать в платформе функцию «Пауза».
    Пауза, Карл!
    image


    1. EvilBeaver
      01.01.2018 04:19

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


  1. robux
    31.12.2017 15:17

    Добавлю от себя пожелания по Конфигуратору/IDE:
    =24. В редакторе кода нет слева линейки с номерами строк.
    =25. В редакторе кода нет возможности прямоугольного выделения (только построчно) — из-за этого очень неудобно сдвигать тело цикла влево или вправо, а с учетом того, что в 1С используется 4 пробела, то "тыркать" приходится постоянно.
    =26. В редакторе кода нет возможности менять цвета фона, функций, методов, констант, комментариев, ключевых слов и так далее — жёстко, как в концлагере, синий текст на белом, и всё.


    1. NikitaLi
      01.01.2018 12:35

      24 Не нужно
      25 есть возможность
      26 есть возможность


  1. mtivkov
    31.12.2017 15:31
    +1

    Ну зачем это отвратительное слово "хотелки"?
    Пишите сразу в виде требований. К версиям 8.2, 8.3,… 9.0.
    И голосование обязательно надо прикрутить, чтобы требования стали не персонально вашими, а требованиями ИТ-сообщеста. Так они станут весомее.


    1. VladC Автор
      01.01.2018 12:53

      Согласен, посоветуйте название, писать «требования» мне показалось ещё более смешным, если честно. Опрос добавил, спасибо за совет.


  1. EvilBeaver
    31.12.2017 19:52
    +1

    Начало бодренькое, а после идет списк из пунктов 80% которых — или устарело или rtfm.


    1. VladC Автор
      01.01.2018 12:54

      Что устарело, можно хотя бы пару примеров?


  1. GenkaOk
    01.01.2018 11:25

    Есть такая традиция на хабре: каждый месяц мы говорим о проблемах 1С и просим их привести монстра в порядок.
    Я согласен с автором, меня очень напрягают обновления которые в себе содержат ошибки и через день отзываются.
    Последнее такое помню .15.
    Неужели нельзя было протестировать перед релизом?


  1. kale
    01.01.2018 12:37

    KISS еще и так можно (keep it simple, stupid)
    wiki.archlinux.org/index.php/arch_terminology#KISS
    ))


    1. VladC Автор
      01.01.2018 13:05

      Так даже лучше )


  1. decomeron
    01.01.2018 19:58

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


    1. VladC Автор
      02.01.2018 06:16

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


      1. decomeron
        02.01.2018 11:26

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


        1. enzain
          02.01.2018 14:03

          Минусы сделать?:)


          Вообще, есть SAP конечно, там вообще подход железный.
          Основная позиция у сапа такая: если вас что-то не устраивает в САПе и надо переделать — у вас не правильно построен бизнес-процесс, нужно пересматривать его, а сап не трогайте — там все хорошо и правильно


        1. Ta_Da
          02.01.2018 16:12

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


  1. ZEEGIN
    02.01.2018 15:37

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


    1. Наверное, это ошибка. Вы писали об этом на v8@1c.ru? Что ответили?
    2. В конфигурации могут присутствовать дистрибутивы драйверов или другого стороннего софта.
      Все идет именно к этому. В БСП уже реализована подсистема "Внешние компоненты", которая позволяет заменять хранение внешних компонент и дистрибутивов в макетах на хранение и загрузку из удаленного репозитория. Задействование ее во всех типовых конфигурациях — дело времени.
    3. Правила обмена практически всегда неактуальны и отстают от версии релиза…
      Вы писали об этом на v8@1c.ru? Как быстро исправляли правила обмена?
    4. Нет возможности убрать уведомления для пользователей, которые выходят в правом нижнем углу.
      Кажется, это уже обсуждали https://partners.v8.1c.ru/forum/topic/1604784
      В 8.3.10.2620 вернули к старому виду.
    5. Нет полноценного окна или лучше монитора лицензий.
      Какая проблема решается? Чем не устраивает консольная утилита ring license для решения проблем о текущем статусе и перевыдаче? Почему нельзя воспользоваться технологическим журналом по ключам LIC и HASP для разбора ошибок?
    6. Меню в управляемом приложении — сложно придумать что-то более неудобное.
      Лично для меня оно более удобное, чем то, что было в обчных формах. Я бы не хотел, чтобы в управляемых формах городили то, что было в обычных.
    7. Текст в поле поиска не сохраняется между сеансами.
      Зачем? это же не удобно. Зачем мне между сеансами одно и то же?
    8. Окно выбора объекта базы данных в управляемом интерфейсе вообще не предусматривает никаких фильтров.
      Обычные пользователи знать не знают о том что такое объекты метаданных и нагружать их этому не надо. Любой список или любой объект можно добавлять в избранное. Почему бы просто не пользоваться этим механизмом? Часто используешь? Добавь в закладки.
    9. В разных решениях одно и тоже названо по разному.
      Наверное, в разных решениях используются разные уровни абстракции, вот и называют по разному. Например, ПКО понятнее для бухгалтера, а поступление наличных для кассира без специального образования. Насколько я знаю, согласно стандарта https://its.1c.ru/db/v8std#content:-2145783173:hdoc действует правило образования имен объектов метаданных от синонима, для того, чтобы программистам, которые начинают знакомиться с конфигурацией было просто найти объект метаданных по синониму списка.


    10. Контекстные подсказки не работают для параметров табличных документов, полей запросов, коллекций значений.
    11. Контекстные подсказки не учитывают время и частоту использования текста.
      Потому что отсортированное по названию и изменяющееся при вводе — это удобнее.
    12. Нет раскраски текста запросов.
    13. Нет поддержки мультикурсора.
      Кажется Вы же говорили о принципе DRY, и тут же просите мультикурсор)
    14. Криво работает рефакторинг при удалении объекта метаданных.
      Конкретные примеры отправляли на v8@1c.ru? Что ответили?
    15. Запросы работают только на чтение, нет возможности обновлять объекты БД в запросе.
      Этот сенарий был бы реально полезен только при написании своих правил обновления при переходе с версии на версию. Использовать высокоуровненые объекты с контролем целостности и событийной моделью — предпочтительнее. Ни в одном языке ниодин архитектор не станет поддерживать непосредственное изменение данных в БД без отработки событий бизнес-логики.
    16. СКД — хорошая вещь для быстрой разработки несложных отчетов.
      Ну так вот и используйте ее просто. Декомпозируйте сложное в простое — а потом подставляейте в СКД.
    17. Закрытый формат базы, нет возможности вытащить конфигурацию из поврежденного 1cv8.1cd
      Если базу данных удалось повредить средствами 1С, то это критическая ошибка, об этом надо писать на v8@1c.ru. А делать резервные копии — это то, о чем пишут постоянно. Почему их не делали?
    18. Нет полноценной возможности программно создавать элементы диалогов…
      Управляемые формы — это удобный механизм создания произвольных форм, выдерживающих общий стиль интерфейса. Сложно прокоменнтировать чем может быть этот механизм не удобен.
    19. Нет поддержки ООП, возможность создавать произвольные классы.
      Абстрактные классы уже поставляются объектной моделью конфигуратора. У Вас есть базовые свойства и базовые события. Вы можете в модуле объекта описывать свои методы объектов а в модуле менеджера описывать статик методы класса. Наследование — зачем? Композиция объектов в бизнес приложениях лучше решает проблемы, чем наследование. Читайте Роберта Мартина. Чего действительно не хватает — это интерфейсов.
    20. Нет возможности создавать библиотеки кода.
      В чистом виде — библиотеки не создать, но есть возможности поставки, с помощью которой 1С поставляет множество библиотек.
    21. Нет возможности загружать текст модуля из внешних источников.
      Вообще-то уже множество конфигураций выложены в открытый доступ, на github в том числе.
      https://github.com/vpozdnyakov/YandexDiskExchangeXML
      https://github.com/tormozit/1C-Runtime-Developer-Tools
      https://github.com/xDrivenDevelopment/xUnitFor1C
      https://github.com/silverbulleters/vanessa-behavior
      https://github.com/grumagargler/tester
    22. Нет возможности разрабатывать плагины для конфигуратора.
      Это одна из причин начала работы над EDT как новой средой разработки. https://habrahabr.ru/company/infostart/blog/255757/
    23. Вывод штрихкода в табличный документ придумал человек с нестандартной психикой.
      Вы писали о неудобствах на v8@1c.ru? Что ответили?
    24. Нет возможности формировать и сохранять рабочее пространство, что есть почти во всех современных IDE.
      Это одно из свойств Eclipse, которую взяли как основу для EDT. Пробуйте работать с EDT — пишите что нравится и что не нравится в 1С.
    25. Нет возможности создавать в справочниках уникальные ключи по нескольким полям.
      Может быть стоит подучить матчать и понять, что в случае, когда нужен ключ по нескольким измерениям надо использовать непереодический регистр сведений?
    26. Почему-то убрали Табло, в котором можно было исполнять код на встроенном языке в пользовательском режиме.
      А что это такое? 7 лет работаю с 1С — никогда не слышал. Это какой-то рудимент старинных конфигураций?
    27. В СКД есть начало разных периодов, почему бы не сделать окончания этих же периодов, чтобы, например, можно было выбрать конец текущего года.
      В СКД для управления пользователю выбором даты можно отдать тип элемента Дата, а можно отдать тип элемента Период. Выбирайте второй вариант и будет возможность задавать конец года или любого другого стандартного периода.
    28. Нет доступа к полным дистрибутивам конфигураций, даже на сайте техподдержки большинство релизов лежат в виде обновлений.
      Каждая конфигурация постаялется в разных вараинтах для разных типов договора ИТС.
    29. Если есть платформа под Linux, то где обновления конфигураций для Linux, почему чтобы развернуть обновление нужна машина с Windows?
      Это действительно проблема. Вы писали об этом в 1С? Что ответили?
    30. До сих пор нет сколько-нибудь удобного интерфейса для работы с ролями.
      Никогда не испытавал неудобств. Что конкретно не нравится?
    31. Нет возможности получить ссылку по строке с идентификатором, можно только по объекту УникальныйИдентифкатор, но это не работает при поиске через внешнее соединение в другой базе.
      Вообще внешнее соединение — это устаревшая технология. Вы пишите о том, что вам нужна поддержка линукс — и рядом пишите о проблемах в технологии, которая никогда не поддерживалась в линукс и не будет (в линукс нет COM).
    32. Слабый синтаксис-помощник, очень не хватает исчерпывающих примеров кода
      Книги в pdf и its.1c.ru отличный помощник примеров. А нагромождать встроенную подсказку не надо.

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


    Всем добра.