gifts2017

Плюсы и минусы архитектуры 1с

Опубликовал Дмитрий Воробьев (vde69) в раздел Программирование - Практика программирования

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

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

Все что здесь написано, является исключительно моими наблюдениями и домыслами.

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

По этому я решил рассмотреть наиболее важные на мой взгляд моменты касающиеся и идеологического и технического развития 1с. Последней каплей для написания данной статьи стало столкновение меня с новой системой БСП (библиотекой стандартных подсистем) в документообороте и бух 3.0. А так же некий диспут на вечный спор про 1с и ООП (объектно-ориентированное программирование)

Тому, кто уже читал: проведен анализ, что именно реализовано за прошедший год, можно сказать, что 30% из предложений сейчас выполнены или находятся в процессе.

Всего предложений - 20

Полностью выполненых - 4 (20%)

В процессе - 2 (10%)

Не выполненых - 14 (70%)

 

Поехали:

--------------------------------------------------------------------------------------------------------------

Платформа, есть файловая версия и есть клиент серверная в различных вариантах.

файловая версия

1c предполагает

Реалии

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

Или использоваться для обучения.

файловую базу франчи впаривают жадным компаниям, у   которых нет своего специалиста (из-за жадности) и из-за этого они покупают   именно файловую версию, даже если предполагается, что там будет работать 20   бухгалтеров. Логика руководства при этом такая: "7.7 файловая в   терминале работала? Работала и ни кто не жаловался, а новая 1с более   современная и работать должна не хуже". А после перехода начинается   нытье, что 1с полное г....о.

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

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

Клиент серверная версия (SQL)

1c предполагает

Реалии

База будет устанавливаться, и эксплуатироваться   опытными специалистами, причем сервер SQL - это серьезная тема (и дорогая) и   ее будет настраивать DBA администратор.

Клиент серверную SQL базу покупают 2 вида клиентов:

1. действительно большие компании где есть специалисты   по SQL и там в общем все нормально.

2. компании где есть 1с специалисты но те которые   просто не могут сэкономить на бесплатном сервере баз данных PostgreSQL (из-за   отсутствие специалистов) но понимают что на файловой базе у них будут   проблемы. Поэтому они берут SQL как продукт наименее геморройный, но при этом   в компании ни кто не знает чего с ним нужно делать, сколько и каких лицензий   и т.д. Не редко SQL, 1с и клиентские сессии висят на одном сервере.

Вторая категория, устанавливающая SQL, наверно самая обширная и согласитесь, что она проблемная.

1. Для компаний до 30 пользователей покупать SQL и лицензии на него все же накладно, да и отдельный железный сервер чисто под SQL далеко не обязателен.

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

В результате мы имеем частые проблемы с настройками SQL, дополнительные траты и не очень хорошую производительность. Что конечно ухудшает мнение о продукте компании 1с.

Клиент серверная версия (postgresql)

1c предполагает

Реалии

База будет устанавливаться и эксплуатироваться   опытными специалистами желающими сэкономить на лицензиях как SQL так и   Windows.

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

Такая категория то же находится в зоне риска слегка разочароваться в 1с.

Что можно сделать для улучшения клиент серверных вариантов установки:

1. Реализовано (минисервер).  Для маленьких компаний добавить возможность использовать серверу 1с вместо SQL базу данных формата 1cd, сделать такой вариант относительно дешевым. Тем более такая возможность почти реализована в службе удаленного хранилища.

2. Не реализовано. Для консоли управления сервером добавить мастера

а. Мастер создания новой базы и регламента бекапов, обновления статистики, реиндексации

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

в. мастер проверки безопасности (проверка пароля на кластер, проверки паролей в базах)

г. мастер бекапа и восстановления средствами СУБД (непосредственно из консоли)

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

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

В результате мы получим следующие варианты основных поставок

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

2. Серверная с поддержкой только формата 1cd, предназначена для небольших фирм от 2х до 30 пользователей, простая в поддержке с автоматическим бекапом средствами сервера 1с. С ограничениями файлового формата. (ориентировочно 500$ + пользовательские лицензии)

3. Полная серверная версия с возможностью выполнять 100% действий по администрированию/настройки/бекапированию/регламентов конечной СУБД (SQL) не вникая в тонкости самой СУБД. (ориентировочно 2500$ + пользовательские лицензии)

Эти три варианта уменьшат проблемы с низкой квалификацией IT специалистов и увеличат реноме компании 1с. Так же второй вариант поможет многим компаниям сэкономить на сторонних лицензиях не прибегая к "узким" специалистам. Правда, возможно уменьшение сумм покупки (часть покупателей серверной части перескочат на второй вариант) но его можно компенсировать увеличением цены на третий вариант.

WEB интерфейс

Безусловно, web интерфейс это большой шаг вперед, но давайте посмотрим, когда он был сделан? Правильно когда управляемых форм и тонкого клиента еще не было в помине, с тех пор как сама 1с сильно шагнула вперед, этот компонент выглядит неким рудиментом. А развитие сервисов вообще делает web интерфейс не сильно нужным.

1c предполагает

Реалии

Основным назначением WEB интерфейса является   универсальность запуска с любого компьютера, без установки платформы 1с

Реально для запуска 1с через браузер пользователь (а   точнее IT специалист, по тому что пользователь сам не справится да и прав у   него может не быть) должен настроить безопасность (при чем часто это идет в   разрез установленным в компании политикам) и еще кучу галочек. Кроме того   браузеров много разных и у всех настройки разные. Поэтому в реальном мире   универсальность и простота использования браузера – это миф

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

Если даже не брать криворукость кода, то простые   ограничения браузера по памяти, делает невозможным работать с большими   объёмами данных. Да и в языке столько специфики касаемо web интерфейса, что   мы начинаем выходить из привычной концепции 1с.

Для сложных случаев (1с признает, что с браузером   есть «сложные случаи») есть тонкий клиент через WEB интерфейс.

Конечно, это решение лучше, чем просто web   интерфейс, но дело в том, что 1с запрещает передавать третьим лицам   (например, филиалу, или своему партнеру) любые компоненты платформы (не   смотря, что лицензии используются сервером 1с). Поэтому для конечного   пользователя необходимо покупать базовую поставку при полном отсутствии   необходимости иметь лицензию для работы. Кроме того при работе тонкого   клиента через web требуется одна версия сервера и клиента (зачем – не   понятно) и при обновлении платформы на сервере приходится обновлять клиента у   всех «партнеров»

Что можно сделать для работы с web интерфейсом:

  1. Реализовано. Сделать бесплатным и общедоступным дистрибутив тонкого клиента без поддержки файловых баз, при этом 1с ни чего не потеряет в продажах, пользовательские лицензии все равно нужны.
  2. Не реализовано. Сделать мастер административной настройки браузера для работы с web клиентом.
  3. В процессе. Развивать сервисы 1с с прицелом полного перехода web интерфейсов именно на сервисы.

Файлы логов

Как и 15 лет назад лог файл сейчас живет отдельно от базы, если раньше это особых проблем не составляло то сейчас, безусловно, проблемы есть (например, на бух 3.0 при логе в 1 гиг при попытке что-то посмотреть сервер почти «умирает»). Наиболее видимая альтернатива ведению в файле – это ведение непосредственно в базе. Попробуем сравнить эти два варианта.

Ведение в отдельном файле

Ведение в базе данных

Плюсы:

  1. Не занимает места в базе данных, ускоряются   регламенты обслуживания базы.
  2. Возможность «резать» по периодам

Плюсы:

  1. Быстрая работа, индексирование по событиям,   пользователям…
  2. Поддержка транзакций (можно событие откатить в   случае чего)
  3. Удобство бекапа, переноса и т.д. (все в базе)

Минусы:

  1. Требует отдельного бекапирования
  2. Устаревшая структура, медленная работа.
  3. Отсутствие транзакционных механизмов.
  4. Для серверной базы – не просто сделать копию базы   вместе с логом, может потеряться при изменении идентификатора базы   (пересоздание базы в кластере, или переносе на другой сервер), совсем не   очевидные пути корректного поднимания из бекапа
  5. Для серверных баз – нахождение его в каталоге   сервера (и как следствие на более медленных дисках)
  6. Бутылочное горлышко (запись в лог – однопоточная и   не может идти параллельно)

Минусы:

  1. Раздутие базы, это наверно самый серьезный минус, по   тому, как на больших базах (100гиг) если туда писать еще и лог, то это будет   вообще не подъёмная база в обслуживании.

Как мы видим, обе схемы имеют в себе серьезные минусы. Поэтому истина, где то посередине.

Что можно сделать?

Я вижу 2 варианта

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

--------------------------------------------------------------------------------------------------------------

Общее увеличение сложности конфигураций и внедрение БСП.

Прикидывая количество строк кода в бух 7.7 и бух 3.0 (прикидывал я путем глобального поиска точки с запятой) я пришел к следующим значениям

бух 7.7 - примерно 200 000 строк

бух 3.0 - примерно 1 000 000 строк

То есть бухгалтерия из довольно простой и понятной для одного человека конфигурации превратилась в монстра, количество вложенных вызовов процедур зашкаливает. Увеличивается как сложность понимания, так и время выполнения кода, в результате приходится бить железом (увеличивать память, ЦП и т.д.). С увеличением размера кода сложнее искать ошибки, да и самих ошибок становится больше. Что то подправить то же проблема, по тому как обновления необходимо накатывать намного чаще (в 7.7 можно было год жить, в 3.0 максиму квартал), и не смотря на более дружественный интерфейс объединения все равно обновление не типовой - это геморрой. 1с продвигает БСП (библиотека стандартных подсистем), безусловно это шаг вперед, хотя как ни странно но для "самописок" это шаг довольно сомнительный

1c предполагает

Реалии

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

Реально самописки делают по двум причинам:

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

2. есть принципиальные расхождения требуемых   алгоритмов от того что есть в типовых, в данном случае то же БСП не сильно   подходит.

БСП решает проблемы отраслевых решений   разрабатываемых франчами.

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

БСП - ведет к блочному построению всей системы, что   упрощает понимание, и уменьшает повторяемость кода.

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

Что можно сделать:

1. Не реализовано. Кесарю - кесарево, то есть вернуть БСП более логичное назначение, а именно не пытаться в нее впихнуть конкретику ведения учета, а сделать разделение на ДВЕ системы.

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

б. Библиотеки прикладных подсистем - библиотеки реализующие конкретную бизнес логику, вот именно тут и раздолье для самописок и отраслевых решений.

Стоп!!! а что это за слово промелькнуло "переопределяемых метаданных"???

2. Не реализовано. Бинго! я веду в сторону ООП, вариант реализации:

а. для объекта "подсистемы" добавляем модуль (или несколько модулей с разными режимами НаСервере/СервереБезКонтекста), в них и размещаем БП это упростит поиск модуля по смыслу.

б. в модулях добавить строку подключаемых модулей (по аналогии с паскалем), этим можно будет в одном месте управлять перекрытием процедур модулей, да и наглядность будет выше. Пример: есть модуль подсистемы УправлениеПользователями в котором описаны 2 функции УстановитьПароль(НовыйПароль) и УстановитьПараметр(Параметр, Значение). И модуль подчиненной подсистемы УправлениеПользователямиРарус в котором переопределена функция УстановитьПароль(НовыйПароль) (например в ней добавили почтовое уведомление о смене пароля). Если в модуле формы в разделе описания подключаемых модулей будет стоять УправлениеПользователямиРарус то будет доступна функция УстановитьПароль (из модуля раруса) и УстановитьПараметр (из БП, по тому что есть иерархия).

в. по сколько формы у нас управляемые, то вполне можно сделать формы с подчинением, на пример есть форма ПКО в ней описываем общие поля, закладки и т.д. Далее вместо создания перечисления ТипыПКО и делания из него функциональной опции мы делаем на каждый тип ПКО свою форму в которую автоматом наследуется основная форма ПКО. Тем самым мы отсекам кучу ненужного кода а оставляем только код который требуется именно нашему виду документа. Согласитесь это удобно! Кстати давно пора у формы сделать 2 модуля "клиентский" и "серверный".

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

В результате получим следующий пирог

Источник

Функционал

Пример

Библиотека подсистем

Базовые объекты (расширяемые)

Подсистема «УправлениеПользователями», модуль

Функция УстановитьПароль(Пользователь, НовыйПароль)   Экспорт

КонецФункции;

Процедура УстановитьПараметрСеанса(Параметр,   Значение) Экспорт

КонецПроцедуры;

*****************************

Подсистема «ДенежныеДокументы_Базовая», документ   ПКО_Базовый – объект виртуальный, нужен для возможности использовать тип   документа и реквизитов в тексте и метаданных.

Отраслевые решения, конечные «допилы на местах»

Расширения и изменения базовых объектов

Подсистема «УправлениеПользователямиРарус»   (подчинена «УправлениеПользователями»), модуль

// добавляем почтовое уведомление при смене пароля

Функция УстановитьПароль(Пользователь, НовыйПароль)   Экспорт

Результат =   Подсистема.УправлениеПользователями.УстановитьПароль(Пользователь,   НовыйПароль);

Если Результат Тогда

ПослатьПочтовоеУведомлениеОСменеПароля(Пользователь);

КонецЕсли;

Возврат Результат;

КонецФункции;

Библиотеки прикладных подсистем

Функциональные объекты

Подсистема «ДенежныеДокументы» на основании   «ДенежныеДокументы_ Базовая»,

документ ПКО на основании «ПКО_Базовый», в нем   определяется базовый функционал документа и форм, всякие кнопки печати и   присвоение номера т. д.

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

Отраслевые решения

Расширения и изменения функциональных объектов

Подсистема «ДенежныеДокументыРарус» на основании   «ДенежныеДокументы»,

документ ПКО_ ОплатаОтПокупателя_Рарус на основании   «ПКО_ ОплатаОтПокупателя», в нем добавляется реквизит «Коментарий_Рарус» и   определяется функционал работы с ним.

Конечные «допилы на местах» под специфику конкретной   организации

Расширение и изменение функционала отраслевых и   типовых решений

Внешняя обработка РеестрПКО,

Вариант 1, модуль:

Модули Подсистема. ДенежныеДокументыРарус;

// здесь будут доступны формы «ПКО_   ОплатаОтПокупателя_Рарус», «ПКО_ РозничнаяВыручка», «ПКО_   ВозвратОтПоставщика»

Вариант 2, модуль:

Модули Подсистема. ДенежныеДокументы;

// здесь будут доступны формы «ПКО_   ОплатаОтПокупателя», «ПКО_ РозничнаяВыручка», «ПКО_ ВозвратОтПоставщика»

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

--------------------------------------------------------------------------------------------------------------

Запросы и все что с ними связано.

Отсутствие UpDate

100% запись в базу средствами 1с продиктована с одной стороны безопасностью и желанием дать возможность использовать промежуточный код 1с, а также для выполнения операций требуемых ядру 1с (расчет итогов, кеширование и т.д.). С другой стороны за это платим скоростью и масштабируемостью. Имеется в виду не запись одного регистра, а запись «транзакции». После введения «гибких» блокировок ситуация заметно улучшилась, но при том количестве дублируемых регистров 1с все равно безнадежно отстает от требований сильно нагруженных систем.

100% запись в базу средствами 1с

UpDate средствами SQL

Плюсы:

  1. Безопасность
  2. Возможность вставить произвольный код для расчета.

Плюсы:

  1. Скорость выполнения
  2. Минимальные блокировки

Минусы:

  1. Очень длительное проведение тяжелых документов.

Минусы:

  1. Отсутствие возможности вставки кода на 1с

На мой взгляд, прямой UpDate для 1с давать нельзя, с другой стороны явно нужны инструменты ускорения длительных операций записи.

Чего можно сделать:

  1. Не реализовано. Для справочников/документов/пвх/регистров необходимо реализовать оператор изменения одного реквизита по отбору (такая операция довольно часто будет использоваться, например, для изменения прав доступа или добавление нового реквизита и его заполнения). Сейчас похожая возможность есть у регистров «НаборЗаписей», но хочется иметь возможность на вход ему давать текст запроса вместо отбора. Разумеется при выполнении такого оператора должны выполняться проверки на необходимость дополнительных действий (например пере проведение), определять требуется или нет обрабатывать код реакторов 1с (модуль объекта, подписки на события) следует или по метаданным или аналогично Объект.ОбмнеДанными.Загрузка = Истина.
  2. В процессе. Разделить весь учет (и все регистры) на «оперативный» и «не оперативный» (собственно эту идею частично используют в УПП), но мне бы виделся вариант решения несколько иным (пока до конца идеи не сформировал, но думать в этом направлении нужно).

Временные таблицы или вложенные запросы

Однозначного рецепта здесь нет, приведу лишь видимые мною плюсы и минусы обоих подходов.

Временные таблицы

Вложенные запросы

Плюсы:

  1. Повторное использование результата запроса, это   самый очевидный плюс.
  2. Возможность проиндексировать результат во временной   таблице, тоже достаточно очевидный плюс.
  3. Возможность использовать результат в другом запросе.   Уже менее очевидный плюс, по тому, что результат может устареть к моменту   вызова другого запроса.
  4. Более прогнозируемый план запросов в SQL, то же   довольно сомнительный плюс, по тому что оптимизатор SQL иной раз куда умнее   студента 1с.

Плюсы:

  1. Минимальное использование дисков
  2. Читабельность кода

Минусы:

  1. Длительное время жизни и как следствие раздувание   TempDB, и возможность «устаревания» результата.
  2. Ухудшения читабельности текста запроса. Минус   сомнительный, но зачастую использование кучи ВТ делает запрос совершенно не   читабельным.
  3. Требуется дополнительные усилия для разрушения ВТ,   иначе идет нерациональное использование ресурсов, как сервера, так и клиента

Минусы:

  1. Сильная зависимость от оптимизатора SQL и его плана   запросов.

Сам стараюсь использовать ВТ только в 2х случаях: Повторное использование или необходимость индексирования результата.

Пакетные запросы

Это довольно сильное новшество 1с но, даже не смотря на это, и у него есть минусы или пожелания. Первое пожелание сделать выполнение пакетов в двух режимах последовательное/параллельное, понимаю, что при параллельном выполнении будут недоступны ВТ предыдущих пакетов, но зато за счет этого можно будет ускорить те тяжелые запросы, которые есть сейчас. Конечно, Вы скажете, что сам SQL умеет распараллеливать вычисления, но как распараллелить то, чего еще не послано сервер.

1c предполагает

Реалии

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

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

Что можно сделать:

  1. Не реализовано. Ввести в запрос и самое главное в поддержку конструктора комментарии. Что упростит разбор простыней запросов.
  2. Не реализовано. Ввести поля комментарии в получаемую при выполнении пакета структуру.

RLS

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

Плюсы RLS

Минусы RLS

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

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

 

Безусловно, система RLS не всегда понятна для   рядовых программистов и многие ее просто боятся использовать, причина простая   – вполне реально получить отчет (за который реально получить взбучку вместо   премии):

Иванов – 2р

Петров – 3р

-------------------

Итого – 1254р

 

Текущие реализации RLS в БСП – это просто монстры   вселенной, кто смотрел – тот поймет. Десятки тысяч строк шаблона …

Что либо изменить в текущей реализации – не реально,   можно только писать рядом «свое»

 

RLS частенько порождает «Объект не найден», особенно   на формах в реквизитах. Часто бизнес требует «скрыть» а вместо этого имеем «Объект   не найден».

 

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

Что можно сделать:

  1. Не реализовано. По сколько шаблоны RLS компилируются в запросы на сервере (и кэшируются), можно ввести в шаблоны поддержку вложенных шаблонов RLS (разумеется, есть опасность зацикливания). Это даст превращение текущих RLS БСП в более менее читабельный и расширяемый код строк так на 500.
  2. Рализовано. Ввести конструктор запроса для создания шаблонов RLS
  3. Не реализовано. Ввести просмотр скомпилированного запроса RLS. (с возможностью подстановки произвольных параметров)

 

--------------------------------------------------------------------------------------------------------------

Интерфейсы и все с чем работает пользователь.

Про юзабельность и интерфейсы

Стоит признать, что текущие конфигурации на управляемых формах довольно хорошо продуманы, и 90% всего, что требуется пользователю ему доступно в 3 клика. Это очень хороший показатель и учитывая тот факт, что за счет функциональных опций скрывается неиспользуемый функционал интерфейс и для пользователей выглядит довольно дружелюбным. Но как мы знаем большинство действий можно выполнить несколькими способами, и каждый пользователь работает «по своему». Например, кто-то снимает с проведения, зайдя в документ, а кто-то из списка. Кроме того существует индивидуальная настройка форм. Вроде все хорошо, но давайте пройдемся по списку.

Текущее поведение 1с

Желаемое поведение

Каждый пользователь может индивидуально под себя   настроить «меню» и формы. При определенных условиях (смене компьютера/переподключении   базы) все теряется.

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

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

В третьих хочется иметь возможность копирования   интерфейсов и самое главное всех настроек от другого пользователя. Вспоминаем   ситуацию, когда приходит новый человек и начальство говорит – «Он пришел на   замену Иванова», сейчас приходится лазить и перетаскивать кучу настроек.

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

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

Про отчеты

Новая система отчетов, продвигаемая в БСП на 100% реализована на регламентных заданиях. Давайте разберем.

1c предполагает

Реалии

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

Для «первичных» отчетов действительно пользователь   готов ждать результата, а вот для получения расшифровки из 10 строчек   ожидание в 3 секунды – это реально создает мнение, что программисты полные   идиоты и 1с г..о

Что можно сделать:

Насколько я понимаю, есть два проблемных места

  1. Не реализовано. Ожидание клиента, сейчас раз в 1 сек. проверяется как там задание, выполнилось или нет. Тут мне видится логичным реализовать новый оператор оповещения конкретной клиентской сессии из регламентного задания.
  2. Не реализовано. Очередь на сервере для запуска регламента, тут можно добавить параметр «приоритет» и например расшифровки выполнять с более высоким приоритетом, чем все остальные.

 

 

 

 

 

См. также

Вознаграждение за ответ
Сумма: 0 $m
Добавили:
Дмитрий Воробьев (vde69) (227.44 $m)
Подписаться Добавить вознаграждение

Лучшие комментарии

3. Сергей Старых (tormozit) 10.06.13 14:38
Убери пустые области. Неудобно читать

Остальные комментарии

1. Александр Лыткин (TrinitronOTV) 10.06.13 14:16
спасибо большое, было очень интересно познакомиться с вашим мнением по отношению к 1С, если будет возможность, то продолжите сие высказывания на эту тему, буду ждать
2. DenisCh Гейтс (DenisCh) 10.06.13 14:29
Статья хорошая.
Только орфографию поправь, а то глаза режет.
ShantinTD; superman; q_i; +3 Ответить
4. Дмитрий Воробьев (vde69) 10.06.13 14:41
судя по реакции буду дописывать и дооформлять.

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

на вскидку:
про пакетные запросы
про RLS
про интерфейсы
про юзабельность
про СКД
про Конфигурацию "Конвертация данных" и про обменя в целом
5. Андрей Макаров (XOCTEP) 10.06.13 14:46
Мысли интересные, но как минимум про файловую базу улыбнуло. В чем смысл клиенту на 5 пользователей покупать сервер 1с, если можно спокойно работать в файле без всяких тормозов?
6. Дмитрий Воробьев (vde69) 10.06.13 14:52
Для маленьких компаний добавить возможность использовать серверу 1с вместо SQL базу данных формата 1cd, сделать такой вариант относительно дешевым. Тем более такая возможность почти реализована в службе удаленного хранилища. вариант будет совсем не сильно дороже файловой, но будет позволять работать без терминала и значительно быстрее, а главное безопаснее, чем текущий вариант.

а по деньгам 500$ для компании с 5 пользователями (а численость компании всегда выше чем количество пользователей) совсем не большие деньги...
7. Алексей 1 (AlX0id) 10.06.13 14:52
Фраза
2. компании где есть 1с специалисты но те которые просто не могут сэкономить на бесплатном сервере баз данных PostgreSQL (из-за отсутствие специалистов) но понимают что на файловой базе у них будут проблемы. По этому они берут SQL

вызвала когнитивный диссонанс.. берут SQL, потому что не могут использовать Postgre? Видимо, все же автор подразумевал MS SQL?
8. aspirator 23 (aspirator23) 10.06.13 15:11
Статья любопытная. Понятно, что это наболело.Уважая автора, но к сожалению, зная структуру крупных компаний, понятно что это будет просто выхлоп. Грубо конечно.
9. invalid (нормальный такой) 10.06.13 15:20
Согласитесь же, что мелких компаний - миллионы, средний/крупных - тысячи, крупных/гигантских - сотни!
Прицел ясен, а разве плохо?

Проблемы скорости/оптимизации/недостатка специалистов - это проблемы самих компаний, куда внедрен(внедряется) продукт.
Если они не смогли найти "тех самых" спецов, которые сделают им красиво и сладко, неужели 1С в этом виноваты.

Крупные компании должны быть подготовлены, и понятно что одним специалистом в 1С не обойтись, а вы предлагаете фишечки DBA, да что бы и в 1с (тоже конечно хотелось бы это иметь) ну да бросьте вы! всего знать невозможно. Разделяй и властвуй!
DBA + 1Сники - всего в меру и будет счастье :)
10. Дмитрий Воробьев (vde69) 10.06.13 15:32
(8) aspirator23,
да фиг его знает, у меня переодически воруют идеи.... в смысле несколько раз находил собственную реализацию в типовых :)

(9) invalid,
я не пришу про проблеммы компаний, я пишу про то что имидж 1с от этого страдает, откройте список внедрений, там больше половины липовых (те которые через пол года после завершения попила свалили на другой проект). Об этом то-же стоит написать...

и о сертификации если руки дойдут.
11. Василий Казьмин (awk) 10.06.13 16:27
(10) vde69, Единственный бесспорный момент статьи:

бух 7.7 - примерно 200 000 строк
бух 3.0 - примерно 1 000 000 строк


То есть рост сложности конфигурации при отсутствии прогресса в инструментах разработки и качества специалистов.

Остальное в статье сильно контекстозависимо.
12. Андрей Овсянкин (Evil Beaver) 10.06.13 16:34
Не читал, но осуждаю. Проблемы с орфографией. Кстати, по-моему, надо говорить "Реалии", "оторваться от реалий". "Реали" нету такого слова.
13. Alexei Philippov (philya) 10.06.13 16:54
(6) vde69, Терминал это не только ускорение 1с. Это еще много древних компьютеров, которые неспособны переварить современные поделия фирмы 1с, а работать толстым клиентом вполне могут.

Да и безопасности терминала при публикации приложения вполне достаточно.
14. Антон Стеклов (asved.ru) 10.06.13 17:25
"Серверная версия для бедных" вполне себе существует - это механизм публикации файловой базы на веб-сервере. Работает, правда, только с УФ. Но, с другой стороны, обычное приложение в клиент-серверном случае - не такое уж и клиент-серверное.
15. invalid (нормальный такой) 10.06.13 17:56
(14) asved.ru, в "клиент-сервере" смысл не в том, что в названии присутствует слово "сервер" (СУБД,web-сервер)
16. Антон Стеклов (asved.ru) 10.06.13 19:15
(15) invalid, фишка в том, что операции с файловой базой в этом случае выполняются в контексте isapi-компоненты (а следовательно - на сервере), а никак не на клиентской части.
17. Angry (Angry) 10.06.13 20:43
(0) vde69,
Написано в основном по делу, но со многим не соглашусь, например про прямое обращение с СУБД, во первых, как Вы верно отметили в предприятиях мало спецов DBA, я бы сказал катастрофически мало. Во вторых Вы забыли, что 1С "наравне" (ну почти) работает как с файловыми БД, так и со сторонними вплоть до Oracle (к стати зачем оркл к 1С мне не понять, уровни сильно разные).
И про увеличение сложности: это неизбежно, т.к. прикладные решения активно набирают функционал и то о чем а 7.7 можно было только мечтать или исполнялось долгой работой программиста, в последних редакциях может сделать любой пользователь, опять же почти любой, те кто имеет имеет нужные знания и навыки.

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

А вот упрощенный сервер не помешал бы. Web сервер для этого никак не подходит.

(6) vde69, а Вы и тонкий клиент в терминал засовываете?
18. Алексей Новиков (Новиков) 10.06.13 21:17
Про ООП Вы тоже махнули, попробуйте перенести печатную форму из УТ 11.0.7 в УТ 11.1.2, вроде данные одни и те же, а вот БСП переписана так, что нужные функции на ищешься. БСП до уровня полноценного фреймворка, как до луны... пешком. И к 9.0 вряд ли созреем.


Речь идет про внешнюю печатную форму, насколько я понимаю?
19. Ирли Бёрд (EarlyBird) 10.06.13 22:12
Простите, а разве трудно было перед тем, как выкладывать статью на сайт, засунуть её в обычный MS Word ?
Он неплохо ищет ошибки (синтаксис и пунктуацию).
Зачем так позориться перед народом? Да ещё апеллируя к разработчикам 1С.
20. Дмитрий Воробьев (vde69) 10.06.13 22:21
(17) Angry,

тонкий клиент в файловом варианте не работает (тонкий через веб к файлу, теоретически может работать, практически врядли)

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

(19) EarlyBird
да я не блещу знанием русского, но как не удивительно статью верстал в ворде и все ошибки исправлял. Можете меня поправлять более конкретно?
21. invalid (нормальный такой) 10.06.13 22:23
надоели зануды.
всем -

(16) хех, ну да :) пардоньте.
но все же в обычном контексте это 1с сервер все такое... ОК. в вашу сторону не поспоришь, но обычно и встроенную СУБД субд не называют... ок... "сервер" так Сервер
22. Дмитрий Воробьев (vde69) 10.06.13 22:25
(17) Angry,

Кроме того почти все что я здесь описываю - безусловно спорные моменты, можно соглашаться или предлагать другое решение, моя цель показать "узкие" места и одно из множеств решений
23. Василий Казьмин (awk) 10.06.13 23:22
(20) vde69,
тонкий клиент в файловом варианте не работает (тонкий через веб к файлу, теоретически может работать, практически врядли)


Что тогда работает?
24. Arthur Dilanyan (rentgen100) 11.06.13 02:07
Интересная тема! Особенно разделяю мнение, что 1с простую конфигурацию превратила в МОНСТРА! По-моему 1с критикуют не так уж и много еще по тому (я имею ввиду не программистов), что многие вообще не работали на других бух. программах и не видели насколько все может просто и быстро работать… Но сейчас ведь все в основном думают как бы заработать побольше, а не как создать что-то качественное, так что “АВТОМАТА КАЛАШНИКОВА” от 1с ждать наверно не следует…
25. Сергей Маслов (LexSeIch) 11.06.13 04:44
Мир этому дому!
Для большинства пользователей 1С - это "черный ящик". Их мало интересует, как он устроен. Одни пытаются приподнять крышечку и посмотреть что там внутри, другие довольствуются кнопками на его поверхности. Но всем важны потребительские свойства: быстрота работы, надежность и стоимость владения. Для одного пользователя (в единственном числе), файловый вариант 1С - можно сказать "почти идеально" (пока база не достигнет критического размера). Это, безусловно БП, ЗиУП для малых и крохотных предприятий. Но с ростом количества пользователей, быстрота и надежность уменьшается, стоимость владения увеличивается. ИМХО 1С давно могла создать продукт находящийся в "точке равновесия" - т.е. отлаженный движок, на котором бы крутились разные конфигурации. Но бизнес требует выход из точки равновесия, иначе рухнет вся система: франчайзи, курсы подготовки специалистов, подписка на ИТС... Древние китайцы говорили: "Только в мутной воде может водиться рыба". Статья полезная и заставляет задуматься...
ЗЫ: в 90-х годах, встречалась мне бухгалтерская программа "Лука" (кажется, написанная ребятами из Караганды). В одном из источников, даже упоминалось, что 1С взяла идею от них. Так вот, что меня удивило, на том предприятии, где она работала с ней работали только бухгалтера (никаких программистов). Хотя там так-же были программные модули, язык, метаданные...
Идеал программы - чтобы все работало само, но тогда где будем мы с Вами?
26. Александр Кунташов (kuntashov) 11.06.13 08:26
"Жадные клиенты" и "впаривающие франчи" - это, конечно, основная архитектурная проблема технологической платформы 1С:Предприятие 8, ага.
корум; AnderWonder; AlexanderKai; IamAlexy; exciter; leonidol; ITAlex; YPermitin; SeiOkami; awk; Evil Beaver; asved.ru; +12 Ответить
27. Алексей Роза (DoctorRoza) 11.06.13 08:57
«Вы, профессор, воля ваша, что-то нескладное придумали! Оно, может, и умно, но больно непонятно. Над вами потешаться будут».
(из классики вспомнилось)
Автор слишком сгущает краски. Рискну заметить, что он в чем то и заблуждается. По крайней мере по отношению к postgresql. Сейчас на рынке труда больше количество предложений для админов. Почему? В основном админы это те же студенты, молодежь, которая предпочитает разбираться в уже созданном. Программисты? Да ладно, это же учиться нужно. 1С? Такая же ерунда только, до кучи, HR еще требуют и знание бухучета! Так что, чтобы настроить сервер 1С, какой бы он ни был, достаточно посидеть пару дней в интернете. Тем более, сервер настраивается 1 раз и не надо его больше трогать. А если стал сбоить, то значит тот же админ просто нафигачил в нем и все.
28. Антон Стеклов (asved.ru) 11.06.13 09:50
(20) vde69,
тонкий через веб к файлу, теоретически может работать, практически врядли


У некоторых моих клиентов прекрасно работает в объемах от 5 до 12 пользователей. Что я делаю не так?
kuntashov; baton_pk; +2 Ответить
29. Антон Стеклов (asved.ru) 11.06.13 09:53
(20) vde69,
тонкий клиент в файловом варианте не работает


Мы, конечно, понимаем, что 1С погрешила против истины, назвав клиента под УФ для файловой базы тонким. Но тем не менее, он работает.
30. Юрий Н (graphbuh) 11.06.13 10:17
Нормальная позиция разработчика /внедренца - жизнь трудна, но есть мы )
Если клиент выделяет нормальный бюджет на ИТ, обычно у него все ОК.
jsr; ShantinTD; YPermitin; 1cmax; +4 Ответить
31. Игор Мудрицкий (Zas1402) 11.06.13 11:15
файловую базу франчи впаривают жадным компаниям

как то это печально.
32. Dmitry Grabarev (dmitry-gr) 11.06.13 11:33
Чтобы БСП использовать как базу для построения конфигураций необходимо менять идеологию построения самих конфигураций, а тут чтобы было все красиво и правильно мы упираемся в ограничения платформы.
33. Дмитрий Воробьев (vde69) 11.06.13 12:09
(32) dmitry-gr,

Так давайте менять платформу!
34. alex_japanese_student (Alex_Japanese_Student) 11.06.13 17:30
Не нашел в вашем обзоре - что журнал регистрации файловый до сих пор. И если хоть сколько-то людей работает - в нем смотреть просто невозможно из-за тормозов.
Как вариант покупают сторонние решения типа Бизнес-плюс. И это довольно скверно - убеждать руководство купить еще что-то, когда вроде б купили уже продукт
Версионирование появилось - но там xml хранятся насколько помню - поэтому запросом информацию дернуть проблемно
Nelli_A86; Rustig; +2 Ответить
35. Роман С (Dach) 11.06.13 18:10
По поводу RLS. Часто встречающаяся задача - разделить данные по пользователям. Править типовой код в 100500 формах списка совсем не улыбается, стоимость обновления возрастает в разы. Пользователям сложно объяснить, что RLS замедлит работу... Покупать SQL для 10 пользователей тоже никто не видит смысла. И как быть?

Еще напрягает отсутствие возможности в типовых конфигурациях расширить функционал, подключая внешние события. В БП 3.0 решили эту проблему, позволив запуск внешних обработок по регламентному расписанию. Однако в последних релизах эту возможность убрали. Зачем? Логика поставщика непонятна.
36. г. Казань Рустем Гумеров (Rustig) 11.06.13 22:08
(0) идеологически поддерживаю автора! платформа развивается не для мелких и средних компаний, а для крупных клиентов - веб-клиент и интернет-клиент баз 1С на управляемых формах.
Риторический вопрос: стоит ли останавливать поддержку мелких и средних фирм, которым для решения своих задач достаточен функционал платформы 8.2 обычного приложения?!
37. Дмитрий Кеба (Fenicss) 12.06.13 07:23
Никто не будет делать более дешевые версии для мелких и средних предприятий так как если начнется такое деление то найдутся умельцы которые будут реализовывать данную схему и на крупных предприятиях. Да и деньги они потеряют!
38. ssn5810 (ssn5810) 12.06.13 07:56
Сертифицированные птенцы Нуралиева уже загубили конфигурации УПП и УТ 11, сейчас добивают БП3 и Розницу 2
осталось сделать "друзей Партнеров и родственников Контрагентов"
Не кто не хочет работать в УТ 11 просят поставить УТ 10.3 (её не успели убить)....
Ринат74; Arc; micha26; talych; ev-kov; amurimpulse; @Sonya; rosinfo1; AllexSoft; +9 Ответить 1
39. Алексей Роза (DoctorRoza) 12.06.13 10:22
(38) ssn5810, Интересно будет услышать, что Вы подразумеваете под словом "загубили"! Тем более, для УПП. Да и о УТ 11 тоже заинтриговало, учитывая, что я имею опыт внедрения обеих УТ. Да, УТ 11 стала сложнее, а где Вы видели, что продукт шел по пути развитию "от простого к еще более простому?". В УТ 11 основная проблема - это себестоимость (РАУЗ). Решите проблему получения ежедневной себестоимости и УТ 10.3 честно можно отправлять на пенсию. В остальном же, 11 на голову выше старушки 10.3.
p.s.
Когда окончится нытье и юзеры начнут учиться?
exciter; disa_ostr; ShantinTD; rеd80; kuntashov; +5 Ответить
40. ssn5810 (ssn5810) 12.06.13 11:18
пример ; документ Счет, Заказ , Закрытие заказа и т.д. не о чем
все можно сделать на одном документе Реализация (в разных стадиях проведения)
а "Партнерами" я вообще сомневаюсь что бы кто нибудь пользовался
вообщем развитие типовых крнфигураций идет по пути пальцы крепкие, долби, главное зарплату себе настучать !!!

"Когда окончится нытье и юзеры начнут учиться?" - чему, тому что настучал очередной сертифицированный "ГЕНИЙ"
а это надо ?????
41. ssn5810 (ssn5810) 12.06.13 11:21
кстати торговля в 1С7 на несколько уровней была удобнее пользователю, и каждый мог развивать её в своем направлении (дописывать)
42. Arthur Dilanyan (rentgen100) 12.06.13 11:29
Ну да, вон в Microsoft тоже решили что усовершенствовать Windows можно путем удаления Пуска и добавлением всякой фигни, думали прокатит… Так нет же, пришлось вернуть Пуск, но там хотя бы признали ошибку… В 1с же пока творят что хотят (естественно исходя из монопольного положения), так что возможно их продукция скоро станет сложней autoCADa и 3D maxа.
43. Hayk Hovhannisyan (HHike) 12.06.13 12:10
(40) ssn5810, И в одном документе добавлять правки между заказанным и реализованным товаром, между реализацией и счетом?
А разделение Партнеры- Контрагенты большой плюс для оптовиков.
kuntashov; 1cmax; +2 Ответить
44. Hayk Hovhannisyan (HHike) 12.06.13 12:15
(42) rentgen100, На самом деле пуск действительно ненужен, так как при наведении мышки в левый нижний угол всплывает метро интерфейс и там можно спокойно настроить отображение всех нужных приложений. А все остальное опять таки открывается одним кликом "все приложения". Так что "Пуск" все равно "умрет" как и обязательное статичное меню сверху в свое время в приложениях
45. ssn5810 (ssn5810) 12.06.13 12:29
народ привык и знал где можно найти установленные программы,
а сейчас какой-то идиот хочет втюхать своё видение (должен быть выбор и поменьше идиотов)
итог продажи упали всех устраивает WIN 7
46. ssn5810 (ssn5810) 12.06.13 12:38
HHike - Типовая конфа тем и была хороша что типовая - можно развивать в любом направлении
Накляпали монстров не кому не нужных - в крупных фирмах достаточно своих программистов
чтобы дописать как им нужно (а не нуралятам), мелкие и средние фирмы используют 30 % от всей писанины
спрашивается зачем покупать то что не нужно ?
ответ - почти весь мелкий и средний бизнес пользуется не лицензионной или наполовину лицензионной продукцией.
47. ssn5810 (ssn5810) 12.06.13 12:40
"И в одном документе добавлять правки между заказанным и реализованным товаром, между реализацией и счетом?"
а это кто как реализует, у кого как мозги заточены или пальцы!!!!
48. Arthur Dilanyan (rentgen100) 12.06.13 13:28
Вот, еще многих (~40%), как не странно, до сих пор устраивает XP. Почему?! Прогресс должен двигаться ВПЕРЕД, а не просто двигаться… куда-то(?)…
На счет малых и средних фирм – по-моему там не 30 а максимум 10-15% всего функционала базовых версий используют. Например в конфигурации БП 2.0 можно формировать 1 000 000-ы всяких отчетов устанавливая всякие отборы, группировки, сортировки… А на практике кто в этом разбирается и кто этим пользуется?!
49. Александр Кунташов (kuntashov) 12.06.13 14:10
(41), (48) Капитан Очевидность как бы должен вам подсказывать, что большое количество отчетов и в принципе - возможностей добавляется не для того, чтобы абсолютно всеми ими пользоваться, а чтобы можно было найти нужный инструмент (отчет) для решения конкретно своей задачи. И чтобы в принципе для каждой задачи, которая когда-либо возникнет, можно было найти решение (в идеале), не тратя время на приобретение и настройку следующего продукта/следующей версии.

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

Обратите внимание на на "убирает необходимость пользователю выбирать". Мало кто обращает на это внимание, но те, например, кто внедряет УТ и не является жутким противником УТ11 мог почувствовать эту проблему на себе, когда к ним обращался потенциальный покупатель и говорил: а что мне выбрать - УТ10 или УТ11. В УТ10 вроде все подходит, но вот адресного склада нет. А еще есть проблема выбора УНФ/УТ10/УТ11...

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

И эта проблема практически не разрешима.

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

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

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

* организуя и поддерживая сеть партнеров 1С:Франчайзи, штатных специалистов компаний - кто занимается внедрением решений, помогает выбрать из всех функциональных возможностей ПО те, которые решат задачи конкретных пользователей;

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

Вывод: хватит ныть, отдохните и идите зарабатывать, помогая пользователям решать свои задачи, пока продукты 1С не стали настолько удобными, что необходимость в нас отпадет :)
50. Дмитрий Воробьев (vde69) 12.06.13 14:49
(49)
Не соглашусь с Вами в плане неразрешимости проблемм

есть такой банковский продукт Diasoft, базовая поставка там маленькая, но при необходимости докупаем модуль ценных бумаг и вуаля, он интегрируется в текущую базу. Примеров таких много, и сама 1с БСП сделала именно для этого, только у нее не взлетает, по причинам которые я описал.
51. ssn5810 (ssn5810) 12.06.13 15:06
тоже ВЫВОД: если я ною то по аналогии вы радостно хрюкаете не понятно чему....
52. Сергей Зеленовский (zels) 12.06.13 17:12
Предложение сделать файловую базу однопользовательской считаю вредительством ошибочным, 3-5 пользователей работают вполне успешно. Смысла делать 1С-сервер баз данных для "бедных клиентов" тоже не вижу. Эффективный сервер баз данных - вещь весьма сложная (может, даже сложнее всей платформы 8), значит на ее разработку потребуется немало сил и средств. Опять же, коль нет спецов по Postgree, откуда возьмутся спецы по 1С-серверу? Или все франчи должны будут иметь сертификат по 1С серверу баз данных (а до этого "вылизывать" всем миром этот как-бы серверный движок)? Нет уж, нет уж - увольте. Ко мне как-то приходил клиент и, узнав стоимость базовой версии (3000), сказал: нет, для меня это дорого, сделайте мне вариант за 1000, чтобы в нем было только это, это и то... Я ему мягко отказал...
53. ИН Север (i-sever) 12.06.13 17:46
Полностью поддерживаю автора. У нас база SQL работает уже 3 года .Вроде много подводных камней выявили , настроили автоматические бэкапы и т.д. И все-таки раз-два в год база перестает выгружаться средcтвами 1C ,особенно после смены платформы или очередного обновления.Начинаются пляски с бубном в менеджере SQL ,в тестировании конфигурации и тд. При этом ой как не хватает описанного автором мастера в администрировании кластеров 1С.
54. Arthur Dilanyan (rentgen100) 12.06.13 17:59
kuntashov – сейчас речь не о нытье, просто, скажем так, в рамках обсуждения делопроизводства,
развития автоматизации учета и т.д., высказывается мнение, в частности, что компания 1с оторвалась от реалий и развивается не в том направлении. Конкретный пример, по-моему, как-раз отчеты в БП 2.0. Принцип “ для каждой задачи, которая когда-либо возникнет, можно было найти решение... ” в БАЗОВОЙ ВЕРСИИ– это теория. На практике можно потратить много времени пытаясь сформировать наиболее удобный (как ты себе представляешь) отчет, а когда в итоге он все-равно получается не таким, остается вопрос – из миллиона настроек все ли ты перепробовал и стоит ли дальше терять время.
Что же касается гибкости – как раз ее, по-моему, не хватает (могу привести примеры)…
В итоге для большинства пользователей (не программистов) программа это черный ящик, и зачастую многие чтоб проверить какую-нибудь декларацию вынуждены пересчитывать все вручную…
55. Василий Пупкин (vermouth) 12.06.13 19:44
Абсолютно согласен про БСП
56. Василий Казьмин (awk) 12.06.13 22:47
(50) vde69, Diasoft 4x4 я от него матерился и от его языка Clarion. Кстати банк, в котором его поставили, чуть на крупные неприятности не нарвался.
57. Сергей (strange2007) 13.06.13 06:05
А мы философски подходим к вопросу - используем инструмент который есть. Определяем задачу и подбираем к ней инструмент. Это нормально. А вот жалеть про какое-то ООП или думать как бы сладко жилось с оптимизированным сервером, это не для нас. Я понимаю, каждый второй - специалист, который точно знает как надо сделать, что бы всем было счастье, только куда не копни, ни кто ни чего толком не сделал, кроме поделок, вызывающие рвотный рефлекс. Да-да, каждый "умный", показывая свои наработки у половины вызывает смех (я не исключение)!!!!
Мне кажется надо быть специалистом своего дела, а не кричащим с трибуны. Автор, считаешь, что лучше всех знаешь как надо - предложи свои услуги 1С. За реальные заработки они всегда держатся. Попробуй себя там, а не здесь, не стесняйся. Я по некоторым вопросам с ними работал и да, я, супер-пупер знающий как правильно, просто рассуждал на основе верхушки айсберга. Задумайся о косвенных показателях - 1С стоит везде, а всякие супер-мега удачные системы мертвы
В общем, без обид. но я считаю статью бесполезной как для специалистов, так и для обычных пользователей.

P.S. Ошибки текста - мелочи. Особенно потому что "спецы" грамматики по большей части дауны в стилистике составления фраз))))))
SinoSin; rеd80; kuntashov; +3 Ответить 1
58. Дмитрий Воробьев (vde69) 13.06.13 08:49
(57) strange2007,
считаешь, что лучше всех знаешь как надо - предложи свои услуги 1С

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

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

То что статья вызывает и плюсы и минусы - это нормально, я это понимаю и изначально был готов к этому, по тому, что любая критика, или любое нововедение, вызывает всегда вызывает недовольство исполнителей (они привыкли сидеть на попе и перекладывать бумажки и им нафиг не нужно новое).
59. Любовь Магарцева (Mag_LI) 13.06.13 08:55
(49) kuntashov, по поводу "работая над эргономикой своих продуктов - как на уровне конкретных прикладных решений (юзабилити-тестирования БП, реализация всевозможных помощников и т.п.), так и на уровне платформы (задаче-ориентированный управляемый интерфейс)" - я вот смотрю на систему справки в 1С, даже ее отработать нормально не могут.
60. Сергей (strange2007) 13.06.13 09:15
(58) vde69, полностью согласен. Кстати, был бы рад (и не только я) услышать (или прочитать) как продвигается общение с 1С-вцами
61. Дмитрий Воробьев (vde69) 13.06.13 18:21
(60) пока - никак :)

зы
немного дописал сей труд
62. Arthur Dilanyan (rentgen100) 13.06.13 20:43
Пока у 1с нет реального конкурента их уровня, они могут считать себя крутыми и творить что хотят!
64. Сергей (strange2007) 14.06.13 04:24
(62) rentgen100, Ерунда. Конкурентам просто нафиг не надо бодаться. вот они и не лезут. А потуги недоросликов... разве это конкуренты? Нуралиевы еще в 90-х поняли, что потребителю не нужен отличный код, главное продаваемость и что бы каждый студент мог ковырять. На этом фоне и загнулись все тогдашние монстры, даже с учетом того, что некоторых продвигали высшие силы. Как, например, парус
kuntashov; +1 Ответить
65. Александр Кунташов (kuntashov) 14.06.13 08:50
Свежая философская публикация Сергея Нуралиева как раз в тему http://v8.1c.ru/o7/201306sp/index.htm
max996; vde69; +2 Ответить 1
66. Дмитрий Воробьев (vde69) 14.06.13 09:22
(65) kuntashov,

прикольно, надо будет переслать мои мысли (как закончу сей труд) С. Нуралиеву :)


А вообще он правильно написал про то что нельзя менять слишком быстро. Но большенство моих предложений (кроме переписывания БСП) это добавления без серьезных изменений.
67. Андрей Карев (lamelioss) 14.06.13 09:47
весьма своеобразно написано, но здравое зерно есть) будет интересно почитать продолжение =)
68. sanches (sanches) 14.06.13 10:42
Работали на файловой 30 пользователей, проблем не было, база занимала порядка 7 Гигабайт.
69. Борис Скворцов (gaglo) 14.06.13 11:03
Спасибо за явное выделение "немного дописанного".
Тому, кто уже читал: добавлено:

Простая вещь, но как же часто ей пренебрегают...
70. Елена Пименова (Bukaska) 14.06.13 14:17
Тоже интересно)) САмой интересно стало))) Так как в курсе что есть такие сплетни как за и против 1С

(68) sanches, Кому как. У меня на одной точке небольшая база - выгрузки размер - дай бог 500метров, а при этом виснет даже после (уже двух) обновлений висит справочник ОС...
71. ффф ыыы (zqzq) 14.06.13 14:31
Ещё по шаблоны RLS: каждый шаблон привязан к конкретной роли, из-за этого идёт адский копипаст одних и тех же шаблонов из роли в роль. Вместо того чтобы оптимизировать связ роль-шаблон 1С придумало костыль "Все шаблоны ограничений" для удобного копипаста. По-нормальному вынести шаблоны в отдельную ветку с указанием для каждого для каких ролей доступен, и галочку "для всех ролей".

Также нужна отладочная функция ПолучитьТекстЗапроса_РЛС(Запрос), ведь RLS на языке запросов 1С описывается. (По сути п.3 из статьи)
72. Sabfir Sabfir (Sabfir) 14.06.13 15:10
Хорошая статья, очень познаватлеьно.
Спасибо автору!
73. Дмитрий Воробьев (vde69) 14.06.13 15:15
(71) zqzq,
при нормальном проектировании ролей не должно быть нескольких ролей с RLS с одинаковыми ограничениями, по этому привязка шаблока к роли мне кажется логичным решением 1с.

Вообще для одного пользователя следует избегать возможности сложения нескольких RLS для одного объекта.
74. red 80 (rеd80) 14.06.13 21:31
Со многим согласен, но очевидно что в пункте Временные таблицы или вложенные запросы "Читабельность кода" надо из плюсов вложенных таблиц переместить в плюсы временных таблиц.
ushmakovmv; blackjack666; dap; sanfoto; da.buraev; AlexanderKai; HiGHT; nSpirit2; sput74; jsr; Alex_IT; ShantinTD; Dali; krv2k; AleksR; +15 Ответить
75. red 80 (rеd80) 14.06.13 21:33
(6) vde69,
а по деньгам 500$ для компании с 5 пользователями (а численость компании всегда выше чем количество пользователей) совсем не большие деньги...

Совсем вы зажрались у себя там в Москве.
76. red 80 (rеd80) 14.06.13 21:45
(23) awk,
Что тогда работает?

Давайте не будем буквоедами?
77. red 80 (rеd80) 14.06.13 21:47
(24) rentgen100,
По-моему 1с критикуют не так уж и много еще по тому (я имею ввиду не программистов), что многие вообще не работали на других бух. программах и не видели насколько все может просто и быстро работать…

По-моему 1с критикуют так много по тому, что многие вообще не работали на других ERP и не видели насколько все может быть страшно…
ShantinTD; +1 Ответить
78. red 80 (rеd80) 14.06.13 22:03
(44) HHike,
На самом деле пуск действительно ненужен, так как при наведении мышки в левый нижний угол всплывает метро интерфейс и там можно спокойно настроить ...

Хорошо вам, есть куча времени которое некуда девать, можно настраивать кнопки пуск. А как быть тем кому надо пользоваться, а не возиться с никому не нужными, отнимающими время настройками?
79. Hayk Hovhannisyan (HHike) 14.06.13 22:24
(78) rеd80, Настраивать ничего не надо. Несколько кликов и все убирается. Наоборот завтрашним юзерам выросшим на мобильных платформах будет жутко неудобно каждый раз кликать Старт-Программы-Стрелка вниз открывающая все- Папка программы- значок программы. А тут мышкой в правый экран и нажать кнопку поиска и все приложения перед тобой. Мышкой в левый нижний и твои настроенные плитки. Очень удобно. После него стандартная кнопка пуск "не идет".
ЗЫ. А вот то что можно ставить на паузу/снимать с паузы копирование я использую гораздо чаще в повседневной работе.
ЗЫЫ А если времени нет правым кликом скрывать ненужные иконки, то тогда просто все будет растянуто на несколько прокруток.
80. red 80 (rеd80) 14.06.13 23:55
(51) ssn5810,
тоже ВЫВОД: если я ною то по аналогии вы радостно хрюкаете не понятно чему....

Это, извините, только вам непонятно. Может почитать документацию?
81. red 80 (rеd80) 15.06.13 00:01
(79) HHike,
Зачем MS пытается сделать из стационарника планшет, не понятно. Не взлетит. То, что удобно и очевидно в планшетнике, не удобно и раздражает на стационарнике. На планшете невозможно пользоваться тем, что создано для стационарного компа.

ЗЫ. А вот то что можно ставить на паузу/снимать с паузы копирование я использую гораздо чаще в повседневной работе.
Проблема надуманная, покупайте нормальное железо, которое не встает колом при двух одновременных потоках копирования.
82. Василий Казьмин (awk) 15.06.13 00:18
(76) rеd80, Я не буквоедствую, а хочу понять. Если автор сделал заявление, что в файловом варианте не работает тонкий клиент, то пусть объяснит как работает. По заявлению 1С в файловом варианте работает именно тонкий клиент.
http://v8.1c.ru/overview/Term_000000124.htm
83. red 80 (rеd80) 15.06.13 00:29
(82) awk, имеется в виду что в файловом варианте, хотя пользователь и работает с управляемыми формами и не работают модули обычного приложения, все расчеты и запросы физически выполняются на клиенте, а не на сервере.
По вашей ссылке, роль сервера для тонкого клиента выполняет "Специализированная серверная среда" в составе самого клиента.
84. Lochness ЛохНесс (ЛохНесс) 15.06.13 00:56
Цитата
а по деньгам 500$ для компании с 5 пользователями (а численость компании всегда выше чем количество пользователей) совсем не большие деньги...

Совсем вы зажрались у себя там в Москве.




Ой, ой, ооооййййй...ли?

Простая арифметика. Допустим, программа покупается на 1 год (оценка сильно занижена). Допустим, что стоимость программы будем вычитать из зарплаты сотрудников. Получается, что на каждого сотрудника приходится примерно 250-300 рублей в месяц или 12-15 рублей в день. Много ли найдется регионов, где маршрутка стоит 7 рублей? Получается, что стоимость программы меньше, чем стоимость общественного транспорта.

Теперь посмотрим на Москву. Стоимость проезда в метро в год составляет 17000 рублей. Еще столько же на маршрутку, что бы до метро доехать. Это - две "виртуальные" программы в год на одного сотрудника.

Ну и кто после этого зажрался? ;-))))))))
85. Arthur Dilanyan (rentgen100) 15.06.13 02:08
(79) HHike,
Народ, о чем мы спорим?! Я ведь почему привел пример кнопки start в Win8 (вреде не в тему). Microsoft ведь монополист на рынке ОС для ПК. И для продвижения своей ОС на новом рынке планшетов и смартов, захват которого они прoиграли Apple и Google (которые, скажем так, не уступают MS по мощи), в MS решили, что НАВЯЗАВ “планшетную” ОС пользователям ПК, по-любому сделают ее популярной. Естественно они называли это развитием… Но реакция не заставила долго ждать, очень многим не понравилось, что им что-то навязывают без права выбора, при этом утверждая, что им же так будит удобней. В итоге start вернули !!!
86. Arthur Dilanyan (rentgen100) 15.06.13 02:08
Про 1с. И уважаемый товарищ Нуралиев в вышеупомянутой недавней статье (как раз в тему) говорил про развитие. Ну да, все развивается, только вот система двойной записи (основа всего бух. учета) почему-то как была (с 15-го века), так и остается.
Что поделать, 1с монополист, хотят - развивают систему так, как сами считают удобней для пользователей. Пока могут…
87. ssn5810 (ssn5810) 15.06.13 13:20
должен быть выбор (сколько людей столько мнений) у нас его нет монополист-диктатор 1С
88. Сергей Болбачан (sergbsv) 15.06.13 13:22
Ключевой вопрос ;) а 1С это вообще хоть как то слушать будет ? а уж принимать во внимание №)))))
89. red 80 (rеd80) 15.06.13 15:44
(87) ssn5810,
должен быть выбор ... у нас его нет монополист-диктатор 1С
Да сколько угодно этого выбора:
- SAP
- Oracle
- Microsoft
- Галактика
- ИНФИН
- Парус
- БЭСТ
- ИнфоБухгалтер
- Турбо Бухгалтер (он же ТБ Корпорация)
- Компас
- КомТех
- Инотек
- ИнфоСофт (продукт Флагма)
- Омега
- Контур
...
90. red 80 (rеd80) 15.06.13 15:46
(87) ssn5810, А можешь построить свой лунапарк, с блекджеком и шлюхами ®
91. Василий Казьмин (awk) 15.06.13 23:50
(83) rеd80, Сервер - это роль. Клиент - то же роль. Возьмем X-Windows, там роль сервера выполняет компьютер пользователя, а роль клиента приложение которое запущено х.з. где. Так что тонкий клиент работает именно с сервером (пусть и не выделенным в отдельный процесс) даже в файловом варианте, оставаясь при этом в полной мере тонким клиентом. При работе через веб сервер никакой серверной среды на компьютере пользователя не запускается.
92. red 80 (rеd80) 16.06.13 00:04
(91) awk,
Сервер - это роль. Клиент - то же роль.
Программно - да, физически не всегда.

При работе через веб сервер запросы выполняются на сервере, клиент остается клиентом, не запускается никакой "Специализированной серверной среды". При работе напрямую с файлом запросы посылать некому, на клиента грузится "Специализированная среда". Ну вы же все и так понимаете, не цепляйтесь к запятым.
93. Василий Казьмин (awk) 16.06.13 00:33
(92) rеd80,
Программно - да, физически не всегда.

А физически это не сервер, а большая, мощная и т.д. железяка. :D
94. Василий Казьмин (awk) 16.06.13 01:09
Кстати, для меня, не понятно отсутствие реализации связок:

1. Клиент - Сервер 1С (не веб) - Файловая база
2. Клиент - Сервер SQL

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

Во втором - это можно использовать для схем 1С (внутренние клиенты) - SQL - WEB(внешние клиенты) для малых компаний.
95. Владимир (hogik) 16.06.13 02:24
(94)
"для меня, не понятно отсутствие реализации связок"(с)
Василий (awk).
Для этого понимания надо осознать суть/назначение "сервера 1С".
И окажется, что в первом случае "сервер 1С" лишнее звено.
А во втором случае получаем "семерку". :-)
Основное назначение "сервера 1С" - обеспечить необходимые средства манипуляции данными для НАШЕЙ предметной области (иерархия) с применением языка запросов реляционной модели. Т.е. "сервер 1С" - это тупой переходник. ;-) А для файловой версии не требуется этого переходника, т.к. в её интерфейсе два языка манипулирования данными - "запросный" и "навигационный".
Вот так, если говорить кратко...
96. red 80 (rеd80) 16.06.13 04:23
(95) hogik,
А во втором случае получаем "семерку". :-)
Это как? 0_о
Т.е. "сервер 1С" - это тупой переходник. ;-)
Не такой уж он и тупой, пять разных СУБД поддерживает.
97. Владимир (hogik) 16.06.13 05:12
(96)
"Это как?"(с)
В контексте поставленного вопроса от Василия и моего ответа ему - ВОТ ТАК. :-)
Попытайтесь понять этот контекст...
98. Дмитрий Воробьев (vde69) 16.06.13 15:33
(95) hogik,
ну сервер кроме указанных функций "трансляции" запросов выполняет еще как минимум еще несколько функции

1. Обеспечивает запрет прямого доступа к данным (базу не сольешь, в отличие от файловой)
2. выполнение регламентных и фоновых заданий (то есть нормальные средства автоматизации не привязанные к пользовательской сессии)
3. выполнение кода на сервере (без этого невозможно сделать нормальное разделение прав), увеличение быстродействия, и т.д. Ни один терминал не сможет работать с 10 клиентами 1с чем сам сервер 1с.

да связку сервер1с - база 1cd следует сделать только из-за привилегированного модуля и RLS
99. Владимир (hogik) 16.06.13 16:16
(98)
Я специально в (95) сообщении написал: "Основное назначение...".
Т.к. "всё" остальное - это побочный продукт. ;-)
Что касается "связку сервер1с - база 1cd следует сделать"(с), то эта связка "прямым" способом не делается. Т.к. в файловой сУБД (с маленькой буквы) основной ЯМД - "навигационный". А на выходе сервера 1С - запросы. Т.е. придется делать еще один "переходник". Обратный... :-) Хотя идея встроенной СУБД в сервер 1С вполне разумная. Только, это должна быть друга СУБД - не файловый вариант 1С-а, и не чисто реляционная СУБД с единственным ЯМД "запросного" типа.

P.S.
Думаю, что про RLS - это заблуждение. Нет никаких объективных причин этому инструменту работать быстрее, если "перенести" файловую версию в "среду" сервера 1С.
Вспомните, как работали фильтры в DBF-ных системах. А RLS так и работает в файловой версии. И от перемены мест... ;-) Вот если бы использовались эффективные фильтры по индексам, то - да.
100. Евгений Стоянов (quick) 16.06.13 17:01
Насчет разочарования руководства в 1С. Тут надо не 1С исправлять, а менеджеров которые дуют этим руководителям в уши все что захочешь, лишь бы купили. Текущий вариант использовать любые базы без необходимости думать какая версия у меня установлена мне больше нравится чем то что вы предлагаете. А если у меня на одном сервере будет крутиться и файловая и скл и много еще чего? я должен еще и о версиях думать? Спасибо, не надо, пусть будет как есть.
После Oracle я заново полюбил 1С :) Особенно после того как написал модуль для клиент-банка на чистом Си, так 1С само совершенство. А насчет файловой версии - рэйд из SSD тебе в помощь.
Насчет ООП, с этим неплохо вприципе справляется объект Обработка, можно делать как методы класса так и определять методы инстанса. Но самое главное, можно делать реквизиты в других объектах с типом обработки и ссылаться на реквизиты и табличные части в этой обработке, что делает очень удобным модульное написание.
krv2k; VVi3ard; Артано; +3 Ответить 2
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа