30.11.2009, 17:09 | #21 |
Участник
|
Ок
Отображение состояний процессов на одном экране. Всякие энергетики, коммунальщики, железнодорожники... ок. Еще есть технологические возможности, по которым 1С приблизилась к Аксапте? |
|
30.11.2009, 17:31 | #22 |
Участник
|
Думаю, что это в ветку по платформе. Знающие 1С, расскажите, пожалуйста, как реализовано обновление? Имею ввиду вот что: предприятие ведёт разработку в типовой конфигурации, приспосабливая её под свои нужды. Как в этом случае накатываются обновления, выпускаемые собственно 1С?
Верно ли, что при самостоятельном изменении объектов они "снимаются с поддержки"? Если нет, то при каких условиях можно накатывать стандартные обновления, а при каких нельзя? Существует ли механизм сравнения, что именно было изменено программистом предприятия по сравнению с типовой конфигурацией? |
|
30.11.2009, 17:38 | #23 |
1C
|
|
|
30.11.2009, 17:40 | #24 |
1C
|
Цитата:
Сообщение от FE
Знающие 1С, расскажите, пожалуйста, как реализовано обновление? Имею ввиду вот что: предприятие ведёт разработку в типовой конфигурации, приспосабливая её под свои нужды. Как в этом случае накатываются обновления, выпускаемые собственно 1С?
Верно ли, что при самостоятельном изменении объектов они "снимаются с поддержки"? Если нет, то при каких условиях можно накатывать стандартные обновления, а при каких нельзя? Существует ли механизм сравнения, что именно было изменено программистом предприятия по сравнению с типовой конфигурацией? никаких слоев разработки, ничего и близко нет для облегчения... разве что ремарки в коде :-)( |
|
30.11.2009, 17:48 | #25 |
Участник
|
Цитата:
Сообщение от FE
Думаю, что это в ветку по платформе. Знающие 1С, расскажите, пожалуйста, как реализовано обновление? Имею ввиду вот что: предприятие ведёт разработку в типовой конфигурации, приспосабливая её под свои нужды. Как в этом случае накатываются обновления, выпускаемые собственно 1С?
Верно ли, что при самостоятельном изменении объектов они "снимаются с поддержки"? Если нет, то при каких условиях можно накатывать стандартные обновления, а при каких нельзя? Существует ли механизм сравнения, что именно было изменено программистом предприятия по сравнению с типовой конфигурацией? Да, в конфигураторе 1С реализован механизм сравнения. Можно выборочно применять/не применять изменения в новой версии. Самое сложное - код модулей. Есть режим поиска расхождений в текстах, но трудоемкость процесса достаточно ощутимая. Также непросто анализировать изменения в формах. Но при переходе к декларативному описанию форм в 8.2 проблема становится менее острой. |
|
30.11.2009, 17:53 | #26 |
Участник
|
А в чем именно? Русские буквы в названиях методов ипеременных поддерживаются?
Цитата:
Или я путаю? Цитата:
Самое сложное в Аксапте поднимать именно формы и отчеты. Инструменты сравнения в 1С доделают (надеюсь) А вот с формами и отчетами (особенно с отчетами) уже ничего не сделаешь - они в 1С гораздо сложнее устроены, чем в Аксапте. Тем более, что пару версий 1Совсцы будут по привычке отключать авторазмещение элементов на форме... А с отключенным авторазмещением простое добавление реквизита может привести к несовпадению всей формы. Upd: справедливости ради, нужно отметить, что в Аксапте отчеты перенесли в Reporting Service. Там никаких слоев. Там только cvs, который идет с самой VS. Но к нему надо привыкать. И чем кончится переход на Reporting Service с точки зрения легкости апгрейда - пока непонятно Последний раз редактировалось mazzy; 30.11.2009 в 17:59. Причина: дописал про Reporting Service в AX |
|
30.11.2009, 21:25 | #27 |
Участник
|
Сисой, всегда ли можно модифицировать объекты с сохранением поддержки? Я не разбираюсь в 1С, поэтому - что такое "код модулей"?
|
|
30.11.2009, 23:25 | #28 |
Administrator
|
Если грубо - то модуль - это набор исходных текстов методов класса (в понятии АХ), вынесеных в один общий текст. При этом - несвязанных между собой, без наследования. Модули бывают при форме и глобальные (т.е. с процедурами/функциями, доступными отовсюду). Собственно - модули эмм... это и есть весь код 1Са (все остальное - это дизайн).
У меня знания остались еще с 7.7. Поправьте меня - если что изменилось плиз...
__________________
Возможно сделать все. Вопрос времени |
|
01.12.2009, 10:47 | #29 |
Участник
|
RE: У меня знания остались еще с 7.7. Поправьте меня - если что изменилось плиз...
Цитата:
Сообщение от sukhanchik
Если грубо - то модуль - это набор исходных текстов методов класса (в понятии АХ), вынесеных в один общий текст. При этом - несвязанных между собой, без наследования. Модули бывают при форме и глобальные (т.е. с процедурами/функциями, доступными отовсюду). Собственно - модули эмм... это и есть весь код 1Са (все остальное - это дизайн).
У меня знания остались еще с 7.7. Поправьте меня - если что изменилось плиз... По сравнению с семеркой, восьмерка научилась многому, но до Аксапты не дотягивает (с 2005 года работаю с MS Dynamics Ax 3 и 4), это мое мнение как разработчика относительно инструмента разрабтчика, не имею в виду различные доработанные конфигурации для 1С, в которых бухгалтерский учет и налоговый (для РФ) реализован лучше. В данный момент плотно работаю с 1с 8.1 Управление торговлей и ЗУП, сейчас в 1С нет такой большой ямы с кучей несвязанного кода, глобальный модуль, как это было в семерке, есть УЗЕЛ в МЕТАДАННЫХ называемый Общие модули. Там все процедуры и функции сгруппированы по назначению (см. рисунок http://files.mail.ru/5TSULP?t=1 ). Как пример, функции и процедуры работы с диалогом вынесены в один модуль "Работа с Диалогом", "РаботаСФайлами" и т.д.Это очень удобно с точки зрения разработчика. Вызов этих процедур и функций происходит автоматически, после того как в коде пишешь "РаботаСДиалогом." и ставишь точку выходят все доступные функции и процедуры для этого модуля. Чем то похоже на Аксапту с ее методами доступными для класса. У модуля есть возможность установки где выполнять код на сервере или на клиенте (есть свои ограничения, но это не важно), опять же аналогия на АОС. Ввели такой термин как подсистема, с возможностью устанавливать у каждого объекта конфигурации признак какой подсистеме он принадлежит (Денежные Средства, Налоговый учет и т.д.). Очень удобно работать с регистрами сведений (теперь нет объекта периодический, а есть периодический регистр сведений) и накоплений ("НДСсАвансов", "РеализацияУслуг" и т.д.), аналогия на кубы OLAP (в нужных Измерениях и по нужным ресурсам хранятся сведения которые создаются так называемыми регистраторами, документами), с помощью отборов инфа быстро сортируется. Улучшили возможность работы с таблицой значений (многомерный массив), как пример, для поиска нужных строк, достаточно передать в новый тип данных структура (опять же аналогия с аксаптой) нужные значения для колонок и массив отбирает нужные значения. X++: = ("Отметка, НомерЗаказа");
. = ;
. = .;
= .();
__________________
Denkt dran, dass jeder eurer Schritte auch durch die unsichtbare Welt fuehrt, und tut ihn so, dass ihr ihn bestehen koennt. Последний раз редактировалось Hans; 01.12.2009 в 11:04. |
|
|
За это сообщение автора поблагодарили: sukhanchik (2). |
01.12.2009, 10:48 | #30 |
Участник
|
Да, изменилось. В 1С8 есть зачатки инкапсуляции. Каждый объект (справочник, документ, регистр и т.п.) имеет свой собственный модуль, в котором можно описывать как приватные, так и публичные (в терминологии 1С - экспортные) процедуры и функции. Кроме того, есть библиотека общих модулей (их может быть сколько угодно).
По вопросу FE: В мире 1С возможность редактирования того или иного объекта конфигурации определяет автор конфигурации: Цитата:
Настройка поставки заключается в указании правил поставщика на изменение конфигурации и включении/исключении в поставку исходных текстов модулей. Меню "Конфигурация" - "Поставка конфигурации" - "Настройка поставки...". Открывается иерархический список объектов конфигурации (окно "Настройка поставки").
Для каждого объекта можно указать правило изменения. Для группы объектов (например, "Справочники") это можно сделать кнопкой "Изменить подчинённые", а для одного объекта или нескольких объектов, выбранных с помощью щелчков при нажатом Ctrl - кнопкой "Изменить" (в списке возможен произвольный множественный выбор объектов). Открывается диалог "Настройка правил поставщика и текстов модулей", в котором выбирается правило изменения и находится флажок включения в поставку исходных текстов модулей (модуля). Если этот флажок снят, в поставку будет включён только скомпилированный текст. Варианты правила изменения: Изменения разрешены (по умолчанию). Изменения не рекомендуются - при выборе правила поддержки "Объект поставщика редактируется с сохранением поддержки" пользователь будет получать предупреждающее сообщение. Изменения запрещены - пользователь сможет обновлять объект, только не редактируя его ("Объект поставщика не редактируется"). При этом пользователь не сможет снять такой объект с поддержки, и для изменения такого объекта надо будет снять с поддержки всю конфигурацию. |
|
|
За это сообщение автора поблагодарили: sukhanchik (2). |
01.12.2009, 11:02 | #31 |
Участник
|
Пример Hansa записывается еще короче:
X++: = .( ("Отметка, НомерЗаказа",,)); Чего нет в 1С, но и не может быть в силу ее объектных особенностей. Update recordset с SQL-синтаксисом. В 1С удобная фишка разыменования запросов. Запрос X++: Select Z.. From . as Z Также язык запросов 1С имеет интересное расширение Итоги (Total), Эта конструкция позволяет, сохранив первоначальный текст запроса, автоматически добавлять в результат итоги, посчитанные по заданным группировкам. Причем результат можно тут же выгрузить в дерево, узлами которого будут описанные итоги. |
|
01.12.2009, 11:26 | #32 |
Участник
|
Цитата:
Эта "удобная фикша" приводит к тому, что на запрос одной таблицы (справочника, регистра), платформа 1С может автоматически построить очень сложный запрос с кучей join'ов. А если запросить две таблицы, то легко можно получить запрос с несколькими десятками таблиц. И прощай всякая оптимизация. Хотя бы потому, что управлять или отключать такое разыменование невозможно. А, например, MS SQL перестает выполнять оптимизию запроса, если в нем указано больше 8 таблиц. Ни в коем случае! Цитата:
Сообщение от Сисой
Также язык запросов 1С имеет интересное расширение Итоги (Total),
Эта конструкция позволяет, сохранив первоначальный текст запроса, автоматически добавлять в результат итоги, посчитанные по заданным группировкам. Причем результат можно тут же выгрузить в дерево, узлами которого будут описанные итоги. |
|
|
За это сообщение автора поблагодарили: Logger (6). |
01.12.2009, 11:47 | #33 |
Участник
|
"На этой карете прошлого далеко не уедешь" . В следующих версиях AX от него вообще планируют отказаться (так по крайней мере пишут в мануале разработчика для DAX2009). Взамен него используется более перспективный в плане скорости и удобства работы .NET Business Connector.
А вот тут как я понимаю у 1С как раз все не очень здорово. Точно знаю, что платформа 8.1 не может выступать сама как .NET провайдер. И похоже, что внутри нее подключить .NET компоненты (CLR сборки) и использовать их как "родные" элементы конфигурации, нет возможности. + что, еще разочаровало в платформе 8.1: 1. Отсутствие возможности параллельной разработки нескольких программистов в одной конфигурации и одной базе. Как мне кажется, на больших проектах это сильно усложняет регламент разработки. + сюда же - необходимость перезапуска клиента 1С для того, чтобы протестировать изменения в конфигурации (что тоже скорости разработки не добавляет). 2. Отсутствие полноценного наследования и остальных атрибутов настоящего ООП. При проектировании новой сложной функциональности (как сам MS, так и партнеры) могут использовать все современные методики проектирования ПО опираясь на общепринятую терминологию (ООП паттерны (GOF, Фаулер), рефакторинг, UML и т.п.). Какие методики при проектировании архитектуры масштабных решений (на их самобытном фреймворке) использует 1С мне не очень понятно. 3. Как я понял в типовых конфигурациях повсеместно используется подход - реализация бизнес-логики на модулях форм. Как мне кажется, связано это с пунктом 2. От этого, "детские болезни", о которых писал mazzy (бешеный траффик между клиентом и АОС-ом и т.п.) становятся совсем недетскими . Так как, как мне кажется, связаны опять таки с подходом к проектированию бизнес-логики в 1С. Поэтому, чтобы вылечить эти "детские болезни", скорей всего потребуется тотальное переписывание типовых конфигураций. А это означает, что клиентам 1С придется еще не раз внедрить систему с чистого листа, чтобы перейти на более прогрессивные версии. 4. Не реляционная структура БД. Спорный, кончено, момент. Но, ИМХО, на данный момент существующие технологии объектно-реляционного преобразования не позволяют достичь такой же производительности, как если бы структура была чисто реляционной. + мы теряем возможность полноценного использования некоторых встроенных в СУБД средств оптимизации (partitioning напрмер) и аудита (трейсинг тяжелых запросов например) производительности. Да и еще хотел еще раз подчеркнуть не раз звучавший здесь тезис - MS, в отличии от 1С вкладывает немалые усилия в сохранение преемственности версий, или как они выражаются "в сохранение инвестиций", сделанных партнерами и клиентами. Выражено это во многом: начиная от формирования таких вот документов (Arijit Basu: Statement of Direction for Microsoft Dynamics AX), и заканчивая разработкой целых фреймворков для облегчения переноса данных между версиями не только для стандартного функционала, но и доработок (http://www.microsoft.com/downloads/d...displaylang=ru). Сам был свидетелем двух параллельно идущих проектов в одной компании - один по переходу с Axapta 3.0 на DAX4.0. Другой - с 1С Бух 7.7 на 1С Бух 8.0. Проект по Аксапте занял 3 месяца с учетом работ по оптимизации и аудиту. Причем сам подъем приложения занял не больше двух человеконедель, остальное время - тестирование, оптимизация, перенос данных. 1С же по сути внедряли с нуля в течении года (хотя там были проблемы с менеджментом проекта, но тем не менее). |
|
|
За это сообщение автора поблагодарили: mazzy (2). |
01.12.2009, 11:53 | #34 |
Участник
|
Mazzy, ты отрицаешь очевидное. В 1С думающий программист точно так же, как и в стандартном SQL, построит запрос без разыменования, используя только inner и outer join. Более того, на этом настаивают специалисты УЦ 1С. Здесь вопрос риторический: а всегда ли нужно ставить оптимизацию по скорости запросов во главу угла, игнорируя качество работы программиста? Всегда ли нужно получать реквизиты по связи запросом, или можно написать:
X++: =..; Ответ в каждом конкретном случае разный. На курсах в УЦ 1С специалистов знакомят с правилами хорошего тона и оптимизацией кода по скорости. Но если я пишу небольшую сервисную обработку, для которой время исполнения некритично, я буду использовать "фишки 1С" даже в ущерб производительности. Чтобы через год проще было понять и модифицировать код. Чего точно нет в 1С, так это возможности использовать хинты в запросах. Тоже ведь палка о двух концах... |
|
01.12.2009, 11:59 | #35 |
Участник
|
Цитата:
Хоть 50 программистов подключай. Соглашусь. Скорее всего именно так и будет. Кормушка открыта, господа. |
|
|
За это сообщение автора поблагодарили: Hans (1). |
01.12.2009, 12:00 | #36 |
Участник
|
Цитата:
1С вполне самодостаточный продукт. я думаю у них хватит сил чтоб не использовать чужие наработки. А создать что-то своё, более удобное и компактное.
__________________
Энергия молодых и неравнодушных способна изменить мир к лучшему. |
|
01.12.2009, 12:01 | #37 |
Участник
|
Цитата:
1. Большинство запросов в типовых конфах УЖЕ написано с разыменованием 2. Даже если не делать разыменование в тексте запроса, а обратиться к "Запрос.Контрагент.ПолноеНаименование", то платформа 1С все равно сделает разыменование (скорее всего отдельным запросом). Давай поговорим о думающих программистах, когда типовые будут УЖЕ написаны таковыми. Сейчас думающим программистам приходится либо снимать с поддержки и править код по самые помидорки, либо махнуть рукой. Цитата:
А теперь выясняется, что какие-то специалисты УЦ на чем-то настаивают. Так является ли преимуществом приведенный тобой пример с разыменованием? Это да. И не надо. По тем же соображениям. |
|
01.12.2009, 12:17 | #38 |
1C
|
Цитата:
Сообщение от SolNik
"На этой карете прошлого далеко не уедешь" . В следующих версиях AX от него вообще планируют отказаться (так по крайней мере пишут в мануале разработчика для DAX2009). Взамен него используется более перспективный в плане скорости и удобства работы .NET Business Connector.
А вот тут как я понимаю у 1С как раз все не очень здорово. Точно знаю, что платформа 8.1 не может выступать сама как .NET провайдер. И похоже, что внутри нее подключить .NET компоненты (CLR сборки) и использовать их как "родные" элементы конфигурации, нет возможности. По использованию .NET: как "родные" подключать не получитя, но как "очень близкие" никаких проблем :-) Первое - это технология создания внешних компонент, второе - уже существующая (сторонняя) оболочка, для подключения .NET компонент, написанных без использования вышеуказанной технологии. Цитата:
Хм... я, кстати так и не разобрался как реагирует Axapta на изменение структуры таблиц без отключения пользователей... Цитата:
А в 8.2 особо не пропишешь бизнес логику в управляемых формах из-за определенных ограничений в возможностях доступа к объектам :-))) Цитата:
Сообщение от SolNik
4. Не реляционная структура БД.
Спорный, кончено, момент. Но, ИМХО, на данный момент существующие технологии объектно-реляционного преобразования не позволяют достичь такой же производительности, как если бы структура была чисто реляционной. + мы теряем возможность полноценного использования некоторых встроенных в СУБД средств оптимизации (partitioning напрмер) и аудита (трейсинг тяжелых запросов например) производительности. |
|
01.12.2009, 12:31 | #39 |
MCT
|
Интересно услышать от 1С о таких вещах, как
1 Сохранение операций/проводок В УПП В УТ, например, при удалении документа, возможно ли собрать данные? 2 Сопоставление отфактурированных документов и не отфактурированных с оплатами. 3 Интернет клиент 1С, какую базу использует (свою или единую с УПП)? 4 Возможность обновления версии УПП, УТ после модификаций "спецов". 5 Возможность разработки и отладки без перехода из режима Предприятия в Конфигуратор 6 Интеграция учеток из active detictory и виндовая аутификация 7 возможность переносить модификации между конфигурациями
__________________
Axapta book for developer |
|
01.12.2009, 12:37 | #40 |
Moderator
|
Цитата:
Буквально летом пришлось модифицировать отчет в 1С 8.1 - просто убила куча кода наваленная в одном месте и никак не разбитая на просто напрашивающиеся логические куски или блоки.
__________________
С уважением, kvan. |
|
Теги |
1c, платформа, сравнение систем |
|
|