Не так давно был еще один быстрый с критикой 1С.
Пост хороший, но.
как-то пропустил.
Стоит поддержать коллегу и дополнительно указать на некоторые важные моменты.
Прежде чем ты начнешь
Разработчики 1С проделали большую работу и прошли большой путь.
Сегодня мы располагаем широким набором инструментов для достаточно быстрого внедрения различных решений для разных операционных систем.
Множество готовых разработок зачастую являются лучшим выбором для малого и среднего бизнеса.
Этот продукт протестирован, поддерживается и подробно документирован.
Читаешь руководство разработчика и поражаешься, насколько все продумано.
Как и в любом крупном проекте, здесь невозможно избежать огромной инерции, и есть неверные решения или вещи, которыми пренебрегают. Мои пять копеек про «1С тормозит» Я стою перед доской (агайл), и мой взгляд ловит пять задач с разной формулировкой, но по одной и той же причине.
Вот одна из таких загадок, самая примечательная:
При обработке загрузки прайс-листов, балансов и новых товаров выдает ошибку - Конфликт блокировок.Так уж получилось, что с «чистыми» конфигурациями я сталкивался редко.и не могу скачать новые товары.
В основном это переработанные или сильно переработанные конфигурации.
С одной стороны, можно, конечно, поставить крест на организациях, владеющих такими конфигурациями, и просто не работать с ними.
С другой стороны, в таких компаниях, как правило, больше «движения» и работать может быть интереснее.
В общем, эти вы уже видели два слова , Да? Интересно, какие чувства у вас были, когда вы впервые столкнулись с этим? Что вы ответили тогда, когда вас спросили необходимое количество времени для выполнения этой задачи? Печаль не в том, что такое явление существует, а в том, что когда я, например, впервые с этим столкнулся, то даже не знал, с чего начать - в 1С нет стандартного инструмента для борьбы с этим недугом.
Хотя явление довольно распространенное.
Думаю многие со мной согласятся, что в меню конфигуратора должен быть пункт посвященный этой проблеме.
Сегодня у нас есть инструмент, но он где-то в недрах «Центра управления эффективностью», входящего в состав «Центра управления эффективностью».
Корпоративный инструментарий ", что вообще-то недешево.
К тому же, документация Он доступен только по подписке ITS (Techno Enough).
Есть, конечно, сторонние инструменты, например этот .
Я знаю, что в крупных развивающихся компаниях разработчики 1С прикладывают много усилий для того, чтобы сотни пользователей могли комфортно работать.
Даже там, где в отделе 1С каждый второй сертифицированный специалист, суммарные показатели времени на регулярные блокировки достигают устрашающих значений.
Я сам работал в подобной организации, общался с коллегами, пришедшими из других крупных компаний.
Я не претендую на то, что так везде, но представляю себе следующую картину: масса пользователей пересекает некий порог, после которого ничего не помогает, даже корпоративный инструментарий.
Тогда есть два варианта.
Вариант 1. Часть разработчиков 1С заменяют разработчиками SQL. Все, что связано с базой данных, удалено из конфигурации.
Пишется новая база данных, содержащая всю логику.
А формы взаимодействуют с новой базой данных только посредством вызова хранимых процедур.
Обмен с другими базами данных осуществляется через тот же Service Broker. В результате все работает очень быстро.
Остается одна неприятная мелочь — в хранимую процедуру нельзя передать таблицу значений из 1С.
Вместо этого передается XML или JSON. Здесь есть продолжение.
Когда приходит время покупать очередной пакет лицензий на 300 рабочих станций, понимаешь, что разработчики 1С стоят недешево.
В результате возникает идея заменить «лицо» 1С на PHP или C#.
Вариант 2. Компания пытается внедрить SAP. И почему? Потому что я стою перед доской, пью чай и думаю, что было бы неплохо между делом решить парочку блокировочных задач.
Но я не знаю, сколько времени это займёт, а у меня много других задач.
Обмен данными и конфигурациями Модульность лучше монолита.
Так? Хорошо, когда в процессе разработки можно разбить целое на части.
Когда в 1С работает 20+ пользователей, было бы неплохо разделить всех по разным углам.
Убедитесь, что каждое направление имеет свою конфигурацию.
Например, склад свой, контент свой, курьеры свои, и бухгалтерия, конечно, тоже.
Так меньше засоров.
Много маленьких конфигураций лучше, чем одна огромная.
Легче развиваться и т. д. Я уверен, так будет и в будущем, вы заходите в магазин, смотрите разработки разных компаний, подбираете небольшие конфигурации, которые необходимы для вашего бизнеса, подключаете их в систему и пользуетесь.
Итак, что мне понадобится? Заказ клиента, онлайн-кассы, банк-клиент Тинькофф, банк-клиент Сбер, возвратная тара.У меня действительно уходит много времени на подключение конфигураций, даже работающих на одной версии платформы.нет, возвратная тара не нужна.
Я не говорю о присоединении к стандартным конфигурациям, в которых обмен уже написан.
Хотя и здесь иногда есть чему удивиться.
Например, если бухгалтер загружает документы в свою базу данных раз в квартал (это удобнее для человека), то время выгрузки и загрузки измеряется в часах.
От одного типичного к другому типичному.
Однажды я наблюдал обмен мнениями, который длился более десяти часов.
Можете ли вы представить, если бы произошла какая-то ошибка? Вы исправили, поставили загрузку обратно.
бац! Снова.
Бывает. Я, например, чисто ради статьи устанавливаю загрузку со стандартного UT11.3 через универсальный формат с настройками по умолчанию (Другая программа.
).
Три часа спустя:
Произошли ошибки при отправке данных (см.Путь к менеджеру обмена не указан (пусто, значит используется менеджер по умолчанию).журнал).
Смотрим лог:
Событие: Отправка.Что это? Почему? За что? Допустим, AML — это правила обмена данными… Про обмен с интернет-магазином ничего не хочу говорить.Объект: Статья денежного потока, Курсовой убыток (e1cib/data/Directory.Cash Flow ItemsЭref=ae8500259075533411e7205499471b7a).
{GeneralModule.DataExchangeXDTOServer.Module(4605)}: POD для объекта метаданных не найден.
Объект метаданных:.
ThrowExceptionErrorText;
Просто дам пару советов, для тех, у кого много номенклатуры и/или свойств, если они не знают: чтобы не «молотить» часами, первое, что нужно сделать отключить передачу фотографий.
Картинки необходимо загружать отдельно на ресурс сайта (например, FTP-сервер изображений).
Для этого делается регламент, в нем мы отслеживаем изменения картинок (например, по версии данных) и передаем их.
Я видел разные реализации в разных компаниях, но суть такая.
Итак, объединение прикладных решений.
Есть особая конфигурация" Преобразование данных 3.0 Однако, чтобы все получилось, нужно указать такую мелочь, как файл с текстом модуля «Менеджер обмена через универсальный формат» (для UT11.3 модуль содержит 46+ тысяч строк кода).
Где спрятан генератор этого модуля? Что делать, если у вас новая пустая конфигурация? Вы говорите — используйте XML-сериализацию, кто мешает? Но я думаю, было бы здорово: я сделал одинаковые объекты в обеих конфигурациях, щелкал правой кнопкой мыши по каждому прямо в дереве конфигурации и выбирал, в какую конфигурацию передавать данные.
А в объектном модуле есть пару событий на эту тему (Перед передачей данных, Перед получением данных).
И чтобы оно передавалось быстро.
Правда, это все где-то на грани фантастики.
Это похоже на полет человека на Марс.
Тогда так.
Было бы здорово, если бы функция «Планы обмена.
ВыбратьИзменения» принимала максимальный размер выбранного пакета.
Там скопилось не все что сразу, а например пачка штук 100. На следующей итерации — еще 100 штук.
И так далее.
Если изменений много, это будет работать быстрее.
И блокировка продлится недолго.
Совместимость с 1С.
Изобретать велосипед – это плохо.
Особенно, если вы не собирались этого делать.
Вместо того, чтобы вкладывать деньги в разработку собственного продукта, выгоднее купить готовое решение для тиража.
Это может быть анализ продаж, подсистема логистики, есть маршруты, адреса, курьерское приложение, да что угодно.
Здесь Здесь описаны правила возможности получения значка «Совместимо с 1С».
Часто готовые решения предлагаются не на 1С, а на платформах.
В правилах мало что сказано о таких решениях:
К сертификации принимаются следующие группы программных продуктов: .Вот и все.8. программы, поддерживающие обмен данными с 1С:Предприятием на файловом уровне; 9. программы, имеющие иные способы взаимодействия с 1С:Предприятием (рассматриваются индивидуально).
Общие требования 1. Программный продукт должен быть предназначен для массового распространения, а не ориентирован на конкретную реализацию.
2. Изделие должно иметь печатное руководство.
3. В инструкции должно быть подробно описано взаимодействие продукта с 1С:Предприятием.
.
5. Все продукты для конечных пользователей должны иметь инструменты для установки.
6. При внесении исправлений или изменений в сертифицированную продукцию разработчик обеспечивает соответствие модифицированной продукции требованиям сертификации.
В случае внесения изменений, нарушающих требования сертификации, 1С имеет право приостановить действие сертификата.
Требования к продуктам, интегрированным на основе обмена файлами.
Программные продукты, интегрированные с системой 1С:Предприятие на основе обмена файлами (загрузка/выгрузка), должны со стороны 1С:Предприятия использовать стандартные средства 1С:Предприятия, предназначенные для работы с файлами формата TXT и DBF.
Разработчик решения получает значок.
Ваш заказчик читает материалы стороннего продукта, видит, что есть интеграция с 1С, покупает его, а дальше начинается «внедрение».
Часто за это приходится доплачивать.
Некоторые продукты имеют действительно простые варианты интеграции, такие как внешняя обработка или расширения конфигурации.
Есть ли EnterpriseData? Это именно тот инструмент, который нужно использовать для взаимодействия с решениями, отличными от 1С.
Все необходимое уже учтено.
Если не принять во внимание, то просто добавят в новую версию формата.
Нет необходимости в какой-либо обработке для взаимодействия с API, а тем более в модификации конфигурации.
Когда стороннее решение и конфигурация используют один и тот же объект, всегда возникают проблемы с блокировкой объектов.
Я столкнулся с системой, которая даже в ее рамках предлагала пользователю с особыми правами решать, какие изменения сохранять, а какие нет. Я не говорю о взаимодействии с 1С.
А в другом решении чуваки решили не заморачиваться и просто выдают ошибку при попытке передать отредактированные данные.
Блокировку объектов необходимо отдельно и подробно упомянуть в правилах.
Иногда кажется, что не все разработчики мегарешений осознают, что вот на что это похоже .
Но самое неприятное, когда нет надписи «Совместимо с 1С».
И там написано что-то вроде:
Есть стандартная интеграция с 1С: — Управление торговлей 10.3 и 11.3 — Комплексная автоматизация 2.0 — Управление производственным предприятием - ERP-системаОднажды я получил следующий ответ от техподдержки аналогичной компании, когда их обработка стала регулярно выдавать ошибку:
Компания Х бесплатно предоставляет стандартную обработку обмена данными между 1С:УТ и Х.Вот и весь разговор.
Нам нужно быть строже с этими ребятами.
Гайки необходимо затянуть.
Интересно было бы спросить у юристов: может ли кто-нибудь написать у них на сайте, что у них есть «интеграция с 1С»? Управляемые формы Какой великолепный дизайнер для создания контролируемых форм! Есть некоторые недостатки (например, стандартную строку поиска нельзя использовать для всех табличек, или при отображении может случиться что угодно), но в целом создавать формы очень удобно.
Свобода творчества максимально ограничена.
Разработчик защищен от ошибок проектирования интерфейса (можно только слишком перегрузить форму).
Они одинаковы для разных разработчиков.
Формы получаются красивые.
За это я хотел бы поблагодарить всех, кто это придумал.
Ребята, это здорово, так и должно быть.
Возможность опубликовать это все и открыть в браузере открывает массу возможностей и в целом это просто здорово.
Есть некоторые недостатки, но со временем они уйдут.
Что касается кода, так уж получилось, что архитектура управляемых форм тормозила разработку.
У меня есть некоторая статистика, в зависимости от разработчика и назначения формы, если не брать в расчет простые, где нужно просто вносить детали в форму, то замедление где-то в 2-4 раза.
Это касается только самих форм + асинхронность.
Но, судя по всему, с этим ничего не поделаешь.
Иногда заказчика не устраивает, как это выглядит, например на мобильном устройстве.
Тогда вам придется обслуживать отдельно созданные страницы через HTTP-сервисы.
Из главного кажется, что все Я уверен, что ребята из 1С сами обо всем этом знают. Но, как я сказал вначале, большая инерционность продукта и сложность задач не позволяют «сделать это прямо сейчас».
Увидимся в комментариях! Теги: #1c #совершенствование платформы #Анализ и проектирование систем #ERP-системы
-
Вулканизм
19 Oct, 24 -
Смарт-Карты. Часть 3. Тлв
19 Oct, 24 -
Образование Для Всех?
19 Oct, 24