|
![]() |
#1 |
Участник
|
Цитата:
Прекрати, пожалуйста, а? Нет, конечно. До Аксапты им как до Китая раком. |
|
![]() |
#2 |
Участник
|
Цитата:
Я, к сожалению, не копенгаген в Ax2009, но к "четверке" 1С 8.2 приблизилась очень сильно (повторюсь - не по функционалу, а по идеологии организации работы системы). Более того - процентов 40 нововведений версии 8.2 откровенно слямжено у Ax (вышла замечательная книжка Радченко на этот счет). Разница есть, но она сокращается очень быстро. Что касается функциональности, то 1С удалось-таки совершить маркетинговый прорыв. Я с удивлением обнаружил обширный сегмент заказчиков, верящих в то, что 1С:УПП - это ERP-решение уровня Аксапты. И мне даже приходится переубеждать их, объясняя, что эти системы если и похожи чем-то, так это суммами бюджета внедрения. Просто в одной системе нужно слегка корячить уже написанное, а в другой - придумывать и нагромождать отсутствующее. |
|
![]() |
#3 |
Участник
|
Чуть-чуть опоздал, создавая свою тему...
![]() |
|
![]() |
#4 |
Участник
|
Все правильно сделал.
Хотел бы только обратить внимание Аксаптоведов на типичный выверт 1Сников: вы, Аксаптоведы, по-умолчанию говорите и спрашиваете о функционале. 1Сники по-умолчанию говорят и спрашивают о ПЛАТФОРМЕ! И это огромная разница. Сейчас получилось правильно - отдельная ветка по платформе и отдельная ветка по функционалу. Модератоский-оффтопик-ON. Вроде вменяемый человек был. А теперь стал "евангелистом", который в каждой ветке по делу и не по делу несет свою веру. Можешь ведь. Сейчас очень четко отделил сообщение по своей вере в Платформу и сообщение по теме исходной ветки. Что позволило безболезненно разделить твои сообщения по темам. Пожалуйста, хочешь нести свою веру - неси, флаг тебе в руки. Только не надо замешивать рекламу своей веры во все ветки направо и налево. Пока не научишься буду стулья ломать. Не проймет - буду просто удалять как это было с рекламой. Не смешивай! И не оффтопь! И не вынуждай модераторов оффтопить. И ничего с твоими сообщениями не сделается. Щас напишу ответ по теме. Модератоский-оффтопик-OFF. |
|
![]() |
#5 |
Участник
|
Цитата:
Сообщение от Сисой
![]() Я, к сожалению, не копенгаген в Ax2009, но к "четверке" 1С 8.2 приблизилась очень сильно (повторюсь - не по функционалу, а по идеологии организации работы системы). Более того - процентов 40 нововведений версии 8.2 откровенно слямжено у Ax (вышла замечательная книжка Радченко на этот счет). Разница есть, но она сокращается очень быстро.
Повторюсь: Нет, не приближается даже к версии ax3.0. 1с только-только ввела трехуровневость и болеет теми же детскими болезнями бешенного трафика между клиентом и сервером, которыми болела ax2.1 и ax2.5. Пакетной обработки в платформе 1С до сих пор нет. По прежнему платформа 1С является однопоточной. С потоками нельзя работать даже на клиенте. Насколько я помню, даже обычного Progress Bar'а и то нет в этой платформе. Да, переписывают. НО: нет, до последних версий Аксапты им еще как до Китая раком. Это моя точка зрения в противовес твоей. Теперь, раз уж ты начал, начинай перечислять эти технологические возможности, по которым ПЛАТФОРМА приближается к Аксапте. Будем обсуждать предметно. |
|
![]() |
#6 |
1C
|
![]() Код: Индикатор (ProgressBar) Свойства: Доступность (Enabled) МаксимальноеЗначение (MaxValue) МинимальноеЗначение (MinValue) Ориентация (Orientation) ОтображатьПроценты (ShowPercent) Подсказка (ToolTip) Рамка (Border) СтильОтображения (ShowStyle) ЦветРамки (BorderColor) ЦветФона (BackColor) Шаг (Step) Шрифт (Font) Описание: Индикатор предназначен для представления текущего состояния некоторого изменяющегося числового значения. Например, может применяться для наглядного представления выполнения процесса перебора строк таблицы значений или элементов массива. Для индикатора не предусмотрено формирование каких-либо событий, он также не может изменять связанные с ним данные. Недоступен на сервере 1С:Предприятие. Не используется в модуле внешнего соединения. |
|
|
За это сообщение автора поблагодарили: mazzy (2). |
![]() |
#7 |
Участник
|
Цитата:
1. Значит я ошибался 2. Теперь в платформе 1С есть ProgressBar. Ура! Мы нашли где они приблизились ![]() Давайте еще ![]() (В сторону) что есть в Аксаптовском туториале: ![]() |
|
![]() |
#8 |
Участник
|
Цитата:
Ты уверен, что это вопрос по платформе? По-моему, по функционалу. По крайней мере, в моей кастомизации УПП пакетный режим реализован (в оффлайне). Во всяком случае, платформа позволяет эмулировать пакетный запуск за счет фоновых и регламентных заданий. Цитата:
http://net-to-you.ru/programm/1cprog.../159-test.html Есть начиная с самой первой версии 8.0. |
|
![]() |
#9 |
Сам.AX
|
В 7.7 мы его рисовали в строке состояния как [|||||||______] 42%
И это было круто.
__________________
Возьми свет! |
|
![]() |
#10 |
Участник
|
Ок. Куда бы ты ни отнес, у нас есть ветка, где можно громко заявить о...
Про функционал - сюда Возможности функционала Dynamics AX и 1С УПП Цитата:
По-моему, ты о другом говоришь. но давай нас другие рассудят. Цитата:
Сообщение от Сисой
![]() Принято. Кстати, сервер 1С умеет работать с потоками. Поэтому можно эмулировать асинхронные процессы примерно так:
http://net-to-you.ru/programm/1cprog.../159-test.html Имитация - это уже хорошо. Искренне поздравляю. А тупой таймер, который был еще в версии ax2.5, реализовать этой иммитацией можно? Или хотя бы автообновление формы по таймеру? Да, да. 1Сники - извините. просто меня здорово смутили разработки, которые выкладывают на инфостарте например, http://infostart.ru/public/16021/ ПрогрессБар есть. Правда с ограничениями, но есть. Ура, в этом наконец-то приблизилась к ax2.1 ![]() Давайте еще. |
|
![]() |
#11 |
Участник
|
О пакетном режиме.
В терминологии 1С "пакетный режим" используется при работе Конфигуратора (административная утилита 1С для разработки и администрирования). Можно задать в командной строке имя файла, в котором описан порядок выполнения административных действий и запустить пакет на исполнение. С точки зрения пользовательского интерфейса ERP режим пакетного запуска предполагает запуск по шедулеру любых отчетов, печатных форм, обработок, отложенного проведения документов. В типовых конфигурациях 1C такого нет. Все, что есть, это автообновление и автопубликация некоторых отчетов и автоматизация процесса обмена данными между базами (там есть и шедулер и пакеты). Тем не менее, используя фоновые процессы на сервере 1С, регламентные задания и обработчики ожидания на клиенте (периодический опрос флагов), можно программно реализовать пакетный запуск. Подобные решения есть, их можно найти в Инете (как правило, частные задачи, вроде массовой печати документов). Также можно запустить произвольную обработку из внешнего шедулера при помощи ключа командной строки /С (например, обработку исполнения пакета). |
|
|
За это сообщение автора поблагодарили: mazzy (2). |
![]() |
#12 |
Участник
|
Спасибо
Цитата:
В Аксапте Формы не запускаются в пакетном задании. Любые Отчеты и унаследованные от RunBase классы - да. А уже классы запускают "обработки, отложенное проведение документов". Цитата:
Сообщение от Сисой
![]() Тем не менее, используя фоновые процессы на сервере 1С, регламентные задания и обработчики ожидания на клиенте (периодический опрос флагов), можно программно реализовать пакетный запуск. Подобные решения есть, их можно найти в Инете (как правило, частные задачи, вроде массовой печати документов).
Также можно запустить произвольную обработку из внешнего шедулера при помощи ключа командной строки /С (например, обработку исполнения пакета). ![]() Еще есть технологические возможности, по которым 1С приблизилась к Аксапте? |
|
![]() |
#13 |
1C
|
|
|
|
За это сообщение автора поблагодарили: mazzy (2). |
![]() |
#14 |
Участник
|
Цитата:
![]() Спасибо! Значит таймер на форму повесить можно. А таймер в других местах - не получится. Таймер в 1С видимо с точностью до секунд. Можно ли в 1С реализовать какую-нибудь плавную анимацию, типа тетриса? |
|
![]() |
#15 |
Участник
|
Похоже больше нет тем.
Тогда попробую начать обосновывать свое мнение. Цитирую: Тогда еще некоторые темы для обсуждения. Пока кратко, без обоснования и ссылок (в надежде, что большинство понимает о чем идет речь): 1. Query В платформе 1С нет объекта, который позволяет ПРОГРАММИСТУ строить query программно. Аксаповеды, вы не поверите, но программисты 1С до сих пор парсят и правят тексты строк запросов. Т.е. если пользователь хочет добавить условия и фильтры, то программист должен позаботиться об этом и вставить куски кода с этими условиями в текствоый запрос. Для этого программисту нужно парсить строку запроса и вставлять туда условия со скобками, кавырками и прочей чешуей... Да, в 1С есть Построитель запросов - это некий конструктор, который позволяет мышкой создать и вставить текст запроса в код. Но с этим Построителем запросов нельзя работать программно в run-time. Только в design-time. Да, в 1С есть возможность задавать запросы в отчетах. И такие запросы пользователь может менять. Но в такие запросы нельзя влезть программно. И кроме того, такая возможность существует только в отчетах. Очень много Бла-бла-бла... на эту тему. Но надеюсь, что большинство участников, понимает о чем идет речь. 2. Кэширование таблиц В Аксапте очень большое значение уделяется кэшированию таблиц. См. книжку Dynamics Inside. Кэширование конечно же не поможет при работе с большими таблицами типа InventTrans, InventSettlement и прочее. Но кэширование заметно помогает при работе с настроечными таблицами (профили разноски, параметры компании, параметры валют, вевозможные группы, статусы и другие настройки) В результате треть запросов (и больше) Аксапта просто не отправляется на SQL-сервер. На кэшировании таблиц в Аксапте завязано очень многое. Так код может выполняться быстрее X++: while select custtrans where ... { custtable = custtable::find(custtrans.accountnum) } X++: while select custtrans where ... join custtable where custtable.accountnum == custtrans.accountnum { ... } X++: while select custgroup where custgroup.CustGroup == 'myGroup' { if( custgroup.paymtermid == 'myTerm' ) { ... } } X++: while select custgroup where custgroup.CustGroup == 'myGroup' && custgroup.paymtermid == 'myTerm' { ... } Те, кто говорят о том, что Аксапта не поддерживает T-SQL в полном объеме, просто не понимают о чем идет речь. Аксапта очень большое число "правильно написанных" запросов просто не посылает на SQL-сервер. И для разработчиков самой Аксапты, и для разработчиков приложений на этой самой Аксапты предельно важно, чтобы макисмально распределить нагрузку между AOS и SQL. Принцип простой - в многопользовательской среде - несколько простых и кэшируемых запросов намного лучше (с точки зрения производительности), нежели один сложный запрос. Выражаясь языком поговорок - лучше сорок раз по разу, чем один раз, но сорок раз. 3. Listerals vs Placeholders http://axapta.mazzy.ru/lib/literals_vs_placeholders/ В 1С просто нет такой штуки. Разработчики платформы 1С об этом не думали. Они вообще не думали, как SQL будет выполнять такие запросы. Комментарий: ниже Alexius и Vezunchik настойчиво попросили меня подтвердить мое высказывание про прекращение оптимизации. Я покопался и не смог найти подтверждение. О чем написал здесь. Поэтому свое высказывание про оптимизацию зачеркиваю. Спасибо вам за настойчивость. Однако, на мой взгляд это никак не влияет на исходный тезис, поскольку 1С с легкостью генерирует complex SELECT statements, для которых оптимизатор выбирает не самый оптимальный план. Мое мнение осталось прежним - разработчики платформы 1С не думали как будут выполняться такие сложные запросы.Ну и так далее. В общем, разработчики 1С повышают скорость работы единственного пользователя в монопольном режиме. А разработчики Аксапты прежде всего повышают скорость работы в многопользовательском режиме. (Где-то была статья про отличия в этих подходах. Вроде у Еременко. Не помню... Буду благодарен, если подскажете ссылки) Платформа еще не скоро приблизится ![]() Если и приближается, то к старым версиям Аксапты 2.1, 2.5, которые существовали лет 8-10 назад. Чтобы там ни провозглашали 1Сники. И как бы не пытались промыть мозги маркетингом. Последний раз редактировалось mazzy; 13.12.2009 в 21:41. Причина: про прекращение оптимизации запроса с 8ю таблицами. |
|
|
За это сообщение автора поблагодарили: sukhanchik (4), FE (1), alex55 (1). |
![]() |
#16 |
Участник
|
Цитата:
По существу. В 1С есть Система компоновки данных (что-то типа Построитель отчета v.2). В ней можно описать базовый запрос, а затем программно или мануально добавлять/удалять любые уточняющие конструкции (отборы, группировки, сортировки и т.п.). В 8.2 практически все отчеты базируются на СКД. Цитата:
![]() Впрочем, механизм, безусловно, полезный (если он управляем разработчиком). Кстати, 1С умеет кэшировать объекты (для работы форм и объектного доступа "через точку"). Но конструкции класса Запрос всегда транслируются в SQL-команды СУБД, насколько мне известно. Ничего не сказано об объектной технике 1С. Мне гораздо приятнее работать с Документом, нежели россыпью таблиц. Ничего не сказано о том, что Аксапта застряла в своей идеологии на полпути - многие известные мне конструкторы учетных систем с поддержкой ООП умеют наследовать таблицы в составе контейнеров классов, описывающих объект предметной области. Да, признаю - DAX позволяет программисту строить куда более масштабируемые системы, нежели 1С:Предприятие (и все равно не на порядок, отличие по моим оценкам в 3-4 раза). |
|
![]() |
#17 |
Участник
|
Цитата:
Пользователю? Пользователь не наберет SQL запрос. Особенно если в конфигурации есть несколько тысяч объектов (сотни справочников, сотни документов, сотни регистров). Программисту? программисту нужен удобный механизм модификации запроса на основании галочек, которые выставил пользователь. А как раз такого механизма то и нет. Поэтому конечно же это не вопрос вкуса ![]() А вопрос - на кого ориентирована платформа. 1С предоставляет возможность ПРОГРАММИСТУ набрать запрос вручную. Но 1С не предоставляет пользователю никаких инструментов на пользовательском уровне (просто я кучу бла-бла-бла пропустил вокруг query). А программисту не предоставляет возможность удобно взаимодействовать с пользователем и удобно выполнять хотелки пользователей. Цитата:
Сообщение от Сисой
![]() По существу. В 1С есть Система компоновки данных (что-то типа Построитель отчета v.2). В ней можно описать базовый запрос, а затем программно или мануально добавлять/удалять любые уточняющие конструкции (отборы, группировки, сортировки и т.п.). В 8.2 практически все отчеты базируются на СКД.
В модулях проведения, в периодических заданиях и в остальных местах программист доступа к СКД не имеет. ![]() Цитата:
Временные таблицы в Аксапте тоже есть. А вот записи обычных таблиц, которые попали в кэш, возращаются из кэша значительно быстрее, нежели с SQL ![]() Тут я вынужден, либо снова бла-бла-бла теорию... Либо отослать к книжке Inside Dynamics. Цитата:
Речь идет о данных. Как один из глобальных следствий того, что 1С не кэширует данные - это почти полное отсутствие настроечных таблиц, таблиц с правилами разноски на счета и т.п. Просто постоянные запросы к этим таблицам приведут к ступору SQL. Убедится в этом можно отключив кэширование в таблицах Аксапты (у меня были такие клиенты, которые жаловались на то, что "Аксапта неправильно работает с SQL". А потом выяснилось, что какие-то "деятели" переключили во всех таблицах режим кэширования с EntireTable и Found на NotInTTS)... Цитата:
Пример того, как получать данные http://axapta.mazzy.ru/lib/inventsumdate/ Такие же примеры есть и для ввода данных http://axapta.mazzy.ru/lib/journaltrans_insert/ Просто у 1С нет выбора на каком уровне работать ![]() Цитата:
Сообщение от Сисой
![]() Ничего не сказано о том, что Аксапта застряла в своей идеологии на полпути - многие известные мне конструкторы учетных систем с поддержкой ООП умеют наследовать таблицы в составе контейнеров классов, описывающих объект предметной области. Да, признаю - DAX позволяет программисту строить куда более масштабируемые системы, нежели 1С:Предприятие (и все равно не на порядок, отличие по моим оценкам в 3-4 раза).
![]() В Аксапте хотя бы пытались приблизиться при помощи map... |
|
![]() |
#18 |
Участник
|
Цитата:
Вывод из СКД доступен и на сервере. И есть класс ПроцессорВыводаРезультатаКомпоновкиДанныхВКоллекциюЗначений. Можно настроить СКД и вывести с ее помощью результат в таблицу или дерево значений. |
|
![]() |
#19 |
Участник
|
Цитата:
И черт с ним, что в последних версиях Аксапты появились композитные Query, dataSet и специализированные Query для веба... Что ж, пусть приближается. Вручную править текст запроса - это редкостный отстой. Ура, товариащи! Можно только уточнить? объект называется "...В коллекцию значений", а ты говоришь в "таблицу". Давай уточним для Аксаптоведов, которые не знают разницы - ты говоришь о таблице значений? которая хранится на клиенте? (по Аксаптовски - recordSortedList, map, но не временной таблице) или ты говоришь о настоящей таблице? Последний раз редактировалось mazzy; 07.12.2009 в 14:02. Причина: Ура, товарищи! |
|
![]() |
#20 |
Участник
|
Цитата:
Сообщение от mazzy
![]() Можно только уточнить? объект называется "...В коллекцию значений", а ты говоришь в "таблицу". Давай уточним для Аксаптоведов, которые не знают разницы - ты говоришь о таблице значений? которая хранится на клиенте? (по Аксаптовски - recordSortedList, map, но не временной таблице) или ты говоришь о настоящей таблице?
Ее можно проиндексировать, выгрузить в temptable, но это не таблица СУБД. В 1С вообще нет аналогов SQL Update и SQL Insert. Это большой минус, но реализовать их в рамках объектной идеологии 1С:Предприятия (когда запись объекта на самом деле формирует транзакционную запись в десятки таблиц) невозможно. Единственное исключение - работа с регистрами 1С. Там поддерживается техника группового манипулирования записями по ключу (НаборЗаписей). |
|
Теги |
1c, платформа, сравнение систем |
|
|