Это новый раздел. На этих страницах я буду рамещать частые вопросы и ответы посистеме Ultima-S и Account. Вопросы я буду брать из своей почты, а также от нашей службы технической поддержки. Так что текст ниже "не приглажен", это реальная переписка с пользователями и клиентами. Если вас есть вопрос, напишите мне ivanov-soft@inbox.ru. По мере получения вопросов, я буду вносить новые материалы и дополнять старые. С удовольствием размещу ваши комментарии, даже критические. |
Обшие вопросы по Ultima-S и Account
Account
Баги (ошибки)
1. [Владимир] Хотелось бы
подробнее узнать о возможностях
конфигурирования коммерческой версии Ultima-S
[Vladimir Ivanov] На www.ivn.newmail.ru вы можете познакомится с системным описанием Ultima-S.
Конфигурировать систему вы можете в следующих направлениях
1) Секьюрити. На все действия в БД есть привилегии. Их можно объединять в роли. Роли можно назначать пользователям.
2) Документооборот. Вы можете организовывать потоки документов путем настройки их маршрутов. Если вам не хватает гибкости встроенных средств маршрутизирования (автоматический выбор исполнителя, почта, квитанции, передача по электронной подписи и т.д.), то вы можете на языке Transact SQL (TSQL, встроен в MS SQL Server) написать хранимую процедуру для специфической маршрутизации.
3) Документы. Вы можете добавлять новые поля к документам, существующие поля вы можете изменять (конфигурировать их поведение) с помощью Пользовательского Ассистента. Если вам требует значительно изменить поведение нашего документа, то вы можете создать производный от него класс (наша БД объектно-ориентированная) и на языке TSQL описать специфическую функциональность.
4) Проводки. Вы можете описывать произвольные учетные схемы используя шаблоны проводок или скрипты проводок на TSQL. Вы можете настроить Виртуального Бухгалтера и указать на какие события документооборота следует создавать какие проводки.
5) Произвольные отчеты. Вы можете использовать систему произвольной отчетности для создания любых отчетов. Отчет создается визуально, способ получения данных описывается на SQL или макроязыком совместимым с 1С Бухгалтерией (по выбору).
6) Аналитические отчеты. Вы можете быстро (5-10 мин) строить аналитические отчеты по учетным регистрам (счетам) БД. Вам достаточно в системе Аналитик указать какую группировку данных вы хотите проанализировать и отчет сформируется автоматически.
2. [Алексей] Вы не считаете что все очень сложно? Я понимаю что она не для игр задумана, хотя некоторые игрушки сложнее многих систем, но все же... Объекты на реляционке это конечно хорошо, но из-за этого сильно усложнилась сама система. Только перечисление названий классов заняло у вас 7 страниц. Чтобы изменить логику работы этого монстра необходимо знать о нем все в самых мельчайших деталях... Конечно вы, скорее всего, много операций вынесли на клиента, и мне понятно что это само ядро системы, и вносить в него изменения нужно не особо часто :-) но не очень ли все сложно?
[Vladimir Ivanov] Это сложная система для простых и сложных задач, для простых задач большинство этой сложности не трогается. Поэтому сложная не значит, что трудная, это несколько разные вещи. Как правило настройщику не нужно знать всей сложности. По крайней мере те кто программировал 1С 6.0 не находят, что Ultima-S в реальном внедрении/настройке труднее. В тоже время при масштабировании задачи будет меньше проблем при столкновении со сложностью реального бизнеса (потоки документов, проблемно-ориентированные библиотеки объектов-документов).
2.1 Я не один год работаю с 1С, она имеет очень много недостатков, но ее язык это диалект Basic'а, это его очень большое ограничение -- но согласитесь что он несколько проще чем Transact-SQL MS сервера. Или это не так?
[Vladimir Ivanov] Не сказал бы. SQL не требует описания алгоритмов, поэтому проще при работе с реляционной БД. Если нужна алгоритмика, то как раз TSQL, это просто Pascal-подобное расширение SQL. Не более недели на освоение тем кто знает SQL.
2.2. Макросы и т.д. -- это все хорошо, но только для человека который и без них все это может сделать, а что делать людям которые не могут нормально и на Basic'е написать?
[Vladimir Ivanov] Для таких людей есть визуальные средства настройки маршрутов документов, систем электронных подписей и формирования проводок в Ultima-S.
2.3 В 1С нет проверки типов, словаря данных и других очень необходимых вещей, но если нормально програмировать, то можно работать. И то люди жалуються, что 7.5/7.7 стала гораздо сложнее нежели была 1С 6.0. А у 6.0 язык был тот еще... Не кажется ли вам что все это слишком сложно?
[Vladimir Ivanov] Но 1С 6.0 весьма лаконична, поэтому мы взяли из нее именно простоту разработки форм отчетов убрав громоздкость макроязыка в работе с данными SQL-запросами.
2.4 И вот еще какой вопрос - как чисто объектно реализовать класс "Документ", шапка это понятно просто атрибуты класса, ну а как реализовать строчную часть? Как я понимаю, можно создать класс "строка", и ввести в него атрибут "документ", но мне больше нравиться идея Александра Усова о так называемом классе-контейнере...
[Vladimir Ivanov] Ultima-S близка по свой концепции к некоторым идеям Усова. Строчная часть не реализуется как отдельный объект, а просто как элемент визуального интерфейса объекта на манер Delphi. В тоже время это чистый контейнер, т.е. все документы ("товары", "контрагенты" и др.) являются объектами в составе таких документов-контейнеров как накладная.
2.5 Все в одном классе, все скрыто внутри, до всего можно добраться и т.д. Можно ли также в Ultima-S?
[Vladimir Ivanov] В Ultima-S также, объект инкапусилирован через объектный протокол. Добраться до его внутренности можно либо через него, либо как в стандартной реляционной БД прямо в его таблицы. Это несколько снижает секретность системы, но облегчает (удешевляет) разработку.
2.6 Какую документацию, литературу рекомендуете почитать, чтобы не доставать людей глупыми вопросами :-)желательно без языкового уклона, у меня есть книги по объектному программированию на С++, но там, в большей мере обучают реализации объектов на конкретном языке, а не объектному проэктированию и разработке. На работы каких объектных аналитиков вы ориентировались?
[Vladimir Ivanov] Конечно Гради Буч, С.Шлеер и С. Меллор. На них я сам опираюсь в реальной работе по проектированию.
1. [Виктор] Я ярый приверженец 1С 6.0 и хорошо знаю ее недостатки. Но фирма 1С прекратила совершенствовать этот продукт, хотя, по-моему зря. Очень бы хотелось побольше узнать об Accoun 3.0:
1.1 существует ли демо-версия?
[Vladimir Ivanov] Программа разработана в настоящей технологии MS SQL, т.е. значительная часть программы написана на Transact-SQL. Сервер у нас не таблицехранилка, а по сути дела и есть место где работает логика программы. Иными словами, машина проводок и все другие критичные по времени и конкуренции пользователей механизмы написаны в хранимых процедурах внутри MS SQL. Из всего это следует что программа переносится дампом базы MSSQL. К сожалению дамп базы обычно очень велик по объему, т.к. MS SQL заранее резервирует место, чтобы потом не тратить время на его поиск. Дамп базы примерно 20М в архиве. Могу положить на FTP если есть интерес потестировать.
Еще. Для сервера MSSQL нужна NT (и нужем сам сервер, мне все равно откуда он у вас возьмется). Клиенты могут быть W95 и NT.
1.2 цена коммерческой версии? [Vladimir Ivanov] $199 за каждого клиента. Если будете внедрять сами, то до 30% скидки. Вообще подход по ценам достаточно индивидуальный, могут быть еще и специальные предложения для дилеров и бетта-тесторов. 1.3 кол-во знаков в счете-субсчете?[Vladimir Ivanov] Пока для совместимости 3 знака. Но архитектура не ограничивает это. Субсчета могут содержать до 250 знаков и образовывать иерархию. Могу открыть доступ из программы к этой фиче, но я сторонник использования не субсчетов, а уровней аналитики (быстрее работает, чегче модифицируется и сопровождается).
1.4 привязка к счету справочников аналитики (больше одного или один)? [Vladimir Ivanov] 5 справочников из Account. Сама архитектура позволяет привязывать до 20 справочников на счет (это нужно для OLAP-отчетов). Глубина вложенности каждого справочника не ограничена. 1.5 какова поддержка валют? [Vladimir Ivanov] К Account прикладывается модуль Курсы Валют из Ultima-S. Сам Account поддерживает валютный учет как и 1С 6.0 проф (совместим). Также есть возможность обращаться через SQL к API и таблицам курсов валют.
2.
[Александр] В связи с этим хотелось бы уточнить - модифицируются ли свойства объекта 1С в Account 3.0? Как сложно перенести настройки 1С 6.0 в Account 3.0?[Vladimir Ivanov] нужно следующее чтобы поставить настройку 1С в Account.
1) Файлики отчетов gfr
2) Файлики документов gfd
3) Файлик 1sbcons.dbf для того чтобы считать от туда план счетов, справочники аналитики и др. настройки.
Я беру все это и специальной программой вставляю в Ultima-S. Без всяких изменений должно работать, потом настраиваются дополнительные фичи.
3. [Александр] В силу известной ущербности операторов 1С:Бух 6.0, необходимость пользоваться всякими недокументированными извратами для достижения нужной цели в моей базе может привести к нестыковке в Account 3.0...???
[Vladimir Ivanov] Ни чего страшного. Обычное дело. Просто ставляем и тестируем настройку. Находим глюки. Далее думаем что делать, реализовать это баг для совместимости или заменить на нормальную конструкцию. Например, очень часто извращения в отчетах люди сами выкидывают и ставят на их место SQL-запросы. Недавно так за 20 минут был переделал отчет из 1С 6.0 на 3-уровневую аналитику и SQL. Мужик был потрясен: работает в 75 раз быстрее, функциональность возрасла, модификация отчета (запроса) проще некуда (за 3 минуты добавили новый фильтр по складам). Да, SQL нормального сервера это - сила!4. [Лев] Скрипты выполняются на сервере или на клиенте?
[Vladimir Ivanov] Вся система формирования проводок написана на хранимых процедурах Transact-SQL, которые работают внутри MS SQL Server. Однако сами скрипты интерпритируются на клиенте, при этом поток команд на сервер минимизирован, т.к. скрипты вызвают хранимые процедуры. Такая архитектура распределяет нагрузку между сервером и клиентом. В некоторых случаях (когда документы содержат содержат десятки позиций) можно значительно ускорить работу систему полностью формируя проводки на сервере. Для этого нужно написать на языке TSQL хранимую процедуру формирования проводок, для этого есть отдельная технология. Написание процедур проводок доступно после недели обучения любому настройщику 1С. Однако, во многих случаях это не нужно делать.
5. [Лев] В принципе как я понимаю,сложность вашей системы в том, что она предъявляет высокие требования к внедренцам - одновременного знания макроязыка 6.0 и Transact SQL.
[Vladimir Ivanov] Не совсем так. Достаточно знания языка 1С 6.0, использование SQL просто открывает новые возможности. Другой вариант. Можно хорошо знать TSQL и лишь десяток команд макроязыка. Это позволяет также выжать из программы все. К слову, последний путь предпочтительнее.
1. [Дмитрий] Володя, привет! У вас в Account'е баг при выборе одного из юр.лиц которые уже существует, SQL выдает ошибку типа DATETIME...
Такая ошибка встречается если программу ставить не с дистрибутива, а просто скопировав и поставив BDE. В этом случае необходимо в Client Configuration Utility сбросить установки "Automatic ANSI to OEM" и "Use International Settings"
2. [ГРУППА БЕТТА-ТЕСТИРОВАНИЯ] В редакторе форм Account если выделить группу элементов, то их нельзя удалить по клавише Del. Как быть?
Эта ошибка будет устранена в следующих версиях. Обходится сейчас она так. Следует щелкнуть (отпустив Shift) еще один раз по выденной группе, после этого можно нажать Del и она удалится.
3. [ГРУППА БЕТТА-ТЕСТИРОВАНИЯ] Выделили группу объектов в редакторе форм Account, а панель свойств объекта ничего не показывает.
Эта ошибка будет устранена в следующих версиях. На самом деле это даже не ошибка, а защита от использования недавно введенных и до конца не проверенных функций групповой работы с объектами. Для того чтобы получить доступ к групповому изменению свойств объектов формы следует щелкнуть по панели свойств и там откроются свойства. Следует отметить, что конкретные значения свойств роли не играют, к группе будет применяться только свойства которые были изменены. Например, если изменить "ширину" и нажать TAB, то у всех выделенных объектов изменится ширина.